มี syntax และ feature ไกล้เคียงกับ haskell มาก
แต่ compile เป็น bytecode และ run บน java virtual machine
code ข้างล่างเป็นตัวอย่างการแปลง array เป็น java ArrayList
outputListWith :: [a] -> (a -> JObject) -> JList;
public outputListWith !list f =
let
javaList :: JList;
javaList = jArrayList_new;
outputListWithHelper :: [a] -> (a -> JObject) -> JList ->
JList;
outputListWithHelper !list elementMappingFunction !javaList =
case list of
[] -> javaList;
x : xs ->
if (jList_add javaList (elementMappingFunction x)) then
outputListWithHelper xs elementMappingFunction
javaList
else
error "Adding an element to a Java list failed.";
;
in
outputListWithHelper list f javaList;
ส่วน Quark Framework ยังอ่านไม่เข้าใจ
ดูเหมือนจะเป็นชุดเครื่องมือที่มุ่งเรื่อง reuse business logic
โดย define code unit เล็กๆที่เรียกว่า Gem (เขียนโดย CAL)
จากนั้นก็สามารถนำ Gem พวกนี้มาต่อๆกันเป็นสายของ process ได้
No comments:
Post a Comment