Skip to content

Commit

Permalink
0.9.0-rc.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ulfryk committed Jun 18, 2018
1 parent eded6a9 commit 49a3d73
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 8 deletions.
5 changes: 3 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Changelog

## 0.9.0

### alpha.5 (?? 2018)
### rc.0 (18 Jun 2018)

- [new] add `from` static constructor method to NEL and List
- [fix] fix broken List.equals
Expand Down Expand Up @@ -74,7 +76,6 @@
- [new] add `.ap()` to List, Free and NonEmptyList -- thanks to @WojciechP ( #44 )
- [new] add `"use strict";` -- thanks to @krjackso ( #41 )


### Typings

TypeScript typings added to repository, so now anyone can:
Expand Down
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@

[![Build Status](https://travis-ci.org/monet/monet.js.png)](https://travis-ci.org/monet/monet.js)


For people who wish they didn't have to programme in JavaScript. [documentation](docs/README.md)


## Introduction

Monet is a library designed to bring great power to your JavaScript programming. It is a tool bag that assists Functional Programming by providing a rich set of Monads and other useful functions.
Expand All @@ -25,18 +23,20 @@ Download the [zip][gitZip] or [tar][gitTar] ball.
## Installation

Simply download and add to your html pages or we also support [bower] and [npm]. You can also include `monet-pimp.js` which contains extra functions on the `Object.prototype` for creating monads.

```html
<script type="text/javascript" src="monet.js"></script>
<!-- Optionally -=>
<script type="text/javascript" src="monet-pimp.js"></script>
```
### Bower installation
```bash
bower install monet --save
# or to install a specific version
bower install monet#0.9.0-alpha.4
bower install monet#0.9.0-rc.0
```
### NPM installation
Expand All @@ -45,7 +45,7 @@ bower install monet#0.9.0-alpha.4
npm install monet --save
# or to install a specific version
npm install monet@0.9.0-alpha.4
npm install monet@0.9.0-rc.0
```
## Contents
Expand All @@ -57,9 +57,11 @@ The `Maybe` type is the most common way of representing *nothingness* (or the `n
`Maybe` is effectively abstract and has two concrete subtypes: `Some` (also `Just`) and `None` (also `Nothing`).
### [Either](docs/EITHER.md)
Either (or the disjunct union) is a type that can either hold a value of type `A` or a value of type `B` but never at the same time. Typically it is used to represent computations that can fail with an error. Think of it as a better way to handle exceptions. We think of an `Either` as having two sides, the success is held on the right and the failure on the left. This is a right biased either which means that `map` and `flatMap` (`bind`) will operate on the right side of the either.
### [Validation](docs/VALIDATION.md)
Validation is not quite a monad as it [doesn't quite follow the monad rules](http://stackoverflow.com/questions/12211776/why-isnt-validation-a-monad-scalaz7), even though it has the monad methods. It that can hold either a success value or a failure value (i.e. an error message or some other failure object) and has methods for accumulating errors. We will represent a Validation like this: `Validation[E,A]` where `E` represents the error type and `A` represents the success type.
### [Immutable lists](docs/LIST.md)
Expand All @@ -72,6 +74,7 @@ Much like the immutable list, a Non Empty List can never be empty. It implements
and a guaranteed (total) tail.
### [IO](docs/IO.md)
The `IO` monad is for isolating effects to maintain referential transparency in your software. Essentially you create a description of your effects of which is performed as the last action in your programme. The IO is lazy and will not be evaluated until the `perform` (*alias* `run`) method is called.
### [Reader](docs/READER.md)
Expand All @@ -82,6 +85,7 @@ teeth into the `Reader` monad such as [these great talks](http://functionaltalks
The `Reader` monad provides a way to "weave" your configuration throughout your programme.
### [Free](docs/FREE.md)
The `Free` monad is a monad that is able to separate instructions from their interpreter. There are many applications for this monad, and one of them is for implementing Trampolines, (which is a way to make recursion constant stack for languages that don't support tail call elimination, like JavaScript!).
Please see [Ken Scambler](http://twitter.com/KenScambler)'s [excellent talk](http://www.slideshare.net/kenbot/running-free-with-the-monads) and [example project](https://github.com/kenbot/free) to get an in-depth understanding of this very useful monad.
Expand All @@ -90,7 +94,6 @@ Please see [Ken Scambler](http://twitter.com/KenScambler)'s [excellent talk](htt
Written and maintained by Chris Myers [@cwmyers](https://twitter.com/cwmyers) and Jakub Strojewski [@ulfryk](https://twitter.com/ulfryk). Follow Monet.js at [@monetjs](http://twitter.com/monetjs).
[functionalJava]: http://functionaljava.org/
[gitZip]: https://github.com/monet/monet.js/archive/v0.8.10.zip
[gitTar]: https://github.com/monet/monet.js/archive/v0.8.10.tar.gz
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
],
"name": "monet",
"description": "Monadic types library for JavaScript",
"version": "0.9.0-alpha.5",
"version": "0.9.0-rc.0",
"homepage": "https://monet.github.io/monet.js/",
"repository": {
"type": "git",
Expand Down

0 comments on commit 49a3d73

Please sign in to comment.