- Notifications
You must be signed in to change notification settings - Fork18
tindzk/awesome-scala-native
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Scala Native is an optimising ahead-of-time compiler for theScala programming language. Traditionally, a virtual machine, theJVM, was required to run Scala programs. Scala Native taps into the compiler to emitLLVM intermediate representation rather than JVM bytecode. Then, theLLVM compiler infrastructure is used to produce native libraries and executables. Given that Scala Native executables are stand-alone programs, they generally have a shorter start-up time and low memory consumption. This opens up new avenues to deploy Scala programs where previously the virtual machine would be the limiting factor. For example, developers could write programs for the command line or embedded devices.
- Giter8 template for a minimal Scala Native project - OfficialGiter8 template for a minimal Scala Native project.
- Hands on Scala Native - Tutorial for implementing a bandwidth monitor with Ncurses.
- Starter for Scala Native - Scala Native project that links to a custom C library.
- Building C code using sbt-jni - Example for compiling C code in a Scala Native project usingsbt-jni.
- Example project with external dependencies - Example project that uses external dependencies to generate HTML and run a test suite.
- Starter for Gtk+ Projects -Giter8 template for Scala Native GUI projects usingGtk+.
- Modern systems programming with scala native book.
- Write a simple CLI application in Scala Native
- sbt - Scala's standard build tool.
- Mill - Build tool striving for simplicity, inspired byBazel.
- Bloop - Scala build server and command-line tool for fast developer workflows.
- Seed - Build tool based on Bloop. Focuses on user experience and cross-platform builds, inspired byCargo.
- Shapeless - Library for generic programming.
- Squants - DSL for quantities, units of measure and dimensional analysis.
- scalaz - Type classes and instances for data structures.
- nobox - Immutable primitive array wrapper without boxing.
- PPrint - Pretty-print values and types.
- SourceCode - Implicits providing meta data similar to
__LINE__in C. - reactify - Functional Reactive Programming framework for Scala.
- chimney - Boilerplate-free data transformations.
- Quicklens - Modify deeply nested case class fields.
- Cats - Abstractions for functional programming in Scala.
- µTest - Library for unit tests.
- minitest - Lightweight testing library.
- scalaprops - Library for property-based testing.
- scalaprops-shapeless - Generation of arbitrary ADT instances.
- scalaprops-cross-example - Cross-platform example.
- ScalaCheck - Property-based testing for Scala.
- ScalaTest - Testing library.
- specs2 - Software Specifications for Scala.
- Makeshift - Library for unit tests.
- MUnit - Scala testing library with actionable errors and extensible APIs.
- cmark - Bindings for thecmark CommonMark parser library.
- libuv - Bindings forlibuv, a library for asynchronous I/O.
- SDL2 and OpenGL - Bindings for the graphical frameworksSDL2 andOpenGL.
- Cocoa - Bindings for the macOS graphical frameworkCocoa.
- GNU Scientific Library - Bindings forGNU Scientific Library (GSL).
- BLAS - Bindings forBLAS, a library for Linear Algebra.
- Gtk+ - Bindings for theGTK+ graphical toolkit.
- libsoup - Bindings for thelibsoup HTTP client/server library.
- libui - GUI framework based onlibui.
- GStreamer - Bindings for theGStreamer multimedia framework.
- Qt - Bindings forQt.
- ncurses - Bindings for theGNU Ncurses Library.
- readline - Bindings for theGNU Readline Library.
- libsndfile - Bindings for theLibsndfile C library for sampled sound manipulation.
- libpng - Bindings for thelibpng C reference library for reading and writing PNGs.
- libcairo - Bindings for theCairo 2D graphics C library.
- cairo-xlib - Bindings for theCairo 2D graphicsXLib Surfaces with bindings forXLib as well.
- libyaml - Bindings for theLibYAML C library for parsingYAML.
- iup - Bindings for theIUP multi-platform toolkit for building graphical user interfaces.
- msgpack4z - Implementation ofMessagePack, a binary serialisation format.
- FastParse - Library for defining and running parsers.
- scalatags - HTML/XML construction and rendering.
- Pine - HTML/XML parsing, manipulation and rendering.
- scala-json - JSON parser.
- uPickle - uPickle: a simple, fast, dependency-free JSON & Binary (MessagePack) serialization library for Scala
- toml-scala -TOML parser with codec derivation.
- argonaut - Purely functional JSON parser and library.
- ScalaPB -Protocol Buffer compiler for Scala.
- scalapb-argonaut - JSON and Protocol Buffer converters for ScalaPB based onArgonaut.
- sconfig -HOCON parser.
- squiggly - Cross-platform template language for Scala, inspired by Liquid and Hugo templates.
- scala-native-jdbc - Port of the database access layerJDBC to Scala Native.
- SQLite4S - Port of the Java librarySqlite4java. Includes bindings for the SQLite native library.
- libpq4s - Scala wrapper around the async PostgreSQL C library libpq.
- skunk - A data access library for Scala + Postgres.
- Trail - Routing library.
- sttp - HTTP Client library.
- snunit - Scala Native HTTP server based on NGINX Unit.
- scala-native-loop - Event loop and async-oriented IO for Scala Native
- castor - Lightweight, typed Actor library for Scala.
- scribe - Fast and simple logging library.
- slogging -Typesafe-logging andSLF4J-compatible logging library based on macros.
- fansi - Library for creatingANSI-coloured strings.
- scopt - Command-line argument parser.
- scala-optparse-applicative - Port of Haskell's CLI argument parsing libraryoptparse-applicative.
- scallop - A simple Scala CLI parsing library.
- mainargs - Small, dependency-free library for command line argument parsing in Scala.
- decline - A composable command-line parser for Scala.
- Potassium - Framework for writing robot software.
- WPILib - Reimplementation of theFIRST Robotics WPILib libraries.
- sglgears - Port of GLgears.c.
- k8s-cli - CLI tools to generateKubernetes resources forAkka,Play Framework andLagom-based applications.
- Coursier - Coursier's
bootstrapcommand generates native launchers. - fractals - A self-similar fractal generator with basic animation support.
- Seed Docker image - Docker image for cross-platform builds withSeed.
- scala-native-sbt-docker - Docker image for Scala Native and sbt.
This work is licenced under aCreative Commons Attribution 4.0 International Licence.
About
Compilation of Scala Native resources and libraries
Topics
Resources
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors11
Uh oh!
There was an error while loading.Please reload this page.
