theta-idl
WebKit
theta-idl | WebKit | |
---|---|---|
1 | 151 | |
42 | 7,478 | |
- | 2.0% | |
0.0 | 10.0 | |
about 1 year ago | 2 days ago | |
Haskell | ||
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.
theta-idl
-
Show HN: We are trying to (finally) get tail-calls into the WebAssembly standard
I've found it comes up pretty often. Sometimes because the logic I'm writing demands it—traversing over some kind of nested recursive structure, for example—but more often because it makes the code easier to read. A real-world example: I have a little interface description language which can generate code in a few different target languages. I want to factor out some of the more complex logic (eg dealing with record types) into self-contained, testable functions, which means that my top-level toDefinition function needs to call toRecord, which needs to call toDefinition for each of the record's fields[1].
(Sorry if it's hard to follow the code without context, but that's the problem with examples—either they're too trivial to be interesting, or they're complex enough to be a bit confusing!)
Additionally—and maybe even more importantly—tail call elimination also makes code written in continuation-passing style (CPS) more efficient. While CPS isn't something we usually want to write by hand, a lot of common abstractions (async libraries, promises, monads) map to CPS under the hood.
[1]: https://github.com/target/theta-idl/blob/stage/theta/src/The...
WebKit
-
GPU Compute in the Browser at the Speed of Native: WebGPU Marching Cubes
Multiple engineers are working on adding it back: https://github.com/WebKit/WebKit/pulls?q=is%3Apr+is%3Aclosed...
-
HTML Streaming and DOM Diffing Algorithm
Since 2023 Chrome announced the View Transition API, and it looks like Safari is also going to support it soon.
-
Towards memory safety with ownership checks for C
One heap per type.
Here’s an allocator optimized for that use case.
https://github.com/WebKit/WebKit/blob/main/Source/bmalloc/li...
-
Bun, JavaScript, and TCO
To use this in Bun, you’d have to start Bun with the environment variable “BUN_JSC_useDollarVM=1” and then $vm.createBuiltin(mySourceCodeString)
When using this intrinsic, if any of the arguments are incorrect or it cannot otherwise enable it, the entire process will probably crash. In debug builds of JSC it will have a nicer assertion failure but that is not enabled in release builds
Example code: https://github.com/WebKit/WebKit/blob/17351231b4dedb62d81721...
also happy to answer any questions about Bun
-
Show HN: Rem: Remember Everything (open source)
Ah, good, let me introduce you to the wonderful world of the Chrome Devtools Protocol! (fka Chrome Remote Debugging Protocol)
I love this API for almost everything browser related. I built my RBI product atop this (BrowserBox: https://dosyago.com), and I think it's a drastically underrated API.
Also, it works out of the box in Edge, Brave, Chromium, and many parts of CRDP are supported by Firefox and Safari^1
1: See for example: https://github.com/WebKit/webkit/tree/main/Source/JavaScript...
- WebGPU now available for testing in Safari Technology Preview
-
Disabling iOS Personalized Ads tells kernel to kill daemon every 3 seconds
No, it's unrelated.
https://github.com/WebKit/WebKit/commit/064df1a9f395f8c6e32c...
- Apple's Safari browser is still vulnerable to Spectre attacks
-
Replacing WebRTC: real-time latency with WebTransport and WebCodecs
It's being worked on now: https://github.com/WebKit/WebKit/pull/17320
-
iLeakage: Browser-Based Timerless Speculative Execution Attacks on Apple Devices
It is different. The cross-site navigation flag is a couple of years old. It was enabled by default for iOS in November 2018 for example https://github.com/WebKit/WebKit/commit/e191fc8c412850cb9fd0...
What are some alternatives?
uwm-masters-thesis - My thesis for my Master's in Computer Science degree from the University of Wisconsin - Milwaukee.
chromium - The official GitHub mirror of the Chromium source
proposal-ptc-syntax - Discussion and specification for an explicit syntactic opt-in for Tail Calls.
otter-browser - Otter Browser aims to recreate the best aspects of the classic Opera (12.x) UI using Qt5
virgil - A fast and lightweight native programming language
cname-trackers - This repository contains a list of popular CNAME trackers
go - The Go programming language
fingerprintjs - Browser fingerprinting library. Accuracy of this version is 40-60%, accuracy of the commercial Fingerprint Identification is 99.5%. V4 of this library is BSL licensed.
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
gecko-dev - Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
ecma262 - Status, process, and documents for ECMA-262
uBlock-Safari - uBlock Origin - An efficient blocker for Chromium, Firefox, and Safari. Fast and lean.