
IHaskell – A Haskell kernel for Jupyter - sndean
https://github.com/gibiansky/IHaskell
======
mplewis
In case it was confusing for anyone else – Jupyter is the notebook software,
and IPython is the kernel. The name change was to show Jupyter is capable of
running more than just Python, and that it's no longer a monolithic project.

~~~
Tomte
So it's a Haskell kernel for Jupyter, not iPython, or do "kernels" have other
"kernels" below them?

~~~
PieSquared
It's a Haskell kernel for Jupyter. The nomenclature is a bit outdated, with
the title (and a few other places) referring to IPython when they mean
Jupyter; this is because a few years back there was no such thing as Jupyter,
and the entire thing was called IPython, so it was accurate to say that
IHaskell was a kernel for IPython.

------
smilekzs
I wonder why it doesn't support Windows, especially with Haskell toolchain
already available on Windows?

~~~
a-saleh
Usually it is about resources.

Half of the commits are from single person, and if he doesn't have or strongly
care about Windows, the support just wouldn't be there to maintain it.

That doesn't mean you are forbidden to try it ;)

I have to admit, last I wanted to have IHaskell on windows, I just ran it in
docker :-)

~~~
PieSquared
Spot on. Author of IHaskell here; written the majority of the IHaskell
codebase, and, as you guessed, I haven't used Windows in over a decade.

That said, I am happy to help folks get it working natively under Windows.
There is a somewhat challenging technical issue, which is that IHaskell uses
the Haskell `unix` package, because it needs supports for creating and using
pipes in order to intercept stdin, stderr, and stdout. I'm sure that this is
somehow also doable on Windows, but it just takes someone who wants to dive in
and get it working; I'd be happy to advise such a person and merge any changes
they need to make.

~~~
marchdown
I want to get involved with an open source project, I am familiar with Haskell
and enthusiastic about making it more accessible. I've just completed an
educational project where I've used iPython with my students and I would have
used Haskell if the tooling were a bit smoother.

So far the entry barrier was too high for me but I want to reach out and ask
if anyone is willing to hold my hand a little so that I might get over the
initial hurdles. Could you suggest some entry points for me? A bug tracker, an
IRC channel, a github issues page? Should I just hack on it on my own until I
have a specific unit of work to contribute, or is there someone who could use
my help with the coding and provide guidance as to the organizational side of
things?

------
mark_l_watson
What are the security implications for hosting IHaskell on a server and giving
public access to notebooks? For myself, Emacs + Intero + stack makes a near
perfect development environment, but IHaskell looks great for writing online
books and educational material.

~~~
mdtusz
Once notebooks have been created, they are just json files that get rendered
to html so there's no haskell or python code running. If you're allowing other
people to upload notebooks though, you'll want to sandbox them inside an
iframe to prevent xss attacks - at work we do this, but allow some channels of
communication using the postmessage API.

~~~
hilop
What happens when I execute a notebook that you wrote, that had Haskell magics
in it? Surely the server will run that code? And it might have exploitable
bugs?

