haskell-jp / random #39

会社名はクリプタクト(Cryptact)です。
Javaは捨てて、改めてエージェントにあたってみます。
英語は入社直後は初級で結構です。英会話スクール代も会社で負担します。
元の募集要項がどうなってるか存じませんが、この辺強調してみるといいかもしれませんね。
ありがとうございます。抜けていました。
はい、スクール代は会社負担、業務の一環なので勤務時間に含めます。
一般的に「英語初級」ってどのくらいのレベルのことを言うのですか。
英検2級くらいでしょうか?
英検2級は高校卒業程度のレベルとされ、「社会生活に必要な英語を理解し、また使用することができる」とうたわれています。大学入試程度の難しさと考えればよいでしょう。

英検2級の合格者は、次のようなことができると期待されています。
読む まとまりのある説明文を理解したり、実用的な文章から必要な情報を得ることができる。
聞く 日常生活での情報・説明を聞き取ったり、まとまりのある内容を理解することができる。
話す 日常生活での出来事について説明したり、用件を伝えたりすることができる。
書く 日常生活での話題についてある程度まとまりのある文章を書くことができる。
ですか。 :naruhodo:
もう会社名も明かしていただいたので探しちゃいました。これか。
https://www.wantedly.com/projects/210720
(笑)  そうです。もう開発に手一杯で、広報(採用広報含む)に全然手が回らず、手作り感いっぱいのwantedlyページになっております。
桐ケ谷和人
@桐ケ谷和人 has joined the channel
@warugaki_k_k has joined the channel
やっぱりBenさんからtweetへの返信はなかったので、Haskell Cafeでも聞いてみました。
やっぱり忙しいみたいですね... :disappointed:
https://mail.haskell.org/pipermail/haskell-cafe/2019-February/130754.html
@ has joined the channel
当該の勉強会でCartというHaskellerと出会えたのですが楽しかったですよ。
Google Summer of Code 2019 :sunny: のOrganizationとして :haskell: Haskell.org が承認されました!:tada:
https://summerofcode.withgoogle.com/organizations/5556388114202624/
こちらがプロジェクトの一覧です。 https://summer.haskell.org/ideas.html
@ has joined the channel
学生さんはこれらのプロジェクトに参加し、今年の夏の間(3ヶ月間)に課題をクリアすれば賞金をもらえます! :money_mouth_face:
いくつか補足があります。
1. このアイデア一覧がすべてではなく、新しくアイデアを追加することができます。その場合は https://github.com/haskell-org/summer-of-haskell からPRを送ってください。
2. https://summer.haskell.org/news/2019-02-26-accepted-for-gsoc.html の通り、参加する学生とメンターをどちらも募集しています。各プロジェクトに2名のメンターをアサインするので十分な人数のメンターが必要です。
3. 参加者として、あるいはメンターとして参加する場合は、なるべく早く関係者に連絡を取ると良いと思います。誰に連絡を取ればいいかわからない場合は [email protected] または僕に連絡をください。
4. 随時質問を受け付けています。メンションなりDMしてください。
条件には当てはまってますけど、そうすると今度は雇用条件がマッチするかも問題になりそうですねえ。
今日の社内勉強会で、リスト型の値コンストラクターについて解説したとき感じたんですが、
:i []

したとき出てくる
data [] a = [] | a : [a]

を、
data [a] = [] | a : [a]

に変えることが出来れば少しはリスト型の定義がわかりやすくなるんじゃないかと思ったんですがいかがでしょうか?
再帰的な定義であることがより明確になりますし。
実装が面倒くさいかも知れませんが、proposalを書いてみようかと思いまして。
なるほど確かに左辺 (`[] a`) と右辺 (`[a]`) で記法が違うのが統一感がないですよね…
どちらかというと右辺も [] a に統一できたらいいのかな、と思ってしまいましたが^^;
(普段つかっている [a] 記法はあくまでシンタックスシュガーであるという立場で考えるとそのほうが kind がわかりやすいかな、と)
なるほど。ここで [] という記法がしゃしゃり出てくるのか... ぐぬぬ
> :k []
[] :: * -> *
というか instance Monad [] としか書きようがないですよね
やっぱり NoStarIsType に倣って NoBracketIsList 拡張を提案して [a] の代わりに List a を作るしか... :innocent:
果て何年かかるだろう。さすがにドラスティック過ぎる割に NoStarIsType ほどの恩恵をもたらさないような... :disappointed_relieved:
そうか、今更気づいたんですが
[] :: [] Int

と書くことも出来るんですね。それなら確かに「右辺も [] a に統一」という案の方が現実的な気がしてきました。 :bulb:
リスト型を理解するという目的であれば、記号を使わない方法で説明した方がわかりやすいような気がします。

僕がバイトの人に説明するときは以下の定義で進めることが多いです。

data List a = Nil | Cons a (List a)
data [a]

は通常のデータ型宣言の記法と異なるので,統一するなら data [] a = [] | a : ([] a) の方が好みですね.ただ, Haskell Language Report では
data [a] = [] | a : [a] が使われています:
https://www.haskell.org/onlinereport/haskell2010/haskellch6.html#x13-1200006.1.3
リスト型を理解するという目的であれば、記号を使わない方法で説明した方がわかりやすいような気がします。

確かにそれでいいし、私もそれに近い方法で説明したんですが、どの道その定義を本来の定義に翻訳しないといけない瞬間は来るので、その時を思うと少しでも翻訳しやすい形になっていた方がいいかなぁ、と思いまして。
そういえば,思い出したんですが表示は https://gitlab.haskell.org/ghc/ghc/blob/master/libraries/ghc-prim/GHC/Types.hs#L116 を出してるだけですね ( data [] a は GHC ではパースした後リネームで落とされますが, data [a] はパース段階で完全に illegal です. GHCi の表示だけなら,パース後の AST のプリティプリントを [] 型コンストラクタだけ特別扱いすればいいんでしょうが, GHC.Types モジュールと乖離が生じるので微妙なとこですね)
なるほど、やっぱり左辺を変えるとなるとパーサーの問題が出ますか。。。
昔、こんなの書いてました。
だいぶ遅くなってしまいました--;
一般に、Benさんたちが超多忙そうなときでも、備忘録的に ghc-devsにメールで伝えておくと、後から気づいて対応してくれることがあります。(ただ、今回はもうghc-devsで共有されてるようですね。)

今回のは、ghc8.8のalphaが出てからもまだ対応されてないようなら、再度、pingするのがよさそうですね。
続けてあいやくんの分も! https://logmi.jp/tech/articles/320848
@mod_poppo has joined the channel
うお~ありがとうございます、やった~!
@ has joined the channel
Railsにあるtruncateメソッドみたいなのとかを提供してくれる模様。
似たようなのはちょくちょくあるでしょうけども https://github.com/brendanhay/text-manipulate
最近ちょこっとやってます
ない。。
直近の設定が
ghc -o ./a.out -O2 ./Main.hs

って感じですね。 https://atcoder.jp/contests/abc120/rules
これでついにGHC8系が使えるってことなら大歓迎ですね 今は確か7系しか使えなくてがっかりした思い出。。。
むかーし少しだけやってた
AtCoder
AtCoderを否定するわけじゃありませんが、CodeForcesの問題のほうが好きですね。直接コードに落せてる感があって。(Codeforces も7系というのは内緒)
stackで適当なLTS Haskellをインストールさせるとしてどんなライブラリーを入れておくのがいいでしょうね。 :thinking_face:
haskell-platformがわかりやすくて良いのではないでしょうか?現状8.4.3ですが6月までには8.6系が出る可能性もありますし。