Floréal Technologies

Cursed Knowledge

Cursed knowledge is what we learnt while building our software, and wish we never had to.

  1. Recursive let-bindings can bite you at any time

    [GHC Proposals]

    Haskell in unable to let you explicitly annotate a let-binding as recursive, which can easily trigger an infinite loop. A proposal for a RecursiveLet extension has been dormant since 2025.

  2. librsvg does not honour the prefers-color-scheme media query

    [GNOME Gitlab]

    librsvg does not support media queries (including prefers-color-scheme), which means we have to use GTK-specific strategies to make an SVG render differently depending on the desktop's preferred colour scheme.