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 Expert F# 3.0

    Expert F# 3.0

    Don Syme, Adam Granicz, Antonio Cisternino · 2012

    Learn from F#'s inventor to become an expert in the latest version of this powerful programming language so you can seamlessly integrate functional, imperative, object-oriented, and query programming style flexibly and elegantly to solve any programming problem. Expert F# 4.0 will help you achieve unrivaled levels of programmer productivity and program clarity across multiple platforms including Windows, Linux, Android, OSX, and iOS as well as HTML5 and GPUs. F# 4.0 is a mature, open source, cross-platform, functional-first programming language which empowers users and organizations to tackle complex computing problems with simple, maintainable, and robust code. Expert F# 4.0 is: A comprehensive guide to the latest version of F# by the inventor of the language A treasury of F# techniques for practical problem-solving An in-depth case book of F# applications and F# 4.0 concepts, syntax, and features Written by F#'s inventor and two major F# community members, Expert F# 4.0 is a comprehensive and in-depth guide to the language and its use. Designed to help others become experts, the book quickly yet carefully describes the paradigms supported by F# language, and then shows how to use F# elegantly for a practical web, data, parallel and analytical programming tasks. The world's experts in F# show you how to program in F# the way they do!

    Lisp & FunctionalProgramming
    Open LibraryAmazon
    Stats for nerds
    6recommend
    8mentions
    7people
    2013–2022years
    75% recommend25% neutral

    Mentions per year

    2013201420152016201720182019202020212022

    What Hacker News says

    1. bmitcAug 2022
      Yes, please do! Warning: F# will ruin other languages for you. I find it rather painful to work in basically anything else after using F#, with gradients of pain for different languages. Haha.

      And that's a good question. I have basically every book written on F#, but I can't say I have ever used them for anything more than reference.

      The official docs/guide/reference are actually really good, and I refer to them a lot when using some feature I'm not familiar with: https://docs.microsoft.com/en-us/dotnet/fsharp/what-is-fshar...

      F# For Fun and Profit is well-known, but I can't say I use it a lot: https://fsharpforfunandprofit.com/

      The same author's (Scott Wlaschin) book is very good: https://pragprog.com/titles/swdddf/domain-modeling-made-func...

      As for books, I have always liked:

      * Functional Programming Using F# by Hansen and Rischel (might be too simple if you are already comfortable with functional programming and is out of date every now and then with changes to F# that's happened)

      * Expert F# 4.0 by Don Syme and others (contains a lot of nice things by the designer of F#

      One of the latest books is Stylish F# 6: Crafting Elegant Functional Code for .NET 6 by Kit Eason. I have the first edition but haven't read it.

      My personal recommendation is to take the approach of type/domain driven design. That is, I start off every F# module the same:

      1. Define my types with discriminated unions, records, type aliases (such as for tuples) or single case discriminated unions. Use classes when necessary but try to prefer the more functional types.

      2. Start writing functions against these.

      And that's basically it. One thing to recognize with F# is that it mixes OOP rather nicely. Even discriminated unions and records, which are immutable, can have members defined on them, including operator overloading (something F# is pretty good about). They can even implement interfaces and be defined with generic types, which is also nice and powerful.

      I have some projects that might of interest, since they're simple enough and illustrate the above process.

      https://github.com/bmitc/the-ray-tracer-challenge-fsharp

      https://github.com/bmitc/nand2tetris

      Lastly, I'd suggest just starting up some projects. You could also take the Programming Languages course on Coursera by Dan Grossman. Part A uses SML, and you could port the examples and homework solutions to F# (I did so when I took the course). I also take books written for other languages and port the code to F#, usually taking a more idiomatic functional style. .NET Interactive notebooks (https://github.com/dotnet/interactive) are a great way to get started. You just need to install the .NET 6 SDK (which gets you F#) and then install the .NET Interactive Notebook extension in VS Code. That's it. There is also the book The Little MLer which gets people comfortable with discriminated unions (sum types), and I used the book and ported the examples to F#. I need to go back and finish that annotation project (https://github.com/bmitc/the-little-fsharper). I'll probably convert the script files to .NET Interactive notebooks if I do.

      thread
    2. oxryly1Jul 2017
      https://fsharpforfunandprofit.com is great. I'm enjoying Don Syme's book "Expert F# 4.0" as well.
      thread
    3. matteuanJul 2017
      I think there is nothing better than the book: Expert F# https://www.amazon.de/Expert-F-4-0-Don-Syme/dp/1484207416/re...
      thread
    4. fslothSep 2015
      For Erlang, there is the book by Joe Armstrong:

      https://pragprog.com/book/jaerlang2/programming-erlang

      The problem with learning functional languages is finding pragmatic learning materials.

      I would claim F# is currently the most approachable functional language (just my opinion but I have at least toyed with the other mainstream offerings).

      My background is also in C++. The F# materials listed helped me personally to develop as a programmer and have made approaching other languages like Erlang easier.

      Sestoft's programming language concepts: https://www.itu.dk/~sestoft/plc/

      Expert F# 3.0 contains lots of short snippets and examples: http://www.apress.com/9781430246503

      Flying frog consultancys materials are steep in price but I found them worth my dime (Visual F# 2010 for Technical Computing and the materials in The F# Journal) http://www.ffconsultancy.com/products/index.html

      thread
    5. jastApr 2015
      Have you looked at http://fsharpforfunandprofit.com/ ? This site contains lots of useful information and would be enough to get started. Another possibility is to read a few books, e.g., Expert F# 3.0, F# Deep Dives.
      thread
    6. raphaeljFeb 2013
      The book by Don Syme (one of the F# creators) is pretty good as it gives an short, yet complete, introduction to the language to people with a functional and .NET background.

      http://www.amazon.com/Expert-F-3-0-Apress/dp/1430246502/

      I've started functional programming by reading the book about F# by Tomas Petricek. It was really good because it target learning functional programming to someone who have a solid OO background.

      http://www.amazon.com/Real-World-Functional-Programming-Toma...

      thread

    Related

    Functional Programming Using F#Michael R. Hansen
    2019–2022

    Functional Programming Using F#

    Michael R. Hansen
    2 recommend · 2
    Cover of Real-world functional programming
    2009–2023

    Real-world functional programming

    Tomas Petricek
    12 recommend · 19
    Cover of Web Development with Clojure
    2014–2023

    Web Development with Clojure

    Dmitri Sotnikov
    4 recommend · 13
    Cover of Functional Web Development with Elixir, OTP, and Phoenix
    2017–2025

    Functional Web Development with Elixir, OTP, and Phoenix

    Lance Halvorsen
    4 recommend · 8
    Cover of Programming Erlang
    2007–2026

    Programming Erlang

    Joe Armstrong
    69 recommend · 105
    Cover of Structure and Interpretation of Computer Programs
    2007–2026

    Structure and Interpretation of Computer Programs

    Harold Abelson
    347 recommend · 761
    Cover of Practical Common Lisp
    2007–2026

    Practical Common Lisp

    Peter Seibel
    218 recommend · 400
    Cover of Elixir in action
    2015–2026

    Elixir in action

    Sas̄a Jurić
    48 recommend · 72