Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
Kyle I S Harrington
@kephale
but it is nice to have a little extra support around it so you don't have to open a shell -> launch a REPL each time
gilch
@gilch
Looks like the Shell plugin in the kind of thing I had in mind.
Looks like Parinfer also works in vscode.
Kyle I S Harrington
@kephale
Yeah, Clojure support in vscode is pretty solid now
Atom does what I want better at the moment, but from what I gather many of the major Atom plugin devs are migrating to vscode
gilch
@gilch
Hebigo's REPL is kind of layered on IPython, so it's probably not too hard to get Lissp or Hebigo working in a Jupyter notebook.
Kyle I S Harrington
@kephale
and vscode has everything that I've wanted, but less sensible (w.r.t me) defaults
Oh! Now that is interesting
gilch
@gilch
Getting it to run a cell would be easier than full support.
There are other things like syntax highlighting, parinfer support, completions, etc.
Getting all of those would be a lot more work.
And I am, of course, prioritizing my work on Hissp itself over any tooling.
Kyle I S Harrington
@kephale
Sure, makes sense.
gilch
@gilch
Considering my limited free time.
But I do have a mostly-working Pygments parser to do Lissp syntax highlighting in the docs, so some of this is already started.
There might be a way to get that into most of the editors through https://en.wikipedia.org/wiki/Language_Server_Protocol
Something like jedhy for Hissp would be nice, but I don't know how to do it (yet).
Kyle I S Harrington
@kephale
Ah yeah, I was pretty surprised to find autocompletion (for Hy)
gilch
@gilch
Hissp's target functional subset is smaller, which means doing very basic things in unpythonic ways, so I'm not sure how viable a jedi port would be. I don't know jedi's internals very well.
(yet)
Kyle I S Harrington
@kephale
As I said, I'm getting pretty confident in Hissp, but I need to get to the point of replacing at least part of my Python usage with it. That basically means being able to efficiently implement numpy/scikit/etc. code for public research projects (its all public/open-source stuff). lisp-mode is ok for now, but I reached my peak Clojure efficiency with Cursive+IntelliJ. That was mostly by parainfer-ish features + Clojure's nREPL + simple stuff like easy REPL integration. I don't really need IntelliJ, and would know how to make a plugin with at least basic versions of the desired functionality in Atom (and probably vscode)
Even CIDER+emacs still wasnt as productive as Cursive+IntelliJ
The point being, I'm somewhat motivated to make a tool like that if I can prove to myself that I can convert some of the numpy-ecosystem examples into Lissp, at least the basic ones
(which is going surprisingly well, tbh)
gilch
@gilch
Looks like Language Server Protocol was originally developed for vscode. If we go that route, those tools wouldn't be tied to any one editor.
Well, if you get stuck on those example conversions, I'll be here.
Kyle I S Harrington
@kephale
Thanks! You've been super helpful and I am very appreciative of that.
More later!
gilch
@gilch
Although I'm not in your time zone. I should have been asleep hours ago. I stayed up too long for New Year's.
Kyle I S Harrington
@kephale
Heh, I was a bit surprised to find you on
gilch
@gilch
I was writing Hissp docs.
The macro tutorial.
I already said that. I'm not thinking straight. Good night.
Kyle I S Harrington
@kephale
Gnight
Kyle I S Harrington
@kephale
I'm having issues with:
#> (matplotlib..pyplot.subplots)
>>> __import__('matplotlib').pyplot.subplots()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: module 'matplotlib' has no attribute 'pyplot'
On the python side it seems to need:
__import__('matplotlib.pyplot')
__import__('matplotlib').pyplot.subplots()
gilch
@gilch
@kephale Did you try (matplotlib.pyplot..subplots)?
gilch
@gilch
Or (.subplots matplotlib.pyplot.)?
Packages don't always import all their submodules for you in Python, so they're not always available as attributes if you don't import them directly. But module identifiers work on submodules, and you can qualify identifiers with submodules as well.
Kyle I S Harrington
@kephale
@gilch AH oi I should have realized thats how the macros work
(matplotlib.pyplot..subplots) works perfectly
gilch
@gilch
That last one was a breaking change. Hissp is the same, but Lissp strings are a bit different now. If you've written a significant amount of code, you'll probably run into it. I've updated the docs accordingly.
Kyle I S Harrington
@kephale
Ah cool, works well and no problems for me so far
gilch
@gilch
I've also got the first lesson done in the macro tutorial.
I've got maybe six more macro lessons planned: attach, regex literals, automatic once-only gensyms, destructuring bind, destructuring lambda, and yield, if I can figure out how to implement that with code-walking and lambdas.
The macro tutorial probably still needs some copy editing. It's a bit rough.
Kyle I S Harrington
@kephale
I look forward to going through it at the next chance!
gilch
@gilch
Let me know how it goes.