KtorZ
2d99c07dd3
Support (and default to) parenthesis for block expressions
...
This changes allow to use parenthesis `(` `)` to encapsulate
expressions in addition to braces `{` `}` used to define blocks.
The main use-case is for arithmetic and boolean expressions for which
developers are used to using parenthesis. For example:
```
{ 14 + 42 } * 1337
```
can now be written as:
```
( 14 + 42 ) * 1337
```
This may sound straightforward at first but wasn't necessarily trivial
in Aiken given that (a) everything is an expression, (b) whitespaces
do not generally matter and (c) there's no symbol indicating the end
of a 'statement' (because there's no statement).
Thus, we have to properly disambiguate between:
```
let foo = bar(14 + 42)
```
and
```
let foo = bar
(14 + 42)
```
Before this commit, the latter would be interpreted as a function call
and would lead to a somewhat puzzling error. Now, the newline serves
as a delimiting symbol. The trade-off being that for a function call,
the left parenthesis has to be on the same line as the function name
identifier -- which is a fair trade off. So this is still allowed:
```
let foo = bar(
14 + 42
)
```
As there's very little ambiguity about it.
This fixes #236 and would seemingly allow us to get rid of the leading
`#` in front of tuples.
2023-01-14 11:49:45 -05:00
KtorZ
b791131fd0
Small tweak on error messages; better grammer.
2023-01-14 14:13:30 +01:00
rvcas
c6fe5235fe
chore: fmt acceptance test 40
2023-01-13 14:55:18 -05:00
Kasey White
7b023911af
add assert and record
...
Record is a more efficient air for making records
Assert guarantees a custom is of a certain variant.
2023-01-13 13:50:27 -05:00
Kasey White
1721c3945b
Refactors:
...
Add test 40
refactor how we get data type from type
Call contains type now to handle certain record cases
2023-01-13 13:50:27 -05:00
KtorZ
2b26d9a0c1
Align README's tagline with website.
2023-01-13 10:18:03 +01:00
rvcas
59ef63b513
chore: field might not always need to be plural
2023-01-11 20:47:47 -05:00
rvcas
99a334b132
fix(check): the expected arity with hardcoded to 0
2023-01-11 20:47:47 -05:00
rvcas
3be05b1545
fix(fmt): error fmt was removing label
2023-01-11 19:47:11 -05:00
Kasey White
eac8f7a80e
replace discard assignment with nothing
2023-01-11 09:46:37 -05:00
Matthias Benkort
e61a56566d
Merge pull request #248 from aiken-lang/rvcas/match_tests
...
`aiken check` make match tests flag fancier
2023-01-10 19:33:51 +01:00
KtorZ
e06bbc4e73
Slightly edit module matching logic for conciseness/clarity
...
Also allow using identifier names directly as shorthand, without
surrounding .{ ... }
2023-01-10 18:41:02 +01:00
rvcas
99ec0ff6b0
feat(check): change some logic around and add --exact-match
2023-01-10 11:46:44 -05:00
rvcas
9002ea263f
feat(check): make match tests flag fancier
2023-01-10 10:19:13 -05:00
rvcas
6a95d23811
fix: filter on regular iter before par iter cc @kprotty
2023-01-09 18:21:40 -05:00
rvcas
158b3dfe51
feat(aiken-project): use rayon to run tests in parallel
2023-01-09 18:12:18 -05:00
rvcas
6ea9ad9c41
chore: clippy warnings
2023-01-09 18:12:18 -05:00
Kasey White
ce2de96226
clippy fix
2023-01-08 19:42:49 -05:00
Kasey White
42c8d50fa1
feat: finish record update
2023-01-08 19:42:49 -05:00
Kasey White
ea135e6f42
refactor term::apply to apply_wrap. Fixed a list eq binop
2023-01-08 19:42:49 -05:00
rvcas
d649b34ec3
Release 0.0.28
...
aiken@0.0.28
aiken-lang@0.0.28
aiken-lsp@0.0.28
aiken-project@0.0.28
uplc@0.0.28
Generated by cargo-workspaces
2023-01-06 13:41:00 -05:00
rvcas
b6de2549a2
chore: update changelog
2023-01-06 13:39:18 -05:00
rvcas
c89802eaed
chore: bump pallas version
2023-01-06 13:39:18 -05:00
Matthias Benkort
a51736187f
Merge pull request #238 from aiken-lang/record-update
...
Nested list fix and Boolean constant fix
2023-01-06 14:30:59 +01:00
KtorZ
7e8e8fd4a7
Try fixing acceptance step in CI.
2023-01-06 14:23:46 +01:00
Kasey White
1a29ee3b72
my discard add got lost in the rebasing -_-
2023-01-06 14:23:46 +01:00
Kasey White
dc052bf9b8
fix nested lists without removing discard pop
...
Also fix bool constants created as a data type like in a list
start on record update
fix: nested list issues in when statements
2023-01-06 14:23:45 +01:00
Matthias Benkort
de7a8f6f20
Merge pull request #240 from matiwinnetou/aiken-examples
...
hello world for starters
2023-01-06 13:49:30 +01:00
KtorZ
193792b48f
Draft quick README, use ENV var for passing configuration.
2023-01-06 13:44:20 +01:00
KtorZ
1b7be32d74
rename 'hello_world-keygen.ts' as 'generate-credentials'
...
And add *.sk to .gitignore!
2023-01-06 13:32:27 +01:00
KtorZ
eb2f4a8056
Use pinned version of the stdlib.
2023-01-06 13:31:18 +01:00
KtorZ
7c2b1ac269
Define 'local' gitignore for examples' packages.
2023-01-06 13:30:56 +01:00
Mateusz Czeladka
1142c6ca6d
hello world for starters
2023-01-06 13:24:15 +01:00
KtorZ
aff96d99af
Return non-zero exit code on acceptance test failure.
2023-01-06 13:10:11 +01:00
KtorZ
3e4f7c0422
Fix acceptance test runner path in CI workflow.
2023-01-06 13:01:52 +01:00
KtorZ
470e331b26
Include acceptance tests in the CI workflow
2023-01-06 06:56:09 +01:00
KtorZ
4b34617466
Revert "fix: nested list issues in when statements"
...
This reverts commit 542962a2ea
.
2023-01-06 06:50:42 +01:00
KtorZ
613fb3c957
Add new acceptance test scenario 038
2023-01-06 06:46:15 +01:00
alessandrokonrad
3aba9baba5
Fixed reward account creation in ScriptContext
2023-01-05 10:31:32 -05:00
Kasey White
542962a2ea
fix: nested list issues in when statements
2023-01-03 01:31:18 -05:00
Kasey White
88d5d1b7f7
chore: add 036 assets
2022-12-31 00:09:02 -05:00
Kasey White
67e4ff8317
feat: allow functions from prelude
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-12-31 00:09:02 -05:00
Kasey White
e495eefb34
feat implement tuple index
2022-12-31 00:09:02 -05:00
Kasey White
3514e66234
Fix to variant name creation for dependencies.
...
Last few changes to go Tuple Index,
Assert, Check, not
change test 35 to produce intended functionality
2022-12-30 14:01:11 -05:00
Kasey White
b0ea187151
better data deserialization errors and test hint
...
now runs even being in a sequence
2022-12-30 14:01:11 -05:00
rvcas
ee678f2978
Release 0.0.27
...
aiken@0.0.27
aiken-lang@0.0.27
aiken-lsp@0.0.27
aiken-project@0.0.27
flat-rs@0.0.27
uplc@0.0.27
Generated by cargo-workspaces
2022-12-30 00:57:49 -05:00
Kasey White
34d398ab3b
fix dependencies ordering so now test 34 passes
2022-12-29 17:14:23 -05:00
Kasey White
306fa891a0
validator params are now converted to type from data
2022-12-29 17:14:23 -05:00
KtorZ
d5d878e83c
Add acceptance test scenario: 037
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/aiken-
│ project/src/lib.rs:701:36
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text:
"_not", unique: Unique(1) })
```
2022-12-29 17:40:21 +01:00
KtorZ
85a6a711e1
Add more colors to error messages.
...
And, let 'formatdoc' insert newlines when relevant to
format the text to the same column length.
2022-12-29 17:38:34 +01:00