[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 07/21 14:46 / Filesize : 290 KB / Number-of Response : 1014
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

関数型プログラミング言語Haskell Part30



1 名前:デフォルトの名無しさん mailto:sage [2017/01/15(日) 23:43:54.28 ID:Vh4eztBk.net]
関数型プログラミング言語 Haskell について語るスレです。

haskell.org (公式サイト)
www.haskell.org/

前スレ
関数型プログラミング言語Haskell Part28
echo.2ch.net/test/read.cgi/tech/1428597032/

181 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 11:25:20.39 ID:C8G0Nbdq.net]
ContrainedなFunctorを実装していて直面した問題です
問題の本質を以下の単純化したコードで例示します
最後2つのインスタンス宣言の間で"Duplicate instance declarations" エラーが発生してしまいます
これは型aがOldAとUsefulFoo両方のクラスのインスタンスである場合どちらのnewHogeを実行すればいいのか区別がつかないからですが
実用上このケースは無意味で意図してコードを書かなければ起こり得ません
OldAとUsefulFooの両方のインスタンスになるような型が存在しないことをghcに伝えられればエラーにしなくても良いと思うのですがそのようなテクニックや言語拡張はあるのでしょうか

{-# LANGUAGE FlexibleInstances, UndecidableInstances #-}

class OldA a where
hoge :: a -> a

class NewA a where
newHoge :: a -> a

class UsefulFoo a where
us :: a -> a
ef :: a -> a
ul :: a -> a

instance OldA a => NewA a where
newHoge = hoge

instance UsefulFoo a => NewA a where
newHoge = us . ef . ul

182 名前:デフォルトの名無しさん [2017/02/23(木) 00:49:33.52 ID:9wlFqT9C.net]
諦メロン

183 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 06:24:32.19 ID:1D9YdnQF.net]
>>178
最近はRustに御執心の様子

184 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 02:19:21.58 ID:bZ+UJBqj.net]
>>179
OldAとUsefulFooとNewAの設計方針が間違っていたのでは?

185 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 11:52:40.03 ID:e/BP7pNw.net]
最新のGHCは簡単な余再帰が末尾再帰に変換されて最適化かかるの?

186 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 01:04:24.08 ID:wcM+rtIC.net]
>>182

melpon.org/wandbox/permlink/2dkmGhuBxpuIXnLU



melpon.org/wandbox/permlink/zMLvKlMSoP1i5EFb

187 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 06:14:09.47 ID:rUogqkUr.net]
これがアスペか

188 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 06:24:01.20 ID:E4CT8R9/.net]
fib_mem :: Int -> Integer
fib_mem = (map fib [0..] !!)
 where
  fib 0 = 1
  fib 1 = 1
  fib n = fib_mem (n-2) + fib_mem (n-1)
https://www.packtpub.com/mapt/book/Application%20Development/9781786464217/1/ch01lvl1sec09/Memoization+and+CAFs

フィボナッチは前スレのこれが美しすぎた。
これを見た後では
zipWithのフィボナッチとか完全に霞んで見える。

189 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 11:33:38.62 ID:J8MTJSeU.net]
数式に近いから美しいって言ってるのかもしれないけど
それは
fib_mem :: Int -> Integer
fib_mem x = _fibs !! x
_fibs = map _fib [0..]
_fib 0 = 1
_fib 1 = 1
_fib n = fib_mem (n-2) + fib_mem (n-1)
みたいに一時データがユニークになるって話だから
メモ化されるって言ってもO(n^2)だけどな



190 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 12:20:37.16 ID:5RveVCtH.net]
こんな所で感動しちゃってどうするの
そういうのは万策尽きて神頼みするような時だけいい
数学に感情は不要

191 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 18:51:36.03 ID:A0aZ5Z9S.net]
初歩的なメモ化で感動できた頃の心の輝きは大切にしていきたい

192 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 18:58:12.64 ID:A0aZ5Z9S.net]
メモ化してトップダウンするより足していってボトムアップの要領の良さが勝つ回

193 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 22:44:13.60 ID:+sRU0DuI.net]
stack new して作ったプロジェクトでライブラリを作りました。
(cabal ファイルに executable の代わりに library の項目を書いた)

