[過去ログ] 関数型プログラミング言語Haskell Part31©2ch.net (971レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: 転載ダメ©2ch.net [ageteoff] 2017/09/27(水)02:33 ID:2XAqPuH2(1/3) AAS
関数型プログラミング言語 Haskell について語るスレです。

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

前スレ
関数型プログラミング言語Haskell Part30
2chスレ:tech
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 に落としてやってみたら依存の解決はできた。
(その後にリンクエラーになってしまったがこれは別の問題だと思う…https://github.com/commercialhaskell/stack/issues/3487 と同じっぽい)
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日
https://qiita.com/takenobu-hs/items/a2eeb327088bb1d2fe77
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.416s*