I like cycling, swimming, pizza, ice cream, comics, computer games and Lisp programming in Emacs.
Currently I’m developing #GRASP - the GRAphical Scheme Programming environment for Android, Desktop and Terminal
in my case the answer is long and winding.
I started by embedding Guile Scheme into my game engine, because I wanted to make a game, and I ended up with this;
https://www.youtube.com/watch?v=G4QVE6JjmO0
(then Guile developers changed some APIs and so it no longer compiles)
But I have used Guile a lot in Emacs via Geiser to do various small things, such as this:
The macros and functions that I’ve accumulated along the way were eventually gathered into one module that I called (grand scheme):
https://github.com/plande/grand-scheme
Later on, while still trying to make a game, I concluded that the medium of text isn’t expressive enough, and that I would like to be able to write some pieces of my program (like finite state machines) in visual notation, so I ended up developing GRASP, The Graphical Scheme Programming environment, which currently looks like this:
https://www.youtube.com/watch?v=wN8Fy5xTXeQ
and it also works on Android
https://www.youtube.com/shorts/J9YNBxPP_wU
(which is why I chose Kawa Scheme to implement it)
@cadar but in my case, the phrase ‘your Lisp development environment’ is ambiguous, because I’m using this setup to develop a Lisp-based development environment that would be more comfortable to use with touch screens.
The repository contains some screenshots and a link to a demo video that I recently released:
@cadar
for the past 2 years, I’ve been doing most of my Lisp development on my phone, using a JVM-based dialect of Scheme called Kawa
I’m doing the development in Termux (a terminal app for Android) using Emacs for editing, and Hacker’s Keyboard for input, so it looks like this:
@cadar
Nowadays I mostly use Kawa. I used to be a dedicated Guile user, for which I developed the (grand scheme) glossary, and I still use it occasionally for small things, but I’m now developing a project that relies heavily on Kawa (#GRASP).
I sometimes use Racket, especially when I need some GUI.
I also use Emacs Lisp occasionally.
I mostly use C at my day job. I also write some code in Dart and Go as well as bash scripts and makefiles. I sometimes also use Python. I also have professional experience with PHP, JavaScript, C++, C# and x86 assembly
For a long time I was very happy with Guile, especially as I was using it with my (grand scheme) glossary - it really made the language terse.
But after using Kawa, I find the lack of checked type annotations (in macroexpanded positions) really annoying. Also, I like it that Kawa provides access to Java-like OO system (that I like way more than GOOPS that comes with Guile).
I think that porting the (grand scheme) glossary to Kawa would be nice, but that would probably require some changes in the compiler.
I occasionally look at solutions to Advent of Code in various different languages, and beside my solutions in (grand scheme), I enjoy the ones in F# the most.
(They are usually quite similar in their spirit)
I also pretty much enjoy using Dart - I think that its designers are doing a great job.
I really wished that Kawa offered Dart-like object system, which in practice would mean things like mix-ins and extension methods, and more decent generics.