1
1
mirror of https://github.com/anoma/juvix.git synced 2025-01-07 08:08:44 +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
Łukasz Czajka d59d02ccb7
Bugfix: modules associated with inductive types should be declared after their inductive types (#2768)
* Closes #2763. 
* Fixes a bug in the scoper, likely introduced in
https://github.com/anoma/juvix/pull/2468 by making later declarations
depend on earlier ones. The problem was that the inductive modules were
always added at the beginning of a section, which resulted in an
incorrect definition dependency graph (an inductive type depended on its
associated projections).
* Now inductive modules are added just after a group of inductive
definitions, before the next function definition. This implies that
inductive type definitions which depend on each other cannot be
separated by function definitions. Existing Juvix code needs to be
adjusted.
* The behaviour is now equivalent to "manually" inserting module
declarations with projections after each group of inductive definitions.
2024-05-14 19:32:22 +02:00
.devcontainer upgrade to Ghc 9.8.1 (#2624) 2024-02-07 09:47:48 +00:00
.github Use aarch64 macOS agent for CI build (#2754) 2024-04-25 17:40:02 +02:00
app Import tree (#2751) 2024-05-14 10:53:33 +02:00
assets Fix typos (#2573) 2024-01-08 13:27:18 +01:00
bench Fix benchmark runtime variant (#2740) 2024-04-22 11:09:27 +01:00
bench2 Add support for anoma-encode builtin (#2766) 2024-05-14 17:45:49 +01: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 Bugfix: modules associated with inductive types should be declared after their inductive types (#2768) 2024-05-14 19:32:22 +02:00
juvix-stdlib@a2b2a04ae1 Use multiway if in the standard library (#2776) 2024-05-13 19:48:05 +02:00
licenses Remove unused files (#2398) 2023-09-28 14:20:19 +02:00
runtime Update Anoma nockma stdlib (#2765) 2024-05-14 14:46:48 +01:00
scripts Support for Cairo builtins (#2718) 2024-04-16 19:01:30 +02:00
src/Juvix Bugfix: modules associated with inductive types should be declared after their inductive types (#2768) 2024-05-14 19:32:22 +02:00
test Bugfix: modules associated with inductive types should be declared after their inductive types (#2768) 2024-05-14 19:32:22 +02:00
tests Bugfix: modules associated with inductive types should be declared after their inductive types (#2768) 2024-05-14 19:32:22 +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 justfile: use numParallelJobs in test flag (#2762) 2024-05-03 10:05:06 +01: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 Add support for anoma-encode builtin (#2766) 2024-05-14 17:45:49 +01: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 Remove unused resourcet-effectful dependency (#2748) 2024-04-24 14:52:43 +01: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.