xl icon indicating copy to clipboard operation
xl copied to clipboard

Add Dockerfile so new users can quickly try out the language

Open Christopher-Chianelli opened this issue 5 years ago • 2 comments

I decided to add a basic Dockerfile so new users can quickly try out the language without having to install dependencies. Currently, the Dockerfile starts the interpreter" (in quotes because it waits for EOF before outputing anything) and reads from stdin (so you need to send Control-D to see output). The Dockerfile does have a few issues from a reproducibility standpoint: since the Makefile references git-submodules, we need to clone the repo in the Dockerfile. This affects reproducibility as it will always use the latest commit and depends on internet .

Future work:

  • Make the Docker file open a port to a web IDE.

Christopher-Chianelli avatar Jan 25 '20 23:01 Christopher-Chianelli

Hi Christopher,

I think it's a very good idea, but it's way too early in my opinion for people not interested in working on developing the interpreter or compiler to even test that. Your experience with the for loop is a good illustration.

I would probably keep that open, but merge it only in maybe a year or two, when the interpreter and compiler behave acceptably well on a larger range of input (for me, "self compiles" would probably be a good signal, maybe a bit earlier than that).

What do you think?

c3d avatar Jan 26 '20 07:01 c3d

True; we do want the first user experience to be good after all. For it to be good, it would need some developer tools (syntax highlighting, code completions, etc.). Some ways to accomplish this:

  • Create a language server (Eclipse, VSCode, and other IDE's use language server protocols to integrate new languages)
  • Create a custom IDE
  • Create plugins for existing IDE's

All of these requires a bunch of work, and should wait until the language itself is stable and working. Self-compiles would be a fantastic indicator of language stability. Do let me know when the language is more stable; I might create some developer tools for it.

Christopher-Chianelli avatar Jan 26 '20 20:01 Christopher-Chianelli