[過去ログ]
関数型プログラミング言語Haskell Part33 (1002レス)
関数型プログラミング言語Haskell Part33 http://mevius.5ch.net/test/read.cgi/tech/1581326256/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
9: デフォルトの名無しさん [sage] 2020/02/11(火) 11:04:03.53 ID:GjzPGqUa universe-base パッケージに Data.Universe.Helpers.diagonals という関数があって、 diagonals [[1,2,3,4], [5,6,7,8], [9,10,11,12]] = [[1], [5,2], [9,6,3], [10,7,4], [11,8], [12]] という、つまり行列を対角線状に走査して並べ直す計算をしてくれる。 で、これの関数定義がかなりシンプルなんだ。 diagonals :: [[a]] -> [[a]] diagonals = tail . go [] where go b es_ = [h | h:_ <- b] : case es_ of [] -> transpose ts e:es -> go (e:ts) es where ts = [t | _:t <- b] 簡単な行列で関数を展開してみると何をやっているのかよく分かる。 これ考えたヤツ天才じゃね? 今の俺は他人のソースを展開して理解するので精一杯だけど、 いつかこんな関数定義ができるよう精進したい。 http://mevius.5ch.net/test/read.cgi/tech/1581326256/9
124: デフォルトの名無しさん [] 2020/03/29(日) 21:46:33.53 ID:AoSt3bhf >>123 ekmettのライブラリとかHaskellの型システムを強化する言語拡張など、高度に抽象的なコンストラクションがどういう意図で作られていてどういう場面で役に立つのか http://mevius.5ch.net/test/read.cgi/tech/1581326256/124
182: デフォルトの名無しさん [sage] 2020/04/05(日) 14:28:05.53 ID:k4Q+DqWZ >>181 HaskellでActionという用語をみたことが俺はないけど、Haskell直系の子孫のPureScriptだと 型注釈の->の右辺にEffectがある関数をアクションと定義するそうだ。 EffectはHaskellでいうIOに対応すると思ってもらえたらいい。 ちなみに->の左辺にEffectがある関数をハンドラという。 -- アクション throwException :: forall a. Error -> Effect a -- ハンドラ catchException :: forall a. (Error -> Effect a) -> Effect a -> Effect a http://mevius.5ch.net/test/read.cgi/tech/1581326256/182
304: デフォルトの名無しさん [sage] 2020/05/02(土) 07:49:02.53 ID:+q7QtdZF cabalってカバルじゃなくカボールなんだな http://mevius.5ch.net/test/read.cgi/tech/1581326256/304
537: デフォルトの名無しさん [sage] 2020/11/01(日) 10:21:30.53 ID:Srz4hpJo 1) foldr + 0 [1,2,3] と書いた場合、「+」より関数適用のほうが優先順位が高いので、 foldr + (0 [1,2,3]) と解釈される。 つまり、0という関数を[1,2,3]という引数に適用したものと、foldrを足し算するという意味となる 2) 具体例 map' f [1,2,3] = foldr (\x a -> f x : a) [1,2,3] 3番目の値 (\x a -> f x : a) 3 [] = f 3 : [] = [f 3] 2番目の値 (\x a -> f x : a) 2 [f 3] = f 2 : [f 3] = [f 2, f 3] 1番目の値 (\x a -> f x : a) 1 [f 2, f 3] = f 1 : [f 2, f 3] = [f 1, f 2, f 3] http://mevius.5ch.net/test/read.cgi/tech/1581326256/537
592: デフォルトの名無しさん [sage] 2020/11/24(火) 03:49:22.53 ID:EBaS3Lgi JAVAチップが実現されてればスタックマシンだからFORTH最強だったのでは http://mevius.5ch.net/test/read.cgi/tech/1581326256/592
791: デフォルトの名無しさん [sage] 2021/03/24(水) 19:34:45.53 ID:8SYKHDut 何言ってんだコイツ… http://mevius.5ch.net/test/read.cgi/tech/1581326256/791
842: デフォルトの名無しさん [sage] 2021/06/03(木) 20:42:08.53 ID:/+9iJa2F >>833 自己解決 language-javascriptパッケージのソースのコメントに∉記号がutf8で入ってて、環境によっては違うエンコードで読み込んでエラーになるっぽい 誰かが開発者にワークアラウンドとしてコメントをasciiで書き直してくれとリクエストしてたけど、ビルド環境を整えるのはstackの仕事だから俺は知らんと一蹴されてた まぁそりゃそうなんだけどさ... http://mevius.5ch.net/test/read.cgi/tech/1581326256/842
880: デフォルトの名無しさん [sage] 2021/07/30(金) 13:54:44.53 ID:kX7UidPf >>874 Haskell書いてるときにそういう系統の知識が要求されたことはないなぁ、いくつかの概念の出自が圏論だと聞いたことはあるが http://mevius.5ch.net/test/read.cgi/tech/1581326256/880
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.034s