frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

OpenAI and Nvidia Announce Partnership to Deploy 10GW of Nvidia Systems

https://openai.com/index/openai-nvidia-systems-partnership/
87•meetpateltech•1h ago•93 comments

PlanetScale for Postgres is now GA

https://planetscale.com/blog/planetscale-for-postgres-is-generally-available
142•munns•2h ago•57 comments

The American nations across North America

https://colinwoodard.com/new-map-the-american-nations-regions-across-north-america/
36•loughnane•1h ago•34 comments

Cloudflare is sponsoring Ladybird and Omarchy

https://blog.cloudflare.com/supporting-the-future-of-the-open-web/
313•jgrahamc•4h ago•208 comments

SWE-Bench Pro

https://github.com/scaleapi/SWE-bench_Pro-os
21•tosh•1h ago•5 comments

A simple way to measure knots has come unraveled

https://www.quantamagazine.org/a-simple-way-to-measure-knots-has-come-unraveled-20250922/
59•baruchel•2h ago•18 comments

Mentra (YC W25) Is Hiring to build smart glasses

1•caydenpiercehax•18m ago

Cap'n Web: a new RPC system for browsers and web servers

https://blog.cloudflare.com/capnweb-javascript-rpc-library/
125•jgrahamc•4h ago•48 comments

A New Internet Business Model?

https://blog.cloudflare.com/cloudflare-2025-annual-founders-letter/
133•mmaia•2h ago•116 comments

Easy Forth (2015)

https://skilldrick.github.io/easyforth/
131•pkilgore•5h ago•76 comments

CompileBench: Can AI Compile 22-year-old Code?

https://quesma.com/blog/introducing-compilebench/
85•jakozaur•4h ago•21 comments

What is algebraic about algebraic effects?

https://interjectedfuture.com/what-is-algebraic-about-algebraic-effects/
39•iamwil•2h ago•11 comments

What if we treated Postgres like SQLite?

https://www.maragu.dev/blog/what-if-we-treated-postgres-like-sqlite
43•markusw•3h ago•37 comments

How I, a beginner developer, read the tutorial you, a developer, wrote for me

https://anniemueller.com/posts/how-i-a-non-developer-read-the-tutorial-you-a-developer-wrote-for-...
733•wonger_•15h ago•337 comments

The Strange Tale of the Hotchkiss

https://www.edrdg.org/~jwb/mondir/hotchkiss.html
7•rwmj•1d ago•0 comments

SGI demos from long ago in the browser via WASM

https://github.com/sgi-demos
187•yankcrime•9h ago•49 comments

Anti-*: The Things We Do but Not All the Way

https://blog.jim-nielsen.com/2025/my-antis/
25•gregwolanski•2h ago•10 comments

Human-Oriented Markup Language

https://huml.io/
19•vishnukvmd•1h ago•14 comments

A board member's perspective of the RubyGems controversy

https://apiguy.substack.com/p/a-board-members-perspective-of-the
12•janpio•54m ago•3 comments

Dear GitHub: no YAML anchors, please

https://blog.yossarian.net/2025/09/22/dear-github-no-yaml-anchors
132•woodruffw•2h ago•100 comments

Beyond the Front Page: A Personal Guide to Hacker News

https://hsu.cy/2025/09/how-to-read-hn/
106•firexcy•7h ago•55 comments

UK Millionaire exodus did not occur, study reveals

https://taxjustice.net/press/millionaire-exodus-did-not-occur-study-reveals/
150•mooreds•1h ago•128 comments

A Beautiful Maths Game

https://sinerider.com/
65•waonderer•2d ago•18 comments

Kmart's use of facial recognition to tackle refund fraud unlawful

https://www.oaic.gov.au/news/media-centre/18-kmarts-use-of-facial-recognition-to-tackle-refund-fr...
207•Improvement•6h ago•187 comments

Emerald Source Code Commentary

https://0xabad1dea.github.io/emeraldscc/
10•todsacerdoti•3d ago•2 comments

You did this with an AI and you do not understand what you're doing here

https://hackerone.com/reports/3340109
853•redbell•9h ago•407 comments

Privacy and Security Risks in the eSIM Ecosystem [pdf]

https://www.usenix.org/system/files/usenixsecurity25-motallebighomi.pdf
229•walterbell•12h ago•120 comments

Biconnected components

https://emi-h.com/articles/bcc.html
38•emih•18h ago•13 comments

Show HN: Software Freelancers Contract Template

https://sopimusgeneraattori.ohjelmistofriikit.fi/?lang=en
114•baobabKoodaa•9h ago•39 comments

The death rays that guard life

https://worksinprogress.co/issue/the-death-rays-that-guard-life/
43•ortegaygasset•4d ago•32 comments
Open in hackernews

What is algebraic about algebraic effects?

