課題1

並行プログラミング言語 HACL を使った簡単なプログラミング実験


HACL とは?

HACLは、 もともと線型論理 とよばれる論理の一種に基づいて考案された並列言語である。 HACLでは、並行プロセスが非同期通信を行いながら計算を進めていく。 現在小林研究室では、HACL用いて並列オブジェクト指向言語のための型推論、 プログラム解析、実装技術の研究を行っている。

課題

本課題では、HACLに関する文献を読み、 HACLがどんな言語であるか理解してもらった上で、 コンパイラまたはインタープリタを利用して プログラミングの演習を行ってもらう。

特に「高階プロセス」を用いたプログラミングを行ってもらう。 ML等の関数型言語における高階関数のように、 HACLでは、プロセスを引数にとるプロセス、すなわち高階プロセスを定義できる。 例えば、プロセスのリストを受け取って、それらをリングやメッシュ状につなぐプロセス を定義することもできる。
また、グラフィカルなプロセスのプログラミングも行う。 点プロセスをまず定義して、 それを用いて、長方形のような簡単なグラフィカルプロセスを用意し、 C のプログラムとリンクさせて簡単なグラフィックプログラムを作成する。


課題のホームページ

shimizu@is.s.u-tokyo.ac.jp