@madai has joined the channel
func f [1, 2, 3] [False, True] = [[f 1 False, f 1 True], [f 2 False, f 2 True], [f 3 False, f 3 True]]
みたいな関数 (`f <$> a <*> b` の平らにしないバージョン) を簡単に書く方法ってあります? 今は fmap の繰り返しで書いてますfunc f a b = [ [ f as bs | as <- a ] | bs <- b ]
func f a b = [ [ f as bs | bs <- b ] | as <- a ]
でしたfunc f a = map (\y -> map (\x -> f x y) a)
とかまでは行けましたがそれから先はうーん。... 省略 ... library hs-source-dirs: path/to/submodule ... 省略 ...
extra-deps
にそのcabalファイルが入ったパスを書けば良いのではないかと。packages:
に追加すればいいんじゃないかなpackages: - . - path/to/package
package本体は自動でとってくるようにしたい
packages:
に追加する方法を考えたんですが、その方法だと指定したディレクトリーの中にcabalファイルがないので結局ダメなんじゃないかと思いまして…:thinking_face:traverse f [1,2,3] <$> [False, True]
はどうですか?cabal ファイルか package.yaml
extra-deps: - quipper-0.8.2
Data.Extensible.Util
の存在fromHashMapOf
と strings
はどのライブラリから?Data.Extensible.Util
は master
にマージされていないモジュールなので fromHashMapOf
ブランチを参照すると定義されています。(たぶん、そのうちマージされると思います)大文字のフィールドに(`itemAssoc`を使わず)ラベルでアクセスする方法
func f as bs = fmap (flip (\b -> fmap (\f -> f b)) (fmap f as)) bs
です(Functor f, Functor g) => (a -> b -> c) -> f a -> g b -> g (f c)
はこう書くしかないっぽい?func f as bs = fmap (\b -> fmap ($ b) (fmap f as)) bs
の方がいいですねextra-deps: - ../hakyll
{-# LANGUAGE BangPatterns #-} module Mod where import Debug.Trace hoge :: () !hoge = trace "hoge" ()