stack build して正しくビルドされたことを確認してから stack install しました。

この後、別の stack new したプロジェクトで、先程 stack install したライブラリを使用するには、
どうすればよいのでしょうか。

194 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 10:48:09.56 ID:TbO8J9W/.net]
stack.yamlのpackagesから設定できるよ、stack installはしなくて良い https://docs.haskellstack.org/en/stable/yaml_configuration/

195 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 22:42:50.07 ID:6zX/SjR0.net]
>>192
出来ました。
ありがとうございました。

196 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 13:33:54.14 ID:5kGyNHm4.net]
諸君、議論したまえ

197 名前:デフォルトの名無しさん [2017/03/02(木) 08:35:24.25 ID:jHvj97KG.net]
tamae.2ch.net/test/read.cgi/prog/1475046306/812n

Haskellerが現れた

198 名前:デフォルトの名無しさん mailto:sage [2017/03/06(月) 19:44:44.66 ID:BYkqMHF2.net]
新しく出たHaskell本の感想クレクレ

199 名前:デフォルトの名無しさん mailto:sage [2017/03/06(月) 20:21:59.21 ID:j+wBUtqM.net]
前書きだけ立ち読みしたけど
あれ関数プログラミング入門を書き直したものなんだな



200 名前:デフォルトの名無しさん mailto:sage [2017/03/06(月) 20:28:33.59 ID:MHxEW6Wj.net]
古い方持ってたら不要なのね

201 名前:デフォルトの名無しさん mailto:sage [2017/03/06(月) 23:01:20.41 ID:WL27y1mu.net]
マジかよ危うく買うところだった

202 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 00:14:37.81 ID:+xePePxn.net]
かなり書き直してるよ

203 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 10:44:02.94 ID:mr++RUpk.net]
Bird氏の本の第三版か。
あの人、Functional Programmingの大御所なんだね。
すごいHやGraham氏、その他日本人著者の書いたのをいろいろ読んだけど、
コアな部分を理解するならBird氏の本だと思った。
翻訳第二版のファンシーな表紙をやめて、
原著の表紙の虎を持ってきたのは何かあったのだろうか?ww

204 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 13:07:01.84 ID:H+HmLSCA.net]
>>201
コアと言うのは、例えばどんな部分?

205 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 13:38:15.87 ID:fYd9KAIw.net]
と思ったらそもそも関数プログラミング入門買ってなかったのでこれを機会に買おう

206 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 17:44:15.63 ID:rdG5C9r5.net]
kinkyな表紙にしてくれ

207 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 17:49:10.46 ID:mr++RUpk.net]
>202
最初から正格、非正格を念頭に置いた上で議論が進んでいく。その時点で既に毛色が違う。
豆知識として、リスト内包表記とdo構文の<-の関係も載ってた。
証明問題が多く、数学がわかんないときつい感じ。

208 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 20:23:58.44 ID:36OrCepo.net]
>>205
あぁなるほど、そう言うのを一般に「コア」って言うのか

ありがと

209 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 06:06:40.10 ID:XWjfITmE.net]
https://stackoverflow.blog/2017/02/07/what-programming-languages-weekends/



210 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 06:44:38.74 ID:KZ+JXzQR.net]
今更すぎる
和訳で知ったのに原文貼って物知り顔するな

211 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 12:31:57.39 ID:RBmx3E25.net]
>>207
週末に人気のあるプログラミング言語(StackOverflow調べ)
https://developers.srad.jp/story/17/02/09/0354232/
週末にいちばん多く使われるプログラミング言語は?
postd.cc/what-programming-languages-weekends/

212 名前:デフォルトの名無しさん [2017/03/11(土) 21:23:14.84 ID:uo9d8gfu.net]
Haskellにも依存型があと数年以内に組み込まれるらしいですが、使用目的は専ら型安全性を得るためなのでしょうか?

213 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 23:30:29.33 ID:UHyrmxcZ.net]
定理証明支援系はいつですか?

214 名前:resumi [2017/03/12(日) 01:08:56.73 ID:f0Kjw9v5.net]
これ普通にショックだね。。
本当なの??
https://goo.gl/RB0asw

