{"_id":"roy","_rev":"21-cadbf573d97cff6d57fd448236ced180","name":"roy","description":"Small functional language that compiles to JavaScript","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.2":{"name":"roy","description":"Small functional language that compiles to JavaScript","keywords":["javascript","language","roy","compiler"],"author":{"name":"Brian McKenna","email":"brian@brianmckenna.org","url":"http://brianmckenna.org/"},"version":"0.1.2","engines":{"node":">=0.4.0"},"main":"src/compile.js","bin":{"roy":"./roy"},"scripts":{"install":"node src/grammar.js"},"homepage":"http://roy.brianmckenna.org/","dependencies":{"jison":">= 0.2.11","underscore":">= 1.2.0"},"devDependencies":{"interleave":">= 0.0.6"},"_npmUser":{"name":"puffnfresh","email":"puffnfresh@gmail.com"},"_id":"roy@0.1.2","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"88302b482a7fa6bf4ebc5a32f75cf0d6bbed1e2b","tarball":"https://registry.npmjs.org/roy/-/roy-0.1.2.tgz","integrity":"sha512-Eilp/pxX/3NES9crD5NxDZYlSGQdN1BxBk2hXBKfEYi6sXbTE0Fa10x5vRieLRj3OEEFr9mRfXBhYnKiafi4WA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFcvNQMnkajVW0t8m5vB1xfM0/Y3NjCznoZNd9flWaFIAiEAgmfvh6zJ6WwKM+utQVaTCRxLECe+YNAB8OIPU78cpnk="}]},"maintainers":[{"name":"puffnfresh","email":"puffnfresh@gmail.com"}]},"0.1.3":{"name":"roy","description":"Small functional language that compiles to JavaScript","keywords":["javascript","language","roy","compiler"],"author":{"name":"Brian McKenna","email":"brian@brianmckenna.org","url":"http://brianmckenna.org/"},"version":"0.1.3","engines":{"node":">=0.4.0"},"main":"src/compile.js","bin":{"roy":"./roy"},"scripts":{"install":"node src/grammar.js"},"homepage":"http://roy.brianmckenna.org/","dependencies":{"jison":">= 0.2.x","underscore":">= 1.2.0"},"devDependencies":{"interleave":">= 0.0.6"},"_npmUser":{"name":"puffnfresh","email":"puffnfresh@gmail.com"},"_id":"roy@0.1.3","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"7c94249d0251b7fcb5cd27c834307e888c0585fa","tarball":"https://registry.npmjs.org/roy/-/roy-0.1.3.tgz","integrity":"sha512-hgEnUUtWEnl2gaZ5z1RfOo1MCPQtKw8NSzyRRYCgM2YGymwjj3AoEp55UwmsIRkfBGPPAofBzKlghBogQuiZLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGrIjoJ8u/pkDXHbVAysjcUa83UQjUP+MHjAT93ECTTAAiB0enU8SVK8olmASGtfOI3pY7MdJ+DrnnsmvPfQjlk5CQ=="}]},"maintainers":[{"name":"puffnfresh","email":"puffnfresh@gmail.com"}]},"0.1.4":{"name":"roy","description":"Small functional language that compiles to JavaScript","keywords":["javascript","language","roy","compiler"],"author":{"name":"Brian McKenna","email":"brian@brianmckenna.org","url":"http://brianmckenna.org/"},"version":"0.1.4","engines":{"node":">=0.4.0"},"main":"src/compile.js","bin":{"roy":"./roy"},"scripts":{"install":"node src/grammar.js"},"homepage":"http://roy.brianmckenna.org/","dependencies":{"jison":"0.2.x","underscore":"1.2.0","unicode-categories":"0.9.0"},"devDependencies":{"interleave":"0.1.1"},"_npmUser":{"name":"puffnfresh","email":"puffnfresh@gmail.com"},"_id":"roy@0.1.4","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"9a20f3923114fb2556b7f9ef4b41cd0e99b124f0","tarball":"https://registry.npmjs.org/roy/-/roy-0.1.4.tgz","integrity":"sha512-MD5oRTBXsgrsVFqsf7e1Tx91jZGxKbcfwnXNtyBMa54LnDP9eASIFI7nYg1BtxQfSNVGh7qaicF68+Tb2DQHpA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG+TC+PvGkWXBBNb+Bt3QazDvQHfZCHeSGYhejeQdNNIAiEAl9SaeKiDQROfo7cYxifEJtimGt15MzMBwYotYCaMbY0="}]},"maintainers":[{"name":"puffnfresh","email":"puffnfresh@gmail.com"}]},"0.1.5":{"name":"roy","description":"Small functional language that compiles to JavaScript","keywords":["javascript","language","roy","compiler"],"author":{"name":"Brian McKenna","email":"brian@brianmckenna.org","url":"http://brianmckenna.org/"},"version":"0.1.5","engines":{"node":">=0.4.0"},"main":"src/compile.js","bin":{"roy":"./roy"},"scripts":{"install":"node src/grammar.js && node src/typegrammar.js"},"homepage":"http://roy.brianmckenna.org/","dependencies":{"jison":"0.2.x","underscore":"1.2.0","unicode-categories":"0.9.0"},"devDependencies":{"interleave":"0.1.1"},"_npmUser":{"name":"puffnfresh","email":"puffnfresh@gmail.com"},"_id":"roy@0.1.5","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"3a9420ab69cbc830a7d5ae91c70f7478c5968a28","tarball":"https://registry.npmjs.org/roy/-/roy-0.1.5.tgz","integrity":"sha512-iCJuKyZaDX29HzxCruhGhBpuSJxxhz0gqxJ9ByCNjymKrC8TFdGm93+hpef44K14bQXhU4B81yZ3BtbCpSm0gQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCd4yRMccrHzSN9OpHYmGYDzUM2DXr6XoBLIEMiksl2wAIgMESbSCe1bePahoYCETo0hwtNWgujzc7qNZFZJh1EFGo="}]},"maintainers":[{"name":"puffnfresh","email":"puffnfresh@gmail.com"}]},"0.2.0":{"name":"roy","description":"Small functional language that compiles to JavaScript","keywords":["javascript","language","roy","compiler"],"author":{"name":"Brian McKenna","email":"brian@brianmckenna.org","url":"http://brianmckenna.org/"},"version":"0.2.0","engines":{"node":">=0.4.0"},"main":"src/compile.js","bin":{"roy":"./roy"},"scripts":{"install":"node src/grammar.js && node src/typegrammar.js","test":"node_modules/.bin/grunt jison lint jasmine"},"homepage":"http://roy.brianmckenna.org/","dependencies":{"escodegen":"0.0.22","jison":"0.2.7","source-map":"0.1.8","underscore":"1.2.0","unicode-categories":"0.9.1"},"devDependencies":{"grunt":"0.3.15","rigger":"0.3.19","jasmine-node":"1.5.0"},"readme":"# Roy [![Build Status](https://travis-ci.org/puffnfresh/roy.png?branch=master)](https://travis-ci.org/puffnfresh/roy)\nRoy is a small functional language that compiles to JavaScript. It has a few main features:\n\n* Damas-Hindley-Milner type inference\n* Whitespace significant syntax\n* Simple tagged unions\n* Pattern matching\n* Structural typing\n* Monad syntax\n* Not-horrible JS output\n\n## Usage\nTo compile:\n\n    make deps\n    make\n\nTo enter a REPL:\n\n    ./roy\n\nTo compile and run a `.roy` file:\n\n    ./roy -r examples/helloworld.roy\n\nTo compile a `.roy` file to `.js`:\n\n    ./roy examples/helloworld.roy\n    cat examples/helloworld.js\n\n## Example\nInput (test.roy):\n\n```roy\nlet addTwo n =\n    n + 2\n\nconsole.log (addTwo 40)\n```\n\nOutput (test.js):\n\n```roy\nvar addTwo = function(n) {\n    return n + 2;\n}\nconsole.log(addTwo(40))\n```\n\nCalling `addTwo \"test\"` will result in a compile-time error (`addTwo` can only take a Number).\n\nSee the examples directory for more.\n\n## License\nMIT\n\n## Resources\n* Roy website: http://roy.brianmckenna.org/\n* Roy Google Group: http://groups.google.com/group/roylang\n* Roy docs: http://guide.roylang.org/\n* Roy Twitter: http://twitter.com/roylangjs\n* Bitbucket repo: https://bitbucket.org/puffnfresh/roy\n* GitHub repo: https://github.com/pufuwozu/roy\n* Brian's blog: http://brianmckenna.org/\n* altJS channel: irc://irc.freenode.net/altJS\n","readmeFilename":"README.md","_id":"roy@0.2.0","dist":{"shasum":"13a9dfcb16ab2a09768f2f2b023cf24608abae17","tarball":"https://registry.npmjs.org/roy/-/roy-0.2.0.tgz","integrity":"sha512-q5Wa9BvVl9+p7mKKKLyCv8O9pJWfxcf942PcmrFY6VWVxcg8PL5BDc5wLChCdmcKzpoWkandKRinmj9ftJKHqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICPubhMjiqgNCMDbz4YjtRZGQmevojNCJvf3/8lIuUMKAiEAj1O9NYnqpnO40Tju4bqIHw6Qdw76RQc4c2HU/ZH9paU="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"puffnfresh","email":"brian@brianmckenna.org"},"maintainers":[{"name":"puffnfresh","email":"puffnfresh@gmail.com"}]},"0.2.1":{"name":"roy","description":"Small functional language that compiles to JavaScript","keywords":["javascript","language","roy","compiler"],"author":{"name":"Brian McKenna","email":"brian@brianmckenna.org","url":"http://brianmckenna.org/"},"version":"0.2.1","engines":{"node":">=0.4.0"},"main":"src/compile.js","bin":{"roy":"./roy"},"scripts":{"prepublish":"node_modules/.bin/grunt jison","test":"node_modules/.bin/grunt jison lint jasmine"},"homepage":"http://roy.brianmckenna.org/","dependencies":{"escodegen":"0.0.22","source-map":"0.1.8","underscore":"1.2.0","unicode-categories":"0.9.1"},"devDependencies":{"jison":"0.2.7","grunt":"0.3.15","rigger":"0.3.19","jasmine-node":"1.5.0"},"readme":"# Roy [![Build Status](https://travis-ci.org/puffnfresh/roy.png?branch=master)](https://travis-ci.org/puffnfresh/roy)\nRoy is a small functional language that compiles to JavaScript. It has a few main features:\n\n* Damas-Hindley-Milner type inference\n* Whitespace significant syntax\n* Simple tagged unions\n* Pattern matching\n* Structural typing\n* Monad syntax\n* Not-horrible JS output\n\n## Usage\nTo compile:\n\n    make deps\n    make\n\nTo enter a REPL:\n\n    ./roy\n\nTo compile and run a `.roy` file:\n\n    ./roy -r examples/helloworld.roy\n\nTo compile a `.roy` file to `.js`:\n\n    ./roy examples/helloworld.roy\n    cat examples/helloworld.js\n\n## Example\nInput (test.roy):\n\n```roy\nlet addTwo n =\n    n + 2\n\nconsole.log (addTwo 40)\n```\n\nOutput (test.js):\n\n```roy\nvar addTwo = function(n) {\n    return n + 2;\n}\nconsole.log(addTwo(40))\n```\n\nCalling `addTwo \"test\"` will result in a compile-time error (`addTwo` can only take a Number).\n\nSee the examples directory for more.\n\n## License\nMIT\n\n## Resources\n* Roy website: http://roy.brianmckenna.org/\n* Roy Google Group: http://groups.google.com/group/roylang\n* Roy docs: http://guide.roylang.org/\n* Roy Twitter: http://twitter.com/roylangjs\n* Bitbucket repo: https://bitbucket.org/puffnfresh/roy\n* GitHub repo: https://github.com/pufuwozu/roy\n* Brian's blog: http://brianmckenna.org/\n* altJS channel: irc://irc.freenode.net/altJS\n","readmeFilename":"README.md","_id":"roy@0.2.1","dist":{"shasum":"7238a72ef5da31478dd09b61fa84a018b746f3cf","tarball":"https://registry.npmjs.org/roy/-/roy-0.2.1.tgz","integrity":"sha512-og30WZ0txiA96TiCNlI1mVuq3z55XmXHm2+UMgjn8nuU9fXZlC3t77E7iGuRh5i9u5o7PfsDqVZQQgDlOW4O6w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG5Y3e9gJDpwxfGaXSiNiqzi9CEJMwzbfP0VlNpVhljSAiEAzJcfPG5AMS1I5WVxdM++EIwS0Kkf6RnK2g9bk7oLAwI="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"puffnfresh","email":"brian@brianmckenna.org"},"maintainers":[{"name":"puffnfresh","email":"puffnfresh@gmail.com"}]},"0.2.2":{"name":"roy","description":"Small functional language that compiles to JavaScript","keywords":["javascript","language","roy","compiler"],"author":{"name":"Brian McKenna","email":"brian@brianmckenna.org","url":"http://brianmckenna.org/"},"version":"0.2.2","engines":{"node":">=0.4.0"},"main":"src/compile.js","bin":{"roy":"./roy"},"scripts":{"prepublish":"node_modules/.bin/grunt jison","test":"node_modules/.bin/grunt jison lint jasmine"},"homepage":"http://roy.brianmckenna.org/","dependencies":{"escodegen":"0.0.22","source-map":"0.1.8","underscore":"1.2.0","unicode-categories":"0.9.1"},"devDependencies":{"jison":"0.2.7","grunt":"0.3.15","rigger":"0.3.19","jasmine-node":"1.5.0"},"readme":"# Roy [![Build Status](https://travis-ci.org/puffnfresh/roy.png?branch=master)](https://travis-ci.org/puffnfresh/roy)\nRoy is a small functional language that compiles to JavaScript. It has a few main features:\n\n* Damas-Hindley-Milner type inference\n* Whitespace significant syntax\n* Simple tagged unions\n* Pattern matching\n* Structural typing\n* Monad syntax\n* Not-horrible JS output\n\n## Usage\nTo compile:\n\n    make deps\n    make\n\nTo enter a REPL:\n\n    ./roy\n\nTo compile and run a `.roy` file:\n\n    ./roy -r examples/helloworld.roy\n\nTo compile a `.roy` file to `.js`:\n\n    ./roy examples/helloworld.roy\n    cat examples/helloworld.js\n\n## Example\nInput (test.roy):\n\n```roy\nlet addTwo n =\n    n + 2\n\nconsole.log (addTwo 40)\n```\n\nOutput (test.js):\n\n```roy\nvar addTwo = function(n) {\n    return n + 2;\n}\nconsole.log(addTwo(40))\n```\n\nCalling `addTwo \"test\"` will result in a compile-time error (`addTwo` can only take a Number).\n\nSee the examples directory for more.\n\n## License\nMIT\n\n## Resources\n* Roy website: http://roy.brianmckenna.org/\n* Roy Google Group: http://groups.google.com/group/roylang\n* Roy docs: http://guide.roylang.org/\n* Roy Twitter: http://twitter.com/roylangjs\n* Bitbucket repo: https://bitbucket.org/puffnfresh/roy\n* GitHub repo: https://github.com/pufuwozu/roy\n* Brian's blog: http://brianmckenna.org/\n* altJS channel: irc://irc.freenode.net/altJS\n","readmeFilename":"README.md","_id":"roy@0.2.2","dist":{"shasum":"17dab5a39c3d0a777e75de5001d356d5f43b7533","tarball":"https://registry.npmjs.org/roy/-/roy-0.2.2.tgz","integrity":"sha512-AAApy7jkWcon07rcmHIWd8P0amGu64ln67PxqmMIZ1OzH+Ze1b6uG+HbBbtN0r6RNBGtVaa01v6S/IM5C5bVDQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGV1ICbMDXIurkbx+8LgWTfTXz93QBTDaTcdz09VZseYAiA0Chz2H0zKv5vLr9WxOIofePua3XSyMnqdhezYrTuNjQ=="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"puffnfresh","email":"brian@brianmckenna.org"},"maintainers":[{"name":"puffnfresh","email":"puffnfresh@gmail.com"}]}},"readme":"Roy\n===\n\nRoy is a small functional language that compiles to JavaScript. It has a few main features:\n\n* Damas-Hindley-Milner type inference\n* Whitespace significant syntax\n* Compile-time meta-programming\n* Simple tagged unions\n* Pattern matching\n* Structural typing\n* Monad syntax\n* Not-horrible JS output\n\nUsage\n---\n\nTo compile:\n\n    make deps\n    make\n\nTo enter a REPL:\n\n    ./roy\n\nTo compile and run a `.roy` file:\n\n    ./roy -r examples/helloworld.roy\n\nTo compile a `.roy` file to `.js`:\n\n    ./roy examples/helloworld.roy\n    cat examples/helloworld.js\n\nExample\n---\n\nInput (test.roy):\n\n    let addTwo n =\n        n + 2\n\n    console.log (addTwo 40)\n\nOutput (test.js):\n\n    var addTwo = function(n) {\n\treturn n + 2;\n    }\n    console.log(addTwo(40))\n\nCalling `addTwo \"test\"` will result in a compile-time error.\n\nSee the examples directory for more.\n\nTODO\n---\n* Mutable types\n* Types across modules\n* Allow explicit types that have type parameters\n* Standard libary\n* Tail recursion\n","maintainers":[{"name":"puffnfresh","email":"puffnfresh@gmail.com"}],"time":{"modified":"2022-06-26T14:23:56.486Z","created":"2011-11-18T07:56:02.600Z","0.1.2":"2011-11-18T07:56:25.977Z","0.1.3":"2011-11-19T00:12:39.010Z","0.1.4":"2012-01-23T11:17:33.441Z","0.1.5":"2012-03-19T11:00:11.685Z","0.2.0":"2013-06-29T21:23:26.834Z","0.2.1":"2013-06-29T21:53:53.891Z","0.2.2":"2013-06-30T03:00:15.155Z"},"author":{"name":"Brian McKenna","email":"brian@brianmckenna.org","url":"http://brianmckenna.org/"},"users":{"rockymadden":true,"ero":true}}