Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    hm-parserpublic

    Hindley Milner Parser

    This is a parser for Haskell-alike Hindley Milner signatures with some sugar added to support JS-specific things like methods.

    It is a drop-in replacement for hindley-milner-parser-js package which is based on mona. Mona has few problems: it is very slow if used with Mocha test runner and it imports babel-polyfill by hard-code what makes it impossible to use within projects that use another version of babel-polyfill.

    Usage

    Install with:

    $ yarn add hm-parser
    # or
    $ npm install hm-parser
    

    Then:

     
    HMP = require('hm-parser');
     
    HMP.parse('hello :: a -> Maybe a');
     
    // returns:
    // {
    //   name: 'hello',
    //   constraints: [],
    //   type:
    //     {type: 'function', text: '', children: [
    //       {type: 'typevar', text: 'a', children: []},
    //       {type: 'typeConstructor', text: 'Maybe', children: [
    //         {type: 'typevar', text: 'a', children: []}]}]}

    See tests for more examples.

    License

    MIT

    Keywords

    none

    install

    npm i hm-parser

    Downloadslast 7 days

    134

    version

    0.1.5

    license

    MIT

    repository

    github.com

    last publish

    collaborators

    • avatar
    • avatar