a new low-latency non-moving GC landed in GHC 8.1.0. #Haskell #garbage-collection
on 02026-05-26“#LambdaCube #3D is a domain specific language and library that makes it possible to program GPUs in a purely functional style.” Abandoned ten years ago. #Haskell #GPGPU #graphics
on 02026-01-12“Due to Haskell’s syntax sugar for monad computations, expressing probability distributions as monads allows you to implement something like a mini probabilistic programming language in less than 100 lines of code.” #probabilistic-programming #Haskell #toread
on 02026-01-06#dimensional-analysis in #Haskell
on 02024-11-22"falsify" implements test-case shrinking for #Haskell. “The test runner is able to go back and forth between shrinking the length and the list, and shrinking elements in the list. That is, we have integrated shrinking (like in hedgehog: we do not specify a separate generator and shrinker), which is internal: works across monadic bind. The Python #Hypothesis library showed the world how to achieve this. In this blog post...” #testing #PBT
#SDF #raytracer in #Haskell #3D #graphics #small-is-beautiful
on 02023-10-08#Conal talks about writing #shaders in #Haskell
on 02020-01-08an imperative #Quickort in #Haskell: 14 lines of code
on 02017-03-11HasSound is the #Haskell #CSound interface
on 02016-10-10"Morte" is a low-level language built on top of #Haskell for #deterministic computation, but with the purpose of its performance being “immune to abstractions” through its guarantee that “if two programs are equal [according to equational reasoning] then they generate identical executables.” It claims to be a bare-bones implementation of the calculus of constructions. It sounds like it will produce impractically large and slow programs and be unusable to program in, and it can guarantee termination (so it’s not Turing-complete), but it seems like an important theoretical result. Also there’s a prototype high-level language built on top of it called #Annah.
on 02016-04-23McIlroy #smallisbeautiful code for arithmetic on polynomials (or more precisely power series, i.e. there may be an unlimited number of coefficients) in ten lines of #Haskell.
on 02015-11-09a #constraint solver and #optimizer for systems of #nonlinear equations using #Haskell to implement #gradient-descent, using #automatic-differentiation, compiled to #JS using Haste and drawn with #d3, equations rendered with MathJax. Some of the visualizations don’t work for me. Most of the examples are #kinematics. By the author of #Antimony!
on 02015-10-25A simple #probabilistic-programming language #interpreter in #haskell.
on 02015-08-25#Introduction to simple, efficient interpreters in #Haskell using the #CEK machine (control, environment, continuation) model of the #lambda-calculus.
on 02015-08-15a clever way to get Erlang-style IO lists in #Haskell by using ShowS, which uses partial application to build up the eventual concatenation operation, thus avoiding expensive repeated appends to the end of a list. I guess in effect you represent a string as a function of an output parameter, so concat is λx.λy.λprint.(print x; print y)? ☺ With the usual approach to representing closures, this is not unreasonably inefficient: a normal IO list using conses might need two pointers per cons (or three if you’re not using BiBOP or pointer tagging) while a concatenation closure needs only three, and also gives you extensibility to arbitrary text-generation functions.
That guy who later decided he’s taking his ball and going home because nobody appreciates his work on the Hypothesis property-driven testing library for Python (inspired by #Haskell’s QuickCheck) explains how he hates Haskell because Haskellers get a false sense of being clever for getting anything done at all, in the same way that #CAH players get a false sense of being funny.
on 02015-08-10What #profiler to use for #Haskell.
on 02015-08-05