Skip to content

Instantly share code, notes, and snippets.

View agocorona's full-sized avatar
💭
Status at .... https://gitter.im/Transient-Transient-Universe-HPlay/Lobby

Alberto agocorona

💭
Status at .... https://gitter.im/Transient-Transient-Universe-HPlay/Lobby
View GitHub Profile
@agocorona
agocorona / composinguncomposable.md
Last active September 7, 2024 07:42
Composing the uncomposable

This is a serie of reflections on the presentation of Runar Branson Specifically, in the 39:30 he mention side effects as one of the main causes of the lack of composability. Most of the time we need the effects arranged in a different way than the one that forces the composition. For the example that he mentions: choose coffe, pay, serve, we can sustitute the one whose effect we want to reorder (pay) by one non-effectful, (add-to-cart) so that we can make many selections and pay at the end. What we do is to keep in the cart state the items selected.

But there are other reasons why side effects can prevent composition: threading, blocking for wathever reasons: communications, semaphores, callbacks, concurrency, loops waiting for some conditions... These are considered as lost cases for composition and not even mentioned. But transient demonstrates that this is not the case, that it is possible t

The Evolution of Software Composition

Historical Timeline of Computing Paradigms

Era Innovation Impact
Machine Code Era Introduction of CPUs, interrupts, and high-level languages (FORTRAN) Enabled batch processing and direct formula execution through pure numerical algebra
Random Access Disk IO Era Introduction of DMA and synchronous I/O blocking in operating systems Facilitated interactive console applications with algebraic composition, albeit limited to single-threaded execution

The Object-Oriented Programming Era