wvogel日記

自分用の技術備忘録が多めです.

複数file Compile

ソースコードが長くなってくると、やっぱり別々のファイルに書いてコンパイル出きないと困るー
というわけで。
makeコマンドを使う方法があったはずだけど、ちょっとやり方忘れたのでやってみた。
要はモジュールを作ったらいいんですよね

用意したテストモジュールはこれ

module SummingUp where

summingup :: (Integer -> Integer) -> [Integer] -> Integer
summingup f [x] = f x
summingup f (x:xs) =  (f x) + (summingup f xs)

これを、

ghc SummingUp.hs

で、.oファイルと.hiファイルを作成

で、mainファイルが必要

import SummingUp

main =  print $ summingup (^2) [1..5]

これを、

ghc main.hs -o main

でやったらいけるはず!!
と思ったら。
動いた!良かった良かった

main = print $ sum (map (^2) [1..5])

とやってることは同じですね。
むしろタイプ数増えちゃった


以上
本当に何てことはない記事でした。