The Common Lisp Object System: An Overview dreamsongs.com/Files/ECOO…
πŸ‘︎ 41
πŸ’¬︎
πŸ‘€︎ u/RentGreat8009
πŸ“…︎ Aug 31 2021
🚨︎ report
Comparing Common Lisp Object System and Java Object System in terms of complexity

In Java Object System (JOS), code and data are usually mixed together in classes.

In Common Lisp Object System (CLOS), code is stored in generics while data is stored in classes.

It seems to me that a program designed in the spirit of CLOS is inherently less complex than a program designed in the spirit of JOS.

By complexity, I mean the effort it takes to understand the system, like it is defined in Out of the Tar Pit) seminal paper.

For example, imagine that we take a UML diagram where objects contain both code and data and that we split each object into a code object and a data object. The resulting diagram is made of two "almost disjoint" diagrams.

The diagram below illustrates an example of such a split. In this diagram, Object-Oriented means JOS while Data-Oriented means CLOS:

https://preview.redd.it/hnwjl7ha6yk61.png?width=1300&format=png&auto=webp&s=9e7e352957edb570785ea9137b0cfd39396d1ab4

I believe that the resulting diagram is simpler than the original one. Now I'd like to prove it, not necessarily for the general case. At least, I'd like to have a formal metric that measure the complexity of a UML diagram.

Here are my questions:

  1. Is there a metric that measures the complexity of a UML diagram?
  2. Is my belief that CLOS is less complex than Java Object System correct?
  3. Are there other ways to illustrate the inherent simplicity of CLOS?
πŸ‘︎ 28
πŸ’¬︎
πŸ‘€︎ u/viebel
πŸ“…︎ Mar 04 2021
🚨︎ report
Quora question from 2017: "Why is Common Lisp Object System (CLOS) considered so powerful? How does it compare to OOP features in other common languages?" Top answer focuses on contrasts with Java. quora.com/Why-is-Common-L…
πŸ‘︎ 30
πŸ’¬︎
πŸ‘€︎ u/flexibeast
πŸ“…︎ Apr 11 2019
🚨︎ report
Common Lisp Object System, collection of papers by Richard P. Gabriel dreamsongs.com/CLOS.html
πŸ‘︎ 21
πŸ’¬︎
πŸ‘€︎ u/lispm
πŸ“…︎ Sep 13 2019
🚨︎ report
A Brief Guide to the Common Lisp Object System aiai.ed.ac.uk/~jeff/clos-…
πŸ‘︎ 24
πŸ’¬︎
πŸ‘€︎ u/joshkei
πŸ“…︎ Apr 10 2015
🚨︎ report
1987, Daniel G. Bobrow from Xerox PARC explains the Common Lisp Object System, CLOS youtube.com/watch?v=IrmHp…
πŸ‘︎ 14
πŸ’¬︎
πŸ‘€︎ u/lispm
πŸ“…︎ Nov 28 2016
🚨︎ report
Fundamentals of CLOS (Common Lisp Object System) cl-cookbook.sourceforge.n…
πŸ‘︎ 23
πŸ’¬︎
πŸ‘€︎ u/jdale27
πŸ“…︎ Dec 09 2007
🚨︎ report
Eoops: An Object-Oriented Programming System for Emacs-Lisp (1992) [PDF] 3e8.org/pub/scheme/doc/li…
πŸ‘︎ 14
πŸ’¬︎
πŸ‘€︎ u/dharmatech
πŸ“…︎ Dec 22 2021
🚨︎ report
The Common Lisp Object System: An Overview (PDF) dreamsongs.com/NewFiles/E…
πŸ‘︎ 52
πŸ’¬︎
πŸ‘€︎ u/martinbishop
πŸ“…︎ May 01 2007
🚨︎ report
A Warp Speed Introduction to the Common Lisp Object System home.comcast.net/~prunesq…
πŸ‘︎ 25
πŸ’¬︎
πŸ‘€︎ u/moe
πŸ“…︎ Mar 08 2006
🚨︎ report
Towards a Secure Programming Language. An Access Control System for Common Lisp (2009) researchgate.net/publicat…
πŸ‘︎ 9
πŸ’¬︎
πŸ‘€︎ u/subz0ne
πŸ“…︎ Jan 29 2022
🚨︎ report
[pdf] Eoops: An Object-Oriented Programming System for Emacs-Lisp 3e8.org/pub/scheme/doc/li…
πŸ‘︎ 3
πŸ’¬︎
πŸ‘€︎ u/fakecreditcard
πŸ“…︎ Dec 23 2021
🚨︎ report
cl-wol: Wake on LAN (WoL) system for Common Lisp

