Commit Graph

56 Commits

Author SHA1 Message Date
rvcas cfbe5fd3cc
feat: use BigInt in constant integer 2023-02-09 09:46:42 -05:00
Kasey White 1843b7e73b clippy fix and remove some prints 2023-02-01 23:49:33 -05:00
Kasey White fdf89b7326 implement optimizations
-Force usage on builtins
-Inline vars used once
-Lambdas that use a var as an arg
-Lambdas that use a const as an arg
2023-02-01 23:49:33 -05:00
rvcas a365649360 chore: clippy autofix 2023-02-01 18:53:11 -05:00
rvcas c8efe60843 feat: use Rc for more things, fib_iter runs almost 3 seconds faster now 2023-02-01 18:53:11 -05:00
rvcas eda3194cf0 feat: trying Rc for Name 2023-02-01 18:53:11 -05:00
KtorZ cab59c188a
Define serde's Serialize/Deserialize for Program<DeBrujin>
This will be useful to re-use this behavior in other structure that contains a Program<DeBruijn> without having to manually serialize or deserialize the entire structure.
2023-01-31 15:39:40 +01:00
Kasey White a08c615da4 checkpoint 2022-12-27 19:35:08 -05:00
rvcas f250d3df84
feat: eval should take initial budget 2022-12-08 19:24:20 -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
alessandrokonrad 28b9fed8e5 added i128 integer support 2022-10-17 08:35:45 -04:00
rvcas caa88dab12
fix: valid condition for a script 2022-09-19 16:00:25 -04:00
rvcas f10e3836ad
feat: new error for bad term 2022-09-19 11:04:21 -04:00
alessandrokonrad 1148863a43 Allow to set initial budget 2022-09-19 12:02:41 +02:00
rvcas 68fc0f643e
feat: add some v1 methods so that cost_mdls can be optional 2022-09-18 15:16:41 -04:00
Kasey White 472cea6c41 parameratize cost model 2022-09-17 21:12:48 -04:00
rvcas cf27c0c755
feat: apply redeemers and datum to script 2022-09-14 18:51:08 -04:00
Lucas 6d6f671f4f
eval with inputs (#56) 2022-09-08 18:20:52 -04:00
rvcas 8ed87c5f17 chore: fix clippy issues 2022-08-17 22:40:32 -04:00
Kasey White 2bb482d9ec Using rc we now get code that runs much faster and
can run jpg contract with no inputs
2022-08-17 22:40:32 -04:00
rvcas 61b70e7e3d feat: encode plutus data 2022-08-05 00:38:41 -04:00
Kasey White d14920265e flat encoding for list and pairs
Co-authored-by: rvcas <x@rvcas.dev>
2022-08-05 00:38:41 -04:00
rvcas 198dae7f5d feat: impl display for Program and Term where T: Binder 2022-08-05 00:38:41 -04:00
rvcas e70881c27c feat: add some missing enum members to constant 2022-08-05 00:38:41 -04:00
rvcas 339e638705 feat: impl eval for Program<DeBruijn> 2022-08-02 19:04:25 -04:00
rvcas 9e62181caa feat: new Error not a constant 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
rvcas 22f90bf07f feat: impl ifThenElse kinda
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
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 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 0e2214a908 Implement apply evaluate
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 7b8018447f create initial enums and function of the UPLC cek interpreter 2022-07-24 19:51:57 -04:00
rvcas cbea795f68
feat: only need to compare unique and index 2022-06-17 15:39:31 -04:00
rvcas 59a8f6477b
feat: convet a named debruijn to a name 2022-06-15 20:12:12 -04:00
rvcas dc4246244d
chore: document somethings 2022-06-14 17:27:27 -04:00
rvcas d4251206e7
feat: fake named debruijn 2022-06-05 22:47:04 -04:00
rvcas 377c5c206c
feat: better errors for debruijn converter 2022-06-04 12:16:56 -04:00
rvcas 2f51b23e7e
feat: debruijn conversions and binder
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-06-04 11:15:34 -04:00
rvcas 2ad630de90
feat: use a stack for scope 2022-06-04 00:29:30 -04:00
rvcas 946937f945
feat: more debruijn stuff 2022-06-03 22:00:16 -04:00
rvcas f8edb5d519
feat: start debruijn conversion
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2022-06-03 00:36:39 -04:00
rvcas 83d6b5243e
feat: get program ready for debruijn 2022-06-02 21:39:09 -04:00
Kasey White 581b8fc85d feat: flat tweaks and string interning
Co-authored-by: rvcas <x@rvcas.dev>
2022-05-31 22:57:55 -04:00
rvcas 3f1ddef635
chore: slight clean up 2022-05-30 18:05:50 -04:00
Kasey White 83a784c745 add simple test for decoding 2022-05-30 17:12:32 -04:00
Kasey White 41487733f7 feat: builtin encoding
Co-authored-by: rvcas <x@rvcas.dev>
2022-05-28 00:23:34 -04:00
Kasey White c01469ea51 feat: spec complaint program encoding
Co-authored-by: rvcas <x@rvcas.dev>
2022-05-27 22:37:08 -04:00