Skip to content

Commit

Permalink
Minor stylistic improvements to codegen
Browse files Browse the repository at this point in the history
  • Loading branch information
eliaslfox committed Jul 18, 2023
1 parent 89bdbba commit 248321f
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 7 deletions.
18 changes: 11 additions & 7 deletions src/codegen/codegen-expression.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -90,13 +90,17 @@
(:method ((expr node-lisp) current-function env)
(declare (type tc:environment env)
(type (or null symbol) current-function))
(let ((inner
`(let ,(mapcar
(lambda (var)
(list (car var) (cdr var)))
(node-lisp-vars expr))
,@(butlast (node-lisp-form expr))
(values ,(car (last (node-lisp-form expr)))))))
(let* ((inner `(values ,(car (last (node-lisp-form expr)))))

(inner
(if (node-lisp-vars expr)
`(let ,(mapcar
(lambda (var)
(list (car var) (cdr var)))
(node-lisp-vars expr))
,@(butlast (node-lisp-form expr))
(values ,(car (last (node-lisp-form expr)))))
inner)))

(if settings:*emit-type-annotations*
`(the (values ,(tc:lisp-type (node-type expr) env) &optional)
Expand Down
4 changes: 4 additions & 0 deletions src/codegen/translate-expression.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@
(loop :for param :in (tc:node-abstraction-params (tc:binding-last-node binding))
:if (tc:pattern-var-p param)
:collect (tc:pattern-var-name param)
:else :if (tc:pattern-wildcard-p param)
:collect (gentemp "_")
:else
:collect (let ((name (gentemp)))
(push (cons name param) pattern-params)
Expand Down Expand Up @@ -93,6 +95,8 @@
(loop :for param :in (tc:binding-parameters binding)
:if (tc:pattern-var-p param)
:collect (tc:pattern-var-name param)
:else :if (tc:pattern-wildcard-p param)
:collect (gentemp "_")
:else
:collect (let ((name (gensym)))
(push (cons name param) pattern-params)
Expand Down

0 comments on commit 248321f

Please sign in to comment.