Hindley Milner Definitions
Hegel
Our great sponsors
Hindley Milner Definitions | Hegel | |
---|---|---|
- | 15 | |
195 | 2,109 | |
0.0% | - | |
0.0 | 0.0 | |
over 1 year ago | 3 months ago | |
JavaScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Hindley Milner Definitions
We haven't tracked posts mentioning Hindley Milner Definitions yet.
Tracking mentions began in Dec 2020.
Hegel
- Ask HN: Are “normal” vocabulary getting depleted by tech-brand hijacking?
-
Hegel – An advanced static type checker for JavaScript
unfortunately, the project is on pause for the time being [1]
[1]: https://github.com/JSMonk/hegel/issues/355#issuecomment-1075...
-
Ezno
Thank you. Just checked out the Bagel post (https://www.brandons.me/blog/the-bagel-language) and it looks really cool. Identifying pure functions (whether that is by syntax annotation or from synthesis) is a really good idea, gives me some ideas for doing function inlining in Ezno. I like the "Misc niceties" section, a few of those may of may not be on Ezno's todo list :)
The automatic / inferred generic restrictions is quite cool. https://hegel.js.org/ got there before me! Basic restriction modification is quite simple e.g. `(x) => Math.sin(x)`, x wants to be a number so can add that restriction. It gets more difficult with higher poly types. `(someObj) => Math.sin(someObj.prop1.prop2)` requires modifying not just `someObj` but a property on a property on it. And `(x, y) => printString(x + y)` requires doing even more complex things. But its definitely possible!
- Hegel: advanced static type checker for JavaScript
-
The TypeScript Experience
Can TypeScript be improved in this respect? Or, in broader terms, can a superset of JavaScript support a sound type system without becoming overly complicated?
-
Differences between TypeScript and Elm
An alternative to TypeScript can be Flow, a library maintained by Facebook. Flow, similarly to TypeScript, is not a sound type system. "Flow tries to be as sound and complete as possible. But because JavaScript was not designed around a type system, Flow sometimes has to make a tradeoff". Another alternative is Hegel, a type system that "attempts" to be sound. It is unclear to me if the attempt succeeded or not but it is worth checking.
-
An introduction to type programming in TypeScript – zhenghao
Check out Hegel[0], it uses Flow syntax, it's compatible w/ .d.ts type definitions and has a smarter type inference model than both TS and Flow IMHO.
[0] https://hegel.js.org/
- Hegel: a type checker for JavaScript with optional type annotations for preventing runtime type errors
What are some alternatives?
TypeScript - IO wrapper around TypeScript language services, allowing for easy consumption by editor plugins
TypL - The Type Linter for JS
io-ts - Runtime type system for IO decoding/encoding
ramda - :ram: Practical functional Javascript
purescript - A strongly-typed language that compiles to JavaScript
Bootstrap - The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.
Vue.js - This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
Sanctuary - :see_no_evil: Refuge from unsafe JavaScript
zod - TypeScript-first schema validation with static type inference
rescript-compiler - The compiler for ReScript.