implement-union-types #54
sashakoshka
commented 2024-03-06 20:16:48 +00:00
Owner
No description provided.
sashakoshka
added 40 commits 2024-03-06 20:16:49 +00:00
69cbe192f9
Add design for union type
a3de4f565e
Add a hashing system to Entity
581bdd050d
Types can now produce hashes of themselves
8b302cf3c9
Add union type syntax to spec
ada14b5c9d
Add TypeUnion to entity
489f20972b
Update expression parsing decision tree in parser/fspl/README.md
acf254a1f3
Add parser test for union type
b7539eb86a
Add union types to parser
bd432edefe
Add match statements to the spec
5a2bf134a1
Add match statement to expresison parsing decision tree
b286cf3e8d
Add match expressions to entity
ab8db825c0
Added match statements to the parser
965adb3de6
Add match test to parser, fixed parsing and stringing of match
b3b80f834c
Augh
de0b649616
Add Position() method to type
0abab71fa6
Parser understands these new developments
1ecd45e707
And so does analyzer
aaefb9e6bf
Analyzer checks uniqueness of types in union by comparing hashes
52fc13bdeb
Add assignment rules for unions
e38ba2f4e2
The assemble map pattern doesnt work for unions
aacf1be026
Add some tests for the union type
038d7f5564
Add more tests for the union type
efebff502c
Add some match statement tests
d95c3ae9dd
entity.Match.String() prints "in" instead of "on"
18b6329ee5
Improved match tests
beefbd5ce7
Add more semantic fields to Match and Case
d036bd03b1
Analyze match expressions
7f5159925e
New test TestMatchErrNotUnion
7e1bc350d1
Generate union types
55dec491eb
Add match stub
9e6aebf518
Generate match statements
7154f5d333
Generate assignment to unions
2f251b8274
Generate phi node for default case in match switch
716306dacb
Add union assignment tests to analyzer
a1dd782a88
Analyzer lets unions of the same type be assigned to eachother
95adf1956e
Use TypesEqual() instead of comparing hashes
c5e5b37e45
Generator supports assigning unions to unions
9611e5ca72
Add match/union generator tests
50e363b0da
Add compiler tests for unions/matches
863abddc4a
One last test
sashakoshka
merged commit f1fa0da6dd into main 2024-03-06 20:16:55 +00:00
sashakoshka
deleted branch implement-union-types 2024-03-06 20:16:55 +00:00
sashakoshka
referenced this issue from a commit 2024-03-06 20:16:56 +00:00
Merge pull request 'implement-union-types' (#54) from implement-union-types into main
sashakoshka
referenced this pull request 2024-03-06 20:18:03 +00:00
Implement sum/union types #16
sashakoshka
referenced this issue from a commit 2024-03-31 05:45:10 +00:00
Merge pull request 'implement-union-types' (#54) from implement-union-types into main
sashakoshka
referenced this issue from a commit 2024-03-31 05:50:23 +00:00
Merge pull request 'implement-union-types' (#54) from implement-union-types into main
No reviewers
Labels
No Label
bug
documentation
enhancement
help wanted
management
package: analyzer
package: compiler
package: errors
package: fsplc
package: generator
package: lexer
package: llvm
package: parser
performance
priority
question
refactor
status
backburner
status
duplicate
status
invalid
status
ongoing
status
wontfix
test
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: fspl/fspl#54
Loading…
Reference in New Issue
No description provided.
Delete Branch "implement-union-types"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?