Repository navigation
Anonymous Records #6143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Anonymous Records #6143
Changes from 1 commit
Commits
Show all changes
108 commits
Select commit
Hold shift + click to select a range
8192fb7
Spec out new Record type with pattern matching
ChrisPenner 7545cbb
Add missing cases for new runtime Records
ChrisPenner 8f1fe35
Checkpoint
ChrisPenner b275831
Remove FRec from functions
ChrisPenner c59f505
WIP
ChrisPenner f94473c
WIP
ChrisPenner 0d2ed95
Compiling, but with a lot of "error"s
ChrisPenner 7d3e2a0
Remove Reference from record term ast
ChrisPenner 74f2546
More switching Record to not have a reference
ChrisPenner eea99c9
Finish removing Reference from Record, and swap it to use a Map
ChrisPenner 7b74da8
Wire in record literal parser
ChrisPenner ff6a989
Record parser
ChrisPenner 19ea4ff
Add Record Type F
ChrisPenner 6d4feae
Record type hashing
ChrisPenner e094006
Attempt to do Kind Inference for record fields
ChrisPenner 6489447
Fix synhashing of records
ChrisPenner de1c2b2
Compiling after adding record type F
ChrisPenner ea7bb13
Implement record type synthesis
ChrisPenner c6167ed
Better record type printing
ChrisPenner 28b8b29
Typechecking is _running_, but incorrect
ChrisPenner 7b3583d
Implement unification on Records
ChrisPenner 394da37
More missing field error messages
ChrisPenner b7e5bf9
Better error messages
ChrisPenner 8e3316d
Fill out Record packing
ChrisPenner bf9d89e
coalesce wanted in Records
ChrisPenner ce16035
Switch from BLDR to a Record Pack func app
ChrisPenner 249d36c
Moar serialization
ChrisPenner 369c93d
More threading in rec Schema discovery
ChrisPenner 41f3691
Add record schema numbering
ChrisPenner 07e6db4
Murmur hashing for record values
ChrisPenner 6d2dc86
Record v5 serialization
ChrisPenner 357785b
Fix RecordC vs RecordG
ChrisPenner c4d2727
Pass in rec schema lookups
ChrisPenner b385c4f
Add BiMap to utils
ChrisPenner 10b0988
Use BiMap
ChrisPenner 39a42be
Simplify error handling for runtime exceptions
ChrisPenner f501c96
Fix term printer for records
ChrisPenner 5059500
Record Pattern parser
ChrisPenner c002069
First attempt at Record field desugaring
ChrisPenner c6b7654
Fix (?) record pattern match desugaring
ChrisPenner bd58726
Skip pattern match constraint solving for now
ChrisPenner a31db74
Fix up LSP queries
ChrisPenner eff2dfc
Implement some pattern match type-checking errors
ChrisPenner 8760d9c
Implement record pattern pretty printing
ChrisPenner c1a4c03
Don't depend on pattern scrutinee type before we solve it
ChrisPenner de4c709
Add some notes
ChrisPenner 9356719
Implement record type parser
ChrisPenner 1903f63
Add completeness pragma for Effect''
ChrisPenner 6b41c33
Implement instantiateL and equate0 for records
ChrisPenner 988b3f2
Notes from typechecking paper
ChrisPenner 546a430
instantiateR for records
ChrisPenner 1cea3b8
Add a few missing Record cases in typechecker
ChrisPenner 732f78f
Circumvent pattern-match coverage checker. Remove this commit and fix it
ChrisPenner d19d20f
WIP pattern match runtime
ChrisPenner 0dfb37b
Add ANF cases for record pattern-matching
ChrisPenner a98d0df
More ANF record pattern matching
ChrisPenner cf480e5
Add RecUnpack instr
ChrisPenner 289bc07
Simple runtime pattern matching is working
ChrisPenner 6ceb411
Working pattern unpacking for fully specified record patterns
ChrisPenner c3d06ec
Remove old debug statements
ChrisPenner b2fcefd
Add unexpected field error
ChrisPenner 577fd3d
Store actual HashMap in runtime Closure
ChrisPenner 7ed9786
Attempt to fix lsp errors
ChrisPenner 999eb87
Add new records transcript
ChrisPenner f278efc
Update transcripts
ChrisPenner dbd4739
Implement `{field : f | ...}` field subset typechecking
ChrisPenner 65c331b
Fix imports
ChrisPenner d7f1156
Rewrite Emit monad
ChrisPenner 2bef918
Finish rewriting Emit monad
ChrisPenner ca7483a
Start threading RFM initialization
ChrisPenner d7fe4a9
Better RecordFieldMapping builder
ChrisPenner 20eb2de
WIP
ChrisPenner 3bdafe5
Compiling with field-refs
ChrisPenner 4cd43b6
Working again, now with FieldRefs
ChrisPenner f17c0d0
Fix badly recursive case in term printer
ChrisPenner cf4720a
Fix up groupCases
ChrisPenner 24be717
Fix folding over vs in record literal
ChrisPenner 54d7643
automatically run ormolu
ChrisPenner 28e0ff7
Transcript updates
ChrisPenner 1684501
Transcript updates
ChrisPenner 2fe90e6
Implement Universal compare on records
ChrisPenner 09ef8d2
PR Cleanup
ChrisPenner 434d9c5
Update universals in transcript
ChrisPenner 67c110f
Records: fix ANF tag deserialization and delimit record hashes
ChrisPenner 1ea4bf1
Records: fix nested record patterns and correct record type errors
ChrisPenner 90d0f63
Records: support refutable patterns inside record patterns
ChrisPenner 6f98119
Records: reject duplicate field names
ChrisPenner 540321d
Records: order record fields by name, and implement value reflection
ChrisPenner bc84e02
Records: print real field names in runtime errors
ChrisPenner ff6525a
Records: add field projection with `r@x`
ChrisPenner 248b1eb
Records: support record patterns in `@rewrite case` rules
ChrisPenner 44903e5
Merge trunk into the records branch
ChrisPenner cbfab33
Records: repair the runtime test suite
ChrisPenner e44404b
Records: make record patterns compare equal to each other
ChrisPenner 0f01c31
Disable libffi tests on mac, where system libffi doesn't behave.
ChrisPenner cbc8846
Bump codebase version
ChrisPenner e0368dd
Records: row variables, rec@foo.set, and record sections
pchiusano fdf1ae9
Better inference of multiple projections
pchiusano 281dd14
Record types in negative position now have an implicit wildcard
pchiusano 42b2991
Records: repair the ANF test suite for FRecSet
pchiusano 03fe9bc
fix formatting
pchiusano 0503949
Better variable names for inferred row types
pchiusano 60e2fd0
Records: drop vacuous row variables from inferred types
pchiusano a3df53e
commit proofs
pchiusano c938f09
added multi-field set and nested set syntax
pchiusano 7255e69
proofs
pchiusano 7832ae9
tweak transcript
pchiusano 1ec6b83
tweak transcript, update proofs
pchiusano File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Add a few missing Record cases in typechecker
- Loading branch information
commit 1cea3b8be4693376d5773dc57b8f654f6fe10f6f
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.