frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

The essential Reinhold Niebuhr: selected essays and addresses

https://archive.org/details/essentialreinhol0000nieb
1•baxtr•1m ago•0 comments

Rentahuman.ai Turns Humans into On-Demand Labor for AI Agents

https://www.forbes.com/sites/ronschmelzer/2026/02/05/when-ai-agents-start-hiring-humans-rentahuma...
1•tempodox•2m ago•0 comments

StovexGlobal – Compliance Gaps to Note

1•ReviewShield•5m ago•0 comments

Show HN: Afelyon – Turns Jira tickets into production-ready PRs (multi-repo)

https://afelyon.com/
1•AbduNebu•6m ago•0 comments

Trump says America should move on from Epstein – it may not be that easy

https://www.bbc.com/news/articles/cy4gj71z0m0o
2•tempodox•7m ago•0 comments

Tiny Clippy – A native Office Assistant built in Rust and egui

https://github.com/salva-imm/tiny-clippy
1•salvadorda656•11m ago•0 comments

LegalArgumentException: From Courtrooms to Clojure – Sen [video]

https://www.youtube.com/watch?v=cmMQbsOTX-o
1•adityaathalye•14m ago•0 comments

US moves to deport 5-year-old detained in Minnesota

https://www.reuters.com/legal/government/us-moves-deport-5-year-old-detained-minnesota-2026-02-06/
2•petethomas•17m ago•1 comments

If you lose your passport in Austria, head for McDonald's Golden Arches

https://www.cbsnews.com/news/us-embassy-mcdonalds-restaurants-austria-hotline-americans-consular-...
1•thunderbong•22m ago•0 comments

Show HN: Mermaid Formatter – CLI and library to auto-format Mermaid diagrams

https://github.com/chenyanchen/mermaid-formatter
1•astm•37m ago•0 comments

RFCs vs. READMEs: The Evolution of Protocols

https://h3manth.com/scribe/rfcs-vs-readmes/
2•init0•44m ago•1 comments

Kanchipuram Saris and Thinking Machines

https://altermag.com/articles/kanchipuram-saris-and-thinking-machines
1•trojanalert•44m ago•0 comments

Chinese chemical supplier causes global baby formula recall

https://www.reuters.com/business/healthcare-pharmaceuticals/nestle-widens-french-infant-formula-r...
1•fkdk•47m ago•0 comments

I've used AI to write 100% of my code for a year as an engineer

https://old.reddit.com/r/ClaudeCode/comments/1qxvobt/ive_used_ai_to_write_100_of_my_code_for_1_ye...
1•ukuina•49m ago•1 comments

Looking for 4 Autistic Co-Founders for AI Startup (Equity-Based)

1•au-ai-aisl•1h ago•1 comments

AI-native capabilities, a new API Catalog, and updated plans and pricing

https://blog.postman.com/new-capabilities-march-2026/
1•thunderbong•1h ago•0 comments

What changed in tech from 2010 to 2020?

https://www.tedsanders.com/what-changed-in-tech-from-2010-to-2020/
2•endorphine•1h ago•0 comments

From Human Ergonomics to Agent Ergonomics

https://wesmckinney.com/blog/agent-ergonomics/
1•Anon84•1h ago•0 comments

Advanced Inertial Reference Sphere

https://en.wikipedia.org/wiki/Advanced_Inertial_Reference_Sphere
1•cyanf•1h ago•0 comments

Toyota Developing a Console-Grade, Open-Source Game Engine with Flutter and Dart

https://www.phoronix.com/news/Fluorite-Toyota-Game-Engine
1•computer23•1h ago•0 comments

Typing for Love or Money: The Hidden Labor Behind Modern Literary Masterpieces

https://publicdomainreview.org/essay/typing-for-love-or-money/
1•prismatic•1h ago•0 comments

Show HN: A longitudinal health record built from fragmented medical data

https://myaether.live
1•takmak007•1h ago•0 comments

CoreWeave's $30B Bet on GPU Market Infrastructure

https://davefriedman.substack.com/p/coreweaves-30-billion-bet-on-gpu
1•gmays•1h ago•0 comments

Creating and Hosting a Static Website on Cloudflare for Free

