Programming language in snap! (ESL (English syntax language)) (Part 4)

Continuing the discussion from Funny programming language in snap! (Part 3).

Previous discussions:

Okay, never said that I didn't want them to try, though.

Ok, if ya say so. Just sayin, I've already tried to make my own programming language in snap and it didn't work.

There are two different issues here.

One of them is about building a development environment, which could be web-based (like Snap!) or on your local computer. This is the program into which you type the text of your program and then ask to compile and/or run it.

Right now, it's painful to build a development environment for a text-based language in Snap! because our text handling capability is pretty minimal. There's ASK AND WAIT, which lets your program type one line of text and read one line of text back from the user. And you can put a bunch of responses into a list, to get a two-dimensional text, sort of.

Actually I think if I were trying this, I would have the user, the person who's writing the program in, I dunno, Funnybol (just to have a name for a language), type the entire program into a JSFunction block, and then not actually send it to Javascript but instead extract the text from the block and use it as the program text. The JSFunction block is the closest thing we have to an internal text editor.

On the other hand, about a week ago Jens mentioned in passing that it might be helpful for his work if we had text boxes, so everybody keep your fingers crossed and wish for that to get bumped up in the "someday" list.

Anyway. I said two issues, and one is the IDE. The other issue is the programming language itself. Writing an interpreter for a programming language isn't very hard, and even a compiler is doable if you don't worry too much about efficiency, at least until you can get it to compile at all. ("It's easier to speed up a correct program than to debug a fast program.") The people who want it to be Java are biting off more than I would want to chew at my first meal. I would respectfully suggest starting with a Scheme interpreter, because the syntax is trivial, and the language is very expressive. And we have all the big features already available. (Find an online copy of R5RS or earlier, back when Scheme was still really Scheme, rather than a more recent version.)

The actual programming language implementation is, I think, the fun part. Instead of coping with the limitations of Snap! input/output, you're taking advantage of the -- what's the opposite of "limitations"? -- excellences of Snap!'s computing ideas.

I'm not sure what it is you were trying to do that led to the remark quoted above. If you were struggling with an IDE, I can understand your frustration. But implementing the actual programming language is perfectly possible.

I can't only the mods can! also the word "Funny" came from some other random thing I copy-pasted, that was a mistake.

What would you like it to be titled?

what will those be like?

22 posts were split to a new topic: Text boxes

@sathvikrias Do you want to use blocks or use JS to create the language?

I'd love to use JS btw.

something jens will like (aka blocks)

I think we need to start making the project. I (and whoever else) will check for bugs and check the program.

(in part 3)
funtime_foxy101 said:

Um, but i don't think it's possible to make a programming language with the Snap! language.

i have