CTMCP

ガウディ本、読了

コンピュータプログラミングの概念・技法・モデル (IT Architects' Archiveクラシックモダン・コンピューティング)作者: セイフ・ハリディ,ピーター・ヴァン・ロイ,Peter Van-Roy,Seif Haridi,羽永洋出版社/メーカー: 翔泳社発売日: 2007/11/08メディア: 大…

Mozartのデータフロー変数すげぇ

コンピュータプログラミングの概念・技法・モデル (IT Architects' Archiveクラシックモダン・コンピューティング)作者: セイフ・ハリディ,ピーター・ヴァン・ロイ,Peter Van-Roy,Seif Haridi,羽永洋出版社/メーカー: 翔泳社発売日: 2007/11/08メディア: 大…

カレンダーの計算がよく分からない

ガウディ本(asin:4798113468)より。 次に月初めの1より前の格子の空白部分の個数を計算する。 SD=(((7-(T.mDay mod 7))+T.wDay) mod 7) このときTは今日の日付。T.mDayは日(1から31)、T.wDayは曜日(0から6で0が日曜)。 これでなんで計算できるかと、そもそも…

第5章 練習問題 2(b)-

2リフト制御システム (b) 制御装置を以下のように改造し、一度に移動するようにすればいい。 fun {Controller Init} Tid = {Timer} Cid = {NewPortObject Init fun {$ state(Motor F Lid) Msg} case Motor of running then case Msg of stoptimer then {Send…

第5章 練習問題 1-2(a)

1つのスレッドを共有する複数のポートオブジェクト インタリーブはロックステップで行なわれる。 まず、初期状態でポート内に2つのメッセージが格納される。 ping(0)|pong(1000)|_そして、Msgループで最初のメッセージ(ping(0))が処理される。ただし、この処…

第4章 練習問題 3-19

3 並列フィボナッチ {Fib 30}同士を比較した。単位はミリ秒。並列のほうが遅い。まあ、シングルプロセッサですし。 local S = {Property.get 'time.total'} in {PFib 30 _} {Show '---'} {Show {Property.get 'time.total'}-S} end 直列 - 410 並列 - 4980 …

第4章 練習問題 1-2

1 スレッドの意味 (a) local B in thread B=true % (1) end thread B=false % (2) end if B then % (3) if文 {Browse yes} %(4) Browse end endのように番号を付ける。3と4は順序を保持する必要がことを考慮にいれると、次のようになる。 1-2-3-4 1-3-2-4 3-…

第3章 練習問題 6-10

6 状態不変表明 P(R,Ys) = (Reverse(Xs) = R + Reverse(Ys))ただし、ここで+はAppendを表す。証明は必要かどうかわからないから、省略で。 7 別のappend関数 終了しない。Msの初期値がnilでない場合、常に{Append Ls [Xs]}が呼ばれる。そのため終了しない。 …

第3章 練習問題 1-5

1 実数の絶対値 実数を浮動小数のことと解釈する。すると浮動小数と0を比較することはできない。 fun {Abs X} if X < 0.0 then ~X else X end end 2 立方根 ImproveとGoodを変更した。 fun {CubicRoot X} fun {Iter Guess X} fun {Improve Guess X} (X/(Gues…

第二章 練習問題

核言語が初登場。書き直せという問題が多い。

第一章 練習問題

第一章の問題。Mozart/OZの紹介が多い。

練習問題を解いてみる

コンピュータプログラミングの概念・技法・モデル(asin:4798113468)を放置気味なので、ちゃんと練習問題を解いてみようと思う。 ターミナルのEmacsでやりたいので、ちょっとカスタマイズした。 OZEMACSをMacPortsのemacsにした。デフォルトだとCarbonEmacsが…