[index]

Concurrent Clean : Hello World!

あらゆる意味におけるコメントを強く強く希望します。


Concurrent Clean : Tutorial introduction にもありますが、まずは Hello World プログラムから。

あらかじめ、これから何を作ろうとしているのか、どういう名前を付けるのかを考えておかねばなりません。泥縄でやってもエエですが、要らん時間を浪費しないためにも、ここで決めておきます。

プログラム
"Hello World!" を表示する。
モジュール名
"HelloWorld"
ファイル名
"HelloWorld.icl" = モジュール名 + 拡張子 'icl'
カレント・ディレクトリ
ソース・ファイルを保存する場所を、カレント・ディレクトリと呼ぶことにします。

Clean の環境は、デフォルトのまま、と仮定します。

  1. IDE の起動

    IDE (Clean 1.3.2 (PPC)) を起動します。

    Clean icon
  2. ファイル名入力

    ファイル・メニューから "New..." を選択します。 保存するファイル名を尋ねてくるので、ファイル名 (モジュール名 + 拡張子 = (HelloWorld.icl)) を入力します。 拡張子は必要です。拡張子がないと IDE はソースファイルだと認識しないので、コンパイルできません。

  3. ソース入力

    ウィンドウが開いたら、ソースを入力します。

    module HelloWorld
    import StdEnv
    
    Start :: String 
    Start = "Hello World!"
    こう書いても動きます。
    module HelloWorld
    Start = "Hello World!"

    さすがに、モジュール名を省略することはできません。

  4. コンパイル -> リンク -> 実行

    Commands メニューから "Run 'HelloWorld'" を選択します (またはキーボードから "cmd + r")。 コンパイル、リンクして、アプリケーションを生成したあとに、実行されます。 コンソール代わりのドでかいウィンドウが開いて、そこに "Hello World!" と表示してあるはずです。

    menu: Commands

    このとき、カレント・ディレクトリにアプリケーションと Clean System Files というディレクトリが生成されます。中には、 abc ファイルとオブジェクト・ファイルが生成されています。アプリケーションは 49,000 バイトほどのサイズでした。

    Clean System Files
  5. 何も出ない?

    コンソール代わりのドでかいウィンドウが開かない場合は、 Options メニューから "Applications..." を選択し、 "Show Constructors" オプションをチェックします。

    menu: Options  options dialog

    ここをいろいろ変更しても、実行ファイルに反映されないぞ、バグだっ! という場合は、カレント・ディレクトリにある Clean System Files ディレクトリを削除してみてください。

  6. ソース・ファイルのアイコン

    ソースファイルの Creator が 3PRM, Type が TEXT になっていれば、下のようなアイコンで表示されているはずで、その場合はダブル・クリックで IDE が立ち上がります。 そうでなければ or 慣れ親しんだエディタでゴリゴリ書いた場合は、 IDE にドロップ・インしてやれば立ち上がります。むろん Type が TEXT でなければなりません。

    icon for Clean source.
  7. HelloWorld.icl
  8. test.icl
  9. IO Examples 0.8/Small IO Examples/ には、ウィンドウを開いて、そこに Hello World と出すサンプルも含まれています。やってみるべし。
  10. けっこうたくさんのデモが付属するので、コンパイルして動かすだけでも楽しい。 Mandelbrot みたいに、分割コンパイルするやつは、 Start 関数を持ったファイルを開いて Run させれば OK.
  11. プロジェクト機能とかも持っているので、マニュアルをあさってみよう!

Created: Dec 12, 1999.
[index]