Hey Lispers,

This one was a quick holiday project of mine, which I'm sharing with you -- cl-wol: Wake on LAN (WoL) system for Common Lisp.

Happy holidays!

πŸ‘︎ 40
πŸ’¬︎
πŸ‘€︎ u/dnaeon
πŸ“…︎ Dec 27 2021
🚨︎ report
L – A Common Lisp for Embedded Systems (1995) [pdf] web.archive.org/web/20041…
πŸ‘︎ 24
πŸ’¬︎
πŸ‘€︎ u/binaryfor
πŸ“…︎ Oct 13 2021
🚨︎ report
[Common Lisp] Best Libraries for Interfacing with UNIX-like Operating Systems? /r/learnlisp/comments/pjb…
πŸ‘︎ 11
πŸ’¬︎
πŸ‘€︎ u/FOSSilized_D43mon
πŸ“…︎ Sep 06 2021
🚨︎ report
[Common Lisp] Best Libraries for Interfacing with UNIX-like Operating Systems?

Hello,

I have come to love common lisp more and more as I work with it, in fact I have considered ditching the POSIX core utilities for sbcl + come libraries, but there is no issue I can not seem to get past which not only makes it impossible to ditch core utilities but also extremely hard to even develop with common lisp over other languages.

I have run into an issue time and again where I need to something like killing a process, getting full permissions of a file, get the PID of a process I did not start, etc. and the solution I find every time is to make a call to a userland program like ps or pkill. While of course I know how to work with these and I do not mind using them when I am just in an sbcl session this do become an annoyance when I am rolling an actual program or script. First, not every system will have pkill some servers do not have it and on some of my workstations I do not have it as I use killall and while I could replace pkill with killall in my scripts that also does not work as not all systems have that! You get where I am going with this: I do not want to make assumptions about what the userland I am working with has or does not have nor do I want to force it to conform with certain dependencies. I have looked at UIOP and even OSIcat and while they do solve many problems with using common lisp on UNIX-like operating systems for some reason, for some unholy demonic reason, they never include anything for process management or getting file permissions in the UNIX dialect. This has made it very very very hard to work with common lisp and it is driving me crazy.

Does anyone know of a solid time tested library that provides a well rounded and full set of calls for working with UNIX-like operating systems?

πŸ‘︎ 6
πŸ’¬︎
πŸ‘€︎ u/FOSSilized_D43mon
πŸ“…︎ Sep 06 2021
🚨︎ report
clingon -- command-line options parser system for Common Lisp [post by the author] dnaeon.github.io/clingon-…
πŸ‘︎ 13
πŸ’¬︎
πŸ‘€︎ u/dzecniv
πŸ“…︎ Sep 06 2021
🚨︎ report
clingon - Command-line options parser system for Common Lisp

Hey Lispers,

This is a new Common Lisp system I have been working on during my spare time, which finally reached a state when I can share it with the community.

A short summary of the clingon system and the features it currently supports.

  • Native support for sub-commands
  • Support for command aliases
  • Short and long option names support
  • Short options may be collapsed as a single argument, e.g. -xyz
  • Long options support both notations - --long-opt arg and --long-opt=arg.
  • Automatic generation of help/usage information for commands and sub-commands
  • Out of the box support for --version and --help flags
  • Support for various kinds of options like string, integer, boolean, switches, enums, list, counter, etc.
  • Sub-commands can lookup global options and flags defined in parent commands
  • Support for options, which may be required
  • Options can be initialized via environment variables
  • Single interface for creating options using CLINGON:MAKE-OPTION
  • Generate documentation for your command-line app
  • Support for shell completions

