Literature: Language Summaries (Python & Racket)
This note captures selected foundational overviews for two core development languages used and referenced within the vault.
Python Selected Patterns
- Decorators: Behavioral extension using closures and
@decoratorsyntax. Preservation of metadata viafunctools.wrapsis recommended. - Context Managers: Resource safety through the
withstatement (__enter__/__exit__), including async variants. - Type Hinting: Evolution toward static analysis (PEP 484) with built-in collection support standardized in Python 3.9+ and union operators in 3.10+. Type hints remain advisory at runtime even when static tooling treats them as contracts.
Racket LOP Philosophy
- Language-Oriented Programming (LOP): Racket's design philosophy strongly emphasizes building custom Domain-Specific Languages (DSLs).
- Hygienic Macros: Advanced syntax objects that prevent name collisions during expansion.
- Software Contracts: Mechanisms for enforcing boundaries and specifying behaviors between components.
- Multi-Paradigm: Support for functional, imperative, OO, and logic programming within the Lisp-Scheme family.