Show HN: Liz – Collaborative Lisp coding on Discord

Show HN: Liz – Collaborative Lisp coding on Discord

This is a Discord bot I made, which lets you write and evaluate Lisp code in collaborative sessions on Discord.

I wrote it in a short amount of time, partly for learning purposes, but also because I found the idea exciting and it was fun to hack around.

I'd be happy to get your feedback, especially on how to improve the deletion mechanism (maybe make deletion sexpr-based?). I've tried to make the README detailed enough so that it's easy to make some changes and run your own version.

GITHUB.COM
44
4
D4ckard

Comments

@MayeulC

Looks like a fun project, is it abstracted from the Discord API? How easy would it be to port it to other chat services like Matrix, Telegram, etc?

@D4ckard

No, not really. Discord user IDs are even used stored in the DB to manage session ownership. The amount of features is not that big though. I think porting this to another chat service would be doable in a weekend.

@svapnil

I've been deep in the Discord-bot rabbit hole recently. TBH, I think it's the dominant platform to create bots, since it's the messaging app that has the most actives on it, and the event subscriptions are robust.

I'd rather keep building on Discord then port it to different apps and get more, less attractive platforms to support. What do you think?

@1equalsequals1

I'd love it if it was also accepting Common Lisp

@freilanzer

Oh man, I thought it was. This makes it less exciting.

@Zambyte

Nice! I tried doing something similar a few years ago using Scala as both the host language and the language that would be dynamically executed. I ran into issues trying to build a structure that represents executable Scala code, and eventually I moved on to other projects.

This was before I was really familiar with Lisp, and looking back I think I would have been way more successful if I was trying to use that instead :D

@svapnil

Cool build!

Quick question - why did you decide to create this bot in Rust, instead of the more popular libraries Discord.js or discord.py? Is there a real performance reason, or did you just want to do it in Rust?

@D4ckard

Yeah, I just love Rust and I like Shuttle (which is used to deploy this Rust project), too! I don't think there are great performance implications here. They type-safety is nice though, and it was easy to embed a Lisp.

@brabel

If you like type safety, this project would be perfect for using https://coalton-lang.github.io/ so your REPL supported Common Lisp out of the gate.

@akho

Why not, you know, Lisp?

(Also, the examples seem to be Scheme)