jaror avatar

jaror

@jaror@kbin.social

All the side effects were never mentioned to me
I am innocent of uncontrolled abuse

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...

jaror, to haskell
jaror avatar

The GitHub repo of the basement 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.

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...

jaror, (edited ) to haskell
jaror avatar

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)))

jaror, to haskell
jaror avatar

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

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...

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...

jaror, to haskell
jaror avatar

I enjoyed the simplicity of this recent Computerphile video on web servers: https://www.youtube.com/watch?v=7GBlCinu9yg

I attempted to recreate it in , but we don't really have a library on the same level of abstraction. wai is too abstract and network is not abstract enough.

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...

[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...

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • tester
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • osvaldo12
  • ethstaker
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • ngwrru68w68
  • kavyap
  • GTA5RPClips
  • provamag3
  • cisconetworking
  • InstantRegret
  • khanakhh
  • cubers
  • everett
  • Durango
  • tacticalgear
  • Leos
  • modclub
  • normalnudes
  • megavids
  • anitta
  • lostlight
  • All magazines