As I understand it, let
defines a reference, which can be seen as an alias, so for example let x = y * y * y
doesn't compute y * y * y
but the occurrences of x
will be replaced by y * y * y
.
Local variables are similar to other languages local variables.
As in https://www.cairo-lang.org/docs/hello_cairo/dict.html, what does it mean to write let (local dict_start : DictAccess*) = alloc()
? That every instance of local dict_start : DictAccess*
will be replaced by alloc()
? Why not just local (dict_start : DictAccess*) = alloc()
or let (dict_start : DictAccess*) = alloc()
?