mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-16 17:27:33 +02:00
WIP - sequencing expressions
This commit is contained in:
parent
0113982e87
commit
2d4a5f0f44
1 changed files with 14 additions and 0 deletions
|
@ -1082,6 +1082,20 @@
|
||||||
;; Could not inline
|
;; Could not inline
|
||||||
(map (lambda (e) (opt:inline-prims e scope-sym refs)) exp)))
|
(map (lambda (e) (opt:inline-prims e scope-sym refs)) exp)))
|
||||||
)) ;;
|
)) ;;
|
||||||
|
;; Lambda with a parameter that is never used; sequence code instead to avoid lambda
|
||||||
|
((and (ast:lambda? (car exp))
|
||||||
|
(every
|
||||||
|
(lambda (param)
|
||||||
|
(with-var param (lambda (var)
|
||||||
|
(null? (adbv:ref-by var)))))
|
||||||
|
(ast:lambda-formals->list (car exp)))
|
||||||
|
)
|
||||||
|
(opt:inline-prims
|
||||||
|
`(Cyc-seq
|
||||||
|
,@(cdr exp)
|
||||||
|
,(ast:lambda-body (car exp)))
|
||||||
|
scope-sym
|
||||||
|
refs))
|
||||||
(else
|
(else
|
||||||
(map (lambda (e) (opt:inline-prims e scope-sym refs)) exp))))
|
(map (lambda (e) (opt:inline-prims e scope-sym refs)) exp))))
|
||||||
(else
|
(else
|
||||||
|
|
Loading…
Add table
Reference in a new issue