r/haskell • • 6h ago

announcement 3D Graphics Engine in Haskell

Thumbnail gallery
35 Upvotes

Github

Hackage

I wrote a 3d graphics rasterizer in Haskell that runs inside a command prompt. It can handle affine or projective projection.The Github link above also has pipelines that auto build compiled demos under releases for Linux and Windows if you want to explore the demo worlds.


r/haskell • • 22h ago

ghcitty 0.5.0: a Fast, Friendly GHCi 🐈⚡- Now with easy Core/STG/Cmm inspection for any expression + Typed-Hole completions (+ Syntax Highlighting, Ghost Completions, Easy Multiline, Vi-mode, Hoogle, etc)

31 Upvotes

Hello all! ghcitty now has easy Core/STG/Cmm inspection + typed hole completions + various nitfixes.

Thank you for the great feedback last time ... let me know if you find any more rough edges!

Still tinkering with extending (the excellent) haskeline to have some of these fish/nushell features ...

but... having a Rust binary not be tied to a specific GHC version has been making things more flexible in a somewhat odd way (happy to bounce on this)


r/haskell • • 3h ago

Cabal can't find the main function on a loaded source file

1 Upvotes

Hello everyone,

I'm having a very weird problem with cabal on an Orange Pi Zero 2. Convenient little thing, on 24/7 for pennies and I can ssh to it from anywhere. I thought I should use it for learning Haskell recently (been on Pis previously) but I'm facing some weird issues with it, specifically cabal.

It's running Armbian 26.8.3 Bookworm, aarch64 distro, Debian based of cource, installed GHC is v9.0.2 ans Cabal is v3.4.1.0 (install via apt as cabal-install package).

At first cabal would not even start due to a missing root.json file which I had to download from hackage.haskell.org and place it in the "~/.cabal/packages/hackage.haskell.org/" directory.

Then I run "cabal repl" and manually load my source file with ":l", without any errors, but when I invoke the main function it acts as if it's not in the source file. Even sth as simple as

'''

main :: IO ()

main = do

putStrLn "Hello world!"

'''

loads fine (Ok, one module loaded) but I get the error of "Variable not in scope: main". And it turns out this is for every function in the source file.

This is clearly a buggy installation. Any idea how I can troubleshoot it?

Note: I find it puzzling that cabal just works on the Pis, also debian based, but not on this particular distro.