But really the inspiration is "Toit like a toiger".
Toit is really just a silly pronunciation of "tight". The idea of tightness is that it's concise and efficient to express something in Toit.
For example, blocks (a bit like lambdas) are introduced with just a colon, and the default name for a single argument is "it". So in Java you would have:
joins.forEach(join -> mIrc.join(mSession, join));
In Toit that might be:
joins.do: irc.join(session, it)
Note that unlike in Java you can manipulate local variables inside the code block, and you can also return early from the whole method using "return". So in some ways it combines the advantages of the old-fashioned for-loop with the neatness of lambdas.
We already have a compiler to bytecodes, so I guess you mean will we have challenges when writing a JIT or a compiler to native code? The answer is there will be lots of challenges, but this is exactly the sort of thing we love working on :-)
But really the inspiration is "Toit like a toiger".
Toit is really just a silly pronunciation of "tight". The idea of tightness is that it's concise and efficient to express something in Toit.
For example, blocks (a bit like lambdas) are introduced with just a colon, and the default name for a single argument is "it". So in Java you would have:
joins.forEach(join -> mIrc.join(mSession, join));
In Toit that might be:
joins.do: irc.join(session, it)
Note that unlike in Java you can manipulate local variables inside the code block, and you can also return early from the whole method using "return". So in some ways it combines the advantages of the old-fashioned for-loop with the neatness of lambdas.
We already have a compiler to bytecodes, so I guess you mean will we have challenges when writing a JIT or a compiler to native code? The answer is there will be lots of challenges, but this is exactly the sort of thing we love working on :-)