215 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 01:54:17.97 ID:kqHBJY7y.net]
見てないけどグロ

216 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 22:59:29.77 ID:fpOKmvSG.net]
最新のGHCだと余再帰が可能な限り自動で末尾再帰に変換されて最適化がかかるって聞いたんですけど本当すか?

217 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 08:05:36.75 ID:0mFH2buk.net]
tanakhに訊け

218 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 10:55:02.44 ID:dlgNAjv1.net]
tanakhとかうざ

219 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 22:01:52.58 ID:EYcQAf3p.net]
Data.Setをモナドにしたい場合はどうしてますか?
GADTsを使ったものと
https://wiki.cse.unsw.edu.au/cs4181/13s2/Schedule?action=AttachFile&do=get&target=thum460.pdf
type familyを使ったものと
https://hackage.haskell.org/package/constrained-categories-0.3.0.1/docs/Control-Monad-Constrained.html#g:1
もしくはそれ以外にも方法はあるのでしょうか



220 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 21:36:03.95 ID:4z74DpyU.net]
使う型がInt32なら32を、Int64なら64をコンパイル時に決定してソースコードに埋め込むメタプログラミングな関数を書くにはどうしますか?

221 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 22:28:40.43 ID:4z74DpyU.net]
Int に 対する read が遅くて困っています。
80万個のInt型をreadするのに、10^9付近の整数ばかりの場合と、1とか10とか小さな整数ばかりの場合とで 2 倍も処理時間が違ってきます。(2秒が4秒です!)
もっと速く読み込む方法はありませんか?
(但し標準入力からとします)

222 名前:デフォルトの名無しさん [2017/03/16(木) 23:18:00.86 ID:xmljzEMX.net]
readInt

223 名前:デフォルトの名無しさん [2017/03/16(木) 23:20:30.52 ID:xmljzEMX.net]
ByteStringのreadInt

224 名前:デフォルトの名無しさん [2017/03/16(木) 23:21:15.32 ID:xmljzEMX.net]
readIntegerだった
うろ覚えだったすまん

225 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 00:45:32.34 ID:gNJfFjGV.net]
melpon.org/wandbox/permlink/Uii2xmdQFxxnwLS4

226 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 00:46:54.92 ID:gNJfFjGV.net]
これは全然メタじゃない

227 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 18:18:35.73 ID:bH58Sv6/.net]
>>221
ありがとうございます。10倍速く動くようになりました

228 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 19:37:41.00 ID:bH58Sv6/.net]
ひょっとして、foldl か foldl' かよりも、そこに渡す二項関数の方を正格にするか遅延のまま
かが速度に関わっているのでしょうか?

※二項関数は(+)やmaxのように単純であるとする

229 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 04:00:42.66 ID:o/zGHEH2.net]
ん、何言ってんだ。二項関数の問題じゃなくて二項関数に渡す『二つの引数が今すぐどちらも値まで評価されるかどうか』が問題なのか。
される場合、foldl'の方がサンクなしの省メモリ(定数空間?)で処理が進むのか。
foldl'で正格に評価するといってもWHNFで止まるんですもんね

サンクが要らないからその部分(サンクの作成と破棄)のオーバーヘッドがなくなってちょっとだけ速くなるのか。でもあくまで foldl' の利点は省メモリの方か



230 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 10:06:06.54 ID:awlj00/Y.net]
https://github.com/google/codeworld
code.world/

これに関する質問ってこのスレでいいの?

231 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 10:30:10.95 ID:fNC16+Hl.net]
速度の比較をしたいならまずプロファイルを取りなさい

232 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 14:43:43.30 ID:qjqnp6Y8.net]
V8エンジンで無茶苦茶速くなったことだし、もうTypeScriptでいいやと思うようになった。

233 名前:デフォルトの名無しさん [2017/03/20(月) 20:37:53.08 ID:H6ds3WUf.net]
教えてください

何らかの型の巨大データがメモリ内にあったとして、データが用済みになった時に手動で解放する方法がHaskellにありますか?

そもそもそういう発想が間違いかも?

234 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 22:25:28.88 ID:THpWaU1J.net]
mark&sweepいらないなと思った時に参照カウントに変更する方法
言語を変えなくてもコンパイラを変えるだけでできそう(できたとは言ってない)

