Ask HN: How has functional programming influenced your thinking?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • talk-transcripts

    Transcripts of Clojure-related talks

  • Functional Core, Imperative Shell[1] is one of the most useful patterns. I will probably use it in every future project. Two major production projects that use FCIS are:

    - ReactJS: https://svitla.com/blog/functional-programming-in-typescript

    - CodeMirror/ProseMirror: https://codemirror.net/docs/guide/

    Another functional concept I find very useful is immutability. Immutability "clicked" for me after watching this talk[2]. I wish immutability was a first-class concept in JS/TS. (It will be, eventually.[3]) For now, I use immer.js for immutability in JS.

    In retrospect, my programming naturally tended to be "functional-esque. Now I do it very deliberately, even though the language isn't purely functional (JS/TS).

    [1]: https://hw.leftium.com/#/item/18043058

    [2]: https://github.com/matthiasn/talk-transcripts/blob/master/Hi...

    [3]: https://fjolt.com/article/javascript-records-and-tuples

  • matryoshka

    Generalized recursion schemes and traversals for Scala.

  • I did work in Scala for a few years. We employed Cats[1], and even a bit of Matryoshka[2] though most of the work I do today is in Python.

    Nowadays I think about computational requirements in terms of relations among behavioral dependencies. Like, "I want to perform operation O on input A and return a B. To do this, I'll need a way to a -> b and a way to b -> b -> b." I often pass these behavioral dependencies in as arguments and it tends to make the inner core of my programs pretty abstract and built up as layers of specificity.

    Zooming out nearly all the way, it makes me feel tethered in a qualitatively unique way to certain deep truths of the universe. In a Platonic sense, invoking certain ideas like a monad make me feel like I'm approaching the divine or at least one instantiation of a timeless universal that operates outside of material existence.

    I'd imagine some mathematicians might see the universe in a similar way - one where immortal relations between ontological forms exist beyond time and space and at the same time can be threaded through the material world by intellectual observation and when those two meet a beautiful collision occurs.

    1. https://typelevel.org/cats/

    2. https://github.com/precog/matryoshka

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • cats

    Lightweight, modular, and extensible library for functional programming.

  • I did work in Scala for a few years. We employed Cats[1], and even a bit of Matryoshka[2] though most of the work I do today is in Python.

    Nowadays I think about computational requirements in terms of relations among behavioral dependencies. Like, "I want to perform operation O on input A and return a B. To do this, I'll need a way to a -> b and a way to b -> b -> b." I often pass these behavioral dependencies in as arguments and it tends to make the inner core of my programs pretty abstract and built up as layers of specificity.

    Zooming out nearly all the way, it makes me feel tethered in a qualitatively unique way to certain deep truths of the universe. In a Platonic sense, invoking certain ideas like a monad make me feel like I'm approaching the divine or at least one instantiation of a timeless universal that operates outside of material existence.

    I'd imagine some mathematicians might see the universe in a similar way - one where immortal relations between ontological forms exist beyond time and space and at the same time can be threaded through the material world by intellectual observation and when those two meet a beautiful collision occurs.

    1. https://typelevel.org/cats/

    2. https://github.com/precog/matryoshka

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Data Structure in Scala for a Recursive data type

    1 project | /r/scala | 27 Mar 2021
  • Heroku Postgres is now based on AWS Aurora

    3 projects | news.ycombinator.com | 31 May 2024
  • Algebraic Data Types for C99

    7 projects | news.ycombinator.com | 9 May 2024
  • Build authenticated and paywall pages with Stripe and Xata

    3 projects | dev.to | 8 May 2024
  • Extension is a pnp, zero-config, cross-browser extension development tool

    1 project | news.ycombinator.com | 30 Apr 2024