Skip to content

Instantly share code, notes, and snippets.

@handicraftsman
Created November 5, 2018 14:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save handicraftsman/2cc8d027deec25a86c37800b47b388a8 to your computer and use it in GitHub Desktop.
Save handicraftsman/2cc8d027deec25a86c37800b47b388a8 to your computer and use it in GitHub Desktop.
quill ast generation
(defvar greeter:Greeter)
(defvar greeting:String)
(defvar anotherGreeting:String)
(set greeter (new Greeter "Great"))
(new Greeter "Great")
"Great"
(set greeting (.greet greeter "World"))
(.greet greeter "World")
greeter
"World"
(set anotherGreeting (.greet Greeter "Another World"))
(.greet Greeter "Another World")
Greeter
"Another World"
(.println greeting)
greeting
(.println anotherGreeting)
anotherGreeting
(defvar sum1:![a:Int32 b:Int32]:Int32)
(set sum1 (fn ![a:Int32 b:Int32]:Int32 (+ a b)))
(fn ![a:Int32 b:Int32]:Int32 (+ a b))
(+ a b)
a
b
(defvar sum2:![a:Int32 b:Int32]:Int32)
(set sum2 (fn ![a:Int32 b:Int32]:Int32 (+ a b)))
(fn ![a:Int32 b:Int32]:Int32 (+ a b))
(+ a b)
a
b
(.println (.toString (call sum1 1 1)))
(.toString (call sum1 1 1))
(call sum1 1 1)
1
1
(.println (.toString (call sum2 9 1)))
(.toString (call sum2 9 1))
(call sum2 9 1)
9
1
(cond [True (.println "true")] [True (.println "false")])
True
(.println "true")
"true"
True
(.println "false")
"false"
(cond [(== 1 1) (.println "1 == 1")] [(== 1 2) (.println "1 == 2")] [True (.println "true")])
(== 1 1)
1
1
(.println "1 == 1")
"1 == 1"
(== 1 2)
1
2
(.println "1 == 2")
"1 == 2"
True
(.println "true")
"true"
(do (defvar i:Int32) (set i 0) (defvar quill_continue_func:![]:Void) (set quill_continue_func (fn ![]:Void (set i (+ i 1)))) (while (< i 10) (.println (.toString i))) (.println "Done counting"))
(defvar i:Int32)
(set i 0)
0
(defvar quill_continue_func:![]:Void)
(set quill_continue_func (fn ![]:Void (set i (+ i 1))))
(fn ![]:Void (set i (+ i 1)))
(set i (+ i 1))
(+ i 1)
i
1
(while (< i 10) (.println (.toString i)))
(< i 10)
i
10
(.println (.toString i))
(.toString i)
i
(.println "Done counting")
"Done counting"
0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment