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•8mo ago

Comments

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

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

carterschonwald•8mo ago
One thing that sometimes gets tricky in these things is handling Sub term sharing. I wonder how they implemented it.
tlb•8mo 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•8mo 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•8mo 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•8mo ago
honestly i wish more stuff worked this way - fewer hops in memory always makes me happy
lordleft•8mo ago
This was very well written. Excellent article!
NetOpWibby•8mo ago
Is this like MessagePack for Haskell?

The crisis whisperer: how Adam Tooze makes sense of our bewildering age

https://www.theguardian.com/business/2026/jan/15/the-crisis-whisperer-how-adam-tooze-makes-sense-...
1•6LLvveMx2koXfwn•1m ago•0 comments

Blacksmith – AI Powered Penetration Testing

https://github.com/yohannesgk/blacksmith
1•jchris280•6m ago•2 comments

Codeless Code – Fables and Koans for the Software Engineer

https://thecodelesscode.com/case/234
1•todsacerdoti•8m ago•0 comments

Napa: Powering Scalable Data Warehousing with Robust Query Performance at Google

https://research.google/pubs/napa-powering-scalable-data-warehousing-with-robust-query-performanc...
1•tosh•8m ago•0 comments

Bruce Perens: The Ham Radio Operator Who Made Trump Want Greenland

https://web.archive.org/web/20260115085443/https://www.linkedin.com/pulse/ham-radio-operator-who-...
1•weinzierl•9m ago•1 comments

Use Agents or Be Left Behind? A Personal Guide to Automating Your Own Work

https://timdettmers.com/2026/01/13/use-agents-or-be-left-behind/
3•sebg•10m ago•0 comments

Optimizing data throughput for Postgres snapshots with batch size auto-tuning

https://xata.io/blog/postgres-snapshots-with-batch-size-auto-tuning
1•gulcin_xata•10m ago•1 comments

Typical: TypeScript with type safety at runtime

https://typical.elliots.dev/
1•elliotshep•11m ago•0 comments

Me and the Machine

https://mitsuhiko.github.io/talks/me-and-the-machine/
1•obiefernandez•12m ago•0 comments

LevelDB is a fast key-value storage library

https://github.com/google/leveldb
1•tosh•13m ago•0 comments

Hacking Wheelchairs over Bluetooth

https://www.securityweek.com/researchers-expose-whill-wheelchair-safety-risks-via-remote-hacking/
1•7777777phil•13m ago•0 comments

ICE Is a Secret Police

https://www.nytimes.com/2026/01/10/opinion/immigration-ice-violence-minnesota.html
3•KnuthIsGod•17m ago•0 comments

Show HN: Getmaapp/signal-WASM v0.1.0 – Signal Protocol for the Web

https://github.com/getmaapp/signal-wasm
1•getmaapp•18m ago•0 comments

Show HN: S3mini(0.9.1) Tiny ts S3 client, now supports blobs and streams

https://github.com/good-lly/s3mini/releases/tag/v0.9.1
1•neon_me•20m ago•0 comments

SETI@home: UC Berkeley scientists are homing in on 100 signals they found

https://news.berkeley.edu/2026/01/12/for-21-years-enthusiasts-used-their-home-computers-to-search...
1•1659447091•22m ago•0 comments

Saving 675 Engineering Hours a Month Using an AI Slack On-Call Agent

https://www.wix.engineering/post/when-ai-becomes-your-on-call-teammate-inside-wix-s-airbot-that-s...
1•yardenw•27m ago•0 comments

Test 8 hour work simulation

1•magentamountain•27m ago•0 comments

Python: Tprof, a Targeting Profiler

https://adamj.eu/tech/2026/01/14/python-introducing-tprof/
1•jonatron•28m ago•0 comments

Microfeatures I Love in Blogs and Personal Websites

https://danilafe.com/blog/blog_microfeatures/
2•alexharri•30m ago•0 comments

Show HN: Aeph – A minimal TUI Markdown editor with task management

https://github.com/siki-712/aeph
1•ovonvo•30m ago•0 comments

Dataframe Jan 2026 updates: db, torch interop, parquet fixes, perf improvements

https://discourse.haskell.org/t/dataframe-january-2026-updates/13512
1•internet_points•33m ago•0 comments

Show HN: I built DubaiWoofs for those moving to Dubai with Dogs

https://dubaiwoofs.com/
1•shraddha92•33m ago•0 comments

Ken Thompson's Real-Time Code Rewrite: Why No One Knows James D. Johnston?

https://substack.com/home/post/p-184599371
1•birdculture•34m ago•0 comments

Trump tests the First Amendment: A timeline

https://www.cnn.com/politics/free-speech-trump-timeline-vis
4•1659447091•35m ago•1 comments

The Last Intellectual

https://www.nplusonemag.com/online-only/online-only/the-last-intellectual/
1•samclemens•37m ago•0 comments

Ask HN: Any real prompt injections in the wild?

2•singularity2001•38m ago•1 comments

TEE.fail: Breaking Tees via DDR5 Memory Bus Interposition

https://tee.fail
2•internet_points•39m ago•1 comments

Building a Real PDF Editor with Replit – A True Case

https://navi.tools/blog/building-a-online-pdf-editor-with-replit-ai-agent
1•zack119•39m ago•0 comments

My Gripes with Prolog

https://buttondown.com/hillelwayne/archive/my-gripes-with-prolog/
1•RebelPotato•41m ago•0 comments

The Golden Thread

https://roe.dev/blog/the-golden-thread
1•Andugal•41m ago•0 comments