[過去ログ]
関数型プログラミング言語Haskell Part33 (1002レス)
関数型プログラミング言語Haskell Part33 http://mevius.5ch.net/test/read.cgi/tech/1581326256/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
17: デフォルトの名無しさん [] 2020/02/12(水) 20:45:42.48 ID:DqzYUQ+/ >>9 Rなら同様の関数をもっと短く分かりやすく書ける。 diagonals <- function(A) lapply(2:sum(dim(A)), function(i) A[row(A) + col(A) == i]) diagonals(matrix(1:12, 3, 4, byrow = TRUE)) これで [[1], [5,2], [9,6,3], [10,7,4], [11,8], [12]] というベクトルのリストが 生成される。 >>16 そうだな。プログラミング言語は問題を解くための道具だが、Haskellの場合、 プログラミング言語自体が解くための問題になっている感じ。 http://mevius.5ch.net/test/read.cgi/tech/1581326256/17
20: デフォルトの名無しさん [sage] 2020/02/13(木) 02:31:41.26 ID:7PHqZJTi >>17 短さはともかく解りやすさは一概には言えないと思う。こんなのはどうかな l = take 3 . unfoldr (Just . splitAt 4) $ [1..12] diagonals l = map catMaybes . transpose $ zipWith (<>) (inits . repeat $ Nothing) (map (map Just) l) > プログラミング言語は問題を解くための道具だが、Haskellの場合、 > プログラミング言語自体が解くための問題になっている感じ。 これは言い得ていると思う。Haskell の色んな所に入り込んだ抽象化のおかげで、 従来、アプリを作る末端のプログラマーが各々処理していた仕事が、ライブラリやコンパイラ側に吸い上げられる。 だから全体としての仕事の総量は少なくなる。でもそのかわり、ある程度書けるためにはベースの抽象に慣れる必要がある。 fmapってなに/モナドってなに/Foldableってなに/Lazyってなに... 学習コストは他の言語に比べてずっと高い。 >19 > Haskellの書き方極めればC言語に匹敵する速度が出せる 可能だよ https://chrispenner.ca/posts/wc http://mevius.5ch.net/test/read.cgi/tech/1581326256/20
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.035s