mirror of
https://github.com/anoma/juvix.git
synced 2024-09-11 08:15:41 +03:00
Juvix empowers developers to write code in a high-level, functional language, compile it to gas-efficient output VM instructions, and formally verify the safety of their contracts prior to deployment and execution.
This PR adds support for Anoma/Nockma scry OP. It is used for obtaining values from the Anoma storage (key value store). See the [linked issue](https://github.com/anoma/juvix/issues/2672) for details on scry. This PR adds support for scry to the Nockma language and compilation from the frontend via a builtin: `anoma-get`: ``` builtin anoma-get axiom anomaGet : {Value Key : Type} -> Key -> Value ``` In the backend, the `Value` and `Key` types could be anything, they will depend on choices of Anoma applications. The type of the returned `Value` is unchecked. It's currently the responsibility of the user to match the annotated type with the type of data in storage. We will not put this builtin in the standard library. It will be exposed in the anoma-juvix library. It's likely that the frontend `anomaGet` function will evolve as we use it to write Anoma applications and learn how they work. * Closes https://github.com/anoma/juvix/issues/2672 --------- Co-authored-by: Jan Mas Rovira <janmasrovira@gmail.com> |
||
---|---|---|
.devcontainer | ||
.github | ||
app | ||
assets | ||
bench | ||
bench2 | ||
examples | ||
gnuplot | ||
include | ||
juvix-stdlib@e2efe4e6fe | ||
licenses | ||
runtime | ||
scripts | ||
src/Juvix | ||
test | ||
tests | ||
.clang-format | ||
.github_changelog_generator | ||
.gitignore | ||
.gitmodules | ||
.hlint.yaml | ||
.pre-commit-config.yaml | ||
cabal.hie.yaml | ||
cabal.project | ||
cabal.project.freeze | ||
CHANGELOG.md | ||
cntlines.sh | ||
CONTRIBUTING.md | ||
justfile | ||
LICENSE.md | ||
Makefile | ||
package.yaml | ||
README.md | ||
stack.hie.yaml | ||
stack.yaml |
Juvix
CI Status |
---|
Codebase |
|
|
This repository is specifically dedicated to the compiler of the Juvix programming language.
For any Juvix-related inquiries, we strongly advise visiting the following resources.
Our documentation offers an in-depth understanding of the Juvix programming language. It encompasses a language reference, examples, blog posts, and numerous other resources to facilitate effective use of Juvix.