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:
@@ -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
13
libs/hello.gst
Normal 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)))
|
||||
)
|
||||
@@ -1,8 +0,0 @@
|
||||
# Make parser
|
||||
|
||||
(: parser (fn [in] {
|
||||
'in in
|
||||
'line 0
|
||||
'index 0
|
||||
'states []
|
||||
}))
|
||||
11
libs/pp.gst
11
libs/pp.gst
@@ -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)
|
||||
|
||||
)
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
(print 1)
|
||||
|
||||
(: counter 0)
|
||||
(while (< counter 100) (print counter) (: counter (+ 1 counter)))
|
||||
Reference in New Issue
Block a user