Haskellの導入

  • さて、こちらにあるようなソースファイルを読み込ませて実行させてみよう
    • ファイルは2種類の書き方があって、拡張子を変える
      • コメントの書き方などの違い
      • "sayHello.hs"というファイル
-- Say hello
module Main where
import System

main = do av <- getArgs
          putStrLn $ "Hi, " ++ (av !! 0) ++"!"
      • "sayHell.lhs"というファイル
#! usr/bin/env runhugs

\begin{code}

module Main where
import System

main = do av <- getArgs
          putStrLn $ "Hi, " ++ (av !! 0) ++ "!"
           
\end{code}
    • WinGHCiのツールバー"File"→"Load"で以下のようなファイル"Qsort.hs"ファイルを指定して読み込ませる
module Qsort where

qsort _ [] = []
qsort f (x:xs) =  before ++ (x :  after)
 where before = qsort f $ filter (not . (f x)) xs 
       after  = qsort f $ filter (f x) xs
    • コマンドプロンプトを立ち上げて、ソースファイル置き場へ移動して、次のように実行することもできる
C:\Users\hoge\HaskellWorks>runghc sayHello.hs taro
Hi, taro!
C:\Users\hoge\HaskellWorks>runghc sayHello.lhs taro
Hi, taro!
    • その上で次のようなプロンプトに
*Qsort>
    • 次のようなコマンドを入れると実行される
qsort (<) [8,3,5,2,7,1,9]