Commit Graph

76 Commits

Author SHA1 Message Date
Kasey White b3cb9c4510 use expect instead of unwrap 2022-07-24 19:51:57 -04:00
rvcas 2a85567154 chore: clippy 2022-07-24 19:51:57 -04:00
rvcas 9e62181caa feat: new Error not a constant 2022-07-24 19:51:57 -04:00
rvcas 77a7b11467 feat: finish to_ex_mem for constant
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-07-24 19:51:57 -04:00
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