-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adds experimental Go spec #904
base: main
Are you sure you want to change the base?
Conversation
This is... fine. But adding new heavyweight languages is... heavy, even if we can get them form conda-forge. We typically require adding full unit and acceptance tests, which can be a bit of a slog, especially on windows/osx. A quicker path to getting something working for others might be to publish this as a standalone package on PyPI of just this spec, e.g. |
I'm not really sure on the best way to implement this support yet, the main question is how should the shadow files be managed. Heavy languages usually need a fair amount of boilerplate and the parsing between this very diferrent files needs some code to work.
You say a fork |
No, luckily that wouldn't be necessary, or good for anyone (go ask The underlying So, with e.g.
Where the contents of Of course, if you end up needing to do more (e.g. custom listeners, custom syntax highlighting in the browser), that structure would of course get more complex. All this is to say: you're guaranteed to get something out faster published separately, rather than waiting for us to go through all the hoops. Having docs for this process would be great, too. |
@joelschutz are you still interested in driving this forward? I am happy to accept a PR, just needs to include tests as mentioned above. |
I don't plan to keep working with this things in the near future, but I'd like to mention |
hi all, <pt-BR>e obrigado por me incluir Joel!</pt-BR>(thanks for looping me in). So I'm wondering if the Python model will work for Go, or at least how GoNB works, since some assumptions work differently. For instance GoNB compiles the whole Go code at every cell execution and memorizes definitions -- as opposed to "interpreting" it in a REPL loop. That works because Go compilation time is fast enough that it doesn't matter. But that has some implications, along with other considerations that I'll list below:
Those are from the top of my mind, but it was tricky to get right, but it seems to be work in most (not all) times: Control+I for context help, or "shift+tab". I'm not sure about the details of what you want to achieve in cheers |
References
Code changes
User-facing changes
Backwards-incompatible changes
Chores