haskell-pipes

    2

    1答えて

    私はパイプを使用して、いくつかのHaskellのコードを持っている: module Main(main) where import Pipes a :: Producer Int IO() a = each [1..10] b :: Pipe Int Int IO() b = do x <- await yield (x*2) b c :: Cons

    2

    1答えて

    Pipes tutorialの読み込みが終了しました。ディレクトリ内のすべてのファイルを再帰的に一覧表示する関数を作成したかったのです。私は、次のコードで試してみました: enumFiles :: FilePath -> Producer' FilePath (PS.SafeT IO)() enumFiles path = PS.bracket (openDirStream path)

    0

    1答えて

    双方向のProxyインスタンスが理想的な問題をモデル化するためにパイプを使用しようとしています。 api logic | ^ | | v | A A' layer 1 B B' | ^ | | v | layer 2 はとても基本的に、私はlayer 1を持って双方向の変圧器である:基本的に、私は以下のアーキテク

    4

    3答えて

    大きな(<bloblength><blob>)*エンコードされたバイナリファイルのデシリアライザを作成しているとき、私は様々なHaskellのプロダクトトランスフォームコンシューマライブラリに取り残されました。 Data.Conduit:これまでのところ、私は4つのストリーミングライブラリの承知しているconduitと同様に Data.Binary.Get(Haskell Cast #6がうまくc

    4

    2答えて

    最終的にファイル全体をメモリにロードせずに、一度に1行ずつファイルを取得する簡単な方法があるのだろうかと思いました。私はattoparsecパーサで回線を折りたたみたいと思います。私はhGetLineとData.Text.Lazy.IOを使ってみました。それは私の記憶を吹き飛ばします。私は後で読むと、最終的にファイル全体が読み込まれます。 s <- Pipes.sum $ folds (

    6

    1答えて

    デフォルトでは、パイプはプルベースです。これは、オペレータ>->が+>>によって実装されているためです。これは、彼のプルカテゴリの点数がbindです。私が理解していることは、producer >-> consumerのようなコードがあれば、消費者の身体が最初に呼び出され、データを待ってからプロデューサが呼び出されるということです。 私はあなたがプッシュベースのパイプにプルベースのパイプをオンにする

    5

    1答えて

    私はpipe-attoparsecパーサーとストレージをさらに最適化しようとしていますが、 GHC 8.0.2(stack ghc -- -O2 -rtsopts -threaded -Wall account-parser.hs) でコンパイル 考えると、アカウント-parser.hs {-# LANGUAGE RankNTypes #-} {-# LANGUAGE OverloadedStr

    1

    1答えて

    チュートリアルhttps://hackage.haskell.org/package/pipes-attoparsec-0.1.0.1/docs/Control-Proxy-Attoparsec-Tutorial.htmlに従うことで、パイプをattoparsecと一緒に使用する方法を学習しようとしています。しかし、私はControl.Proxy.Trans.Eitherをインポートすることができ

    2

    1答えて

    私はpipes-csvライブラリを使ってcsvファイルを読んでいます。私は最初の行を読んで後で残りを読んでみたい。残念ながら、Pipes.Prelude.head関数が返った後。パイプは何とか閉じられています。最初にcsvの頭を読んで後で残りの部分を読む方法がありますか?我々は最初のヘッダを読んでいない場合は import qualified Data.Vector as V import Pi

    1

    1答えて

    タイプPipe a b m r -> Pipe (a, c) (b, c) m rの関数が必要です。 私はどれくらいプレイしてもfor、~>または>~です。タイプを適切に一致させることはできません。 私を助けることができますか?