proposal-type-annotations
rescript
proposal-type-annotations | rescript | |
---|---|---|
110 | 106 | |
4,311 | 6,961 | |
0.5% | 1.9% | |
3.0 | 9.8 | |
about 1 month ago | 3 days ago | |
JavaScript | ReScript | |
- | GNU General Public License v3.0 or later |
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.
proposal-type-annotations
-
TypeScript enums: use cases and alternatives
After almost a decade of TypeScript my recommendation is to not use TypeScript enums.
Enums is going to make your TypeScript code not work in a future where TypeScript code can be run with Node.js or in browser when typings are added to JavaScript[1]
Enums results in runtime code and in most cases you really want type enums. Use `type State = "Active" | "Inactive"` and so on instead. And if you really want an closed-ended object use `const State = { Active: 1, Inactive: 0 } as const`
[1] https://github.com/tc39/proposal-type-annotations
-
PyScript: An open source platform for Python in the browser
Maybe as part of the Flutter/Dart sales story?
Here is the current status of the standard proposal.
https://tc39.es/proposal-type-annotations/
-
Node Will Finally suport Typescript???
So read the Github of TC39: https://github.com/tc39/proposal-type-annotations
-
Node.js adds experimental support for TypeScript
Yes. That is noted in the PR:
> There is a TC39 proposal for type annotations
Which links to https://github.com/tc39/proposal-type-annotations
It is a long ways off though.
-
5 years in, JavaScript Modules are still painful
IMO the game changer in your scenario is when type annotations are added as a standard JS feature:
https://github.com/tc39/proposal-type-annotations
At that point you'd be able to run your TS code directly without any transpiration necessary. I'd love to remove all the build process junk from my projects and have them run quicker.
-
Bun 1.1
That proposal is not fully compatible with Typescript: https://github.com/tc39/proposal-type-annotations?tab=readme...
-
Go 1.22 Release Notes
They held a meeting a few months ago so it's alive but probably still years away.
https://github.com/tc39/proposal-type-annotations/issues/184
-
[AskJS] Kicking a dead horse - TS vs JS
I particularly like this thread in the TC39 types proposal. TypeScript IS a development trojan horse and locks you into the Microsoft Way of being a JS developer.
- Strong static typing, a hill I'm willing to die on...
-
HTML First – Six principles for building simple, maintainable, web software
Edit: There is a proposal to extend JavaScript with type annotations, which would allow ("a reasonably large subset") of TypeScript to run directly in the browser. Yay!
https://github.com/tc39/proposal-type-annotations
rescript
-
An Ode to TypeScript Enums
When I see this it makes me want to run for ReasonML/ReScript/Elm/PureScript.
Sum types (without payloads on the instances they are effectively enums) should not require a evening filling ceremonial dance event to define.
https://reasonml.github.io/
https://rescript-lang.org/
https://elm-lang.org/
https://www.purescript.org/
(any I forgot?)
It's nice that TS is a strict super set of JS... But that's about the only reason TS is nice. Apart from that the "being a strict super set" hampers TS is a million and one ways.
To my JS is too broken to fix with a strict super set.
-
JavaScript schema library from the Future 🧬
Interestingly, you probably think that calling eval itself is slow, and I thought this myself. However, it was actually not as slow as I expected. For example, creating a simple nested object schema and calling the parser once happened to be 1.8 times faster with ReScript Schema using eval than Zod. I really put a lot of effort into making it as fast as possible, and I have to thank the ReScript language and the people behind it for allowing me to write very performant and safe code.
- How Jane Street accidentally built a better build system for OCaml
- If Not React, Then What?
-
OCaml Syntax Sucks
Fortunately, the OCaml compiler is very modular, and there have been efforts to make things more... reasonable.
- Reason, a different syntactic frontend for regular OCaml: https://reasonml.github.io/
- ReScript, a language with OCaml semantics that compiles into: JS https://rescript-lang.org/ (I suppose it's a reincarnation of js-of-ocaml).
-
TypeScript's Lack of Naming Types and Type Conversion in Angular
Elm, ReScript, F#, Ocaml, Scala… it’s just normal to name your types, then use them places. In fact, you’ll often create the types _before_ the code, even if you’re not really practicing DDD (Domain Driven Design). Yes, you’ll do many after the fact when doing functions, or you start testing things and decide to change your design, and make new types. Either way, it’s just “the norm”. You then do the other norms like “name your function” and “name your variables”. I’m a bit confused why it’s only 2 out of 3 (variables and functions, not types) in this TypeScript Angular project. I’ll have to look at other internal Angular projects and see if it’s common there as well.
-
How I host Elm web applications with GitHub Pages
A web application makes use of these same ingredients, i.e. HTML, CSS, and JavaScript, but it uses significantly more JavaScript. As the JavaScript powering your web application grows in size it can bring with it a variety of problems that a few languages, like TypeScript, ReScript, PureScript, and Elm, have attempted to solve. Each of the aforementioned compile to JavaScript languages have their pros and cons but it is beyond the scope of this article to get into those details. Suffice it to say, my preference is Elm. It is also not the goal of this article to convince you to use Elm but only to show you how Elm fits into the flow of creating a web application and hosting it on GitHub Pages. So let's continue by adding Elm to our project.
- Node.js adds experimental support for TypeScript
-
Dealing with Unicode string, done right and better.
Since JavaScript doesn't have a pattern-matching like Rust, it could be hard to replicate the same logic. I used the ReScript compiler to maintain the original logic as much as possible. It made me able to port it confidently. Specifically check_pair function can be converted into this.
- ReScript: Fast, Simple Typed JavaScript from the Future
What are some alternatives?
captureSystemAudio - Capture system audio ("What-U-Hear")
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
d2-playground - An online runner to play, learn, and create with D2, the modern diagram scripting language that turns text to diagrams.
reason - Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems
proposal-record-tuple - ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!
purescript - A strongly-typed language that compiles to JavaScript