diff --git a/Makefile b/Makefile index 4057a49f..784f4727 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,10 @@ TESTSCM = unit-tests TESTFILES = $(addprefix tests/, $(addsuffix .scm, $(TESTSCM))) -all: cyclone scheme/base.o scheme/read.o scheme/write.o scheme/char.o scheme/eval.o scheme/file.o icyc +all: cyclone scheme/base.o scheme/read.o scheme/write.o scheme/char.o scheme/eval.o scheme/file.o icyc scheme/cyclone/util.o + +scheme/cyclone/util.o: cyclone scheme/cyclone/util.sld + ./cyclone scheme/cyclone/util.sld scheme/base.o: cyclone scheme/base.sld ./cyclone scheme/base.sld diff --git a/transforms.scm b/transforms.scm index c950f791..be164230 100644 --- a/transforms.scm +++ b/transforms.scm @@ -190,17 +190,6 @@ (define (void) (if #f #t))) (else #f)) -; char->natural : char -> natural -(define (char->natural c) - (let ((i (char->integer c))) - (if (< i 0) - (* -2 i) - (+ (* 2 i) 1)))) - -; integer->char-list : integer -> string -(define (integer->char-list n) - (string->list (number->string n))) - ; gensym-count : integer (define gensym-count 0) diff --git a/util.scm b/util.scm index 851cb182..54bcd01a 100644 --- a/util.scm +++ b/util.scm @@ -4,6 +4,17 @@ (equal? (car exp) tag) #f)) +; char->natural : char -> natural +(define (char->natural c) + (let ((i (char->integer c))) + (if (< i 0) + (* -2 i) + (+ (* 2 i) 1)))) + +; integer->char-list : integer -> string +(define (integer->char-list n) + (string->list (number->string n))) + ;; Name-mangling. ;; We have to "mangle" Scheme identifiers into