Spaces:
Running
Running
Changelog of the functional-programming course
2025-03-11
- Demo version of notebook
05_functors.py
2025-03-13
0.1.0version of notebook05_functors
Thank Akshay and Haleshot for reviewing
2025-03-16
Use uppercased letters for
Generictypes, e.g.A = TypeVar("A")Refactor the
Functorclass, changingfmapand utility methods toclassmethodFor example:
@dataclass class Wrapper(Functor, Generic[A]): value: A @classmethod def fmap(cls, f: Callable[[A], B], a: "Wrapper[A]") -> "Wrapper[B]": return Wrapper(f(a.value)) >>> Wrapper.fmap(lambda x: x + 1, wrapper) Wrapper(value=2)Move the
check_functor_lawmethod fromFunctorclass to a standard function
- Rename
ListWrappertoListfor simplicity - Remove the
Justclass
- Rewrite proofs