F#: String Calculator Kata

Intro I am learning F# and am logging my progress or lack of. In doing so, I attempted a Kata for implementing a string calculator. I did steps 1-4 of the exercise. I then got bored and decided to look for other katas. The following code was generated to satisfy the guts of the kata: …

F#: Railway-Oriented Programming

Intro Documenting interpretation of Railway-Oriented Programming. The "Railway" provides a "Success Track" and a "Failure Track". The Success Track is defined as the track of the "Happy Path". This means that the objective of a function was completed successfully without errors. There also exists an alternate track that isn't exposed initially. This track is known as the Failure Track. The …

Learning F# – BlackJack

This source code will serve as a reference for common set operations that have been partially implemented for a BlackJack game. Feedback is welcomed within the comments section as I continue learning this mythical language. module Core type Suit = | Spades             | Clubs             | Diamonds             | Hearts type Face = | Two | Three | Four | Five              | Six | Seven | Eight | Nine | Ten             | Jack | Queen | King | Ace type Card = {Face:Face; Suit:Suit} type Deal = | Hand of Card * Card             | Hit of Card let private suits = [Spades; Clubs; Diamonds ; Hearts] let private faces = [Two; Three; Four; Five; Six; Seven; Eight; Nine; Ten;                      Jack; Queen; King; Ace] let deck = [for suit in suits do             for face in faces do                 yield {Face=face; Suit=suit}] let hitPlayer (deck:Card list) =     (deck.Head, deck.Tail) let deal = function     | card1::card2::remaining -> Some(card1, card2), remaining …

F# Code Snippets?

Did you know that you can leverage Code Snippets in F#? Big shoutout to Tao Liu for providing this support. Here's a summary of how to leverage this awesome productivity tool: Download the F# Snippets Extension. Download the code snippet files here. Select Tools | Code Snippets Manager. Ensure the following path exists:C:\Users\<username>\Documents\Visual Studio 2015\Code Snippets\Visual …