I have an algebraic data type for an AST, which takes a type parameter for the type of expression that the AST holds. I’m writing a function which walks the AST, transforming certain nodes, but always keeping the types of the nodes the same. For example, I can provide this function a function for transforming identifiers (like for renaming them), but the transformer has to return another identifier. The outer structure of the AST stays the same. This is important because I only want to specify transformation functions for the “interesting” cases, and allow the majority of cases to use a default transformer which does nothing more than traverse down the node’s children.

What would you name such a thing? I wouldn’t call it “map” because it doesn’t change the type parameter. It’s not “fold” because it doesn’t have the ability to vary the return type at all. It might be a special case of some other morphism, which would be helpful, but I’m not seeing it.

#FunctionalProgramming #haskell #purescript

I want to be your next #FediHire !

I've been a programmer since 1985 (as a child), I've been an IT professional since 1995 (pulling wires and swapping cards and configuring MS Windows). I graduated from University of Arkansas Fayetteville with a BS in CS in December of 2003. A full resume is available.

I am currently splitting my time between Fayetteville, Arkansas and Cove, Arkansas but I am open to relocation for the right position. My last two positions were 100% remote so I work well on asynchronous teams.

I prefer something where I can be a high-performing individual contributor: reading, writing and improving source text the majority of my day, with some time spent knowledge-sharing with other developers -- learning and teaching. I'd like to work with #Haskell, #Purescript, or #Idris as the primary source language, but I can be productive in almost any language (no PHP, please; I promised myself never again).

I would prefer W-2 employment with a base salary of at least 130k USD/yr, plus some sort of retirement offering (401k or similar) and healthcare benefits (HDCP + HSA or similar). But, I will certainly give due consideration to other compensation packages.

(Boosts appreciated.)

If you haven't heard, the #purescript build tool #spago recently has a major 1.x release.

In celebration of this I wanted to reaffirm my financial support of the project, since I don't have time/skill to contribute labor.

I *thought* I was supporting the project on liberapay, but I could find it on my giving page.

EDIT: https://opencollective.com/purescript

PureScript - Open Collective

Help fund infrastructure for PureScript, a strongly-typed functional programming language that compiles to JavaScript

純粋関数型言語ではconsole.log("Hello")をlog "Hello"と書くし、foo = 42をwrite 42 fooと書く
https://qiita.com/hiruberuto/items/4d8a4739cd738c425ee2?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items

#qiita #JavaScript #Haskell #purescript

純粋関数型言語ではconsole.log("Hello")をlog "Hello"と書くし、foo = 42をwrite 42 fooと書く - Qiita

いわゆる純粋関数型プログラミング言語は、「状態や作用を扱うことはできない/難しい/面倒」といわれることもあります。でも、たとえばJavaScriptでコンソールにHelloを出力するには、 JavaScript console.log("Hello") と書く一方で、...

Qiita
Not in Bangalore but want to attend an #FPIndia meetup? No problems! Join us for an online meetup open to all. RSVP at hasgeek.com/fpindia/fpin... #FunctionalProgramming #India #Meetup #Haskell #PureScript #Erlang #Scala #OCaml #TypeScript #Rust #Clojure

FPIndia Online - Feb 2026
FPIndia Online - Feb 2026

FPIndia Online Meetup for the month of Feb 2026

Until #UnisonLang takes over, #Nix is amazing.

I just converted my non-deterministic build system from ‘cabal build’ and ‘spago build’ to ‘nix build ‘in like three hours. Now, I can deploy this anywhere as a self-contained VM. I’m still brainstorming the ramifications of this.

Thanks to #pursnix and #IOG #IOHK #HaskellNix

#Haskell #Purescript #Deku #Hyrule #FRP #postgres

https://github.com/harryprayiv/cheeblr/commit/2dda5b2939914ea97ca1878b96c1db48a706ba49

it works! purescript and haskell builds using Nix. NICE! · harryprayiv/cheeblr@2dda5b2

Functional Reactive Purescript Deku/Hyrule PoS System for Cannabis Dispensaries - it works! purescript and haskell builds using Nix. NICE! · harryprayiv/cheeblr@2dda5b2

GitHub
Announcing our first offline meetup for 2026! #FPIndia #Bangalore #Meetup! Talk submissions are also open. Please RSVP if you wish to attend: hasgeek.com/fpindia/bang... #Haskell #PureScript #Elixir #Erlang #Scala #Clojure #India #FunctionalProgramming

Bangalore FP January 2026 meet...
Bangalore FP January 2026 meetup

Bangalore FP January 2026 meetup

@leobm and here a version in #purescript ```specialAvg :: Array Int -> Int
specialAvg ints = case length withoutMinMax of
0 -> 0
_ -> sum withoutMinMax / length withoutMinMax
where
startValue = fromMaybe 0 $ head ints
minv = foldr min startValue ints
maxv = foldr max startValue ints
isNotMinMax v = (v /= maxv) && (v /= minv)
withoutMinMax = filter isNotMinMax ints```

@raphael That is great to know :)

The code is released under the GPL license so you're free to reuse (parts of) it as long as whatever you distribute is also under the GPL license. With that said, it's in #purescript so I'm not sure how reusable it is, unless your project is also in Purescript.

In any case, if you'd like to join forces for some project, please let me know. It gets demotivating trying to build tools by myself as a developer for a use case that's specific to me as a user. I could do with potential users/fellow developers :)

Opened an issue against the registry https://github.com/purescript/registry/issues/523 since package-sets is not longer accepting issues. I hope that's the right place. Please #PureScript people let me know if there's a better place to report this.

(No, I'm not interested in using spago@next.)

Package set psc-0.15.15-20250711 (and others) is broken without GitHub authentication · Issue #523 · purescript/registry

bss@monster % less packages.dhall let upstream = https://github.com/purescript/package-sets/releases/download/psc-0.15.15-20250711/packages.dhall sha256:ee7af380ca58c03d51ac6bb7411ec441724c671a4fff...

GitHub