https://benjaminsmallwood.com/blog/creating-and-hosting-a-static-website-on-cloudflare-for-free/
1•bensmallwood•1h ago•1 comments

"The Stanford scam proves America is becoming a nation of grifters"

https://www.thetimes.com/us/news-today/article/students-stanford-grifters-ivy-league-w2g5z768z
4•cwwc•1h ago•0 comments

Elon Musk on Space GPUs, AI, Optimus, and His Manufacturing Method

https://cheekypint.substack.com/p/elon-musk-on-space-gpus-ai-optimus
2•simonebrunozzi•1h ago•0 comments

X (Twitter) is back with a new X API Pay-Per-Use model

https://developer.x.com/
3•eeko_systems•1h ago•0 comments

Zlob.h 100% POSIX and glibc compatible globbing lib that is faste and better

https://github.com/dmtrKovalenko/zlob
3•neogoose•1h ago•1 comments

Show HN: Deterministic signal triangulation using a fixed .72% variance constant

https://github.com/mabrucker85-prog/Project_Lance_Core
2•mav5431•1h ago•1 comments

Scientists Discover Levitating Time Crystals You Can Hold, Defy Newton’s 3rd Law

https://phys.org/news/2026-02-scientists-levitating-crystals.html
3•sizzle•1h ago•0 comments
Open in hackernews

I'm working on implementing a programming language all my own

https://eli.li/to-the-surprise-of-literally-no-one-im-working-on-implementing-a-programming-language-all-my-own
89•ingve•5mo ago

Comments

austin-cheney•5mo ago
I love that you are using colon for the assignment operator. This is absolutely correct. Most languages use the equal sign as the assignment operator in most contexts and then the colon in limited contexts. This comes from Fortan and its just wrong. The equal sign should be reserved for comparisons, because that is what it means in mathematics.
dist1ll•5mo ago
> because that is what it means in mathematics

Personally, I think this argument only holds water for languages that are rooted in mathematics (e.g. Haskell, Lean, Rocq, F*, ...). If your computational model comes from a place of physical hardware, instructions, registers, memory etc. you're going to end up with something very different than an abstract machine based on lambda calculus. Both valid ways to design a PL.

zabzonk•5mo ago
what about:

    f(x) = x * 2
not assignment, and it looks like maths to me
nnnnico•5mo ago
Thats what the parent said, shouldnt be used for assigment
grg0•5mo ago
It's not a comparison either. OP's statement is just wrong; the obvious meaning of = is equality. For the definition of a pure function, = is the obvious symbol to use since the RHS can be substituted in for the LHS in any context.

-> for definition is just annoying. On every keyboard layout, it takes two strikes to type, possibly with shift involved.

moi2388•5mo ago
Yes. I too thought it was this. It is equality, and thereby lets you rewrite one side into the other side.

Then again I quite like rewriting languages like Mathematica and lean

amelius•5mo ago
Use ≟ for comparison. I don't know where to find it on my keyboard, though. Maybe language designers should invent a keyboard along with their language.
austin-cheney•5mo ago
Equality is a comparison.
grg0•5mo ago
Not in the sense of evaluating to a boolean.
agalunar•5mo ago
I’d argue there’s a very big difference between “x: y” and “x : y”. I can only see the former as assignment and the latter as the has-type relation.

(I find it baffling in the extreme that in many mainstream languages the convention is to write type annotations as “x: T”, both prima facie and because in those languages the notation then collides with field assignment!)

gucci-on-fleek•5mo ago
> The equal sign should be reserved for comparisons, because that is what it means in mathematics.

"let x = 1" has the same meaning in mathematics as well as JavaScript and Rust.

yawaramin•5mo ago
In Rust yes, in JavaScript not really.
qayxc•5mo ago
In JS it would be const x = 1, which would be equivalent again.
jasperry•5mo ago
To push back a little: Designing the syntax of a programming language always involves tradeoffs; nothing is "just wrong". For better or worse, equal sign as assignment has become widely used and understood. I think the author's use of colon is neat, but it is confusing if you're used to seeing that as the type indicator; again, a tradeoff. I like the look of := as the assignment operator but it adds another shifted key to type, which can push you that much closer to RSI for such a common operation.
rurban•5mo ago
Sure but mathematics is better. There you can switch LHS with RHS.

