Use new primitives library

This commit is contained in:
Justin Ethier 2016-06-04 04:20:50 -04:00
parent c3a7fcbe45
commit 0339833541
2 changed files with 4 additions and 121 deletions

View file

@ -17,11 +17,12 @@
; can write initial analyze, but can't get too far without being able ; can write initial analyze, but can't get too far without being able
; to uniquely ID each lambda ; to uniquely ID each lambda
(define-library (cps-optimizations) ;(define-library (cps-optimizations)
;(define-library (scheme cyclone cps-optimizations) (define-library (scheme cyclone cps-optimizations)
(import (scheme base) (import (scheme base)
(scheme cyclone util) (scheme cyclone util)
(scheme cyclone ast) (scheme cyclone ast)
(scheme cyclone primitives)
(scheme cyclone transforms) (scheme cyclone transforms)
(srfi 69)) (srfi 69))
(export (export

View file

@ -19,7 +19,7 @@
(scheme cyclone common) (scheme cyclone common)
(scheme cyclone libraries) (scheme cyclone libraries)
(scheme cyclone macros) (scheme cyclone macros)
;(scheme cyclone optimize-cps) (scheme cyclone primitives)
(scheme cyclone pretty-print) (scheme cyclone pretty-print)
(scheme cyclone util) (scheme cyclone util)
) )
@ -80,9 +80,7 @@
app? app?
app->fun app->fun
app->args app->args
prim?
precompute-prim-app? precompute-prim-app?
prim-call?
begin->exps begin->exps
define? define?
define-lambda? define-lambda?
@ -449,119 +447,6 @@
(define (app->args exp) (define (app->args exp)
(cdr exp)) (cdr exp))
; prim? : exp -> boolean
(define (prim? exp)
(member exp *primitives*))
(define *primitives* '(
Cyc-global-vars
Cyc-get-cvar
Cyc-set-cvar!
Cyc-cvar? ;; Cyclone-specific
Cyc-opaque?
Cyc-has-cycle?
Cyc-spawn-thread!
Cyc-end-thread!
Cyc-stdout
Cyc-stdin
Cyc-stderr
+
-
*
/
=
>
<
>=
<=
apply
%halt
exit
system
command-line-arguments
Cyc-installation-dir
Cyc-default-exception-handler
Cyc-current-exception-handler
cons
cell-get
set-global!
set-cell!
cell
eq?
eqv?
equal?
assoc
assq
assv
memq
memv
member
length
set-car!
set-cdr!
car
cdr
caar cadr cdar cddr
caaar caadr cadar caddr cdaar cdadr cddar cdddr
caaaar caaadr caadar caaddr cadaar cadadr
caddar cadddr cdaaar cdaadr cdadar cdaddr cddaar cddadr cdddar cddddr
char->integer
integer->char
string->number
string-append
string-cmp
list->string
string->symbol
symbol->string
number->string
string-length
string-ref
string-set!
substring
make-bytevector
bytevector-length
bytevector
bytevector-append
Cyc-bytevector-copy
Cyc-utf8->string
Cyc-string->utf8
bytevector-u8-ref
bytevector-u8-set!
bytevector?
make-vector
list->vector
vector-length
vector-ref
vector-set!
boolean?
char?
eof-object?
null?
number?
real?
integer?
pair?
port?
procedure?
macro?
vector?
string?
symbol?
open-input-file
open-output-file
close-port
close-input-port
close-output-port
Cyc-flush-output-port
file-exists?
delete-file
read-char
peek-char
Cyc-read-line
Cyc-write-char
Cyc-write
Cyc-display))
;; Constant Folding ;; Constant Folding
;; Is a primitive being applied in such a way that it can be ;; Is a primitive being applied in such a way that it can be
;; evaluated at compile time? ;; evaluated at compile time?
@ -625,9 +510,6 @@
(cdr ast)) (cdr ast))
#t)))) #t))))
(define (prim-call? exp)
(and (list? exp) (prim? (car exp))))
; begin->exps : begin-exp -> list[exp] ; begin->exps : begin-exp -> list[exp]
(define (begin->exps exp) (define (begin->exps exp)
(cdr exp)) (cdr exp))