Haskell
これまでの各記事は以下から。 基本的な使い方 GHCの使い方を調べてみた。(その1) - いものやま。 GHCiの使い方 ロードとインポート GHCの使い方を調べてみた。(その2) - いものやま。 GHCの使い方を調べてみた。(その3) - いものやま。 GHCの使い方を…
昨日はGHCでのビルドについて説明した。 今日はGHCで使えるオプションについて。 もちろん、全部は書けないので、基本的なものだけ。 オプションの種類と指定方法 まず、GHCのオプションは、次のように分類できる。 モード選択オプション その他のオプション…
昨日はGHCi環境のカスタマイズについて説明した。 今日は、GHCを使ったビルドについて。 GHCでのビルド 以下のHaskellのソースコードをビルドして、実行ファイルを作ることを考える。 -- Main.hs import System.Environment import Control.Monad import Fib…
昨日は、GHCiでの型などの宣言と、型や識別子、モジュールの調査について説明した。 GHCiの基本的な使い方はこれでオシマイ。 一応、GHCiにはデバッガーの機能もあるようなのだけど、正直、Haskellの遅延評価の仕組みと相性が悪くて、使い物になってないと思…
昨日はGHCiでの複数行の入力と、オフサイドルールについて説明した。 今日は、GHCiでの型などの宣言と、型や識別子、モジュールの調査について。 GHCiでの型などの宣言 GHCiでは、普通のHaskellのソースコードと同じように、型や型クラスを宣言したり、型ク…
昨日はGHCiでの式の評価と変数への束縛について説明した。 今日はそれに関連して、複数行の入力について。 あと、オフサイドルールについても、自分が理解したことを書いていく。 複数行の入力 関数の定義などで複数行の入力を行いたい場合、改行したときに…
昨日まではGHCiでのロードとインポートについて説明した。 今日はGHCiでの式の評価と変数への束縛について。 式の評価 GHCiで式(expression)を入力すると、その式が評価され、結果が表示される。 例えば、次のような感じ。 Prelude> 1 + 2 3 Prelude> "Hel…
昨日はGHCiでのインポートについて説明した。 ただ、ロードとインポートの違いが分かりにくいので、今日はその補足。 ロードとインポートの違い ロードとインポートの違いを一言で言い表すと、次のようになる: ロードファイルやパッケージからコードをメモ…
昨日はGHCiでのモジュールのロードについて説明した。 今日はGHCiでのモジュールのインポートについて説明する。 なお、Main.hsとFibo.hsについては、昨日の記事を参照。 モジュールのインポート パッケージに含まれるモジュールをGHCiの中で使いたい場合、H…
昨日はGHCのコマンドの基本的な使い方を説明した。 今日からは、対話環境であるGHCiの使い方を中心に説明していく。 まずは、モジュールのロードについて。 モジュールのロード とりあえず、次のような2つのHaskellのソースコードを用意してみる。 -- Main.h…
最近、Haskellを勉強中。 概念的なところは分かってきたと思うのだけど、まだ実際にプログラムを書いたりとかはほとんど出来ていなくて、使えるようになるのはまだまだ先な感じ。 とりあえず、実際にコードを書いていくことが出来るようにするために、ツール…