Inching Forward

Fsharp

Explorative Bits

I wanted to work on something pretty simple to ease into F#, so I created Explorative Bits.

I created it to capture links at the intersection of code + creativity and tag them.

Explorative Bits doesn’t support comments, voting, accounts, or even pagination at the moment. It’s a straightforward Giraffe project consisting of one file. Instead of an ORM, it uses Npgsql.FSharp. Instead of templating or an SPA, it uses Giraffe’s ViewEngine to generate HTML. Working this way has been very liberating and allowed me to move very quickly.

Playing around with F# again

  1. Find Dan Grossman’s excellent Programming Languages course
  2. Fall in love with the ML way of modeling data
  3. Search for modern ML with tooling
  4. Find F#
  5. .NET nulls? Lots of Windows references. Every post I read has code that looks different.
  6. Find Go
  7. Like some of its “simplicity”, ability to create binaries, std lib, performance
  8. Really miss those ADTs, pattern matching, and lack of null
  9. Find Rust
  10. Like so many things, but miss GC
  11. Playing around with F# again

Things have gotten a lot better in F# land than when I tried it last. Granted, that was right before the .NET core switchover which was really painful–there was broken tooling all over the place. Everything is so much better now. The community is really awesome.

Getting Started with Fable PixiJS

This post is part of the F# Advent Calendar in English 2017. Thank you Sergey, who’s been keeping the F# community updated weekly for over 5 years!

We’re going to take a look at how to get started creating cool stuff with Fable and PixiJS. PixiJS is a a JavaScript library that creates very fast 2D WebGL content. It’s great for creating graphical visualizations and games. Combining Fable with the PixiJS bindings allows us to do this with F#.

Getting Started with Fable Elmish

tldr: Learn Elmish by working up to the Counter sample app from scratch.

Prerequisites

This post assumes that you are already aware what Fable is. Knowledge of Elm might help, but is not required. It’s also assumed that you have the following installed:

The instructions in this post were done on Mac OS X and Ubuntu Linux, but everything should translate easily to your platform/flavor of choice.

Taking Ionide Out for a Spin

This post is part of the F# Advent Calendar in English 2015. Be sure to check out the other posts!

Ionide is a set of plugins that allow cross-platform F# development within the Atom and Visual Studio Code text editors. The project was started by Krzysztof Cieślak earlier this year and has grown to a handful of contributors since. Development of the plugin is done in F# and transpiled to JavaScript using FunScript. The project is young but shows lots of promise.

Getting into FunScript

This post explores what it takes to set up an environment for writing a simple FunScript application from scratch using a non-Visual Studio environment. It’s targetted at the beginner, using a step-by-step process that tries to remove a few stumbling blocks I encountered when trying to do the FunScript tutorial without using an example solution. The dev environment is Xamarin Studio (version 5.9.8) running on a Mac. If you’d like to see other environments, let me know in the comments.