20240106

LET (inline)

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

** ANTES
data(v1) = VALUE y_pot(
   val = 3 + 1
   sqr = ( ( 3 + 1 ) * ( 3 + 1 ) )
   cube = ( ( 3 + 1 ) * ( 3 + 1 ) * ( 3 + 1 ) )
).

*** AGORA
*
data(v1) = VALUE y_pot(
   LET v = ( 3 + 1 ) 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(v3) = VALUE y_values(
    LET v1 = 2
        v2 = ( v1 + 1 )
    IN
    val1 = v1
    val2 = ( v1 + v2 )
 ).



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

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