Skip to content

Releases: mmhelloworld/idris-jvm

Release 0.3.0

06 Oct 04:25
Compare
Choose a tag to compare

Commits

  • ee637b3: Update release link to point to latest release (Marimuthu Madasamy)
  • 3d8b19f: Implement popen, fix createDirectories, shorten function name for 0.4.0 (Marimuthu Madasamy) #127

Release 0.3.1

06 Oct 06:14
Compare
Choose a tag to compare

Commits

  • d82fc8e: Prepare for 0.3.1 release (Marimuthu Madasamy) #129

Release 0.3.0

12 Sep 06:32
Compare
Choose a tag to compare

Commits

  • 4ef4fe0: Self host 0.3.0 (Marimuthu Madasamy) #125
  • e8eb2fa: Prepare for 0.3.0 release (Marimuthu Madasamy) #126

Release 0.3.0-rc.1

08 Sep 05:41
Compare
Choose a tag to compare

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 to Int and Integer
  • 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

23 Jul 23:01
Compare
Choose a tag to compare

Changes

  • Improve system function, fix getLine for Idris 2 bootstrap
  • Use ForkJoin common pool for 'fork'

v1.0-SNAPSHOT-20201229

29 Dec 05:40
Compare
Choose a tag to compare
Release v1.0-SNAPSHOT-20201229

v1.0-SNAPSHOT-20190923

23 Sep 05:51
Compare
Choose a tag to compare
Release v1.0-SNAPSHOT-20190923

Support for Idris 2

22 Sep 21:50
Compare
Choose a tag to compare
  • 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

14 Sep 21:24
Compare
Choose a tag to compare
Pre-release

Pre-release - Support for Idris 2

v1.0-SNAPSHOT-20190728 for Idris 1.3.2

29 Jul 04:18
Compare
Choose a tag to compare
* Support for Idris 2
* Upgrade to Idris 1.3.2