Releases: anoma/juvix
Releases · anoma/juvix
v0.5.4
Implemented enhancements:
- Add MarkdownInfo entry in Module Concrete Decl and proper errors #2515 (jonaprieto)
- Fix check for module name for Orphan Juvix files and imports of Juvix Markdown files #2512 (jonaprieto)
- General inductive parameters #2506 (janmasrovira)
- Named arguments syntax with function definitions #2494 (lukaszcz)
- Update juvix init to generate Package.juvix instead of juvix.yaml #2483 (paulcadman)
- Interleave arity and typechecking #2481 (janmasrovira)
- Literal casting #2457 (lukaszcz)
Merged pull requests:
- Fix Bank Example #2514 (jonaprieto)
- Refactor markdown parsing #2513 (janmasrovira)
- Add PackageDescription.Basic module Package variant #2509 (paulcadman)
- Run test suite in parallel #2507 (paulcadman)
- test: Run juvix format on juvix packages rather than files #2505 (paulcadman)
- Fix
clone
insubsHoles
#2504 (lukaszcz) - Migrate all Juvix projects from juvix.yaml to Package.juvix in the repository #2503 (paulcadman)
- Update file walker to use Package.juvix to detect a Juvix package #2502 (paulcadman)
- Refresh bound variable ids when substituting in Internal #2501 (lukaszcz)
- Add -n/--non-interactive option to juvix init #2500 (paulcadman)
- Use Package.juvix in the global project #2499 (paulcadman)
- Normalise paths on ResolverCache set and lookup #2498 (paulcadman)
- Fix Empty Lines at the Beginning of a File with No module decl Prevent Parsing #2496 (jonaprieto)
- Fix remove unexpected whitespaces introduced by formatting #2489 (jonaprieto)
- Add support for Literate Juvix Markdown #2448 (jonaprieto)
v0.5.3
Implemented enhancements:
- Arithmetic simplification #2454 (lukaszcz)
- Constant folding #2450 (lukaszcz)
- Proposal: Use a Juvix source file to define a package instead of YAML #2336 (paulcadman)
- Dependent default values #2446 (janmasrovira)
- Instance coercions #2444 (lukaszcz)
- Comparison optimization #2443 (lukaszcz)
- Allow
syntax operator
in the rhs of a record declaration #2442 (janmasrovira) - Add constructor wildcards #2437 (janmasrovira)
- Add default arguments #2408 (janmasrovira)
Merged pull requests:
- Cache .hie directory in CI #2490 (paulcadman)
- Fix #2479 #2486 (jonaprieto)
- Update Lisp File Printer #2484 (agureev)
- Rename Roots type to Root #2480 (paulcadman)
- Version the PackageDescription module #2478 (paulcadman)
- Format long list literals by splitting using pre-comma multiline #2477 (paulcadman)
- Use a versioned documentation link in the doctor output #2475 (paulcadman)
- Add missing juvix.yaml files to test project roots #2474 (paulcadman)
- Use system locale independent readFile and writeFile APIs from with-utf8 #2473 (paulcadman)
- Fix precedence inconsistency bug #2470 (lukaszcz)
- Add FileExt type #2467 (jonaprieto)
- Update clang formatting #2465 (jonaprieto)
- Add dependency on expressions in function default arguments #2462 (paulcadman)
- Use JuvixError instead of Text for errors in Package file loading #2459 (paulcadman)
- Refactor EntryPoint, Package, Pipeline, Root packages #2458 (paulcadman)
- Show import with public keyword in the html doc #2456 (janmasrovira)
- Process $root/Package.juvix using a special PathResolver #2451 (paulcadman)
- Add new flags to the Html backend #2447 (jonaprieto)
- Case value inlining #2441 (lukaszcz)
- Fix instance axiom bug #2439 (lukaszcz)
- Update Geb backend #2436 (agureev)
- Ignore instance arguments in the termination checker #2435 (janmasrovira)
- Use a Juvix source file to define a package #2434 (paulcadman)
- Numeric, ordering and equality traits #2433 (lukaszcz)
- Synchronize stdlib submodule #2428 (paulcadman)
- Improve the specialisation optimisation #2417 (lukaszcz)
- Fix formatting for all Juvix files in tests folder #2404 (jonaprieto)
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)