Commit Graph

322 Commits

Author SHA1 Message Date
Kasey White
29a30aa61f feat: finished when constr is for IR and code gen 2022-12-05 14:18:44 -05:00
rvcas
86ea41adc3 feat: start when expressions 2022-12-05 14:18:44 -05:00
Kasey White
8b24a66b7e add field access and list patterns are finished
Co-authored-by: rvcas <x@rvcas.dev>
2022-12-05 14:18:44 -05:00
KtorZ
375499930a Add UPLC support for 'ProtoList' & 'ProtoPair' constants
Supersedes #35.

  The syntax for these elements isn't "set in stone"; in the sense that it is unspecified in [input-output-hk/plutus](https://github.com/input-output-hk/plutus). There's no visible plan from IOG to extend the Haskell parser to support this syntax, though there are samples of imagined syntax in the code. Thus, we can lead the way and simply choose a suitable syntax and let the Haskell implementation align to it later.

  This syntax is thus inspired from input-output-hk/plutus' samples, with only a small change: we use `<` and `>` for encapsulating type declaration instead of `(`, `)`. There are already enough parentheses in the UPLC syntax, adding more reduces visibility.

  Doing this, I've also added a lot more test cases for the UPLC parser. There could be more, but this is a good start.

  Here are some example programs (taken from test cases) utilizing this syntax:

  ```
  (program 0.0.0 (con list<bytestring> [#00, #01]))
  ```

  ```
  (program 0.0.0
      (con pair
        <integer, integer>
        [14, 42]
      )
  )
  ```

  ```
  (program 0.0.0
      (con pair<string, list<integer>> ["foo", [14, 42]])
  )
  ```

  _(Note that this was mainly done as an exercise to get more familiar with Rust and parts of Aiken.)_
2022-12-03 10:16:16 -05:00
eyelash
6066e3176c move to_string() outside of the match 2022-11-28 17:30:45 -05:00
rvcas
d5087dbcc7 fix: it's more consistent to have snakecase builtins 2022-11-24 18:36:22 -05:00
rvcas
f089eff97d Release 0.0.25
aiken@0.0.25
aiken-lang@0.0.25
aiken-lsp@0.0.25
aiken-project@0.0.25
uplc@0.0.25

Generated by cargo-workspaces
2022-11-14 18:04:19 -05:00
rvcas
01e91b9fe5 chore: deal with clippy warnings 2022-11-10 01:27:18 -05:00
Kasey White
6c6aefd1c4 get basic when conditions to work 2022-11-08 22:21:07 -05:00
Kasey White
3cafb2bcbe checkpoint commit 2022-11-08 22:21:07 -05:00
rvcas
d8f3ada13e chore: add default for Interner 2022-11-08 22:21:07 -05:00
Kasey White
ffa78e4c30 work out some initial direction for code gen 2022-11-08 22:21:07 -05:00
rvcas
3df275043a Release 0.0.24
aiken@0.0.24
aiken-lang@0.0.24
aiken-project@0.0.24
uplc@0.0.24

Generated by cargo-workspaces
2022-11-04 13:56:15 -04:00
alessandrokonrad
af7ca87ffc Fixed more clippy issues 2022-11-04 18:21:22 +01:00
alessandrokonrad
9a2c6753cd Fixed clippy issues 2022-11-04 18:13:46 +01:00
alessandrokonrad
d1141f306a Sorted all relevant structures in ScriptContext 2022-11-04 17:58:23 +01:00
rvcas
c4db8c951f Release 0.0.23
aiken@0.0.23
aiken-lang@0.0.23
aiken-project@0.0.23
uplc@0.0.23

Generated by cargo-workspaces
2022-11-03 20:27:03 -04:00
Kasey White
887f5eeee9 sorts inputs for sc 2022-11-03 05:04:21 -04:00
rvcas
1b6e5d262f Release 0.0.22
aiken@0.0.22
aiken-lang@0.0.22
aiken-project@0.0.22
uplc@0.0.22

