コードを書きまくって慣れろ、って感じ 0670デフォルトの名無しさん2018/07/15(日) 08:13:24.43ID:89Btz4it>>669 フーム ビヘイビアは Time → a でイベントは [ (Time, a) ] シグナル関数は (Time → a) → (Time → b) のようなことが 「FRPの話 - maoeのブログ」で少しだけ説明されているね。
一方、 import Math (sin,cos,tan) みたいになっていても、このモジュールは三角関数を使うやつ、ということは判るが、それが大して役に立つとは思えない。
だから値の明示的インポートはやめて、hidingだけに統一しようかな、と考えてる。 値がバッティングして、かつ両方使いたいならそのモジュールは qualified する。 0676デフォルトの名無しさん2018/07/29(日) 20:25:02.63ID:tC3jGbCj>>674 基本大文字を拾って as している。 import qualified Data.Map as M import qualified Data.Set as S だが import qualified Text.Regex.TDFA as TDFA つらい 0677デフォルトの名無しさん2018/07/31(火) 21:58:40.13ID:6DhCQI2Vhttps://github.com/trekhleb/javascript-algorithms/issues/119
更に引数3つとるaddなら add = \x -> (\y -> (\z -> x + y + z)) と同じ意味だし、haskellはデフォでそういう仕組になってるってことやろ 0695デフォルトの名無しさん2018/09/04(火) 10:40:17.26ID:0nZVvdsT>>694
ありがとうございます。
add' :: Int -> (Int -> Int) add' x y = x + y
↑この表記って、よくない表記じゃないですか?
add' x y = x + y
↑これをみて、型が add' :: Int -> (Int -> Int) だとはとても分かりません。 0696デフォルトの名無しさん2018/09/04(火) 10:48:31.75ID:W1MTXd47 じゃあどんな型だと思うんだい? 0697デフォルトの名無しさん2018/09/04(火) 10:48:48.98ID:ntR3woJY 逆にそれ見たらどういう型だと思った? Int -> Int -> Int って思ったんじゃない?
なんの本読んでるかしらんけど 例えば add x y z なら Int -> Int -> Int -> Int だけど 実際には Int -> (Int -> (Int -> Int)) こうなってるってことを言いたいんやろ 0698デフォルトの名無しさん2018/09/04(火) 10:50:47.26ID:0nZVvdsT>>696
haskellはそういう部分適用できる関数を書きやすいように add x y = x + y を add = \x -> (\y -> x + y)に自動で変換してくれるってだけ 糖衣構文ってやつ 嫌なら全部ラムダ式で書けばいいよ 0703デフォルトの名無しさん2018/09/04(火) 11:41:42.58ID:W1MTXd47>>698 じゃああなたが今勉強してるカリー化って何なんですかね? 0704デフォルトの名無しさん2018/09/04(火) 12:05:07.87ID:/45N32wx **argv :: char *argv :: char* argv :: char**
add' x y :: Int add' x :: a -> Int add' :: b -> a -> Int
C言語を学習した人はHaskellも分かる これが知能だ 0705デフォルトの名無しさん2018/09/04(火) 12:52:41.14ID:JkSql3w1 Haxe では関数の型は、 function sum (a:Int, b:Int) : Int
Int -> Int -> Int 引数1 -> 引数2 -> 戻り値
最後は戻り値 0706デフォルトの名無しさん2018/09/04(火) 12:54:41.46ID:tHCjwI0T>>701 Haskellは関数適用が最優先だから add' x y は (add' x) y って意味 だから add' x y = x + y は 「add' にxを適用した結果にyを適用した結果はx+yに等しい」と読める
replを立ち上げた後、デバッグしようとする(spc m d d)と、 No Haskell session associated with this debug buffer. てエラーが出て、先に進まないです。 上記はhaskell-debug.elの中に出てくるエラー文で、 上で立ち上げたrepl(stack ghci)がsessionとして認識されてないのが原因?な気がしますが、力及ばずって感じです。 0727デフォルトの名無しさん2018/09/16(日) 08:20:46.91ID:qJ8HI8bW>>712 金融で使ってる。 あと文書解析。 0728デフォルトの名無しさん2018/09/16(日) 22:36:53.37ID:/Gv7qrCh すみません言語の話題から少し外れますが、