ghc

    1

    1答えて

    親愛なるハスケル/ GHCの専門家単一のものを可能にしながら、報告の重複の場合、 一方のみを提供し、コンテキストに従って、実際に有効である一方、GHCが重複インスタンスを報告し、なぜ私は本当に理解していません。たとえば、のは、次のコードを考えてみましょう: {-# LANGUAGE FlexibleInstances #-} class C a where foo :: a -> S

    8

    1答えて

    これは私の以前の質問hereのフォローアップです。私はReid Barton's answerあたりの作業何かを得ることができましたが、私は__pkg_ccall_GCを参照してくださいコアに気づく: case {__pkg_ccall_GC hashabler-2.0.0 sipRound_s_x2 Word# -> Word#

    10

    2答えて

    以下の2つのHaskell関数は、インデックス変数が暗黙的であるか明示的であるかによって異なるように見えますが、パフォーマンスの違いは2桁の違いがあります。 この機能は、MFIB 30を計算するために約0.03秒かかる: let mfib = (map fib [0..] !!) where fib 0 = 0 fib 1 = 1 fib x = mfib

    7

    1答えて

    networkライブラリで行われた設計上の決定をよりよく理解しようとしています。評判の良い資料には、a github issueとmailing list responseには、networkにノンブロッキングソケットが使用されています。デフォルトのブロック動作を使用する代わりに、ソケットを読み取る準備ができるまでブロックするにはselectを使用します。なぜこれは良いですか?どちらの方法でも、ブ

    1

    2答えて

    スラブアロケータなど、GHCのサンク構造にメモリを割り当てるために使用されるものはありますか?あるいは、Cでmallocのようなナイーブなものを使用していますか? 遅延関数プログラミング言語では、特に複数のスレッドが実行されている場合に、その数が短時間で割り当てられると思います。または、割り当てが頻繁に行われないのですか? the GHC repositoryのコードを探してみましたが、何も見つか

    2

    2答えて

    私は作成したデータタイプ(基本的には "ストリーム"を扱う)のために "追加"関数を書いています。しかし、このデータ型には、無限、ヌル、固定長、可変長、既に追加されたさまざまなタイプの "ストリーム"を扱う12種類のコンストラクタがあります。 入力タイプと出力タイプの間に論理があります信じられないほど複雑ではありません。 *(12をして、それらの試合の内側に一致するか、144例に対して だけのパタ

    14

    1答えて

    警告を無効にしたいのは、コードブロックだけです。 私はGoogleを検索しましたが、ファイルスコープまたはグローバルスコープディセーブルの方法しか見つかりませんでした。 徒党ファイルまたはプラグマ {-# OPTIONS_GHC#-} を使用して、私は特定の機能のために警告を無効にすることはできますか?

    9

    1答えて

    はHaskellでは、我々はそれにそのインデックス付き要素のリストから取得するには、この便利なイディオムを使用することができます。 indexify :: (Num i) => [a] -> [(i,a)] indexify = zip [0..] しかし、GHC.List as of base-4.9.1.0でzipの実装によると、これは完全にリスト融合、すなわちを実行しません実際にはリス

    3

    1答えて

    機能全体に手動でSCCを取り付けることはできますか?たとえば、次のようにSCCをfに追加するにはどうすればよいですか? f x = g x where g x = ... 私は f x = {-# SCC f #-} g x y where g = ... y = ... を記述する場合次にgとyは、SCCには含まれません。私は f x = {-# SCC

    0

    1答えて

    インストールするためにghcjs私はUbuntuにアップグレードしました。16.04 要件に問題はありません。 alexおよびhappyが自動的にインストールされます。次に: $ git clone https://github.com/ghcjs/ghcjs.git $ cabal install ./ghcjs ただし、端末からghcjsを呼び出すことはできません。おそらくそれはPATH