glycerine / zygomys

Zygo is a Lisp interpreter written in 100% Go. Central use case: dynamically compose Go struct trees in a zygo script, then invoke compiled Go functions on those trees. Makes Go reflection easy.
https://github.com/glycerine/zygomys/wiki
BSD 2-Clause "Simplified" License
1.71k stars 81 forks source link

Is there an intelligent prompt ide or plug-in to support grammar? #45

Closed aadog closed 1 year ago

aadog commented 5 years ago

Is there an intelligent prompt ide or plug-in to support grammar?

glycerine commented 5 years ago

There is not. Pull requests welcome, of course.

https://github.com/glycerine/zygomys/blob/master/zygo/liner.go#L11 shows the tab completion machinery that is installed, which is limited. Mostly LISP grammar is incredibly uniform, it is learned very quickly. I do recommend emacs for the electric brace functionality and general LISP friendliness it provides.

https://github.com/glycerine/zygomys/blob/master/emacs/zygo.el has the emacs mode for zygo.

aadog commented 5 years ago

I will pay close attention to your project and see how the smarttip plugin is progressing. I think it is already rich enough. Why is it not compatible with Goland's smart tips? I think this will be liked by many people.

lthibault commented 5 years ago

@glycerine I'm considering zygomys for a project of mine. I've been wanting to dive into language design for a while now, and I think building this kind of feature might be a good jumping-off point for me.

Would you be generally available to help me out if I were to undertake this?

glycerine commented 5 years ago

@lthibault Hi Louis, lisp has almost no grammar, just prefix forms, so this "feature" makes no sense to me. Hence I cannot recommend it. I don't see the goal or idea. More importantly, it doesn't do anything towards your goal of learning about language design.

lthibault commented 5 years ago

@glycerine Fair point -- thanks for the candid feedback (seriously, you just helped me avoid a potential rabbit-hole)!