HNHacker News
TopNewBestAskShowJobs

mlajtos

600 karma · joined January 28, 2021

https://mlajtos.mu
submissionscomments
mlajtos··on Show HN: Fluent, tiny lang for reactivity and autograd
Fluent is attacking multiple problems.

On the surface, it blends APL and LISP. Making S/M-exprs terse and building “diamond-less” left-to-right APL on top. This part is pretty okay.

In core, unification of FRP and AD as already mentioned. This is mainly to do efficient online/incremental learning. Currently this is a disaster and main source of tech debt. I got some attacks.

Fun and curiosity is the main motivator. Having single system that can do user-editable explorable ML explanations is just cherry on top.

mlajtos··on Inventing the Future, One Lisp Machine at a Time
First two seasons of For All Mankind deserve to be on your list.
mlajtos··on A Letter from Dijkstra on APL (1982)
https://www.cs.utexas.edu/~EWD/transcriptions/EWD04xx/EWD498... – How do we tell truths that might hurt? 1975

FORTRAN —"the infantile disorder"—, by now nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use.

He told the truth and in turn Fortran corrected its course, but Dijkstra probably didn't change his mind about it.

---

> These pioneers, even when they disagreed, had pretty precise arguments and very rarely feeling the feelies.

The feud between Backus and Dijkstra kinda persuaded me of the opposite.

https://medium.com/@acidflask/this-guys-arrogance-takes-your...

mlajtos··on A Letter from Dijkstra on APL (1982)
I mentioned GOTO in this comment: https://news.ycombinator.com/item?id=47975982

Dijkstra was highly influential in theoretical (proofs, algos) and practical (spec&compiler for Algol60) compuper science. But in reality he used his fountain pen disproportionately more than the computer.

mlajtos··on A Letter from Dijkstra on APL (1982)
Interesting. Bird-Meertens formalism? That was directly influenced by APL. In the broader scope — algebra of programs — Dijkstra heavily disliked Backus’ FP.
mlajtos··on A Letter from Dijkstra on APL (1982)
Very interesting flip! For much of his life, Dijkstra opposed functional programming. He even more strongly criticised FP from Backus and APL from Iverson, which are both very funcional/function-level.

As he said, Java is a mess and any sensible person would oppose the switch from Haskell to Java. I am almost sure he never used any of them. Might have read about them, but highly doubt he run any on computer.

As for the high-level status of Haskell and APL — both languages are very mathematical. Haskell goes very into the abstract realm of computation, while APL tackles very raw form of computation. Semantically, Haskell is way more high-level. In terms of economy of notation and unified concepts, APL has no match.

mlajtos··on A Letter from Dijkstra on APL (1982)
Oh, he would definitely hate it even more. It was too high-level for his taste.

What I would like to know is how he would bend Algol 60 if he had tablet with pencil that could evaluate it in real-time.

mlajtos··on A Letter from Dijkstra on APL (1982)
> Maybe, given the lens, I've not given Dijkstra a proper chance to demonstrate a more positive attitude, so I'm open to any suggestions of writings where he doesn't seem like such a grump.

Kinda hard to find where Dijkstra praised something (except Algol 60).

One funny example: he called FORTRAN "an infantile disorder", though he said this about the team behind it: "At that time this was a project of great temerity and the people responsible for it deserve our great admiration.".

On LISP: "LISP has jokingly been described as 'the most intelligent way to misuse a computer'. I think that description is a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts."

Alan Kay on Dijkstra: "Arrogance in computer science is measured in nano-dijkstras."

mlajtos··on A Letter from Dijkstra on APL (1982)
Dijkstra's go-to language (pun intended) was Algol 60 (& Pascal) – everything else was shit in his view. Some of his comments:

FORTRAN — "an infantile disorder"

COBOL — "the use of COBOL cripples the mind"

BASIC — students exposed to it are "mentally mutilated beyond hope of regeneration"

PL/I — "the fatal disease"

APL — "a mistake, carried through to perfection"

He liked his languages and programs to be easily traceable with pen & paper. He always wrote programs on the paper (and proved correctness) and only then into computer. REPL-driven development (what APL pioneered) was a foreign concept to him. He would be so appalled by LLM code generation.

mlajtos··on FIXAPL
This is a good idea.

Monadic/dyadic case for single glyph works nice only when you have a default value associated with it. For example `√16` is actually `2√16`. Or `log 100` is `10 log 100`. And `-3` is `0-3`.

mlajtos··on Stewart Brand on how progress happens
> In order to provide live two-way video between the lab and the conference hall, two microwave links were used. English also commanded a video switcher that controlled what was displayed on the big screen. The camera operator in Menlo Park was Stewart Brand, who at the time was a non-computer person, best known as the editor of the Whole Earth Catalog. Stewart Brand advised Engelbart and the team about how to present the demo. Engelbart got to know Stewart Brand when they experimented with LSD at the same lab.

Last sentence is epic.

mlajtos··on New Kind of Paper
This is the first part of the "New Kind of Paper" series that deals with concept of "handwritten calculator" – you scribble "1+2" and the system responds with "3". Think "Apple Math Notes", but 3 years before its debut. And with vectors, matrices, tensors, etc.

There are 5 parts so far:

1. https://mlajtos.mu/posts/new-kind-of-paper – overview of the concept

