typelevel-toolkit

A toolkit of great libraries to start building Typelevel apps on JVM, Node.js, and Native!

Our very own flavour of the Scala Toolkit.

Overview

Typelevel toolkit is a meta library that currently includes these libraries:

and it's published for Scala 2.12, 2.13 and 3.2.2.

To use it with Scala CLI use this directive:

//> using lib "org.typelevel::toolkit::0.0.10"

Albeit being created to be used with Scala CLI, typelevel-toolkit can be imported into your build.sbt using:

libraryDependencies ++= Seq(
  "org.typelevel" %% "toolkit" % "0.0.10",
  "org.typelevel" %% "toolkit-test" % "0.0.10" % Test
)

// use %%% for Scala.js and Scala Native
libraryDependencies ++= Seq(
  "org.typelevel" %%% "toolkit" % "0.0.10",
  "org.typelevel" %%% "toolkit-test" % "0.0.10" % Test
)

Quick Start Example

//> using lib "org.typelevel::toolkit::0.0.10"

import cats.effect.*

object Hello extends IOApp.Simple:
  def run = IO.println("Hello toolkit!")
//> using lib "org.typelevel::toolkit::0.0.10"

import cats.effect._

object Hello extends IOApp.Simple {
  def run = IO.println("Hello toolkit!")
}

Native Image

When building GraalVM Native Image the --no-fallback option is required, otherwise native-image will try searching a static reflection configuration for this Enumeration method. Thus using this flag is safe only if you're not using Enumerations in your codebase, see this comment for more info.