[HN Gopher] Show HN: ESInfer - Make JavaScript Type-Safe
___________________________________________________________________
Show HN: ESInfer - Make JavaScript Type-Safe
Hello, folks. I'm Jiang, the author of ESInfer. I love writing
Javascript because it has a prosperous ecosystem and is quick to
get my hands dirty. However, sometimes it's painful when the flow
is not fast to follow due to the lack of a type system. To solve
this, I wrote ESInfer, a statical inference tool, to automatically
type check and generate type annotations for Javascript. It works
with pure Javascript without any add-ons to the language or user-
space code and supports highly dynamic features, such as the
modification of prototypes. It is still in the very early stage,
which offers almost all ES5 features and a select set of ES6
features like array/object destructing. I'm working hard to bring
all ES6+ features into it incrementally. If you heavily use
javascript/typescript and do NOT want to write the type annotation
sh*ts anymore, give it a try :)
Author : jiangmy
Score : 31 points
Date : 2022-10-15 12:03 UTC (10 hours ago)
(HTM) web link (esinfer.com)
(TXT) w3m dump (esinfer.com)
| activitypea wrote:
| This looks really interesting! How is it different from just
| running flowtype over plain js?
| wolfgang42 wrote:
| The website seems like it needs an explanation of what this is
| for and when you'd want to use it; right now it leaves quite a
| lot to the imagination. (Also, the GitHub link in the corner (a)
| requires JavaScript for some reason instead of just being a
| normal link, and (b) goes to an empty repo so it doesn't seem to
| be possible to use this thing.)
|
| A big part of my confusion, I think, is that I'm not sure why
| you'd _want_ to write code without type annotations. I can see a
| use for autogenerating them from code that doesn't have any, but
| the first example on the page infers the return type of hello()
| as "t547061|string" which is rather more opaque than I'd prefer
| from a diagnostic. A big part of why I use TypeScript is
| _because_ of the type annotations: both so future readers can
| understand my intent, and also to give the type checker hints
| about what I was thinking so it can point to exactly where I went
| wrong instead of going "this over here doesn't work with that
| thing over there, I dunno, there's probably something in the
| middle that's not right." So I'm curious what your thoughts are
| on why you dislike annotations and how to make type errors clear
| without leaning on them for support.
| LASR wrote:
| So this is a way to generate type annotations for you from JS?
| The application must be to generate typescript as an example?
|
| I would encourage you to add some reasoning to your site.
| [deleted]
___________________________________________________________________
(page generated 2022-10-15 23:00 UTC)