2. https://mlajtos.mu/posts/new-kind-of-paper-2 – intro to Fluent notation

3. https://mlajtos.mu/posts/new-kind-of-paper-3 – inspirational prior inventions

4. https://mlajtos.mu/posts/new-kind-of-paper-4 - how to think efficiently (including longer demo)

5. https://mlajtos.mu/posts/new-kind-of-paper-5 – review of Apple Math Notes and suggestions for improvements

Keyboard version of Fluent is available here: https://mlajtos.github.io/fluent/?code=RG9jdW1lbnRhdGlvbg

mlajtos··on Lil' Fun Langs
> Actually, it's not quite "ML-family" enough for this post. But it is a remarkably cool project! :)

Fair. Thank you :)

mlajtos··on Lil' Fun Langs
Fluent – 4K lines – including parser, interpreter, standard library, IDE, UI, docs, examples. Will grow though.

https://github.com/mlajtos/fluent/blob/main/client.tsx

mlajtos··on Reading the undocumented MEMS accelerometer on Apple Silicon MacBooks via iokit
Shake your Mac to undo would be consistent with iPhone, iPad, Vision Pro. Yes, you shake your head to undo when wearing AVP.
mlajtos··on Xcode 26.3 – Developers can leverage coding agents directly in Xcode
I am doing interactive coding sessions via API. I don't want to see a message that I am over limit to use the best model there is.
mlajtos··on Xcode 26.3 – Developers can leverage coding agents directly in Xcode
Does it support API key access or only Claude.ai subscription?
mlajtos··on Apple introduces new AirTag with longer range and improved findability
Pure visual object tracking in visionOS is considerable laggy (even with increased detection rate). Natively tracked peripherals (Logitech Muse, PSVR2 controllers) are super responsive, but are designed for hands and are too specialized. There is a place for generic 6DoF tracking device that can be attached to any object you want to track. This could be tiny IR LED array if you want to track it inside the field of view, but when you need precise position outside of your FoV, your options are limited.
mlajtos··on Apple introduces new AirTag with longer range and improved findability
I was hoping for 6DoF sub-mm realtime tracking. My disappointment is immeasurable and my day is ruined.
mlajtos··on In Praise of APL (1977)
You are exactly right that the original vision of APL was a handwritten, non-ambiguous, consistent, and executable math notation. This was never accomplished.

In 2021, I made a prototype calculator designed for iPad and Pencil and wrote four essays called "New Kind of Paper" describing this concept. The video demonstration of the prototype [Demo] sums up pretty well how it might be used.

In 2024, Apple released Math Notes, which implements this concept for standard math notation. My "review" of it is at [MathNotes]. In short, it is currently a preview of a damn great tool, but its future depends on notation and expressivity.

APL is a language from 2066, created in 1966. While its semantics make more sense now due to machine learning, syntactically it remains alien to most people. Backus' FP/FL and Iverson's J are more approachable to current programmers, but still not there. In New Kind of Paper, I created a tiny language called Fluent, which is nowhere near the ambition of any language mentioned, but it is intentionally designed to be handwritten. A week ago, I open-sourced it. [Fluent]

There is plenty of work left to do, but it is a good start.

[NKoP]: https://mlajtos.mu/posts/new-kind-of-paper

[MathNotes]: https://mlajtos.mu/posts/new-kind-of-paper-5

[Fluent]: https://news.ycombinator.com/item?id=46649223

[Demo]: https://youtu.be/y5Tpp_y2TBk

Thanks for coming to my TED talk.

mlajtos··on My Gripes with Prolog
yes
mlajtos··on Live 2025 – Spine [video]
This is absolutely insane in the most positive way.
mlajtos··on Show HN: Jax-JS, array library in JavaScript targeting WebGPU
I'll grind jax-js more and see if refs become invisible then. Thanks for a great project!
mlajtos··on Show HN: Jax-JS, array library in JavaScript targeting WebGPU
I have a project using tfjs and jax-js is very exciting alternative. However during porting I struggle a lot with `.ref` and `.dispose()` API. Coming from tfjs where you garbage collect with `tf.tidy(() => { ... })`, API in jax-js seems very low-level and error-prone. Is that something that can be improved or is it inherent to how jax-js works?

Would `using`[0] help here?

[0]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

mlajtos··on Fluent: A Localization System for Natural-Sounding Translations
This problem is more suitable for tiny LLM.
mlajtos··on Working pipe operator today in pure JavaScript
Pipe "operator" for the rest of us:

    Object.prototype.pipe = function(fn) { return fn(this) }

    'hello'.pipe(upper).pipe(ex('!!!'))
Or code golf version:

    Object.prototype.P=function(...F){return F.reduce((v,f)=>f(v),this)}
    'hello'.P(upper,ex('!!!'))
mlajtos··on Is Fortran better than Python for teaching basics of numerical linear algebra?
APL has its own bag of surprises.
mlajtos··on Visual programming is stuck on the form
I love this quote from Mindstorms:

"You can't think seriously about thinking without thinking about thinking about something."

mlajtos··on ML needs a new programming language – Interview with Chris Lattner
First version of Torch was in LISP. Python is where people are, and in turn a data for LLMs.

Optimal ML lang is half-way from LISP to APL.

mlajtos··on Recto – A Truly 2D Language
Yes, we should store text in string tensors.
Page 1 of 13Next →