The Big Switcheroo 2020-02-24 :: Racket , Emacs In my previous post I talked about how Racket Mode now will often want the back end command server, before actually needing a live REPL — but it has to start a REPL anyway. This was bothering me. So I went on to address that. Doing so entailed reversing the I/O model for the back end. As a bonus, that set up fairly short strokes to supporting…
Using check-syntax in Racket Mode 2020-02-14 :: Racket , Emacs During most of January and into February, I’ve been working full-time to have Racket Mode make better use of drracket/check-syntax analysis of fully-expanded code. I’m pretty excited by it. Consider this little Racket program: 1 2 3 4 5 6 7 8 9 10 #lang racket/base ( push-the-red-button! ) ( define ( f x ) ( + x 1 )) (…
Future of Racket 2019-07-28 :: Racket For most of the last decade I’ve made things in Racket — including making tools and tutorials to support other people making things in Racket. At RacketCon 2019, Aaron Turon gave the keynote about the Rust community. That afternoon, I had a talk about Racket Mode for Emacs. The next morning? Matthew Flatt gave his State of Racket talk. He said the…
Linux Laptop 2019-06-03 :: Linux For the first time, ever, I’ve been using Linux on raw hardware for a couple months. The experience has been utterly boring and wonderful. Sometime in the 1990s, I upgraded a desktop computer from something like Windows 3.1 to Windows 95. The result was… not good. Some hardware wasn’t working well. I remember cursing Plug and Play. I figured out…
Supporting multi-in 2019-04-25 :: Racket , Emacs In racket-mode I improved support for the multi-in form provided by racket/require . What is multi-in ? Instead of: 1 2 3 4 5 ( require net/uri-codec net/url racket/contract racket/format racket/string ) You can say: 1 2 3 ( require racket/require ( multi-in net ( uri-codec url )) ( multi-in racket ( contract format string ))) One detail: The…
Exploding Frog 2019-04-03 :: Racket , Frog I’m writing and publishing this post using something other than Frog . Having said that, I’m not planning to abandon maintaining Frog. Over the past week I explored doing something I’ve wanted to try for many years: “Exploding” Frog from an app that you run, into a set of little commands that you call from a Makefile . I…
Thread names 2018-11-01 :: Racket Sometimes people want Racket thread s to have useful names — for example to show in logger output. Here is one way to do it. When you call thread it returns a thread descriptor . You may also get the thread descriptor of the current thread using current-thread . The print ed representation of a thread descriptor includes the object-name of its thunk…
racket-mode 2018-10-03 :: Racket , Emacs Even though it’s been one of my most time-consuming projects, I’ve hardly blogged about racket-mode — an Emacs major mode for Racket . To change that, here’s a post giving an overview of how racket-mode works, as well as a look at how it might grow someday. Cast of characters racket-mode consists of two main parts: An Emacs Lisp…
Extramaze LLC: Using system fonts (not Google fonts) 2018-05-20 :: Racket , Extramaze Update: Due to lack of interest/use, in June 2021 this site was shut down and user data (emails, names, search alerts) deleted from all systems and backups. In my previous post I discussed what I’m doing with deals.extramaze.com — and what I’m intentionally not doing. Since then, I’m…
Extramaze LLC: Using Racket, PostgreSQL, AWS (but no ads or JS) 2018-05-04 :: Racket , Extramaze Update: Due to lack of interest/use, in June 2021 this site was shut down and user data (emails, names, search alerts) deleted from all systems and backups. For Extramaze LLC I’m using Racket in a commercial project — a search engine with email alerts for deals on music gear —…