evilsoft / evilsoft/crocks

Allow ReaderT to work with Fluture

Open
#500 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
1.6k
Forks
103
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**
It would be nice to be able to use the Fluture async library to work with the ReaderT monad.

**Describe the solution you'd like**
Seamless use the Fluture type.

**Describe alternatives for how you do this now**
I'm using the `Async` type.

**Code**
```js
const C = require('crocks');
const Future = require('fluture');
const {ReaderT} = C;

const ReaderFuture = ReaderT(Future)

ReaderFuture.ask()
.runWith()
.fork(e => e, x => x);
```

This currently results in the following exception:

```bash
/Users/svozza/git/github.com/svozza/crocks-test/node_modules/crocks/Reader/ReaderT.js:23
function () { return (_type + "( " + (Monad.type()) + " )"); }
^

TypeError: Monad.type is not a function
at type (/Users/svozza/git/github.com/svozza/crocks-test/node_modules/crocks/Reader/ReaderT.js:23:49)
at ReaderT (/Users/svozza/git/github.com/svozza/crocks-test/node_modules/crocks/Reader/ReaderT.js:71:29)
at Function.ask (/Users/svozza/git/github.com/svozza/crocks-test/node_modules/crocks/Reader/ReaderT.js:33:14)
at Object. (/Users/svozza/git/github.com/svozza/crocks-test/fluture.js:7:14)
at Module._compile (internal/modules/cjs/loader.js:1085:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:791:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.