Funny programming language in snap! (Part 1)

Maybe there could be a setting

will there be grammar checks?

wdym?

Have you even considered how hard this will be to implement?

i know it will be really hard, it is hard to make an easy language

That is definitely true. And of course, relitively easy to make a hard language.

i guess

yep

for loops would look like this

create an 8 bit integer script variable called "a"
set a to 0
do"
say a for 0.5 seconds
change a by 2
"until a is equal to 10 or more than 10

no! just

whats wrong with it?

ok fine everything is 64 bit unassigned

it is too annoying to type, and snap! just has a script variables block, not a 64 bit unassigned script variables block.

ohhhh i thought we were doing it on another platform :rofl:

What about this?

create these script variables:"
a"  /*to allow for multiple variables at once, like the primitive block*/
set a to 0
do this:"
say a
wait 0.5 seconds
stop speaking
set a to (a plus 2)
"until (a is larger than 10) or (a is equal to 10)

It uses some non-english syntax, but would you really want to write out things like open parens or close parens to prioritize math functions?

yes something like this!

what about loops being like this

do 10 times {
code
}

that works, though I also like

do 10 times [
. . .
]

.

sure

Parens and no spaces allowed in any name will make it better

I think you can fuse it into SnapText

My math teacher prohibits them.
(2+3)*5 is pronounced as "the product of the sum of two plus three multiplied by five"
and there should be no parsing work of the precedence
so

should be

ignore the null of create_these_script_variables a
ignore the null of the currying of set_to a the number of 0
ignore the null of the currying of do_this_until the boolean of the comparision of the null of 
 the currying of is_than the value of a the option of larger_or_equal the number of 10 the lambda_expression of {
ignore the comment of you_can_omit_these_brackets_when_there_is_only_one_command
ignore the null of the currying of say_secs the value of a 0.5
ignore the number of the currying of the currying of math_operation a the option of add_back 2
}

Really terrible but its all in english (except the brackets and some functions that have more than one text label)
Why "the currying"?Because this syntax can only handle functions with one parameter or the precedence might ambiguit.
Then a function is like this:

function
    "the" type "of" identifer parameter
type
    "number"
    "string"
    "value"(reserved)
    "currying"(reserved)
    "lambda_expression"(reserved)
    "null"(reserved)
    ...