El tipo de las expresiones aritméticas con variables
1. El tipo de las expresiones aritméticas con variables en Haskell
La expresión 2*(a+5) puede representarse por
P (C 2) (S (V 'a') (C 5))
usando el tipo de las expresiones aritméticas con variables definido como se muestra a continuación.
module Expresion_aritmetica_con_variables where data Expr = C Int | V Char | S Expr Expr | P Expr Expr
2. El tipo de las expresiones aritméticas con variables en Python
La expresión 2*(a+5) puede representarse por
P(C(2), S(V('a'), C(5)))
usando el tipo de las expresiones aritméticas con variables definido como se muestra a continuación.
from dataclasses import dataclass @dataclass class Expr: pass @dataclass class C(Expr): x: int @dataclass class V(Expr): x: str @dataclass class S(Expr): x: Expr y: Expr @dataclass class P(Expr): x: Expr y: Expr