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
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)
...