Commit Graph

390 Commits

Author SHA1 Message Date
KtorZ e2bc3a9fc4
Update blueprint generation to work with Pairs.
Closes #938.
2024-05-23 18:15:46 +02:00
KtorZ c48f15a957
revert #903 'feat: Emit keyword'
While we agree on the idea of having some ways of emitting events, the
  design hasn't been completely fleshed out and it is unclear whether
  events should have a well-defined format independent of the framework
  / compiler and what this format should be.

  So we need more time discussing and agreeing about what use case we
  are actually trying to solve with that.

  Irrespective of that, some cleanup was also needed on the UPLC side
  anyway since the PR introduced a lot of needless duplications.
2024-05-23 17:22:12 +02:00
KtorZ 5ce30b2632
Rename AList -> Pairs due to popular demand. 2024-05-23 16:45:40 +02:00
rvcas c3ad52b50f
feat: add compiler version to aiken.toml 2024-05-22 15:35:57 -04:00
rvcas c1a913f420
fix(config): add default for plutus version 2024-05-22 13:59:56 -04:00
microproofs c16bd06e97 make sure traverse_uplc_with_helper is always passing the arg to lambda before running the with function.
Breaks #945 again
2024-05-22 11:58:05 -04:00
rvcas edf82f773c
chore: update snapshots 2024-05-22 11:30:02 -04:00
rvcas f5c4f4cb37
chore(plutus_version): use a cuter name in the config field 2024-05-21 17:13:12 -04:00
rvcas f306f1715a
feat: use plutus version in address command
relates to #907
2024-05-21 17:04:25 -04:00
rvcas 3bc3792aa3
feat: add plutus version to aiken.toml
relates to #907
2024-05-21 17:02:20 -04:00
microproofs c1c2cd97b7 New test 103 and clippy fixes 2024-05-21 11:56:12 -04:00
KtorZ 1ed4fa1c69
Show warning when ignoring modules + restyle warnings slightly
Fixes #916.
2024-05-14 13:27:19 +02:00
KtorZ c5de9adcd3
Add some log output / feedback to completion --install 2024-05-10 17:31:48 +02:00
KtorZ ef70c6b8a8 Re-use generic id across builtin type-definitions.
This was somehow wrong and corrected by codegen later on, but we should be re-using the same generic id across an entire definition if the variable refers to the same element.
2024-05-06 15:17:01 -04:00
microproofs 68f1dcc65d Add comment as a reminder to future me 2024-05-06 11:48:10 -04:00
microproofs 2f61f59b60 Closes #909 2024-05-06 11:35:05 -04:00
microproofs a44ed4c1a8 Change prelude Map to AList 2024-05-04 14:04:12 -04:00
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
microproofs ebe415cfc9 fix errors 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 cb1ca84dad fixing more tests 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 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
Micah Kendall d25b8f91c7 feat: Emit keyword 2024-04-12 21:40:27 -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
rvcas aa3896e92a feat(export): allow trace levels to be controlled 2024-04-08 14:30:07 -04:00
rvcas dac3308620 feat(Project::export): use Export::from_function and transpose
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2024-04-08 14:30:07 -04:00
rvcas 8ed930ac5a feat: implement Export object based on blueprint
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2024-04-08 14:30:07 -04:00
rvcas 3cdb21ad6b feat(blueprint): make a helper public 2024-04-08 14:30:07 -04:00
rvcas a11b1fa56a chore: cleanup validator creator method 2024-04-08 14:30:07 -04:00
rvcas 9322020a5e feat(blueprint): re-export Error 2024-04-08 14:30:07 -04:00
rvcas f50f7e42db feat(project): create export type
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2024-04-08 14:30:07 -04:00
rvcas 1d462314c4 feat: use new generate_raw function 2024-04-08 14:30:07 -04:00
rvcas 7d67f1497c feat(export): implement basic command functionality 2024-04-08 14:30:07 -04:00
microproofs a6003c3be9 chore: push changes in blueprint snapshot test 2024-03-27 15:57:29 -04:00
microproofs 8495f98c1d remove print 2024-03-17 16:26:10 -04:00
microproofs 61936cb91e fix(codegen): Add tracing when checking for a constr vs another primitive 2024-03-17 16:25:17 -04:00
KtorZ d1ba8db889
Do not generate documentation for empty modules. 2024-03-15 21:40:57 +01:00
KtorZ 6515efeb73
Implementing remaining shrinking strategies.
This makes the search for counterexample slower in some cases by 30-40% with the hope of finding better counterexamples. We might want to add a flag '--simplification-level' to the command-line to let users decide on the level of simplifications.
2024-03-15 13:36:05 +01:00
Matthias Benkort b09e0316fa
Merge pull request #877 from aiken-lang/dependencies-pruning
Only compile modules the project depends on
2024-03-15 00:25:00 +01:00