https://interjectedfuture.com/what-is-algebraic-about-algebraic-effects/
39•iamwil•2h ago

Comments

taeric•2h ago
I started a thread last time Algebraic Datatypes were discussed that hit a similar vein. I assert most programmers know the middle school version of "algebra" and think of it in terms of what they can do with the values they are working with.

This is in contrast to doing operations on either the "types" or the "effects" that are happening during code. So, you have to show people what are the equivalent of + and * in types and effects to show them how these can be thought of algebraically.

I still think this would be easier if a type system was made that let you use + and * in defining something. It would give an obvious path to seeing how things relate to algebra. Would almost certainly make some things harder, of course. Maybe it would be a good worksheet asking questions about stuff?

The big underline, though, is getting people to realize what algebra there is is not on the values that your code represents. It is treating something else as the value for the algebra.

andrewflnr•1h ago
OCaml (and its relatives I think) use * for type products. It's a lot trickier with sum types though because the variant tags realistically have to show up in the syntax, and that's going to really stretch any syntax that tries to use +... I guess it would sort of work if you made Variant(foo, bar) types of things usable standalone types, but that's either a product without a * or another non-algebraic level between + and *.
taeric•1h ago
Yeah, I think I agree? It did amuse me how quickly this got annoying from the existence of String and how people use it. :D

That is, I think this is what you are saying? That it wouldn't be hard to show that an Optional<String> is the same as a variable that is (String + None) or some such. But having Either<String, String> kills this, since there is no way to distinguish the left and right String types, there. Now, if you forced it to be Either<ErrorString, ResponseString>, that can work. And that nicely explains why you have to tag the types to be distinguishable from each other.

rixed•3m ago
[delayed]
daxfohl•1h ago
It'd be good to start with a preamble "what is algebraic about boolean algebra" since most coders should be familiar with the concept. That helps clarify what is even meant by the term "algebra" in abstract contexts. Then you could show how these things relate to ADTs and effects.
taeric•1h ago
The problem with this is still that you are sticking with the algebra over the boolean values. And you are going to use + and * in doing so.

Then, you are going to move to discussing the algebra over types and effects. In such a way that you don't actually use + or * to represent the operations.

oisdk•40m ago
The "algebraic" in "algebraic effects" is not really related to algebraic data types, or sum or product types. I mean, I suppose they're related, since they both refer to algebra in the general sense, but there's no type-level algebra in a description of algebraic effects. (and, I suppose, you could do some type-level algebra with effects, like taking the "sum" of two effects, but again that's not what the "algebra" in "algebraic effects" is referring to)

> The big underline, though, is getting people to realize what algebra there is is not on the values that your code represents.

This is not correct. In the case of algebraic effects, the algebra is absolutely value-level.

taeric•18m ago
I'm not sure I follow? For one, if algebraic isn't aiming at the ideas in an algebra, then they absolutely should be using a different name.

For two, though, the whole idea is how to compose the "value" of different effects together? My point is that the "value" is not the written value of a variable in ways that people are used to working with in their program. It will be a meta-value about some state represented by the program.

Is that not the case? If my use of the word "value" there is confusing things, I'm open to using some other words. My point is largely that the "value" of concern in effect systems is not the same as the value of a variable as people are used to reasoning. You are specifically meta-reasoning about the state of the program in ways that may not be represented by an explicit value of the program.

Not that that alone is unheard of. If you asked people to tell you the program counter of a function, they would largely get what you mean. Even if it is not something that is represented in the values of the program, itself.

zdragnar•12m ago
I have this mental block that keeps me forgetting which is which when discussing sum and product types. I have to go back to thinking of them as operations on sets.

Almost certainly a lack of formal education in maths higher level than simple calculus, but "unions" and "interface" or whatever the latter might be called in the language of choice is just so much easier to remember.

oisdk•1h ago
I would encourage anyone interested in this question to check out the paper "What is algebraic about algebraic effects and handlers?" (https://arxiv.org/abs/1807.05923) which is a write-up of the lecture series linked in the post above. I don't think the paper is too difficult to understand, but I know that if you're not familiar with the subject area it might be intimidating.

While I like the above blog post, I don't think that it will be very useful to people trying to understand algebraic effects. I see a lot of explainers like this one that shy away from some of the more gnarly-looking maths terms in an effort to appear more approachable, but as a result they can end up giving imprecise or vague definitions. When coupled with some subtle mistakes I think it can leave beginners more confused than helped (for instance, this author seems to conflate a few different notions of "composition", and they seem to think that the presence of equations makes an effect algebraic, which isn't really what the term "algebraic" is referring to in a technical sense).

The paper I linked above is not easy, and it would probably take at least a few hours to understand, but that's because it takes about that long to understand the material.

sestep•52s ago
Just to clarify, are you saying that you recommend that writeup over the lecture, or just linking the writeup for people who'd prefer it over watching a video?