Skip to content

elmzed/elmz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

elmz

Motivation

This package hopes to follow the original spirit of scalaz. The original spirit was exploring three principles:

Parametricity
Eliminate possible implementations of a function based on the type and get continuous unit tests for free.
Equational Reasoning
Construct larger programs from smaller ones, or destruct larger programs into smaller ones.
Abstraction
Avoid repetition of work.

Why these three principles? Because we have work to do, today. Maybe in the future we can be more productive in elm without these. However, until that day comes, these three principles can make us more productive right now.

If you're unfamiliar with the terms, don't fret. You probably already use them regularly without knowing it. If you've ever written a function Model -> Html msg you're using parametricity. You're saying that the html being returned does not ever have any messages. If you've ever taken a large function and broken it into smaller functions and values, you're using equational reasoning. If you've ever seen two functions do the same thing but on different types and then made them both work through a single function, you're using abstraction.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages