Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Dockerfile so new users can quickly try out the language #3

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Christopher-Chianelli
Copy link

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.

@c3d
Copy link
Owner

c3d commented Jan 26, 2020

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?

@Christopher-Chianelli
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants