Configuring GNU Emacs for Standard ML

As mentioned on a previous post, I’ve been writing quite a bit of Standard ML on the past few weeks. This also involved setting up GNU Emacs for development.

The first thing you need is sml-mode, you can install and configure it with the following:

(use-package sml-mode
  :defer t
  :mode ("\\.\\(sml\\|sig\\)\\'" . sml-mode))

Now, the cool part is that Standard ML has a Language Server called Millet. You can use it with eglot, the builtin Language Server Protocol client for GNU Emacs.1

(use-package eglot
  :ensure t
  :hook ((sml-mode . eglot-ensure))
  (add-to-list 'eglot-server-programs '((sml-mode) "millet-ls")))

  1. Since GNU Emacs 29. ↩︎

Articles from blogs I follow around the net

Variations of the Range kata

In the languages I usually employ. The Range kata is succinct, bordering on the spartan in both description and requirements. To be honest, it's hardly the most inspiring kata available, and yet it may help showcase a few in…

via ploeh blog January 1, 2024

Some notes on NixOS

Hello! Over the holidays I decided it might be fun to run NixOS on one of my servers, as part of my continuing experiments with Nix. My motivation for this was that previously I was using Ansible to provision the server, but then I’d ad hoc installed a bunch…

via Julia Evans January 1, 2024

I found some of my first code! Annotating and reflecting on robotics code from 2009.

In high school, one of my teachers shattered my plans for my life, in the most beautiful way. Most of my life, I'd intended to become a math professional of some sort: a math teacher, when that was all I saw math for; an actuary, when I started to lear…

via blog January 1, 2024

Generated by openring