Releases: mmhelloworld/idris-jvm
Releases · mmhelloworld/idris-jvm
Release 0.3.0
Release 0.3.1
Release 0.3.0
Release 0.3.0-rc.1
Changes
- Build Idris 2 0.3.0 for the JVM with 0.2.2 compiler
- Optimize Idris list conversions and packing and unpacking string
- Fix JVM bindings for network, random, clock, string iterator modules
- Fix conversions between bit types and integers, conversion from
String
toInt
andInteger
- Enhance
system
function to support setting environment variable before the command. This is used in few tests. - Fix tail recursion
- Optimize 0-arity functions, prepare for self hosting, implement future
- Add JVM tests
- Resolve
IDRIS2_PREFIX
on launching compiler - Package standard libraries with release artifact for users to get started quickly
- Migrate to
idris-jvm
repository and rename Maven modules and Java packages to match repository. - Follow Idris version for Maven modules
- Enable CI for pull requests and releases on
main
branch
Install
- Download and extract the archive from this release
- Add
idris2
launcher script directory<EXTRACTED_DIRECTORY_ROOT>/bin
to PATH. - Create an environment variable
IDRIS2_PREFIX
pointing to<EXTRACTED_DIRECTORY_ROOT>/lib
Example
helloworld.idr
module Main
data Tree a = Leaf
| Node (Tree a) a (Tree a)
inorder : Tree a -> List a
inorder Leaf = []
inorder (Node left a right) = inorder left ++ [a] ++ inorder right
tree : Tree String
tree = Node
(Node
(Node Leaf "3" Leaf)
"+"
(Node Leaf "7" Leaf))
"/"
(Node Leaf "2" Leaf)
main : IO ()
main = printLn $ inorder tree
Compile
idris helloworld.idr -o main
Run
- On Linux/Mac OS:
java -cp "build/exec/main_app/main.jar:$IDRIS2_PREFIX/*" main.Main
- On Windows:
java -cp "build\exec\main_app\main.jar;%IDRIS2_PREFIX%\*" main.Main
v1.0-SNAPSHOT-20210629
Changes
- Improve system function, fix getLine for Idris 2 bootstrap
- Use ForkJoin common pool for 'fork'
v1.0-SNAPSHOT-20201229
Release v1.0-SNAPSHOT-20201229
v1.0-SNAPSHOT-20190923
Release v1.0-SNAPSHOT-20190923
Support for Idris 2
- Enhancements, bug fixes to support Idris 2
- Generate launcher scripts, copy runtime dependency jar into the output folder, provide an option to change classes directory name
- Fix Integer remainder, substring, strHead, strIndex, support more primitive operations
- Fix show for Double
- Support more IORef functions, File functions, add exitFailure, exitSuccess
- Remove incorrect Maybe conversion in FFI, add explicit functions for handling null between Idris and Java (to be fixed properly in Idris 2 JVM back end)
- Improve testing framework to run tests from idris repository, to rerun failed tests
Pre-release - Support for Idris 2
Pre-release - Support for Idris 2
v1.0-SNAPSHOT-20190728 for Idris 1.3.2
* Support for Idris 2 * Upgrade to Idris 1.3.2