KtorZ
03a5a9293c
Replace snapshot test for export recursive function
...
This test contains a pattern match on a 2-tuple, which induced a
slight code change in UPLC as expected.
2024-05-04 14:04:12 -04:00
KtorZ
7cb548a749
Fix ordinal index on pairs
2024-05-04 14:04:12 -04:00
KtorZ
2cb2c7fa1f
Add dedicated 'Pair' typed and untyped expression
...
Before this commit, we would parse 'Pair' as a user-defined
data-types, and thus piggybacking on that whole record system. While
perhaps handy for some things, it's also semantically wrong and
induces a lot more complexity in codegen which now needs to
systematically distinguish every data-type access between pairs, and
others.
So it's better to have it as a separate expression, and handle it
similar to tuples (since it's fundamentally a 2-tuple with a special
serialization).
2024-05-04 14:04:12 -04:00
KtorZ
390bccd406
Fix blueprint validator test snapshot.
2024-05-04 14:04:12 -04:00
KtorZ
92a1da69d9
Add (possibly temporary) assertion on record access in codegen
2024-05-04 14:04:12 -04:00
KtorZ
3dd94983bd
Revert "fixing more pair issues"
...
This reverts commit b76cc7436294cd73e7bbaf656c76a8f8b0ad56a9.
2024-05-04 14:04:12 -04:00
microproofs
46c7cb797a
fixing more pair issues
2024-05-04 14:04:12 -04:00
microproofs
ebe415cfc9
fix errors
2024-05-04 14:04:12 -04:00
KtorZ
5c59b816ea
Add parser for 'Pair' pattern
...
And a few more tests along the way for others. Note that it is important here that we try to parse for a 'Pair' BEFORE we try to parse for a constructor pattern. Because the latter would swallow any Pair pattern.
2024-05-04 14:04:12 -04:00
KtorZ
91a7e77ab4
Add 'Pair' pattern and rework internals to use it.
...
Currently, pattern-matching on 'Pair' is handled by treating Pair as a
record, which comes as slightly odd given that it isn't actually a
record and isn't user-defined. Thus now, every use of a record must
distinguish between Pairs and other kind of records -- which screams
for another variant constructor instead.
We cannot use `Tuple` either for this, because then we have no ways to
tell 2-tuples apart from pairs, which is the whole point here. So the
most sensical thing to do is to define a new pattern `Pair` which is
akin to tuples, but simpler since we know the number of elements and
it's always 2.
2024-05-04 14:04:12 -04:00
KtorZ
897b5d1d7e
Ensure type-aliases pretty-printing also work with Pair.
2024-05-04 14:04:12 -04:00
KtorZ
3020af7cd7
Revert 'unify' implementation back to its more elegant form
...
And add support for Pair.
2024-05-04 14:04:12 -04:00
KtorZ
cbf3ef2854
Add new Prelude alias: 'Map'
2024-05-04 14:04:12 -04:00
microproofs
d7574e738f
fix: remaining cargo tests
2024-05-04 14:04:12 -04:00
microproofs
999e408a28
fix some more tests
2024-05-04 14:04:12 -04:00
microproofs
7b5ad961e2
fix: found issue with record access on Pairs
2024-05-04 14:04:12 -04:00
microproofs
cb1ca84dad
fixing more tests
2024-05-04 14:04:12 -04:00
microproofs
30dd1f60e7
small simplification
2024-05-04 14:04:12 -04:00
microproofs
75b076552c
feat: Do a major overhaul on how we check types to allow for match patterns instead of if statements
...
Also fix one more test
2024-05-04 14:04:12 -04:00
microproofs
3c332ca42a
Few more places in codegen where we need to be able to deal with Pair records
2024-05-04 14:04:12 -04:00
microproofs
26f68c2fb4
fix: found various unify and type issues while running tests
2024-05-04 14:04:12 -04:00
microproofs
fd226be51f
add Pair type to prelude
2024-05-04 14:04:12 -04:00
microproofs
a8c8cf41cf
Finishing up codegen changes for pair
2024-05-04 14:04:12 -04:00
microproofs
963d275bb8
continue progress on pair adding
2024-05-04 14:04:12 -04:00
microproofs
21b60896f0
remove wild card match from tree functions
...
Start working on supporting Pair clauses
2024-05-04 14:04:12 -04:00
microproofs
f950ae7d3d
WIP: add new opcodes to Air and AirTree and update parts of codegen to handle the new pair type
2024-05-04 14:04:12 -04:00
microproofs
9e78f0fc2a
update for latest main
2024-05-04 14:04:12 -04:00
microproofs
61a021f9e3
update pair to handle alias
2024-05-04 14:04:12 -04:00
microproofs
d05d8e7de6
Start working on separating pairs from 2 tuples in Aiken
...
co-authored-by: KtorZ <matthias.benkort@gmail.com>
2024-05-04 14:04:12 -04:00
rvcas
a9c8054819
chore: update license
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
Co-authored-by: KtorZ <matthias.benkort@gmail.com>
2024-05-01 22:10:47 -04:00
KtorZ
db8eb6a108
Provide more context for some panics
...
Actually ran into them both, will open issues about those in a bit.
2024-05-01 12:04:47 +02:00
KtorZ
925a11be69
Check for args length when comparing types. Duh!
...
Fixes #917 .
2024-05-01 10:48:15 +02:00
Christopher Valerio
24560e9acd
fix: fixing bash messages
2024-04-28 17:21:19 -06:00
Christopher Valerio
6c052f44a1
fix: Adding better error messages
2024-04-28 17:18:37 -06:00
Christopher Valerio
3c66da75d6
Improving errors
2024-04-28 17:13:48 -06:00
Christopher Valerio
9d4c09c722
fix: Removing debugging flag
2024-04-28 17:04:47 -06:00
Christopher Valerio
0b2786e335
feat: aikup install completions scripts linux only
2024-04-28 17:04:47 -06:00
Christopher Valerio
063f3d0835
feat: Adding installation for fish and bash
2024-04-28 17:04:46 -06:00
Christopher Valerio
c5faffe946
feat: adding oh-my-zsh support
2024-04-28 17:04:46 -06:00
Christopher Valerio
949f16f34a
rebase from main
2024-04-28 17:04:40 -06:00
microproofs
945a3f743b
feat: builtin wrapper reduction optimization
2024-04-26 19:24:04 +02:00
rvcas
4f99c81dee
chore: update changelog
2024-04-12 21:43:28 -04:00
Micah Kendall
ff4ddfbe1b
Simplifying PR per reviewers request
2024-04-12 21:40:27 -04:00
Micah Kendall
d39dbd6697
fmt
2024-04-12 21:40:27 -04:00
Micah Kendall
d25b8f91c7
feat: Emit keyword
2024-04-12 21:40:27 -04:00
rvcas
23713ce6fa
chore: update changelog
2024-04-09 11:48:32 -04:00
rvcas
17ddbfaafa
chore: remove dbg
2024-04-08 14:30:07 -04:00
rvcas
5fc338a1eb
test: add some snapshot tests for export type
2024-04-08 14:30:07 -04:00
rvcas
5cb1e23008
fix: program generate should only run after params and args are validated
2024-04-08 14:30:07 -04:00
rvcas
cac119338d
feat(blueprint): a memoized program that only runs code gen every other time
2024-04-08 14:30:07 -04:00