infernu: Type inference and checker for JavaScript (experimental)
This version is highly experimental and may set your computer on fire (also, a lot of JS is not supported yet, so it may not be very useful.)
Infernu is a type checker for JavaScript. Since JavaScript is dynamically and weakly typed, it makes no sense to talk about "type errors" in arbitrary JavaScript code.
Consequently Infernu makes assumptions about the code and expects it to follow certain rules that
are not required by plain JavaScript (for example, implicit coercions such as `3 + a'
are not
allowed.)
Infernu's type system is designed for writing dynamic-looking code in a safe statically type-checked environment. Type annotations are not required (though they would be nice to support, for various reasons). Instead, Infernu *infers* the types of expressions by examining the code. If the inferred types contradict each other, Infernu reports the contradiction as an error.
Infernu places restrictions on JS programs that are otherwise valid. In other words, Infernu is a **subset of JavaScript**. Infernu tries to strike a balance between type system complexity and dynamic-style coding flexibility.
See the .md files included in the package for more information.
[Skip to Readme]
Modules
[Index]
Flags
Manual Flags
Name | Description | Default |
---|---|---|
quickcheck | Disabled | |
trace | Disabled | |
debug | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- infernu-0.0.0.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.0.0.0, 0.0.0.1 |
---|---|
Dependencies | base (>=4.6 && <5), containers, digits, either, fgl, infernu, language-ecmascript, mtl, optparse-applicative, parsec, transformers [details] |
License | GPL-2.0-only |
Copyright | Noam Lewis, 2014-2015 |
Author | Noam Lewis |
Maintainer | jones.noamle@gmail.com |
Home page | https://github.com/sinelaw/infernu |
Bug tracker | https://github.com/sinelaw/infernu/issues |
Source repo | head: git clone git@github.com:sinelaw/infernu.git |
Uploaded | by NoamLewis at 2015-04-18T22:53:53Z |
Distributions | |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Executables | test, infernu-demo, infernu |
Downloads | 1791 total (2 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2015-04-19 [all 1 reports] |