garden/go.fnl

19 lines
619 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)))