[過去ログ] 関数型プログラミング言語Haskell Part32 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
8: 2019/02/02(土)00:12:37.55 AAS
CPS書き換えドリル
次の英文を○○構文を用いて同じ意味の英文に書き換えなさい的な
28
(1): 2019/02/03(日)21:29:11.55 ID:RwDwNYzW(3/27) AAS
>>23

>>>20
>だからfact(1)で無限に続いちゃうよね
>1 - 1で fact 0をevalしてまたfact(1)になる
>そこで終了条件が必要だけど何にも書いてないから記述通りならずーっと続く

そうはならない

fact 1 = 1 * fact 0
に簡約される

そして
fact 0 = 1 であって
省2
251: 2019/03/22(金)15:36:25.55 ID:t/nkQ3ne(6/8) AAS
そこは気を付けなきゃだけど(と言うか、スタックは兎も角ヒープ使うってreverseみたいにリスト溜め込むとかだけで、手続き型言語でもあり得る場面に限られそうだが)、
むしろモナドな再帰(IOはもちろん、リスト->リストな再帰も)がループになると言うのは、
手続き型言語よりも再帰でスタック使うケースが少ないと言う魅力もある。
(ここは手続き型言語が末尾再帰最適化に対応しても追いつけない所)

>>246 の通り、mainを再帰的に呼び出してもループになると言うのは知る限り手続き型言語では見たことない。

main変数が他の言語で言うmain関数的な動きをしているのも、圏論的には変数は引数無しの関数と見做せるから。
main変数を評価しようとすると束縛されたプログラムが動き出す。

n = 1 ― 変数であり、常に1を返す引数無しの関数
291: 2019/03/25(月)23:29:06.55 ID:4CvSxgZ7(1) AAS
sum x:xs = x + sum(xs)
は数学っぽく見えるけどアキュムレータ噛ますと途端にループに見える不思議
346: sage 2019/05/06(月)23:44:49.55 ID:gerN8CWz(3/3) AAS
>>345
ありがとうございます。理解しました。

参考にしたのが School of Expression だったので
情報が古くprocessing-for-haskellが
最新の物と思えて勘違いしてました。
465: 2019/08/31(土)23:29:39.55 ID:DBlAufLH(1) AAS
GHC8.8.1リリースされたね。ナガカッタ
stackで使えるようになるのはいつ頃か
513
(1): 2019/10/08(火)23:04:55.55 ID:ELFSZFvj(5/7) AAS
自分もエラーが何を意味しているのか最初はわからなかった。

ただほとんどのエラーは型の不一致由来。

だから何行目のどこでエラーが出ているかだけわかればあとは
型を順番に調べていって解決できるようになった。

スペルを間違えたり似たような目的で使う別の型と勘違いしていたり
とかそれなりの理由でエラーが出ているはず。後者は代数データ型を
適当にその場で作ったりしてた頃によくやってた。
697: 2019/11/04(月)12:15:05.55 ID:GOdOYVw0(1/2) AAS
型の宣言だけならコードの中に埋め込むことはできた
だが数学の知識をすべて宣言するのは無理
だからコードを読みながら数学勉強しようと思ったら、わかることは静的型ばっかりだぞ

そもそも数学は広大過ぎてどこから手をつけるか迷うから静的型から始めるのは合理的
762: 2019/11/09(土)17:05:19.55 ID:5gH5tpDv(1) AAS
型シグネチャちゃんと書いとけば、後はポイントフリーにしてお茶を濁して、利用者が命名してねって感じに逃げることも可能
895: 2019/12/28(土)23:16:17.55 ID:wvWoDqVP(1) AAS
Haskellは小さいプログラムを作るには最適なんだけど
大きいプログラムになるとメモリ周りの最適化が困難なのよね
実行結果自体は正しいからテストすり抜けるだろうし
バックエンドで採用しても
本番環境で初めてメモリヤバイと気付いて死ぬ未来しか見えない
923: 【最底辺】 【25円】 2020/01/01(水)13:25:14.55 ID:tqBP4ADq(1) AAS
Haskellの未来
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.722s*