[過去ログ] 関数型プログラミング言語Haskell Part31©2ch.net (971レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: 転載ダメ©2ch.net [ageteoff] 2017/09/27(水)02:33 ID:2XAqPuH2(1/3) AAS
関数型プログラミング言語 Haskell について語るスレです。
haskell.org (公式サイト)
外部リンク:www.haskell.org
前スレ
関数型プログラミング言語Haskell Part30
2chスレ:tech
942: 2019/01/06(日)09:16 ID:7U4qFACZ(1) AAS
>>941
なるほどなあ勉強不足でした。
聞いてみてよかったです。
943(2): 2019/01/06(日)20:47 ID:8Nv8H8lo(1) AAS
「where」の日本語読みに関してだけど
「左記の名前(モジュール名/クラス名/インスタンス名/関数名)が
示す物の中では以下の定義が行われています。」
て言う読み方でいいの?
英語の関係福祉 where の「〜する所の」と同じ意味でいいのかどうか。
944(1): 2019/01/06(日)21:59 ID:RK31I1jj(1) AAS
右な左。
945(1): 2019/01/07(月)06:30 ID:Tzw/TAIJ(1) AAS
>>943
haskell の where は数学の教科書なんかに同じ使い方で普通に出てくる。
というか、haskell が数学から借りてきた。
難しく考えないで、自然に
f = g x where x = ...
f は g x と定義される。
「なお、ここで x は ... である」
みたいに読めばいい。
946: 2019/01/07(月)14:03 AAS
ん? x の定義は where?となるから先回りして where と書いてる
947(1): 2019/01/08(火)00:20 ID:t9mDJmjK(1) AAS
数学の教科書・・?
948: 2019/01/08(火)11:30 ID:GKZx39y6(1) AAS
SQLか
949: 2019/01/08(火)11:56 ID:ZgpKo6ms(1) AAS
>>947
ごめん、何が ? なのか分からないんだが。
ぼかさず具体的に質問してくれると助かる。
教科書とか参考書とか読み物とかでよく見るよ。
例えば、Haskell に関係ありそうなのだと、
Steve Awodey 著 Category Theory Second Edition の 15~16 ページ目とか。
-----[ 引用 ]-----
The arrow category C-> of a category C has the arrows of C as objects,
and an arrow g from f : A -> B to f' : A' -> B' in C-> is a "commutative square"
(ここに図があり、g1 と g2 が出てくる)
省2
950(1): 2019/01/09(水)03:54 ID:bacokaDQ(1) AAS
フォルダの中身を列挙再帰するのって1回で1階層しか見れなくてIOモナドぶっかけられるから
1関数の中のwhereの中で回すしかない感じですかね?
951: 2019/01/09(水)06:47 ID:SOqsE/HW(1) AAS
数学の教科書「関数の中・・?・・スコープ・・?」
952: 2019/01/09(水)16:57 AAS
数学は無限に高速なCPU、無限に使えるメモリを前提として処理を議論する
953: 2019/01/09(水)19:12 ID:Me/cgKlM(1) AAS
なんだ高卒か
954: 2019/01/09(水)19:19 ID:vBKfOHsm(1) AAS
時間を考慮に入れないなら高速である必要すらない
955: 943 2019/01/14(月)00:22 ID:O/Nk4r6k(1) AAS
>>945 >>944
ありがとうございます。
コード読む時に使わせて頂きます・
956: 2019/01/14(月)01:01 ID:oPHKHfrN(1) AAS
944は心理か何かか?俺には理解出来んw
957(1): 2019/01/14(月)10:58 ID:hZswZX0S(1/2) AAS
>>950
質問の意味がよく分からないが、
where じゃなくても、自分自身を再帰的に呼べばいいのでは?
directories :: FilePath -> [FilePath]
という型の関数を定義して、その中で、
1. 引数で渡されたパス内のコンテンツを列挙
2. そのうち、ディレクトリであるものを抽出
3. それらに directories 関数を適用
4. 1 と 3 の結果を結合して return
これじゃダメ?
958: 2019/01/14(月)14:48 ID:hZswZX0S(2/2) AAS
>>957
シグネチャを間違えた
directiries :: FilePath -> IO [FilePath]
959: 2019/01/14(月)16:11 ID:tN6VIVTj(1) AAS
-- ほげ :: FilePath -> IO (Bool, [FilePath])
(d, paths) <- ほげ path
if d then foldr (>>) (return ()) $ map 再帰 paths
else ふが
960(3): 2019/01/15(火)19:39 ID:bDKJ3jpf(1) AAS
ディープラーニング用ライブラリ grenade を使ってみようと思いましたが、
依存関係のせいで stack でパッケージをインストールできず困っています。
grenade は stackage には無いので stack プロジェクトの stack.yaml ファイルに
必要なパッケージを書き加えました。
extra-deps:
- grenade-0.1.0
- containers-0.5.11.0
- exceptions-0.8.3
- hmatrix-0.18.2.0
- singletons-2.2
省13
961(1): 2019/01/15(火)19:48 ID:URfldHzA(1) AAS
ディープラーニングにHaskellを使おうとしていることが問題
962(1): 2019/01/15(火)23:33 ID:fNWkI4iJ(1) AAS
>>960
>>=2.2 && <2.14
963(1): 2019/01/16(水)00:57 ID:Rf1WUy5G(1) AAS
>>960
stack.yaml で指定している resolver のバージョンはいくつ?
自分は stack が 1.9.3 で resolver: lts-12.26 で試してみたが、
template-haskell-2.13.0.0 from stack configuration does not match...
というエラーが出た。 lts-12.26 が 2.13.0.0 を要求しているためのようだ。
それで resolver を、2.11.1.0 を要求する lts-9.21 に落としてやってみたら依存の解決はできた。
(その後にリンクエラーになってしまったがこれは別の問題だと思う…外部リンク:github.com と同じっぽい)
964: 2019/01/16(水)17:48 ID:f7x8T+kZ(1) AAS
>>962
ごめんなさい、何を指摘されているのか分かりませんでした。
>>963
私は lts-13.3 でやっていました。
指摘通り 9.21 でやってみたところ、問題なくビルドできました。
grenade の githab にある example も動きました。
( 言い忘れていましたが OS は archlimux です)
また、指摘から hackage ではなく githab から grenade のプロジェクトをクローンし、
最新の lts-13.3 でビルドしてみる事を思いつきました。
試したら、こちらも問題なくできました。
省4
965: 2019/01/17(木)21:37 ID:R/7pNsew(1) AAS
cabal new-ナントカ
を日本語で解説してほしい
966: 2019/01/19(土)10:09 ID:XQ+5XzTr(1) AAS
>>961
> ディープラーニングにHaskellを使おうとしていることが問題
>>960 です。
いや、実用を考えているわけではないです。
haskell 大好きなので、以前 python でやったことを haskell でもできないかと。
ただの遊びです。
ただ、実際 haskell で CartPole が上手くいった画面を見ると感動しました。
物理演算も haskell ライブラリなので python の gym とは違いますが。
(gym-http-api パッケージがなぜか動かないので)
使った主なパッケージは、
省10
967(1): sage 2019/01/19(土)21:02 ID:K21HdJ2L(1) AAS
Haskellの「->」という記号の読み方はありますか?
他のプログラミング言語だと「->」には「アロー演算子」という名前が付けられていますが、Haskellの場合は何という名前なのでしょうか?
968: 2019/01/19(土)22:34 ID:nurYb0Ef(1) AAS
>>967
型における(->)の英語での読み方は>>839 によると、toもしくはarrow
969: 2019/01/20(日)14:28 ID:J4e1TPCS(1) AAS
data T = D { f :: Int -> Int }
という型があったら、関数 f の実際の型は T -> Int -> Int だよね。
で、この関数 f の中で、引数として渡されたT 型の値にアクセスする方法って無いかな?
g :: T -> Int -> Int って型の関数を作っても、
D { f = g } なんてできないよね。
h :: Int -> Int なら D { f = h } はできる。
970: 2019/01/20(日)19:41 ID:xPUxeMcd(1) AAS
data D = D { f :: Int -> Int, x :: Int }
g d y = x d + y
d = D { f = g d, x = 1 }
f d 1 == 2
とか?
971: 2019/01/21(月)21:42 ID:xU0cTMEl(1) AAS
GHC(Haskell)の上流リポジトリ等がGitLabに移行しました 2019年01月20日
外部リンク:qiita.com
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.171s*