PaniczGodek

joined 2 years ago
[–] [email protected] 2 points 4 months ago* (last edited 4 months ago)

@cadar

  1. What Lisp programming languages do you use?

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.

  1. What non-Lisp programming languages do you use?

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

  1. What is your favorite Lisp programming language? Why?

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.

  1. What is your favorite non-Lisp programming language? Why?

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.

  1. What is that one thing about your favorite non-Lisp language that you wish to see in your favorite Lisp language?

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.

[–] [email protected] 2 points 8 months ago

@cadar s-expressions!

[–] [email protected] 2 points 11 months ago

@cadar

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:

https://www.quora.com/For-what-types-of-problems-is-functional-programming-better-than-object-oriented-programming/answer/Panicz-Godek

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)

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

@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:

https://github.com/panicz/grasp

[–] [email protected] 2 points 1 year ago (1 children)

@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: