frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Packed Data Support in Haskell

https://arthi-chaud.github.io/posts/packed/
77•matt_d•11mo ago

Comments

nine_k•11mo ago
> Introducing the ‘packed’ data format, a binary format that allows using data as it is, without the need for a deserialisation step. A notable perk of this format is that traversals on packed trees is proven to be faster than on ‘unpacked’ trees: as the fields of data structures are inlines, there are no pointer jumps, thus making the most of the L1 cache.

That is, a "memory dump -> zero-copy memory read" of a subgraph of Haskell objects, allowing to pass such trees / subgraphs directly over a network. Slightly reminiscent of Cap'n Proto.

90s_dev•11mo ago
We are always reinventing wheels. If we didn't, they'd all still be made of wood.
Zolomon•11mo ago
They mention this in the article.
spockz•11mo ago
It reminds me more of flat buffers though. Does protobuf also have zero allocation (beyond initial ingestion) and no pointer jumps?
cstrahan•11mo ago
No, one example of why being variable sized integers.

See https://protobuf.dev/programming-guides/encoding/

carterschonwald•11mo ago
One thing that sometimes gets tricky in these things is handling Sub term sharing. I wonder how they implemented it.
tlb•11mo ago
> the serialised version of the data is usually bigger than its in-memory representation

I don’t think this is common. Perhaps for arrays of floats serialized as JSON or something. But I can’t think of a case where binary serialization is bigger. Data types like maps are necessarily larger in memory to support fast lookup and mutability.

nine_k•11mo ago
I suppose all self-describing formats, like protobuf, or thrift or, well, JSON are bigger than the efficient machine representation, because they carry the schema in every message, one way or another.
IsTom•11mo ago
If you use a lot of sharing in immutable data it can grow a lot when serializing. A simple pathological example would be a tree that has all left subtrees same as the right ones. It takes O(height) space in memory, but O(2^height) when serialized.
gitroom•11mo ago
honestly i wish more stuff worked this way - fewer hops in memory always makes me happy
lordleft•11mo ago
This was very well written. Excellent article!
NetOpWibby•11mo ago
Is this like MessagePack for Haskell?

Today Is CSS Naked Day

https://css-naked-day.org/?
1•edent•35s ago•0 comments

Rules for Ranking Music on the Hitmagist

https://medium.com/the-hitmagist/rules-for-ranking-music-on-the-hitmagist-1730d5d53355
1•bryanrasmussen•6m ago•0 comments

Show HN: I made an app to live longer

https://apps.apple.com/us/app/illll-live-longer/id6760903742
1•bdav24•7m ago•0 comments

Answer me – the bands visit [video]

https://www.youtube.com/watch?v=z5jJCBQKATg
1•marysminefnuf•10m ago•0 comments

What if you had to pay Claude as a human employee?

https://github.com/chucknuris/Claude-Colleague
2•beast2027•10m ago•0 comments

S3 Files

https://aws.amazon.com/s3/features/files/
1•ksajadi•15m ago•0 comments

A practical guide for setting up Zettelkasten method in Obsidian

https://desktopcommander.app/blog/zettelkasten-obsidian/
1•rkrizanovskis•16m ago•1 comments

Rust Terminal Projects in 3 Years

https://blog.orhun.dev/800-rust-projects/
1•swq115•16m ago•0 comments

DesigNet: Learning to Draw Vector Graphics as Designers Do

https://arxiv.org/abs/2604.06494
1•50kIters•17m ago•0 comments

Blackdesk – open-source market research terminal (Go, TUI, local AI)

https://blackdesk.ai/
1•dumitruflorin•18m ago•0 comments

GitHub Availability March 2026

https://github.blog/news-insights/company-news/github-availability-report-march-2026/
4•alexbilbie•21m ago•0 comments

Rendering large code diffs in the browser without freezing the UI

https://github.com/Zhang-JiahangH/react-virtualized-diff
1•jiahangzhang•21m ago•1 comments

Interpretable models with boosting, symbolic regression and e-graphs

https://mchav.github.io/grow-and-mow/
1•mchav•23m ago•0 comments

Show HN: HoldMyBill – Organize Ownership

1•niksmac•28m ago•0 comments

Show HN: UX Agent Mac app running continuously locally using Gemma 4

https://github.com/tommyjepsen/ux-agent-app
1•tommyjepsen•32m ago•0 comments

Tell HN: I know I dislike a developer

3•ishener•33m ago•1 comments

The First Bike Bell Designed to Penetrate Noise-Cancelling Headphones

https://www.youtube.com/watch?v=zDaVPfpQvPI
1•Ahmedb•34m ago•0 comments

Ask HN: What are you building that's not AI related?

3•meander_water•35m ago•0 comments

AI company's breached biometrics, ID document images make deepfake fraud easier

https://www.biometricupdate.com/202604/ai-companys-breached-biometrics-id-document-images-make-de...
1•tagyro•37m ago•0 comments

Greece announces social media ban for under-15s over anxiety and sleep problems

https://www.theguardian.com/world/2026/apr/08/greece-proposes-social-media-ban-under-15s-anxiety-...
2•Growtika•37m ago•0 comments

I Built an Offline File Sync System

https://github.com/anurag-as/Caravault
1•sampathanurag3•38m ago•0 comments

Tech industry lays off nearly 80k employees in the first quarter of 2026

https://www.tomshardware.com/tech-industry/tech-industry-lays-off-nearly-80-000-employees-in-the-...
1•Growtika•42m ago•0 comments

Fears net zero is 'next Brexit' as oil crisis fuels political climate divide

https://www.theguardian.com/environment/2026/mar/26/fears-net-zero-is-next-brexit-as-oil-crisis-f...
2•PaulHoule•43m ago•0 comments

Freestyle Ax Audit

https://techstackups.com/articles/freestyle-ax-audit/
1•ritzaco•43m ago•0 comments

New problem: AI finds too many bugs

https://etn.se/73048
3•etn_se•45m ago•4 comments

Show HN: D3 4 Layer Magma Graph – Cloak Stealth Browser

https://vektormemory.com/docs/
1•vektormemory•47m ago•0 comments

Help Keep Thunderbird Alive

https://updates.thunderbird.net/en-US/thunderbird/140.0/apr26-1e/donate/
2•playfultones•47m ago•0 comments

Lipovive – Optimize Mitochondrial Health and Burn Fat

https://www.morningstar.com/news/accesswire/1138075msn/lipovive-reviews-shocking-2026-report-what...
1•tayghalu•48m ago•0 comments

Show HN: Chrome extension to filter HN comments by user karma/account age

https://chromewebstore.google.com/detail/hn-users-filter/ineikanbokfebefjmhinpbmgablaebom
2•csomar•49m ago•0 comments

The President Speaks Genocide

https://snyder.substack.com/p/the-president-speaks-genocide
3•hkhn•49m ago•0 comments