from pydantic import BaseModel
from tensorlake.applications import application, function, map as tl_map, reduce as tl_reduce
class Total(BaseModel):
value: int = 0
def generate_seq(x: int) -> List[int]:
return [i for i in range(x)]
@application()
@function()
def aggregate_squares(total_numbers: int) -> Total:
squares = tl_map(square, generate_seq(total_numbers))
total = tl_reduce(accumulate_total, squares, Total(value=0))
return total
@function()
def square(number: int) -> int:
return number ** 2
@function()
def accumulate_total(total: Total, number: int) -> Total:
total.value += number
return total