mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-18 21:29:18 +02:00
Issue #552 - Add 'else' clause for cond-expands
This commit is contained in:
parent
2d833cd6c1
commit
c325a8a8e5
4 changed files with 21 additions and 11 deletions
|
@ -20,7 +20,8 @@
|
|||
(srfi 2)
|
||||
(srfi 69)
|
||||
)
|
||||
))
|
||||
)
|
||||
(else #f))
|
||||
|
||||
;; symbol -> hash-table -> boolean
|
||||
;; Is it OK to inline code replacing ref, based on call graph data from lookup table?
|
||||
|
@ -261,4 +262,5 @@
|
|||
; (ast:ast->pp-sexp
|
||||
; (opt:local-var-reduction (ast:sexp->ast sexp)))
|
||||
;)
|
||||
))
|
||||
)
|
||||
(else #f))
|
||||
|
|
|
@ -14,7 +14,9 @@
|
|||
(scheme cyclone ast)
|
||||
(scheme cyclone primitives)
|
||||
(scheme cyclone util)
|
||||
(scheme cyclone pretty-print))))
|
||||
(scheme cyclone pretty-print)))
|
||||
(else
|
||||
#f))
|
||||
|
||||
;; Local variable reduction:
|
||||
;; Reduce given sexp by replacing certain lambda calls with a let containing
|
||||
|
@ -434,4 +436,5 @@
|
|||
(ast:ast->pp-sexp
|
||||
(opt:local-var-reduction (ast:sexp->ast sexp)))
|
||||
)
|
||||
))
|
||||
)
|
||||
(else #f))
|
||||
|
|
|
@ -18,9 +18,9 @@
|
|||
(scheme cyclone util)
|
||||
(scheme cyclone pretty-print)
|
||||
(srfi 2)
|
||||
(srfi 69)
|
||||
)
|
||||
))
|
||||
(srfi 69)))
|
||||
(else
|
||||
#f))
|
||||
|
||||
;; Predicate to determine if a function can be memoized
|
||||
;; var - symbol - global name of the function
|
||||
|
@ -371,4 +371,5 @@
|
|||
;; ; (ast:ast->pp-sexp
|
||||
;; ; (opt:local-var-reduction (ast:sexp->ast sexp)))
|
||||
;; ;)
|
||||
))
|
||||
)
|
||||
(else #f))
|
||||
|
|
|
@ -14,7 +14,8 @@
|
|||
(scheme base)
|
||||
(scheme read)
|
||||
(scheme cyclone pretty-print)
|
||||
(scheme cyclone util))))
|
||||
(scheme cyclone util)))
|
||||
(else #f))
|
||||
;;
|
||||
;; TODO: call this from cyclone.scm after it works, probably after "resolve macros"
|
||||
|
||||
|
@ -59,7 +60,9 @@
|
|||
(define (search exp vars)
|
||||
(cond-expand
|
||||
(program
|
||||
(pretty-print `(search ,exp ,vars))(newline))) ;; Debugging
|
||||
(pretty-print `(search ,exp ,vars))(newline)) ;; Debugging
|
||||
(else
|
||||
#f))
|
||||
(cond
|
||||
;((ast:lambda? exp) 'TODO)
|
||||
((const? exp) #f)
|
||||
|
@ -111,4 +114,5 @@
|
|||
;(if 1 2 3 4)
|
||||
|
||||
(let ((sexp (read-all (open-input-file "validation.scm"))))
|
||||
(validate-keyword-syntax sexp))))
|
||||
(validate-keyword-syntax sexp)))
|
||||
(else #f))
|
||||
|
|
Loading…
Add table
Reference in a new issue