タグ

ブックマーク / www.kotha.net (6)

  • 4.5. 実行モード

    GHCの振る舞いはまずモード指定フラグによって制御される。これらのフラグのうちただ一つだけを使うことができるが、コマンド行において最初のオプションである必要はない。 モードフラグがない場合、コマンド行にソースファイルがあるならGHCはmakeモード(4.5.1. ghc --makeを使う)に入り、そうでないならコマンド行中で指定されたオブジェクトをリンクして実行ファイルを作る。 以下のモードフラグが利用できる。

    kirakking
    kirakking 2014/06/20
    ghc -e expr
  • 7.3. 構文的拡張

    -XMagicHashという言語拡張は、識別子に対する後置修飾子として「#」を認めるものである。つまり、「x#」が変数として有効に、「T#」が型構築子やデータ構築子として有効になる。 この井桁記号はまったく意味論に影響を与えない。非ボックス化された値や型に「#」で終わる名前を付ける(たとえばInt#)傾向があるが、必須ではない。これらはただの通常の変数に過ぎないのである。また、拡張-XMagicHashが何かをスコープに導入することもない。例えば、Int#をスコープに導入するためにはGHC.Prim(7.2. 非ボックス化型とプリミティブ演算を見よ)をインポートしなければならない。その後で、スコープに導入されたInt#に言及することを可能にするのが-XMagicHashオプションである。 また、-XMagicHashは新しい形式のリテラルを何種類か有効にする。(7.2.1. 非ボックス化型

    kirakking
    kirakking 2013/11/29
    型クラスで抽象的なパターンマッチを使う方法がViewpattern(XViewPatterns)。引数でガード&束縛ができる。function [args] (gurad -> pat) = body <- ただしguradは部分適用の形になっている。(例) f :: Int -> Maybe Int, g (f -> Just x) = x :: Int -> Int。
  • 7.3. 構文的拡張

    -XMagicHashという言語拡張は、識別子に対する後置修飾子として「#」を認めるものである。つまり、「x#」が変数として有効に、「T#」が型構築子やデータ構築子として有効になる。 この井桁記号はまったく意味論に影響を与えない。非ボックス化された値や型に「#」で終わる名前を付ける(たとえばInt#)傾向があるが、必須ではない。これらはただの通常の変数に過ぎないのである。また、拡張-XMagicHashが何かをスコープに導入することもない。例えば、Int#をスコープに導入するためにはGHC.Prim(7.2. 非ボックス化型とプリミティブ演算を見よ)をインポートしなければならない。その後で、スコープに導入されたInt#に言及することを可能にするのが-XMagicHashオプションである。このオプションが有効だと、x#y = 0の意味が変わることに注意。yという引数を一つ取る関数x#を定義す

    kirakking
    kirakking 2013/11/11
    Pattern guard:これさえあれば、長ったらしいifの入れ子なんかいらないのさ。あとは後で見る。
  • 7.17. アサーション

    kirakking
    kirakking 2013/11/06
    Control.Exeption.assert :: Bool -> a -> a
  • 4.5. 実行モード

    kirakking
    kirakking 2013/11/04
    ghc -e "expr" program、引数なしならghc -e module.function program。そして便利関数がinteract :: (String -> String) -> IO ()。
  • 栄光のグラスゴーHaskellコンパイルシステム利用の手引き バージョン7.8.2

    栄光のグラスゴーHaskellコンパイルシステム利用の手引き バージョン7.8.2 The GHC Team 目次 The Glasgow Haskell Compiler License 1. 参考訳 1. GHCの紹介 1.1. GHCを入手する 1.2. メタ情報: ウェブサイト、メーリングリストなど 1.3. GHCのバグを報告する 1.4. GHCのバージョン番号付け規則 1.5. Release notes for version 7.8.1 1.5.1. Highlights 1.5.2. Full details 1.5.2.1. Language 1.5.2.2. Compiler 1.5.2.3. GHCi 1.5.2.4. Template Haskell 1.5.2.5. Runtime system 1.5.2.6. Build system 1.5.3. Lib

    kirakking
    kirakking 2013/05/30
    卒研のときのGHCオプション設定で助かった
  • 1