dex-lang
dex-lang copied to clipboard
Dex support in Jupyter notebooks.

Way-far-down-the-road feature request: But Jupyter just recently added supported for SQLite, and has support for specialized language kernels, such as Haskell. Would it be possible to add support for Dex?
While Dex in Jupyter would indeed be cool,
if you haven't already checked it out Dex's own inbuild "notebook" interface I recommend it.
It is really cool and innovative.
The thing you get from running dex web examples/tutorial.dx.
It grew on me very quickly after worked out how it works.
Its very different to jupyter as you do the editting in a text-editor and the webpage just evaluates and renders it. and the fact the Dex is a suitably pure functional language means it can be done stateless without being super slow. Statefulness harming reproducability being the most common complaint about Jupyter in my experience ("Got to run these cells in this order").
Anyway, not a substitute for Jupyter, at least in terms of getting something people are already familar with out there, but worth checking out.
Thanks for the feature request! I agree with @oxinabox that our plan with Dex is actually to make a nicer alternative to Jupyter notebooks, based on the fact that we can design Dex to allow us to e.g. cache execution, show results incrementally and avoid the dependence on the order in which the cells were evaluated. However, Jupyter is so common that even if we're hoping that we can come up with something better, it might still make sense to integrate with that (Dex on Colab?).
However, Jupyter is so common that even if we're hoping that we can come up with something better, it might still make sense to integrate with that (Dex on Colab?).
+1 👍
Just out of curiosity, have you discussed this with [at] colaboratory-team? Or would it make sense to have a separate thing like swift-jupyter that works as a sort of add-on (both in Jupyter and Colab)?
(From personal experience and after reading N number of StackOverflow comments/GH issues/How to Get Started blog posts covering various ML projects, "how do I get started quickly" is still a major thing in 2020. So, in case there's a (not an immediate) priority at the Dex team to get outside user feedback, making the installation process less "complex" would be kind of awesome. Right now, we have to set up stack, then llvm-9-dev (or building from source) > make. If someone is not as curious, they may move on to another shiny thing :-). So, having a Jupyter integration in the short- to medium-term would probably reduce this initial friction, so new users/researchers can get straight to How To's, Tutorials and whatnot. Alternatively, maybe something as simple as apt-get, brew or pip3 install?)
@8bitmp3 I agree 100% with your point about making the installation simple. However, Dex is at a point where I would certainly not consider it stable software, as even the surface level syntax of the language changes from time to time (there was actually quite a major shift that we've merged just last week). Once we're at a point, where we'll think that it makes sense to actually get more people onboard, we will definitely invest in making Dex installation a breeze! But of course if you or anyone else is willing to try putting together a Jupyter extension, then we welcome contributions and will be happy to help you get that done!
Now that we have a reasonable Python integration, this would actually be a very cool thing to have!


Out of curiosity, what is the latest with this thinking/plan?
No updates or plans at the moment, perhaps except for a willingness to design and review external contributions 🙃