Skip to content

dakom/fl-matrix

Repository files navigation

Build Status

Fl-Matrix (Fantasy-Land Matrix)

Provides a lightweight wrapper for functional programming with matrices and vectors

Read the Api Docs for more detail.

Status

Probably production ready ... though this is new and the API may change without notice

Examples

  • WebGL + Sanctuary Demos:

  • Pure data wrangling:

    • Unit tests - covers the different usage of most functions

Install

Development

Library source is here

The dev setup is configured to enable both unit testing and iterative browser-based developing, powered by Fuse-Box


Roadmap

Fantasy-Land compatibility (not officially tested yet)

  • Functor (map)
  • Foldable (reduce)
  • Concat (add)
  • Category (identity)
  • Setoid (equal)
  • Semigroupoid / compose (multiply)
  • Monoid (empty)

Functional utils (not fp-compatible - see API docs)

  • MapElements
  • ReduceElements
  • Transpose
  • Clone

Core lib

  • Overall structure
  • Create empty matrix
  • Create matrix from values
  • Additional creation helpers
  • Helper functions for getting/setting elements
  • Vector abstraction

Sanctuary definitions

  • Matrix
  • Vector?

Project setup

  • Local dev building / live testing
  • Target npm
  • Target external import
  • Bundle Typescript definitions
  • Write API docs
  • Show webgl demo via basic 2d fiddle
  • Rewrite API docs to use type signatures rather than TS declarations
  • Official fantasy-land laws tests
  • Advanced fiddle to use more levels of compose (maybe camera / 3d)

Extras

  • Invert matrix capability (not sure if this is feasible/worthwhile with arbitrary sizes)

About

Fantasy-land compatible matrix containers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published