1
1
mirror of https://github.com/anoma/juvix.git synced 2024-12-12 04:43:18 +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 d7c69db126
Fix locations in Internal hole substitution (only for the case of substituting identifiers) (#2995)
Type checking messes up the locations by substituting the holes
(instance holes and ordinary holes) without adjusting the location of
the expression substituted into the hole. Instead, the location of the
expression substituted into the hole is preserved. This messes up
locations in type-checked Internal, because the substituted expressions
can come from anywhere. Later on, the error locations are wrong in Core,
and get wrongly displayed e.g. for pattern matching coverage errors.

This PR implements a partial solution for the (most common) case when
the substituted expression is an identifier. In the future, we should
have a general solution to preserve the hole locations.
2024-09-05 10:57:30 +02:00
.devcontainer Upgrade to ghc-9.8.2 (#2794) 2024-06-08 14:43:33 +02:00
.github Use ormolu from stackage in the CI (#2900) 2024-07-19 09:38:39 +01:00
app Isabelle/HOL translation: comments (#2974) 2024-09-02 15:56:58 +02:00
assets Improve css of html documentation and allow different themes (#2931) 2024-08-02 16:16:33 +02:00
bench Fix benchmark runtime variant (#2740) 2024-04-22 11:09:27 +01:00
bench2 Improve performance of anomaEncode / anomaDecode in the Core evaluator (#2975) 2024-08-30 18:20:18 +01:00
examples Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
gnuplot Automatized benchmarks (#1673) 2023-01-05 17:48:26 +01:00
include Export Juvix source code to latex (#2917) 2024-08-05 11:28:19 +02:00
juvix-stdlib@615a02c810 Monad and Applicative traits in juvix stdlib (#2979) 2024-08-30 15:07:29 +02:00
licenses Remove unused files (#2398) 2023-09-28 14:20:19 +02:00
runtime Add support for unsigned 8-bit integer type Byte (#2918) 2024-08-02 07:43:24 +01:00
scripts Support for Cairo builtins (#2718) 2024-04-16 19:01:30 +02:00
src Fix locations in Internal hole substitution (only for the case of substituting identifiers) (#2995) 2024-09-05 10:57:30 +02:00
test Isabelle/HOL translation: comments (#2974) 2024-09-02 15:56:58 +02:00
tests Release 0.6.6 (#2993) 2024-09-03 18:10:01 +01: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 Rust runtime (#2782) 2024-05-22 12:26:51 +02: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 Add an if instruction to JuvixReg (#2855) 2024-06-26 19:08:33 +02:00
cabal.hie.yaml Automatized benchmarks (#1673) 2023-01-05 17:48:26 +01:00
cabal.project Upgrade to ghc-9.8.2 (#2794) 2024-06-08 14:43:33 +02:00
cabal.project.freeze Upgrade to ghc-9.8.2 (#2794) 2024-06-08 14:43:33 +02:00
CHANGELOG.md Release 0.6.6 (#2993) 2024-09-03 18:10:01 +01:00
cntlines.sh Remove Geb backend (#2886) 2024-07-11 15:45:52 +01:00
CONTRIBUTING.md Fix baseUrl for juvix docs in Doctor command (#2122) 2023-05-24 12:14:30 +02:00
justfile Use ormolu from stackage in the CI (#2900) 2024-07-19 09:38:39 +01:00
LICENSE.md Add new README and md files (#1904) 2023-03-21 20:01:48 +01:00
Makefile Logger (#2908) 2024-07-22 17:14:37 +02:00
package.yaml Release 0.6.6 (#2993) 2024-09-03 18:10:01 +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 Upgrade to ghc-9.8.2 (#2794) 2024-06-08 14:43:33 +02: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.