haskellforall.com 29. 8. 2024Firewall rules: not as secure as you think – haskellforall.com 23. 7. 2024Software engineers are not (and should not be) technicians – haskellforall.com 3. 7. 2024Quality and productivity are not necessarily mutually exclusive – haskellforall.com 25. 6. 2024My spiciest take on tech hiring – haskellforall.com 20. 5. 2024Prefer do notation over Applicative operators when assembling records – haskellforall.com 8. 5. 2024All error messages are necessarily bad to some degree – haskellforall.com 29. 2. 2024The siren song of domain-specific languages – haskellforall.com 22. 2. 2024Unification-free ("keyword") type checking – haskellforall.com 4. 10. 2023A GHC plugin for OpenTelemetry build metrics – haskellforall.com 2. 10. 2023My views on NeoHaskell – haskellforall.com 8. 9. 2023GHC plugin for HLint – haskellforall.com 3. 4. 2023Ergonomic newtypes for Haskell strings and numbers – haskellforall.com 6. 3. 2023The "open source native" principle for software design – haskellforall.com 30. 1. 2023terraform-nixos-ng: Modern terraform support for NixOS – haskellforall.com 23. 1. 2023Announcing nixos-rebuild: a "new" deployment tool for NixOS – haskellforall.com 30. 12. 2022Nixpkgs support for Linux builders running on macOS – haskellforall.com 19. 12. 2022Nixpkgs support for incremental Haskell builds – haskellforall.com 24. 10. 2022How to correctly cache build-time dependencies using Nix – haskellforall.com 20. 10. 2022What does "isomorphic" mean (in Haskell)? – haskellforall.com 7. 9. 2022nix-serve-ng: A faster, more reliable, drop-in replacement for nix-serve – haskellforall.com 29. 8. 2022Stop calling everything "Nix" – haskellforall.com 28. 8. 2022Incrementally package a Haskell program using Nix – haskellforall.com 26. 6. 2022defaultable-map: An Applicative wrapper for Maps – haskellforall.com 3. 6. 2022The appeal of bidirectional type-checking – haskellforall.com 31. 5. 2022Generate web forms from pure functions – haskellforall.com 9. 5. 2022The golden rule of software distributions – haskellforall.com 4. 5. 2022Why does Haskell's take function accept insufficient elements? – haskellforall.com 1. 5. 2022Introductory resources to type theory for language implementers – haskellforall.com 29. 3. 2022Modeling PlusCal in Haskell using Cartesian products of NFAs – haskellforall.com 12. 3. 2022The hard part of type-checking Nix – haskellforall.com 2. 3. 2022Applicatives should usually implement Semigroup and Monoid – haskellforall.com 28. 2. 2022What is a monad morphism (in Haskell)? – haskellforall.com 26. 1. 2022Nixpkgs overlays are monoids – haskellforall.com 13. 12. 2021Funding isn't the problem with open source – haskellforall.com 21. 10. 2021Co-Applicative programming style – haskellforall.com 14. 10. 2021Advice for aspiring bloggers – haskellforall.com 6. 10. 2021The "return a command" trick – haskellforall.com 29. 9. 2021Fall-from-Grace: A ready-to-fork functional programming language – haskellforall.com 9. 9. 2021Optics are monoids – haskellforall.com 1. 9. 2021Forward and reverse proxies explained – haskellforall.com 27. 8. 2021Naming function arguments in Dhall – haskellforall.com 13. 8. 2021Namespaced De Bruijn indices – haskellforall.com 4. 6. 2021Probability for Slay the Spire fanatics – haskellforall.com 19. 5. 2021Module organization guidelines for Haskell projects – haskellforall.com 5. 5. 2021The trick to avoid deeply-nested error-handling code – haskellforall.com 21. 4. 2021The end of history for programming – haskellforall.com 8. 4. 2021How to replace Proxy with AllowAmbiguousTypes – haskellforall.com 6. 2. 2021Folds are constructor substitution – haskellforall.com 31. 1. 2021Dynamic type errors lack relevance – haskellforall.com 4. 1. 2021The visitor pattern is essentially the same thing as Church encoding – haskellforall.com 4. 12. 2020Recruiting for diversity is not lowering the bar – haskellforall.com 20. 11. 2020How to use NixOS for lightweight integration tests – haskellforall.com 10. 11. 2020Pretty-print syntax trees with this one simple trick – haskellforall.com 30. 10. 2020Why I prefer functional programming – haskellforall.com 27. 7. 2020The golden rule of software quality – haskellforall.com 14. 7. 2020Record constructors – haskellforall.com 21. 4. 2020Blazing fast Fibonacci numbers using Monoids – haskellforall.com 10. 2. 2020Dhall Survey Results (2019-2020) – haskellforall.com 17. 1. 2020Why Dhall advertises the absence of Turing-completeness – haskellforall.com 5. 1. 2020Dhall - Year in review (2019-2020) – haskellforall.com 12. 12. 2019Prefer to use fail for IO exceptions – haskellforall.com 16. 6. 2019The CAP theorem for software engineering – haskellforall.com 14. 5. 2019Release early and often – haskellforall.com 22. 2. 2019Dhall Survey Results (2018-2019) – haskellforall.com 12. 2. 2019Haskell command-line utility using GHC generics – haskellforall.com 16. 1. 2019Dhall - Year in review (2018-2019) – haskellforall.com 8. 10. 2018Detailed walkthrough for a beginner Haskell program – haskellforall.com
29. 8. 2024Firewall rules: not as secure as you think – haskellforall.com 23. 7. 2024Software engineers are not (and should not be) technicians – haskellforall.com 3. 7. 2024Quality and productivity are not necessarily mutually exclusive – haskellforall.com 25. 6. 2024My spiciest take on tech hiring – haskellforall.com 20. 5. 2024Prefer do notation over Applicative operators when assembling records – haskellforall.com 8. 5. 2024All error messages are necessarily bad to some degree – haskellforall.com 29. 2. 2024The siren song of domain-specific languages – haskellforall.com 22. 2. 2024Unification-free ("keyword") type checking – haskellforall.com 4. 10. 2023A GHC plugin for OpenTelemetry build metrics – haskellforall.com 2. 10. 2023My views on NeoHaskell – haskellforall.com 8. 9. 2023GHC plugin for HLint – haskellforall.com 3. 4. 2023Ergonomic newtypes for Haskell strings and numbers – haskellforall.com 6. 3. 2023The "open source native" principle for software design – haskellforall.com 30. 1. 2023terraform-nixos-ng: Modern terraform support for NixOS – haskellforall.com 23. 1. 2023Announcing nixos-rebuild: a "new" deployment tool for NixOS – haskellforall.com 30. 12. 2022Nixpkgs support for Linux builders running on macOS – haskellforall.com 19. 12. 2022Nixpkgs support for incremental Haskell builds – haskellforall.com 24. 10. 2022How to correctly cache build-time dependencies using Nix – haskellforall.com 20. 10. 2022What does "isomorphic" mean (in Haskell)? – haskellforall.com 7. 9. 2022nix-serve-ng: A faster, more reliable, drop-in replacement for nix-serve – haskellforall.com 29. 8. 2022Stop calling everything "Nix" – haskellforall.com 28. 8. 2022Incrementally package a Haskell program using Nix – haskellforall.com 26. 6. 2022defaultable-map: An Applicative wrapper for Maps – haskellforall.com 3. 6. 2022The appeal of bidirectional type-checking – haskellforall.com 31. 5. 2022Generate web forms from pure functions – haskellforall.com 9. 5. 2022The golden rule of software distributions – haskellforall.com 4. 5. 2022Why does Haskell's take function accept insufficient elements? – haskellforall.com 1. 5. 2022Introductory resources to type theory for language implementers – haskellforall.com 29. 3. 2022Modeling PlusCal in Haskell using Cartesian products of NFAs – haskellforall.com 12. 3. 2022The hard part of type-checking Nix – haskellforall.com 2. 3. 2022Applicatives should usually implement Semigroup and Monoid – haskellforall.com 28. 2. 2022What is a monad morphism (in Haskell)? – haskellforall.com 26. 1. 2022Nixpkgs overlays are monoids – haskellforall.com 13. 12. 2021Funding isn't the problem with open source – haskellforall.com 21. 10. 2021Co-Applicative programming style – haskellforall.com 14. 10. 2021Advice for aspiring bloggers – haskellforall.com 6. 10. 2021The "return a command" trick – haskellforall.com 29. 9. 2021Fall-from-Grace: A ready-to-fork functional programming language – haskellforall.com 9. 9. 2021Optics are monoids – haskellforall.com 1. 9. 2021Forward and reverse proxies explained – haskellforall.com 27. 8. 2021Naming function arguments in Dhall – haskellforall.com 13. 8. 2021Namespaced De Bruijn indices – haskellforall.com 4. 6. 2021Probability for Slay the Spire fanatics – haskellforall.com 19. 5. 2021Module organization guidelines for Haskell projects – haskellforall.com 5. 5. 2021The trick to avoid deeply-nested error-handling code – haskellforall.com 21. 4. 2021The end of history for programming – haskellforall.com 8. 4. 2021How to replace Proxy with AllowAmbiguousTypes – haskellforall.com 6. 2. 2021Folds are constructor substitution – haskellforall.com 31. 1. 2021Dynamic type errors lack relevance – haskellforall.com 4. 1. 2021The visitor pattern is essentially the same thing as Church encoding – haskellforall.com 4. 12. 2020Recruiting for diversity is not lowering the bar – haskellforall.com 20. 11. 2020How to use NixOS for lightweight integration tests – haskellforall.com 10. 11. 2020Pretty-print syntax trees with this one simple trick – haskellforall.com 30. 10. 2020Why I prefer functional programming – haskellforall.com 27. 7. 2020The golden rule of software quality – haskellforall.com 14. 7. 2020Record constructors – haskellforall.com 21. 4. 2020Blazing fast Fibonacci numbers using Monoids – haskellforall.com 10. 2. 2020Dhall Survey Results (2019-2020) – haskellforall.com 17. 1. 2020Why Dhall advertises the absence of Turing-completeness – haskellforall.com 5. 1. 2020Dhall - Year in review (2019-2020) – haskellforall.com 12. 12. 2019Prefer to use fail for IO exceptions – haskellforall.com 16. 6. 2019The CAP theorem for software engineering – haskellforall.com 14. 5. 2019Release early and often – haskellforall.com 22. 2. 2019Dhall Survey Results (2018-2019) – haskellforall.com 12. 2. 2019Haskell command-line utility using GHC generics – haskellforall.com 16. 1. 2019Dhall - Year in review (2018-2019) – haskellforall.com 8. 10. 2018Detailed walkthrough for a beginner Haskell program – haskellforall.com