235 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 22:42:41.03 ID:tOiVLltG.net]
>>231
用済みになった時に手動で解放というのが、

1) たとえどこかから参照されていようが強制的に解放する
2) 参照がなく解放できる時にスケジューリングを待たずにGCを強制する

どちらの意味なのか分からん。

前者のつもりなら、たしか方法はなかったような気がする。
この発想は間違っていると思う。
自分が仕込んだメモリリークの問題を隠しているだけ。

後者なら、base パッケージの Systwm.Mem モジュールを調べてみて。
これなら分かる。
例えばゲームで、できるだけステージ途中で時間かかかるGCが起動しないように、
ステージ開始直前に強制的にGCさせたい、とか。

236 名前:デフォルトの名無しさん [2017/03/20(月) 22:58:59.79 ID:H6ds3WUf.net]
>>233
ありがとう。質問してよかった。

こちらのイメージ的にはCで言うところのfreeで1)が近いと思うが、GCを強制する
発想がそもそもなかったです

断続的にでかいデータを扱うので、次のロードまでにメモリを解放しておく必要
がありまして。

Systwm.Memを調べてみます。

237 名前:デフォルトの名無しさん [2017/03/21(火) 07:16:46.72 ID:RPjo5BAn.net]
演算子の部分適用の書き方で
演算子との間にスペースを書かないのはHaskellの作法?
(+ 3) (3 +) じゃなく (+3) (3+) って書くじゃんみんな

238 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 09:36:45.55 ID:bH1u/9cj.net]
みんなそうしてるから真似してそうしてるだけだろ。
わからないことは調べるのはめんどくさいから真似しておこうとか思ってそう。

239 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 13:49:23.04 ID:L0SduR/f.net]
>>235
普通に2項演算子として用いている場合は項と演算子とが独立してる感があるが、
部分適用した場合は「3を加える関数」という一塊の概念というイメージが強い
なんとなくだけどそんな使い分けではないかと思ってる



240 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 13:55:43.06 ID:TPAad80u.net]
GUIには等幅ではないフォントがあるから
1ピクセル単位でスペースを描く作法とかありそう

241 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 14:18:51.18 ID:kbUhzU5T.net]
Lispの関数 1+ とかの影響でない?

242 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 14:46:18.79 ID:LpaugWCV.net]
逆にHaskellでだけスペース挟んだりしたくないだろ

243 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 19:57:22.30 ID:zopuGVTD.net]
人間は文章を読むのに時間がかかる筈なので、質問と同時にGCを強制発動して、ユーザが質問を理解し返答を入力するまでの間にGCを終えたい

244 名前:デフォルトの名無しさん [2017/04/02(日) 18:01:47.89 ID:HoO7tpUE.net]
「関数プログラミングの思考法」で勉強してるんですが
「たのしく学ぼう!」は楽しく理解できる内容で
こちらは余計な表現は省いている硬派な文体ですね。
そのため反ってサクサク理解していけるのですが
皆さんどうでしょうか。

245 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 19:10:13.29 ID:y9d2jD+G.net]
>>242
分かる。ノイズが多い本は理解を妨げる面があるよな。

246 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 19:17:33.68 ID:W6VXUIjv.net]
ノイズが多い本……land of lispかな?

247 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 17:43:18.72 ID:n+rAkf5b.net]
軽妙な喩えならいいんだがセンスない人がやると惨憺コース

248 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 18:24:45.70 ID:Qx3jr0sY.net]
H本に影響を受けて書かれたE本はセンスないし痛々しいしで読むのが辛かった
変な色気出して慣れないことをしないでくれ

249 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 20:16:55.66 ID:uUmwarja.net]
>>244
Land of Lisp は何故か許せる



250 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 22:01:45.88 ID:cuuaF505.net]
ノイズじゃなくて冗長性だろ。
冗長性が多いほど失った記憶を復元しやすいから覚えやすいんだぞ。
そんなことも知らないのか馬鹿だなぁ。

251 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 22:37:33.25 ID:uw3ZIsiG.net]
暗記法かな?

252 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 01:02:45.85 ID:Zl9hd3NS.net]
ラノベじゃないんだ。インクと紙の無駄遣いは止してくれ

