関数型プログラミング言語 Haskell について語るスレです。
haskell.org (公式サイト)
https://www.haskell.org/
前スレ
関数型プログラミング言語Haskell Part30
http://mevius.2ch.net/test/read.cgi/tech/1484491434/
探検
関数型プログラミング言語Haskell Part31©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/09/27(水) 02:33:08.70ID:2XAqPuH2
435デフォルトの名無しさん
2018/01/06(土) 23:19:28.76ID:knmVGZUA436デフォルトの名無しさん
2018/01/06(土) 23:31:44.70ID:ttApPSmY エラーの原因を教えてほしいという奴にエラーの原因を教えないのがHaskellerか
また同様のエラーが出てもこのスレにくればコード書き直してやるよっていう優しさか
また同様のエラーが出てもこのスレにくればコード書き直してやるよっていう優しさか
437デフォルトの名無しさん
2018/01/07(日) 00:03:32.13ID:CSD5n8Vo ハスケラーならコードで会話できるだろ?
438デフォルトの名無しさん
2018/01/07(日) 00:18:57.89ID:gMArQtmD Windows10でstackのプロジェクトをbuildするとエラーが出てビルド出来ないお(´・ω・`)
While building custom Setup.hs for package ........
..
..
..
Process exited with code: ExitFailure 1
While building custom Setup.hs for package ........
..
..
..
Process exited with code: ExitFailure 1
439デフォルトの名無しさん
2018/01/07(日) 00:26:59.29ID:dTX3sH72 ボウヤは『windows10 haskell stack build error』でググるとかはしたのかい?
440デフォルトの名無しさん
2018/01/07(日) 00:50:52.73441デフォルトの名無しさん
2018/01/07(日) 01:00:14.22ID:r/irtiIZ 賢者乙
442デフォルトの名無しさん
2018/01/07(日) 01:20:55.91ID:gMArQtmD443デフォルトの名無しさん
2018/01/07(日) 08:44:45.58ID:zleJ4q+h >>438
Windowsで動かないパッケージ使ってるとか?
Windowsで動かないパッケージ使ってるとか?
444デフォルトの名無しさん
2018/01/07(日) 18:07:55.57ID:HpBedZUr >>428
好き嫌いというか、ループはループ中で変数を操作するから値を返せるのであって、変数を言語から排除すれば自然にループも排除されるんじゃないの?
ループがあっても再帰が不要にはならない。でも再帰があればループ不要は本当の話。だからこそ変数を排除した言語があるんでしょ。
好き嫌いというか、ループはループ中で変数を操作するから値を返せるのであって、変数を言語から排除すれば自然にループも排除されるんじゃないの?
ループがあっても再帰が不要にはならない。でも再帰があればループ不要は本当の話。だからこそ変数を排除した言語があるんでしょ。
445デフォルトの名無しさん
2018/01/07(日) 20:35:35.56ID:gMArQtmD >>438 の原因はプロジェクトのパスに日本語が含まれているからでした...orz
446デフォルトの名無しさん
2018/01/07(日) 21:17:59.03 悲しいかな
447デフォルトの名無しさん
2018/01/08(月) 01:26:04.04ID:LRSoqKZx haskellプログラミングできたンゴ
https://i.imgur.com/rzM37pq.png
https://i.imgur.com/rzM37pq.png
448デフォルトの名無しさん
2018/01/08(月) 01:40:46.80ID:6LQHZKeL 挿入ソートか やるじゃん
449デフォルトの名無しさん
2018/01/08(月) 02:31:15.01ID:oivpkpFd450デフォルトの名無しさん
2018/01/08(月) 10:11:27.13ID:ai+lPEJ3 stack の使い方について質問です。
stack new で作ったプロジェクトの package.yaml に executables と tests が設定されています。
その上で、tests のみのビルドあるいはビルド&実行を行うという事をしたいです。
しかしうまく行きません。
余計なものまでビルドされたり、実行されたりします。
executables には cmd-exe というターゲットがひとつ、tests には cmd-test というターゲットがひとつあるとします。
まず cmd-test のビルドだけを行いたく、stack build :cmd-test コマンドを実行してみました。
すると、cmd-exe と cmd-test がビルドされ、かつ cmd-test が実行されてしまいました。
今度は cmd-test のビルドと実行を行いたく、stack test :cmd-test コマンドを実行してみました。
すると、こちらも cmd-exe も一緒にビルドされてしまいました。
cmd-exe をビルドしないで cmd-test のみをビルドする方法、
そして cmd-test を実行しないでビルドのみを行う方法はあるでしょうか。
stack new で作ったプロジェクトの package.yaml に executables と tests が設定されています。
その上で、tests のみのビルドあるいはビルド&実行を行うという事をしたいです。
しかしうまく行きません。
余計なものまでビルドされたり、実行されたりします。
executables には cmd-exe というターゲットがひとつ、tests には cmd-test というターゲットがひとつあるとします。
まず cmd-test のビルドだけを行いたく、stack build :cmd-test コマンドを実行してみました。
すると、cmd-exe と cmd-test がビルドされ、かつ cmd-test が実行されてしまいました。
今度は cmd-test のビルドと実行を行いたく、stack test :cmd-test コマンドを実行してみました。
すると、こちらも cmd-exe も一緒にビルドされてしまいました。
cmd-exe をビルドしないで cmd-test のみをビルドする方法、
そして cmd-test を実行しないでビルドのみを行う方法はあるでしょうか。
451デフォルトの名無しさん
2018/01/08(月) 12:02:33.14ID:ai+lPEJ3452デフォルトの名無しさん
2018/01/08(月) 13:58:59.98 Haskell、その学習に多大な苦労を強いる割に遅過ぎないですかね
http://benchmarksgame.alioth.debian.org/u64q/haskell.html
http://benchmarksgame.alioth.debian.org/u64q/haskell.html
453デフォルトの名無しさん
2018/01/08(月) 14:07:49.41ID:jbPveYoe 普通の言語のできない数学者がプログラミングできるようにするための言語だ
彼らにはたやすい
彼らにはたやすい
454デフォルトの名無しさん
2018/01/08(月) 14:17:08.35ID:LRSoqKZx 速さよりもバグの少なさが長点なのでは...
455デフォルトの名無しさん
2018/01/08(月) 15:59:26.22ID:eAAAEsR7 デフォルト遅延評価に破壊的更新超苦手とかいうパフォーマンス的には冗談みたいな存在なのに
静的型付コンパイルというだけでVMアンチ勢から謎の期待を向けられる言語Haskell
静的型付コンパイルというだけでVMアンチ勢から謎の期待を向けられる言語Haskell
456デフォルトの名無しさん
2018/01/08(月) 16:35:37.59ID:puck2ipT この先haskellで良いGUIフレームワークって出ると思う?
457デフォルトの名無しさん
2018/01/08(月) 16:52:31.19ID:ai+lPEJ3 >>456
現行のGUIフレームワークの問題点は何でしょうか?
現行のGUIフレームワークの問題点は何でしょうか?
458デフォルトの名無しさん
2018/01/08(月) 16:54:40.06ID:edhbuhXG 汎用かつネイティブの作法に従うものがいいなぁ。
459デフォルトの名無しさん
2018/01/08(月) 21:39:25.30ID:fNfSzvO3 >>452
いつからHaskellの5行クイックソートが遅いと錯覚していた? - Qiita
https://qiita.com/as_capabl/items/39e55e7a035dea4dc93a
いつからHaskellの5行クイックソートが遅いと錯覚していた? - Qiita
https://qiita.com/as_capabl/items/39e55e7a035dea4dc93a
460デフォルトの名無しさん
2018/01/08(月) 22:56:46.89ID:LRSoqKZx おまえらってIDE何使ってるの?
461デフォルトの名無しさん
2018/01/09(火) 07:52:35.28ID:jdJt8oqE >>459
>Haskellは遅延評価なので、リストを返す関数だからといって中間データとしてのリストを必ず作成する訳ではありませんから、
>結果を即座にfromListで書き込めば実質的に配列を出力する事が可能です。
ほんとぉ?
もう融合変換なんていらんやん
>Haskellは遅延評価なので、リストを返す関数だからといって中間データとしてのリストを必ず作成する訳ではありませんから、
>結果を即座にfromListで書き込めば実質的に配列を出力する事が可能です。
ほんとぉ?
もう融合変換なんていらんやん
462デフォルトの名無しさん
2018/01/09(火) 11:11:12.53ID:4pyxMvRN 中間データが不要(融合変換が不要とは言ってない)
463デフォルトの名無しさん
2018/01/09(火) 11:23:20.89ID:jdJt8oqE せやな
リストのfold/buildやな
リストのfold/buildやな
464デフォルトの名無しさん
2018/01/09(火) 13:28:03.42ID:4pyxMvRN まあグラフ簡約がなかったらどうなるか実験した方がいいと思う
465デフォルトの名無しさん
2018/01/09(火) 22:16:54.64ID:zX7pY+gm >>455
遅延評価=遅いって考える理由は?
遅延評価=遅いって考える理由は?
466デフォルトの名無しさん
2018/01/09(火) 22:55:36.65ID:0kb7P5He >>465
ほとんどの場合サンクを作るのは無駄だし最適化にも不利
ほとんどの場合サンクを作るのは無駄だし最適化にも不利
467デフォルトの名無しさん
2018/01/10(水) 00:53:00.88 haskellのコンパイルエラーメッセージが難解すぎる
468デフォルトの名無しさん
2018/01/10(水) 00:56:33.80 どうすれば直るか教えて下さい。
https://ideone.com/VhTqZE
https://ideone.com/VhTqZE
469デフォルトの名無しさん
2018/01/10(水) 01:23:11.48ID:2r/l0e/u >>468
問題があるのは10行目 return (shuffle (i - 1) flipped)
これの型は実際には、IO (IO [Int]) だが期待されているのは IO [Int] だ。
IO(などのモナド) に包むために使われる return はここでは不要。外すと IO [Int] になってコンパイル通る。
問題があるのは10行目 return (shuffle (i - 1) flipped)
これの型は実際には、IO (IO [Int]) だが期待されているのは IO [Int] だ。
IO(などのモナド) に包むために使われる return はここでは不要。外すと IO [Int] になってコンパイル通る。
470デフォルトの名無しさん
2018/01/10(水) 01:29:37.26ID:2r/l0e/u471デフォルトの名無しさん
2018/01/10(水) 01:29:51.07 なるほど!
472デフォルトの名無しさん
2018/01/10(水) 18:04:01.49ID:CldIXwzW473デフォルトの名無しさん
2018/01/10(水) 20:08:59.81ID:YX2ZZ0s/ パフォーマンス的にはC/C++が王道だから素直にFFIを持ち出すのが王道
C/C++とFFIを無視するのは某言語の痛い特徴だよ
C/C++とFFIを無視するのは某言語の痛い特徴だよ
474デフォルトの名無しさん
2018/01/10(水) 21:51:06.06ID:CldIXwzW 久々にHaskellで簡単なプログラム書いたんだけど
構造体使うだけでStateモナドもlensも必要になるあたりやっぱ欠陥言語だなこれ
最初から言語機能にいれとけや
構造体使うだけでStateモナドもlensも必要になるあたりやっぱ欠陥言語だなこれ
最初から言語機能にいれとけや
475デフォルトの名無しさん
2018/01/10(水) 22:51:06.88476デフォルトの名無しさん
2018/01/11(木) 00:40:52.51ID:vZTNKaQ4 >>466
その理屈だと遅延評価しない方は更に遅いじゃん。
その理屈だと遅延評価しない方は更に遅いじゃん。
477デフォルトの名無しさん
2018/01/11(木) 11:20:18.33ID:OitKCfql 欠陥のない言語があるならぜひ知りたいなあ
478デフォルトの名無しさん
2018/01/11(木) 11:34:32.09ID:yR+nWLrx クラスより構造体
メソッドよりフィールドが必要という常識を取り戻すだけで十年単位の時間がかかる
メソッドよりフィールドが必要という常識を取り戻すだけで十年単位の時間がかかる
479デフォルトの名無しさん
2018/01/11(木) 16:22:14.98ID:I4QPsg6T >>476
?
?
480デフォルトの名無しさん
2018/01/11(木) 16:32:20.02ID:+cHMvoU8 haskellでできることは他の言語だと難しくて
他の言語だと簡単なことはhaskellだと難しいという
他の言語だと簡単なことはhaskellだと難しいという
481デフォルトの名無しさん
2018/01/11(木) 23:26:54.83ID:CSSFSU7v >>480
変態言語やん
変態言語やん
482デフォルトの名無しさん
2018/01/11(木) 23:57:27.46ID:kh3sTkz1 それ、褒め言葉やで
483デフォルトの名無しさん
2018/01/12(金) 01:48:25.78ID:GmCW/u04 スクリプト言語を許容できてHaskellをその性能から許容できないというのは理解できない感覚
484デフォルトの名無しさん
2018/01/12(金) 11:48:37.84ID:xeu4OQ73 感覚ではなく統計の取り方がそうなってるんだな
シェルスクリプトなんてプログラムのコンパイル時と起動前に実行するやつだから
起動するまで何分待たされてもベンチマークには関係ないから
シェルスクリプトなんてプログラムのコンパイル時と起動前に実行するやつだから
起動するまで何分待たされてもベンチマークには関係ないから
485デフォルトの名無しさん
2018/01/14(日) 11:36:12.66ID:OihlBKK7 型推論まわりを雰囲気で使っていました。
初等的なケースではそれでも問題なかったんですけど、
OVERLAPS とか type family とか出てきてから付いていけなくなりました。
助けてください。
https://ideone.com/XQ17ms
初等的なケースではそれでも問題なかったんですけど、
OVERLAPS とか type family とか出てきてから付いていけなくなりました。
助けてください。
https://ideone.com/XQ17ms
486デフォルトの名無しさん
2018/01/14(日) 23:23:09.38ID:ppap/O0M 性能からって話はないな。
主にファイルIOやネットワークIOの気軽さの問題だと思うけど。
主にファイルIOやネットワークIOの気軽さの問題だと思うけど。
487デフォルトの名無しさん
2018/01/14(日) 23:30:08.22ID:fSoR9A9v 初心者だから適当だけどそこら辺はバンバンFFI使えばいいんじゃないのとか思ってしまう
そういうもんでもないのか
そういうもんでもないのか
488デフォルトの名無しさん
2018/01/14(日) 23:51:01.69ID:Qz3+ZXNT489デフォルトの名無しさん
2018/01/15(月) 00:04:51.86ID:bAToeOxa Stream Fusionの御利益を受けるには、
vectorパッケージでmapとかfoldみたいなので書けるところはすべて書いていく、
という方針でおけ?
vectorパッケージでmapとかfoldみたいなので書けるところはすべて書いていく、
という方針でおけ?
490デフォルトの名無しさん
2018/01/15(月) 00:57:56.87ID:NOFCncFl >>488 そのサイト、人いないような… とりあえずありがとうです。
491デフォルトの名無しさん
2018/01/15(月) 08:59:07.15ID:Duolqkdz492デフォルトの名無しさん
2018/01/15(月) 18:46:49.75ID:v1U8cihy >>485
Freer Effectsが、だいたいわかった: 11-7 OVERLAPSプラグマ - Qiita
https://qiita.com/YoshikuniJujo/items/6b57a2778b04f54cac1e#_reference-98a5024f7096c614804a
Freer Effectsが、だいたいわかった: 11-7 OVERLAPSプラグマ - Qiita
https://qiita.com/YoshikuniJujo/items/6b57a2778b04f54cac1e#_reference-98a5024f7096c614804a
493デフォルトの名無しさん
2018/01/16(火) 00:59:29.28ID:4jams3dQ494デフォルトの名無しさん
2018/01/19(金) 00:29:15.30ID:ZfC+YGVh haskell普及させたい言うわりには初心者に優しくない
495デフォルトの名無しさん
2018/01/19(金) 00:41:33.13ID:bqrf+XbL どちらかというと初心者から中級者になるまでのミッシングリンクが上手く埋められてない
H本の次のレベルにふさわしいものがないと言ったほうがいいか
H本の次のレベルにふさわしいものがないと言ったほうがいいか
496デフォルトの名無しさん
2018/01/19(金) 00:53:08.18ID:ZfC+YGVh それhaskell以外の言語でもだいたいそうじゃね?
497485
2018/01/19(金) 01:45:02.15ID:uCK/Ej3G 皆様ありがとうございました。勉強しました。
型推論の全体を概観する為に、以下の記事がわかりやすかったです。
http://yu-i9.hatenablog.com/entry/thih
https://goo.gl/MH2cCx
型推論は、ざっくり 単一化 -> 帰結 の順に行われ、前者が頭部の具体化、後者は制約のチェックの役割になっているようです。
今回のケースで出たどのコードも単一化は通ってるんだけど、帰結の処理の際にエラーが出ていると思います。
>> 491 さんが単純化してくれたケースは、ご指摘の通り undefined がどちらのインスタンスにもなりうるため、"あいまいだ"という旨のエラーが出ていました。
これは例えば OVERLAPPING を INCOHERENT に置き換えると通ります。テキトウな順になるということです(OVERLAPSの解説は頂いた重城サンの記事(>> 492)が参考になりました)。
型推論の全体を概観する為に、以下の記事がわかりやすかったです。
http://yu-i9.hatenablog.com/entry/thih
https://goo.gl/MH2cCx
型推論は、ざっくり 単一化 -> 帰結 の順に行われ、前者が頭部の具体化、後者は制約のチェックの役割になっているようです。
今回のケースで出たどのコードも単一化は通ってるんだけど、帰結の処理の際にエラーが出ていると思います。
>> 491 さんが単純化してくれたケースは、ご指摘の通り undefined がどちらのインスタンスにもなりうるため、"あいまいだ"という旨のエラーが出ていました。
これは例えば OVERLAPPING を INCOHERENT に置き換えると通ります。テキトウな順になるということです(OVERLAPSの解説は頂いた重城サンの記事(>> 492)が参考になりました)。
498485
2018/01/19(金) 01:45:29.89ID:uCK/Ej3G 元の >> 485 のコードは型の属(type families)と等式制約が絡んだものです。
hoo :: ( 型制約 ) => 頭部
型制約中に現れるチルダは等式制約と呼ばれていて、これは type families が導入されたときに追加された文法らしい(>> 493)。
ざっくり言うと、Hoo b ~ HooBar は「型の関数 Hoo に型 b を適用したものが型 HooBar と等しくなる、という制約」を頭部に課します。
詳しくは http://www.kotha.net/ghcguide_ja/7.6.2/equality-constraints.html
俺がコンパイラに期待したのは、 f :: (Hoo b ~ HooBar) => b の型シグニチャによって、b ~ Bar を類推することだったんですけど、どうもそれがうまく行っていない。
結局、帰結処理で type family や等式制約がどのように処理されるのかの資料は見つからなかったのですが、失敗する理由はわかりました。
この記事に答えがありました。 https://qiita.com/lotz/items/6c038698c8f04f57113a
type instance Hoo Bar = HooBar だけでは、それ以外のインスタンス、例えば Hoo () などが HooBar とおなじになる可能性を排せないので、b を一意に決定することができないらしいんです。
型関数が単射であることをコンパイラに伝えれば解決です。言語拡張TypeFamilyDependencies を加え、
- type family Hoo b :: *
+ type family Hoo b = r | r -> b
と書き換えると、>> 485 のプログラムはコンパイルを通ります。
hoo :: ( 型制約 ) => 頭部
型制約中に現れるチルダは等式制約と呼ばれていて、これは type families が導入されたときに追加された文法らしい(>> 493)。
ざっくり言うと、Hoo b ~ HooBar は「型の関数 Hoo に型 b を適用したものが型 HooBar と等しくなる、という制約」を頭部に課します。
詳しくは http://www.kotha.net/ghcguide_ja/7.6.2/equality-constraints.html
俺がコンパイラに期待したのは、 f :: (Hoo b ~ HooBar) => b の型シグニチャによって、b ~ Bar を類推することだったんですけど、どうもそれがうまく行っていない。
結局、帰結処理で type family や等式制約がどのように処理されるのかの資料は見つからなかったのですが、失敗する理由はわかりました。
この記事に答えがありました。 https://qiita.com/lotz/items/6c038698c8f04f57113a
type instance Hoo Bar = HooBar だけでは、それ以外のインスタンス、例えば Hoo () などが HooBar とおなじになる可能性を排せないので、b を一意に決定することができないらしいんです。
型関数が単射であることをコンパイラに伝えれば解決です。言語拡張TypeFamilyDependencies を加え、
- type family Hoo b :: *
+ type family Hoo b = r | r -> b
と書き換えると、>> 485 のプログラムはコンパイルを通ります。
499デフォルトの名無しさん
2018/01/19(金) 07:41:26.43ID:qWabwUd0 >>495
リスト本読め
リスト本読め
500デフォルトの名無しさん
2018/01/19(金) 15:11:02.24ID:uCK/Ej3G >>450
stack で指定したターゲット以外の余計なものがビルドされてしまう問題は、バグの可能性があります。
https://github.com/commercialhaskell/stack/issues/1406
stack で指定したターゲット以外の余計なものがビルドされてしまう問題は、バグの可能性があります。
https://github.com/commercialhaskell/stack/issues/1406
501デフォルトの名無しさん
2018/01/20(土) 08:32:17.48ID:lXdHdJ+E Haskellの型コンストラクタがいまいち理解できなかったけど、ラムダキューブでやっと理解できた。
ポリモーフィックな関数と所謂依存型とセットなんだね。
型コンストラクタとそいつで作られる型がオーバーロードできるのは、紛らわしい気がする。
ポリモーフィックな関数と所謂依存型とセットなんだね。
型コンストラクタとそいつで作られる型がオーバーロードできるのは、紛らわしい気がする。
502デフォルトの名無しさん
2018/01/20(土) 09:37:30.01ID:/5XEeDZf >>494
何となく学習じゃあ、解決したい問題領域が曖昧なままだからな、何やっても難しく感じるよ。
何となく学習じゃあ、解決したい問題領域が曖昧なままだからな、何やっても難しく感じるよ。
503デフォルトの名無しさん
2018/01/20(土) 16:49:26.40ID:I7uywYWL もし依存型があったらリストの長さにより異なる型を使うね
でも遅延評価はリストの長さが有限でも無限でも同じ型にする
相性悪そう
でも遅延評価はリストの長さが有限でも無限でも同じ型にする
相性悪そう
505デフォルトの名無しさん
2018/01/24(水) 05:27:57.73ID:/4CMqd4L hieとVSCode使ってるんだが、ドキュメントや入力候補が「読み込んでます」ってなって一向に読み込まれないんだが
お前らは問題なく使えてるの?っていうかどんな環境でやってる?
お前らは問題なく使えてるの?っていうかどんな環境でやってる?
506デフォルトの名無しさん
2018/01/24(水) 06:36:24.95ID:EfrrCAID507デフォルトの名無しさん
2018/01/24(水) 18:54:42.65ID:A4/TKZVr csacademyってコード貼り付けサイトして定着してんの?
508デフォルトの名無しさん
2018/01/27(土) 12:07:53.22ID:3P02pcTc Haskellの良いところは宣言的であることです。
宣言的であるということはCSSのように素人には使いこなせないということです。
素人には使いこなせなくすることでウェブデザイナーという奇妙な職業が生まれました。
同様にHaskellもハスケラーという新たな職業を生み出す可能性があります。
宣言的であるということはCSSのように素人には使いこなせないということです。
素人には使いこなせなくすることでウェブデザイナーという奇妙な職業が生まれました。
同様にHaskellもハスケラーという新たな職業を生み出す可能性があります。
509デフォルトの名無しさん
2018/01/27(土) 17:18:06.19ID:Y4G+sRnH コードの質の下限が他の言語より高いなとは思う
例えばPHPなんかは、プログラマの能力によって質の良し悪しのギャップが非常に大きい
それに対してHaskellは、上を見たらキリがないが、下を見てもコンパイルエラーを起こさない時点である程度の質が担保されてる
その分覚えることが多いし、短期的な開発効率も下がりそうだけど、長い目で改修や保守を考えると悪くなさそう
例えばPHPなんかは、プログラマの能力によって質の良し悪しのギャップが非常に大きい
それに対してHaskellは、上を見たらキリがないが、下を見てもコンパイルエラーを起こさない時点である程度の質が担保されてる
その分覚えることが多いし、短期的な開発効率も下がりそうだけど、長い目で改修や保守を考えると悪くなさそう
510デフォルトの名無しさん
2018/01/27(土) 17:19:06.86ID:Y4G+sRnH >>509
PHPと比べてもしょうがないな…Javaあたりに読み替えといてください
PHPと比べてもしょうがないな…Javaあたりに読み替えといてください
511デフォルトの名無しさん
2018/01/27(土) 19:16:11.49ID:S0om7f3c512デフォルトの名無しさん
2018/01/31(水) 04:05:44.40ID:hDoqvddW 入門書
入門書
入門書
:
Haskell 中級書出して
入門書
入門書
:
Haskell 中級書出して
513デフォルトの名無しさん
2018/01/31(水) 04:10:45.92ID:hCnyArbk Effective Haskell ください
514デフォルトの名無しさん
2018/01/31(水) 07:45:42.81ID:jydCvtlX Haskell Wikibooksとか中上級くらいでないの?
515デフォルトの名無しさん
2018/01/31(水) 18:11:04.78ID:F9QE8ZcE 「プログラミングHaskell」(Graham Hutton (著), 山本 和彦 (翻訳))
って入門者向け?
って入門者向け?
516デフォルトの名無しさん
2018/01/31(水) 18:19:54.71ID:6Wa3kgEE517デフォルトの名無しさん
2018/02/01(木) 08:00:02.87ID:Xuh9WGFR ghci で
> let x :: (a ~ Int) => a;x = undefined
として実際の型をみると
> :t x
x :: Int
に変わっている。これはどういう仕組みによるもの?
> let x :: (a ~ Int) => a;x = undefined
として実際の型をみると
> :t x
x :: Int
に変わっている。これはどういう仕組みによるもの?
518デフォルトの名無しさん
2018/02/02(金) 14:28:38.64ID:iEY/rJwQ 引数が Show a だったらTrue, 違ったら False を返す関数
isShow :: a -> Bool
は可能ですか?
isShow :: a -> Bool
は可能ですか?
519デフォルトの名無しさん
2018/02/02(金) 20:19:41.59ID:NSR+boPa Haskell外部ライブラリの型をShowクラスのインスタンスにしてデバッグを楽にする
http://blog.kzfmix.com/entry/1349904819
本物のプログラマはHaskellを使う - 第15回 Haskellでのデバッグのコツをつかむ:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20071204/288630/
型に対して後から型クラスのインスタンス宣言を自動導出するには - Qiita
https://qiita.com/hyone/items/a47b905936e55147fe59
http://blog.kzfmix.com/entry/1349904819
本物のプログラマはHaskellを使う - 第15回 Haskellでのデバッグのコツをつかむ:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20071204/288630/
型に対して後から型クラスのインスタンス宣言を自動導出するには - Qiita
https://qiita.com/hyone/items/a47b905936e55147fe59
520デフォルトの名無しさん
2018/02/02(金) 20:45:14.24ID:PIo4kucW https://wiki.haskell.org/GHC/AdvancedOverlap
これは自前でインスタンスの一覧作ってる
これは自前でインスタンスの一覧作ってる
521デフォルトの名無しさん
2018/02/03(土) 00:14:03.29ID:st4XedSX このコード中に isShow というのがある
https://hackage.haskell.org/package/fitspec-0.4.4/docs/src/Test-FitSpec-Derive.html
https://hackage.haskell.org/package/fitspec-0.4.4/docs/src/Test-FitSpec-Derive.html
522518
2018/02/03(土) 00:59:05.30ID:z/YnSxMM AdvancedOverlapは外でShowのインスタンスが増えた時に対応できないです。
isInstanceOf ! そういうのがあるんですか。調べてみます。
これを通して実現したい機能は、頭部ではなく型制約でオーバーロードしたいというもの。
具体的にはdiagramsパッケージの元で作ったダイアグラムを画像化したい。
同じ関数で Show a も画像化したい。
一見簡単そうなんですけど、普通に合成したダイアグラムの頭部に具体的な型がつかないので、
通常の型クラスのインスタンス化でオーバーロードできない。
instance Show a => Hoo a where ...
instance (a ~ Diagram B) => Hoo a where ...
-- コンパイルエラー!
isInstanceOf ! そういうのがあるんですか。調べてみます。
これを通して実現したい機能は、頭部ではなく型制約でオーバーロードしたいというもの。
具体的にはdiagramsパッケージの元で作ったダイアグラムを画像化したい。
同じ関数で Show a も画像化したい。
一見簡単そうなんですけど、普通に合成したダイアグラムの頭部に具体的な型がつかないので、
通常の型クラスのインスタンス化でオーバーロードできない。
instance Show a => Hoo a where ...
instance (a ~ Diagram B) => Hoo a where ...
-- コンパイルエラー!
523デフォルトの名無しさん
2018/02/03(土) 22:01:25.34ID:GVlapN64 すみません、
Huttonの「プログラミングHaskell」で
学習をしているのですが
練習問題の解答が
著者や役者のサイト等を見ても見当たらなく
もし掲載のページを知ってたら教えて下さい。
Huttonの「プログラミングHaskell」で
学習をしているのですが
練習問題の解答が
著者や役者のサイト等を見ても見当たらなく
もし掲載のページを知ってたら教えて下さい。
524デフォルトの名無しさん
2018/02/04(日) 04:24:30.53ID:fRCSu2fr プログラミングHaskell 訳者によるサポートページ
http://www.mew.org/~kazu/doc/book/haskell.html
> 練習問題の答は、原著者のサポートページにあります。
http://www.mew.org/~kazu/doc/book/haskell.html
> 練習問題の答は、原著者のサポートページにあります。
525523
2018/02/04(日) 12:22:57.81ID:VtcsF5YK526デフォルトの名無しさん
2018/02/04(日) 14:14:55.60ID:+WAJGnPT コード例とかならここにあるみたいだけど
http://www.cs.nott.ac.uk/~pszgmh/book-old.html
http://www.cs.nott.ac.uk/~pszgmh/book-old.html
527デフォルトの名無しさん
2018/02/04(日) 19:26:34.09ID:VtcsF5YK528デフォルトの名無しさん
2018/02/22(木) 01:33:31.18ID:rShSr6qS class Hoo a
x :: Hoo a => a -> a
y :: (Hoo a => a) -> a
x = undefined
y = undefined
-- f :: a -> a
-- f a = x a -- コンパイル通らない
g :: a -> a
g a = y a -- コンパイル通る。なんでだ
-- h = y :: a -> a -- 通らない
x :: Hoo a => a -> a
y :: (Hoo a => a) -> a
x = undefined
y = undefined
-- f :: a -> a
-- f a = x a -- コンパイル通らない
g :: a -> a
g a = y a -- コンパイル通る。なんでだ
-- h = y :: a -> a -- 通らない
529526
2018/02/23(金) 11:53:44.22ID:QhNOj82G ghcを8.0.2 から 8.2.2に上げた。
h = y :: a -> a -- 通るようになった
h = y :: a -> a -- 通るようになった
530デフォルトの名無しさん
2018/03/05(月) 00:25:18.18ID:rygpwPFq このコンテストに参加してるHaskellerたったの6人と少ないのでチミたちも参加したまえ
https://www.codingame.com/leaderboards/challenge/botters-of-the-galaxy/global?column=slanguage&value=Haskell
https://www.codingame.com/leaderboards/challenge/botters-of-the-galaxy/global?column=slanguage&value=Haskell
531デフォルトの名無しさん
2018/03/08(木) 07:40:29.03ID:NOpOgpfl emacsでSymbols function definition is void: haskell-debug
てエラー文が出ちゃうんですが、原因わかる人いませんか、、
正確にはspacemacsのinteroです、、
てエラー文が出ちゃうんですが、原因わかる人いませんか、、
正確にはspacemacsのinteroです、、
532デフォルトの名無しさん
2018/03/12(月) 03:18:18.08ID:IKn+w3cq tanakhがイキリー田中って呼ばれているみたいだけどイキリーってどういう意味?
550番組の途中ですがアフィサイトへの転載は禁止です (ワンミングク MMda-oDZj)2018/03/11(日) 22:51:59.49ID:2Wu75Uw+M
pezyスパコン社員の
イキリー田中さん曰わく
Hideyuki Tanaka
@tanakh
最近ずっと国会で、国会じゃなくて裁判所でやるようなことばっかりやってないすか。もう逆に裁判所で政策議論した方が三権分立的にいいんじゃないすか(適当)
午前0:06 · 2018年3月10日
https://twitter.com/tanakh/status/972126503352676352
550番組の途中ですがアフィサイトへの転載は禁止です (ワンミングク MMda-oDZj)2018/03/11(日) 22:51:59.49ID:2Wu75Uw+M
pezyスパコン社員の
イキリー田中さん曰わく
Hideyuki Tanaka
@tanakh
最近ずっと国会で、国会じゃなくて裁判所でやるようなことばっかりやってないすか。もう逆に裁判所で政策議論した方が三権分立的にいいんじゃないすか(適当)
午前0:06 · 2018年3月10日
https://twitter.com/tanakh/status/972126503352676352
533デフォルトの名無しさん
2018/03/12(月) 03:22:34.32ID:IdW8RVi3 裁判所でもこんなあほなことやらん
534デフォルトの名無しさん
2018/03/12(月) 06:27:09.63ID:uoSNo/WD スレチの相手するなバカ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【🐼🇨🇳】「高市総理VS中国」で日本からパンダはゼロに? 上野動物園「パンダ返還期限」まであと3カ月… [BFU★]
- 【裁判】山上徹也被告の妹「この人は母のふりをした旧統一教会の信者だと思いました」「でも、母の形をしているから突き放せなかった」 [1ゲットロボ★]
- 「“なり得る”って言っただけだから…」高市早苗“存立危機”答弁後に漏らした本音 ★3 [Hitzeschleier★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★5 [樽悶★]
- 【速報】 米大使声明 「日本を支えていく」「中国が威圧的手段に訴えるのは断ち難い悪癖」 [お断り★]
- 歩道で93歳男性が女子大学生の自転車にはねられ意識不明 坂を下った先「気付いたときには目の前に」 [七波羅探題★]
- 【悲報】高市早苗「非核三原則やめます」これじゃ津軽海峡を国際海峡にしたの馬鹿みたいじゃん🥺 [616817505]
- 「あれ?円安加速の戦犯って高市じゃなくて岸田と石破じゃね?」という風潮、急速に高まるwww [759043982]
- 高市コインまもなく158円 [931948549]
- 🍣にゃっはろ🌸~スシろ~🏡
- 珍🏡珍
- 【パズドラ】パズル&ドラゴンズ総合雑談スレ🏡【山本大介】
