関数型プログラミング言語Haskell Part26at TECH
関数型プログラミング言語Haskell Part26 - 暇つぶし2ch3:デフォルトの名無しさん
14/07/27 13:47:30.40 deqguEnh
関連サイト

(英語)
Learn You a Haskell for Great Good! (『すごいHaskellたのしく学ぼう!』の無料オンライン版)
URLリンク(learnyouahaskell.com)

Real World Haskell (同名書籍の無料オンライン版)
URLリンク(book.realworldhaskell.org)

(以下、日本語)

HaskellJP wiki
URLリンク(wiki.haskell.jp)

Haskell入門 5ステップ - HaskellWiki (公式サイト内、日本語入門セクション)
URLリンク(www.haskell.org)

Programming in Haskell
URLリンク(www.sampou.org)

Haskell のお勉強
URLリンク(www.shido.info)

Haskell Programming
URLリンク(www.geocities.jp)

本物のプログラマはHaskellを使う:ITpro
URLリンク(itpro.nikkeibp.co.jp)

4:デフォルトの名無しさん
14/07/27 13:48:41.85 deqguEnh
関連書籍一覧

(アマゾン米国、主に洋書)
URLリンク(www.amazon.com)

(アマゾン日本、主に和書)
URLリンク(www.amazon.co.jp)

----
テンプレは以上です。

5:デフォルトの名無しさん
14/07/27 14:05:57.69 9qpRUKYw
8月発売予定らしい

●Haskellによる並列・並行プログラミング

Simon Marlow 著
山下 伸夫、山本 和彦、田中 英行 訳
336ページ
定価3,888円(税込)
ISBN978-4-87311-689-1

6:デフォルトの名無しさん
14/07/29 00:21:24.45 60YprUPc
[´・_ Haskellによる並列・並行プログラミング買えぽよ

7:デフォルトの名無しさん
14/07/29 10:17:31.50 vGNmyN6L
Haskellってなんであんな容量でかいの?

8:デフォルトの名無しさん
14/07/29 12:25:09.20 NZfP/Nly
Ajhc はフットプリント小さいよ

9:デフォルトの名無しさん
14/07/29 13:09:17.04 NY6VhvsC
Integer と Int が同じ幅じゃん。

10:デフォルトの名無しさん
14/07/30 04:03:32.33 HugqqWEX
ランタイムシステムの上で動くからじゃね?
Javaでいうところの仮装機械が同梱されてるってことじゃね?

11:デフォルトの名無しさん
14/07/30 07:50:18.87 cLkIAZiJ
マスカレードマシン...実身/仮身システムかな?(痴呆

12:デフォルトの名無しさん
14/07/30 08:51:49.84 HugqqWEX
つまり、RTSを別途配布すれば良いんだよ
MinGWで正規にインストールしとかないと何とかdllが見つかりませんって言われるように
bokunokangaetasaikyounoprogram.exeとrts.dllで動くようにすれば良いんだよ

13:デフォルトの名無しさん
14/07/30 14:42:30.44 cLkIAZiJ
cabal の依存関係を解決してリリースしたら
こんどは実行環境で DLL hell に悩まされるんですね(白目

14:デフォルトの名無しさん
14/07/30 23:35:59.41 OyX0E7FM
Haskellのシンタックスシュガーを全部取っ払うと(型の宣言などを取り除いた)プログラムの
文法は「型のついたラムダ計算」みたいになると思うけどそういうコア機能の解説した文書って
なかったっけ

15:デフォルトの名無しさん
14/07/31 00:50:43.58 +4UhtKUa
言語仕様(The Haskell 2010 report)で説明のために非形式的に使ってるのとか、
あるいはGHCの実装で使ってるこれかな? URLリンク(ghc.haskell.org)

16:デフォルトの名無しさん
14/07/31 01:18:38.30 zRIxs7zz
lambdaをコア機能とするのは無理があると思う
例えばletはlambdaのシンタックスシュガーにならない
○ let i x = x in (i 0, i "A")
× (\ i -> (i 0, i "A")) (\ x -> x)

むしろlambdaを使わないpointfreeがコアだ

17:デフォルトの名無しさん
14/07/31 09:51:43.95 v4mxhrx0
>>15
GHCの実装の説明のページへのリンクをありがとうございます。

Haskell2010 chap3で、シンタックスの説明に使われてるのがそれみたいですね。



>>16
let i x = x in (i 0, i "A") では i が多相関数 i :: α->α になって、in の中で
適切な型に推論されて適用されるのに対してラムダ式 (\ i -> (i 0, i "A")) (\ x -> x) では
「(\ x -> x)を多相のまま適用できない」ためにうまくいかないのでしょうか。

Scheme からの連想で let は lamnda で書けると思い込んでいたので、この面白い例をもっと
研究してみます。ありがとうございます。

18:デフォルトの名無しさん
14/07/31 10:00:46.45 tnsvQYR5
>>17
schemeだとできるの?動的だからいいのか

19:デフォルトの名無しさん
14/07/31 10:48:12.90 v4mxhrx0
>>18
Revised5 Scheme 7.3 で let は派生式になってます。(SchemeマニアじゃないのでR6とかは知りませんが)


わかりやすい解説は例えば SICP 1.3.2 。
( URLリンク(github.com) だと pp.66-67 のあたり )

20:デフォルトの名無しさん
14/08/03 21:36:58.94 Tmfa1Mht
Haskell Platform 2014.2.0.0 はいつ正式リリースかな

21:デフォルトの名無しさん
14/08/04 19:53:21.28 380FSYFH
諸君、暑さで議論がお留守だよ

22:デフォルトの名無しさん
14/08/05 09:31:07.66 xIiEYlRK
チラ裏メモ

Haskell のカーネル(≒言語から desugar して残るコア機能)は System FC という
System F の変種。 FC が F と違う部分は GADT なんかのための何からしい。

System F については、例えば TaPL に簡単に触れられており let ... in がλ抽象と
別立てになった機能になってる。

こっからは推測だけど(推測なんかしてる暇あったら読めよという話だが)上で触れられてる
ような事情で let ... in を lambda のシンタックスシュガーとは出来なかったのでλ抽象と
別の機能になってるのかなぁ思った。

23:デフォルトの名無しさん
14/08/06 00:53:41.89 9Hv8k9mx
推測する間に読めるとか早すぎだろ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch