Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
canadahonk
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
1.
▲
AOT JavaScript engine Porffor passes over 50% of official JavaScript test suite
(goose.icu)
4 points
by
canadahonk
2y ago
|
0 comments
2.
▲
by
canadahonk
2y ago
This type of test does work as expected. The "sync" means that it does not feature a full event loop (yet) so cannot easily support async I/O or some more "advanced" use cases.
3.
▲
by
canadahonk
2y ago
Yep! Also as it is technically more of an engine/runtime (sometimes) than "just" a compiler, folks in the JS space are more familiar with engine as a term :)
4.
▲
by
canadahonk
2y ago
Exactly. The versioning system is definitely unique and controversial, but I think it fits for a fast moving project like this, so I don't have to really consider versioning which could slow development. When it becomes more stable, I&
5.
▲
by
canadahonk
2y ago
Hey, dev here, I agree that is an interesting application which Porffor could potentially help with! Happy to chat sometime :)
6.
▲
by
canadahonk
2y ago
Good comparison and thanks! A few minor clarifications: - Porffor isn't fully self-hosted yet but should be possible hopefully! It does partially compile itself for builtins (eg Array.prototype.filter, Math.sin, atob, ...) though. -
7.
▲
by
canadahonk
2y ago
For now, unless it is given a literal string (eg `eval('42')`) eval just won't work.
8.
▲
by
canadahonk
3y ago
Agreed, I have it behind a flag because of this, in the (far) future I could enable by default if I write a type checker built-in or something. Thank you!
9.
▲
by
canadahonk
3y ago
Unfortunately yes, optimizer at high levels is very unstable/aggressive at the moment. Currently working on refactoring things for perf generally instead of just an optimizer, but definitely will fix in the future!
10.
▲
Using TS type annotations for JavaScript engine optimization
(goose.icu)
31 points
by
canadahonk
3y ago
|
9 comments
11.
▲
by
canadahonk
3y ago
CSS light-dark() function heh ;)
12.
▲
by
canadahonk
3y ago
JS is a language I can cobble together something hacky in and I don't have to care about types or anything yet, just making something work. It's fun! :)
13.
▲
by
canadahonk
3y ago
Zoom isn't taken into account so probably why it looks bad. The FPS is locked to your monitor's frame rate (or what your browser provides, LibreWolf might always send 60 to avoid fingerprinting). As the post says, it's just f
14.
▲
by
canadahonk
3y ago
TIL, looks neat!
15.
▲
by
canadahonk
3y ago
It's there - Ladybird ( https://ladybird.dev )
16.
▲
by
canadahonk
3y ago
It is technically memory safe :^)
17.
▲
by
canadahonk
3y ago
Nope! It uses Wasm (really WASI) builds of existing JS engines ;)