Package detail

typify-parser

phadej79kMIT1.1.0

Type signature parser for typify

type, signature, parser, checking

readme

typify type parser

Type signature parser for typify

Build Status NPM version Dependency Status devDependency Status Code Climate

Turns (foo, bar 42) -> quux into

{
  "type": "function",
  "arg": {
    "type": "product",
    "args": [
      {
        "type": "ident",
        "value": "foo"
      },
      {
        "type": "application",
        "callee": {
          "type": "ident",
          "value": "bar"
        },
        "args": [
          {
            "type": "number",
            "value": 42
          }
        ]
      }
    ]
  },
  "result": {
    "type": "ident",
    "value": "quux"
  }
}

Synopsis

var parser = require("typify-parser");

// Example from above
var t = parser("(foo, bar 42) -> quux");

// Free vars
p.freeVars(t);                             // ['bar', 'foo', 'quux']
p.freeVars(p("rec list -> () | a & list")) // ['a']