HNHacker News
TopNewBestAskShowJobs

valcron1000

353 karma · joined December 8, 2021

submissionscomments
valcron1000··on A Design Space Exploration of Async/Await
Was part of the initial design, but then the designers dropped the idea of a built-in runtime.
valcron1000··on A Design Space Exploration of Async/Await
If you want to have annotations on IO code you could get it using attributes - and you could even go further by using more precise annotations like `network`, `disk`, etc. The problem with using the type system is that now you need to account for the distinction everywhere (ex. interfaces/traits must support IO-based implementations) only to carry this metadata which should not affect the behavior. In Haskell, IO exists not to track a behavior but to enforce it in a lazy language. In Rust is done due to the lack of a runtime.

I recommend reading https://degoes.net/articles/no-effect-tracking . In summary, most languages could do with the Go/Java virtual thread async model dropping async/await entirely.

valcron1000··on Golang proposal: container/: generic collection types
22 years late, but better late than never.
valcron1000··on Superlogical
Care to share your setup? I'm currently working on pretty much the same thing and it's looking good so far, but having a single user makes it hard to get enough feedback.
valcron1000··on Our position on open-weights models
> what should be done about open weight bioweapon and cyber-offense capabilities? Is it simply the cost of freedom that we should allow attackers to access these tools?

Yes, in the same way that we have E2E encryption which allows bad actors to distribute content beyond human horrors.

valcron1000··on After 7 years in production, Scarf has reluctantly moved away from Haskell
Had no nuke the `target` folder a couple of weeks ago, +400 GB ...
valcron1000··on Crypto in 2026: Oh, This Is the Bad Place
This guy has been preaching against crypto for years, to the point of leaving the Haskell ecosystem just because the language was being used by Cardano. At some point you have to wonder what's going on with him...
valcron1000··on Ferrari Luce
Damn, that looks awful.
valcron1000··on Learnings from 100K lines of Rust with AI (2025)
Where can we read the code?
valcron1000··on Vibe coding and agentic engineering are getting closer than I'd like
> if it’s a solo greenfield project

That's a big if. I don't have numbers but most professional engineers are not working on such projects

valcron1000··on Show HN: The Mog Programming Language
I've been thinking of doing the exact same thing. Preserve context as images and die. Expose a single tool called "eval". You could have a extremely tight editor integration using something like SLIME.
valcron1000··on Qwen3-Coder-Next
Still nothing to compete with GPT-OSS-20B for local image with 16 VRAM.
valcron1000··on CLI agents make self-hosting on a home server easier and fun
> When something breaks, I SSH in, ask the agent what is wrong, and fix it.

> I am spending time using software, learning

What are you actually learning?

PSA: OP is a CEO of an AI company

valcron1000··on Trump says Venezuela’s Maduro captured after strikes
If international law had any effect people would believe in it. You're mixing cause/effect. This situation has been going on for years and the lack of response by international organizations makes people lose all confidence in them.
valcron1000··on Ultrasound Cancer Treatment: Sound Waves Fight Tumors
I'm unfortunately on the same situation. We made a consultation with people from Baptist Health Miami and it seems like there are several non trivial requirements for such treatment (histotripsy), like the number and location of mets. Hope that this improves in the mear future.
valcron1000··on Rust's Block Pattern
One of the first things I tried in Rust a couple of years ago coming from Haskell. Unfortunately it's still not stabilized :(
valcron1000··on Several core problems with Rust
> Memory safety is not that sacred. In fact, for many applications malfunctioning is better than crashing

Yeah, just another data leak, no biggie.

valcron1000··on IDEmacs: A Visual Studio Code clone for Emacs
Not at the same level. TRAMP is way behind feature-wise.
valcron1000··on Zig and the design choices within
> Zig must also be good for eliminating the same ones.

But Zig does not eliminate them, but rather it might catch them at runtime. The difference here is that Rust promises that it will detect them at compile time, long before I ship my code.

> The property of memory safety is itself not binary in both languages

In this case it is: either you catch the issue at compile time, or you don't. This is the same as type safety: just because Python can detect type errors at runtime it does not mean that it's as "type safe" as, for ex. Haskell. This might be due to imprecise usage of terms but that's just the way it's discussed in the craft.

valcron1000··on Hypothesis: Property-Based Testing for Python
Yes, but instances require the user to provide shrinking while Hypothesis does not: shrinking is derived automatically.
valcron1000··on A Few Words About Async
In the sense that you only need to work with the standard IO monad to get the benefits of the runtime.
valcron1000··on A Few Words About Async
You don't need "monads" (in plural) since GHC provides a runtime where threads are not 1:1 OS threads but rather are managed at the user level, similar to what you have in Go. You can implement async/await as a library though [1]

[1] https://www.cambridge.org/core/services/aop-cambridge-core/c...

valcron1000··on A Few Words About Async
> async/await is also available in a bunch of other languages, including F#, C#8, Haskell[...]

Haskell (GHC) does not provide async/await but uses a green thread model.

valcron1000··on Async/Await is finally back in Zig
> Knowing if a function will yield the thread is actually extremely relevant knowledge you want available.

When is this relevant beyond pleasing the compiler/runtime? I work in C# and JS and I could not care less. Give me proper green threads and don't bother with async.

valcron1000··on John Carmack on mutable variables
> I mean, Haskell has like what, 2, 3, 4? Major build systems and package repositories? It's a quagmire.

Don't know when was the last time you've used Haskell, but the ecosystem is mainly focused on Cabal as the build tool and Hackage as the official package repository. If you've used Rust:

- rustup -> ghcup - cargo -> cabal - crates.io -> hackage - rustc -> ghc

valcron1000··on Result is all I need

    } catch (exception: Exception) {
      // log exception
      throw exception
    }
Probably the most harmful snippet ever written. Every blog post about errors has something similar written, regardless of the programming language. Please, don't write, suggest or even pretend that this should exist.
valcron1000··on Type checking is a symptom, not a solution
> that data flowing between them consists of simple, agreed-upon formats

> HTTP servers and clients, email systems, DNS resolvers—they all interoperate based on simple protocols

Yeah, massive disagree with this. There is absolutely nothing "simple" about these protocols. Try to compose 3/4 UNIX programs together and you necessarily need to run it to see if it even makes sense. Don't get me started on HTTP.

It boils my blood to read "simple" in the context of software engineering

valcron1000··on Uncertain<T>
Relevant (2006): https://web.engr.oregonstate.edu/~erwig/pfp/
valcron1000··on Left to Right Programming
No need to import a third party library: you can use `Data.Function ((&))` for this:

    arg
     & f1
     & f2
     & f3
valcron1000··on Customizing tmux
How do you deal with persistent sessions in VSCode? I have a remote VM to which I connect through SSH using VSCode, but I need to have certain programs running even after I disconnect from the VM. It's the only reason why I use tmux and I haven't been able to get rid of it.
Page 1 of 6Next →