1
1
mirror of https://github.com/anoma/juvix.git synced 2024-10-26 09:45:47 +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.
Go to file
Paul Cadman af2a8d4715
Double substitute the Nockma functions placeholder in the main function (#2715)
In the nockma compilation backend we compile functions with a an atom
with hint `functionsPlaceholder` where the functions library is expected
to be. After the module is compiled we now have the functions library to
substitute.

The __first substitution__ replaces the `functionsPlaceholder` in the
main function with the functions library.

This PR introduces a __second substitution__ that replaces the
`functionsPlaceholder` atoms in the functions library that were
introduced in the __first subsitution__.

This fix is sufficient to get the [transaction
example](https://github.com/anoma/juvix-anoma/blob/main/examples/CounterTransaction.juvix)
running in the Anoma system.
2024-04-10 16:12:58 +01:00
.devcontainer upgrade to Ghc 9.8.1 (#2624) 2024-02-07 09:47:48 +00:00
.github Support Cairo VM input hints (#2709) 2024-04-09 11:43:57 +02:00
app Miscellaneous improvements for Nockma debugging (#2714) 2024-04-10 10:11:33 +01:00
assets Fix typos (#2573) 2024-01-08 13:27:18 +01:00
bench Release v0.6.0 (#2676) 2024-03-01 09:14:32 +00:00
bench2 Replace polysemy by effectful (#2663) 2024-03-21 12:09:34 +00:00
examples Add field element type (#2659) 2024-02-27 14:54:43 +01:00
gnuplot Automatized benchmarks (#1673) 2023-01-05 17:48:26 +01:00
include Add field element type (#2659) 2024-02-27 14:54:43 +01:00
juvix-stdlib@e2efe4e6fe Update juvix-stdlib submodule reference to main (#2675) 2024-02-29 17:32:55 +00:00
licenses Remove unused files (#2398) 2023-09-28 14:20:19 +02:00
runtime Move the Nockma standard library to a separate file (#2701) 2024-03-27 13:07:52 +01:00
scripts Support Cairo VM input hints (#2709) 2024-04-09 11:43:57 +02:00
src/Juvix Double substitute the Nockma functions placeholder in the main function (#2715) 2024-04-10 16:12:58 +01:00
test Miscellaneous improvements for Nockma debugging (#2714) 2024-04-10 10:11:33 +01:00
tests Make compile targets a subcommand instead of a flag (#2700) 2024-04-09 13:29:07 +02:00
.clang-format Juvix C runtime (#1580) 2022-11-03 09:38:09 +01:00
.github_changelog_generator Update Changelog v0.2.3 🎉 2022-08-15 12:24:42 +02:00
.gitignore Add support for Literate Juvix Markdown (#2448) 2023-11-10 13:55:36 +01:00
.gitmodules Rename MiniJuvix to Juvix (#259) 2022-07-08 13:59:45 +02:00
.hlint.yaml Add default arguments (#2408) 2023-10-10 23:28:06 +02:00
.pre-commit-config.yaml Update clang formatting (#2465) 2023-10-23 19:12:56 +02:00
cabal.hie.yaml Automatized benchmarks (#1673) 2023-01-05 17:48:26 +01:00
cabal.project upgrade to Ghc 9.8.1 (#2624) 2024-02-07 09:47:48 +00:00
cabal.project.freeze upgrade to Ghc 9.8.1 (#2624) 2024-02-07 09:47:48 +00:00
CHANGELOG.md Release 0.6.1 (#2699) 2024-03-25 11:45:18 +00:00
cntlines.sh JuvixReg to CASM translation (#2671) 2024-03-20 12:14:12 +01:00
CONTRIBUTING.md Fix baseUrl for juvix docs in Doctor command (#2122) 2023-05-24 12:14:30 +02:00
justfile Add -XBangPatterns to the justfile (#2627) 2024-02-08 08:31:11 +00:00
LICENSE.md Add new README and md files (#1904) 2023-03-21 20:01:48 +01:00
Makefile Remove BangPattern pragmas (#2626) 2024-02-07 11:46:13 +00:00
package.yaml Support Cairo VM input hints (#2709) 2024-04-09 11:43:57 +02:00
README.md Fix tara url svg (#2406) 2023-09-28 19:05:05 +02:00
stack.hie.yaml Refactor hie.yaml and add entry in the readme (#1672) 2022-12-20 16:45:48 +01:00
stack.yaml Replace polysemy by effectful (#2663) 2024-03-21 12:09:34 +00:00

Juvix

Tara the Juvix mascot

CI Status

The Juvix compiler CI

Nightly build, release and benchmark

Codebase
Open the Juvix Standard Lib in Github Codespace

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.