Readit News logoReadit News
one-more-minute commented on Ask HN: What Are You Working On? (December 2025)    · Posted by u/david927
one-more-minute · 2 months ago
http://mikeinnes.io/posts/advent-2025/

I've been working through advent of code using my own little compiler/language. It's in such an early state that some creative problem solving is required, not to mention the compiler bugs! But I'm very pleased to have it running interactively on my blog like this – I want to work towards some bigger notebooks in the style of explorable explanations.

one-more-minute commented on Ask HN: What are you working on? (September 2025)    · Posted by u/david927
one-more-minute · 4 months ago
I'm working on a little hobby language that compiles to wasm: https://mikeinnes.io/posts/raven/

I've spent the last couple of months porting the compiler from Julia to TypeScript. That's nearly done, so I'm hoping I can post an interactive web demo next month!

one-more-minute commented on Zest: a programming language for malleable and legible systems   github.com/jamii/zest... · Posted by u/one-more-minute
ModernMech · a year ago
Other programming languages this author has worked on:

Droplet: "Datalog in time and space" - https://github.com/jamii/droplet

Eve: "Datalog meets Smalltalk" - https://witheve.com

Imp: "An Eve for people who build Eves" - https://github.com/jamii/imp

These are some pretty "out there" languages with a high strangeness budget, so I'd expect the same of Zest.

I like the idea of exploring the interaction models that Eve provided but instead with a "well-trodden ground of a mostly-familiar imperative language", but I'm curious how that will work since the interactions in Eve were made possible due to the datalog-like language design. So my initial question is how "mostly-familiar" Zest really is; what imperative concessions does the language make to gain which interactions?

With Eve, a lot was gained just by keeping a database of compiler artefacts that would normally be thrown away. This allowed for a degree of "provenance" tracking, where you can ask the compiler how a runtime value came to be.

I think there's an interesting middle ground where maybe we can get a bunch of the things in Eve that were nice, but maybe tone down the weirdness budget to lower the learning curve. Maybe that's Zest? Will be interesting to follow this project.

one-more-minute · a year ago
The author outlines a fair bit of the design thinking in this post [0].

What Datalog and co give you is the ability to do interesting program transformations. Mostly that's not because they are "declarative", if that means anything, but because they avoid all the little bits of non-determinism that imperative languages include. If you avoid those you're pretty much set. Coming from another angle, JAX [1] shows how you can do program transformations in Python with a relatively small set of semantic restrictions.

[0]: https://www.scattered-thoughts.net/writing/unexplanations-sq... [1]: https://github.com/jax-ml/jax

one-more-minute commented on Show HN: Dynamic IPv4/6 records for Cloudflare   github.com/ddries/d2c.sh... · Posted by u/kurokawad
motive · a year ago
Cloudflare Tunnels only support exposing what mostly amounts to HTTP-based services. If you're using other protocols for e.g. a game server, or something else, it won't fly unless you are also running the WARP client locally.
one-more-minute · a year ago
Even within HTTP services, (a) your TLS will not be end to end, so you have to be happy for Cloudflare to see your data and (b) they don't like you to use up all their bandwidth with media streaming or other large files. Tunnel is a great service but there are certainly reasons not to use it.
one-more-minute commented on Bring code from other platforms into the browser   thewebshowcase.withgoogle... · Posted by u/free0ne
one-more-minute · 2 years ago
I'm not against a tasteful flourish or two, but in safari the header of this blog stuck over the content as I scroll: https://imgur.com/a/TyU2h3t

Something cool the web can do is static, reliable, easily readable documents – might be nice to show that off.

one-more-minute commented on WASM by example   wasmbyexample.dev/home.en... · Posted by u/night-rider
Sponge5 · 2 years ago
An instruction set that is supported by all major browsers sounds enticing. I have tried the hello_world demo with Emscripten a couple years ago and was stumped that the generated page had multiple megabytes. In the first example in this page, I read

    This will output a pkg/ directory containing our wasm module, wrapped in a js object.
So I'm guessing that the result is the same. Why is it so? Hello world requires a print function, which I suppose needs a small subset of some implementation of libc. Why so much space? Why the need for a .js object? Shouldn't we be bypassing the JS engine?

one-more-minute · 2 years ago
You need (a little) JS to run Wasm in the same way you need (a little) HTML to run JS; it's a hosted platform. JS handles loading and invoking the wasm code, and because it's close to a pure instruction set there's very little you can do without calling JS APIs, which in turn requires support code to translate across the boundary.

The WASI project specifies wasm-native APIs (modelled on posix) for running locally without JS, so you could imagine something similar for the browser. But the complexity of the DOM is forbidding.

I've not tried Emscripten hello world for a while, but I imagine it depends on things like optimisation level, dead code elim etc. In general to compile C code you'll need a malloc, string support and so on as you say. You can make the wasm file tiny if you lean on JS strings, but that increases the amount of support code again. Languages other than C will have an easier time reusing parts of the JS runtime (like strings or GC).

one-more-minute commented on I claim Rich Hickey is wrong about non-null arguments to functions (2020)   blog.jonstodle.com/in-whi... · Posted by u/Capricorn2481
draw_down · 3 years ago
No, he’s right. he’s speaking only of what is required and what is provided, all else being equal. The what and the why are different.

If the function started to provide different results for the same arguments, that’s different from what he’s talking about and would be a breaking change.

Worrying about the internals of the function is a violation of encapsulation. We care what we provide and what we receive back.

one-more-minute · 3 years ago
I mean, the article's logic is effectively that you can break code without the type system helping or warning you. I don't think Hickey would disagree with this – it's arguably a point in his favour.

Deleted Comment

one-more-minute commented on Color fonts on Google Fonts   material.io/blog/color-fo... · Posted by u/itsuka
one-more-minute · 3 years ago
A nice example, not currently available on Google fonts AFAICT, is 'Gilbert': https://www.typewithpride.com

u/one-more-minute

KarmaCake day2216April 17, 2014View Original