Since this is a very new community, let's take a moment to introduce ourselves in this thread. Please share your interests and what you are working on!
In this episode, Matti and Wouter are joined by John Hughes. John is one of the authors of the original Haskell Report and talks about why functional programming matters, the origins of QuickCheck testing, and how higher order functions and lazy evaluation is the key that makes functional programming so productive, and so much...
The GitHub repo of the #haskellbasement and foundation packages was just archived, while it currently has 3764 indirect reverse dependencies including cryptonite, pandoc, and accelerate. I don't know why and I don't know what will happen now, but I am concerned.
The Haskell Symposium is a two-day workshop co-located with the International Conference on Functional Programming (ICFP). In a previous blog post we discussed the Haskell Implementors’ Workshop (HIW), which is another Haskell-workshop co-located with ICFP, but unlike HIW, the Haskell Symposium is a scientific workshop with...
Brzozowski derivatives are neat, but good old denotational semantics of regular expressions can be very elegant too:
data RE = Empty | Eps | Ch Char | App RE RE | Alt RE RE | Star RE
foldRE :: p -> p -> (Char -> p) -> (p -> p -> p) -> (p -> p -> p) -> (p -> p) -> RE -> p
foldRE emp eps ch app alt star = go where
go = \case
Empty -> emp
Eps -> eps
Ch c -> ch c
App p q -> app (go p) (go q)
Alt p q -> alt (go p) (go q)
Star p -> star (go p)
recognise :: RE -> String -> [String]
recognise =
foldRE (pure empty) pure (\c -> \case x : xs | c == x -> [xs]; _ -> [])
(>=>) (liftA2 (<|>)) (\p -> fix (\t -> liftA2 (<|>) pure (p >=> t)))
Anyone want to guess how many errors this code generates:
{-# LANGUAGE DerivingVia #-}
module T where
newtype OrdList1 a = OrdList1 [a]
deriving (Functor, Foldable, Traversable) via []
newtype OrdList2 a = OrdList2 [a]
deriving (Functor, Foldable, Traversable) via Maybe
The GHC developers are happy to announce the availability of GHC 9.4.6. Binary distributions, source distributions, and documentation are available at downloads.haskell.org. This release is primarily a bugfix release addressing some issues found in 9.4.6.
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.
I want to follow https://mastodon.social/@haskell_discussions, but I can't seem to reach them from kbin. Usually with mastodon, I believe I should be able to search for that URL, like this:...
Dear Haskell Community, Since May, 2022, I’ve had the honor and pleasure of serving as the Executive Director of the Haskell Foundation. As many of you know, I’ve had a deep and abiding interest in dependently-typed programming, formal verification, compile-time metaprogramming, and programmer tooling. A rare opportunity...
Joachim Breitner and David Christiansen interview John MacFarlane, a professor of philosophy at UC Berkeley, but also the author of the popular pandoc document conversion tool, which has been around half as long as Haskell itself. He also explains the principle of uniformity as a design goal for lightweight markup languages, the...
Adds a linear fat arrow %1 => this is meant to greatly improve the ergonomics of some of the APIs using linear types (it tends to apply to APIs based on typestate or related to mutation)....
Consider the following two implementations of a 'map' function for arrays. Can you guess which one of them is the fastest without running them? (Please ignore the uses of unsafeCoerce :P)...
In this episode, Bartosz Milewski is interviewed by Wouter Swierstra and Andres Löh. Bartosz shares his thoughts on the "fringe topics" in programming, from C++ templates to category theory in Haskell. How he considers monads to be like fingers sticking out of the water. And he'll talk a little bit about his upcoming book and...
It is my great pleasure to announce that we have hired a new Executive Director for the Haskell Foundation: José Manuel Calderón Trilla. José is a long-time Haskeller and Haskeller-educator, with a PhD from the University of York, a stint at Galois, and is currently wrapping up a lectureship at the University of Maryland...
I attempted to recreate it in #haskell, but we don't really have a library on the same level of abstraction. wai is too abstract and network is not abstract enough.
Learn how to combine the best of both TypeScript and Haskell for frontend development. TypeScript developers will learn how to take the reactive principles that made React successful to the next level with pure Functional Reactive Programming (FRP). Haskell developers on the other hand will learn how to easily integrate with the...
To better understand some counterintuitive evaluation puzzles, we explore the notion of “demand” as it exists in Haskell and discuss how it influences GHC’s choice of evaluation strategy.
Andres and Wouter interview Edwin Brady, most famous for his work on the Idris programming language. We talk about how he got interested in programming with dependent types, his thoughts on dependently typed programming in Haskell, and his vision for Idris.
A circular program is a program that depends on its own result. It may be surprising that this works at all, but laziness makes it possible if output becomes available sooner than it is required. In this final episode of 2023, which will be longer than usual (probably 45-60 minutes), we will take a look at several examples of...
CLC seeks nominations for a vacant seat. Who should apply? Anyone who meets the following criteria should apply: Candidates should have enough bandwidth to review merge requests to base on a semi-frequent basis (3 to 5 per month), and sustain this for their 3 years term in a healthy manner. Candidates should be able to...
Introduce Yourself
Since this is a very new community, let's take a moment to introduce ourselves in this thread. Please share your interests and what you are working on!
Haskell Interlude 36 - John Hughes (haskell.foundation)
In this episode, Matti and Wouter are joined by John Hughes. John is one of the authors of the original Haskell Report and talks about why functional programming matters, the origins of QuickCheck testing, and how higher order functions and lazy evaluation is the key that makes functional programming so productive, and so much...
Monthly Ask Anything (July 2023)
Use this thread to ask any Haskell related questions which you think doesn't deserve a thread of their own. Ask away!
Well-Typed Blog: Haskell Symposium 2023 (well-typed.com)
The Haskell Symposium is a two-day workshop co-located with the International Conference on Functional Programming (ICFP). In a previous blog post we discussed the Haskell Implementors’ Workshop (HIW), which is another Haskell-workshop co-located with ICFP, but unlike HIW, the Haskell Symposium is a scientific workshop with...
GHC 9.4.6 is now available (discourse.haskell.org)
The GHC developers are happy to announce the availability of GHC 9.4.6. Binary distributions, source distributions, and documentation are available at downloads.haskell.org. This release is primarily a bugfix release addressing some issues found in 9.4.6.
Haskell Interlude 44: José Manuel Calderón Trilla (haskell.foundation)
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.
SBTB 2023: Avi Press, Why Haskell is a Terrible Choice for Startups (And Why We Picked It Anyway) (www.youtube.com)
Welcome to the comedy of errors that is our tale of four tumultuous, yet rewarding, years deploying Haskell in a production environment at Scarf...
How to follow people from other instances?
I want to follow https://mastodon.social/@haskell_discussions, but I can't seem to reach them from kbin. Usually with mastodon, I believe I should be able to search for that URL, like this:...
Bitstring manipulation
The containers package contains IntMap and IntSet types which use some bit fiddling tricks to achieve very high performance....
Code blocks from Lemmy get mangled here on Kbin
For example see this comment:...
An opportunity that I couldn't pass up (discourse.haskell.org)
Dear Haskell Community, Since May, 2022, I’ve had the honor and pleasure of serving as the Executive Director of the Haskell Foundation. As many of you know, I’ve had a deep and abiding interest in dependently-typed programming, formal verification, compile-time metaprogramming, and programmer tooling. A rare opportunity...
Haskell Interlude: Episode 37 – John MacFarlane (haskell.foundation)
Joachim Breitner and David Christiansen interview John MacFarlane, a professor of philosophy at UC Berkeley, but also the author of the popular pandoc document conversion tool, which has been around half as long as Haskell itself. He also explains the principle of uniformity as a design goal for lightweight markup languages, the...
GHC proposal: Linear constraints (github.com)
Adds a linear fat arrow %1 => this is meant to greatly improve the ergonomics of some of the APIs using linear types (it tends to apply to APIs based on typestate or related to mutation)....
OC Test your knowledge of Haskell's array primitives
Consider the following two implementations of a 'map' function for arrays. Can you guess which one of them is the fastest without running them? (Please ignore the uses of unsafeCoerce :P)...
Haskell Interlude 30: Bartosz Milewski (haskell.foundation)
In this episode, Bartosz Milewski is interviewed by Wouter Swierstra and Andres Löh. Bartosz shares his thoughts on the "fringe topics" in programming, from C++ templates to category theory in Haskell. How he considers monads to be like fingers sticking out of the water. And he'll talk a little bit about his upcoming book and...
[Haskell Foundation] Welcome to our new Executive Director, José (discourse.haskell.org)
It is my great pleasure to announce that we have hired a new Executive Director for the Haskell Foundation: José Manuel Calderón Trilla. José is a long-time Haskeller and Haskeller-educator, with a PhD from the University of York, a stint at Galois, and is currently wrapping up a lectureship at the University of Maryland...
React + Reflex: Harmonizing TypeScript and Haskell with FRP - Ryan Trinkle (www.youtube.com)
Learn how to combine the best of both TypeScript and Haskell for frontend development. TypeScript developers will learn how to take the reactive principles that made React successful to the next level with pure Functional Reactive Programming (FRP). Haskell developers on the other hand will learn how to easily integrate with the...
Laziness in Haskell — Part 3: Demand (www.youtube.com)
To better understand some counterintuitive evaluation puzzles, we explore the notion of “demand” as it exists in Haskell and discuss how it influences GHC’s choice of evaluation strategy.
Haskell Interlude 38: Edwin Brady (haskell.foundation)
Andres and Wouter interview Edwin Brady, most famous for his work on the Idris programming language. We talk about how he got interested in programming with dependent types, his thoughts on dependently typed programming in Haskell, and his vision for Idris.
[Well-Typed] The Haskell Unfolder Episode 17: circular programs (www.youtube.com)
A circular program is a program that depends on its own result. It may be surprising that this works at all, but laziness makes it possible if output becomes available sooner than it is required. In this final episode of 2023, which will be longer than usual (probably 45-60 minutes), we will take a look at several examples of...
CLC Election September 2023 (discourse.haskell.org)
CLC seeks nominations for a vacant seat. Who should apply? Anyone who meets the following criteria should apply: Candidates should have enough bandwidth to review merge requests to base on a semi-frequent basis (3 to 5 per month), and sustain this for their 3 years term in a healthy manner. Candidates should be able to...