

ghciをファイルにまとめて、一括処理することはできますか？例えば、

test.hs

[code]

       1+2
       3*5
    
[/code]

というファイルを入力して、ghciから以下のような出力を得たいです。

[code]

        Prelude> 1+2
        3
        Prelude> 3*5
        15
        Prelude> 
    
[/code]

試しに、以下のコマンドや、ghciのインタラクティブモードで :l test.hsなどを試しましたが、すべてParse error: naked
expression at top levelというエラーがでて、上記のような結果は得られませんでした。

[code]

        ghci test.hs
        runghc test.hs
    
[/code]


CC BY-SA 3.0
2016-03-04T15:30:07.223
22813
2016-04-14T15:38:17.553
14525
question
haskell
Haskell ghciのコマンドをファイルにまとめてバッチ処理


結果だけでいいなら `:s` (`:script`)というのがありますが。

[code]

    Prelude> :s test.hs
    3
    15
    Prelude>
    
[/code]


CC BY-SA 3.0
2016-03-04T23:45:42.923
22821
2016-03-04T23:45:42.923
3605
22813
answer


コマンドを常に実行させたいならば,カレントディレクトリに置いた`.ghci`ファイルにコマンドを書き,ghciを引数無しで実行すれば自動的に読み込まれます.  
ファイルを分けたいならば,`test.ghci`などとファイルを作って`ghci -ghci-script test.ghci`で実行すると良いです.  
こういうファイルはghci scriptと呼ばれるもので,Haskellソースではありませんので当然loadするとコンパイルエラーが出ます.


CC BY-SA 3.0
2016-04-14T15:38:17.553
24026
2016-04-14T15:38:17.553
12216
22813
answer