Instead of := you should use => for assignment.

bregma•5mo ago
What would you use for equal-to-or-greater-than comparisons?
rurban•5mo ago
Right. -> for assignments then. Still better than Pascal Assign :=
AdieuToLogic•5mo ago
> I love that you are using colon for the assignment operator. This is absolutely correct.

Historically, distinguishing an equality operator from an assignment one has existed for many decades. Whether using colon for the latter is "absolutely correct" is the subject of valid debate.

An equally compelling case could be made for any of the following assignment operators as well:

  foo <- 42
  foo -> 42
  foo <= 42
  foo => 42
  foo <-> 42   if expressing substitutability is important
  foo := 42    Pascal lives!
  (foo 42)     so does LISP!
  foo is 42    for those who prefer English operators
  f(foo) = 42  for mathematically inclined languages
Etcetera
bluecalm•5mo ago
Mathematics, famous for consistent readable notation. Next idea should be to just stop declaring variables at all assuming they mean what they usually mean in similar programs. Starting array indexes from 1 instead of 0 is another one although that was already tried :)
znkr•5mo ago
> The equal sign should be reserved for comparisons, because that is what it means in mathematics.

This is touching on a pet peeve of mine: Mathematics and programming are similar in many aspects, but this is not one of them. In mathematics = is not a comparison, but a statement.

More generally, mathematics is about tautologies, that is statements that are always true. In programming, a comparison is evaluated to either true or false.

That doesn’t mean that there’s no room for conditionals in mathematics (one example is piecewise function definitions). But it’s not the same. Heck, even the definition of “function” is different between mathematics and programming.

mastermage•5mo ago
That's why procedure is so much better of a name. It's not a hill I'm willing to die on but I think it's correct.
ffsm8•5mo ago
And let's use the keyword "go-to" to run a function, back to the basics basically ಥ ‿ ಥ
mastermage•5mo ago
ok maybe not that, that was awful.
jasperry•5mo ago
Seconded. Languages could even use "function" only for pure functions and "procedure" for everything else. Pascal uses "procedure" for things that don't return a value, but I think the pure vs. side effect distinction is more useful.
austin-cheney•5mo ago
In languages that have block scope a procedure is that block. It’s a boundary but receives no input and does not return output. Functions do allow input and do return output. This distinction is clear in C lang that has both functions and procedures.

As a new language design feature procedures could be assigned to references for reuse in the same way as calling a function by name/variable.

jasperry•5mo ago
I've never heard of blocks in block-scoped languages being called procedures. I feel like the word "block" is well understood and serves the purpose fine. In lots of other languages, things called procedures do take input, like Ruby, which has first-class Procs like you mentioned.
amelius•5mo ago
I'd like to see language designers make function calls happen in the order you read them.

For example, in most languages you have a notation like f(g(h(x))) which calls the functions in the exact opposite order of reading which is unnecessarily confusing.

cb321•5mo ago
You would probably enjoy the UFCS https://en.wikipedia.org/wiki/Uniform_function_call_syntax of Nim, D, etc. Basically `h.g.f(x)` or in Nim you can drop the parens and say `h.g.f x` { but it may not scale past a single argument }. This tends to be only "an option" - more on the "allow/enable" side than the "force them" to do it side, though.
bregma•5mo ago
Even this is wrong. Programming should be explicit and easy for anyone to read.

    c = a + b;
is bad since it's an assertion that c is equal to the sum of a and b, and before it's executed, it's completely untrue. Not only that, but it's math and like Barbie has taught us, math is hard.

Nope, make it explicit. You're moving the value of an expression to a placeholder. The only sensible way to write that would be

    ADD a TO b GIVING c
Why, with such a simple and obvious English-like syntax even a common business-oriented person could use the language.
gedy•5mo ago
Fun, nice work. Side comment, but it feels like this would make a nice match with Jade/Pug[0] HTML syntax for a clean front end experience

[0] https://github.com/pugjs/pug?tab=readme-ov-file#syntax