253 名前:デフォルトの名無しさん [2017/04/07(金) 19:19:25.31 ID:sbHW0sIW.net]
ラノベで気軽にHaskellを覚えられたらいいんだけどな

254 名前:デフォルトの名無しさん mailto:sage [2017/04/07(金) 20:38:50.80 ID:hQkI4asK.net]
むしろHaskelでラノベ全文を書いたらいいんだけどな

255 名前:デフォルトの名無しさん mailto:sage [2017/04/07(金) 20:56:28.47 ID:lfhJbqMl.net]
>>251
「Haskellを覚える」の意味が分からん

Haskellの何が覚えられないんだ?
文法一覧表とか入門書をいちいち見ないとコーディングできないとか?
それなら、たとえラノベに分かり易く書かれていようと、読むだけじゃ憶えられんぞ

256 名前:デフォルトの名無しさん mailto:sage [2017/04/07(金) 21:28:25.18 ID:TruQxjxN.net]
英語で遠回りして結局覚えられない奴

257 名前:デフォルトの名無しさん mailto:sage [2017/04/07(金) 21:40:36.27 ID:aTgPduXz.net]
Haskellをというか、ライブラリの便利な使い方を覚えるってことかな

ライブラリの型シグネチャとチョロチョロっとした英語の説明読んで、想像力働かせて『これは今までの処理がこうこう、こういう書き方でできるようになって便利ですね』と理解するのが難しい

<* や *> のパーサーでの使い方(認識だけして捨てる)を知った時はアハ体験だった

こういうのをドキュメント読んだだけで気付くということができない

258 名前:デフォルトの名無しさん mailto:sage [2017/04/07(金) 21:44:12.76 ID:aTgPduXz.net]
基礎ライブラリは抽象的なので、そこから応用的具象化を想像する能力が足りない

初めてApplicativeのドキュメントを読んでその有用性に気付く奴はIQ高過ぎだろ
頭がpureだった俺は戦意喪失したものだよ

259 名前:デフォルトの名無しさん mailto:sage [2017/04/07(金) 21:57:17.10 ID:oAg/9XNg.net]
誰かHaskellで萌える関数型プログラミング入門書いてくれ。



260 名前:デフォルトの名無しさん mailto:sage [2017/04/07(金) 22:45:53.56 ID:961Byv/H.net]
>>257
本当に買ってくれるのか?
買ってくれるならKindleで出すかな

261 名前:デフォルトの名無しさん mailto:sage [2017/04/07(金) 23:09:24.70 ID:lfhJbqMl.net]
>>255
ライブラリドキュメントを眺めていて、どんな使い方ができるんだろと想像するのは、そりゃ難しいよ。
それはドキュメントの使い方を間違っていると思う。

俺はアプリケーションを作っている時、

1. こういう引数からこういう結果になる関数が欲しい
2. 1の計算を分解すると A、B、C という計算の組み合わせになりそうだ
3. A、B、C を計算する関数をすでに誰か作っていないだろうか?

という順に考えて、A、B、C をドキュメントから探す、という使い方をしてる。


*> の例なら、誰かがパーサーで認識だけして捨てるのに使

262 名前:チているのを見てアハ体験をするのではない。

そうじゃなくて、初めにパーサーを作っていて認識だけして捨てたいという欲求が湧いてきて、
じゃあどうするかと考えた時に、まず「認識だけして捨てる」とはどういう計算なのかを分析する。
そうして事の本質を捉えてからドキュメントから求めるものを探す。

その時、たまたま既にパーサーの構造を Applicative で表現していれば、
ドキュメントの Control.Applicative モジュールの項を真っ先に探して *> を見つけるだろうし、
別の方法で実装していれば、実現する関数はライブラリには無さそうだなと諦めて自作するかも知れない。
何れにしてもアハ体験の出番はない。


言っておくが、アハ体験が悪いわけではないぞ。
他人の解説やソースコードを見て、そういう使い方もできるのかと学ぶ事は大事だ。
ただ、ドキュメントをそのように使うのは違うだろ、つまり(ライブラリ)ドキュメントは
解説書でも読み物でもないだろ、と言いたいんだ。
[]
[ここ壊れてます]

