F# Programming Language

#programming-language

These are the notes on F# language.

See also OCaml.

Background

Development Environment

Working with Nuget

On Mac OSX

Download NuGet.exe Command Line bootstrapper from http://nuget.codeplex.com/downloads/get/222685

Import trusted root certificates from Mozilla’s LXR into Mono’s cert store:

$ mozroots --import --sync
$ certmgr -ssl https://go.microsoft.com
$ certmgr -ssl https://nugetgallery.blob.core.windows.net
$ certmgr -ssl https://nuget.org

Run the bootstrapper:

$ mono --runtime=v4.0.30319 NuGet.exe

Installing packages for a project. For example I checked out https://github.com/saxonmatt/FSharp.GitHubApi and in the .nuget directory:

$ mono --runtime=v4.0.30319 NuGet.exe install ./packages.config -OutputDirectory ./packages

The packages should be under packages directory. ref.

Format of a packages.config file:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="FsUnit" version="1.2.1" targetFramework="net40" />
 <package id="NUnit" version="2.6.2" targetFramework="net40" />
</packages>

The latest/available versions of the packages can be obtained from .

Learning Resources

See also the Books section.

Why FSharp

Application Areas

Build System

Data Access

Interfacing other systems

Mathematics

Machine Learning

Desktop development

Graphics

Web development

Books

Papers

Blogs and Websites

Articles

Notes

Deployment on Linux

On Linux making a standalone binary is surprisingly easy:

$ fsharpc file.fs # can run the generated file.exe via mono at this point
$ mkbundle --static file.exe -o file

Now ./file is a statically compiled binary. Easy deployment. (src).

Things to learn about F#

Libraries

Integration with the new dotnet ecosystem

Discussions etc.,

References
ricksaurus Missing citation