Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of The functional approach to programming

    The functional approach to programming

    Guy Cousineau · 1998

    Lisp & FunctionalProgramming
    Open LibraryAmazon
    Stats for nerds
    4recommend
    7mentions
    6people
    2009–2024years
    71% recommend29% neutral

    Mentions per year

    200920112013201520172019202120232024

    What Hacker News says

    1. jysandyJul 2022
      nilenso | Senior Engineer | India, Canada | REMOTE | https://nilenso.com

      We are a 9 year old boutique technology consulting firm. We care about the impact that we make in the world. As an employee-owned cooperative, we all are stakeholders in how nilenso is run and can prioritise employee happiness: we don’t need to justify how happy employees impact the bottom line. We’re currently a fully remote team of friendly people across India with one member in Canada, and are hiring folks based in either of these geographies.

      We have designed, built, and delivered complex, distributed, scalable backend systems for the web that have stood the test of time. We have written production code in Clojure/ClojureScript, Haskell, Elixir, Ruby/Rails, Python, Go, and Javascript, and are partial to a functional approach to programming. You can read about some of our work[1][2] and check out the talks[3] we’ve given to know more.

      We’re looking for senior engineers to work with us. View our full job description at https://nilenso.com/jobs/senior-developer/, or email us at careers@nilenso.com to apply!

      [1] https://github.com/nilenso/media/blob/master/presentations/g...

      [2] https://nilenso.com/work/

      [3] https://nilenso.com/talks/

      thread
    2. undecidabotMay 2020
      Ullman's book is really accessible and what introduced me to SML as well, but for those looking for something that goes a little deeper, do read "ML for the Working Programmer" by Lawrence Paulson (author of Isabelle). It has one of the best introductions to ML's module system and even covers building a (toy) tactical theorem prover. Oh, and it's now available online for free as well [1].

      Another great book on FP is "The Functional Approach to Programming" [2], which is a bit like SICP but using Caml (OCaml without the O) instead of Scheme.

      [1] https://www.cl.cam.ac.uk/~lp15/MLbook/pub-details.html

      [2] http://pauillac.inria.fr/cousineau-mauny/main.html

      thread
    3. undecidabotJan 2019
      Another great but lesser known CS book is "The Functional Approach to Programming". It uses Caml (a predecessor of OCaml). Like SICP, it covers a wide range of CS topics, although it's probably not as accessible as HtDP.
      thread
    4. ericssmithDec 2015
      Real World OCaml https://realworldocaml.org

      The Functional Approach to Programming (Cousineau)

      thread
    5. gnosisDec 2009
      "The Functional Approach to Programming" by Cosineau and Mauny
      thread
    6. necovekSep 2024
      First up, congrats on getting over the hump — I struggle to complete a blog post, so I very much appreciate the effort it takes to do this!

      A confusing sentence I noticed in the first chapter:

      > ...then the only thing cost was some time, if they do it wrong, the cost is usually a bug.

      I am guessing you mean "only cost was some time" (without the "thing")?

      As for the topic, my hypothesis is slightly different — adopting functional approach to programming — even in imperative languages — leads you to the best patterns (or as you put it, "makes it inevitable") when combined with "evolutionary" architecture, and DoP is certainly one of them.

      However, for a majority of software, in my experience, data "attributes" are really "leaf nodes", only to be consumed for display, and types do not really matter much there (eg. I don't mind `firstName` being a simple string). What we want to get right is types we do operations on, and most critically, relations between different data models. Accepting "evolutionary" principles in architecture also means that you welcome change and build for it, so getting any definition of data right from start is not an imperative.

      But the topic certainly seems intriguing, so I look forward to learning more from your book and seeing how you apply it in a more imperative/OO way and what language features you found critical to success there.

      Congrats again and good luck!

      thread

    Related

    Cover of An introduction to functional programming through Lambda calculus
    2009–2023

    An introduction to functional programming through Lambda calculus

    Greg Michaelson
    14 recommend · 19
    Cover of The Haskell School of Expression
    2008–2022

    The Haskell School of Expression

    Paul Hudak
    13 recommend · 34
    Cover of How to Design Programs
    2007–2026

    How to Design Programs

    Matthias Felleisen
    277 recommend · 776
    Cover of Programming in Haskell
    2008–2024

    Programming in Haskell

    Graham Hutton
    34 recommend · 58
    Cover of ML for the working programmer
    2009–2025

    ML for the working programmer

    Lawrence C. Paulson
    16 recommend · 38
    Cover of Practical Common Lisp
    2007–2026

    Practical Common Lisp

    Peter Seibel
    218 recommend · 400
    Cover of Structure and Interpretation of Computer Programs
    2007–2026

    Structure and Interpretation of Computer Programs

    Harold Abelson
    347 recommend · 761
    Cover of On LISP
    2007–2026

    On LISP

    Paul Graham
    192 recommend · 533