What should F# as a language contain?
- A default test framework like Expecto
- A default HTTP client like HTTP.fs
- A default web framework like Suave
- A default JS framework like Fable
- A default logging framework like Logary
- A default character parser combinator library like FParsec
- A default binary parser combinator library like FsAttoparsec
- A default concurrent programming framework like Hopac
- Seven ineffective coding habits many F# programmers don't have - Yan Cui
- JavaScript Combinators, the 'Six' Edition - Reginald Braithwaite
- Spice up your website with machine learning! - Evelina Gabasova
- Ionide and state of F# open source environment - Krzysztof Cieślak
- The T in TDD: Test, Types, Tales - Mathias Brandewinder
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
let countOfDisks = 10 | |
let initialState = [for x in 1..countOfDisks do yield x], List.empty, List.empty | |
let bottDiskSize = 4. | |
let cylHeight = 4.0 | |
let diskSize size = size * bottDiskSize / float(countOfDisks) | |
let diskHeight = cylHeight / float(countOfDisks) | |
let diskPosition pos = pos * diskHeight | |
let cyl = |
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 DapperFSharp = | |
open System.Data.SqlClient | |
open System.Dynamic | |
open System.Collections.Generic | |
open Dapper | |
let dapperQuery<'Result> (query:string) (connection:SqlConnection) = | |
connection.Query<'Result>(query) | |
let dapperParametrizedQuery<'Result> (query:string) (param:obj) (connection:SqlConnection) : 'Result seq = |