Haskell

https://haskellweekly.news/issue/422.html

News about the Haskell programming language from 2024-05-30.

1
0
https://www.typetheoryforall.com/episodes/haskell-lean-idris-and-the-art-of-writing-1

In this episode we talk with David Christiansen, he wrote the books Functional Programming in Lean and the Little Typer. He has also worked as the Executive Director of the Haskell Foundation, at Galois and did his PhD developing a bunch of cool stuff for Idris. David is a super upbeat person and I feel that we could spend hundreds of hours talking about Functional Programming Writing and Dependent Types, and we still wouldn’t run out of topics!

3
0
https://haskellweekly.news/issue/420.html

News about the Haskell programming language from 2024-05-16.

2
0
https://haskell.foundation/podcast/49/

Wouter and Joachim interview Arseny Seroka, CEO of Serokell. Arseny got into Haskell because of a bet over Pizza, fell for it because it means fewer steps between his soul and his work, and founded Serokell because he could not get a Haskell job. He speaks about the business side of a Haskell company, about the need for more sales and marketing for Haskell itself, and about the Haskell Developer Certification.

3
0
discourse.haskell.org

h/t [@bgamari@mastodon.social](https://mastodon.social/users/bgamari)

3
0
https://haskellweekly.news/issue/418.html

News about the Haskell programming language from 2024-05-02.

1
0
https://www.well-typed.com/blog/2024/04/ghc-debug-improvements/

`ghc-debug` is a debugging tool for performing precise heap analysis of Haskell programs (check out [our previous post introducing it](https://www.well-typed.com/blog/2021/01/fragmentation-deeper-look/)). While working on [Eras Profiling](https://www.well-typed.com/blog/2024/01/ghc-eras-profiling/), we took the opportunity to make some much needed improvements and quality of life fixes to both the `ghc-debug` library and the [https://hackage.haskell.org/package/ghc-debug-brick](https://hackage.haskell.org/package/ghc-debug-brick) terminal user interface. To summarise, * `ghc-debug` now works seamlessly with profiled executables. * The `ghc-debug-brick` UI has been redesigned around a composable, filter based workflow. * Cost centers and other profiling metadata can now be inspected using both the library interface and the TUI. * More analysis modes have been integrated into the terminal interface such as the 2-level profile. This post explores the changes and the new possibilities for inspecting the heap of Haskell processes that they enable. These changes are available by using the `0.6.0.0` version of [https://hackage.haskell.org/package/ghc-debug-stub](https://hackage.haskell.org/package/ghc-debug-stub) and [https://hackage.haskell.org/package/ghc-debug-brick-0.6.0.0](https://hackage.haskell.org/package/ghc-debug-brick-0.6.0.0).

2
0
https://discourse.haskell.org/t/bluefin-a-new-effect-system/9395?u=jaror

I've mentioned my new effect system, Bluefin, a few times on this forum. It's now ready for me to announce it more formally. Bluefin's API is differs from all prior effect systems in that it implements a "well typed [Handle](https://jaspervdj.be/posts/2018-03-08-handle-pattern.html)/[Services](https://brandonchinn178.github.io/posts/2023/05/03/services-design-pattern) pattern". That is, all effects are accessed through value-level handles, which makes it trivial to mix a wide variety of effects, including: * [Bluefin.EarlyReturn](https://hackage.haskell.org/package/bluefin-0.0.4.3/docs/Bluefin-EarlyReturn.html), for early return * [Bluefin.Exception](https://hackage.haskell.org/package/bluefin-0.0.4.3/docs/Bluefin-Exception.html), for exceptions * [Bluefin.IO](https://hackage.haskell.org/package/bluefin-0.0.4.3/docs/Bluefin-IO.html), for I/O * [Bluefin.State](https://hackage.haskell.org/package/bluefin-0.0.4.3/docs/Bluefin-State.html), for mutable state * [Bluefin.Stream](https://hackage.haskell.org/package/bluefin-0.0.4.3/docs/Bluefin-Stream.html), for streams If you're interested then read the [Introduction to Bluefin](https://hackage.haskell.org/package/bluefin-0.0.4.3/docs/Bluefin.html). I'd love to know what you all think.

3
0
https://haskellweekly.news/issue/416.html

News about the Haskell programming language from 2024-04-18.

1
0
https://well-typed.com/blog/2024/04/choreographing-specialization-pt1/

This is the first of a two-part series of blog posts on GHC specialization, an optimization technique used by GHC to eliminate the performance overhead of ad-hoc polymorphism and enable other powerful optimizations. There will also be a Haskell Unfolder episode about this topic.

1
0

This fuses: ``` [(x, y) | x <- [0 .. 10], y <- [0 .. 10]] ``` But this does not: ``` liftA2 (,) [0 .. 10] [0 .. 10] ``` Because the latter inlines to: ``` let xs = [0..10]; ys = [0..10] in xs >>= \x -> ys >>= \y -> (x, y) ``` And GHC is afraid to push the `ys` binding into the `\x -> ...` lambda because that might duplicate the work of evaluating [0..10]. Even though in the end fusing everything would be beneficial. See: [https://gitlab.haskell.org/ghc/ghc/-/issues/24663](https://gitlab.haskell.org/ghc/ghc/-/issues/24663)

2
1

Declarative vs imperative: ``` let v = sum [ ((x ! i) - m) ^ 2 | i <- [0 .. cc - 1] ] / fromIntegral cc ``` ``` float v = 0.0f; for (int i = 0; i < C; i++) { float xshift = x[i] - m; v += xshift * xshift; } v = v/C; ``` [\#haskell](https://kbin.social/tag/haskell)

0
1
https://haskellweekly.news/issue/415.html

News about the Haskell programming language from 2024-04-11.

1
0
https://haskellweekly.news/issue/414.html

News about the Haskell programming language from 2024-04-04.

1
0
https://haskell.foundation/podcast/46/

Roman, known better online as effectfully, is interviewed by Wouter and Joachim. On his path to becoming a Plutus language developer at IOG, he learned English to read Software Foundations, has encountered many spaceleaks, and used Haskell to prevent robots from killing people.

2
0
https://haskellweekly.news/issue/413.html

News about the Haskell programming language from 2024-03-28.

2
0
https://discourse.haskell.org/t/pre-hftc-ghc-should-offer-low-level-logging-infrastructure/9159

Logs are a critical thing in production systems and I would like to start a discussion about bringing low-level support for efficient logging into GHC

3
0
https://haskellweekly.news/issue/412.html

News about the Haskell programming language from 2024-03-21.

2
0
https://well-typed.com/blog/2024/03/haskell-unfolder-episode-22-foldr-build-fusion/

When composing several list-processing functions, GHC employs an optimisation called foldr-build fusion. Fusion combines functions in such a way that any intermediate lists can often be eliminated completely. In this episode, we will look at how this optimisation works, and at how it is implemented in GHC: not as built-in compiler magic, but rather via user-definable rewrite rules.

3
0
https://haskell.foundation/podcast/45/

In this episode, András Kovács is being interviewed by Andres Löh and Matthias Pall Gissurarson. We learn how to go from economics to functional programming, how GHC's runtime system is superior to Rust's, the importance of looking at GHC's Core for spotting stray closures, and why staging might be the answer to all your optimisation problems.

4
0
https://haskellweekly.news/issue/411.html

News about the Haskell programming language from 2024-03-14.

3
0
https://haskellweekly.news/issue/410.html

News about the Haskell programming language from 2024-03-07.

1
0
https://discourse.haskell.org/t/2024-haskell-ecosystem-workshop-june-6-7-co-located-with-zurihac/8958?u=jaror

In this two-day event, held on the lakeside campus of OST in lovely Rapperswil, Switzerland, you can learn what you need to know in order to get started working on these tools. We’ve asked the presenters to identify ‘good first issues’ for those wanting to get their feet wet on contributing. Because the workshop is immediately prior to Zurihac 2024, you will have the opportunity to tackles one of these issues while the core developers are easily available!

1
0
https://haskell.foundation/podcast/44/

Wouter and Niki interview Jose Calderon, the new Executive Director of the Haskell Foundation. Jose tells why he applied for the job, how he sees the foundation developing over the coming years, and how you can get involved in the Haskell community.

3
4
https://haskellweekly.news/issue/409.html

News about the Haskell programming language from 2024-02-29.

1
0

TIL [strict-containers](https://hackage.haskell.org/package/strict-containers) exists and includes strict vectors. [\#haskell](https://kbin.social/tag/haskell)

0
0
https://www.haskell.org/ghc/blog/20240223-ghc-9.8.2-released.html

The GHC developers are happy to announce the availability of GHC 9.8.2. Binary distributions, source distributions, and documentation are available on the [release page](https://www.haskell.org/ghc/download_ghc_9_8_2.html). This release is primarily a bugfix release addressing many issues found in the 9.8 series.

4
0

I enjoyed the simplicity of this recent Computerphile video on web servers: [https://www.youtube.com/watch?v=7GBlCinu9yg](https://www.youtube.com/watch?v=7GBlCinu9yg) I attempted to recreate it in [#haskell](https://kbin.social/tag/haskell), but we don't really have a library on the same level of abstraction. [wai](https://hackage.haskell.org/package/wai) is too abstract and [network](https://hackage.haskell.org/package/network) is not abstract enough.

1
2
https://haskellweekly.news/issue/408.html

News about the Haskell programming language from 2024-02-22.

1
0
https://well-typed.com/blog/2024/02/haskell-unfolder-episode-20-dijkstras-shortest-paths/

In this (beginner-friendly) episode, we will use Dijkstra's shortest paths algorithm as an example of how one can go about implementing an algorithm given in imperative pseudo-code in idiomatic Haskell. We will focus on readability, not on performance.

1
0
https://haskell.foundation/podcast/43/

In this episode, Wouter and Andres interview Ivan Perez, a senior research scientist at NASA. Ivan tells us about how NASA uses Haskell to develop the Copilot embedded domain specific language for runtime verification, together with some of the obstacles he encounters getting to end users to learn Haskell and adopt such an EDSL.

4
0
https://discourse.haskell.org/t/ann-botan-bindings-botan-low-0-0-1-0-released/8800?u=jaror

Today, I am happy to announce the initial release of the botan-bindings and botan-low packages to hackage. This is the result of more than 7 months of sustained effort to provide a series of bindings to the Botan C++ cryptography library, and was made possible through support from the Haskell Foundation and funding provided by Mercury. Botan is an open-source, BSD-licensed C++ cryptography library with an extensive suite of cryptographic algorithms and utilities...

2
0
https://nicaudinet.github.io/2024/02/11/hmatrix-zeros-to-hero/

The goal of this post is to give a brief introduction to hmatrix’s Static API and show how to implement a type-safe zeros function in two different ways.

1
0