関数型プログラミング言語 Haskell について語るスレです。
haskell.org (公式サイト)
https://www.haskell.org/
日本Haskellユーザーグループ
https://haskell.jp/
前スレ
関数型プログラミング言語Haskell Part31
https://mevius.5ch.net/test/read.cgi/tech/1506447188/
探検
関数型プログラミング言語Haskell Part32
■ このスレッドは過去ログ倉庫に格納されています
2019/01/29(火) 09:05:47.90ID:gJP/u7IJ
781デフォルトの名無しさん
2019/11/17(日) 12:27:10.16ID:zvcjV9Be 型はフェイクではない
○○を応用した成果が型である
ゆえに○○はフェイクではない
このように「応用」や「成果」の概念がフェイクに加担している
○○を応用した成果が型である
ゆえに○○はフェイクではない
このように「応用」や「成果」の概念がフェイクに加担している
782デフォルトの名無しさん
2019/11/17(日) 20:43:59.01ID:56xYlt3M >>780
> CSに出て来る圏論はフェイク
CSとCSでないとの境界は曖昧なわけだが
例えば構成主義的な型理論などはその典型だ
少なくともBart JacobsのCategorical Logic and Type Theoryでの型理論はCSでなく数理論理学で
そこで出て来る圏論はフェイクでなく本物だと思うがねえ
Lambek & Scott (Phil)とそこで出て来る圏論に関しても同様
だからこそ数学を基礎付ける枠組みとしてのHTT (Homotopical Type Theory)などという考えが出てくるわけで
逆に言えば代数幾何で出て来る圏論は間違いなく本物なのは事実だが数理論理学で出て来る圏論から見ると酷く偏った部分だけだし
逆から見れば数理論理で出て来る圏論は代数幾何の圏論から見れば同様に非常に偏って見える
最近の高階圏や高次元圏の隆盛を見てもわかるとおり圏論の可能性は極めて広く豊かだから
「××で出て来る圏論はフェイク」といった主張はナンセンスだよ
ただ、本来、数学を知らずに使えねばならない単なるプログラミング言語に過ぎないのに
「圏論がどうした、モナドがどうした」、といって圏論を勉強しておかないとプログラムを書けないかの如く喧伝するのは
フェイクというか一種の羊頭狗肉あるいは虎の威(圏論、あるいは純粋数学という一種の高級ブランド)を借りる狐(プログラミング言語という実用道具)であり
間違った姿勢だとは思うけれどね
> CSに出て来る圏論はフェイク
CSとCSでないとの境界は曖昧なわけだが
例えば構成主義的な型理論などはその典型だ
少なくともBart JacobsのCategorical Logic and Type Theoryでの型理論はCSでなく数理論理学で
そこで出て来る圏論はフェイクでなく本物だと思うがねえ
Lambek & Scott (Phil)とそこで出て来る圏論に関しても同様
だからこそ数学を基礎付ける枠組みとしてのHTT (Homotopical Type Theory)などという考えが出てくるわけで
逆に言えば代数幾何で出て来る圏論は間違いなく本物なのは事実だが数理論理学で出て来る圏論から見ると酷く偏った部分だけだし
逆から見れば数理論理で出て来る圏論は代数幾何の圏論から見れば同様に非常に偏って見える
最近の高階圏や高次元圏の隆盛を見てもわかるとおり圏論の可能性は極めて広く豊かだから
「××で出て来る圏論はフェイク」といった主張はナンセンスだよ
ただ、本来、数学を知らずに使えねばならない単なるプログラミング言語に過ぎないのに
「圏論がどうした、モナドがどうした」、といって圏論を勉強しておかないとプログラムを書けないかの如く喧伝するのは
フェイクというか一種の羊頭狗肉あるいは虎の威(圏論、あるいは純粋数学という一種の高級ブランド)を借りる狐(プログラミング言語という実用道具)であり
間違った姿勢だとは思うけれどね
783デフォルトの名無しさん
2019/11/17(日) 20:55:22.99ID:N5iPOVW/ そうそう
多言語との差別化、マウント
選民主義の道具
あるいは原理主義で貫いてますよという言い訳みたいなもの
圏論必須みたいに言うのはバカ
多言語との差別化、マウント
選民主義の道具
あるいは原理主義で貫いてますよという言い訳みたいなもの
圏論必須みたいに言うのはバカ
784デフォルトの名無しさん
2019/11/17(日) 21:23:18.02ID:S3IAhXB4 とはいえほとんどのプログラマが欲しいのはどうせ虎の威だろ。
だからこの業界は何の発展もない。
だからこの業界は何の発展もない。
785デフォルトの名無しさん
2019/11/17(日) 21:25:48.05ID:4jNKOHdS 何言ってのこの人
786デフォルトの名無しさん
2019/11/17(日) 21:55:46.27ID:N5iPOVW/787デフォルトの名無しさん
2019/11/17(日) 22:02:43.05ID:nzTNCHtX PostgREST は Haskell のキラーコンテンツになれるか
788デフォルトの名無しさん
2019/11/17(日) 22:12:35.26ID:zvcjV9Be 動的型付け原理主義なら権威もないしダメージもないんだが
ノーダメージな選択肢を冷笑して程々のダメージ受けてるやつもそれはそれで難儀な性格だ
ノーダメージな選択肢を冷笑して程々のダメージ受けてるやつもそれはそれで難儀な性格だ
789デフォルトの名無しさん
2019/11/17(日) 23:21:11.81ID:S3IAhXB4 まあ権威が言ってんだからで済ましたり静的チェックしてるから大丈夫とか
言い聞かせる方が地道にベンチマーク取るよりよっぽど楽だからな。
結局はそういうことだろ。
言い訳をしたいんだよ。
言い聞かせる方が地道にベンチマーク取るよりよっぽど楽だからな。
結局はそういうことだろ。
言い訳をしたいんだよ。
790デフォルトの名無しさん
2019/11/18(月) 07:09:05.16ID:6/WJcbq2791デフォルトの名無しさん
2019/11/18(月) 11:01:11.35ID:ahZzeXy3 rubyをいくらdisっても構わないと思うが
disるだけじゃ何も産まれないからな
disるだけじゃ何も産まれないからな
792デフォルトの名無しさん
2019/11/18(月) 19:55:00.90ID:6QIkNIz7 どこが嫌いかより、どこが好きかで言語を語れよ!
793デフォルトの名無しさん
2019/11/19(火) 11:11:47.89ID:8naC8O/U 反日パヨク野党にはほめるところもすきなところも何もないわ
794デフォルトの名無しさん
2019/11/19(火) 13:04:27.10ID:TS8kcjoi 誰だよそいつは
自分を匿名化するのは別にいいけど敵を匿名にするなよ
自分を匿名化するのは別にいいけど敵を匿名にするなよ
795デフォルトの名無しさん
2019/11/19(火) 14:46:28.06ID:qFuVzVhm796デフォルトの名無しさん
2019/11/19(火) 20:45:50.91ID:EAp6ZFS6 何が問題のある機能か語る方がプログラム技術は向上する。
好きなものだけやってるバカは働いてほしくない。
好きなものだけやってるバカは働いてほしくない。
797デフォルトの名無しさん
2019/11/20(水) 11:22:47.40ID:9VJHrV5/ 技術自体が目的になることを問題視する風潮なので
サイコパスですら手段の目的化には強い罪悪感を持つようだ
もはやサイコパスでもなんでもないただの人
サイコパスですら手段の目的化には強い罪悪感を持つようだ
もはやサイコパスでもなんでもないただの人
798デフォルトの名無しさん
2019/11/20(水) 11:23:39.17ID:ADcW+Cyo つまらない
799デフォルトの名無しさん
2019/11/20(水) 13:02:17.44ID:i01367Jm 東京でのhaskellプログラマの求人だとさ
https://www.reddit.com/r/haskell/comments/dyh4rz/job_purescript_and_haskell_tokyo_or_remote/
https://www.reddit.com/r/haskell/comments/dyh4rz/job_purescript_and_haskell_tokyo_or_remote/
800デフォルトの名無しさん
2019/11/21(木) 20:19:49.90ID:BfqobOk+ apiサーバー実装としてhaskell結構いけるという話が出てるな。
ちと興味出てきた。
モナドガーとかずっと言ってるバカしかいないのかと思ってたがそうでもないようだ。
ちと興味出てきた。
モナドガーとかずっと言ってるバカしかいないのかと思ってたがそうでもないようだ。
801デフォルトの名無しさん
2019/11/27(水) 15:44:41.54ID:iuzce+69 よわそう
802デフォルトの名無しさん
2019/11/28(木) 00:39:29.58ID:W12oiqHO 圏論流行っているのって、人工知能の機械学習の理論のベースが複素多様体(複素ファジー)
にあってアルゴリズムに落とし込むにあたってバッチリ実学になるからとかそういう理由から?
にあってアルゴリズムに落とし込むにあたってバッチリ実学になるからとかそういう理由から?
803デフォルトの名無しさん
2019/11/28(木) 00:44:08.38ID:W12oiqHO haskellの真価は機械学習で出るとかそういうやつかな。勝手に納得くっそー。
804デフォルトの名無しさん
2019/11/28(木) 00:58:23.73ID:O/IccFcB FRPの金脈は掘り尽くされてみな失望して出て行ったの?
Haskellでゲーム作りを通してFRPを学べるみたいな本がLeanpubで書かれてたけど
作者途中で断念しちゃったんだよね
Haskellでゲーム作りを通してFRPを学べるみたいな本がLeanpubで書かれてたけど
作者途中で断念しちゃったんだよね
805デフォルトの名無しさん
2019/11/28(木) 00:59:05.39ID:W12oiqHO ちくしょう。
806デフォルトの名無しさん
2019/11/28(木) 01:00:13.06ID:W12oiqHO 慈善事業で地位向上やってたんだろうが。ちくしょう。
807デフォルトの名無しさん
2019/11/28(木) 01:06:40.27ID:W12oiqHO くっそ。こんな頭に線繋いで文意の通らないコミュニケーションとれるとか。
公認基地外化してなんてやろうだ。
邪魔するつもりはないが、全国クイズ大会とかいつまでやるつもりだ。
公認基地外化してなんてやろうだ。
邪魔するつもりはないが、全国クイズ大会とかいつまでやるつもりだ。
808デフォルトの名無しさん
2019/11/28(木) 19:49:21.00ID:mtRfePwe >>802
圏論の流行の理由はそっち方面とは全く関係ない
一つは関数型プログラミング言語の型の体系の理論的基盤である型理論が圏論と直接的な繋がりがあるところから
もう一つは実用プログラムとしては避けて通れない例外処理や状態の概念をHaskellのような関数型プログラミングで扱うための理論的基盤としてのモナドから
圏論の流行の理由はそっち方面とは全く関係ない
一つは関数型プログラミング言語の型の体系の理論的基盤である型理論が圏論と直接的な繋がりがあるところから
もう一つは実用プログラムとしては避けて通れない例外処理や状態の概念をHaskellのような関数型プログラミングで扱うための理論的基盤としてのモナドから
809デフォルトの名無しさん
2019/11/28(木) 22:20:47.13ID:8LP6mRiM 関数型言語設計者にとっては重要だとしても、
Haskellを使っている人にはどうでもいい理論ってことか。
>>圏論
Haskellを使っている人にはどうでもいい理論ってことか。
>>圏論
810デフォルトの名無しさん
2019/11/28(木) 22:28:37.21ID:KJlOY0hh アリアドネーの糸か蜘蛛の糸か。
でもどのみち結論はゼロサムだろう。
でもどのみち結論はゼロサムだろう。
811デフォルトの名無しさん
2019/11/29(金) 10:03:34.54ID:KypBmx9c arrayパッケージのData.Array.! は配列に O(1) の計算量で参照できるのでしょうか?
812デフォルトの名無しさん
2019/11/29(金) 13:42:47.90ID:KypBmx9c813デフォルトの名無しさん
2019/11/29(金) 13:57:38.91ID:BnvrknGG せやろか
814デフォルトの名無しさん
2019/11/29(金) 23:26:58.09ID:rLKSZgh6 命題
IOモナドではない ⇒ O(1)で参照できる配列構造を作れない
を証命せよ
IOモナドではない ⇒ O(1)で参照できる配列構造を作れない
を証命せよ
815デフォルトの名無しさん
2019/11/29(金) 23:37:51.77ID:UeTdOBou 漢字間違ってんぞ
816デフォルトの名無しさん
2019/12/01(日) 02:50:14.51ID:M279qGKp 我々は副作用は使ってないっ!キリッ
完全にクリーンなプログラムを書いているのだ!キリッキリッ
完全にクリーンなプログラムを書いているのだ!キリッキリッ
817デフォルトの名無しさん
2019/12/01(日) 12:50:50.29ID:ZEhocPVE 色々なコホモロジーの同型の証明については圏論は力を発揮するが、
型理論においてはそういう風にも考えられるよね?以上の意味はない。
単なる箔付けだな。
型理論においてはそういう風にも考えられるよね?以上の意味はない。
単なる箔付けだな。
818デフォルトの名無しさん
2019/12/01(日) 15:15:43.80ID:3hecj3NX doは単なる構文糖だな
それで、Pythonのlambdaの仕様を変える必要がないことが証明されてしまった
これだけでも十分大きい
それで、Pythonのlambdaの仕様を変える必要がないことが証明されてしまった
これだけでも十分大きい
819デフォルトの名無しさん
2019/12/01(日) 15:24:48.19ID:3P4UY/g+ その話kwsk
820デフォルトの名無しさん
2019/12/01(日) 17:20:16.47ID:m0gK1jxj >>817
一つの型理論に対するモデルは原理的に様々なモデルがあり得る
その様々なモデルをまとめて特徴づけるのには圏論が便利なんだよ
いわゆる圏論的モデルだよ
圏論的モデルというのは本来の(数理論理学での)意味での具体的なモデルでなくて
与えられた理論に対するモデル全般が満たすべき性質の圏論による公理化とでも言ったほうが良い感じの代物だからね
それと型理論に応じて圏論モデルとしての圏には特有の興味深い構造(例えばデカルト閉圏とかモノイダル閉圏とかね)を持つケースが多い
一つの型理論に対するモデルは原理的に様々なモデルがあり得る
その様々なモデルをまとめて特徴づけるのには圏論が便利なんだよ
いわゆる圏論的モデルだよ
圏論的モデルというのは本来の(数理論理学での)意味での具体的なモデルでなくて
与えられた理論に対するモデル全般が満たすべき性質の圏論による公理化とでも言ったほうが良い感じの代物だからね
それと型理論に応じて圏論モデルとしての圏には特有の興味深い構造(例えばデカルト閉圏とかモノイダル閉圏とかね)を持つケースが多い
821デフォルトの名無しさん
2019/12/01(日) 18:31:03.50ID:XkMP/E25 >圏論的モデルというのは本来の(数理論理学での)意味での具体的なモデルでなくて
>与えられた理論に対するモデル全般が満たすべき性質の圏論による公理化とでも言ったほうが良い感じの代物だからね
なるほど、数学基礎論の方面をあんま知らんからそういう発想になるわけか。
>与えられた理論に対するモデル全般が満たすべき性質の圏論による公理化とでも言ったほうが良い感じの代物だからね
なるほど、数学基礎論の方面をあんま知らんからそういう発想になるわけか。
822デフォルトの名無しさん
2019/12/01(日) 20:45:57.22ID:3P4UY/g+ は?ちゃんと言え
823デフォルトの名無しさん
2019/12/01(日) 21:43:32.61ID:DFWCjLrg いわゆる同型を除いて一意的(up to isomorphism)なモデルなことではないか。
どういうものかはわからんが。
どういうものかはわからんが。
824デフォルトの名無しさん
2019/12/02(月) 19:35:22.17ID:+Z2AJKW1 もうよElixirやろうぜElixir
Haskellに近いコーディングパターンマッチングも出来るし
もう、色々ユルユル
非同期マルチスレッドプログラムで受け手がないのにメッセージ送り捲れる(メール形式なので)
割り当てメモリーを使い切るとエラーで止まるけど(メールボックス満杯)
もう、ユルで目からウロコ
Haskellに近いコーディングパターンマッチングも出来るし
もう、色々ユルユル
非同期マルチスレッドプログラムで受け手がないのにメッセージ送り捲れる(メール形式なので)
割り当てメモリーを使い切るとエラーで止まるけど(メールボックス満杯)
もう、ユルで目からウロコ
825デフォルトの名無しさん
2019/12/02(月) 19:39:36.79ID:6AEGHd3a メールボックスがオーバーフローしない証明しながらコーディングするんすか?
826デフォルトの名無しさん
2019/12/02(月) 20:11:00.44ID:+Z2AJKW1 メールボックスだから受け手のプログラムも起動して非同期でメッセージを受け取って
メールボックスから消せばOk.
通常はメッセージの送り手スレッドがメールボックスの空き待ちになるだろ
メールボックス管理は独立したスレッドで動くんじゃね?
とにかくユルイ
僕でも出来たヽ(^o^)丿な感じ
メールボックスから消せばOk.
通常はメッセージの送り手スレッドがメールボックスの空き待ちになるだろ
メールボックス管理は独立したスレッドで動くんじゃね?
とにかくユルイ
僕でも出来たヽ(^o^)丿な感じ
827デフォルトの名無しさん
2019/12/02(月) 20:42:42.47ID:Y5cjsI9c >>822
完全性定理でググレカス。
完全性定理でググレカス。
828デフォルトの名無しさん
2019/12/06(金) 04:46:46.01ID:Nw0PFMDP 話題は?
829デフォルトの名無しさん
2019/12/07(土) 00:50:28.71ID:mKAqVLXw Nothing
830デフォルトの名無しさん
2019/12/07(土) 02:10:24.53ID:nHnMq71L ライブラリーのソースコードをレビューしてるWebサイトってありますか?
この書き方は秀逸だとか、これは泥臭いとか
バージョンアップでのコードの進化を追ったり
英語でも全く構わないのですが
この書き方は秀逸だとか、これは泥臭いとか
バージョンアップでのコードの進化を追ったり
英語でも全く構わないのですが
831デフォルトの名無しさん
2019/12/07(土) 04:27:22.19ID:AZmQeN3A Windows 10 64bit 上で FFI (ccall) 使って Haskell の関数を呼び出してて
呼ぶ前に hs_init() が必要なのは,なんとなくわかるんだけど
hs_exit() の方は,そのあとアプリケーション全体がすぐ終了する場合は
呼ばなくてもいい?
Windows が呼び出し元のプロセスも Haskell ランタイムも開放してくれるよね
hs_exit() 呼ばなくても。たぶん
この辺,わかる人いますか
呼ぶ前に hs_init() が必要なのは,なんとなくわかるんだけど
hs_exit() の方は,そのあとアプリケーション全体がすぐ終了する場合は
呼ばなくてもいい?
Windows が呼び出し元のプロセスも Haskell ランタイムも開放してくれるよね
hs_exit() 呼ばなくても。たぶん
この辺,わかる人いますか
832デフォルトの名無しさん
2019/12/07(土) 12:36:43.68ID:ZsYnLuoj プロセス切り離せば?
そうでもしないと他言語呼び出しなんて低レイヤーデバッグする覚悟ないとやってられんぞ。
そうでもしないと他言語呼び出しなんて低レイヤーデバッグする覚悟ないとやってられんぞ。
833デフォルトの名無しさん
2019/12/07(土) 20:22:19.70ID:JHE2lozm やってられない理由は低級言語でもHaskellでもなくGHC
Haskell実装はGHC以外にもいくらでもありえるから
Haskell実装はGHC以外にもいくらでもありえるから
834デフォルトの名無しさん
2019/12/07(土) 21:02:46.11ID:KFm7FNER Haskellでスマホアプリ作りたいの!
835831
2019/12/08(日) 05:30:16.98ID:9cPQrEyK836デフォルトの名無しさん
2019/12/10(火) 15:02:27.60ID:6qyfceqR 計算のキャッシュをしたい。
ある重い計算 heavy :: IO Char があってそれを f,g :: IO () から呼び出す。
一度 heavy が呼び出されて Char が返ってきた後はそれを使いまわしたい。
f で呼び出したなら、その結果の Char を g でも使う。
ただし heavy の実行は f,g のどちらかが呼ばれるまではしたくない。
cachedHeavy = unsafePerformIO heavy
とすれば cachedHeavy が利用されたときに一度だけ簡約がおこなわれて、
その時だけ heavy が実行されるので、これを使えば事は足りる。
でもなるべく unsafe は使いたくない。どうすればいいでしょうか。
ある重い計算 heavy :: IO Char があってそれを f,g :: IO () から呼び出す。
一度 heavy が呼び出されて Char が返ってきた後はそれを使いまわしたい。
f で呼び出したなら、その結果の Char を g でも使う。
ただし heavy の実行は f,g のどちらかが呼ばれるまではしたくない。
cachedHeavy = unsafePerformIO heavy
とすれば cachedHeavy が利用されたときに一度だけ簡約がおこなわれて、
その時だけ heavy が実行されるので、これを使えば事は足りる。
でもなるべく unsafe は使いたくない。どうすればいいでしょうか。
837デフォルトの名無しさん
2019/12/10(火) 15:23:28.41ID:hI+yeapE 何もしなくても最適化で一回しか使われなくなるんじゃないの
haskellはそんなに馬鹿なの?
haskellはそんなに馬鹿なの?
838デフォルトの名無しさん
2019/12/10(火) 15:23:58.32ID:48kVELqA memcached
839デフォルトの名無しさん
2019/12/10(火) 17:01:00.59ID:6qyfceqR840デフォルトの名無しさん
2019/12/11(水) 22:52:31.45ID:r4LYbsNN -- cached :: IO a -> IO (IO a)
main = cached heavy >>= \ cachedHeavy -> 云々
こういうのでいいならunsafePerformIOは不要
main = cached heavy >>= \ cachedHeavy -> 云々
こういうのでいいならunsafePerformIOは不要
841デフォルトの名無しさん
2019/12/12(木) 11:38:57.75ID:y6+ig4ik >>840
はい。 f,g はトップレベルではなくIOアクションの中で定義しても大丈夫です。
IORefを使わなきゃ無理かな、と思ってたんだけど、これは目から鱗でした。
cached = pure
でいいんだよね?単にモナド一枚かぶせるだけで計算のキャッシュになるなんて、
今年一番のオドロキですわ
はい。 f,g はトップレベルではなくIOアクションの中で定義しても大丈夫です。
IORefを使わなきゃ無理かな、と思ってたんだけど、これは目から鱗でした。
cached = pure
でいいんだよね?単にモナド一枚かぶせるだけで計算のキャッシュになるなんて、
今年一番のオドロキですわ
842デフォルトの名無しさん
2019/12/12(木) 13:37:02.84ID:9RMznkJC843デフォルトの名無しさん
2019/12/12(木) 15:32:55.96ID:y6+ig4ik844デフォルトの名無しさん
2019/12/12(木) 15:46:44.83ID:y6+ig4ik つまり… こんな感じでいいのかしら
cached :: IO a -> IO (IO a)
cached f = do
r <- newIORef Nothing
pure $ do
c <- readIORef r
case c of
Nothing -> do
ts <- f
modifyIORef r . const . Just $ ts
pure ts
Just ts -> pure ts
> x <- cached $ print "heavy" >> pure 42
> x
"heavy"
42
> x
42
cached :: IO a -> IO (IO a)
cached f = do
r <- newIORef Nothing
pure $ do
c <- readIORef r
case c of
Nothing -> do
ts <- f
modifyIORef r . const . Just $ ts
pure ts
Just ts -> pure ts
> x <- cached $ print "heavy" >> pure 42
> x
"heavy"
42
> x
42
845デフォルトの名無しさん
2019/12/13(金) 00:08:15.85ID:0IkxZSMD IORefをご存知でない?
846デフォルトの名無しさん
2019/12/13(金) 11:45:01.85ID:Zghtw6X7 >>845
間違っているところがあったら、具体的に教えていただきたい。
間違っているところがあったら、具体的に教えていただきたい。
847デフォルトの名無しさん
2019/12/14(土) 10:44:10.58ID:EaJih9JU cabalファイルの中でexectableで同じcabalファイルの
ライブラリー名をbuild-dependsにかいてあるのに
そのライブラリーのbuild-depensを全部書かないとコンパイルできない
のはなんで?テンプレート使ってるからとかある?
ライブラリー名をbuild-dependsにかいてあるのに
そのライブラリーのbuild-depensを全部書かないとコンパイルできない
のはなんで?テンプレート使ってるからとかある?
848デフォルトの名無しさん
2019/12/14(土) 14:55:50.10ID:EaJih9JU ソースディレクトリをexeとlibに別々にしたら直った
なんだこのバグは酷いバグだ
なんだこのバグは酷いバグだ
849デフォルトの名無しさん
2019/12/16(月) 18:39:37.82ID:fwNQkg00 岡部健 (Ken Okabe)今度はQuoraでもアカウントBANされる
https://link.medium.com/EX3Y4COIs2
https://link.medium.com/EX3Y4COIs2
850デフォルトの名無しさん
2019/12/16(月) 19:25:09.38 終わったコンテンツでしょ、彼はもう
851デフォルトの名無しさん
2019/12/17(火) 00:03:50.44ID:3VYtFLTP オワコン。人間もっとやることある
852デフォルトの名無しさん
2019/12/17(火) 08:07:51.17ID:hHVSxQ9g キャッシュ? https://wandbox.org/permlink/98ZKnQW0uSr5c5CV
f () = print "hoge" >> getLine >>= \x -> print "foo" >> return (\() -> x)
main = do
putStrLn "1234"
f () >>= \g -> do
let e = g ()
print e
print e
f () = print "hoge" >> getLine >>= \x -> print "foo" >> return (\() -> x)
main = do
putStrLn "1234"
f () >>= \g -> do
let e = g ()
print e
print e
853836
2019/12/17(火) 15:16:27.15ID:zdxsmCDQ854デフォルトの名無しさん
2019/12/17(火) 22:59:40.32ID:nTHXuzTI そもそもライブラリを全てimportする奴はいないので
使わなかったライブラリのコードは最後まで実行されない
全てのライブラリについて使うか使わないか予測できないならば実行の順序は予測できない
使わなかったライブラリのコードは最後まで実行されない
全てのライブラリについて使うか使わないか予測できないならば実行の順序は予測できない
855デフォルトの名無しさん
2019/12/18(水) 00:29:20.63ID:RN3F5ybK856デフォルトの名無しさん
2019/12/18(水) 09:15:25.20ID:fJHQ6oEy え、岡部健ってQuoraで暴れてたの?
アカウント停止はまた癇癪起こして名誉毀損してたとかが理由??
アカウント停止はまた癇癪起こして名誉毀損してたとかが理由??
857デフォルトの名無しさん
2019/12/18(水) 11:17:26.49ID:RrfoIO3F >>856
彼がなにかしらのコミュニティーでうまくやっていけないのは、これまでの活動からわかりきっている。
むしろ、Quoraではよく持った方だと思うよ。お薬をきちんと服用するようになってるんだろうね。
彼がなにかしらのコミュニティーでうまくやっていけないのは、これまでの活動からわかりきっている。
むしろ、Quoraではよく持った方だと思うよ。お薬をきちんと服用するようになってるんだろうね。
858デフォルトの名無しさん
2019/12/18(水) 14:06:51.57ID:eMsBbOWH あいつか
859デフォルトの名無しさん
2019/12/19(木) 00:31:57.76ID:MqZ434Qi haskell自体はいいんだけどstackとかhieとかいちいちでかくてめんどくさい
本当にhaskell書いてる人はいるの?
本当にhaskell書いてる人はいるの?
860デフォルトの名無しさん
2019/12/19(木) 07:07:47.77ID:lwXrm8Zb 依存関係を管理するのは理想
依存関係を消すのが現実
C++やSTLに依存することすら嫌ってCだけで書くみたいな現実
依存関係を消すのが現実
C++やSTLに依存することすら嫌ってCだけで書くみたいな現実
861デフォルトの名無しさん
2019/12/19(木) 07:48:35.49ID:gwJfRXBJ hieはもうちょっとなんとかならんのかとは思う
862デフォルトの名無しさん
2019/12/19(木) 10:21:19.22ID:+cpLTGtZ >>860
Rubyをdisるのは止めれ
Rubyをdisるのは止めれ
863デフォルトの名無しさん
2019/12/19(木) 14:13:07.54ID:rbd8D3sc 実際にHaskellでコード書いてみると分かるけど
コンパイル通れば計算結果は確かに正しいんだけど
巨大なメモリを謎に使うようなバグが混入する事が結構あって
その種類のバグってエラー吐かないから特定がめっちゃ難しい。
巨大なプロジェクトでHaskell使うのは現実的には無理だと思う。
コンパイル通れば計算結果は確かに正しいんだけど
巨大なメモリを謎に使うようなバグが混入する事が結構あって
その種類のバグってエラー吐かないから特定がめっちゃ難しい。
巨大なプロジェクトでHaskell使うのは現実的には無理だと思う。
864デフォルトの名無しさん
2019/12/19(木) 14:32:39.93ID:0ocPbHfL それ
haskell で書かれたプログラムのパフォーマンスチューニングむずすぎる
haskell で書かれたプログラムのパフォーマンスチューニングむずすぎる
865デフォルトの名無しさん
2019/12/19(木) 14:54:58.39 あればあるだけ使おうとするんでない?
足りなくなってからようやく(これからやる処理に必要最低限の)ガベコレ
この繰り返しだから永遠に自転車操業
足りなくなってからようやく(これからやる処理に必要最低限の)ガベコレ
この繰り返しだから永遠に自転車操業
866デフォルトの名無しさん
2019/12/19(木) 19:09:11.03ID:rbd8D3sc この種のバグの混入原因って大抵の場合
ネットに散らばっている'Haskellらしい'記法にあったりするから
初心者の頃に読んだ書き方が
「(実はこの人全然Haskellでコード書いてないじゃんっ!!)」
と気が付くまでワンセット
ネット上だと処理が大きくなると破綻するようなサンプルコードばっかりでウンザリする
特に遅延評価を活用するような記法は
大抵メモリ関連のバグの原因になるから実際には避けなきゃダメなのばかり
ネットに散らばっている'Haskellらしい'記法にあったりするから
初心者の頃に読んだ書き方が
「(実はこの人全然Haskellでコード書いてないじゃんっ!!)」
と気が付くまでワンセット
ネット上だと処理が大きくなると破綻するようなサンプルコードばっかりでウンザリする
特に遅延評価を活用するような記法は
大抵メモリ関連のバグの原因になるから実際には避けなきゃダメなのばかり
867デフォルトの名無しさん
2019/12/19(木) 20:23:04.10ID:l1p3Y60G デフォルトの挙動性格評価にするやつあったよね
あれ使ってる?
あれ使ってる?
868デフォルトの名無しさん
2019/12/19(木) 20:49:23.97ID:lwXrm8Zb ガベコレ言語を全否定してみるのも一つの方法
たとえばスマホが壊れたら全部新品にするかそれとも壊れた部品を特定してそこだけ修理するか
たとえばスマホが壊れたら全部新品にするかそれとも壊れた部品を特定してそこだけ修理するか
869デフォルトの名無しさん
2019/12/19(木) 20:50:47.99ID:mvsIV7PX 結局最適化しようとするとコンパイラのくせをしっかり理解してたり
凄まじい技術力がいるという。。
凄まじい技術力がいるという。。
870デフォルトの名無しさん
2019/12/19(木) 23:44:31.80 つまり Rust の時代か
871デフォルトの名無しさん
2019/12/20(金) 10:00:27.91ID:lm7vpsLR Rustってhaskellerにも結構評判いいけどどうなの
872デフォルトの名無しさん
2019/12/20(金) 11:16:14.21ID:MYxSal4F >>871
俺は「あぁ,Haskell でいうアレね」みたいな感じで学べた
厳密な感じが好きなら,気にいるんじゃないのかな
ドキュメントも揃っていて学びやすいと思う
ただ,俺はいまいち使い所を見いだせてない
Haskell で書ける分野なら Haskell で書いちゃうし
ちょっとしたツールとかサーバーサイドとかは Go のが楽だし
WebAssembly を生成するために使うのが
今一番,Rust の活きる分野な気がする
Rust は,クロスコンパイルが楽なので
(個人の感想です
俺は「あぁ,Haskell でいうアレね」みたいな感じで学べた
厳密な感じが好きなら,気にいるんじゃないのかな
ドキュメントも揃っていて学びやすいと思う
ただ,俺はいまいち使い所を見いだせてない
Haskell で書ける分野なら Haskell で書いちゃうし
ちょっとしたツールとかサーバーサイドとかは Go のが楽だし
WebAssembly を生成するために使うのが
今一番,Rust の活きる分野な気がする
Rust は,クロスコンパイルが楽なので
(個人の感想です
873デフォルトの名無しさん
2019/12/20(金) 11:25:55.75ID:mQBHONqp >>871
ただのLisp方言やML方言はもう飽きたってことだろ
ただのLisp方言やML方言はもう飽きたってことだろ
874デフォルトの名無しさん
2019/12/20(金) 12:03:56.77ID:tZwYgFV3 「C言語は純粋関数型」と言ってたのってQuoraの岡部健?
875デフォルトの名無しさん
2019/12/20(金) 21:36:07.96ID:/W4lQx2e フロントをrustで書くとか一番馬鹿な選択だろ。話にならん。
876デフォルトの名無しさん
2019/12/23(月) 17:59:43.65ID:/flai8cL もしかしてParsecってあんまり使われてない?
Parsecのドキュメントが2001年とか古いのしか無くて、最初のサンプルコードすら通らない
ライブラリの使い方が解らなくていきなり躓いてる
Parsecのドキュメントが2001年とか古いのしか無くて、最初のサンプルコードすら通らない
ライブラリの使い方が解らなくていきなり躓いてる
877デフォルトの名無しさん
2019/12/23(月) 18:29:48.72ID:B7hjQJ1Z ここの住民、圏論とかの話だと玄人っぽいのにプログラミングの話になると初心者っぽくて謎
878デフォルトの名無しさん
2019/12/23(月) 20:24:57.43ID:E1rjr0pL >>876
ドキュメントと言うのが何を指しているのか具体的なURLを示してくれないと、
何が原因でどう躓いているのか、助けようにも調べる取っ掛かりが無くて困る。
あと、本当にその古いドキュメントとやらしか学習資料は無いのか?
他にチュートリアルやブログなどは参考にならないのか?
ドキュメントと言うのが何を指しているのか具体的なURLを示してくれないと、
何が原因でどう躓いているのか、助けようにも調べる取っ掛かりが無くて困る。
あと、本当にその古いドキュメントとやらしか学習資料は無いのか?
他にチュートリアルやブログなどは参考にならないのか?
879デフォルトの名無しさん
2019/12/23(月) 20:56:14.64ID:A/dzNHpI どうせ躓くなら一番最初に躓く初心者っぽい奴の方が運が良い
ビギナーズラック
巨大なメモリを使う巨大なプロジェクトの完成直前に躓くのはかなり運が悪い
ビギナーズラック
巨大なメモリを使う巨大なプロジェクトの完成直前に躓くのはかなり運が悪い
880デフォルトの名無しさん
2019/12/23(月) 21:51:15.50ID:pH3djwe1 >>876
Parsec の開発は今や"メンテナンスモード"に入っていて、代わりに attoparsec や megaparsec が活発。
https://haskell.e-bigmoon.com/posts/2019/07-14-megaparsec-tutorial.html
Parsec の開発は今や"メンテナンスモード"に入っていて、代わりに attoparsec や megaparsec が活発。
https://haskell.e-bigmoon.com/posts/2019/07-14-megaparsec-tutorial.html
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国外務省報道官 高市首相発言撤回なければ「断固たる対抗措置」 [蚤の市★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… [BFU★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★2 [BFU★]
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★7 [おっさん友の会★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★3 [ぐれ★]
- 「高市人気」どこに? 自民候補が福島市長選で大敗、葛飾区議選でも苦戦 衆院早期解散論に冷や水 [1ゲットロボ★]
- 高市早苗「つい言い過ぎた」公邸で一人ひきこもる😲 [861717324]
- dアニメ 値上げ 月額660円に [268244553]
- 日本人、ついに気づく「あれ、日本が対中国で取れる対抗措置ってなくない…?」 [931948549]
- 【実況】博衣こよりのえちえち雑談🧪
- 【高市速報】維新・藤田代表に文春砲「維新市議の身内企業に569万円支出していた」藤田はーん(༼ん ༽) [931948549]
- 中国「次に禁止してほしいものを教えて」 [358382861]
