Hacker News new | ask | show | jobs
by mingyeow 1593 days ago
This is fantastic writing:

  After writing TypeScript for a while, it occurred to me that the TypeScript language actually consists of two sub-languages - one is JavaScript, and the other is the type language.

  For the JavaScript language, the world is made of JavaScript values; for the type language, the world is made of types.
2 comments

This is called a "biformity". There was a great post about this the other day:

https://hirrolot.github.io/posts/why-static-languages-suffer...

You might be interested to learn that in languages like Coq with dependent types, the difference between type-level and value-level languages (almost) disappears! Check out the Software Foundations book [1].

[1] https://softwarefoundations.cis.upenn.edu/