Add expressions and statements for more instruction and macros
Clarification and motivation
There are still instructions and macros that have not been ported to Indigo, but are part of Lorentz (and/or Michelson), we should be adding these to Indigo:
-
ifNone
(we haveifSome
, that can be used instead of it, but we should also have the Michelson standard one) -
left
,right
,ifLeft
,ifRight
ifCons
-
assertNone
,assertSome
,assertLeft
,assertRight
-
loopLeft
(note, just like we handleloop
s withwhile
anditer
withforEach
we should handle this with awhileLeft
Additionally, we should add whenLeft
and whenRight
(just like we did for None
/Some
).
Note: lambda-related instr/macros are not included in this issue because they should be handled separately.
Acceptance criteria
All the instructions and macro described above have a corresponding expression or statement in Indigo.