El tipo de las expresiones aritméticas básicas
1. El tipo de las expresiones aritméticas básicas en Haskell
La expresión aritmética 2*(3+7) se representa por
1 |
P (C 2) (S (C 3) (C 7)) |
usando el tipo de dato definido a continuación.
1 2 3 4 5 |
module Expresion_aritmetica_basica where data Expr = C Int | S Expr Expr | P Expr Expr |
2. El tipo de las expresiones aritméticas básicas en Python
La expresión aritmética 2*(3+7) se representa por
1 |
P(C(2), S(C(3), C(7))) |
usando el tipo de dato definido a continuación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
from dataclasses import dataclass @dataclass class Expr: pass @dataclass class C(Expr): x: int @dataclass class S(Expr): x: Expr y: Expr @dataclass class P(Expr): x: Expr y: Expr |