Generated by cargo-workspaces
2022-10-31 13:32:54 -04:00
Turner
9bbcdfd0b3 Revert versions, fix changelog 2022-10-28 11:50:19 -07:00
Turner
aabcacbe87 Expose Pallas stuff, bump version, update changelog 2022-10-27 20:40:37 -07:00
rvcas
819256df99 feat: wrap up adding uplc builtins for now 2022-10-25 18:52:27 -04:00
rvcas
15c774b7d0 Release 0.0.21
aiken@0.0.21
flat-rs@0.0.21
uplc@0.0.21

Generated by cargo-workspaces
2022-10-23 17:58:21 -04:00
Kasey White
c89690aa77 Create unknown constructor error for decode 2022-10-23 17:54:21 -04:00
Kasey White
360a5b6017 preceding bytes output changes if you error before position 5 2022-10-23 17:54:21 -04:00
Kasey White
15cfb22c8f more detailed parse errors when decoding with flat 2022-10-23 17:54:21 -04:00
alessandrokonrad
4ef654b660 fixed clippy issue 2022-10-22 18:01:36 -04:00
alessandrokonrad
c6de827721 added apply_params_to_script function 2022-10-22 18:01:36 -04:00
alessandrokonrad
e6f3c40429 changed i64 -> i128 2022-10-19 17:04:43 -04:00
rvcas
ce875a3c47 Release 0.0.20
aiken@0.0.20
aiken-lang@0.0.20
flat-rs@0.0.20
uplc@0.0.20

Generated by cargo-workspaces
2022-10-17 17:22:50 -04:00
alessandrokonrad
a83c731eb1 fixed err description 2022-10-17 08:35:45 -04:00
alessandrokonrad
ad542a68e8 removed unnecessary return statement 2022-10-17 08:35:45 -04:00
alessandrokonrad
0856f6ccf2 added checked operators to some DefaultFunction 2022-10-17 08:35:45 -04:00
alessandrokonrad
cfc1f92646 leave as i128 2022-10-17 08:35:45 -04:00
alessandrokonrad
a14dae5863 changed slot_length to u32 2022-10-17 08:35:45 -04:00
alessandrokonrad
28b9fed8e5 added i128 integer support 2022-10-17 08:35:45 -04:00
rvcas
8e3b32fe2c Release 0.0.18
aiken@0.0.18
uplc@0.0.18

Generated by cargo-workspaces
2022-09-27 09:15:41 -04:00
rvcas
037297880c Release 0.0.17
aiken@0.0.17
uplc@0.0.17

Generated by cargo-workspaces
2022-09-27 09:15:26 -04:00
rvcas
8f9481079c Release 0.0.16
aiken@0.0.16
uplc@0.0.16

Generated by cargo-workspaces
2022-09-27 09:14:11 -04:00
alessandrokonrad
f3b9d33f32 added deserialisation error to machine 2022-09-27 09:13:00 -04:00
rvcas
ae2866f784 Release 0.0.15
aiken@0.0.15
uplc@0.0.15

Generated by cargo-workspaces
2022-09-26 16:34:26 -04:00
alessandrokonrad
3256bfbc32 Wrapped errors in redeemer error 2022-09-26 16:33:52 -04:00
rvcas
e817b39e4c Release 0.0.14
aiken@0.0.14
uplc@0.0.14

Generated by cargo-workspaces
2022-09-26 09:59:28 -04:00
alessandrokonrad
5ec991d83a fixed error handling in eval raw 2022-09-26 03:24:31 -04:00
rvcas
25790287b7 Release 0.0.13
aiken@0.0.13
uplc@0.0.13

Generated by cargo-workspaces
2022-09-24 20:35:36 -04:00
rvcas
08596588a7 feat: output total budget spent from cli 2022-09-24 20:23:51 -04:00
rvcas
4166e27fd7 chore: v1 comments 2022-09-24 19:52:40 -04:00
rvcas
8620332b75 feat: move input from json to helper method 2022-09-24 19:40:07 -04:00
Kasey White
3cb24a1d00 update test mem and cpu assertions for eval tx tests 2022-09-24 18:19:18 -04:00
alessandrokonrad
aa111f0a65 fixed slot 2022-09-25 00:01:01 +02:00