20240106

LET (inline)

** L E T
** LET
*
* Permite declarar uma variável auxiliar localmente no
* contexto de uma expressão.
*
*
 LET IN ,,,(expressão).

** ANTES
data(v1VALUE y_pot(
   val 1
   sqr )
   cube )
).

*** AGORA
*
data(v1VALUE y_pot(
   LET v IN
   val  v
   sqr  v * v )
   cube v * v * v )
).



** Uso na forma básica
** --> Exemplo com duas variáveis


**
** Exemplo construindo dado com VALUE
** -->

*
 DATA(v3VALUE y_values(
    LET v1 2
        v2 v1 + )
    IN
    val1 v1
    val2 v1 + v2 )
 ).



** Exemplo com Field-Symbol
** -->

*
 DATA(v3VALUE y_pot(
    LET <v1> t_val[1]--val
        v2 <v1> + )
    IN
    val1 <v1.
    val2 <v1> + v2 )
 ).