Releases: anoma/juvix
Releases · anoma/juvix
v0.5.2
Implemented enhancements:
- Add
juvix dependencies update
command #2419 (paulcadman) - Add Juvix package lockfile support #2334 (paulcadman)
- Add
Partial
trait #2409 (lukaszcz) - Fix for crash with wildcard used in type definition #2405 (janmasrovira)
- Improve closure calls in the runtime #2396 (lukaszcz)
- Allow open statements in let expressions #2395 (janmasrovira)
- Fix delay instance resolution #2393 (lukaszcz)
- Support functions in instance parameters #2385 (lukaszcz)
- Do not call
git fetch
on git dependency if ref already exists in clone #2379 (paulcadman) - Improve inlining #2377 (lukaszcz)
- Record creation syntax with function definitions #2369 (lukaszcz)
Merged pull requests:
- Fix record creation error message location #2424 (lukaszcz)
- Fix bug in instance termination checking #2423 (lukaszcz)
- Reinstate the project .hlint.yaml #2420 (paulcadman)
- Remove package.yaml entry for PNG assets #2418 (paulcadman)
- Update benchmarks #2415 (lukaszcz)
- Fix minor: case and error message #2407 (jonaprieto)
- Fix tara url svg #2406 (jonaprieto)
- Update pre-commit to check JSON formatting #2400 (jonaprieto)
- Simplify README #2399 (jonaprieto)
- Remove unused files #2398 (jonaprieto)
- Minor changes to midsquare #2397 (jonaprieto)
- Add fixity
none
and make aliases inherit fixity #2391 (lukaszcz) - Add nodes with no edges to the dependency graph #2390 (janmasrovira)
- Remove function clause from
Internal
#2389 (janmasrovira) - Add package lockfile support #2388 (paulcadman)
- Fix case formatting #2387 (lukaszcz)
- Instance holes #2384 (lukaszcz)
- Update standard library list functions to use traits #2382 (lukaszcz)
- Avoid serialization of _packageFile field in juvix.yaml #2381 (paulcadman)
- Avoid the
-Os
option when generating WebAssembly #2378 (lukaszcz) - Error on local instances #2376 (lukaszcz)
- Error for an instance subsumed by other instances #2375 (lukaszcz)
v0.5.1
v0.5.0
Implemented enhancements:
- Add new case syntax #2353 (paulcadman)
- VampIR range checks and error handling #2344 (lukaszcz)
- Traits #2320 (lukaszcz)
- Aliasing #2301 (janmasrovira)
- External package dependencies #2272 (paulcadman)
Merged pull requests:
- Update stdlib submodule to current stdlib main #2364 (paulcadman)
- Add newlines at end of JSON files #2360 (lukaszcz)
- Update the standard library to use the trait framework #2359 (lukaszcz)
- Remove duplicated implicit pattern check from scoper #2357 (paulcadman)
- Fix instance import #2350 (lukaszcz)
- Small refactor for traits #2345 (janmasrovira)
- Allow named arguments in type synonyms #2343 (janmasrovira)
- Improve formatting of single-constructor types and records #2342 (janmasrovira)
- Add Internet effect #2337 (janmasrovira)
- Global offline flag #2335 (paulcadman)
- New fixity/iterator syntax #2332 (janmasrovira)
- Add fixity face #2328 (janmasrovira)
- Generate html documentation for alias and fixity definitions #2327 (janmasrovira)
- Generate documentation for local modules in the html backend #2326 (janmasrovira)
- Generate function signatures in the html backend #2325 (janmasrovira)
- Add macchiato html theme #2323 (janmasrovira)
- Show all available html themes in the CLI automatically #2322 (janmasrovira)
- Add css colors
ju-comment
andju-judoc
#2321 (janmasrovira) - Report termination errors after typechecking #2318 (janmasrovira)
- Install wasmer binary from Github releases #2317 (paulcadman)
- Fix record update formatting #2315 (lukaszcz)
- Fix record pattern formatting #2314 (lukaszcz)
- Update ci to use ormolu 0.5.3.0 and reformat project #2313 (janmasrovira)
- Add pragma face #2312 (janmasrovira)
- Remove
open import
syntax #2307 (lukaszcz)
v0.4.3
Implemented enhancements:
- Allow wildcard arguments in new function definition syntax #2295 (lukaszcz)
- Allow omitting
: Type
in implicit function argument definitions and in type definitions #2291 (lukaszcz) - Record patterns #2271 (janmasrovira)
- User-friendly operator declaration syntax #2270 (lukaszcz)
- Record updates #2263 (janmasrovira)
- Add field projections for records #2260 (janmasrovira)
Merged pull requests:
- Fix shell variables in linux static build stack install #2309 (paulcadman)
- Replace gitrev with githash for obtaining build-time git info #2308 (paulcadman)
- Check that type functions are supported #2306 (janmasrovira)
- Minor comment updates #2303 (lukaszcz)
- Update stdlib to use new ADT and record syntax #2302 (paulcadman)
- Fix bug in arity checker with pi types #2300 (janmasrovira)
- Error on duplicate keys in YAML #2290 (lukaszcz)
- Check for incomparable precedences #2289 (lukaszcz)
- Prettyprint aggregate ADT constructor types with parentheses #2284 (paulcadman)
- Fixes behaviour of default stdlib when internal-build-flag is set #2283 (paulcadman)
- Enable builtin list syntax in the standard library #2282 (lukaszcz)
- Improve iterator and named arguments parsing #2278 (lukaszcz)
- Update stackage resolver to LTS 21.6 #2275 (paulcadman)
- Fix benchmark wasmer command #2268 (paulcadman)
- Disallow iterators with zero ranges #2267 (lukaszcz)
- Don't print pragmas in documentation #2266 (lukaszcz)
- Adt syntax #2262 (janmasrovira)
- Minor refactor and script update #2261 (lukaszcz)
- Separate modules namespace #2257 (janmasrovira)
0.4.2
Implemented enhancements:
- Fold lets when the bound variable occurs at most once #2231 (lukaszcz)
- Case folding #2229 (lukaszcz)
- Specialization optimisation #2164 (lukaszcz)
Merged pull requests:
- Refactor deriving statements in
Concrete.Language
#2256 (janmasrovira) - Rename inductive constructor #2255 (janmasrovira)
- Add record declaration syntax #2254 (janmasrovira)
- Typcheck imports before statements #2253 (janmasrovira)
- Named arguments #2250 (janmasrovira)
- Format juvix files using new function syntax #2245 (janmasrovira)
- Update to GEB version 0.3.2 #2244 (lukaszcz)
- New syntax for function definitions #2243 (janmasrovira)
- Parse many consecutive
-
as a comment #2240 (janmasrovira) - Add syntax for builtin list #2239 (janmasrovira)
- Fix bug in aritychecker #2238 (janmasrovira)
- Local pragmas improvements #2236 (lukaszcz)
- Fix bug in
computeTypeInfo
#2234 (lukaszcz) - Numeric range types #2232 (lukaszcz)
- Use specialization pragmas in the standard library #2230 (lukaszcz)
- Fix de Bruijn indices in LetRecs #2227 (lukaszcz)
- Remove abstract #2219 (janmasrovira)
v0.4.1
Implemented enhancements:
- The
public
pragma #2223 (lukaszcz) - Local pragmas #2222 (lukaszcz)
- Lifting calls out of cases for the VampIR backend #2218 (lukaszcz)
- Use equality instead of less-equal when translating matching on Nats #2215 (lukaszcz)
- Support juvix format with no argument to format a project #2208 (paulcadman)
- Always print source of formatted file unless --check is specified #2205 (paulcadman)
- Improve iterator formatting and syntax #2204 (lukaszcz)
- Restrict permutative conversions on cases to non-booleans #2201 (lukaszcz)
Merged pull requests:
- Build and cache smoke binary keyed using icu4c version #2221 (paulcadman)
- Switch to Halo2 for VampIR backend tests #2216 (lukaszcz)
- Remove Subtree sections, all collapse all button #2213 (vrom911)
- Fix
isNegative
in the VampIR runtime #2212 (lukaszcz) - Use juvix-installer in CodeSpaces, install vamp-ir #2210 (vrom911)
- Move termination checker to Internal #2209 (janmasrovira)
- Propogate formatter results when traversing subdirs #2207 (paulcadman)
- Update vamp-ir CI installation #2199 (jonaprieto)
- More tests for the VampIR compilation pipeline #2197 (lukaszcz)
- Fix runtime C maybe benchmark example #2195 (paulcadman)
- Refactor isValidChar #2194 (jonaprieto)
- Check valid argument names in YAML #2193 (lukaszcz)
- Fix benchmark runtime C examples #2192 (paulcadman)
- Update to the new version of VampIR #2138 (lukaszcz)
v0.4.0
v0.4.0 - Prague! (2023-06-09)
Implemented enhancements:
- Always print source of formatted file unless --check is specified #2173 (paulcadman)
- Improve parsing error messages #2170 (lukaszcz)
Merged pull requests:
- Use stderr for errors in the runtime #2184 (lukaszcz)
- Change terminal colours to be more align with the scheme #2183 (vrom911)
- Respect fixity in runtime printer #2182 (lukaszcz)
- Format returns 0 when file is not formatted #2181 (vrom911)
- Print values in
juvix eval
#2179 (lukaszcz) - Fix 'function not found' error in
juvix eval
#2178 (lukaszcz) - Store source location of (almost) everything #2174 (janmasrovira)
- Do not filter unreachable symbols when compiling for REPL #2172 (paulcadman)
v0.3.5
v0.3.5 (2023-06-02)
Implemented enhancements:
- Update standard library for better readability, efficiency and iterator use #2153 (lukaszcz)
- Use the
JUVIX_LLVM_DIST_PATH
environment variable to search for the clang executable #2152 (paulcadman) - Finish the new pretty printing algorithm and delete the old one #2151 (janmasrovira)
- Add
:doc
command to the repl #2142 (janmasrovira) - Allow to specify VampIR variable names #2141 (lukaszcz)
- VampIR pipeline: handle booleans in the type of
main
#2137 (lukaszcz) - Add
main
field tojuvix.yaml
#2120 (janmasrovira) - Add
:def
command to the repl #2119 (janmasrovira)
Merged pull requests:
- Properly scan imports inside local modules #2165 (janmasrovira)
- Add extra git dependencies to
cabal.project
#2158 (janmasrovira) - Support new
import ... open
syntax in REPL #2156 (paulcadman) - Add the
format
pragma #2150 (lukaszcz) - Remove code for
Eval
andPrint
statements #2149 (lukaszcz) - Fix printing of infix constructor values #2144 (lukaszcz)
- Add
ValueType
#2143 (janmasrovira) - Add
Semigroup
instance forAnsiText
#2140 (janmasrovira) - Show unicode characters without escaping #2127 (janmasrovira)
- Iterator syntax #2126 (lukaszcz)
- Fix spurious messages from Makefile.generic #2125 (lukaszcz)
- Add gnu-sed to the macOS build in the CI #2123 (jonaprieto)
- Fix baseUrl for juvix docs in Doctor command #2122 (vrom911)
- Remove --no-format option #2121 (vrom911)
- Add Bottom node #2112 (janmasrovira)
- VampIR integration #2103 (lukaszcz)
- Add VampIR to the CI #2096 (jonaprieto)
v0.3.4
v0.3.4 (2023-05-22)
Implemented enhancements:
- Allow symbol renaming inside
using {..}
#2109 (janmasrovira) - Scope check symbols inside
using {..}
andhiding {..}
#2108 (janmasrovira) - Pass through compile optimization flag to C compiler and disable optimization for --debug #2106 (paulcadman)
- Add syntax for Judoc blocks #2102 (janmasrovira)
- Add dangling judoc error #2099 (janmasrovira)
- Modify
open import
syntax #2098 (janmasrovira) - Improve error message when input path doesn't exist #2092 (paulcadman)
- Partial incremental highlighting #2053 (janmasrovira)
- Normalization by Evaluation #2038 (lukaszcz)
- Inlining #2036 (lukaszcz)
Merged pull requests:
- Use PrettyCode instance instead of obsolete ppUsingItem in Print.Base #2115 (janmasrovira)
- Add
syntax
keyword #2107 (lukaszcz) - Simplify formatting of lambdas with a single clause #2105 (janmasrovira)
- Fix extra whitespace in text rendering of indented empty lines #2101 (paulcadman)
- Reachability analysis in Core #2097 (lukaszcz)
- Slightly improve prettyprinting for Core #2094 (janmasrovira)
- Bump to LTS Haskell 20.21 (ghc-9.2.7) #2093 (jonaprieto)
- Direct translation from normalized JuvixCore to VampIR #2086 (lukaszcz)
- ci: clean .juvix-build directory before formatting/typechecking examples #2079 (paulcadman)
- Fix format on projects that contain subprojects #2078 (paulcadman)
- Implement core transformation
let-hoisting
#2076 (janmasrovira) - Allow nested block comments #2075 (janmasrovira)
- Fix topCommandInputFile for Format command #2063 (vrom911)
- Fix reachability analysis with imports in unreachable nested modules #2062 (lukaszcz)
- Fix devcontainer juvix install #2061 (paulcadman)
- Fix Makefile target bugs for formatting and type Checking Juvix files #2057 (jonaprieto)
- Fix a bug in the positivity checker (#1943) #2054 (jonaprieto)
- Arity check types and functions (->) #2049 (janmasrovira)
- Fix ordering of statements in Abstract -> Internal #2040 (janmasrovira)
v0.3.3
v0.3.3 (2023-05-08)
Implemented enhancements:
- Update to latest stdlib #2048 (paulcadman)
- Support module imports in Juvix REPL #2029 (paulcadman)
- Make format command's filepath optional #2028 (vrom911)
- format long lambda clause body on a new line #2015 (paulcadman)
- Support more paths #2000 (janmasrovira)
- Add: pragma support #1997 (lukaszcz)
Merged pull requests:
- Fix pipeline setup in the repl #2046 (janmasrovira)
- Fix HasExpressions ConstructorApp #2044 (paulcadman)
- Fix fromSource behaviour when both stdin and filename #2043 (vrom911)
- Return endLine info in highlighting command #2042 (vrom911)
- Enable self-application test #2041 (janmasrovira)
- Add bank example #2037 (janmasrovira)
- Substitute calls after lambda lifting #2031 (janmasrovira)
- Add delimiter face #2027 (janmasrovira)
- Propertly register top module name in scoper #2026 (janmasrovira)
- Add judoc code annotation and face #2025 (janmasrovira)
- Fix dependencies suggestion in missing module error #2024 (paulcadman)
- Remove docs related files #2023 (jonaprieto)
- Improve formatting of comments #2022 (janmasrovira)
- Support positive arity typealias in arity checker #2021 (paulcadman)
- Add format stdin smoke tests #2019 (vrom911)
- Add
juvix clean
to remove project build artifact directory #2018 (paulcadman) - Sync stdlib #2012 (janmasrovira)
- Ide improvements #2009 (janmasrovira)