mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-21 22:59:16 +02:00
Use single version of (if?)
This commit is contained in:
parent
d6d1b31521
commit
10b9cbb7fd
5 changed files with 9 additions and 7 deletions
6
Makefile
6
Makefile
|
@ -21,6 +21,9 @@ scheme/read.o: cyclone scheme/read.sld parser.scm
|
||||||
scheme/write.o: cyclone scheme/write.sld
|
scheme/write.o: cyclone scheme/write.sld
|
||||||
./cyclone scheme/write.sld
|
./cyclone scheme/write.sld
|
||||||
|
|
||||||
|
scheme/cyclone/util.o: scheme/cyclone/util.sld
|
||||||
|
./cyclone scheme/cyclone/util.sld
|
||||||
|
|
||||||
util.so: util.scm
|
util.so: util.scm
|
||||||
csc -s util.scm
|
csc -s util.scm
|
||||||
|
|
||||||
|
@ -62,7 +65,6 @@ cyclone: cyclone.scm transforms.so util.so cgen.so libraries.so parser.so libcyc
|
||||||
#scheme/cyclone/util.o: cyclone scheme/cyclone/util.sld
|
#scheme/cyclone/util.o: cyclone scheme/cyclone/util.sld
|
||||||
.PHONY: self
|
.PHONY: self
|
||||||
self:
|
self:
|
||||||
./cyclone scheme/cyclone/util.sld
|
|
||||||
./cyclone scheme/cyclone/libraries.sld
|
./cyclone scheme/cyclone/libraries.sld
|
||||||
./cyclone scheme/cyclone/transforms.sld
|
./cyclone scheme/cyclone/transforms.sld
|
||||||
./cyclone scheme/cyclone/cgen.sld
|
./cyclone scheme/cyclone/cgen.sld
|
||||||
|
@ -94,7 +96,7 @@ test2: examples/hello-library/int-test/hello.c libcyclone.a
|
||||||
## END temporary directives
|
## END temporary directives
|
||||||
###########################
|
###########################
|
||||||
|
|
||||||
icyc: cyclone icyc.scm eval.scm libraries.scm parser.scm runtime.h scheme/base.o scheme/read.o scheme/write.o scheme/char.o scheme/eval.o scheme/file.o
|
icyc: cyclone icyc.scm eval.scm libraries.scm parser.scm runtime.h scheme/base.o scheme/read.o scheme/write.o scheme/char.o scheme/eval.o scheme/file.o scheme/cyclone/util.o
|
||||||
./cyclone icyc.scm
|
./cyclone icyc.scm
|
||||||
|
|
||||||
.PHONY: tags
|
.PHONY: tags
|
||||||
|
|
1
eval.scm
1
eval.scm
|
@ -59,7 +59,6 @@
|
||||||
(define (make-lambda parameters body)
|
(define (make-lambda parameters body)
|
||||||
(cons 'lambda (cons parameters body)))
|
(cons 'lambda (cons parameters body)))
|
||||||
|
|
||||||
(define (if? exp) (tagged-list? 'if exp))
|
|
||||||
(define (if-predicate exp) (cadr exp))
|
(define (if-predicate exp) (cadr exp))
|
||||||
(define (if-consequent exp) (caddr exp))
|
(define (if-consequent exp) (caddr exp))
|
||||||
(define (if-alternative exp)
|
(define (if-alternative exp)
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
every
|
every
|
||||||
filter
|
filter
|
||||||
tagged-list?
|
tagged-list?
|
||||||
|
if?
|
||||||
mangle
|
mangle
|
||||||
mangle-global)
|
mangle-global)
|
||||||
(include "../../util.scm")
|
(include "../../util.scm")
|
||||||
|
|
|
@ -476,10 +476,6 @@
|
||||||
(define (lambda->exp exp)
|
(define (lambda->exp exp)
|
||||||
(cddr exp)) ;; JAE - changed from caddr, so we can handle multiple expressions
|
(cddr exp)) ;; JAE - changed from caddr, so we can handle multiple expressions
|
||||||
|
|
||||||
; if? : exp -> boolean
|
|
||||||
(define (if? exp)
|
|
||||||
(tagged-list? 'if exp))
|
|
||||||
|
|
||||||
; if->condition : if-exp -> exp
|
; if->condition : if-exp -> exp
|
||||||
(define (if->condition exp)
|
(define (if->condition exp)
|
||||||
(cadr exp))
|
(cadr exp))
|
||||||
|
|
4
util.scm
4
util.scm
|
@ -11,6 +11,10 @@
|
||||||
(equal? (car exp) tag)
|
(equal? (car exp) tag)
|
||||||
#f))
|
#f))
|
||||||
|
|
||||||
|
; if? : exp -> boolean
|
||||||
|
(define (if? exp)
|
||||||
|
(tagged-list? 'if exp))
|
||||||
|
|
||||||
; char->natural : char -> natural
|
; char->natural : char -> natural
|
||||||
(define (char->natural c)
|
(define (char->natural c)
|
||||||
(let ((i (char->integer c)))
|
(let ((i (char->integer c)))
|
||||||
|
|
Loading…
Add table
Reference in a new issue