#Lisp S-Expressions are the universal protocol.

Here is a example of sending a #Racket S-Expression code to #Emacs

https://codeberg.org/xgqt/xgqt-racket-app-enigma-emacs/commit/417a873e30f6c826f42589a97743f6bfa94f0a97

refactor(subcommands/install.rkt): write the bootstrap code as a S-Expression · 417a873e30

Signed-off-by: Maciej Barć <[email protected]>

Codeberg.org
@xgqt btw, is there any rfc or similar for sexps? I tried to use them this way but couldn't find a standard way of doing custom types, multiline strings, comments, etc

@sarna

Basically you have to find a intersection of the Lisps you wish to use. The case can be a bit better for Non-Scheme Lisps like CL & Elisp.

So for RFCs you are basically looking at CL spec or Scheme specs or SRFIs.

Whats the issue with comments? Unless you want to pass the comment to other side... 🤔 But I think this is a great feature that they are non-passing. You can always hack something up with regex-replace, it all depends how the receiving end functions.

The only big incompatibility between Lisps are reader macros, but on the other hand you can transform those objects to a easier form like in Racket hash->list, set->list, etc.

@xgqt yea I thought about it some more, and the things I mentioned don't seem as scary anymore. just turn everything into lists. though I still don't know how do you agree on fractional numbers - schemes have a numerical tower, other lisps have other ideas..
@xgqt but I do like that a list of pairs is automatically an ordered dict