23 lines
677 B
Fennel
23 lines
677 B
Fennel
(local fennel (require :fennel))
|
|
(import-macros {: def : q : ttype : static : unterra : untype} :terra)
|
|
|
|
(local Complex (ttype {real float imag float}))
|
|
(print (unterra
|
|
(def [: Complex] (return (Complex { real 5 imag 1 })))
|
|
))
|
|
(print (unterra
|
|
(def [c Complex r float] (tset c :real r))
|
|
))
|
|
(local thing (def [: Complex] (return (Complex { real 5 imag 1 }))))
|
|
(local get-real (def [val Complex] (return (. val :real))))
|
|
(local set-real (def [c [Complex] r float] (tset c :real r)))
|
|
|
|
(let [result (thing)]
|
|
(print result result.real result.imag (get-real result))
|
|
(set-real result 10)
|
|
(print (get-real result)))
|
|
|
|
(print (unterra
|
|
(def [: int bool] (return 5 true))
|
|
))
|