k3vinw•5mo ago
Rawk deserves it’s own HN post: https://eli.li/make-awk-rawk
edm0nd•5mo ago
Terry Davis reincarnated
crjohns648•5mo ago
Very cool. I think everyone should try making all of these foundational technologies themselves: A programming language, an OS, a bootloader, etc.

It's one thing to read about them in books, but you learn so much nuance by actually stepping through the inherent problems and difficulties in actually making them work.

sparrowhawking•5mo ago
This sounds good in theory, but a jack of all trades is a master of none. I once spent a semester building an interpreter compiler for very simple LR(1) parsable languages. I learned a lot, but that knowledge fades rather quickly and even despite this significant investment of time, I never came close to being able to touch anything production worthy.

Modern tech is too advanced to meaningfully learn about it by tinkering with small toy projects. These "foundational technologies" are gigantic specializations that require an extraordinary investment of time to master.

Looking back now over the years, I wish I tinkered less and narrowed my focus more.

aldousd666•5mo ago
This is great! I love projects like this! I have a hobby of making toy programming languages. (Not arguing that's what yours is.) I once made a compiler, but lately I'm satisfied with making interpreters. Executable asts with moderate rearranging capabilities. It is an addictive thing. It started when I wrote a query language for my graph database server back in 2006. I didn't know about property graphs when I started, but that's what it ended up being, and I had to make a query language for it. (I wanted to call it AQL for "associative query language" but turns out that acronym was already taken. I can't remember by what.) I learned how to do it from the dragon book -- cuz I'm old. Anyway, you struck a chord with me. Making a syntax highlighter that's able to resume on errors is an interesting challenge that teaches you a lot about both sides, the front end and the back end.
mojuba•5mo ago
That's neat! But please kill the semicolon if you can. It's too 20th century already.
Defletter•5mo ago
Why? It's a good grammatical equivalent to the full stop for the programmer. It can serve as useful context for the compiler. And it's only one character. Antagonism over semicolons is another strange symptom of conciseness at all costs. If you want APL, just use APL.
pacifika•5mo ago
A counter argument is It’s meaningless for the developer and high level programming is writing for people not things.
withinboredom•5mo ago
That’s why when we write, we use commas and periods. It tells the reader when a thought ends and the next begins. A semi-colon is the traditional period in programming. Not everything fits on one line. Python managed to pull it off and now everyone thinks it’s the right way… it’s just “a way” but by no means modern or right. JavaScript made them optional, but it results in ambiguous parsing sometimes, so it’s not a good idea there either.

In any case, I doubt a run on sentence is “meaningless” but it is hard to parse.

robertlagrant•5mo ago
> If you want APL, just use APL.

Or Python, Go, or Typescript.

mojuba•5mo ago
Or Swift
tromp•5mo ago
or Haskell
ginko•5mo ago
I always thought ending programming statements with a period '.' like in Prolog was more elegant.
baudaux•5mo ago
Is it generating wasm/wasi ?
codr7•5mo ago
Awesome, I've been doing the same thing for the past 15 years. It's one of the most stimulating activities I've found within software.

I recently sat down and put together the beginnings of a framework to play around with or use as a starting point.

https://github.com/codr7/shi

childintime•5mo ago
Also check out the small wonder currently not trending: https://news.ycombinator.com/item?id=45062168
jdthedisciple•5mo ago
looks just like Haskell
taolson•5mo ago
Nice! I like the goals of a "simpler Haskell" for small projects ( see https://github.com/taolson/Admiran ). Some questions that weren't answered in the blog:

    is the evaluation model call-by-need (lazy, like Haskell) or call-by-value (strict, like most other languages)?

    how is memory allocation handled? (I assume GC via the underlying JavaScript implementation)?

    will it be open-sourced at some point?

    a major benefit of immutable definitions is that they are always initialized; however, the type declaration format potentially opens things up to a use-before-def bug if the type declaration brings the variable name in scope. How is this handled in your implementation?
Good luck on the continued progress of your project; it can be deeply satisfying!
tasuki•5mo ago
It has the best license[0] I've ever had the pleasure to read!

...where is the source code?

[0]: https://smallandnearlysilent.com/baba-yaga/LICENSE.txt