home.social

#functionalprogramming — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #functionalprogramming, aggregated by home.social.

  1. Did you know you can pass < or > directly into sorted(by:) as closures? This technique leverages Swift's functional programming capabilities for more expressive and concise collection sorting.

    🔗: nilcoalescing.com/blog/Sorting by Natalia Panferova (@natpanferova)

    #Swift #iOSDev #FunctionalProgramming

  2. Did you know you can pass < or > directly into sorted(by:) as closures? This technique leverages Swift's functional programming capabilities for more expressive and concise collection sorting.

    🔗: nilcoalescing.com/blog/Sorting by Natalia Panferova (@natpanferova)

    #Swift #iOSDev #FunctionalProgramming

  3. Did you know you can pass < or > directly into sorted(by:) as closures? This technique leverages Swift's functional programming capabilities for more expressive and concise collection sorting.

    🔗: nilcoalescing.com/blog/Sorting by Natalia Panferova (@natpanferova)

    #Swift #iOSDev #FunctionalProgramming

  4. Did you know you can pass < or > directly into sorted(by:) as closures? This technique leverages Swift's functional programming capabilities for more expressive and concise collection sorting.

    🔗: nilcoalescing.com/blog/Sorting by Natalia Panferova (@natpanferova)

    #Swift #iOSDev #FunctionalProgramming

  5. Did you know you can pass < or > directly into sorted(by:) as closures? This technique leverages Swift's functional programming capabilities for more expressive and concise collection sorting.

    🔗: nilcoalescing.com/blog/Sorting by Natalia Panferova (@natpanferova)

    #Swift #iOSDev #FunctionalProgramming

  6. ```
    // ranged.gleam

    pub opaque type Ranged { Ranged(value: Int, min: Int, max: Int }

    pub fn new(value, min, max) -> {
    Ranged(
    value: int.clamp(value, min:, max:),
    min:,
    max:,
    )
    }

    pub fn set(current: Ranged, to new: Int) -> Ranged {
    Ranged(
    value: int.clamp(
    new,
    current.min,
    current.max,
    ),
    min: current.min,
    max: current.max,
    )
    }
    ```

    1 of 2

    #gleam #gamedev #functionalprogramming

    edit: noo, my indentation :(

  7. ```
    // ranged.gleam

    pub opaque type Ranged { Ranged(value: Int, min: Int, max: Int }

    pub fn new(value, min, max) -> {
    Ranged(
    value: int.clamp(value, min:, max:),
    min:,
    max:,
    )
    }

    pub fn set(current: Ranged, to new: Int) -> Ranged {
    Ranged(
    value: int.clamp(
    new,
    current.min,
    current.max,
    ),
    min: current.min,
    max: current.max,
    )
    }
    ```

    1 of 2

    #gleam #gamedev #functionalprogramming

    edit: noo, my indentation :(

  8. ```
    // ranged.gleam

    pub opaque type Ranged { Ranged(value: Int, min: Int, max: Int }

    pub fn new(value, min, max) -> {
    Ranged(
    value: int.clamp(value, min:, max:),
    min:,
    max:,
    )
    }

    pub fn set(current: Ranged, to new: Int) -> Ranged {
    Ranged(
    value: int.clamp(
    new,
    current.min,
    current.max,
    ),
    min: current.min,
    max: current.max,
    )
    }
    ```

    1 of 2

    #gleam #gamedev #functionalprogramming

    edit: noo, my indentation :(

  9. New blog post: Rules, Types, and Glue: A Multi-Paradigm Architecture for Game Simulation 🎮🧱

    A deep dive into combining classical AI and strict type systems for high-performance simulation engines. I evaluate:
    🧠 Prolog for symbolic reasoning (Rules)
    🧱 Coalton for static type-safety (Types)
    🔄 Common Lisp as the high-speed runtime (Glue)

    Includes SBCL vs. ECL performance benchmarks.

    Read it here: dwightaspencer.com/posts/03-ru

    #CommonLisp #Prolog #StandardML #FunctionalProgramming #GameDev #Simulation

  10. New blog post: Rules, Types, and Glue: A Multi-Paradigm Architecture for Game Simulation 🎮🧱

    A deep dive into combining classical AI and strict type systems for high-performance simulation engines. I evaluate:
    🧠 Prolog for symbolic reasoning (Rules)
    🧱 Coalton for static type-safety (Types)
    🔄 Common Lisp as the high-speed runtime (Glue)

    Includes SBCL vs. ECL performance benchmarks.

    Read it here: dwightaspencer.com/posts/03-ru

    #CommonLisp #Prolog #StandardML #FunctionalProgramming #GameDev #Simulation

  11. There's an "Ultimate Functional Programming Bundle" on Humble Bundle right now. And…

    … if only I had more time (and a need (and fewer constraints on colleagues _also_ needing to know it))…

    The "Seven Obscure Languages in Seven Weeks" book particularly caught my eye 😁

    humblebundle.com/books/ultimat

    #FunctionalProgramming #HumbleBundle #PayWhatYouWant #Charity

  12. There's an "Ultimate Functional Programming Bundle" on Humble Bundle right now. And…

    … if only I had more time (and a need (and fewer constraints on colleagues _also_ needing to know it))…

    The "Seven Obscure Languages in Seven Weeks" book particularly caught my eye 😁

    humblebundle.com/books/ultimat

    #FunctionalProgramming #HumbleBundle #PayWhatYouWant #Charity

  13. There's an "Ultimate Functional Programming Bundle" on Humble Bundle right now. And…

    … if only I had more time (and a need (and fewer constraints on colleagues _also_ needing to know it))…

    The "Seven Obscure Languages in Seven Weeks" book particularly caught my eye 😁

    humblebundle.com/books/ultimat

  14. There's an "Ultimate Functional Programming Bundle" on Humble Bundle right now. And…

    … if only I had more time (and a need (and fewer constraints on colleagues _also_ needing to know it))…

    The "Seven Obscure Languages in Seven Weeks" book particularly caught my eye 😁

    humblebundle.com/books/ultimat

    #FunctionalProgramming #HumbleBundle #PayWhatYouWant #Charity

  15. There's an "Ultimate Functional Programming Bundle" on Humble Bundle right now. And…

    … if only I had more time (and a need (and fewer constraints on colleagues _also_ needing to know it))…

    The "Seven Obscure Languages in Seven Weeks" book particularly caught my eye 😁

    humblebundle.com/books/ultimat

    #FunctionalProgramming #HumbleBundle #PayWhatYouWant #Charity

  16. 🚀 Wow, Bartosz, you've managed to make #Haskell even less comprehensible by introducing "Profunctor Equipment"—because we all needed another reason to avoid functional programming! 🙃 Trust the compiler more than AI? Sure, because when my code breaks, it's way more fun to blame an inanimate syntax stickler than a sentient one. 🤖🔧
    bartoszmilewski.com/2026/05/16 #Profunctor #FunctionalProgramming #CodeHumor #TrustTheCompiler #HackerNews #ngated

  17. 🚀 Wow, Bartosz, you've managed to make #Haskell even less comprehensible by introducing "Profunctor Equipment"—because we all needed another reason to avoid functional programming! 🙃 Trust the compiler more than AI? Sure, because when my code breaks, it's way more fun to blame an inanimate syntax stickler than a sentient one. 🤖🔧
    bartoszmilewski.com/2026/05/16 #Profunctor #FunctionalProgramming #CodeHumor #TrustTheCompiler #HackerNews #ngated

  18. 🚀 Wow, Bartosz, you've managed to make #Haskell even less comprehensible by introducing "Profunctor Equipment"—because we all needed another reason to avoid functional programming! 🙃 Trust the compiler more than AI? Sure, because when my code breaks, it's way more fun to blame an inanimate syntax stickler than a sentient one. 🤖🔧
    bartoszmilewski.com/2026/05/16 #Profunctor #FunctionalProgramming #CodeHumor #TrustTheCompiler #HackerNews #ngated

  19. 🚀 Wow, Bartosz, you've managed to make #Haskell even less comprehensible by introducing "Profunctor Equipment"—because we all needed another reason to avoid functional programming! 🙃 Trust the compiler more than AI? Sure, because when my code breaks, it's way more fun to blame an inanimate syntax stickler than a sentient one. 🤖🔧
    bartoszmilewski.com/2026/05/16 #Profunctor #FunctionalProgramming #CodeHumor #TrustTheCompiler #HackerNews #ngated

  20. 🚀 Wow, Bartosz, you've managed to make #Haskell even less comprehensible by introducing "Profunctor Equipment"—because we all needed another reason to avoid functional programming! 🙃 Trust the compiler more than AI? Sure, because when my code breaks, it's way more fun to blame an inanimate syntax stickler than a sentient one. 🤖🔧
    bartoszmilewski.com/2026/05/16 #Profunctor #FunctionalProgramming #CodeHumor #TrustTheCompiler #HackerNews #ngated

  21. 🚀 Higher-Kinded-J v0.4.4 is out — functional programming for Java 25.

    🧪 NEW hkj-test module: fluent AssertJ assertions for every HKJ type — Either, Maybe, Try, IO, VTask, every transformer — behind a single import.
    🔗 PCollections integration: HKT compatibility + 7 new optics generators (30 across 7 families).
    ➕ Alternative.orElseAll(Iterable) & MonadZero.filter.
    🔭 Optic-polymorphic ForState.zoom & ReaderPath.magnify.

    No breaking changes.

    📦 github.com/higher-kinded-j/hig
    📚 higher-kinded-j.github.io

  22. 🚀 Higher-Kinded-J v0.4.4 is out — functional programming for Java 25.

    🧪 NEW hkj-test module: fluent AssertJ assertions for every HKJ type — Either, Maybe, Try, IO, VTask, every transformer — behind a single import.
    🔗 PCollections integration: HKT compatibility + 7 new optics generators (30 across 7 families).
    ➕ Alternative.orElseAll(Iterable) & MonadZero.filter.
    🔭 Optic-polymorphic ForState.zoom & ReaderPath.magnify.

    No breaking changes.

    📦 github.com/higher-kinded-j/hig
    📚 higher-kinded-j.github.io

    #Java #FunctionalProgramming #FP #JVM

  23. 🚀 Higher-Kinded-J v0.4.4 is out — functional programming for Java 25.

    🧪 NEW hkj-test module: fluent AssertJ assertions for every HKJ type — Either, Maybe, Try, IO, VTask, every transformer — behind a single import.
    🔗 PCollections integration: HKT compatibility + 7 new optics generators (30 across 7 families).
    ➕ Alternative.orElseAll(Iterable) & MonadZero.filter.
    🔭 Optic-polymorphic ForState.zoom & ReaderPath.magnify.

    No breaking changes.

    📦 github.com/higher-kinded-j/hig
    📚 higher-kinded-j.github.io

    #Java #FunctionalProgramming #FP #JVM

  24. 🚀 Higher-Kinded-J v0.4.4 is out — functional programming for Java 25.

    🧪 NEW hkj-test module: fluent AssertJ assertions for every HKJ type — Either, Maybe, Try, IO, VTask, every transformer — behind a single import.
    🔗 PCollections integration: HKT compatibility + 7 new optics generators (30 across 7 families).
    ➕ Alternative.orElseAll(Iterable) & MonadZero.filter.
    🔭 Optic-polymorphic ForState.zoom & ReaderPath.magnify.

    No breaking changes.

    📦 github.com/higher-kinded-j/hig
    📚 higher-kinded-j.github.io

    #Java #FunctionalProgramming #FP #JVM