Swift kernel for Jupyter Notebook/IPython


(Jin Wang) #1

Hey guys,

I'm building a swift kernel for Jupyter Notebook. If you haven't heard of
it, *the Jupyter Notebook is a web application that allows you to create
and share documents that contain live code, equations, visualizations and
explanatory text*.

The project is still at its early stage so some of the features haven't
been implemented. It currently support *linux environment*, *code execution*
and simple *autocompletion*. My goad is to create a kernel that can be used
to create blogs/tutorials with embedded swift code that can be executed.
It's kinda like Playground on the web but lacks quite a few features lol...

You can find the project at https://github.com/KelvinJin/iSwift.Linux. And
the demo at http://jupyter.uthoft.com. It utilises the power of existing
Swift REPL.

Feel free to provide any recommendations, issues and pull requests.

Thanks,
Jin


(David Young) #2

Does the Swift code run with all of the privileges of the notebook
app or its user?

In general, I am curious if/how people are arranging to run Swift code
with a restricted execution environment.

Dave

···

On Wed, Feb 08, 2017 at 12:39:34PM +0000, Jin Wang via swift-users wrote:

Hey guys,

I'm building a swift kernel for Jupyter Notebook. If you haven't heard of
it, *the Jupyter Notebook is a web application that allows you to create
and share documents that contain live code, equations, visualizations and
explanatory text*.

--
David Young
dyoung@pobox.com Urbana, IL (217) 721-9981


(David Young) #3

Does the Swift code run with all of the privileges of the notebook
app or its user?

In general, I am curious if/how people are arranging to run Swift code
with a restricted execution environment.

Dave

···

On Wed, Feb 08, 2017 at 12:39:34PM +0000, Jin Wang via swift-users wrote:

Hey guys,

I'm building a swift kernel for Jupyter Notebook. If you haven't heard of
it, *the Jupyter Notebook is a web application that allows you to create
and share documents that contain live code, equations, visualizations and
explanatory text*.

--
David Young
dyoung@pobox.com Urbana, IL (217) 721-9981


(Jin Wang) #4

Hey David,

I'm currently using the existing REPL to power the code execution.
Eventually, when Swift becomes more stable and Linux gets more support, we
might be able to do visualisations using UIKit or its alternatives. Right
now, as far as I can see, the benefit to write notebook instead of using
Playground would be:

   - the ability to cooperate with people in real time
   - the ability to write explanatory text around the code
   - and the ability to easily share your documents.

Regards,
Jin

···

On Thu, Feb 9, 2017 at 6:39 AM David Young via swift-users < swift-users@swift.org> wrote:

On Wed, Feb 08, 2017 at 12:39:34PM +0000, Jin Wang via swift-users wrote:
> Hey guys,
>
> I'm building a swift kernel for Jupyter Notebook. If you haven't heard of
> it, *the Jupyter Notebook is a web application that allows you to create
> and share documents that contain live code, equations, visualizations and
> explanatory text*.

Does the Swift code run with all of the privileges of the notebook
app or its user?

In general, I am curious if/how people are arranging to run Swift code
with a restricted execution environment.

Dave

--
David Young
dyoung@pobox.com Urbana, IL (217) 721-9981
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


(David Young) #5

Hey David,

I'm currently using the existing REPL to power the code execution.
Eventually, when Swift becomes more stable and Linux gets more support, we
might be able to do visualisations using UIKit or its alternatives. Right
now, as far as I can see, the benefit to write notebook instead of using
Playground would be:

I think that the way I asked my original question was not clear.

   - the ability to cooperate with people in real time

Suppose that you cooperate on a notebook with someone who injects some
Swift code that, say, uses Swift APIs to grovel in the filesystem and
POST personal files to a web server. Using the REPL as the execution
environment, are you able to protect against the filesystem access, or
the web access?

Dave

···

On Thu, Feb 09, 2017 at 12:31:00AM +0000, Jin Wang wrote:

--
David Young
dyoung@pobox.com Urbana, IL (217) 721-9981


(David Young) #6

Hey David,

I'm currently using the existing REPL to power the code execution.
Eventually, when Swift becomes more stable and Linux gets more support, we
might be able to do visualisations using UIKit or its alternatives. Right
now, as far as I can see, the benefit to write notebook instead of using
Playground would be:

I think that the way I asked my original question was not clear.

   - the ability to cooperate with people in real time

Suppose that you cooperate on a notebook with someone who injects some
Swift code that, say, uses Swift APIs to grovel in the filesystem and
POST personal files to a web server. Using the REPL as the execution
environment, are you able to protect against the filesystem access, or
the web access?

Dave

···

On Thu, Feb 09, 2017 at 12:31:00AM +0000, Jin Wang wrote:

--
David Young
dyoung@pobox.com Urbana, IL (217) 721-9981