haskell Published on December 6, 2019, last updated December 11, 2019 This is a comparison between the two languages by someone who has written code professionally in both. That said, I’m much more familiar with Haskell than with OCaml, so if you think there is a mistake in the text, let me know. Background and users Haskell is a niche, rarely used language. The situation is changing, but make no
ML系言語は型推論が得意なので基本的には型を書かなくてもコードを書けますが、状況によっては型注釈が必要になります。代表的なML系言語3つ(SML, OCaml, Haskell)について、それぞれ型注釈が必要になる(型注釈がないとコンパイルが通らない)ケースを挙げてみます。 なお、ここでは型システムのみに注目し、評価戦略はどうでもいいので、Haskellも「ML系言語」に含めています。 また、MLのモジュール/ファンクター周りは扱いません。コア言語のみを対象にします。 SML SMLで型注釈をなくすとコンパイルが通らなくなるのは、例えば以下の例です: 組み込み演算子やリテラルのアドホックなオーバーロード レコードを受け取る関数 リテラルの例: val x: IntInf.int = 12345678901234567890123; (* 型注釈を剥ぐとダメ: val x = 1234567
この前の「『Haskellによる関数プログラミングの思考法』読書会」の後の懇親会(?)で 多相バリアント の話になりまして,その時に以下の記事が話題にあがった. 多相バリアントを使いこなそう(1) - osiire’s blog 多相バリアントを使いこなそう(2) - osiire’s blog 多相バリアントを使いこなそう(3) - osiire’s blog 多相バリアントを使いこなそう(4) - osiire’s blog これらの記事は OCaml で多相バリアントの紹介をしています. ということで,同様の議論を Haskell でもしてみた!というのが,この記事の内容です. (2018.04.13 追記アリ) Haskell と多相バリアント 悲しいことに,Haskell には組み込みで多相バリアントは無い(バリアントとは Haskell の代数的データ型における直和型と概ね一緒
Effects bibliography A collection of research papers and other resources related to the theory and practice of computational effects. Instructions Pull requests welcome! You can edit the file directly also. Keep the formatting consistent with the rest. End a line with a double space to force a line break. Software See also the Effects and handlers Rosetta stone, a comparison of how computational e
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm @osiire はい。。。F# を日常的に使っていたり、OCamlを勉強していると、型安全って静的型付けであることとは違うし、型によって何を保証したり、表現できれば型安全であるって言えるのかよくわからなくなってきました。型安全って言葉を安易に使えないですね。 2012-09-20 19:02:42
このエントリーは、KLab Advent Calendar 2015 の15日めの記事です。 こんにちは、めっきり Jenkins の介護士となった @kakkun61 です。 趣味では Haskell を書いているのですが、そこでお世話になっている「型推論」のしくみを少し知ることができたのでみなさんに紹介したいと思います。 初めにお断わりしておくと、これから紹介する内容は『型システム入門』に全て書かれてあることです。KLab では『型システム入門』輪講をしているのですが、一緒に勉強している同僚と社外から先生として来ていただいている方にこの場を借りて感謝の意を表します。ひとりだとここまで読めなかったと思います。 『型システム入門』 型推論の解説に入る前に少し『型システム入門』について書こうと思います。 『型システム入門』は原著名 “Types and Programming Languag
Compose is a conference for functional programmers, focused on technologies such as Haskell, Scala, Clojure, OCaml, F#, SML and others. Functional programming has been taken up widely, by industry and hobbyists alike. For many of us it has renewed our belief that code should be beautiful, and that programming can be as enjoyable as it is practical. Compose is about bringing together functional pro
OCamlでは < や | で始まる中置演算子は左結合になるため、|> はO.K.ですが、<| 演算子をつなげたときにカッコが必要になってしまいます。 http://d.hatena.ne.jp/mzp/20090105#c1231290114 なんだそれと思ったが,ほんとだった。 | ['=' '<' '>' '|' '&' '$'] symbolchar * { INFIXOP0(Lexing.lexeme lexbuf) } (* 略 *) | ['*' '/' '%'] symbolchar * { INFIXOP3(Lexing.lexeme lexbuf) } とレキサの中で先頭文字だけ('**'のみ2文字)を見て演算子の種別分けをしている。 なんでこんな設計になっているんだろうか。(手抜き? 高速化の為?) ところで,演算子の結合性を指定できる言語にSMLやHaskellがあ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く