Commit Graph

2428 Commits

Author SHA1 Message Date
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
7f70ae0f74 Remove experimentation in features 2022-06-29 14:02:57 -04:00
Turner
a238dc58a6 Move program builder to uplc crate 2022-06-29 14:02:57 -04:00
Turner
f8aae49fce Appease Clippy-sama 2022-06-29 14:02:57 -04:00
Turner
6748395d9e Remove TODOs 2022-06-29 14:02:57 -04:00
Turner
35bdd542f1 Add test for nested lambdas 2022-06-29 14:02:57 -04:00
Turner
888e64d485 Refactor Lambda too 2022-06-29 14:02:57 -04:00
Turner
c7dfd01a5e Refactor 2022-06-29 14:02:57 -04:00
Turner
41a7b73877 Add test for lambda and some edge cases for constant 2022-06-29 14:02:57 -04:00
Turner
e667fc3613 Add passing tests for builder 2022-06-29 14:02:57 -04:00
rvcas
4db39c8790 Release 0.0.5
aiken@0.0.5
uplc@0.0.5

Generated by cargo-workspaces
2022-06-27 11:46:21 -04:00
Kasey White
302da5e20d Fix clippy warning 2022-06-26 21:38:27 -04:00
Kasey White
4eafdd2d39 fix issue with same names causing 0 index debruijn for var 2022-06-26 21:38:27 -04:00
Turner
027daf30ea Add TODO for failing test with link to bug 2022-06-26 19:03:17 -04:00
Turner
19fd6a0e8c Add comment explaining why that test is only one-way 2022-06-26 19:03:17 -04:00
Turner
1b00e4d416 Sanitize fibonacci program to make round-trip tests happy, isolate unsanitary code 2022-06-26 19:03:17 -04:00
Turner
787f345275 Add new uplc case to test, it is failing 2022-06-26 19:03:17 -04:00
Turner
5ba7349f4a Refactor tests, move them into integ folder 2022-06-26 19:03:17 -04:00
MitchTurner
d8c8f56da1 Create rust.yml 2022-06-26 09:35:08 -04:00
rvcas
38e78cafeb chore: readmes in uplc and cli 2022-06-18 23:15:05 -04:00
rvcas
0dd5cf2cb6 Release 0.0.4
aiken@0.0.4

Generated by cargo-workspaces
2022-06-18 23:06:15 -04:00
rvcas
7129ad6202 feat: remove authors from cli help 2022-06-18 23:06:05 -04:00
rvcas
5bd848b0b8 Release 0.0.3
aiken@0.0.3
uplc@0.0.3

Generated by cargo-workspaces
2022-06-18 22:55:04 -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