[IPython-dev] IScala: a Scala-language backend for IPython

Mateusz Paprocki mattpap@gmail....
Mon Sep 9 11:08:10 CDT 2013


Hi,

On 8 September 2013 22:49, Matthias BUSSONNIER
<bussonniermatthias@gmail.com> wrote:
> Hi,
>
> Great to see that, happy that you were able to bind to IPython frontend.
>
> You might be able to enable scala highlighting in notebook pretty easily
> as code mirror support it.
> Ask if you ned help.

The support in CodeMirror is rather limited (only clike mode with
Scala keywords), but sufficient for now. However, I don't see any
wiring in notebook, because it doesn't take advantage of information
sent in kernel_info message, unless I'm missing something.

> As you might know (or not) we will do some changes in the protocol/notebook
> format for next release, you might want to follow that, and give us your input.
>
> Especially if there are python-ism  that are annoying for you.

There are quite a few things to fix/improve. I will gradually start
issues for those (first I have to review collected material and see
what was already submitted by IJulia team, because there is obviously
a lot of overlap).

> (we'll try to ping you on relevant issues if we think of it.)

I'm watching this mailing list and issues so I shouldn't miss anything.

>> I didn't encode notebooks directly in the JSON-based
>> format, but I invented an adhoc format based on Markdown with support
>> for cells.
>
> Any reason for that ? think your were missing/being annoyed in json ?
> Having  notebook as ipynb should allow you to render them
> on nbviewer/using nbconvert.
>
> We already have kind-of something alike that import .py files tagged with comments
> but without support four 'outputs' block as I think it does not make sense to manually edit
> output. It might be moved into nbconvert at some points.

It's easier for me to work with a text editor (vim), but editing JSON
is far from being optimal. I also wanted to encode information about
different types of outputs, so that results, stdout and stderr weren't
mixed together. Finally, the original files were written in Textile
(just a few vim macros were needed to convert them to Markdown) with
source code embedded and I didn't want to rewrite it further (i.e.
having Scala files with text embedded in comments). Generated ipynb
files can be found on gh-pages branch so you can use nbviewer on them,
or just view generated html files.

> Thanks,
>
> --
> Matthias
>
>
> Le 8 sept. 2013 à 21:54, Mateusz Paprocki a écrit :
>
>> Hi,
>>
>> I would like to announce IScala: a Scala-language backend for IPython,
>> see [1]. Scala is general purpose, object-functional, statically typed
>> programming language for JVM. IScala is an early work in progress, but
>> it's already fairly usable. All three types of frontends are
>> supported. Required dependencies are IPython 1.0+ and Java Runtime
>> Environment 1.6+. See README.md for installation and usage details.
>>
>> [...]
>>
>> During development of IScala I also created a set of notebooks with
>> Scala code, see [2]. Those are based on a subset of Twitter's Scala
>> lessons [3]. I didn't encode notebooks directly in the JSON-based
>> format, but I invented an adhoc format based on Markdown with support
>> for cells. There is a simple converter that allows to generate
>> IPython-compatible notebooks.
>>
>> [1] https://github.com/mattpap/IScala
>> [2] https://github.com/mattpap/scala_school_notebooks
>> [3] https://github.com/twitter/scala_school
>>
>> Mateusz
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev@scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev@scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev

Mateusz


More information about the IPython-dev mailing list