1
0
mirror of https://github.com/janet-lang/janet synced 2025-11-04 17:43:02 +00:00

Fix variadic functions.

This commit is contained in:
Calvin Rose
2017-05-07 16:48:35 -04:00
parent 7b83247c07
commit 96a605fbc0
12 changed files with 83 additions and 104 deletions

View File

@@ -1,27 +0,0 @@
# Real compiler
# Make compiler
(: make-compiler (fn [] {
'scopes []
'env []
'labels {}
}))
# Make default form options
(: make-formopts (fn [] {
'target nil
'resultUnused false
'canChoose true
'isTail false
}))
# Make scope
(: make-scope (fn [] {
'level 0
'nextSlot 0
'frameSize 0
'freeSlots []
'literals {}
'literalsArray []
'slotMap []
}))

13
libs/hello.gst Normal file
View File

@@ -0,0 +1,13 @@
(print "Hello, World!")
(do (+ 1 2 3))
(print _ )
"Comment"
(do
(: i 0)
(while (< i 1000)
(print i)
(: i (+ i 1)))
)

View File

@@ -1,8 +0,0 @@
# Make parser
(: parser (fn [in] {
'in in
'line 0
'index 0
'states []
}))

View File

@@ -1,9 +1,8 @@
(do
# Declare pretty print
(: pp nil)
# Pretty print an array or tuple
"Pretty print an array or tuple"
(: print-seq (fn [start end a seen]
(: seen (if seen seen {}))
(if (get seen a) (get seen a)
@@ -21,7 +20,7 @@
(set! seen a ret)
ret))))
# Pretty print an object or struct
"Pretty print an object or struct"
(: print-struct (fn [start end s seen]
(: seen (if seen seen {}))
(if (get seen s) (get seen s)
@@ -40,7 +39,7 @@
(set! seen s ret)
ret))))
# Type handlers
"Type handlers"
(: handlers {
"array" (fn [a seen] (print-seq "[" "]" a seen))
"tuple" (fn [a seen] (print-seq "(" ")" a seen))
@@ -48,13 +47,13 @@
"struct" (fn [s seen] (print-struct "#{" "}" s seen))
})
# Define pretty print
"Define pretty print"
(: pp (fn [x seen]
(: handler (get handlers (type x)))
(: handler (if handler handler tostring))
(handler x seen)))
# Export pretty print
"Export pretty print"
(export! 'pp pp)
)

View File

@@ -1,4 +0,0 @@
(print 1)
(: counter 0)
(while (< counter 100) (print counter) (: counter (+ 1 counter)))