(begin ;;; arcana/parse ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (assert-equal (arcana/parse (list (cons 'TOKEN_ROUND_OPEN "(") (cons 'TOKEN_IDENT "displayln") (cons 'TOKEN_ROUND_OPEN "(") (cons 'TOKEN_IDENT "+") (cons 'TOKEN_NUM "123") (cons 'TOKEN_NUM "456") (cons 'TOKEN_ROUND_CLOSE ")") (cons 'TOKEN_ROUND_CLOSE ")"))) '(displayln (+ 123 456))) ;;; arcana/typeof ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (assert-equal 'null (arcana/typeof '())) (assert-equal 'procedure (arcana/typeof +)) (assert-equal 'pair (arcana/typeof (cons 123 456))) (assert-equal 'boolean (arcana/typeof #false)) ;(assert-equal 'char (arcana/typeof #\n)) (assert-equal 'symbol (arcana/typeof 'foo)) (assert-equal 'string (arcana/typeof "foo")) (assert-equal 'number (arcana/typeof 123)) )