Programming languages for development on the CI20?

Tagged: ,

This topic contains 3 replies, has 2 voices, and was last updated by  justdoglet 2 years, 8 months ago.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #31968

    justdoglet
    Member

    Hello folks,

    What programming languages are a good fit for the CI20? My wish list is:

    – native code compilation
    – garbage-collected
    – source portability (to at least armel, aarch64, amd64, and 64-bit MIPS)
    – strongly-typed or decent type inference

    Go doesn’t want to build, and gccgo is too far behind the main Go version to be terribly interesting. OCaml doesn’t have native code compilation for MIPS. Haskell (ghc 7.8.4) is building, so that’s a bright point. 🙂

    What languages are people developing in on the CI20?

    Cheers,

    kjw

    #39462

    jcowgill
    Member

    Here’s a list of what should work from browsing what is currently in Debian (32 bit). I haven’t actually tested most of these though.

    Primary GCC Frontends:
    C, C++, Objective-C, Objective-C++, Ada, Fortran, Go, Java
    D - compiler works, but standard library is unported

    Clang / LLVM:
    C, C++, Objective-C, Objective-C++

    Mono (.NET - native jit):
    Little endian only
    C#, F#, VB.NET, ASP.NET (+ various others)

    Other languages which compile to native code / jit:
    COBOL (OpenCobol - via-c, possibly unmaintained?)
    Haskell (GHC - via-c)
    JavaScript (Google V8)
    node.js (uses V8)
    LuaJIT
    Vala (via-c)

    Some interpreted languages:
    Bash / various shells
    Common Lisp (GNU CLISP)
    Erlang
    Forth (GNU Forth)
    Java (OpenJDK)
    Clojure
    Scala
    (+ other languages based on java)
    OCaml
    Octave (similar to MATLAB)
    PHP
    Perl
    Prolog (SWI-Prolog)
    Python
    Racket
    Smalltalk (GNU Smalltalk)
    Tcl
    Probably a lot more that I haven't thought of.

    Notable languages which do not work on mips at all:
    Google Go (official version rather than GCC's version)
    FreePascal

    For 64-bit mips the above list roughly the same except for (at the time of writing):
    Ada, Haskell - Not bootstrapped yet (but might work).
    GCJ - Doesn't seem to work on 64-bit mips.
    LuaJIT - unported (but interpreter works)
    Mono - unported + has no interpreted mode
    Racket - build fails on mips64
    V8 / Node.js - there is a port but the version in Debian is too old.

    #39463

    justdoglet
    Member

    Thanks for the summary. My first choice was Go but it’s definitely a no-go on MIPS for now. Hopefully Haskell will do the trick.

    #39464

    justdoglet
    Member

    For anyone that follows who’s interested, the haskell-platform package in the apt repos (which is quite dated) seems to be able to bootstrap GHC 7.8.4 from source. It takes a few days (multi-stage bootstrap including the test suite) on the CI20. A few more tests fail than on x86_64, but so far the latest Cabal and related libraries seem to be building okay.

Viewing 4 posts - 1 through 4 (of 4 total)
The forum ‘Creator Platforms’ is closed to new topics and replies.