News for hackers. Stuff that matters.

divs1210

Hi, Alex!

Happy you find it cool!

I will update the Clojure and core.async versions to latest.

You're right I forgot to mention the JVM version in the benchmarks.

I'll be running fresh benchmarks once the current task I'm working on is done.

I will have to look into io-thread, not familiar with it.

Although my aim with the benchmarks is to have nearly identical code for all platforms without any platform-specific optimizations - I'm not sure yet how io-thread plays into that.

Will definitely add the JVM version and update Clojure dependencies and let you know when I have fresh benchmarks.

Show HN: CSP Benchmarks – Go vs. core.async (Clojure) vs. libgoc (C)

https://github.com/libgoc/libgoc/blob/81798b3dd5e27d7f1e752b6cff0bdf3a95d381b7/bench/README.md

Hi, HN!Author of libgoc here.I made a CSP library in C along with async I/O and HTTP client/server layers.It is blazing fast, beating Go and Clojure at several benchmarks.The library is stable, and has an extensive test suite.I have several optimizations and features planned, all logged as issues in the github repo.libgoc currently uses void* extensively and is ducktyped, but this will...

( Read More... | 3 comments | on HN )

Show HN: Libgoc – Go-like CSP-style HTTP client/server library for C

https://github.com/divs1210/libgoc/blob/main/HTTP.md

Hi! I'm the author of libgoc.libgoc provides a Go - like runtime in portable C.It is basically C + GC + threadpools + goroutines + channels + goroutine-aware-mutexes.It's built on top of:- Boehm GC- libuv for async I/O and cross-platform threading primitives- minicoro for cross-platform coroutines- picohttp as the HTTP parser for goc_httpThe API is stable at this point.Prebuilt static binaries...

( Read More... | no comments | on HN )
Re:Libgoc: A Go-style CSP concurrency runtime for C on Monday March 16, 2026 @09:01PM (#47407285)
Libgoc is a Go-style CSP concurrency runtime for C: threadpools, stackful coroutines, channels, select, async I/O, and garbage collection in one coherent API.
Re:Importance of context management in AI NPCs on Thursday July 03, 2025 @11:30AM (#44456076)
I have a feeling that Half Life 3 will have groundbreaking AI NPCs.
Re:Half-Life on Sunday February 23, 2025 @09:47AM (#43149598)
Half Life is my favorite game franchise of all time.

Played all the canon games and SO MANY mods.

Still obsessed with it.

Neat project!

By the way, to see a great example of how a modern game can be made using the classic Half Life engine, look at the fan made game Half Life: Echoes [1].

It actually looks pretty decent, and the gameplay is top notch.

[1] https://www.youtube.com/watch?v=fBQKi6vGX8U

Re:A Minecraft server written in COBOL on Thursday December 26, 2024 @12:48PM (#42516570)
Same as dynamically typed vs statically typed languages.
Re:Four limitations of Rust's borrow checker on Tuesday December 24, 2024 @12:38PM (#42503428)
Easy to write bugs in unsafe languages like C / C++.

Rust makes memory management explicit, hence eliminating those bugs. But it also shows how hard memory management actually is.

Systems programming languages like this should be used sparingly, only for stuff like device drivers, OSs and VMs.

Any general purpose programming language should be garbage collected.

Pinewood Derby vibes
Re:John Carmack on Inlined Code on Wednesday October 09, 2024 @10:20AM (#41788250)
A person of culture, I see.

Electric Monks were made for a reason.

Surprisingly pertinent to the current discussion.

Re:Rewriting Rust: A Response on Friday September 27, 2024 @03:44PM (#41674786)
This discussion is seriously lacking in references to Koka language[0].

Koka is memory safe without using traditional GC, has effects, and is pretty cool over all.

[0] https://koka-lang.github.io/koka/doc/index.html

Re:What Is a Particle? on Saturday September 21, 2024 @06:13PM (#41613022)
Particle spin explained:

Imagine a ball that’s rotating,

Except it’s not a ball, and

It’s not rotating.

(popular particle physics meme)

From what I understand of QFT, the Universe is made of fields of different types, and a “fundamental particle” is just an excitation (wave) in the corresponding field.

For example, a photon is a wave in the universal electromagnetic field, A charm quark is a wave in the universal charm quark field, etc.

I’m not a trained physicist, so I might be wildly wrong.

Re:Physicists Create Elusive Particles That Remember Their Pasts on Tuesday September 12, 2023 @12:56PM (#37484183)
Thanks for the explanation.

That quote is extremely terse and would have taken a considerable amount of time to understand.

Re:Show HN: Conway's Game of Life in TypeScript's type system on Monday September 11, 2023 @11:48AM (#37469051)
Yes! I have played with Shen before.

IIRC the type checker is literally a Prolog.

Re:Show HN: Conway's Game of Life in TypeScript's type system on Friday September 08, 2023 @07:30PM (#37440565)
commenting for future reference.

that's a great quote.

The SEC chief is Gary Gensler who used to teach a Cryptocurrency course at Harvard...
what about linux?
Re:A History of Clojure (2020) [pdf] on Thursday August 10, 2023 @10:46AM (#37076832)
Luminus has a successor called Kit.
Re:(Next Rich) on Saturday August 05, 2023 @12:49PM (#37013915)
Are you complaining he used a word you weren't familiar with?
> merely shining a light on the object would give it a nudge

so you're saying you would change the outcome by measuring the system?

Hao Wu is an immunologist.

I hope he isn't connected to Stanford's Nolan.

LK-99 is weirdly connected to UFO lore, so I'd want to be cautious.

Re:Remembering Benares on Tuesday April 04, 2023 @04:58AM (#35436928)
What balderdash.
Re:TypeScript 5.0 on Thursday March 16, 2023 @02:51PM (#35186528)
I didn't know Java had a `function` keyword.

That is TS, not Java. Not sure why the gp is calling it Java.

Re:Diff Models – A New Way to Edit Code on Saturday January 28, 2023 @10:19AM (#34558238)
Good point!

Maybe a future AI could generate machine code that could be "disasssembled" into higher level languages.

Not sure if that would be better.

Re:Why Go and Not Rust? (2019) on Saturday January 28, 2023 @02:30AM (#34555921)
> No shared mutability. This is an unrealistic constraint;

Hard disagree.

It is impossible to safely use shared mutable state b/w parallel processes.

See how DB isolation levels work - serializable is the only safe way to go if your processes do anything conditional on the current state. To parallelize, you have to partition the DB which is kind of a cheap way to split one physical DB into separate logical DBs.

So even DBs - the largest shared mutable states we have - are also not really shared mutable states. They need to be broken down into unshared mutable states to be useful.

Shared mutable state is a smell both at the code level and system level.

Re:Erlang's not about lightweight processes and message passing on Saturday January 28, 2023 @01:40AM (#34555744)
Without those lightweight processes that process messages sequentially from their inbox these behaviors won't give the same concurrency guarantees.

I don't know why the author is turning this into a competition of whether processes are more important or behaviors - they both are parts of a well designed system that work well together.

GenServers etc can't be written equivalently in Go/Java since goroutines and Java threads (even the new virtual threads) are not pre-emptive, whereas Erlang processes are truly independent.

Interesting.

Why do you say so?

Older »