Commit Graph

272 Commits

Author SHA1 Message Date
rvcas
f332dfeb38 feat: 3 new error cases and more generic pretty printing 2022-07-24 19:51:57 -04:00
Kasey White
598c5364fe implement force for builtins
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
rvcas
22f90bf07f feat: impl ifThenElse kinda
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-07-24 19:51:57 -04:00
rvcas
83b9294ac1 chore: print runtime 2022-07-24 19:51:57 -04:00
rvcas
b7e6f7b27f feat: add default builtin costs
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-07-24 19:51:57 -04:00
Kasey White
9f977f7e58 add costing capability for builtins
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
Kasey White
84df3be139 start filling in builtin cost model
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
Kasey White
a5140513de fix: debruijn index - 1
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
rvcas
d55409d8c5 feat: basic builtin execution
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-07-24 19:51:57 -04:00
Kasey White
9ea57aa461 Add some runtime types 2022-07-24 19:51:57 -04:00
Kasey White
045dc8fed8 add builtin cost model
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
rvcas
e8aa013aa4 chore: set to zero in spend loop 2022-07-24 19:51:57 -04:00
Kasey White
93f7849fc0 Finish machine evaluation for all terms except builtin
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
Kasey White
0e2214a908 Implement apply evaluate
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
rvcas
650a789194 chore: step and maybe spend
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-07-24 19:51:57 -04:00
Kasey White
0bf93e59b5 add evaluation for terms
Co-authored-by: rvcas <x@rvcas.dev>
2022-07-24 19:51:57 -04:00
rvcas
795d9ee028 feat: clean up the machine a bit 2022-07-24 19:51:57 -04:00
Kasey White
de476c801b Add costing to steps 2022-07-24 19:51:57 -04:00
Kasey White
7b8018447f create initial enums and function of the UPLC cek interpreter 2022-07-24 19:51:57 -04:00
MitchTurner
0ea42ab7e7 Remove commented code related to closed story (#23)
Co-authored-by: Turner <mitch@tpfs.io>
2022-07-10 12:32:36 -07:00
MitchTurner
ada7b00b49 Expand builder (#20)
* Add bool method

* Add proptest

* Add some more consts and stuff

* Refactor Lambda stuff out

* REfactor

* Convert bytestring test to prop test

* Add string constant

* Add char stuff, despite it not being ready

* Add unit

* Add var

* Add delay

* Add apply

* Add force

* Add error

* Add builtin

* Add example, remove feature

* Rename some stuff

Co-authored-by: Turner <mitch@tpfs.io>
2022-07-01 20:50:58 -07:00
Turner
a238dc58a6 Move program builder to uplc crate 2022-06-29 14:02:57 -04:00
Kasey White
4eafdd2d39 fix issue with same names causing 0 index debruijn for var 2022-06-26 21:38:27 -04:00
rvcas
6aae184848 feat: new fmt command and pretty printing works 2022-06-18 22:54:26 -04:00
rvcas
6a39d4349a feat: everything lines up 2022-06-18 22:54:26 -04:00
Kasey White
d18ac475d1 modification to pretty printing for constants and nesting 2022-06-18 22:54:26 -04:00
rvcas
672c7037f6 fix: add new assert 2022-06-18 22:54:26 -04:00
rvcas
7e86a71772 feat: more pretty printing logic 2022-06-18 22:54:26 -04:00
rvcas
5a6ba40557 feat: start pretty printing 2022-06-18 22:54:26 -04:00
rvcas
cbea795f68 feat: only need to compare unique and index 2022-06-17 15:39:31 -04:00
rvcas
b8c5c268d4 feat: add conversion to tests 2022-06-16 16:54:34 -04:00
rvcas
59a8f6477b feat: convet a named debruijn to a name 2022-06-15 20:12:12 -04:00
rvcas
f7fba12a5f chore: flat is taken in crates.io 2022-06-14 19:11:00 -04:00
rvcas
dc4246244d chore: document somethings 2022-06-14 17:27:27 -04:00
rvcas
984c253f31 feat: rename to aiken and add e2e tests for uplc 2022-06-11 23:22:24 -04:00
Kasey White
1ef116fcda fix: parse negative numbers and empty bytestrings 2022-06-10 17:23:36 -04:00
rvcas
2afded2d27 fix: builtin parsing 2022-06-10 11:48:46 -04:00
rvcas
b05f0846a8 fix: moving to a parser that can handle left recursion 2022-06-10 01:55:28 -04:00
rvcas
86089b4bee fix: different attempt 2022-06-09 00:44:52 -04:00
rvcas
474df4a3ae fix: different attempt 2022-06-08 23:22:34 -04:00
rvcas
74df7f8a7c fix: potential fix for left recursion 2022-06-08 22:21:22 -04:00
rvcas
1c8f3a736b feat: new uplc parser 2022-06-08 21:51:04 -04:00
Kasey White
be477917f2 fix: fixed edge cases to get flat encode and decode working with stress test case 2022-06-08 03:33:09 -04:00
rvcas
21d713ece3 feat: change term parsing order 2022-06-07 22:02:20 -04:00
Kasey White
895f279be0 fix: parser fixes for spacing 2022-06-06 23:28:36 -04:00
rvcas
60a920a0ac fix: more subtle things 2022-06-06 22:51:09 -04:00
rvcas
4c45c95620 fix: var parsing 2022-06-06 22:40:15 -04:00
rvcas
d4251206e7 feat: fake named debruijn 2022-06-05 22:47:04 -04:00
rvcas
349364d867 chore: builtins implement Copy 2022-06-04 14:06:46 -04:00
rvcas
1ecd47a361 feat: clean up errors 2022-06-04 14:01:45 -04:00