nwf / dyna

Dyna2 compiler and REPL
GNU Affero General Public License v3.0
146 stars 20 forks source link

Docker for Dyna (because Python is fragile) #85

Open JeffreyBenjaminBrown opened 6 years ago

JeffreyBenjaminBrown commented 6 years ago

Many times when I install Python libraries, things break. I would rather use Docker.

I can already run iPython from Docker. I ordinarily use this Docker image[1]. Suppose I modified that image to include pygments and graphviz (it already includes matplotlib) and Dyna[2]. Will I then be able to do everything I could have done natively?

The reason I ask is that Docker makes networking easy but graphics and other kinds of IO hard. If everything works through iPython, then I'm good to go; my browser can handle all the graphics and whatever else. But if it's using other native IO then I might be out of luck.


[1] That's Python 3, but a parallel one exists for Python 2, and I assume using it is the same

[2] That's a slight simplification. Rather than include Dyna in the Docker image, I would keep Dyna on a native folder, and then mount that folder to the Docker container. That would make it easier to keep my work. I guess I'd still need Haskell and Stack in the Docker image, but I can afford the space.

nwf commented 6 years ago

It seems like that should work, yes. Please share your progress! :)

JeffreyBenjaminBrown commented 6 years ago

Today I got around to trying to Dockerize the project. The process ended with a `Failed to load interface for ‘Control.Monad.Trans.Either’ error. I've documented the process here.

JeffreyBenjaminBrown commented 6 years ago

If following those six steps is too annoying, let me know -- I can upload a docker image that already includes Dyna, so that you wouldn't have to build the image yourself, just download it, run the image, and then run make.