- Lean and Functional Programming - Bryan Hunter
- A tour of the language landscape - Yan Cui
- Enterprise Tic-Tac-Toe -- A functional approach - Scott Wlaschin
- Learning from Haskell - Venkat Subramaniam
- Computation expression in context : a history of the otter king - Andrea Magnorsky
- Type-Driven Development - Mark Seemann
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* | |
JsonParser.fsx | |
A JSON parser built from scratch using a combinator library. | |
Related blog post: http://fsharpforfunandprofit.com/posts/understanding-parser-combinators-4/ | |
*) | |
#load "ParserLibrary.fsx" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* | |
ParserLibrary.fsx | |
Final version of a parser library. | |
Related blog post: http://fsharpforfunandprofit.com/posts/understanding-parser-combinators-3/ | |
*) | |
module TextInput = | |
open System |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* | |
ParserLibrary_v2.fsx | |
Version 2 of the code for a parser library. | |
Related blog post: http://fsharpforfunandprofit.com/posts/understanding-parser-combinators-2/ | |
*) | |
open System |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* | |
ParserLibrary_v1.fsx | |
Version 1 of the code for a parser library. | |
Related blog post: http://fsharpforfunandprofit.com/posts/understanding-parser-combinators/ | |
*) | |
open System |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module SimplifiedVendorExample = | |
type Product = | |
| Bought of string | |
| Made of Product list | |
let rec cataProduct fBought fMade product :'r = | |
let recurse = cataProduct fBought fMade | |
match product with |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* | |
RecursiveTypesAndFold-3b-json-with-error-handling.fsx | |
Related blog post: http://fsharpforfunandprofit.com/posts/recursive-types-and-folds-3b/ | |
*) | |
// ============================================== | |
// PART 3b - Serializing and deserializing a tree to JSON (with error handling) | |
// ============================================== |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* | |
RecursiveTypesAndFold-3b-json.fsx | |
Example: Serializing and deserializing a tree to JSON | |
Related blog post: http://fsharpforfunandprofit.com/posts/recursive-types-and-folds-3b/ | |
*) | |
// ============================================== | |
// PART 3b - Serializing and deserializing a tree to JSON (without error handling) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* | |
RecursiveTypesAndFold-3b-database.fsx | |
Example: Storing a tree in a database | |
Related blog post: http://fsharpforfunandprofit.com/posts/recursive-types-and-folds-3b/ | |
*) | |
// ============================================== | |
// PART 3b - Storing a tree in a database |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* | |
RecursiveTypesAndFold-3b-grep.fsx | |
Related blog post: http://fsharpforfunandprofit.com/posts/recursive-types-and-folds-3b/ | |
*) | |
// ============================================== | |
// PART 3b - Parallel grep | |
// ============================================== |