{"_id":"@cicada-lang/hindley-milner.js","_rev":"2-9079b17f04b1be5b1e32e83cd739dfa6","name":"@cicada-lang/hindley-milner.js","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.1":{"name":"@cicada-lang/hindley-milner.js","version":"0.1.1","license":"GPL-3.0-or-later","_id":"@cicada-lang/hindley-milner.js@0.1.1","maintainers":[{"name":"xieyuheng","email":"xyheme@gmail.com"}],"contributors":[{"name":"Xie Yuheng"}],"homepage":"https://github.com/cicada-lang/hindley-milner.js#readme","bugs":{"url":"https://github.com/cicada-lang/hindley-milner.js/issues"},"bin":{"lambda.js":"lib/main.js"},"dist":{"shasum":"78f9e928be468ab8c7b15c549fc6ad5ecb3d5850","tarball":"https://registry.npmjs.org/@cicada-lang/hindley-milner.js/-/hindley-milner.js-0.1.1.tgz","fileCount":323,"integrity":"sha512-KE+5+TvgPizo+iS03WWAq5nGK9iKsLHE5zEYBMNGj/8tBL1iy9DIAX7AztQQKswm9xXBRpUw+m1fJjBFSlAw9A==","signatures":[{"sig":"MEUCIHHbTxruIjaRNaZAlSn8xrgLOZiWXCOV4NtvwXU0bGgEAiEA/GjxbaiodyRMJ0ET96Cyc2FCqhPFY0kXxhwKpaMdFFM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195512},"main":"./lib/index.js","type":"module","gitHead":"0f27b9befd5804f4ba998237348995e4c5cd0f19","scripts":{"test":"npm run test:node && npm run test:lang && npm run test:lang:error","build":"tsc","format":"prettier src --write","test:lang":"test-runner snapshot 'node ./lib/main.js run' 'examples/**/*.lisp' --exclude 'examples/**/*.error.lisp'","test:node":"node --test lib/**/*.test.js","build:watch":"tsc --watch","test:lang:error":"test-runner snapshot-error 'node ./lib/main.js run' 'examples/**/*.error.lisp'"},"_npmUser":{"name":"xieyuheng","email":"xyheme@gmail.com"},"repository":{"url":"git+https://github.com/cicada-lang/hindley-milner.js.git","type":"git"},"_npmVersion":"11.4.2","description":"To practics implementing Hindley-Milner type system.","directories":{},"_nodeVersion":"24.4.0","dependencies":{"dedent":"^1.6.0","@xieyuheng/x-data.js":"^0.1.5","@xieyuheng/commander.js":"^0.1.3"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.6.2","typescript":"^5.8.3","@types/node":"^24.0.14","@xieyuheng/test-runner":"^0.2.10","prettier-plugin-organize-imports":"^4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/hindley-milner.js_0.1.1_1752591407712_0.967448627405433","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cicada-lang/hindley-milner.js","version":"0.1.2","repository":{"type":"git","url":"git+https://github.com/cicada-lang/hindley-milner.js.git"},"license":"GPL-3.0-or-later","type":"module","main":"./lib/index.js","bin":{"lambda.js":"lib/main.js"},"scripts":{"build":"tsc","build:watch":"tsc --watch","test:node":"node --test lib/**/*.test.js","test:lang":"test-runner snapshot 'node ./lib/main.js run' 'examples/**/*.lisp' --exclude 'examples/**/*.error.lisp'","test:lang:error":"test-runner snapshot-error 'node ./lib/main.js run' 'examples/**/*.error.lisp'","test":"npm run test:node && npm run test:lang && npm run test:lang:error","format":"prettier src --write"},"dependencies":{"@xieyuheng/commander.js":"^0.1.3","@xieyuheng/x-data.js":"^0.1.5","dedent":"^1.6.0"},"devDependencies":{"@types/node":"^24.0.14","@xieyuheng/test-runner":"^0.2.10","prettier":"^3.6.2","prettier-plugin-organize-imports":"^4.1.0","typescript":"^5.8.3"},"_id":"@cicada-lang/hindley-milner.js@0.1.2","contributors":[{"name":"Xie Yuheng"}],"gitHead":"92c1afde42da651aa0bf782157803d99e46658b6","description":"To practics implementing Hindley-Milner type system.","bugs":{"url":"https://github.com/cicada-lang/hindley-milner.js/issues"},"homepage":"https://github.com/cicada-lang/hindley-milner.js#readme","_nodeVersion":"24.4.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-Gnh6x9dQ+Kr0uqdMH68VxlwbLfiAGm3waFB0z5Olk8oxykIz+aGa+q2HUoWntlXoOuA0u1IL2oNyEzrbgf27OA==","shasum":"f7818edf5663c46c75ffd51cc2c1d281c0a49bd8","tarball":"https://registry.npmjs.org/@cicada-lang/hindley-milner.js/-/hindley-milner.js-0.1.2.tgz","fileCount":323,"unpackedSize":191610,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGtPp1x4RDik29fgqKmKI0OewVQVCAH/71Xb7KzCTv0dAiAPpJXyKMB9FBJ/LuDiYj3TbDqnbvkzyo3xM9KFQVYfnw=="}]},"_npmUser":{"name":"xieyuheng","email":"xyheme@gmail.com"},"directories":{},"maintainers":[{"name":"xieyuheng","email":"xyheme@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hindley-milner.js_0.1.2_1752645554784_0.586300630443725"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-15T14:56:47.636Z","modified":"2025-07-16T05:59:15.170Z","0.1.1":"2025-07-15T14:56:47.964Z","0.1.2":"2025-07-16T05:59:14.973Z"},"bugs":{"url":"https://github.com/cicada-lang/hindley-milner.js/issues"},"license":"GPL-3.0-or-later","homepage":"https://github.com/cicada-lang/hindley-milner.js#readme","repository":{"type":"git","url":"git+https://github.com/cicada-lang/hindley-milner.js.git"},"description":"To practics implementing Hindley-Milner type system.","contributors":[{"name":"Xie Yuheng"}],"maintainers":[{"name":"xieyuheng","email":"xyheme@gmail.com"}],"readme":"# hindley-milner.js\n\nTo practics implementing Hindley-Milner type system.\n\n## Examples\n\n**[combinators.lisp](examples/combinators.lisp)**\n\n```scheme\n(define (S f g x) ((f x) (g x)))\n(define (K x y) x)\n(define (I x) x)\n(define (C f x y) (f y x))\n(define (B f g x) (f (g x)))\n```\n\nInferred:\n\n```scheme\n(claim S (nu (A B C) (-> (-> A B C) (-> A B) A C)))\n(claim K (nu (A B) (-> A B A)))\n(claim I (nu (A) (-> A A)))\n(claim C (nu (A B C) (-> (-> A B C) B A C)))\n(claim B (nu (A B C) (-> (-> A B) (-> C A) C B)))\n```\n\n## Usages\n\n### Command line tool\n\nInstall it by the following command:\n\n```sh\nnpm install -g @cicada-lang/hindley-milner.js\n```\n\nThe command-line program is called `hindley-milner.js`.\n\n## Development\n\n```sh\nnpm install     # Install dependencies\nnpm run build   # Compile `src/` to `lib/`\nnpm run test    # Run test\n```\n\n## Contributions\n\nTo make a contribution, fork this project and create a pull request.\n\nPlease read the [STYLE-GUIDE.md](STYLE-GUIDE.md) before you change the code.\n\nRemember to add yourself to [AUTHORS](AUTHORS).\nYour line belongs to you, you can write a little\nintroduction to yourself but not too long.\n\n## License\n\n[GPLv3](LICENSE)\n","readmeFilename":"README.md"}