Sotaro OKUDA
なるほど、そうだったんですね!ありがとうございます!
stack new
でテンプレートを作ってそこで作業するのが重要ですね強いていえばexecutable
executables:
のセクションを package.yaml
から削除すればライブラリーだけになりますよ!stack new project simple-library
してみてできるプロジェクトを参考にしてみるのもよいかと。stack upload .
すればできます。stack new project simple-library
だとpackage.yamlができないんですねexecutables:
の箇所を削除するだけでライブラリーのみのビルドになるのでそれだけやればよいかと!:
とは何のことですか。:
が分かっていません…….検索もうまくできず……すみません.タプルは「すごい Haskell 楽しく学ぼう」に書いてあったのですが…….`:` について,も し良ければご教授いただけたらと思っております.data
とか代数的データ型とか言われて(聞き覚えではなく)親しみはありますか?[]
といいます:
というのは、要素 x :: a
と リスト xs :: [a]
が与えられたときに、その組として作られるリストを x:xs :: [a]
と表すことにせよ、という記号です。a
で残りのリストが [a]
という理解で合っているでしょうか……?x:xs
があった時、`xs` もリストなので、もし :
以外に []
がなかったら、どうやってリストが終えられるのかわからないですよね。:
はリストの終わりを示すものの一種ということでしょうか?x
です。これの型=値の種類が a
なんですね。残りのリストは xs
、これの型=値の種類が [a]
です。[]
がなかったら、というはなしなのでわかりにくかったんでしょうね。x:xs
で先頭とその他を合わせたリストが書けるというもので :
はその記法のための記号という感じなのですが合っているでしょうか? @gksato sana
の要素からなるリストとは、[]
か、x :: a
と 型 a
の要素からなるリスト xs
の組 x:xs
かa
の要素からなるリスト全てからなる型を [a]
と書くことにする。a
と [a]
から成るタプルという[3,4,5,6] :: [Int]
みたいなのは 3:4:5:6:[] :: [Int]
の省略記法なんですね。3:[]
というように書くと [3]
と書いたのと同じというのは自分が読んだ書籍で紹介されていました.3:[]
と書いたのと同じ、というのが正しいわけです。[]
が存在するんですね。`[]` は0要素タプル、つまり ()
みたいなものです。(と言っても、構造が同じというだけで、`:` と (,)
、`[]` と ()
は厳密に区別されているので、そこは誤解しないでくださいね!)(a_1, ... ,a_n)
のこと、とされているので、誤りであるわけです。:
がなかったらリストの有限列が表現できないというお話が呑み込めました![]
がなかったら、のあやまりですか?[]
がなかったらというお話のことです.