#+TITLE: SID: tectalk : classification of things #+AUTHOR: humans #+DATE: 2026-06-07 #+OPTIONS: toc:6 num:nil #+HTML_HEAD: * Things & Classes :meta:lisp:abstractions: ** konkretes Problem: Was ist das, was ich hier aufschreibe? ** Entitäten wechseln ihre Klasse: Note -> Howto or Part-of-FAQ? Embrio -> Child -> Adult #+begin_verse erst eine zeile, dann Notiz, ? dann howto? oder ? faq-eintrag? was? oder Wechsel von faq-eintrag zu ?) ??? #+end_verse Beleuchten! Weil: ** Lass das doch so "Passieren"! Weil: *Ich* muß immer das gedachte Modellieren. Irgendwelche "Pattern" auszusprechen ist so falsch!!! das sind Modelle: die dürfen nicht im Code erscheinen! Dort "spricht" das "Problem", also: Das Modell/Pattern zeigt seine Wirkung. Einschub OOP #+begin_verse Objektorientieres: CLOS: adapt (adaptieren, nachrüsten,...) the Implementation-Modell (a structured-plan) to your Problem-modell bsp. [[https://atgreen.github.io/repl-yell/posts/clos-mop-dispatch/][clos-mop-dispatch adapt to Java-Semantik]] Darin:Umsetzung neuester Konzepte wie Aspect-oriented oder (ein follow-up) Context-Orientiertes OOP. #+end_verse *** OOP, CLOS: Adapt (adaptieren, nachrüsten,...) the Implementation-Modell (a structured-plan) to your Problem-modell **** object-lisp, like objective-c and js: aprototyping approach. :PROPERTIES: :CREATED: 2026-06-10 21:21:31 :END: ***** Message concept a la Alan Kay Vorgänger von:clos, das die Verantwortungen aufteilt Die Funktionen von der Klasse löset (Multi-Methods, dispatch on more than one arg) Nachteile fürs hirn!: ***** Vorteile von OL Jetz ist CLOS Standard: **** CLOS: adapt (adaptieren, nachrüsten,...) the Implementation-Modell (a structured-plan) to your Problem-modell ***** Concept generics, meta-object-protocoll etc **** Generic Functions: /may/ decouple actions from entities or classes: /Enabler/! ***** both paradigms (place of definition: case-like or lexical near-by) **** Abstractions exaclty how you need them Wenn du das im konkreten Fall nicht brauchst, ignorierst Du es, aber es ist da, wenn Du es mal haben mußt! ** Abstraktion: was ist das hier?: meta-note :meta:note: ** Daraus folgt: Behalte eine saubere trennung in Meta(Modell) und Konkret(Impl.) bez. der Sprache! Lass die "Sätze" der "Geschichte" in beiden Ebenen "richtig" klingen. Dazu muss das Naming perfekt sein. Wenn das geht, ist die Effizient des Entwicklers Optimal: - minimale Load im Hirn. - Konzept im Hirn nahezu unkaputtbar -> Programm (Implementierung) stabil, unkaputtbar. So sollte es sein. Prüfung per Modell-brecher: Jemand der Aufgaben bzw. Fragen so stellt, das die komplexe Logik eines Satzes dabei eventuell Schwächen enttarnt, ;; fixme: explain ** Witzig: ich mache das /immer/ :PROPERTIES: :CREATED: 2026-06-10 08:03:38 :END: auch beim Denken über anderes. Anstrengend, aber gründlich. ** Deshalb komme ich von Lisp nicht weg (Semantisch) genauer von Common-lisp. Aber das war ein Fehler: Erst die Möglichkeiten (Vertikalität) von Emacs hat mich "gelehrt" was Struktur ist. Wow! Ja: Konzepte ganz hoch oben (Exceptions, CLOS, macros) Implementation Bottom-Up: Klein-schrottig, nein, Klein-schrittig wie mein Hirn -> Passt! Anders kann ich gar nicht! ** Dazu: Die syntax! Mein schlimmster Feind: als quasi Legastheniker, zur zeit ohne Korrektur (Absicht) :-) OK, Zumutung, Ändern! Aber auf-schluss-reich!