home.social

#ghc — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #ghc, aggregated by home.social.

  1. Saw someone at work referred to GitHub Copilot as "GHC" and I want to cry

    #haskell #ghc

  2. Might #GHC 9.14 be the first release that does not break anything (except for bounds bumps)? If you find anything, report it here:

    discourse.haskell.org/t/was-an

    #haskell

  3. "Compiler and runtime support for continuation marks" (PLDI 2020) dl.acm.org/doi/10.1145/3385412
    "Continuation marks enable dynamic binding and context inspection in a language with proper handling of tail calls and first-class, multi-prompt, delimited continuations."

    GHC proposal: "scoped thread-locals" github.com/ghc-proposals/ghc-p
    "efficient storage and lookup for immutable context
    attached to the current Haskell thread, which is inherited by child threads."

    #Haskell #ghc

  4. Packages like `text` reach into the unstable bowels of #GHC to avoid allocating intermediate structures when reading IO.

    But it is possible to do fusible lazy IO:

    ```
    produce :: IO [Char]
    produce = IO $ \s0 ->
    (# s0 , build $ \c n ->
    let go s = case runIO getChar s of
    (# s' , x #) -> c x (go s')
    in go s0
    #)
    ```

    Perhaps GHC could expose something like that and the text package could use it.

    #haskell

  5. TIL #GHC already has some functionality in place to check that a function is only used at a monomorphic type. Currently, I think it is only used for `tagToEnum#` but it would be useful to properly integrate it into the type system.

    #haskell

  6. An new proposal for passing implicit parameters to #Haskell functions: github.com/ghc-proposals/ghc-p

    Done the right way; as opposed to the existing ImplicitParams extension, which is practically useless.

    #GHC

  7. #Haskell New Year Resolutions
    discourse.haskell.org/t/haskel

    These are very useful advices!

    I learnt:
    - Generically and DerivingVia
    - StarIsType
    - DuplicateRecordFields, NoFieldSelectors, and OverloadedRecordDot

    I must admits that there are just too many extensions in #GHC...

    #NewYearResolution #newyear2026 #FP #Programming

  8. niklas-heer/speed-comparison: A repo which compares the speed of different programming languages.
    github.com/niklas-heer/speed-c

    This projects tries to compare the speed of different #programming languages. It uses an implementation of the Leibniz formula for π to do the comparison.

    Notably:
    - #Julia is the only dynamically-typed languages amoung the top tier, only ~28ms slower from #Cpp (#Clang).
    - #Rust got a huge boost with nightly compiler (it is said that hand-written SIMD is used?)
    - #Go tops in 3rd tier (very crowded 0.8s~1s)
    - #PyPy and #Haskell (#GHC) are very closed (~1s), preceding #Racket, beating #Python (#NumPy) by a lot (~1.2s)
    - The slowest is #CPython (~86s)

    #Math #ScientificComputing

  9. PSA: When using the #GHC API, the `setSessionDynFlags` function will modify the DynFlags, so be sure to discard the old DynFlags and use `getSessionDynFlags` if you need them again later.

    Thanks to Rodrigo Mesquita for helping me figure this out!

    #haskell

  10. While declaring peace and justice advocates are terrorist organizations, while outlawing international law authority of the United Nations, US profiteers’ recruitment increases to expand their presence in Gaza for trapping Palestinians next month. Happy Christmas. Great reporting from DropSite News.
    #Gaza #UGSolutions #NorthCarolina #GHC #CAIR

    open.substack.com/pub/dropsite

  11. While declaring peace and justice advocates are terrorist organizations, while outlawing international law authority of the United Nations, US profiteers’ recruitment increases to expand their presence in Gaza for trapping Palestinians next month. Happy Christmas. Great reporting from DropSite News.
    #Gaza #UGSolutions #NorthCarolina #GHC #CAIR

    open.substack.com/pub/dropsite

  12. While declaring peace and justice advocates are terrorist organizations, while outlawing international law authority of the United Nations, US profiteers’ recruitment increases to expand their presence in Gaza for trapping Palestinians next month. Happy Christmas. Great reporting from DropSite News.
    #Gaza #UGSolutions #NorthCarolina #GHC #CAIR

    open.substack.com/pub/dropsite

  13. While declaring peace and justice advocates are terrorist organizations, while outlawing international law authority of the United Nations, US profiteers’ recruitment increases to expand their presence in Gaza for trapping Palestinians next month. Happy Christmas. Great reporting from DropSite News.
    #Gaza #UGSolutions #NorthCarolina #GHC #CAIR

    open.substack.com/pub/dropsite

  14. While declaring peace and justice advocates are terrorist organizations, while outlawing international law authority of the United Nations, US profiteers’ recruitment increases to expand their presence in Gaza for trapping Palestinians next month. Happy Christmas. Great reporting from DropSite News.
    #Gaza #UGSolutions #NorthCarolina #GHC #CAIR

    open.substack.com/pub/dropsite

  15. PSA: RequiredTypeArguments, introduced in the upcoming #ghc 9.14 interacts strangely with ScopedTypeVariables. Can you guess what this program prints?

    data A s where
    A :: forall (s :: Symbol) -> KnownSymbol s => A "bar"

    instance Show (A s) where
    show (A s) = symbolVal (Proxy @s)

    main = print (A "foo")

    #haskell

  16. TIL: parallel sparks can take up to 20 ms to be scheduled, so you should not use them for small computations.

    gitlab.haskell.org/ghc/ghc/-/i

    #haskell #ghc

  17. #Nix UX is such crap, it's unreal.

    I love the tech, and the language is fun (funny), but it doesn't have to be like this.

    I wish I had money to self-fund R&D beyond my people's work on #ghc

    I would totally invest into #purenix.

    If you want to help me reach my goals of bettering the industry beyond what #Serokell is doing, please consider asking your executives to have a look at #ZeroHR for their tech skill assessment needs.

    zerohr.io

  18. #Nix UX is such crap, it's unreal.

    I love the tech, and the language is fun (funny), but it doesn't have to be like this.

    I wish I had money to self-fund R&D beyond my people's work on #ghc

    I would totally invest into #purenix.

    If you want to help me reach my goals of bettering the industry beyond what #Serokell is doing, please consider asking your executives to have a look at #ZeroHR for their tech skill assessment needs.

    zerohr.io

  19. #Nix UX is such crap, it's unreal.

    I love the tech, and the language is fun (funny), but it doesn't have to be like this.

    I wish I had money to self-fund R&D beyond my people's work on #ghc

    I would totally invest into #purenix.

    If you want to help me reach my goals of bettering the industry beyond what #Serokell is doing, please consider asking your executives to have a look at #ZeroHR for their tech skill assessment needs.

    zerohr.io

  20. #Nix UX is such crap, it's unreal.

    I love the tech, and the language is fun (funny), but it doesn't have to be like this.

    I wish I had money to self-fund R&D beyond my people's work on #ghc

    I would totally invest into #purenix.

    If you want to help me reach my goals of bettering the industry beyond what #Serokell is doing, please consider asking your executives to have a look at #ZeroHR for their tech skill assessment needs.

    zerohr.io

  21. Move Files: a #tinytool

    We released a tiny tool that moves files.

    It is written in the #haskell programming language. The full source code is available as #FOSS (free and open-source software) on CodeBerg, here: codeberg.org/OmegaJunior/move-

    You will need to download the #GHC and cabal to compile it.

  22. New GHCiTUI Version: 0.4.1.0!

    Program interrupts are now supported, along other bug fixes. You can get it now on Hackage.

    hackage.haskell.org/package/gh

    #haskell #ghc #ghcitui

  23. New GHCiTUI Version: 0.4.1.0!

    Program interrupts are now supported, along other bug fixes. You can get it now on Hackage.

    hackage.haskell.org/package/gh

    #haskell #ghc #ghcitui

  24. New GHCiTUI Version: 0.4.1.0!

    Program interrupts are now supported, along other bug fixes. You can get it now on Hackage.

    hackage.haskell.org/package/gh

    #haskell #ghc #ghcitui

  25. New GHCiTUI Version: 0.4.1.0!

    Program interrupts are now supported, along other bug fixes. You can get it now on Hackage.

    hackage.haskell.org/package/gh

    #haskell #ghc #ghcitui

  26. New GHCiTUI Version: 0.4.1.0!

    Program interrupts are now supported, along other bug fixes. You can get it now on Hackage.

    hackage.haskell.org/package/gh

    #haskell #ghc #ghcitui

  27. CW: Швидкий запуск програми на :haskell:

    Під час розробки часто потрібно перезапускати програму перевіряючи її поведінку. Але робити це за допомоги інтерпретатора ghci запускаючи функцію не завжди зручно, та й збирати компілятором ghc і запускати бінарник також. Тому для зручності було зроблено runghc. Це команда яка компілює код і зразу його виконує не зберігаючи у файл.

    $ runghc main.hs
    

    #ukrhaskell #haskell #ghc #ghci #runghc #запуск #програмування

  28. CW: Швидкий запуск програми на :haskell:

    Під час розробки часто потрібно перезапускати програму перевіряючи її поведінку. Але робити це за допомоги інтерпретатора ghci запускаючи функцію не завжди зручно, та й збирати компілятором ghc і запускати бінарник також. Тому для зручності було зроблено runghc. Це команда яка компілює код і зразу його виконує не зберігаючи у файл.

    $ runghc main.hs
    

    #ukrhaskell #haskell #ghc #ghci #runghc #запуск #програмування

  29. GHCiTUI Update: Modules, Tracing, Resizing, Speed Ups! Also please help by endorsing me on Hackage.

    It's been a while since I've given an update on this project.

    The project is now open source (github.com/CrystalSplitter/ghc)

    And hopefully in the next few weeks it'll be on Hackage! You can help me if you're a Hackage maintainer by endorsing me: hackage.haskell.org/user/Cryst

    #haskell #ghc #ghcitui #ghci #programming #opensource

  30. GHCiTUI Update: Modules, Tracing, Resizing, Speed Ups! Also please help by endorsing me on Hackage.

    It's been a while since I've given an update on this project.

    The project is now open source (github.com/CrystalSplitter/ghc)

    And hopefully in the next few weeks it'll be on Hackage! You can help me if you're a Hackage maintainer by endorsing me: hackage.haskell.org/user/Cryst

    #haskell #ghc #ghcitui #ghci #programming #opensource

  31. GHCiTUI Update: Modules, Tracing, Resizing, Speed Ups! Also please help by endorsing me on Hackage.

    It's been a while since I've given an update on this project.

    The project is now open source (github.com/CrystalSplitter/ghc)

    And hopefully in the next few weeks it'll be on Hackage! You can help me if you're a Hackage maintainer by endorsing me: hackage.haskell.org/user/Cryst

    #haskell #ghc #ghcitui #ghci #programming #opensource

  32. GHCiTUI Update: Modules, Tracing, Resizing, Speed Ups! Also please help by endorsing me on Hackage.

    It's been a while since I've given an update on this project.

    The project is now open source (github.com/CrystalSplitter/ghc)

    And hopefully in the next few weeks it'll be on Hackage! You can help me if you're a Hackage maintainer by endorsing me: hackage.haskell.org/user/Cryst

    #haskell #ghc #ghcitui #ghci #programming #opensource

  33. GHCiTUI Update: Modules, Tracing, Resizing, Speed Ups! Also please help by endorsing me on Hackage.

    It's been a while since I've given an update on this project.

    The project is now open source (github.com/CrystalSplitter/ghc)

    And hopefully in the next few weeks it'll be on Hackage! You can help me if you're a Hackage maintainer by endorsing me: hackage.haskell.org/user/Cryst

    #haskell #ghc #ghcitui #ghci #programming #opensource

  34. With this full implementation of term-to-type is completed[1], thanks to #serokell's funding. Honestly, the stuff Mr. Zavialov, soon-to-be-Dr. Rogozin and others have done for #GHC over past half-decade may be quiet, but also quite impressive.

    Long live #Haskell, the most level-headed option for strong typing in production.

    [1]: gitlab.haskell.org/ghc/ghc/-/c