##F# Programming Language## Learning Resources :
Video Channels :
| using System; | |
| using System.Collections.Generic; | |
| using System.Linq; | |
| using System.Text; | |
| using UnityEngine; | |
| using UnityEditor; | |
| using HexMap; | |
| using ExtensionMethods; | |
| namespace ViewModels | |
| open System.Windows | |
| open System.Windows.Controls | |
| open System.Windows.Documents | |
| open System.Windows.Media | |
| open GUIControls.Extensions | |
| open GUIControls.Patterns | |
| open System.Windows.Interactivity |
| module Morphisms = | |
| /// Hylomorphism that composes an unfold into a fold | |
| /// folding an unfold | |
| // ( fold o unfold )(x) = fold (unfold(x)) | |
| let hylomorphism | |
| (ufstepfn:#seq<'b>->'b->#seq<'b>)(ufacc:#seq<'b>)(pred:'a->bool)(mapElm:'a->'b) (inc:'a->'a) | |
| (fstepfn:'c->'b->'c) (foldAcc :'c) : 'a -> 'c = | |
| (Folds.unfold ufstepfn ufacc pred mapElm inc ) >> (Folds.foldl fstepfn foldAcc ) |
| # If this script is throwing an error near a Unicode symbol try resaving the file as UTF-8 with BOM | |
| $psmodules = ";~\Documents\WindowsPowerShell\Modules" | |
| # sometimes the module paths has been fucked before posh loads, but that won't stop us | |
| $env:PSModulePath = $env:PSModulePath + $psmodules | |
| # Set the OutputEncoding to Unicode so that the λ renders properly | |
| [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 | |
| #===================== | |
| # Unity Project Files | |
| #===================== | |
| /[Ll]ibrary/ | |
| /[Tt]emp/ | |
| /[Oo]bj/ | |
| /[Bb]uild/ | |
| *.userprefs |
| open System.Collections.Generic | |
| open Microsoft.FSharp.Collections | |
| [<RequireQualifiedAccess>] | |
| module Folds = | |
| // These are the fast implementations we actually want to use |
| <?xml version="1.0" encoding="utf-8"?> | |
| <Settings> | |
| <Shortcuts><?xml version="1.0" encoding="utf-16"?> | |
| <ArrayOfKeyShortcut xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | |
| <KeyShortcut> | |
| <Value>EqualsPlus</Value> | |
| <Alignment>(^|[\w\s])(?&lt;x&gt;=)</Alignment> | |
| <AlignFromCaret>false</AlignFromCaret> | |
| <UseRegex>true</UseRegex> | |
| <AddSpace>true</AddSpace> |
Make things easy for yourself and start by running posh as admin
If you already have dnvm installed remember to run update-self if you haven't recently
Clone and checkout the coreclr branch of Kevin Ransom's Fork of the Visual F# Compiler and Tools
You need DNVM as a starting point. DNVM enables you to acquire a (or multiple) .NET Execution Environment (DNX).