Haskell Weekly
Interpreting Brainfuck in Haskell
https://abhinavsarkar.net/posts/brainfuck-interpreter/
Discussions: https://discu.eu/q/https://abhinavsarkar.net/posts/brainfuck-interpreter/
Interpreting Brainfuck in Haskell
https://abhinavsarkar.net/posts/brainfuck-interpreter/
Discussions: https://discu.eu/q/https://abhinavsarkar.net/posts/brainfuck-interpreter/
Porting PFP from Haskell to OCaml
https://github.com/lewis-carson/PFPCaml
Discussions: https://discu.eu/q/https://github.com/lewis-carson/PFPCaml
A new perspective on lenses. ~ Sandy Maguire. https://reasonablypolymorphic.com/blog/code-lenses/index.html #Haskell #FunctionalProgramming
Haskell: A Great Procedural Language
https://entropicthoughts.com/haskell-procedural-programming
Discussions: https://discu.eu/q/https://entropicthoughts.com/haskell-procedural-programming
Readings shared January 18, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/18-readings_shared_01-18-25 #Haskell #Python #CommonLisp #ITP #Coq #Rocq #Logic #Math #AI #MachineLearning #LLMs
Listopia: List manipulation library inspired by Haskell package Data.List. ~ Ito Dimercel. https://github.com/Dimercel/listopia #CommonLisp #Haskell
Call for Nominations: Haskell.org Committee
https://www.haskell.org/haskell-org-committee/
Discussions: https://discu.eu/q/https://www.haskell.org/haskell-org-committee/
Readings shared January 17, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/17-readings_shared_01-17-25 #Haskell #Python #ITP #Coq #Rocq #LeanProver #Logic #Math #AI #LLMs #Reasoning
#Exercitium: Determinación de los elementos minimales. https://jaalonso.github.io/exercitium/posts/2025/01/17-elementos_minimales/ #Haskell #Python #DíaInternacionalDeLasMatemáticas
#MULCIA: Research software engineer at Epic. https://tinyurl.com/23jucqu4 #Job #CompSci #Haskell
Readings shared January 16, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/16-readings_shared_01-16-25 #ITP #LeanProver #Agda #Logic #Math #SAT #SMT #FunctionalProgramming #Haskell #Python #Matemáticas #AI #LLMs
Fast Haskell, Redux
https://jtobin.io/fast-haskell-redux
Discussions: https://discu.eu/q/https://jtobin.io/fast-haskell-redux
Now added initial support for Haskell - auto-generate Haskell data models from Scala case classes - early preview, will extend further in hackathon
https://codeberg.org/jjba23/dmtscala
Discussions: https://discu.eu/q/https://codeberg.org/jjba23/dmtscala
#Exercitium: Suma de los números amigos menores que n. https://jaalonso.github.io/exercitium/posts/2025/01/16-suma_de_numeros_amigos_menores_que_n/ #Haskell #Python #Matemáticas
#Exercitium: Sucesión de números amigos. https://jaalonso.github.io/exercitium/posts/2025/01/15-sucesion_de_numeros_amigos/ #Haskell #Python #Matemáticas
The Haskell Unfolder Episode 38: tasting and testing CUDA (map, fold, scan). ~ Edsko de Vries, Andres Löh. https://www.youtube.com/live/ww4C3jlsesw?si=615ge7qYP7GBVp2A #Haskell #FunctionalProgramming
https://lira.kraamwinkel.be/articles/haskell_ffi
A while ago I wrote about the Foreign Function Interface in Haskell and how to make a desktop application with Qt6.
The following topics are covered:
foreign import
to call C or C++-functions (without name mangling);foreign export
to call Haskell-functions in C or C++GStorable
);MonadReader (IORef [a]) m
is better for storing pointers than MonadState [a] m
;ccall
and capi
I already shared it on my previous account back then, but I am posting it here now too :)
An agda2hs-compatible representation of exact real arithmetic. ~ Viktor Csimma. https://csimmaviktor.web.elte.hu/acorn.pdf #ITP #Agda #FunctionalProgramming #Haskell
Readings shared January 15, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/15-readings_shared_01-15-25 #ITP #LeanProver #Logic #Math #CompSci #FunctionalProgramming #Haskell
The Haskell Unfolder Episode 38: tasting and testing CUDA (map, fold, scan)
https://www.youtube.com/watch?index=38&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&v=ww4C3jlsesw
Discussions: https://discu.eu/q/https://www.youtube.com/watch?index=38&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&v=ww4C3jlsesw
Research Software Engineer at Epic
https://discourse.haskell.org/t/research-software-engineer-at-epic/11202
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/research-software-engineer-at-epic/11202
Hit the translate button and read about some interesting-looking #Haskell libraries.
https://zenn.dev/konn/articles/2025-01-oss-from-previous-job
#Exercitium: Sucesión de números amigos. https://jaalonso.github.io/exercitium/posts/2025/01/15-sucesion_de_numeros_amigos/ #Haskell #Matemáticas
Readings shared January 14, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/14-readings_shared_01-14-25 #ITP #IsabelleHOL #Coq #Rocq #Haskell #FunctionalProgramming
https://lira.kraamwinkel.be/articles/haskell_ffi
A while ago I wrote about the Foreign Function Interface in Haskell and how to make a desktop application with Qt6.
The following topics are covered:
foreign import
to call C or C++-functions (without name mangling);foreign export
to call Haskell-functions in C or C++GStorable
);MonadReader (IORef [a]) m
is better for storing pointers than MonadState [a] m
;ccall
and capi
I already shared it on my previous account back then, but I am posting it here now too :)
The #Haskell #Unfolder is back! In tomorrow's episode, we'll take a look at CUDA and write some simple functions in it. We'll also show how to interface from Haskell to CUDA and how to use QuickCheck to test CUDA functions from Haskell.
https://www.youtube.com/watch?v=ww4C3jlsesw&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=38
Hell (Haskell shell): Year in review. ~ Chris Done. https://chrisdone.com/posts/hell-year-in-review-2025/ #Haskell #FunctionalProgramming
Haskell recap for week 2/2025
https://discu.eu/weekly/haskell/2025/2/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
하스켈 공부를 시작하고, 펑터를 슬슬 쓰기 시작하면서, Applicative 로 넘어갈 무렵에 볼만한 글입니다. 컨텍스트란 말이 편해지면, 펑터 다음 진도에 도움이 많이 됩니다.
최근 펑터를 공부하면서, 펑터가 달리 보여 5년전 글의 컨텍스트, Applicative, Traversable 내용을 보강해 봤습니다.
https://lionhairdino.github.io/posts/2020-07-02-Context.html
예전 펑터 글에 "펑터 값을 프리미티브한 값처럼 쓰고 싶다"라는 목표를 먼저 세우고, `<$>`와 `<*>`등을 살펴보는 내용을 추가했습니다.
https://lionhairdino.github.io/posts/2023-03-09-functor.html
Trying to learn persistent/esqueleto
https://www.yesodweb.com/book/persistent
https://hackage.haskell.org/package/persistent
persistent-postgresql https://hackage.haskell.org/package/persistent-postgresql
the Persistent entity syntax https://hackage.haskell.org/package/persistent-2.14.6.3/docs/Database-Persist-Quasi.html
esqueleto https://hackage.haskell.org/package/esqueleto
예전 펑터 글에 "펑터 값을 프리미티브한 값처럼 쓰고 싶다"라는 목표를 먼저 세우고, `<$>`와 `<*>`등을 살펴보는 내용을 추가했습니다.
https://lionhairdino.github.io/posts/2023-03-09-functor.html
Alpha beta pruning with the selection monad. ~ Johannes Hartmann, Jeremy Gibbons. https://trendsfp.github.io/abstracts/paper-028.pdf #Haskell #FunctionalProgramming
Shallowly embedded functions. ~ Mart Lubbers, Pieter Koopman, Niek Janssen. https://trendsfp.github.io/abstracts/paper-007.pdf #Haskell #FunctionalProgramming
Using GHC core to normalise student programs. ~ Matilda Blomqvist, Alex Gerdes. https://trendsfp.github.io/abstracts/paper-012.pdf #Haskell #FunctionalProgramming
On the correctness of Barron and Strachey’s cartesian product function. ~ Wouter Swierstra, Jason Hemann. https://trendsfp.github.io/abstracts/paper-006.pdf #Haskell #FunctionalProgramming #ITP #Agda
Categories and Haskell (An introduction to the mathematics behind modern functional programming). ~ Jan-Willem Buurlage. https://raw.githubusercontent.com/jwbuurlage/category-theory-programmers/master/doc/categories_for_programmers.pdf #CategoryTheory #Haskell #FunctionalProgramming
Readings shared January 10, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/10-readings_shared_01-10-25 #ITP #LeanProver #Logic #Math #Haskell #Python #ASP #LogicProgramming #AI #NeuroSymbolicAI #LLMs
#Exercitium: Máxima suma de caminos en un triángulo. https://jaalonso.github.io/exercitium/posts/2025/01/10-maxima_suma_de_caminos_en_un_triangulo/ #Haskell #Python #Matemáticas
[ANN] Yolc - a Haskell-powered, safe, expressive, fun language for Ethereum
Case Study — Using a JavaScript component inside a Haskell application
https://blog.haskell.org/case-study-foreign-integration-js-browser/
Discussions: https://discu.eu/q/https://blog.haskell.org/case-study-foreign-integration-js-browser/
@[email protected] · Reply to HaskellOrg's post
Update n°40 from the GHC team at IOG
https://engineering.iog.io/2025-01-09-ghc-update/
Highlights:
• Luite finalized the patch adding compiler flags to to switch off speculative evaluation.
• Sylvain worked on bootstrapping GHC with Cabal.
Using a JavaScript component inside a Haskell application. ~ Mateusz Goślinowski. https://blog.haskell.org/case-study-foreign-integration-js-browser/ #Haskell #FunctionalProgramming #JavaScript
New post on the #Haskell blog: “Case Study — Using a JavaScript component inside a Haskell application”
https://blog.haskell.org/case-study-foreign-integration-js-browser/
@[email protected] · Reply to Jons Mostovojs's post
@tolmasky if I had to implement reflection in Lean4 or Agda, I would try to mimic #Haskell's typeable.
But also, I think there must be a very important point here! In dependently typed languages, entities can have more than one type!
(frac 1 2) : Frac 2 4, but also (frac 1 2) : Frac 4 8, for instance.
[1] : ListLE 1, but also [1]: ListLE 42.
So, perhaps the whole idea of general reflaction is defeated by this property. And this is why #haskell offers superior reflection[1]. Note that #Typeable is in #GHC itself!
I don't know if I'm mansplaining here or if you're aware of haskell's Typeable, but here is a simple demo of its capabilities: https://github.com/cognivore/typeable-haskell-demo/blob/main/app/Main.hs
In #Lean, I would emulate it by defining asking the user to provide explict instances over an enum, just as you wrote! The existential quantification trick can be done in #Lean by carrying the instance inside a structure that ties the knot between the type and an entity which has this type:
```
structure Stuff where
α : Type
val : α
inst : Reflect α
```
You won't be able to construct it unless α is Reflect.
* * *
[1]: https://hackage.haskell.org/package/base-4.21.0.0/docs/Type-Reflection.html#t:TypeRep
GHC 9.12 & Cabal 3.14 releases
https://blog.haskell.org/ghc-9-12-cabal-3-14/
Discussions: https://discu.eu/q/https://blog.haskell.org/ghc-9-12-cabal-3-14/
Haskell recap for week 1/2025
https://discu.eu/weekly/haskell/2025/1/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
Readings shared January 4, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/04-readings_shared_01-04-25 #ITP #IsabelleHOL #LeanProver #HOL_Light #Mizar #Math #Logic #Haskell #Python
McHale (2024) Streaming Compression via Laziness
http://vmchale.com/static/serve/lazy-c-api-streaming.pdf
Discussions: https://discu.eu/q/http://vmchale.com/static/serve/lazy-c-api-streaming.pdf
GHC 9.12 & Cabal 3.14 released!
Read the announcement at https://blog.haskell.org/ghc-9-12-cabal-3-14/
In my quest of solving #AdventOfCode problems in interesting ways, this time I solved the 2020 problem "Seating System" with comonads and stencils in #Haskell. Read my latest #blog post about it: https://abhinavsarkar.net/posts/solving-aoc20-seating-system/
Solving Advent of Code “Seating System” with Comonads and Stencils
https://abhinavsarkar.net/posts/solving-aoc20-seating-system/
Discussions: https://discu.eu/q/https://abhinavsarkar.net/posts/solving-aoc20-seating-system/
Policy regarding taking over Hackage packages
https://discourse.haskell.org/t/policy-regarding-taking-over-hackage-packages/
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/policy-regarding-taking-over-hackage-packages/
In my quest of solving #AdventOfCode problems in interesting ways, this time I solved the 2020 problem "Seating System" with comonads and stencils in #Haskell. Read my latest #blog post about it: https://abhinavsarkar.net/posts/solving-aoc20-seating-system/
In my quest of solving #AdventOfCode problems in interesting ways, this time I solved the 2020 problem "Seating System" with comonads and stencils in #Haskell. Read my latest #blog post about it: https://abhinavsarkar.net/posts/solving-aoc20-seating-system/
#Exercitium: Caminos en un triángulo. https://jaalonso.github.io/exercitium/posts/2025/01/04-caminos_en_un_triangulo/ #Haskell #Python #Matemáticas
Readings shared January 3, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/03-readings_shared_01-03-25 #ITP #Lean4 #IsabelleHOL #Coq #Rocq #Math #FunctionalProgramming #OCaml #Haskell #Python #AI #MachineLearning
#Exercitium: Mayor órbita de la sucesión de Collatz. https://jaalonso.github.io/exercitium/posts/2025/01/03-mayor_orbita_de_la_sucesion_de_collatz/ #Haskell #Python #DíaInternacionalDeLasMatemáticas
Parallel SAT solver. ~ Yixuan Li, Jiaqian Li, Phoebe Wang. https://www.cs.columbia.edu/~sedwards/classes/2024/4995-fall/reports/tsp-sat-report.pdf #Haskell #FunctionalProgramming
Parallel QuickHull algorithm in Haskell. ~ George Morgulis, Henry Lin. https://www.cs.columbia.edu/~sedwards/classes/2024/4995-fall/reports/Convex_Hull-report.pdf #Haskell #FunctionalProgramming
Modular probabilistic programming with algebraic effects. ~ Oliver Goldstein, Ohad Kammar. https://arxiv.org/abs/2412.19826 #Haskell #FunctionalProgramming
Readings shared January 2, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/02-readings_shared_01-02-25 #Haskell #Python #Math
#Exercitium: Ternas pitagóricas con suma dada. https://jaalonso.github.io/exercitium/posts/2025/01/02-ternas_pitagoricas_con_suma_dada/ #Haskell #Python #Matemáticas
Readings shared January 1, 2025. https://jaalonso.github.io/vestigium/posts/2025/01/01-readings_shared_01-01-25 #ITP #LeanProver #Lean4 #Mizar #Math #Haskell #Python
[Design] Dataframes in Haskell
https://discourse.haskell.org/t/design-dataframes-in-haskell/11108/2
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/design-dataframes-in-haskell/11108/2
Aztecs: A type-safe and friendly ECS for Haskell
https://github.com/matthunz/aztecs
Discussions: https://discu.eu/q/https://github.com/matthunz/aztecs
#Exercitium: Suma de múltiplos de 3 o de 5. https://jaalonso.github.io/exercitium/posts/2022/02/09-suma_de_multiplos_de_3_o_de_5/ #Haskell #Python #matematicas
Just in time, my #Haskell special #linkblog for December 2024: https://notes.abhinavsarkar.net/2024/links-12.
erebe/greenclip: Simple clipboard manager to be integrated with rofi
https://github.com/erebe/greenclip
Discussions: https://discu.eu/q/https://github.com/erebe/greenclip
Exported for tests only: Precise control over API visibility with custom warnings
Just in time, my #Haskell special #linkblog for December 2024: https://notes.abhinavsarkar.net/2024/links-12.
#haskell hackage now has syntax highlighting 🥹
See e.g.
https://hackage.haskell.org/package/htree
Readings shared December 30, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/30-readings_shared_12-30-24 #ITP #Coq #Rocq #FunctionalProgramming #Haskell #CommonLisp #EmacsLisp #Emacs #Logic #Math #CategoryTheory #AI
Haskell recap for week 52/2024
https://discu.eu/weekly/haskell/2024/52/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
Overloading the lambda abstraction in Haskell
https://acatalepsie.fr/posts/overloading-lambda
Discussions: https://discu.eu/q/https://acatalepsie.fr/posts/overloading-lambda
Overloading the lambda abstraction in Haskell
https://acatalepsie.fr/posts/overloading-lambda
Discussions: https://discu.eu/q/https://acatalepsie.fr/posts/overloading-lambda
Generalized Dijkstra in Haskell. ~ Lucas Escot. https://acatalepsie.fr/posts/haskell-dijkstra.html #Haskell #FunctionalProgramming
Category Theory Illustrated
https://abuseofnotation.github.io/category-theory-illustrated/
Discussions: https://discu.eu/q/https://abuseofnotation.github.io/category-theory-illustrated/
#Exercitium: Exponente en la factorización. https://jaalonso.github.io/exercitium/posts//2022/02/08-exponente_en_la_factorizacion/ #Haskell #Python #Matemáticas
Excellent Haskell course!
https://www.youtube.com/@haskellhutt
Discussions: https://discu.eu/q/https://www.youtube.com/%40haskellhutt
Readings shared December 26, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/26-readings_shared_12-26-24 #Haskell #Python #Math
#Exercitium: Reconocimiento de potencias de 4. https://jaalonso.github.io/exercitium/posts/2022/02/04-reconocimiento_de_potencias_de_4/ #Haskell #Python
Readings shared December 25, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/25-readings_shared_12-25-24 #Haskell #Python #Math #ITP #LeanProver #Lean4 #Lisp #Programming
Readings shared December 24, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/24-readings_shared_12-24-24 #ITP #Agda #Haskell #FunctionalProgramming #Haskell #Python #AI #LLMs #Math
#Exercitium: El teorema de Navidad de Fermat. https://www.glc.us.es/~jalonso/exercitium/14-dic-23/ #Haskell #Python #Math
Show HN: I Ported GHC Haskell Compiler to Windows 11 ARM. MC Gift
https://gitlab.haskell.org/ghc/ghc/-/issues/24603#note_601980
Discussions: https://discu.eu/q/https://gitlab.haskell.org/ghc/ghc/-/issues/24603%23note_601980
#Exercitium: Producto de los elementos de la diagonal principal. https://jaalonso.github.io/exercitium/posts/2022/02/03-producto_de_los_elementos_de_la_diagonal_principal/ #Haskell #Python #DíaInternacionalDeLasMatemáticas
Compiling dependent type preconditions to runtime checks with Agda2Hs. ~ Jakob Naucke. https://repository.tudelft.nl/file/File_b39e0ab0-422a-48db-8ce4-cef2e783c3cc #ITP #Agda #Haskell #FunctionalProgramming
How to collect performance statistics with Cabal
https://blog.haskell.org/how-to-collect-performance-statistics-with-cabal/
Discussions: https://discu.eu/q/https://blog.haskell.org/how-to-collect-performance-statistics-with-cabal/
Haskell recap for week 51/2024
https://discu.eu/weekly/haskell/2024/51/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
The Cabal Manual now has a guide on how to collect performance statistics of Haskell applications. Read more at
https://blog.haskell.org/how-to-collect-performance-statistics-with-cabal/
#Haskell Interlude's guest Tom Ellis works at Groq, using Haskell to compile AI models to specialized hardware. Listen to this episode about stability of both GHC and Haskell libraries, effects, and strictness.
@[email protected] · Reply to HaskellOrg's post
Update n°39 from the GHC team at IOG
https://engineering.iog.io/2024-12-19-ghc-update/
Highlights:
• Sylvain kept working on building GHC with cabal-install instead of Hadrian
• Jeff: created a GHC JS Backend matrix room
• Luite Is back from vacation and has been preparing the GHC 9.6.7 release. Welcome back Luite!
Update n°38 from the GHC team at IOG
https://engineering.iog.io/2024-11-28-ghc-update/
Highlights:
• Sylvain explored how to build GHC with cabal instead of hadrian
• Jeff investigated variations in the Plutus benchmark suite, possibly related to garbage collection
• Luite worked on preparing the upcoming GHC 9.6.7
Haskell Interlude 60: Tom Ellis
https://haskell.foundation/podcast/60/
Discussions: https://discu.eu/q/https://haskell.foundation/podcast/60/
Generalized Dijkstra in Haskell
https://acatalepsie.fr/posts/haskell-dijkstra.html
Discussions: https://discu.eu/q/https://acatalepsie.fr/posts/haskell-dijkstra.html
Aztecs: A type-safe and friendly ECS for Haskell
https://github.com/matthunz/aztecs
Discussions: https://discu.eu/q/https://github.com/matthunz/aztecs
Readings shared December 21, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/21-readings_shared_12-21-24 #ITP #IsabelleHOL #Math #Haskell #FunctionalProgramming
Solving perfect numbers quickly with Haskell. ~ Andrew MacGillivray. https://gist.github.com/amacgillivray/c37a2a860df5117561ec64604bcb6b7d #Haskell #FunctionalProgramming
An imperative programmer tries to learn Haskell. ~ Thane Thomson. https://hatwd.com/p/an-imperative-programmer-tries-to #Haskell #FunctionalProgramming
Project: M36 (Relational Algebra Engine)
https://github.com/agentm/project-m36
Discussions: https://discu.eu/q/https://github.com/agentm/project-m36
#Exercitium: Reiteración de suma de consecutivos. https://jaalonso.github.io/exercitium/posts/2022/02/02-reiteracion_de_suma_de_consecutivos/ #Haskell #Python #Matemáticas
Readings shared December 19, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/19-readings_shared_12-19-24 #ITP #IsabelleHOL #Mizar #Logic #Math #Haskell #FunctionalProgramming #LLMs
Is there an active content management system written in #haskell ?
Remote Haskell position (but must be in EU/EES) at Scrive
https://careers.scrive.com/jobs/5365423-haskell-developer
Discussions: https://discu.eu/q/https://careers.scrive.com/jobs/5365423-haskell-developer
Linear calculi: A comparison approach. ~ Ana Jorge Carvalho de Soares Almeida. https://repositorio-aberto.up.pt/bitstream/10216/164137/2/700562.pdf #Haskell #FunctionalProgramming
Lift instance cause Cabal build error: unknown symbol with CFFI but Cabal repl works fine.
https://github.com/yourcomrade/FloPoCoFloat/tree/Error_branch
Discussions: https://discu.eu/q/https://github.com/yourcomrade/FloPoCoFloat/tree/Error_branch
Introducing bevy-remote-hs: a Haskell library for interfacing with the Bevy game engine
https://github.com/matthunz/bevy-remote-hs
Discussions: https://discu.eu/q/https://github.com/matthunz/bevy-remote-hs
An imperative programmer tries to learn Haskell
https://hatwd.com/p/an-imperative-programmer-tries-to
Discussions: https://discu.eu/q/https://hatwd.com/p/an-imperative-programmer-tries-to
Announcing Decision Drill
https://entropicthoughts.com/announcing-decision-drill
Discussions: https://discu.eu/q/https://entropicthoughts.com/announcing-decision-drill
Effectful - Build Fast & Reliable Haskell Applications
https://haskell-effectful.github.io/
Discussions: https://discu.eu/q/https://haskell-effectful.github.io/
The Effectful effect system has a website: haskell-effectful.github.io
Glasgow #Haskell Compiler 9.12.1 Release notes | Lobsters
https://lobste.rs/s/pyjhml/glasgow_haskell_compiler_9_12_1_release
Proposal: improve the time performance of `Data.List.unsnoc`
https://github.com/haskell/core-libraries-committee/issues/307
Discussions: https://discu.eu/q/https://github.com/haskell/core-libraries-committee/issues/307
Readings shared December 16, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/16-readings_shared_12-16-24 #ITP #LeanLang #Lean4 #Logic #SMT #Z3 # #Haskell #FunctionalProgramming #CommonLisp #Programming #AI #Math
GHC 9.12.1 is now available - Announcements
https://discourse.haskell.org/t/ghc-9-12-1-is-now-available
Discussions: https://discu.eu/q/https://discourse.haskell.org/t/ghc-9-12-1-is-now-available
Bottom-up computation using trees of sublists. ~ Shin-Cheng Mu. https://www.cambridge.org/core/journals/journal-of-functional-programming/article/bottomup-computation-using-trees-of-sublists/5FC308F9732880B018C841EA424B09FA #Haskell #FunctionalProgramming
Contributing an mdoc reader to Pandoc
https://duckrabbit.tech/articles/mdoc.html
Discussions: https://discu.eu/q/https://duckrabbit.tech/articles/mdoc.html
Glasgow Haskell Compiler 9.12.1 Release notes
https://downloads.haskell.org/ghc/9.12.1/docs/users_guide/9.12.1-notes.html
Discussions: https://discu.eu/q/https://downloads.haskell.org/ghc/9.12.1/docs/users_guide/9.12.1-notes.html
Haskell recap for week 50/2024
https://discu.eu/weekly/haskell/2024/50/
Get RSS feeds and support this bot with the premium plan: https://discu.eu/premium
Readings shared December 15, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/13-readings_shared_12-13-24 #Haskell #FunctionalProgramming #CategoryTheory #AI #ITP #LeanProver #Math
Proposal: add `withForeignPtrST` and `touchForeignPtrST`
https://github.com/haskell/core-libraries-committee/issues/294
Discussions: https://discu.eu/q/https://github.com/haskell/core-libraries-committee/issues/294
Category theory using Haskell (An introduction with Moggi and Yoneda). ~ Shuichi Yukita. https://link.springer.com/book/10.1007/978-3-031-68538-5 #Haskell #FunctionalProgramming #CategoryTheory
Repost: 2-3 Weeks Haskell Onboarding From Zero (Google, FPComplete)
https://news.ycombinator.com/item?id=23621930
Discussions: https://discu.eu/q/https://news.ycombinator.com/item?id=23621930
Google Summer of Code 2024 Wrap-up
https://blog.haskell.org/gsoc-2024/
Discussions: https://discu.eu/q/https://blog.haskell.org/gsoc-2024/
#AdventOfCode in #Haskell day 13, supplemental: realized that I don't need a decimal library, just Data.Ratio(Rational). Nice.
Proposal: add enumerate :: (Enum a, Bounded a) => [a]
https://github.com/haskell/core-libraries-committee/issues/306
Discussions: https://discu.eu/q/https://github.com/haskell/core-libraries-committee/issues/306
I wonder if today's (14) #AdventOfCode task was specifically designed to be difficult for AI to solve due to vague specification, or if that's actually a problem that AI is particularly good at.
I was first slightly annoyed at having to guess, but then I got it with my first solution attempt (in #haskell), so I'm happy enough.
[Well-Typed] GHC activities report: September-November 2024
https://www.well-typed.com/blog/2024/12/ghc-activities-report-september-november-2024/
Discussions: https://discu.eu/q/https://www.well-typed.com/blog/2024/12/ghc-activities-report-september-november-2024/
#AdventOfCode in #haskell, day 13. First part was pretty easy. Second part would have been easy if sbv wasn't broken in #nixpkgs. I didn't want to just increase the precision.
Readings shared December 11, 2024. https://jaalonso.github.io/vestigium/posts/2024/12/11-readings_shared_12-11-24 #ITP #IsabelleHOL #Logic #Math #SetTheory #Haskell #FunctionalProgramming
Solving a ResourceT-related space leak in production
https://exploring-better-ways.bellroy.com/solving-a-resourcet-related-space-leak-in-production.html
#Haskell question: Is there a function for "reapply this function to a starting value N times"? e.g. `doTimes (*2) 3 1` would return `8` ((*2) $ (*2) $ (*2) $ 1). I know I could chain take and iterate and then do a Data.List.last, but that has crumby performance for very large values of N.
Internship opportunity with NASA programming in Rust
https://stemgateway.nasa.gov/s/course-offering/a0BSJ000000KS9p2AG/flight-software-in-rust
Discussions: https://discu.eu/q/https://stemgateway.nasa.gov/s/course-offering/a0BSJ000000KS9p2AG/flight-software-in-rust
Haskell Interlude 59: Harry Goldstein
https://haskell.foundation/podcast/59/
Discussions: https://discu.eu/q/https://haskell.foundation/podcast/59/
#haskell people
I hope you're doing fine !
I got this every time I compile, I'm tired of it. Any idea why ?
When is a call stack not a call stack? ~ Chris Smith. https://cdsmithus.medium.com/when-is-a-call-stack-not-a-call-stack-f7f12d7aabbe #Haskell #FunctionalProgramming
When is a call stack not a call stack?
https://cdsmithus.medium.com/when-is-a-call-stack-not-a-call-stack-f7f12d7aabbe
Discussions: https://discu.eu/q/https://cdsmithus.medium.com/when-is-a-call-stack-not-a-call-stack-f7f12d7aabbe
Parser Combinators Beat Regexes
https://entropicthoughts.com/parser-combinators-beat-regexes
Discussions: https://discu.eu/q/https://entropicthoughts.com/parser-combinators-beat-regexes
#AdventOfCode in #Haskell, day 10 was a breeze and also quite fun. Still didn't use comonads because of time constraints. 😐
The Haskell Programmer's Guide to the IO Monad
https://stefan-klinger.de/files/monadGuide.pdf
Discussions: https://discu.eu/q/https://stefan-klinger.de/files/monadGuide.pdf
Anyone looking for a #Haskell Job, #Berlin or remote in EU/EEA?
~I will update this post when I have more details.~
Here is the job posting: https://careers.scrive.com/jobs/5365423-haskell-developer
We are also looking for an #elm engineer.
3D Printed Programming Language Logo Tree Ornaments: Designed in Haskell
https://github.com/joe-warren/christmas-ornaments
Discussions: https://discu.eu/q/https://github.com/joe-warren/christmas-ornaments
Haskell: A Great Procedural Language
https://entropicthoughts.com/haskell-procedural-programming
Discussions: https://discu.eu/q/https://entropicthoughts.com/haskell-procedural-programming
@[email protected] · Reply to 洪 民憙 (Hong Minhee)'s post
Hydra, a code counting program written in Haskell.
Discussions: https://discu.eu/q/https://github.com/haq0/hydra
Just as I had to got rid of #haskell tag (in favour of #lean), sadly, I feel like it's time to get rid of #elixir tag in my bio.
I'm doing a #rust rewrite of #ZeroHR backend now and while I'm not ruminating too much over the time and money spent on #elixir backend, I find it so much cheaper and faster to write in well-typed languages.
I really hope to become profitable so that I can have a look at #PureNix + #PureErl + #PureScript combo, but I think I'm years away from such a luxury.
I have a #Linux machine with 32GB RAM and barely use 8GB of it. I run #Firefox with hundreds of tabs, open #Haskell, #Rust, and #PureScript projects all at the same time. Have #Telegram and #Discord apps running, and the memory usage still hovers around 8GB.Seems like I should be using Docker and Kubernetes just to feel like I'm using my machine to its potential 😆
Would it be insane to create a git repository that has #Haskell, #Purescript, AND #Idris packages in it?
My main concern is that some of the package distribution tooling I've dealt with seems to assume/prefer the package is at the top-level of the git repo.
Should I be using *submodules*!? (Plz, no!)
I think it's going to be informative to keep the packages coherent, and one repo seems like it could be a way to do that.
Since I am the newest Trusted Contributor with #postmarketOS I thought I would give a little introductory post.
Heyo! My name is Aster (they/them) and I do stuff with #Linux! I am hard at work getting immutability up and running on pmOS with the help of the amazing work being done to port #systemd.
You may know me for my work on #Lomiri on pmOS, my favorite #MobileLinux desktop environment!
I also dabble in #Rustlang and a bit of #Haskell.
Excited to work with all of y'all!
For Haskell packages published on Hackage, do you prefer version bounds on dependencies to be narrower or wider?
narrow ~ “We have tested that the package builds with dependencies that fall in this range”
wide ~ “Things are very likely to break if you use a version outside of this range, but we haven’t necessarily tested every version in it”
Case in point, I’m considering for agda2hs
whether to bump the bound on base
to only include the versions we actually test on CI, or to also include older versions that might still work but aren’t currently tested.
There is a fundamental difference between #complexity for the sake of convenience (I can build an entire app quickly. Think #JavaScript framework of the day), vs complexity for the sake of robustness (I can make changes to the app quickly without introducing new bugs. Think #Rust or #Haskell).
When you are not familiar with the tech, both can look the same, but they are not. The latter is actually #simplicity in disguise
In #haskell, is there a way to have doctests that just compile and not run? I have some IO code that I cannot execute in an isolated fashion.
Mastodon's global search only works on hashed tags, not text, so:
#ComputerScience
#SoftwareEngineering
#Education
#UK Teacher
#Python
#Haskell
#InfoSec
#Processing
#AI
#Computing
#ComputingEducation
#SoundEngineering
#MusicProduction
#Music
#Comedy
#Standup
#French
#London
I've been on Mastodon for a year, so it's time for a new pinned #introduction post with an updated dog pic! I'm a lecturer in #computerScience at Australian National University #ANU in #Canberra , #Ngunnawal / #Ngambri country. I research #typeTheory , #logic , #proofTheory and a little #categoryTheory , and teach an intro to programming class in #Haskell . Sometimes I post about work; when I'm busy at work I'm more likely to post about #books , my #labradoodle , and other pleasant distractions
#c - what if everything was a pointer
#lisp - what if everything was a linked list
#haskell - what if everything was a pure function
#forth - what if everything was a stack
#lua - what if everything was a hash map
#erlang - what if everything was immutable
#prolog - what if everything was a pattern to match
#java - what if everything was a class
#rust - what if everything was a memory allocation problem
#golang - what if everything != nil
#javascript - what if everything was everything
JSON is probably the most used standard file format for storing and transmitting data on the Internet in recent times. It has a simple syntax with only four scalar data types and two composite data types. So, writing a parser for #JSON is a great exercise for learning the basics of parsing.
That's exactly what I did: I wrote a JSON parser from scratch in #Haskell. Read my #blog post to learn about basics of #parsing, nuances of the JSON syntax, and parser combinators and property-based testing in Haskell: https://abhinavsarkar.net/posts/json-parsing-from-scratch-in-haskell/
Why is Prettier rock solid? Haskell!
Discussions: https://discu.eu/q/https://mrmr.io/til/prettier
If anyone's interested in the combination of #Haskell & #CAD / #3DPrinting I've been working on a library for declarative solid modeling
https://hackage.haskell.org/package/waterfall-cad-0.0.0.1
https://github.com/joe-warren/opencascade-hs
In a lazy evaluation scheme, the evaluation of an expression is deferred until the
value of the expression is actually needed elsewhere in the computation. That
is, the expression is evaluated on demand. This contrasts with what is called
eager evaluation in which an expression is evaluated as soon as its inputs are
available.
For example, if eager evaluation is used, an argument (which may be an arbi-
trary expression) of a function call is evaluated before the body of the function.
If lazy evaluation is used, the argument is not evaluated until the value is actu-
ally needed during the evaluation of the function body. If an argument’s value
is never needed, then the argument is expression is never evaluated.
Why should we care? Well, this facility allows programmers to construct and
use data structures that are conceptually unbounded or infinite in size. As
long as a program never actually needs to inspect the entire structure, then a
terminating computation is still possible.
For example, we might define the list of natural numbers as a list beginning
with 0, followed by the list formed by adding one to each element of the list of
natural numbers.
Lazy evaluation thus allows programmers to separate the data from the control.
They can define a data structure without having to worry about how it is
processed and they can define functions that manipulate the data structure
without having to worry about its size or how it is created. This ability to
separate the data from the control of processing enables programs to be highly
modular
#haskell
https://john.cs.olemiss.edu/~hcc/csci450/notes/haskell_notes.pdf
Anti-Instances in Haskell
https://www.heneli.dev/blog/anti-instances
Discussions: https://discu.eu/q/https://www.heneli.dev/blog/anti-instances
Difference between type variables, unification variables and skolems
https://cohost.org/prophet/post/2220730-if-there-is-one-piec
Discussions: https://discu.eu/q/https://cohost.org/prophet/post/2220730-if-there-is-one-piec
I wrote the fourth part of my #blog series “Implementing Co, a small programming language with coroutines”. And this time, we add support for channels in Co for inter-coroutine communication. https://abhinavsarkar.net/posts/implementing-co-4/
#Programming #PLT #ProgramingLanguages #Compilers #Haskell #concurrency
falsify: Hypothesis-inspired shrinking for Haskell. ~ Edsko de Vries. https://well-typed.com/blog/2023/04/falsify/ #Haskell #FunctionalProgramming
A category with a terminal object, products and exponentials
is called a Cartesian Closed Category (CCC). N
For example, Set is a CCC. Another class of examples are Boolean algebras,
seen as categories:
• Products are given by conjunctions A ∧ B. We define exponentials as im-
plications:
A ⇒ B := ¬A ∨ B .
• Evaluation is just Modus Ponens,
(A ⇒ B) ∧ A ≤ B
while couniversality is the Deduction Theorem,
C ∧ A ≤ B ⇐⇒ C ≤ A ⇒ B
#haskell
Abstract:
later
Author :
Me
Assumption :
1. there are no onions , such that number of layers of an onion are 0 .
Law : You have no way to record all you knife ops .
2. Given theory T , for \[x \in T \], x need not be either true or false
if onions here are a functor they are also free monad
\[Op\]- now you peel of a layer from one
\[Op^{-1}\]you can wrap it back too
when you do that , you have a monoid.
How do you write a computable abstract syntax tree (AS A monad computation) for these ops
REFERENCES - LATER
To be contd
#HASKELL
So one way to define #continuousintegration is to write recursive function that defines its inputs in terms of the outputs, which the function gives using initial inputs and so on.
So domain corresponds to rand and vice versa and this describes continuity of the function?
Can we define the continuity in #math like this
Why types should I use if i write it in #haskell
Aha others are thinking about it too
Albeit, i don't think I can treat arrows like applicatives in my approach
Quote
fetching gives you a source promise and you want an image promise
writing pipelines using arrow notation is difficult because we have to program in a point-free style (without variables).
ci- is cool
https://codeberg.org/Codeberg-CI/request-access
https://roscidus.com/blog/blog/2019/11/14/cicd-pipelines/
via @talex5
#anarchism #ancientgreek #anthropology #baduk #bicycling #boardgames #calligraphy #chess #classicalantiquity #classics #climatechange #commonlisp #communism #compilers #cooperatives #culture #deutsch #digitalhumanities #dsa #emacs #español #esperanto #fiction #fancyrats #freeculture #freesoftware #fsf #gamedev #godot #gnu #guile #guix #hcoop #haskell #history #hypertext #internationalsolidarity #javascript #koinegreek #latin #lgbt #linguistics #lisp #lispgames #lispm #logic #math #northcarolina #octodon #philosophy #plt #posca #programming #poetry #queer #rats #scheme #sciencefiction #smalltalk #sml #snowdriftcoop #socialism #tea #trans #typography #unions #vegetarian #weiqi #wikis #www #xanadu #xmpp #yerbamate #yow #zen
Overloading the lambda abstraction in Haskell
https://acatalepsie.fr/posts/overloading-lambda
Discussions: https://discu.eu/q/https://acatalepsie.fr/posts/overloading-lambda
Haskell, Ada, C++, Awk: An Experiment in Prototyping Productivity (1994) [pdf]
https://www.cs.yale.edu/publications/techreports/tr1049.pdf
Discussions: https://discu.eu/q/https://www.cs.yale.edu/publications/techreports/tr1049.pdf
Hallo Fediversum!
Obwohl ich bereits einen Account auf @[email protected] hatte, bin ich #neuhier. 👋
#Vorstellung: Als #WiMa an einer 🎓Fachhochschule 👨🏫betreue ich Übungen & 👩🔧Praktika, 👨💻entwickle #Software und 👨🔬betreibe angewandte "#Forschung". In meiner Freizeit trage ich zu 🗺️#OpenStreetMap bei und lerne & spreche 💚#Esperanto. Ich interessiere mich für #funktionale_Programmierung & #funktionale_Programmiersprache|n wie #Haskell und für das Beibringen des #Programmieren|s.
Saluton Fediverso!
Kvankam mi antaŭe havis konton ĉe @[email protected], mi estas 👋#nova_ĉi_tie.
#Sinprezento: Mi laboras kiel 👨🏫 #instruisthelpanto & 👨💻 #programisto/👨🔬"#esploristo" ĉe 🎓fakaltlernejo. Libertempe mi kontribuas al 🗺️ #OpenStreetMap kaj (evidente) mi estas 💚#Esperantisto. Mi interesiĝas interalie pri #funkciaj_programlingvoj kiel #Haskell kaj pri #instruado de #programado.
Reactivating — Hello! I’m into:
• Functional programming, especially #haskell, #ocaml, #elmlang, #purescript
• Proof systems & software correctness tools #coq, #idris, #agda, #rustlang
• Scientific data acquisition & analysis, #gpu frameworks
• Reproducible builds, #nixos, #nixpkgs
• Non-traditional families (#queer, interracial)
• #ADHD strategies & other #neurodivergent perspectives
• Black natural hair care, for Ms. 7yo
• #Classical & electronic music, dabbling at piano as a busy adult