HaskellのI/O テキストとUnicodeの操作 Data.Textモジュール、pack関数、unpack関数 Haskellの言語拡張:OverloadedStrings コンパイル、LANGUAGEプラグマ
入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)のUNIT4(HaskellのI/O)、LESSON23(テキストとUnicodeの操作)、23.2(Data.Textを使用する)、Haskellの言語拡張:OverloadedStrings、クイックチェック 23-2の解答を求めてみる。
コンパイル時に拡張名を指定する方法。
コード
main :: IO ()
main = do
print "Hello, World!"
入出力結果(Terminal, Zsh)
% ghc templates.hs -XTemplateHaskell
Loaded package environment from /Users/…/.ghc/x86_64-darwin-8.10.7/environments/default
[1 of 1] Compiling Main ( templates.hs, templates.o, templates.dyn_o )
Linking templates ...
% ./templates
"Hello, World!"
%
LANGUAGEプラグマの利用。
コード
{-# LANGUAGE TemplateHaskell #-}
main :: IO ()
main = do
print "Hello, World!"
入出力結果(Terminal, Zsh)
% runghc templates1.hs
"Hello, World!"
%