What is Eta? Eta is a pure, lazy, strongly typed functional programming language on the JVM. It brings two big ecosystems, the JVM and Haskell, together. This allows you to harness the best of both ecosystems to build your applications quickly and effectively. Eta's concurrency support helps you to build highly scalable systems.
「これ知らなきゃ分からないだろ!」 「エラーの原因はわかったけど、なんか腑に落ちない」 いま悩んだ2時間返せ! bashというか、UNIXのコマンドに慣れてない 僕みたいな新人エンジニアが 気をつけた方がいいポイントまとめました。 あいことばをわすれない 微妙にエラーが出ないため、気づかないまま進んでしまい、 のちのち絶妙に致命的なことになってしまうので注意。 一行目忘れて2時間悩みました 二行目のオプションつけなかったため2時間悩みました setのオプションはお好みで あいことばの解説: http://qiita.com/magicant/items/f3554274ee500bddaca8 半角スペースをつけるな!半角スペースをつけろ! shellさんはスペースに非常に神経質です。 よくある変数代入では=の前後にスペースいれてはダメです。
さて、Wrightの論文の当時は、value restrictionは妥当な制限だった。なぜならば、value restrictionのせいで型付けできなくなる主なケースは、多相関数の部分適用がまた多相関数になる(はずの)場合ぐらいで、それはlet x = eのeをfun y -> e yのように書き換えること(η展開)で回避できたからである。 ところが、SML#のような多相レコード、OCamlのような多相オブジェクトないし多相バリアントを利用すると、value restrictionが本当に問題になってくる。たとえば # let f x = `V x ;; val f : 'a -> [> `V of 'a ] = <fun> # let v = f 1 ;;などで、vがpolymorphicにならないとしたら、「(実質的に)多相バリアントを返す関数は書けない」ことに(事実上)なってしま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く