Commit Graph

2110 Commits

Author SHA1 Message Date
rvcas 0382e5ce12
chore: this comment doesn't make sense 2023-11-17 18:41:28 -05:00
rvcas df992cba67 chore: remove check_type 2023-11-17 13:58:13 -05:00
rvcas 9ab458dcc6 feat: delay typemismatch errors in the machine runtime
to pass 2 of the conformance tests, we need to make sure
that we aren't typechecking builtin arguments as arguments
are applied. This switches push to by removing the call to check_type
and then reworking all the associated unwrap methods on Value
so that they return the same errors that were being returned before.
2023-11-17 13:58:13 -05:00
rvcas ed909055b5 chore: temp remove conformance tests that are failing 2023-11-15 15:55:56 -05:00
rvcas 308fb47e40 fix: don't panic on invalid hex strings 2023-11-15 15:55:56 -05:00
rvcas dfa0378404 chore: explain a todo in the machine 2023-11-15 15:55:56 -05:00
rvcas 3f8f624a7b fix(uplc): more whitespace characters 2023-11-15 15:55:56 -05:00
rvcas 58d98b3325 fix(uplc): parser should accept single quote in var name and comments 2023-11-15 15:55:56 -05:00
rvcas b6f6064aaf test: add all plutus conformance tests 2023-11-15 15:55:56 -05:00
rvcas b80db2f7f8 fix(bls): wrong types for equals functions 2023-11-15 15:55:56 -05:00
rvcas d53d2665b2 test(bls): g1 and g2 formatting 2023-11-15 15:55:56 -05:00
rvcas c910e0054e test(bls): constant parsing tests 2023-11-15 15:55:56 -05:00
rvcas 7073fd29b3 test(bls): literal parsing tests 2023-11-15 15:55:56 -05:00
microproofs 8b89ba3b93 feat: implement bls primitives in code gen 2023-11-15 15:55:56 -05:00
microproofs d51374aac1 feat: add conversion to data and from data for new primitive types 2023-11-15 15:55:56 -05:00
rvcas 3675762c3e feat(bls): aiken level g1 and g2 literals 2023-11-15 15:55:56 -05:00
rvcas 90aea6476a feat: uplc g1 and g2 literal parsing 2023-11-15 15:55:56 -05:00
rvcas 6ce85e1662 fix: add keccak to TryFrom<u8> 2023-11-15 15:55:56 -05:00
rvcas 49ae8152f8 feat(bls): add new aiken level builtins 2023-11-15 15:55:56 -05:00
rvcas 8a3a465237 feat(bls): add new types to aiken prelude 2023-11-15 15:55:56 -05:00
rvcas cdcd8172e6 feat(bls): pretty print mlresult type 2023-11-15 15:55:56 -05:00
rvcas 318ae6aad4 feat(bls): finish cost model 2023-11-15 15:55:56 -05:00
rvcas 5243c36ed6 feat(bls): add default costs for the new functions 2023-11-15 15:55:56 -05:00
microproofs 18db1c394a feat: Implemented builtin semantic versioning
feat: impl flat serialization and deserialization for bls constants
feat: started on cost models for the new builtins

Co-authored-by: rvcas <x@rvcas.dev>
2023-11-15 15:55:56 -05:00
rvcas f101581813 feat(bls): pretty printing for g1 and g1 element
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-11-15 15:55:56 -05:00
microproofs 0d2ac952d0 feat: implemented the Bls381-12 builtins and types
also implemented Keccak256 and Blake2b_224

TODO: cost model, flat serialization, pretty

