78 lines
2.0 KiB
Plaintext
Executable File
78 lines
2.0 KiB
Plaintext
Executable File
#! /home/nybble/src/c/rosella/rosella
|
|
#S(#="lambda"
|
|
#(
|
|
#S(#="template" ; g1
|
|
#(
|
|
#0=#S(#="lambda" ; g1
|
|
#(
|
|
#S(#="lambda" ; g1
|
|
#(1 #f) ; g1 g2
|
|
#1=#()
|
|
1 ; f0
|
|
"\x02\x80\x01\x00"; (set! f0 (cons g1 nil))
|
|
0xfe ; k
|
|
0x80 ; f0
|
|
0x02 ; g2 (#f)
|
|
0xff ; ctx
|
|
)
|
|
#S(#="template"
|
|
#(
|
|
#=0 ; g1
|
|
#S(#="template" ; g2
|
|
#(#f)
|
|
"\x40\xff\xfe" ; i0 ctx k
|
|
1
|
|
"\x00\x80\x03\xfd\; (set! f0 (car argv))
|
|
\x0a\x80\x40\x80\; (set! f0 (fix* i0 f0))
|
|
\x02\x80\x80\x00"; (set! f0 (cons f0 nil))
|
|
0x42 ; i2
|
|
0x80 ; f0
|
|
0x01 ; g1
|
|
0x41 ; i1
|
|
)
|
|
1 ; g3
|
|
)
|
|
"\x80" ; f0
|
|
2 ; f0-f1
|
|
"\x09\x80\x40\x03\; (set! f0 (fix- i0 g3))
|
|
\x02\x80\x80\x00\; (set! f0 (cons f0 nil))
|
|
\x00\x81\x1b\x02"; (set! f1 (lambda g2))
|
|
0x01 ; g1
|
|
0x80 ; f0
|
|
0x81 ; f1
|
|
0xff ; ctx
|
|
)
|
|
1 ; g3
|
|
)
|
|
#=1 ; #()
|
|
2
|
|
"\x00\x80\x03\xfd\; (set! f0 (car argv))
|
|
\x0d\x81\x80\x03\; (set! f1 (fix< f0 g3))
|
|
\x81\x81\x01\x02\; (set! f1 (if f1 g1 g2))
|
|
\x00\x81\x1b\x81"; (set! f1 (lambda f1))
|
|
0x81 ; f1
|
|
0x00 ; nil
|
|
0xfe ; k
|
|
0xff ; ctx
|
|
)
|
|
)
|
|
"\xfe\xff" ; k ctx
|
|
0
|
|
""
|
|
0x01 ; f1
|
|
0xfd ; argv
|
|
0x40 ; i0
|
|
0x41 ; i1
|
|
)
|
|
#="string->number" ; g2
|
|
)
|
|
#=1 ; #()
|
|
1 ; f0
|
|
"\x00\x80\x1b\x01"; (set! f0 (lambda g1))
|
|
0x02 ; g2
|
|
0xfd ; argv
|
|
0x80 ; f0
|
|
0xff ; ctx
|
|
)
|
|
; vim:set syntax= sw=2 expandtab:
|