Concurrent Clean : CleanJ : レコード型 : とりあえず動いた。
レコード型の実装の確認に使っていたテストがパスして、実装が一段落。
次は、型クラスが今のレコード型の実装で正しく動作するかどうかの確認と、型クラス関連のテストをたくさん。
その辺が終わり次第、正格リストの実装の検討に入ります。
-
-
- -
-
実際に動作確認したテストはこちら。
module Record import StdEnv ::LazyRecord = { i :: Int , r :: Real , c :: Char , b :: Bool , s :: String } ::StrictRecord = { i :: !Int , r :: !Real , c :: !Char , b :: !Bool , s :: !String } l = {LazyRecord | i = inc 1 , r = inc 1.1 , c = inc 'a' , b = not True , s = "ab" +++ "c" } s = {StrictRecord | i = inc 1 , r = inc 1.1 , c = inc 'a' , b = not True , s = "ab" +++ "c" } larr :: {LazyRecord} larr = {l,l,l} ularr :: {#LazyRecord} ularr = {l,l,l} sarr :: {StrictRecord} sarr = {s,s,s} usarr :: {#StrictRecord} usarr = {s,s,s} Start = (l.LazyRecord.i,s.StrictRecord.i,l,s,larr,ularr,sarr,usarr)