Behind the F# editor tootling. Part 1: introduction to compilers.

Behind the F# editor tootling. Part 1: introduction to compilers.

Behind the F# editor tootling. Part 1: introduction to compilers.

F# editor tooling, while it’s not on the level of mainstream languages like C# or Java, has been in a unique spot among Functional Programming languages. F# tooling is available cross-platform, it’s feature-rich, stable, innovative and, what’s also essential, it’s commercially supported and actively developed. Moreover, all this is available while communities of some other FP languages are discussing whether displaying simple tooltip is not too expensive.

In the series, I’d like to dive behind what we see in the editor and show some of the magic that lets us have this excellent developer tooling experience. In this post I’d like to do a gentle introduction to compiler design, introduce some concepts and vocabulary that will be useful later, and give a general description of the potential approaches to the editor tooling in context of compilers.

read more

Ionide — Introducing Info Panel

Ionide — Introducing Info Panel

Ionide — Introducing Info Panel

Today, I’d like to talk about a new feature called the Info Panel that has been released in Ionide 3.36. For me personally, it’s one of the most exciting features we’ve introduced in Ionide so far. Hopefully, it will help F# developers as nicely as placing function signatures in CodeLenses or fast cross-project navigation powered by background symbol caches.

read more

Ionide — A New Hope

Ionide — A New Hope

Ionide — A New Hope

You probably know that one of my biggest problems with the F# ecosystem and OSS work I’ve been doing has been lack of any sustainability strategy. I’ve attempted to change that by creating Open Collective page for the Ionide, and at the same time, I’ve started talking with existing partners about possible ways of making work on this crucial parts of the ecosystem more sustainable.

Today, I’m really happy to announce that for the next few months I’ll be working full time on the F# open source, cross-platform tooling focusing mainly on Ionide and FsAutoComplete. This is possible thanks to the partnership between my company — Lambda Factory — and Microsoft.

read more

PureScript on Azure Functions

PureScript on Azure Functions

PureScript on Azure Functions

Serverless architecture is one of the hottest topics in cloud computing, allowing developers to build and run applications and services without thinking about the servers actually running the code, providing a scalable model for building distributed, event-driven systems, as well as significantly reducing operational costs.

Microsoft’s take on the serverless problem is service called Azure Functions. Out of the box, it supports .Net languages (C# and F#), Python, Java and JavaScript. The last one is very important, as nowadays there exist a wide variety of languages that can compile down to JS. And today, I’ll talk about one of such languages — PureScript.

PureScript is a strongly-typed, purely functional programming language heavily inspired by Haskell. It supports a set of advanced language features such as higher kinded types, type classes, row polymorphism and many other features I don’t understand.

read more

Future of F# cross-platform editor tooling

Future of F# cross-platform editor tooling

Future of F# cross-platform editor tooling

Currently we have this beautiful moment in the year when everyone writes, tweets, and instagrams about their achievements in past year, and plans for the next one. I’ve also done this before (often being week…or month late), however this year I decided to write about something else. So let’s talk about F# cross-platform, community driven editor tooling.

read more