You can find more details in the clingon repo along with a good amount of documentation to get you started.

Let me know what you think. Thanks!

πŸ‘︎ 67
πŸ’¬︎
πŸ‘€︎ u/dnaeon
πŸ“…︎ Aug 20 2021
🚨︎ report
L – A Common Lisp for Embedded Systems (1995) [pdf] web.archive.org/web/20041…
πŸ‘︎ 4
πŸ’¬︎
πŸ‘€︎ u/binaryfor
πŸ“…︎ Oct 13 2021
🚨︎ report
Another Lisp company: "SberBank is the largest bank in Russia, Central and Eastern Europe, and one of the leading financial institutions worldwide. Uses Common Lisp (SBCL) as a backend in a Metadata Management System for an internal cybersecurity big data." github.com/azzamsa/awesom…
πŸ‘︎ 30
πŸ’¬︎
πŸ‘€︎ u/dzecniv
πŸ“…︎ Apr 07 2021
🚨︎ report
Mezzano, an OS written in Common Lisp, has released Demo 5 with new features such as SMP, a USB stack, ext2/3/4 file system drivers, Async APIs and more! github.com/froggey/Mezzan…
πŸ‘︎ 348
πŸ’¬︎
πŸ‘€︎ u/LAUAR
πŸ“…︎ Jul 25 2020
🚨︎ report
Common Lisp-like condition system for Fennel language and Lua runtime

Hi r/lua! I'd like to announce the release of a library that implements Common Lisp-like condition system for Fennel language and Lua runtime - fennel-conditions.

Since this subreddit is about Lua, I understand that this may not be very relevant, as it doesn't target Lua language directly, rather the Lua runtime, via custom compiler, but I hope this still may be interesting, as this library provides alternative ways of error handling, which are mostly unique to Common Lisp.

If this library will receive a lot of interest from Lua users, I will consider porting it in such way that it can be used from Lua directly. (It is possible right now, but you would not want to write all that code by hand which is generated by macros provided in this library).

First, a bit about what Fennel is. Fennel is a Lisp-like language and a surface syntax for Lua, that compiles directly to Lua code. Fennel itself has no runtime, and is more a compiler rather than a language, but it provides a lot of additional facilities via macros, like table comprehensions, or pattern matching, and other things. Macros also allow to extend the language with new syntactic constructions, and this library is an example of that.

What is a condition system?

Condition system is something that is also known as resumable exception model, but it doesn't stop there in Common Lisp. It's a powerful control flow system, which also provides error handling. This library implements only the error handling part, but it's still pretty significnat part.

The condition system is implemented by introducing a dynamic scope. Lua doesn't have dynamic scope OOTB, but it does have tables, which can act as a dynamic scope. This library then maintains this dynamic scope state via various macros, like handler-case, restart-case, handler-bind, and so on.

Condition is an object, which can indicate that something happened. It can be any object, e.g. string, or table, but this library provides its own condition object type, which is based on the table, but has inheritance semantics. But condition objects by itself can't do anything, and the meat of this library is its own implementation of error function, which implements resumable exception point. Additionally there are non-error condition signaling functions like warn and signal. They provide the same resumable exception points, but do not interrupt flow of the pro

... keep reading on reddit ➑

πŸ‘︎ 15
πŸ’¬︎
πŸ‘€︎ u/andreyorst
πŸ“…︎ May 30 2021
🚨︎ report
The Common Lisp Condition System

For those like me who preordered the above book, it looks like the ebook is now available. I didn't see any notification from Apress to let me know. Looking forward to diving in...when my paper copy arrives (I'm old-fashioned that way).