263 名前:デフォルトの名無しさん mailto:sage [2017/04/07(金) 23:36:42.37 ID:+bl73oc8.net]
本来であれば入門編は有用性ではなく単相型の欠陥に気付かせるべきなんだよ
VectorInt型とかVectorChar型とか再発明を繰り返すループに気付け
その後でパラメータ多相編とアドホック多相編をやるべき

264 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 01:14:10.72 ID:7QsPN9bB.net]
>>258
買う買う。

265 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 20:59:41.01 ID:gcfXcmks.net]
>>258
かうぞー!

266 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 00:41:02.14 ID:jUVd4dkj.net]
萌は興味を引かせる手段にはなれても、理解を深める手段にはなれんよ

267 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 01:31:48.04 ID:cVuKvPJL.net]
Kindleで、標準ライブラリの一つにつき一冊かけて特集した本を電子書籍で出して

抽象的な基礎ライブラリはその応用可能性をねっとりと絡み付くまでに例示して

268 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 01:36:18.18 ID:xs3hgIsU.net]
いいっすね読んでみたい
GitBookあたりで無料で

269 名前:デフォルトの名無しさん [2017/04/09(日) 06:15:21.14 ID:bWQLB/aV.net]
HaskellはHOW TO本が少な過ぎる
写経するだけでサクッと実用アプリを作れるような本が欲しいよね
IOが七章や八章から登場する入門書とか
Haskellを普及させる気ねぇだろw



270 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 11:16:11.13 ID:6mlbYxYb.net]
>>266
他言語でもそんな本は無いんじゃないか?
「サクッと」と「実用」がどんなレベルか知らんけど。

一応 Beginning Haskell が Web 系で実用的で、
入門者がアプリケーションを作るまでを指導してくれるが、洋書だ。

271 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 13:25:40.09 ID:k7pBYoHG.net]
Pythonなんかは
サンプルコードを書き書きしてるだけで
機械学習が出来ちゃう本なんかが出てるね

272 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 14:32:15.66 ID:h7Zssp3Z.net]
Haskellでエロイベント満載の
エロゲーを作る入門書が欲しい

273 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 22:07:49.23 ID:iyanZMWu.net]
Haskellってゲーム創るのに向いてるの?

274 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 00:42:05.83 ID:6CfyD+kA.net]
エロゲー作るのに大事なのはエロ絵だけ、プログラミング言語なんて全く関係ない

275 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 01:04:16.20 ID:rMcgJXKg.net]
圧縮した画像を取り出したりするのはC言語だと思う
他の言語を混ぜても、小規模ならC言語の占める割合が高い
だから他の言語はスケーラビリティがーと言って大規模化しようとする

276 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 02:02:19.00 ID:U7/Um2af.net]
C言語開発はストレスで禿げるから嫌だ
居玉で横歩取りするような将棋は嫌だ

277 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 03:00:41.47 ID:IhGuSZfb.net]
>>270
モナディウスあるから作れないことはないけど、C/C++のが向いてる。
Haskellに限らずJavaやC#みたいなGC使ってるのはタイミングがシビアなゲームには向かない。
(やるとしても場面切り替えのタイミングまでGC止めたりと、工夫が必要)
シビアじゃないゲームならUnityの公式言語だったり、PS VitaのSDKもC#だし、ゲームプラットフォームの選択肢多いC#じゃね?

278 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 03:05:43.30 ID:Zvy/cqZx.net]
とはいえ今時ゲームというばスマホだから
スマホ対応の難しい言語は論外だろうな

279 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 03:14:10.80 ID:IhGuSZfb.net]
ゲームとは言わんが、Haskellでスマフォアプリ作れたらなぁ。。。
Webアプリを作って、URLをスマフォの画面に置くのが関の山だろう。
Yesod本の和訳早よ。



280 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 03:52:14.23 ID:mPsedSNt.net]
同系統の言語のCleanはIDEに標準で付いてくるサンプルに
2D横スクロールアクションみたいなゲームとかTCPとかあるから
そっち使うとかは?

281 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 03:58:17.94 ID:U7/Um2af.net]
Androidで動くHaskellの話はどうなったの?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<290KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef