Scala > Scala Native
Optimizing ahead-of-time compiler for Scala based on LLVM.
Contents
Tutorials and Examples
Official Giter8 template for a minimal Scala Native project.
Tutorial for implementing a bandwidth monitor with Ncurses.
Scala Native project that links to a custom C library.
Example for compiling C code in a Scala Native project using sbt-jni.
Example project that uses external dependencies to generate HTML and run a test suite.
Giter8 template for Scala Native GUI projects using Gtk+.
Build Tools
Functional Programming
Library for generic programming.
DSL for quantities, units of measure and dimensional analysis.
Type classes and instances for data structures.
Immutable primitive array wrapper without boxing.
Pretty-print values and types.
Implicits providing meta data similar to LINE in C.
Functional Reactive Programming framework for Scala.
Boilerplate-free data transformations.
Modify deeply nested case class fields.
Abstractions for functional programming in Scala.
Unit Tests
Library for unit tests.
Lightweight testing library.
Library for property-based testing.
Property-based testing for Scala.
Testing library.
Software Specifications for Scala.
Library for unit tests.
Scala testing library with actionable errors and extensible APIs.
Bindings
Bindings for the cmark CommonMark parser library.
Bindings for libuv, a library for asynchronous I/O.
Bindings for the graphical frameworks SDL2 and OpenGL.
Bindings for the macOS graphical framework Cocoa.
Bindings for GNU Scientific Library (GSL).
Bindings for BLAS, a library for Linear Algebra.
Bindings for the GTK+ graphical toolkit.
Bindings for the libsoup HTTP client/server library.
GUI framework based on libui.
Bindings for the GStreamer multimedia framework.
Bindings for Qt.
Bindings for the GNU Ncurses Library.
Bindings for the GNU Readline Library.
Bindings for the Libsndfile C library for sampled sound manipulation.
Bindings for the libpng C reference library for reading and writing PNGs.
Bindings for the Cairo 2D graphics C library.
Bindings for the Cairo 2D graphics XLib Surfaces with bindings for XLib as well.
Bindings for the LibYAML C library for parsing YAML.
Bindings for the IUP multi-platform toolkit for building graphical user interfaces.
File Formats and Parsers
Implementation of MessagePack, a binary serialisation format.
Library for defining and running parsers.
HTML/XML construction and rendering.
HTML/XML parsing, manipulation and rendering.
JSON parser.
uPickle: a simple, fast, dependency-free JSON & Binary (MessagePack) serialization library for Scala
TOML parser with codec derivation.
Purely functional JSON parser and library.
Protocol Buffer compiler for Scala.
HOCON parser.
Cross-platform template language for Scala, inspired by Liquid and Hugo templates.
Databases
Port of the database access layer JDBC to Scala Native.
Port of the Java library Sqlite4java. Includes bindings for the SQLite native library.
Scala wrapper around the async PostgreSQL C library libpq.
A data access library for Scala + Postgres.
Web Development
Concurrency
Logging
Console
Library for creating ANSI-coloured strings.
Command-line argument parser.
Port of Haskell's CLI argument parsing library optparse-applicative.
A simple Scala CLI parsing library.
Small, dependency-free library for command line argument parsing in Scala.
A composable command-line parser for Scala.
Robotics
Programs
Port of GL gears.c.
CLI tools to generate Kubernetes resources for Akka, Play Framework and Lagom-based applications.
Coursier's bootstrap command generates native launchers.
A self-similar fractal generator with basic animation support.