Commit Graph

14 Commits

Author SHA1 Message Date
rvcas d337e601cb
chore: add a test for by name with params 2024-08-27 18:10:46 -04:00
KtorZ 1198d7a5ae
Adjust hello world example to new Plutus V3 syntax. 2024-08-25 16:29:24 +02:00
rvcas 03a348040b
chore: convert hello_world to v3 2024-08-25 16:20:04 +02:00
rvcas c1a913f420
fix(config): add default for plutus version 2024-05-22 13:59:56 -04:00
microproofs d8d2fb0ebc fix example error 2024-05-04 14:04:12 -04:00
KtorZ 524d0dadf5
Add compiler's version to blueprint. 2023-10-06 14:17:55 +02:00
rvcas 135dbd8335 feat: handle pipe fn infer TODOs
This improves error messages for `a |> b(x)`.

We need to do a special check when looping over the args
and unifying. This information is within a function that does not belong
to pipe typer so I used a closure to forward along a way to add
metadata to the error when the first argument in the loop has a
unification error. Simply adding the metadata at the pipe typer
level is not good enough because then we may annotate regular
unification errors from the args.
2023-10-03 01:17:15 -04:00
rvcas 4ca8681ca0
chore: commit example lock files 2023-09-20 13:26:49 -04:00
rvcas bc0824f4eb
chore: new aiken.lock files for examples 2023-09-13 18:17:40 -04:00
KtorZ c711a97e69 Throttle calls to package registry for version resolution
The 'HEAD' call that is done to resolve package revisions from
  unpinned versions is already quite cheap, but it would still be better
  to avoid overloading Github with such calls; especially for users of a
  language-server that would compile on-the-fly very often. Upstream
  packages don't change often so there's no need to constantly check the
  etag.

  So we now keep a local version of etags that we fetched, as well as a
  timestamp from the last time we fetched them so that we only re-fetch
  them if more than an hour has elapsed. This should be fairly resilient
  while still massively improving the UX for people showing up after a
  day and trying to use latest 'main' features.

  This means that we now effectively have two caching levels:

  - In the manifest, we store previously fetched etags.
  - In the filesystem, we have a cache of already downloaded zip archives.

  The first cache is basically invalidated every hour, while the second
  cache is only invalidated when a etag changes. For pinned versions,
  nothing is invalidated as they are considered immutable.
2023-09-13 17:17:32 -04:00
KtorZ 5132110d4b
Fix acceptance tests to use new syntax. 2023-02-19 10:10:40 +01:00
rvcas 9daf86e984
chore: fix version for hello world 2023-01-14 22:22:36 -05:00
KtorZ eb2f4a8056
Use pinned version of the stdlib. 2023-01-06 13:31:18 +01:00
Mateusz Czeladka 1142c6ca6d hello world for starters 2023-01-06 13:24:15 +01:00