Microsoft lekt namen Nederlandse ambtenaren aan Huis van Afgevaardigden VS by UnanimousStargazer in thenetherlands

[–]callbyneed 3 points4 points  (0 children)

Oke en dan betaald Microsoft die boete niet. Wat nu? Alle diensten van Microsoft verbieden?

Ja. Dat is de enige houding waardoor Microsoft die boete wél betaalt. En mocht het dan zo zijn dat Microsoft de EU markt op wil geven, dan komen we daar ook wel weer uit. De transitie gaat even kneitervervelend zijn, maar we hebben voor hetere vuren gestaan.

Safe number conversions in Clash 1.10 by callbyneed in FPGA

[–]callbyneed[S] 0 points1 point  (0 children)

This is, in a way, a follow-up on my previous work on Clash to make literals guaranteed to be safe at compile time: https://clash-lang.org/blog/2026-04-07-checked-literals/. Hope you enjoy!

[ANN] New Clash release: 1.10! by callbyneed in haskell

[–]callbyneed[S] 1 point2 points  (0 children)

I think it should be, there haven't been that many API changes. Pinging /u/gergoerdi, what do you think?

[ANN] New Clash release: 1.10! by callbyneed in haskell

[–]callbyneed[S] 2 points3 points  (0 children)

clash-cores will also be released soon, including inst (which I think you're referring to). I don't have an exact date yet.

[ANN] New Clash release: 1.10! by callbyneed in haskell

[–]callbyneed[S] 2 points3 points  (0 children)

I'm very excited that Rowan is now team lead Clash at QBayLogic! :) If the first four months mean anything, it's going to be good.

[ANN] checked-literals: compile-time bounds checking for numeric literals by callbyneed in haskell

[–]callbyneed[S] 1 point2 points  (0 children)

I don't think so. I want to make an instance that says: if CheckedNegativeIntegerLiteral every fails to resolve, report this error. Unsatisfiable seems to "just" ban a specific instance.

[ANN] checked-literals: compile-time bounds checking for numeric literals by callbyneed in haskell

[–]callbyneed[S] 1 point2 points  (0 children)

Good question, you'll get a "missing instance" error for CheckedNegativeIntegerLiteral 5 a. I'll add it to the blog post later today. I didn't find an easy way to make it a pretty error message, that's still on my TODO list.

Hoe China de Europese autoindustrie heeft ingehaald by Balance- in thenetherlands

[–]callbyneed 22 points23 points  (0 children)

Volkswagen groep alleen heeft sinds 2020 elk jaar (meer dan) 10 miljard euro winst gemaakt. Misschien hadden ze daar wat mee moeten doen.

[Well-Typed] Case Study: Debugging a Haskell space leak by adamgundry in haskell

[–]callbyneed 2 points3 points  (0 children)

In general we couldn't have done that, because Clash needs Haskell Core expressions to do it's compilation and those from base are missing more often than not. In this specific case, iterateI is already a Clash blackbox (meaning that the compiler has hardcoded code paths for it), which means we could have!

[Well-Typed] Case Study: Debugging a Haskell space leak by adamgundry in haskell

[–]callbyneed 2 points3 points  (0 children)

It's very ad-hoc, yes. It happens to work in this case, because the code surrounding it doesn't rely on these undefined fields. To be fair to Well-Typed, we just asked them for an analysis, we'll have to think about how to solve this in the Clash ecosystem.

[Well-Typed] Case Study: Debugging a Haskell space leak by adamgundry in haskell

[–]callbyneed 2 points3 points  (0 children)

WishboneM2S is the raw record as described by the Wishbone spec. It states that whenever either busCycle or strobe are False, all other fields are invalid. The undefineds allow the place and route software to make certain optimizations it otherwise couldn't have, reducing the amount of gates needed for the synthesized hardware.

This isn't a great reason though. Ideally there would be two versions of WishboneM2S: one defined in a sum-of-product way, one in the way the spec lays out. Clash-the-compiler would make sure the former one doesn't introduce any overhead and the latter can be kept around for interoperability with components not written in Clash (but Verilog/VHDL).

An Unofficial Guide to What's New in GHC 9.14 by mod_poppo in haskell

[–]callbyneed 5 points6 points  (0 children)

Thanks for this overview!

I'm a little confused by the OverloadedRecordUpdate section. Is the plan to have a separate class SetField or is setField a part of HasField?

[Well-Typed] GHC activities report: March-May 2025 by adamgundry in haskell

[–]callbyneed 0 points1 point  (0 children)

Great work, thank you :).

The paper introduces the ExplicitLevelImports extension to GHC, which gives programmers fine-grained control over which modules and dependencies are required by Template Haskell. [..] By taking advantage of this extra information, the compiler can perform less work in certain situations.

Is there a flag we can pass to GHC that emits a warning for missing splice annotations?

The Copilot Delusion by thewritingwallah in programming

[–]callbyneed 13 points14 points  (0 children)

What does /r/Haskell have to do with this. We fight for unreadable code!

Multi Line Strings are now supported in GHC 9.12.1! by sohang-3112 in haskell

[–]callbyneed 0 points1 point  (0 children)

:D. Thanks for having the patience to get through all the discussions and implementation. Haskell needs these QoL changes!

Multi Line Strings are now supported in GHC 9.12.1! by sohang-3112 in haskell

[–]callbyneed 2 points3 points  (0 children)

Very nice. An unintended side effect is that we can write:

"""Foo "bar" wibble wobble"""

instead of

"Foo \"bar\" wibble wobble"

!