Skip to content

andyscott/iota

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mezzo

Build Status

Introduction

Iota is a tiny framework for fast product and coproduct types.

Unlike many coproduct implementations that use a linked list at the value level, Iota stores indexes for coproduct values to allow for quick access.

At the type level, Iota uses a linked list type with a binary type operator for a simple syntax.

import iota._
import TList.::
import KList.:::

// a coproduct of types
type Foo = Cop[Int :: String :: Double :: TNil]

// a coproduct of type constructors
type Bar[A] = CopK[Option ::: List ::: Seq ::: KNil, A]

An Free example is available in the tests.

Documentation

Documetation coming soon.

License

The license can be found in COPYING.

About

Fast product & coproduct types with a clean syntax

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Scala 100.0%