πŸ‘︎ 50
πŸ’¬︎
πŸ‘€︎ u/graememcc
πŸ“…︎ Oct 20 2020
🚨︎ report
The Google Style Guides project holds the C++, C#, Swift, Objective-C, Java, Python, R, Shell, HTML/CSS, JavaScript, TypeScript, AngularJS, Common Lisp, and Vimscript Style Guide. google.github.io/stylegui…
πŸ‘︎ 9
πŸ’¬︎
πŸ‘€︎ u/jiayounokim
πŸ“…︎ May 14 2021
🚨︎ report
Mezzano, an operating system written in Common Lisp github.com/froggey/Mezzan…
πŸ‘︎ 23
πŸ’¬︎
πŸ‘€︎ u/Alexander_Selkirk
πŸ“…︎ Feb 07 2021
🚨︎ report
Show HN: My book, The Common Lisp Condition System news.ycombinator.com/item…
πŸ‘︎ 84
πŸ’¬︎
πŸ‘€︎ u/flaming_bird
πŸ“…︎ Oct 23 2020
🚨︎ report
The Common Lisp Condition System - Apress teaser page apress.com/us/book/978148…
πŸ‘︎ 87
πŸ’¬︎
πŸ‘€︎ u/flaming_bird
πŸ“…︎ Jul 15 2020
🚨︎ report
EmacsConf 2020 talk about integrating Emacs and Maxima, a Common Lisp computer algebra system emacsconf.org/2020/talks/…
πŸ‘︎ 39
πŸ’¬︎
πŸ‘€︎ u/banjomet
πŸ“…︎ Dec 07 2020
🚨︎ report
Cafe Latte - an implementation of Common Lisp dynamic variables, control flow operators, and condition system in plain Java github.com/phoe/cafe-latt…
πŸ‘︎ 25
πŸ’¬︎
πŸ‘€︎ u/flaming_bird
πŸ“…︎ Nov 15 2020
🚨︎ report
Distributed file system options for Common Lisp

Hey Lispers,

I'm looking for a distributed file system / database for a Common Lisp project. Something like IPFS/OrbitDB or GUN.

Requirements:

  • Accessible from the browser
  • Reasonably complete, functioning CL API

I see that cl-ipfs-api2 is available. I would prefer a license milder than GPL if possible.

What are my options?

πŸ‘︎ 14
πŸ’¬︎
πŸ‘€︎ u/BnMcGn
πŸ“…︎ Dec 14 2020
🚨︎ report
The Common Lisp condition system
πŸ‘︎ 34
πŸ’¬︎
πŸ‘€︎ u/lambda-lifter
πŸ“…︎ Oct 05 2020
🚨︎ report
subtext: A mostly-text-based UI bridges Common Lisp objects and runs of text. Minimal text-based user interface. github.com/stacksmith/sub…
πŸ‘︎ 18
πŸ’¬︎
πŸ‘€︎ u/dzecniv
πŸ“…︎ Dec 21 2018
🚨︎ report
Mezzano: Operating system written in Common Lisp github.com/froggey/Mezzan…
πŸ‘︎ 3
πŸ’¬︎
πŸ‘€︎ u/qznc_bot2
πŸ“…︎ Feb 07 2021
🚨︎ report
cl-bcrypt: Common Lisp system for generating, parsing and verification of bcrypt password hashes

Hey Lispers,

Wanted to share with you another Common Lisp system I've been working on -- cl-bcrypt.

This one was made possible thanks to the work done by glv2 and the recently added support in ironclad for bcrypt and bcrypt-pbkdf.

πŸ‘︎ 46
πŸ’¬︎
πŸ‘€︎ u/dnaeon
πŸ“…︎ Sep 04 2020
🚨︎ report
ELI5 Common-Lisp's image-based build system and compiler process

Lisp is quickly becoming my favorite language and I feel like I've learned just enough to start having questions about the development process for lisp. It's obvious to me that the way lisp turns code into machine-code is a lot different than, say, C++ or Python.

It's my understanding that lisp (specifically SBCL) is essentially an "interpreted" and "compiled" language at once. This is because it uses image-based builds; where instead of shipping a program, you are pretty much shipping a modified version of lisp suited to your problem.