Co-authored-by: rvcas <x@rvcas.dev>
2023-11-15 15:55:56 -05:00
microproofs 446ef11606 chore: finishing acceptance test 29
and updating acceptance test lock files
2023-11-08 14:31:44 -05:00
microproofs d50fb99b75 feat: add acceptance tests 28-30 2023-11-08 14:31:44 -05:00
microproofs 7d319077e6 chore: clean up validator comments and
commit script context test lockfile
2023-11-06 15:49:13 -05:00
microproofs 5d56d41a68 chore: update lock files for acceptance tests 2023-11-06 15:37:04 -05:00
microproofs 2f694b01cb chore: use insta snapshot for blueprint validator tests 2023-11-06 15:37:04 -05:00
microproofs 4eebd4628b chore: fix comment 2023-11-06 15:37:04 -05:00
microproofs 7427bac4a0 chore: remove unused code 2023-11-06 15:37:04 -05:00
microproofs 598ec5eaef Use a better algorithm for inlining single occurrences 2023-11-06 15:37:04 -05:00
microproofs 49bd4ba33d chore: Release 2023-10-25 19:00:03 -04:00
microproofs d2202a705c update changelog 2023-10-25 18:59:44 -04:00
microproofs 4dd17dacf3 chore: rename uplc builder builtins 2023-10-22 17:08:48 -04:00
waalge 3e283a59ec Split off builtin function builders
- sort alphabetically
- add some of the missing builtins used for ints
- comment on what is "correct" for future additions
- comment on the current remaining missing builtins
- comment on the current incoherent method names
2023-10-22 17:08:48 -04:00
KtorZ 46c58dbd61
Implement quickfixes for redundant imports. 2023-10-22 00:29:09 +02:00
KtorZ 28b699c86a
Merge unused imported constructors and unused imported type with unused imported value
This was somewhat weirdly done, with a boolean 'imported' set on the
  formers; but an explicit new warning for values. I don't see the point
  of distinguishing them so I just merged them all into a single
  warning.

  I have however preserved the 'UnusedType' and 'UnusedConstructor'
  warnings since they were ALSO used for unused private constructors or
  types.
2023-10-22 00:27:33 +02:00
KtorZ 5f8e256050
Present aiken-lsp & fill-in CHANGELOG 2023-10-21 21:39:30 +02:00
KtorZ 17832fc5af
Fix clippy warnings: remove redundant closures & guards. 2023-10-21 21:27:31 +02:00
Matthias Benkort d6f74b5932
Merge pull request #753 from aiken-lang/lsp/quickfix-unknowns
Lsp/quickfix unknowns
2023-10-21 21:23:56 +02:00
KtorZ c0513da032
Add quickfix for unknown constructors. 2023-10-21 14:24:47 +02:00
KtorZ f6eff7ec58
Fix incoherent 'UnknownVariable' being returned in type-check
I initially removed the 'UnkownTypeConstructor' since it wasn't used anywhere and was in fact dead-code. On second thoughts however, it is nicer to provide a slightly better error message when a constructor is missing as well as some valid suggestion. Prior to that commit, we would simply return a 'UnknownVariable' and the hint might suggest lowercase identifiers; which is wrong.
2023-10-21 14:10:45 +02:00
KtorZ 5986163ba7
Add quickfix for unknown alias & data types. 2023-10-21 13:57:06 +02:00
KtorZ d965467a53
Fix insertion of unqualified import when first
I previously missed a case and it causes qualified imports to be added at the end if they are lexicographically smaller than ALL other qualified imports. No big deal, but this is now fixed.
2023-10-21 13:56:15 +02:00
KtorZ c550b4766d
Implement quickfix for 'UnknownModule'. 2023-10-21 12:59:48 +02:00
KtorZ e48ac6b592
Relocate and refactor quickfix code into its own module
We're going to have more quickfixes, to it's best not to overload the
  'server' module. Plus, there's a lot of boilerplate around the
  quickfixes so we might want to factor it out.
2023-10-21 12:00:58 +02:00
KtorZ 763516eb96
Refactor and relocate document edits function for imports.
It's a bit 'off-topic' to keep these in aiken-lang as those functions are really just about lsp. Plus, it removes a bit some of the boilerplate and make the entire edition more readable and re-usable. Now we can tackle other similar errors with the same quickfix.
2023-10-21 11:31:01 +02:00