git.iko.soy/rowtype-yoga/purescm
on bytevector help sign in
Rename constructor accessors

From Constructor$-value0 to Constructor-value0.

commitb9a52246e87d0d7b4fa122d02e1f1ad0194d49ce authorTancredi Orlando <tancredi.orlando@gmail.com> dateTue 28 Mar 2023, 16:47 (4 years ago) parent09373b1
3 files changed+32−27
src/PureScript/Backend/Chez/Syntax.purs+10−5 test-snapshots/snapshots-output/Snapshot.Constructor.ss+6−6 test-snapshots/snapshots-output/Snapshot.ConstructorAccessor.ss+16−16
src/PureScript/Backend/Chez/Syntax.purs+10−5
@@ -291,10 +291,15 @@ printDefinition = case _ of
291291 ]
292292 ]
293293 )
294− $ printList
295− $ D.words
296− $ map D.text
297− $ Array.cons "scm:fields" fields
294+ fieldsForm
295+ where
296+ fieldForm :: Prim.String -> Doc Void
297+ fieldForm field =
298+ printList $ D.words $ map D.text [ "scm:immutable", field, recordTypeAccessor ident field ]
299+
300+ fieldsForm :: Doc Void
301+ fieldsForm = printList $ D.words $ Array.cons (D.text "scm:fields")
302+ $ map fieldForm fields
298303
299304printCurriedApp :: Prim.Array Prim.String -> ChezExpr -> Doc Void
300305printCurriedApp args body = case Array.uncons args of
@@ -419,7 +424,7 @@ recordTypePredicate :: Prim.String -> Prim.String
419424recordTypePredicate i = i <> "?"
420425
421426recordTypeAccessor :: Prim.String -> Prim.String -> Prim.String
422−recordTypeAccessor i field = (recordTypeName i) <> "-" <> field
427+recordTypeAccessor i field = i <> "-" <> field
423428
424429recordAccessor :: ChezExpr -> Prim.String -> Prim.String -> ChezExpr
425430recordAccessor expr name field =
test-snapshots/snapshots-output/Snapshot.Constructor.ss+6−6
@@ -3,16 +3,16 @@
33(library
44 (Snapshot.Constructor lib)
55 (export
6− Just$-value0
76 Just*
7+ Just-value0
88 Just?
99 Nil
1010 Nil?
1111 Node
12− Node$-value0
13− Node$-value1
14− Node$-value2
1512 Node*
13+ Node-value0
14+ Node-value1
15+ Node-value2
1616 Node?
1717 Nothing
1818 Nothing?)
@@ -28,7 +28,7 @@
2828 (scm:eq? (scm:quote Nil) v)))
2929
3030 (scm:define-record-type (Node$ Node* Node?)
31− (scm:fields value0 value1 value2))
31+ (scm:fields (scm:immutable value0 Node-value0) (scm:immutable value1 Node-value1) (scm:immutable value2 Node-value2)))
3232
3333 (scm:define Node
3434 (scm:lambda (value0)
@@ -37,7 +37,7 @@
3737 (Node* value0 value1 value2)))))
3838
3939 (scm:define-record-type (Just$ Just* Just?)
40− (scm:fields value0))
40+ (scm:fields (scm:immutable value0 Just-value0)))
4141
4242 (scm:define Nothing
4343 (scm:quote Nothing))
test-snapshots/snapshots-output/Snapshot.ConstructorAccessor.ss+16−16
@@ -3,23 +3,23 @@
33(library
44 (Snapshot.ConstructorAccessor lib)
55 (export
6− First$-value0
76 First*
7+ First-value0
88 First?
99 Foo
10− Foo$-value0
11− Foo$-value1
12− Foo$-value2
1310 Foo*
11+ Foo-value0
12+ Foo-value1
13+ Foo-value2
1414 Foo?
1515 HasArgs
16− HasArgs$-value0
17− HasArgs$-value1
18− HasArgs$-value2
1916 HasArgs*
17+ HasArgs-value0
18+ HasArgs-value1
19+ HasArgs-value2
2020 HasArgs?
21− Last$-value0
2221 Last*
22+ Last-value0
2323 Last?
2424 NoArgs
2525 NoArgs?
@@ -36,10 +36,10 @@
3636 (prefix (_Chez_Runtime lib) rt:))
3737
3838 (scm:define-record-type (First$ First* First?)
39− (scm:fields value0))
39+ (scm:fields (scm:immutable value0 First-value0)))
4040
4141 (scm:define-record-type (Last$ Last* Last?)
42− (scm:fields value0))
42+ (scm:fields (scm:immutable value0 Last-value0)))
4343
4444 (scm:define NoArgs
4545 (scm:quote NoArgs))
@@ -49,7 +49,7 @@
4949 (scm:eq? (scm:quote NoArgs) v)))
5050
5151 (scm:define-record-type (HasArgs$ HasArgs* HasArgs?)
52− (scm:fields value0 value1 value2))
52+ (scm:fields (scm:immutable value0 HasArgs-value0) (scm:immutable value1 HasArgs-value1) (scm:immutable value2 HasArgs-value2)))
5353
5454 (scm:define HasArgs
5555 (scm:lambda (value0)
@@ -58,7 +58,7 @@
5858 (HasArgs* value0 value1 value2)))))
5959
6060 (scm:define-record-type (Foo$ Foo* Foo?)
61− (scm:fields value0 value1 value2))
61+ (scm:fields (scm:immutable value0 Foo-value0) (scm:immutable value1 Foo-value1) (scm:immutable value2 Foo-value2)))
6262
6363 (scm:define Foo
6464 (scm:lambda (value0)
@@ -78,19 +78,19 @@
7878 (scm:define test5
7979 (scm:lambda ($__unused0)
8080 (scm:lambda (v1)
81− (scm:cond ((First? v1) (First$-value0 v1)) (scm:else (scm:raise (scm:condition (scm:make-error) (scm:make-message-condition "Failed pattern match"))))))))
81+ (scm:cond ((First? v1) (First-value0 v1)) (scm:else (scm:raise (scm:condition (scm:make-error) (scm:make-message-condition "Failed pattern match"))))))))
8282
8383 (scm:define test4
8484 (scm:lambda (v0)
85− (scm:cond ((First? v0) (First$-value0 v0)) ((Last? v0) (Last$-value0 v0)) (scm:else (scm:raise (scm:condition (scm:make-error) (scm:make-message-condition "Failed pattern match")))))))
85+ (scm:cond ((First? v0) (First-value0 v0)) ((Last? v0) (Last-value0 v0)) (scm:else (scm:raise (scm:condition (scm:make-error) (scm:make-message-condition "Failed pattern match")))))))
8686
8787 (scm:define test3
8888 (scm:lambda (v0)
89− (scm:cond ((scm:fx<? (HasArgs$-value0 v0) (HasArgs$-value2 v0)) (HasArgs$-value0 v0)) (scm:else (HasArgs$-value1 v0)))))
89+ (scm:cond ((scm:fx<? (HasArgs-value0 v0) (HasArgs-value2 v0)) (HasArgs-value0 v0)) (scm:else (HasArgs-value1 v0)))))
9090
9191 (scm:define test2
9292 (scm:lambda (v0)
93− (HasArgs$-value0 v0)))
93+ (HasArgs-value0 v0)))
9494
9595 (scm:define test1
9696 (scm:lambda (v0)