Of course I could be completely wrong. What I want to know is:

  • How does CL compilation process differ from Python or C++
  • How does this change the development process
  • Why is it useful to do it this way

In other words:

Suppose I've built a program that runs heavy simulations of physical equations in C++ and Common-Lisp. Given these programs do the same thing, what more/less can I do with the Common-Lisp version?

πŸ‘︎ 7
πŸ’¬︎
πŸ‘€︎ u/keepitsalty
πŸ“…︎ Aug 23 2020
🚨︎ report
Daniel G Bobrow: Common LISP Object Standard 1987 [video 53min] youtube.com/watch?v=1zS46…
πŸ‘︎ 14
πŸ’¬︎
πŸ‘€︎ u/agumonkey
πŸ“…︎ Aug 27 2018
🚨︎ report
TCLCS Appendix F: Hyperlinking the Common Lisp Condition System github.com/Apress/common-…
πŸ‘︎ 11
πŸ’¬︎
πŸ‘€︎ u/flaming_bird
πŸ“…︎ Nov 28 2020
🚨︎ report
Hackernews comment mentions low-latency trading system in Common Lisp + C + Assembler news.ycombinator.com/item…
πŸ‘︎ 28
πŸ’¬︎
πŸ‘€︎ u/lispm
πŸ“…︎ Nov 27 2020
🚨︎ report
Discussing the Common Lisp Condition System - online appendix to the TCLCS book github.com/Apress/common-…
πŸ‘︎ 17
πŸ’¬︎
πŸ‘€︎ u/flaming_bird
πŸ“…︎ Oct 21 2020
🚨︎ report
cl-migratum: Database Schema Migration System for Common Lisp

Hey Lispers,

I've been using Common Lisp off and on for the last few months and after spending some time with the language I'm ready with my first Common Lisp project - cl-migratum.

As part of my daily activities I need to work with various databases such SQLite, MySQL, PostgreSQL and some graph databases where different teams or projects usually use a different database. The common thing between them is that all of them use some kind of database schema migration and most of the times this means different tools, different naming conventions for migrations files, etc.

I thought it would be much easier for me, if I could use a simple common interface for all these different projects and list/apply/view migrations while staying in the REPL, so that's where the idea of cl-migratum came from. I've looked at the existing implementations of schema migration libraries in Common Lisp, but could not find one that would be flexible enough for my needs, so I've started one.

I'm sharing this with you with the hope that someone else finds it useful.

I'd also appreciate any feedback on the code in general -- coding style, design, documentation, or anything else that you think might be useful for someone fairly new to Common Lisp that should be aware of.

I also got a copy of PCL book and I'm halfway through it, so once I manage to finish it I'd need a new book. What would you recommend me?

Thanks!

πŸ‘︎ 21
πŸ’¬︎
πŸ‘€︎ u/dnaeon
πŸ“…︎ Apr 27 2020
🚨︎ report
Common Lisp condition system exposed
πŸ‘︎ 45
πŸ’¬︎
πŸ“…︎ Jul 25 2020
🚨︎ report
Source Code for 'The Common Lisp Condition System' by MichaΕ‚ "phoe" Herda github.com/Apress/common-…
πŸ‘︎ 63
πŸ’¬︎
πŸ‘€︎ u/flaming_bird
πŸ“…︎ Aug 10 2020
🚨︎ report
TIL that Mezzano, the Common Lisp operating system, has its own Patreon page patreon.com/froggey
πŸ‘︎ 83
πŸ’¬︎
πŸ‘€︎ u/flaming_bird
πŸ“…︎ Dec 23 2019
🚨︎ report
TEN - Yet another template system for Common Lisp github.com/mmontone/ten
πŸ‘︎ 18
πŸ’¬︎
πŸ‘€︎ u/mmontone
πŸ“…︎ Apr 11 2020
🚨︎ report

Please note that this site uses cookies to personalise content and adverts, to provide social media features, and to analyse web traffic. Click here for more information.