@louis so I wanted to write about the importance and tradition of using #closer2mop to change the meaning of standard-class #CLOS objects to refer to persistent objects supported by a database backend instead of connecting to a database as a design priority.
Basically I think it's nuts to send SQL to a database via a database connector within a program in the real language of the program, as it were. The SQL connector stuff is a regretful part of the available low level database infrastructure
A great paper from 2004 by Richard P. Gabriel (Lucid, Inc.), Jon L White (Lucid, Inc.), Daniel G. Bobrow (Xerox PARC) that explains how Common Lisp Object System integrates functional and object-oriented programming: https://dreamsongs.com/Files/clos-cacm.pdf
#Lisp #CommonLisp #CLOS #OOP #ObjectOrientedProgramming #FunctionalProgramming #Programming #ProgrammingLanguages #PLT #XeroxPARC #PARC
#lisp #commonlisp #clos #oop #objectorientedprogramming #functionalprogramming #programming #programminglanguages #plt #xeroxparc #parc
I've written a small version of the #emacs desktop mode package for #lem. It required serializing a point in the buffer. In emacs, point is just a numeric character offset In #lem-editor iit is a #CLOS object with line number, offset in the line, buffer and other details. It doesn't have a reader form; I'm not sure it's possible to save all of the fields, but I wonder I should attempt to make it serializable. I can reconstruct it given line number, offset and buffer name.
I'm not sure of the best way to restore the file buffer in lem. find-file is interactive and may do the wrong thing. I ended up using find-file-buffer, but am worried that it doesn't do everything when setting up the buffer. I get crashes after running desktop-restore.
My fickle attention has been captured by the #lem editor. An #emacs- ike editor implemented in #commonlisp. I've already contributed a couple of small changes, now I'm deep in to refreshing my common lisp knowledge.
There's a lot to learn about lem before I can do much useful. it has great cross referencing of functions, but I need to figure out to add the #sbcl tags as well.
lem uses #CLOS, but not as extensively as I would have thought. Which is probably smart.
#lem-editor
#lem #emacs #commonlisp #sbcl #clos
https://en.wikipedia.org/wiki/Entity_component_system#Characteristics
> This eliminates the ambiguity problems of deep and wide inheritance hierarchies often found in Object Oriented Programming techniques that are difficult to understand, maintain, and extend. Common ECS approaches are highly compatible with, and are often combined with, data-oriented design techniques.
I'm sorry what? Generics and multi-methods #ObjectOriented sytems (https://en.wikipedia.org/wiki/Multiple_dispatch) have no such problem.
#objectoriented #clos #commonlisp #wikipedia
i was playing around with using EIEIO and jeison.el for mastodon.el, but ran into this problem: how to have a slot on an object that contains a list of objects: https://emacs.stackexchange.com/questions/77383/hold-a-list-of-objects-in-the-slot-of-another-object. perhaps someone around here knows EIEIO or CLOS or just OOP and has an idea?
i was also struggling to have a slot hold an object of the same class as itself (i.e. for mastodon, a boost is a status with a 'reblog' field containing the original status).
by contrast, a status object can have an account object in a slot, no problems.
#clos #lisp #mastodonEl #emacs
@natty Because it's completely unnecessary in proper #Object systems like #CLOS.
That is to say, #multimethod / #GenericFunction based object systems.
#object #clos #multimethod #genericfunction
@BigEatie There are also other niceties not inherent to lisps but convenient like I'm quite fond of #CLOS in #CommonLisp and the Condition System as well (it's one of the things I like in CL over #Scheme).
Common Lisp also does dynamic language environments better than many other Lisp implementations (though #Smalltalk, a non-Lisp, also does dynamic language just fine).
#clos #commonlisp #scheme #smalltalk
@Angle @smari Data-driven could lend itself to different composition patterns.
Part of the issue though with Object-Oriented programming is that the most common form is also the worst form. Java-style objects are a half-assed ripoff of Smalltalk actor objects.
Which personally I find less practical than #CLOS-style multiple dispatch, where objects really are just encapsulating datastructures to be manipulated.
@dekkzz76 It is a proper programming language and has a JIT since v3.0 (so performance is also pretty good).
It even has a semi-clone of #CLOS called #GOOPS built-in, for more goodness.
Unfortunately differences in Scheme's semantics means it can't have the #CommonLisp Condition system without either breaking compatibility with the Scheme standard or adding a lot of complexity & maintenance work.
It's one of the larger Scheme implementations.
Anything in particular you want to ask?
›They Have Played Us #Programmer|s for Absolute #Fool|s‹
🧷 https://www.youtube.com/watch?v=QTiAWZ1YfzI&t=217s
🌺
🏷️ #Lisp #Scheme #CommonLisp #CPP #Rust #DennisRitchie #BrianKernighan #BjarneStroustrup #CLang #Rustacean #MetaProgramming #Risitas #JohnMcCarthy #Unix #Pipes #Segfault #NullPointer #UndefinedBehaviour #GarbageCollection #MemoryManagement #BellLabs #ObjectSystem #FunctionalProgramming #Syntax #Rustaceans #MemorySafety #ElRisitas #CLOS #AMOP
#programmer #fool #lisp #scheme #commonlisp #cpp #rust #dennisritchie #briankernighan #bjarnestroustrup #clang #rustacean #metaprogramming #risitas #johnmccarthy #unix #pipes #segfault #NullPointer #undefinedbehaviour #garbagecollection #memorymanagement #belllabs #objectsystem #functionalprogramming #syntax #rustaceans #memorysafety #elrisitas #clos #AMOP
40 days left to the submission deadline of #EuropeanLispSymposium (#ELSConf) in #Amsterdam:
🧷 (Friendica) https://libranet.de/display/0b6b25a8-1763-a88a-e526-72b275177682
🦎 (Matrix) https://matrix.to/#/!gqlYAZsfzSnmFNEHAT:magdeburg.jetzt/$z7kGECRQluF1iZzNhW-0I1e3lUmg-pff8PcAh96gox4
🦎 (Telegram) https://telegram.me/FamilyOfLisp/309
🌺
🏷️ #Lisp #Scheme #CommonLisp #Clojure #Racket #Emacs #ACL2 #AutoLisp # ISLisp #DylanLang #SKILL #Hy #Shen #Carp #Janet #uLisp #Picolisp #Gamelisp #TXR #InterLisp #Medley #OpenGenera #Symbolics #ThinkingMachines #ConnectionMachine #MultiLisp #AMOP #CLOS #SICP #PAIP #AIMA #Lambda #CLtL2 #HTDP
#EuropeanLispSymposium #ELSCONF #amsterdam #lisp #scheme #commonlisp #clojure #racket #emacs #acl2 #autolisp #dylanlang #skill #hy #shen #carp #janet #ulisp #picolisp #gamelisp #txr #interlisp #medley #opengenera #symbolics #thinkingmachines #connectionmachine #multilisp #AMOP #clos #sicp #paip #AIMA #lambda #cltl2 #htdp
On #Friendica and #Telegram:
›Call for Papers — 16th European #Lisp Symposium — #ELSConf —#Amsterdam — 2023-04-24/25‹
🔗 Friendica: https://libranet.de/display/0b6b25a8-1763-a88a-e526-72b275177682
🦎 Telegram: https://t.me/FamilyOfLisp/309
🌺
🏷️ #CommonLisp #Scheme #EmacsLisp #Clojure #Racket #ACL2 #AutoLisp #ISLISP #DylanLang #SKILL #Hy #Shen #Carp #Janet #Jank #uLisp #Picolisp #Gamelisp #TXR #FunctionalProgramming #AMOP #SICP #CLOS #PAIP #CLtL2 #AIMA #Emacs #VIM #LispWorks #AllegroCommonLisp #ACL #CLISP #SBCL #MetaObject #MetaObjectSystem
#friendica #telegram #lisp #ELSCONF #amsterdam #commonlisp #scheme #emacslisp #clojure #racket #acl2 #autolisp #islisp #dylanlang #skill #hy #shen #carp #janet #jank #ulisp #picolisp #gamelisp #txr #functionalprogramming #AMOP #sicp #clos #paip #cltl2 #AIMA #emacs #vim #lispworks #allegrocommonlisp #acl #clisp #sbcl #metaobject #metaobjectsystem
If you would like to come over to a friendly group on Telegram focused on the programming languages in the #FamilyOfLisp — please feel welcomed to join!
We are here:
🌺
🏷️ #Lisp #Scheme #CommonLisp #Racket #InterLisp #Clojure #BaLindaLisp #Hy #ELSConf #ZetaLisp #LispMachine #ConnectionMachine #ThinkingMachines #Emacs #AutoLisp #CLOS #AMOP #SICP #CLtL2 #PAIP #AIMA #PCL #Symbolics #Genera #DylanLang #LFE #ISLisp #Arc #Janet #Jank #OnLisp #HTDP #CLHS #EuLisp
#familyoflisp #lisp #scheme #commonlisp #racket #interlisp #clojure #balindalisp #hy #ELSCONF #zetalisp #lispmachine #connectionmachine #thinkingmachines #emacs #autolisp #clos #AMOP #sicp #cltl2 #paip #AIMA #pcl #symbolics #genera #dylanlang #lfe #islisp #arc #janet #jank #onlisp #htdp #clhs #eulisp
16th #EuropeanLispSymposium
— #CallForPapers —
The #ELS invites high quality papers about novel research results, insights and lessons learned from practical applications, and educational perspectives. We also encourage submissions about known ideas as long as they are presented in a new setting and/or in a highly elegant way.
#Lisp #CommonLisp #Scheme #Emacs #Clojure #Racket #ACL2 #AutoLisp #ISLISP #Dylan #SKILL #Hy #Shen #Carp #Janet #uLisp #Picolisp #Gamelisp #TXR #MOP #CLOS #CfP
#EuropeanLispSymposium #callforpapers #els #lisp #commonlisp #scheme #emacs #clojure #racket #acl2 #autolisp #islisp #dylan #skill #hy #shen #carp #janet #ulisp #picolisp #gamelisp #txr #mop #clos #cfp
16th #EuropeanLispSymposium
— #CallForPapers —
🔭 Scope 🔭
The European Lisp Symposium is a premier forum for the discussion and dissemination of all aspects of design, implementation and application of any of the Lisp dialects, including #CommonLisp, #Scheme, #Emacs #Lisp, #Clojure, #Racket, #ACL2, #AutoLisp, #ISLISP, #Dylan, #SKILL, #Hy, #Shen, #Carp, #Janet, #uLisp, #Picolisp, #Gamelisp, #TXR, and so on.
We encourage everyone interested in Lisp to participate!
#EuropeanLispSymposium #callforpapers #commonlisp #scheme #emacs #lisp #clojure #racket #acl2 #autolisp #islisp #dylan #skill #hy #shen #carp #janet #ulisp #picolisp #gamelisp #txr #mop #clos #metaobjectsystem
16th #EuropeanLispSymposium
— #CallForPapers —
April 24-25, 2023
Startup Village, #Amsterdam (NL)
➡️ https://www.european-lisp-symposium.org/2023
📅 Important Dates 📅
➡️ 2023-02-26 — Submission deadline
➡️ 2023-03-26 — Author notification
➡️ 2023-04-09 — Final Papers Due
➡️ 2023-04-24 — Day 1, Monday
➡️ 2023-04-25 — Day 2, Tuesday
#ELS #Lisp #CommonLisp #Scheme #Emacs #Clojure #Racket #ACL2 #AutoLisp #ISLISP #Dylan #SKILL #Hy #Shen #Carp #Janet #uLisp #Picolisp #Gamelisp #TXR #MOP #CLOS #CfP
#EuropeanLispSymposium #callforpapers #amsterdam #els #lisp #commonlisp #scheme #emacs #clojure #racket #acl2 #autolisp #islisp #dylan #skill #hy #shen #carp #janet #ulisp #picolisp #gamelisp #txr #mop #clos #cfp
If you’re curious about how underlay #network infrastructure is built at #AWS - this talk maybe of interest for you https://youtu.be/HJNR_dX8g8c
#cloud #Clos #switching #ethernet
#network #aws #cloud #clos #switching #ethernet
The Art of the Metaobject Protocol
(1991) : Gregor Kiczales and Jim des Rivieres and Daniel G. Bobrow
DOI: https://doi.org/10.7551/mitpress/1405.001.0001
#CLOS #__important #common_lisp #introspection #lisp #meta #programming_language_design #protoco
#my_bibtex
#clos #__important #common_lisp #introspection #lisp #meta #programming_language_design #protoco #my_bibtex