blob: 2c6d73ace8f6a2c182f56d37cbf98d44b5a7b3ec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
import actinide
import actinide.types as t
import actinide.builtin as b
import actinide.evaluator as e
session = actinide.Session()
program = session.read("""
(begin
1
1.0
"Hello"
(define a
(lambda (b) (values 1 2.2 "three" a b)))
(define pp
(lambda () (pp)))
(print (a "foo"))
(print (eval (list (symbol "a") "bar")))
(print 0 (values 1 2 3) 4 5)
(pp))
""")
def begin(*args):
if args:
return args[-1]
return None
def values(*args):
return args
session.bind_builtin(values)
session.bind_void(print)
session.bind_fn(begin)
session.bind_fn(t.list)
session.bind_fn(session.symbol)
session.bind_builtin(session.eval)
session.eval(program)
|