Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Author here - didn't expect this to end up on Hacker News, given the niche interest :) Happy to answer any questions you guys have.

(And if anyone has an interest in contributing, please get in touch!)



IPython creator here, just to say I'm thrilled to see this! We've wanted more languages to follow this route, and while we have only had time to work directly with the Julia team, it's fabulous to see others following up with the idea.

Please don't hesitate to ask us on the dev mailing list if you run into any problems. For one thing, we're planning on making some updates to the protocol spec soon, based mostly on the experience of the IJulia work. It would be great to have your input there as well, in case you spot something that wouldn't fit well the patterns you saw while doing the Haskell port.

And besides, this means I now have one less excuse to get off my butt and learn Haskell! :)


This is really interesting. Is there any hope for a hybrid language? Like python with haskells time system, or writing lambda functions like lisp and using python to execute? Basically, taking the 'best' parts of languages and combining them.

What about multiple definitions for functions depending on what kind of input is given. Like python has no tail recursion, but lisp does. Write a python function that gets transparently translated to lisp to utilize the features of the language.


This isn't related to a hybrid language per se. IPython runs a language core and then provides a notebook frontend atop it.

You could perhaps have multiple language cores each communicating problems to one another via the common language of the notebook... but that's nothing more than any other text serialization route with all of the challenges therein.


Thanks! I will shoot you an email soon.


In IPython notebooks with python, objects with special methods like _repr_svg_ and _repr_latex_ get displayed using SVG or LaTeX or whatever. Is there a way to do this with IHaskell?

Is IHaskell related to ihaskell-notebook? https://github.com/creswick/ihaskell-notebook

If anyone wants a good intro to the amazing stuff IPython can do, check this (~3hr) video out: http://pyvideo.org/video/1652/ipython-in-depth-high-producti...

Or, many examples of what the notebooks can do: http://nbviewer.ipython.org/


IHaskell is inspired by ihaskell-notebook, but instead of forwarding to GHCi via text pipes, it actually uses the GHC API to evaluate code. I think this will mean that the integration can be deeper, and it can more easily do things like type inspection and pretty printing. I'm planning on introducing some typeclasses analogous to Haskell's Show for Latex and SVG and HTML representations, but haven't quite figured out how to do it - it is the next order of business though.


Awesome work, thanks for sharing! Couple of weeks ago I catched talk by iPython dev in Budapest and started to think that it would be cool to have lisp support (as I want to learn more lisp), but maybe I wait until someone does a Haskell support first..


iPython for Lisp is called SLIME (and it has much more features too!)


I've been playing around with slime, but it is always the problem for coming up with some interesting project. The common-lisp support (for iPython) seems like interesting challenge to try (and fail).


Can you give more details on the development? Do you use any IPython code, or do you just follow the specification? What would be necessary if I wanted to implement this for another language? Thanks!


In addition to publishing the code, the IHaskell page also links to a blog post about how to go about implementing IPython kernels [0]. The implementation is entirely in Haskell and doesn't use any IPython code, but simply communicates with the frontends via ZeroMQ networking library.

[0] http://andrew.gibiansky.com/blog/ipython/ipython-kernels/


This is amazing, thanks!


This is really cool, well done!

Be sure to send a message to the IPython-dev mailing list if you're happy to recieve contributions and/or feedback (also from IPython developers).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: