人気ブログランキングへ

2009年02月21日

Yet Another Haskell Tutorial (和訳): 2 スタートガイド

第2章

スタートガイド


Haskellには、よく知られたシステムが3つある。それは、Hugs、GHC、NHCだ。Hugsはインタープリタのみである。つまり、Hugsを使って単独のプログラムファイルにコンパイルすることはできないが、対話的な環境でプログラムを試し、デバッグすることができる。GHCは (Hugsのような) インタープリタと、単独のプログラムを生成するコンパイラの両方の機能を持つ。NHCはコンパイラのみである。どれを使用するかは、完全にユーザー次第である。以下のとおり相違点を列挙してみたが、もちろんこれは網羅的な物ではない。

Hugs - ファイルのロードはかなり速い。ファイルの実行は遅い。Haskell 98 (規格) のほとんどすべてと、拡張機能の大部分を実装。モジュールをブラウズする組み込み機能をサポート。単独のプログラムファイルを生成できない。Cで書かれている。ほとんどすべてのプラットフォームで動作する。グラフィックライブラリが組み込まれている。

GHC - 対話的環境はHugsよりもロードが遅いが、関数を定義できる (Hugsでは、関数定義はファイル内に記述しなければならない)。Haskel 98と拡張機能のすべてを実装。他言語とのインターフェイスの実装が優れている。ある意味、「デファクトスタンダード」。

NHC - 比較的利用者は少なく、対話的な環境も用意されていないが、生成される実行ファイルはGHCより小さく、たいていは高速である。Haskel 98といくつかの拡張機能をサポート。

私は個人的には、このすべてをインストールし、それぞれ別の目的で利用している。私はGHCを用いてコンパイルし (もっとも使い慣れているのが主な理由)、Hugsの対話的環境を使うことが多い (Hugsのほうが速いので)。これが私の推奨である。しかし、ダウンロードしてインストールするものがかなり多くなる。もし1つのシステムだけとるならGHCを選ぶだろう。というのも、GHCはコンパイラと対話的環境の両方を持つからだ。
以下それぞれについて、このチュートリアルの執筆時点でのダウンロードとインストールの方法を説明する。これは変更されているかもしれないので、最新の情報はhttp://haskell.org (HaskellのWebサイト)を参照のこと。

前ページ「1 はじめに
次ページ「2.1 Hugs


5 Basic Input/Output
6 Modules
7 Advanced Features
8 Advanced Types
9 Monads
10 Advanced Techniques
A Brief Complexity Theory
B Recursion and Induction
C Solutions To Exercises


これは、Haskell (ハスケル) のチュートリアル "Yet Another Haskell Tutorial" を日本語に翻訳したものです。
オリジナルのドキュメントは、
http://www.cs.utah.edu/~hal/docs/daume02yaht.pdf
などから入手できます。
日本語訳に関するご指摘は、コメントとしてお寄せください。

posted by K/I at 17:54 | 東京 ☀ | Comment(0) | TrackBack(0) | Yet Another Haskell Tutorial | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。