aboutsummaryrefslogtreecommitdiffstats
path: root/csc/ir1.csc
diff options
context:
space:
mode:
authorRose Hogenson <rhogenson@posteo.net>2022-06-25 16:14:47 -0700
committerRose Hogenson <rhogenson@posteo.net>2022-06-25 16:14:47 -0700
commit7004f8d7a381fcd2f9c63ae04d99dc67161158f4 (patch)
tree2ec67d86c99c61a16102ded94c39239446988564 /csc/ir1.csc
parentAdd shell.nix. (diff)
downloadchromatopelma-7004f8d7a381fcd2f9c63ae04d99dc67161158f4.tar.zst
Continue work on continuation passing style.
Diffstat (limited to 'csc/ir1.csc')
-rw-r--r--csc/ir1.csc20
1 files changed, 8 insertions, 12 deletions
diff --git a/csc/ir1.csc b/csc/ir1.csc
index ab60fc9..76faef9 100644
--- a/csc/ir1.csc
+++ b/csc/ir1.csc
@@ -32,12 +32,10 @@
lexical-ref-name
lexical-ref?
lexical-set-expression
- lexical-set-gensym
- lexical-set-name
+ lexical-set-ref
lexical-set?
library-define-expression
- library-define-library
- library-define-name
+ library-define-ref
library-define?
library-ref-library
library-ref-name
@@ -97,21 +95,19 @@
; <lexical-set> name gensym expression
; Sets a lexically-bound variable.
(define-record-type <lexical-set>
- (make-lexical-set name gensym expression)
+ (make-lexical-set ref expression)
lexical-set?
- (name lexical-set-name)
- (gensym lexical-set-gensym)
+ (ref lexical-set-ref)
(expression lexical-set-expression))
; <library-define> name expression
; Defines a new variable in the current library.
(define-record-type <library-define>
- (make-library-define name expression library)
+ (make-library-define ref expression)
library-define?
- (name library-define-name)
- (expression library-define-expression)
- (library library-define-library))
+ (ref library-define-ref)
+ (expression library-define-expression))
; <define-syntax> name transformer
@@ -212,7 +208,7 @@
(equal? (library-ref-library x) (library-ref-library y)))
((and (lexical-set? x) (lexical-set? y))
(and
- (symbol=? (lexical-set-name x) (lexical-set-name y))
+ (ir1=? (lexical-set-ref x) (lexical-set-ref y))
(ir1=? (lexical-set-expression x) (lexical-set-expression y))))
((and (library-define? x) (library-define? y))
(and