yitzi has quit [Remote host closed the connection]
random-nick has quit [Ping timeout: 256 seconds]
waleee has quit [Ping timeout: 256 seconds]
josrr has quit [Remote host closed the connection]
decweb has quit [Ping timeout: 268 seconds]
NotThatRPG has quit [Ping timeout: 268 seconds]
NotThatRPG has joined #commonlisp
<calamarium>
I'm trying to make a regexp to pass to cl-string-match:find-re but I can't figure out how to properly escape the "." character so that it gets interpreted as a normal text character, rather than the regex-specific meaning. Here are my attempts: https://plaster.tymoon.eu/view/4467 I'm guessing that the function wants characters escaped with a single backslash, but Common Lisp seems to have "\\" as the bare minimum a string can
<calamarium>
contain. How do I get around this limitation?
chiselfuse has quit [Remote host closed the connection]
<paulapatience>
calamarium: This doesn't answer your question, but in "foo\\.bar", there is only one backslash in the string. Lisp shows you two because that is the syntax for strings.
<paulapatience>
,(format t "~A~%" "foo\\.bar")
<ixelp>
foo\.bar ↩ => NIL
<calamarium>
paulapatience: I don't understand. If what you say is true, then "foo\\.bar" should be interpreted internally as "foo\.bar" and should correctly match with the original "foo.bar" string. Or maybe the find-re function doesn't properly honor backslashes (but that would be even stranger).
<beach>
calamarium: What paulapatience says is definitely true. The Common Lisp reader uses a backslash in a string literal to escape the following character.
<beach>
calamarium: And the Common Lisp printer usually prints strings "readably", meaning that a string with the same characters in it is created when the printed string is read by READ.
istewart has quit [Quit: Konversation terminated!]
<beach>
calamarium: So if one of the characters in a string is a backslash, then the Common Lisp printer has to print two backslashes so that READ can create a string with a single backslash in it.
cmack has quit [Remote host closed the connection]
synchrom1 has quit [Read error: Connection reset by peer]
* mrcom
muses that "quoting" is not usually included in the infamous "the two hardest problems in computer science" joke because it's just too painful to be funny.
simendsjo has quit [Remote host closed the connection]
rainthree has quit [Ping timeout: 268 seconds]
Guest33 has joined #commonlisp
danza has joined #commonlisp
skeemer has quit [Ping timeout: 268 seconds]
rainthree_ is now known as rainthree
danza has quit [Ping timeout: 252 seconds]
Noisytoot has quit [Remote host closed the connection]
Noisytoot has joined #commonlisp
lewisje has joined #commonlisp
dino_tutter has joined #commonlisp
Gleefre has joined #commonlisp
pillton has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)]
simendsjo has joined #commonlisp
Guest33 has quit [Ping timeout: 250 seconds]
danse-nr3 has joined #commonlisp
varjag has joined #commonlisp
skeemer has joined #commonlisp
skeemer has quit [Ping timeout: 256 seconds]
danieli has quit [Quit: Alpine Linux, the security-oriented, lightweight Linux distribution]
Th30n has joined #commonlisp
rainthree_ has joined #commonlisp
attila_lendvai has joined #commonlisp
rainthree has quit [Ping timeout: 268 seconds]
rainthree_ is now known as rainthree
pve has joined #commonlisp
danieli has joined #commonlisp
<rainthree>
beach: I sometimes (often) tell my friends that if I had listened to you I would have saved years of time. For example you repeatedly said in the past that you fail to see how "manardb" is great. Instead of reading the #commonlisp chatlogs to try to understand more about the subject of databases, hypnotized by its claims of "speed", I went on and ported manardb to Windows. In the end I discovered that it's broken, since
<rainthree>
the structure of its "schema" relies on the slots of the classes. If I had read more about OOP from the literature you recommended, I would have known much earlier that relying on the slots is a trap.
<rainthree>
I have a question: an ORM can't help to retrieve a graph of objects from a relational database, right? It can only retrieve individual objects, that are not eq to each other even if they are the result of the same sql query
attila_lendvai has quit [Ping timeout: 268 seconds]
<beach>
rainthree: I see, yes.
<beach>
rainthree: From what I know about relational databases, that's correct.
<beach>
The instant you copy an object, say to disk, you lose its identity.
<rainthree>
and this is a big deal, but I don't know how to explain it to my friends who believe this is normality
danse-nr3 has quit [Ping timeout: 268 seconds]
<beach>
That's a tricky thing to explain because many generations have been told that the distinction between primary and secondary memory is an intrinsic thing to computing, and nobody has told them that we knew more than half a century ago how to eliminate that distinction. Furthermore they have been told that the secondary memory is a requirement for persistence.
<beach>
Oh, and they have probably been told that the only things you can save to disk are numbers, characters, and perhaps strings.
<beach>
... and for such objects, identity is not important.
danse-nr3 has joined #commonlisp
X-Scale has joined #commonlisp
semarie has quit [Quit: WeeChat 4.3.2]
waleee has joined #commonlisp
King_julian has joined #commonlisp
X-Scale has quit [Ping timeout: 250 seconds]
semarie has joined #commonlisp
X-Scale has joined #commonlisp
markb1 has quit [Ping timeout: 260 seconds]
X-Scale has quit [Ping timeout: 250 seconds]
markb1 has joined #commonlisp
simendsjo has quit [Remote host closed the connection]
simendsjo has joined #commonlisp
simendsjo has quit [Remote host closed the connection]
wacki has quit [Read error: Connection reset by peer]
<Th30n>
What is this OOP literature you are referring to rainthree? I'm now interested in what beach recommended :)
<ixelp>
GitHub - robert-strandh/Clobber: A simpler alternative to object prevalence for Common Lisp.
<rainthree>
Th30n: CLIM II specification ("beach I learned object-oriented programming in Common Lisp from the CLIM II specification."), the writings of Bertrand Meyer. https://pastebin.com/nYTSpcY9
<ixelp>
common lisp computer science recommended literature - Pastebin.com
<rainthree>
avih: it seems common lisp with its CLOS has stumbled upon some nice facilities that make software architecture more easy to build and maintain, without sacrificing speed
<avih>
rainthree: so what did you want to say about "protocol" and API?
<avih>
"CLOS"? (pardon the n00bness)
<rainthree>
in the CLIM specification they use the word API too, but it means something like "extended protocol" (which has functions that call upon other functions from that protocol). and "protocol" contains only functions that don't call other functions from the same protocol
<rainthree>
CLOS=Common Lisp Object System
<rainthree>
so the big deal with lisp and all that, is the object system, which is different than all other object systems around
<avih>
k, i'm completely unfamiliar with the lisp ecosystem[s], so would would terminology matter much? i used "API" because that's the term i'm familiar with elsewhere, but it maybe called differently in some circles, and "protocol" sounds fine to me too
<rainthree>
api is fine too
<rainthree>
it is used in the lisp world too
<avih>
(and api is basically a protocol. it specifies how two modules should interact)
<avih>
just API typically refers to software and protocol is probably more generic
<ixelp>
The Finest Object System You’ve Never Heard Of | by Anurag Mendhekar | Medium
<avih>
does the C in CLOS refers to lisp? or to the object system?
<rainthree>
CL=Common Lisp which is the most powerful lisp dialect , OS=Object System , it's OOP added to CL without having to modify the language (that's one of the key features of Common Lisp, you can extend it easily without having to change the kernel)
<avih>
right, so to lisp :)
<rainthree>
yes
<avih>
het, whatduuyaknow.. vcxsrv had a 2024 release after 3 years of silence...
<avih>
2*
danse-nr3 has quit [Ping timeout: 256 seconds]
danse-nr3 has joined #commonlisp
sailorCat has joined #commonlisp
sailorCat has quit [Remote host closed the connection]
<rainthree>
avih: maybe I'll try it to see how mcclim behaves with it. Last time, it had some small quirks
sailorCat has joined #commonlisp
<rainthree>
I use xming from 2009 or so, which doesn't have those quirks
<avih>
TBH since i started using cygwin i'm using its xwin. it's not perfect either, but is is up to date
<avih>
(that's some years now)
<avih>
iirc a main diff is that vcxsrv can send resize events during the resize itself more than cygwin-x does
calamarium has quit [Remote host closed the connection]
steew has quit [Remote host closed the connection]
steew has joined #commonlisp
Gleefre has joined #commonlisp
danse-nr3 has quit [Ping timeout: 256 seconds]
markb1 has quit [Ping timeout: 264 seconds]
awlygj has quit [Quit: Lost terminal]
rainthree_ is now known as rainthree
markb1 has joined #commonlisp
awlygj has joined #commonlisp
decweb has joined #commonlisp
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 264 seconds]
josrr has joined #commonlisp
donleo has joined #commonlisp
varjag has quit [Quit: ERC (IRC client for Emacs 27.1)]
lucasta has joined #commonlisp
yitzi has quit [Remote host closed the connection]
greaser|q has quit [Quit: HYDRA IRC LOL]
danse-nr3 has joined #commonlisp
greaser|q has joined #commonlisp
lucasta has quit [Remote host closed the connection]
zxcvz has joined #commonlisp
rainthree_ has joined #commonlisp
rainthree has quit [Ping timeout: 256 seconds]
X-Scale has joined #commonlisp
rainthree_ is now known as rainthree
randm has quit [Remote host closed the connection]
randm has joined #commonlisp
<rainthree>
beach: just read it. Looks ok
<beach>
Thanks.
X-Scale has quit [Quit: Client closed]
<rainthree>
https://pastebin.com/Dtaezh41 Higher Order Functions Considered Unnecessary for Higher Order Programming - Goguen
<rainthree>
. Then Bertrand Meyer says metaclasses are unnecessary, that any functionality provided by them can be easily simulated with ordinary classes, and that metaclasses have some disadvantages. These are interesting topics... Is CLOS general enough, can it be improved? Can other approaches that are more general, be made more efficient?...
<ixelp>
Higher Order Functions Considered Unnecessary for Higher Order Programming Goguen - Pastebin.com
<beach>
rainthree: CLOS is very efficient. Its metaclasses are basically just ordinary classes that are instances of the class CLASS.
<rainthree>
yes
<beach>
rainthree: I recommend you read the AMOP. The first 4 chapters repeatedly emphasize the delicate balance between flexibility and performance. And that's a major goal of CLOS.
gjvc has quit [Remote host closed the connection]
Gleefre has quit [Remote host closed the connection]
<rainthree>
Ok I will read it
cage has joined #commonlisp
gjvc has joined #commonlisp
shawnw has quit [Ping timeout: 268 seconds]
anticomputer has quit [Remote host closed the connection]
kevingal has joined #commonlisp
kevingal_ has joined #commonlisp
anticomputer has joined #commonlisp
emaczen has joined #commonlisp
n00b1 has joined #commonlisp
rainthree has quit [Read error: Connection reset by peer]
danse-nr3 has quit [Read error: Connection reset by peer]
danse-nr3 has joined #commonlisp
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Inline has quit [Quit: Leaving]
NotThatRPG has joined #commonlisp
Inline has joined #commonlisp
NotThatRPG has quit [Ping timeout: 240 seconds]
yitzi has joined #commonlisp
skeemer has joined #commonlisp
jon_atack has quit [Read error: Connection reset by peer]
zxcvz has quit [Quit: zxcvz]
<skin>
I own a copy, I just need to get serious about consuming the contents of its pages.
Gleefre has joined #commonlisp
<beach>
It is not an easy read. As I recall, it took me three trials before I managed to read the entire thing.
akoana has joined #commonlisp
triffid has joined #commonlisp
josrr has left #commonlisp [ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)]
jonatack has joined #commonlisp
josrr has joined #commonlisp
NotThatRPG has joined #commonlisp
rainthree_ is now known as rainthree
<rainthree>
"Also note how we called it new-value? and not new-value-p as you'll sometimes see people do. The -p in new-value-p stands for "predicate", and a predicate is a function that returns a (generalized) boolean, not a boolean itself. Using a name that ends in -p for a boolean value (rather than for a predicate) is a -pet -peeve of mine. Unfortunately it happens in a couple of places (even in Common Lisp itself), so it's something to watch out for."
<dlowe>
I've also seen an is- prefix instead of -p for values
<dlowe>
so it would read is-new-value which isn't unreasonable
<rainthree>
cool
X-Scale has joined #commonlisp
awlygj has quit [Ping timeout: 264 seconds]
awlygj has joined #commonlisp
wacki has quit [Read error: Connection reset by peer]
chomwitt has quit [Ping timeout: 272 seconds]
King_julian has quit [Ping timeout: 256 seconds]
awlygj has quit [Quit: Lost terminal]
wacki has joined #commonlisp
cognemo has quit [Ping timeout: 252 seconds]
cage has quit [Remote host closed the connection]
<rainthree>
instead of using eval as done in that tutorial, is it possible to make an instance of a metaclass (to which we supply all the :initarg s values we want, such as :monitoring-function) then use that instance the metaclass for our user class? This way there would also be no need for that shared-initialize
<rainthree>
shared-initialize :around
edgar-rft_ has joined #commonlisp
<rainthree>
*that instance as the metaclass
FragmentedCurve_ has joined #commonlisp
edgar-rft has quit [Ping timeout: 264 seconds]
FragmentedCurve has quit [Ping timeout: 240 seconds]
<bike>
you could use ensure-class or even make-instance rather than eval and defclass.
Alfr has quit [Ping timeout: 246 seconds]
wbooze has joined #commonlisp
cdegroot has quit [Remote host closed the connection]
zxcvz has joined #commonlisp
cognemo has joined #commonlisp
Alfr has joined #commonlisp
kevingal has quit [Ping timeout: 268 seconds]
kevingal_ has quit [Ping timeout: 268 seconds]
<NotThatRPG>
I have found eval + defclass to be a nightmare, in practice. Do *not* make classes on the fly with defclass! If you must do that, use ensure-class. The macro I found quite unpredictable in terms of when the class was actually created and ready for use.
<NotThatRPG>
Contributed to the eventual abandonment of the NST testing framework which made classes like crazy
NotThatRPG is now known as NotThatRPG_away
danse-nr3 has quit [Ping timeout: 272 seconds]
danza has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
NotThatRPG_away has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rogersm has joined #commonlisp
edgar-rft_ is now known as edgar-rft
wacki has joined #commonlisp
danza has quit [Ping timeout: 246 seconds]
amb007 has quit [Ping timeout: 268 seconds]
cage has joined #commonlisp
amb007 has joined #commonlisp
danse-nr3 has joined #commonlisp
edgar-rft has quit [Quit: don't waste your life by reading this]
akoana has quit [Ping timeout: 252 seconds]
amb007 has quit [Read error: Connection reset by peer]
edgar-rft has joined #commonlisp
varjag has joined #commonlisp
rogersm has quit [Remote host closed the connection]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
rainthree has quit [Quit: Leaving]
rogersm has joined #commonlisp
X-Scale has quit [Ping timeout: 250 seconds]
amb007 has joined #commonlisp
rogersm has quit [Remote host closed the connection]
<blunder>
A project depends on a system only during the build process. Is there a way to exclude the system from the final image? Could I produce a FASL file with only the code I need?
zberkowitz has quit [Remote host closed the connection]
zberkowitz has joined #commonlisp
markb1 has quit [Ping timeout: 264 seconds]
<beach>
blunder: Probably. But why is it important?
yitzi has quit [Remote host closed the connection]
<beach>
blunder: You can delete the code of that system before saving the image. In some Common Lisp systems, deleting the package(s) will do that.
yitzi has joined #commonlisp
danse-nr3 has quit [Ping timeout: 260 seconds]
rogersm has joined #commonlisp
rogersm has quit [Client Quit]
dustinm` has joined #commonlisp
mulk has quit [Ping timeout: 272 seconds]
zxcvz has quit [Quit: zxcvz]
mgl_ has quit [Ping timeout: 264 seconds]
<blunder>
beach: it isn't important-- it's only in the interest of dead code elimination-- I don't know all that much about shipping CL software. Could you point me toward resources wrt. packaging and shipping?
markb1 has joined #commonlisp
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
Lord_of_Life has quit [Read error: Connection reset by peer]
ym has joined #commonlisp
mulk has joined #commonlisp
Lord_of_Life has joined #commonlisp
awlygj has joined #commonlisp
mgl_ has joined #commonlisp
blunder has quit [Quit: leaving]
ym has quit [Ping timeout: 256 seconds]
NotThatRPG has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
jrm has quit [Quit: ciao]
jrm has joined #commonlisp
n00b1 has joined #commonlisp
mgl_ has quit [Ping timeout: 272 seconds]
n00b1 has quit [Ping timeout: 240 seconds]
jrm has quit [Quit: ciao]
jrm has joined #commonlisp
yacin has joined #commonlisp
cmack has quit [Remote host closed the connection]
skeemer has joined #commonlisp
Gleefre has quit [Ping timeout: 250 seconds]
attila_lendvai has joined #commonlisp
craigbro has joined #commonlisp
NotThatRPG has quit [Ping timeout: 260 seconds]
mgl_ has joined #commonlisp
kevingal has joined #commonlisp
kevingal_ has joined #commonlisp
rogersm has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 29.3]
mwnaylor has joined #commonlisp
akoana has joined #commonlisp
mulk has quit [Ping timeout: 255 seconds]
mulk has joined #commonlisp
pve has quit [Quit: leaving]
mulk has quit [Ping timeout: 264 seconds]
Gleefre has joined #commonlisp
skyl4rk has joined #commonlisp
cognemo has quit [Ping timeout: 264 seconds]
X-Scale has joined #commonlisp
mgl_ has quit [Ping timeout: 256 seconds]
mulk has joined #commonlisp
shka has quit [Quit: Konversation terminated!]
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
waleee has joined #commonlisp
ello has joined #commonlisp
benkard has joined #commonlisp
mulk has quit [Ping timeout: 264 seconds]
benkard is now known as mulk
benkard has joined #commonlisp
mulk has quit [Ping timeout: 264 seconds]
mulk has joined #commonlisp
benkard has quit [Ping timeout: 264 seconds]
yitzi has quit [Remote host closed the connection]
<phoe>
can I expect the Lisp reader in unicode-enabled implementations to treat #\NO-BREAK_SPACE like normal #\SPACE when reading Lisp code?
mulk has quit [Ping timeout: 264 seconds]
<phoe>
asking because I just hit (read-from-string (format nil "(1~C2)" #\no-break_space)) that does a thing on SBCL that I didn't expect
<gilberth>
CCL and CLISP treat NBSP as whitespace, the others do not.
X-Scale has quit [Quit: Client closed]
tfeb has quit [Client Quit]
<gilberth>
phoe: Though SET-SYNTAX-FROM-CHAR appears to work. Which actually surprises me a bit :) https://termbin.com/c5k8
<gilberth>
Also the other way around, if you want NBSP as a constituent.
attila_lendvai has quit [Ping timeout: 256 seconds]
X-Scale has joined #commonlisp
X-Scale has quit [Client Quit]
cognemo has joined #commonlisp
varjag has quit [Ping timeout: 256 seconds]
varjag has joined #commonlisp
varjag has quit [Remote host closed the connection]
chomwitt has joined #commonlisp
kevingal_ has quit [Ping timeout: 256 seconds]
kevingal has quit [Ping timeout: 256 seconds]
<mwnaylor>
SBCL 2.4.3; emacs 29.3; slime 2.30: When I create and enter a new package (namespace) in the repl, I can't access the functions in #<PACKAGE "COMMON-LISP-USER"> w/o a full spec. How can I import the functions for easy use?
Spawns_Carpeting has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
Spawns_Carpeting has joined #commonlisp
doulos05 has quit [Ping timeout: 264 seconds]
doulos05 has joined #commonlisp
awlygj has quit [Remote host closed the connection]
kevingal has joined #commonlisp
kevingal_ has joined #commonlisp
jweeks has quit [Remote host closed the connection]
<craigbro>
you would also need to export them from the new namespace
calamarium has joined #commonlisp
<mwnaylor>
use-package works, sort of. I get a debugger warning about symbol clash w/ *packages*. Use the debugger to keep the new version, things seem kosher.
<mwnaylor>
Next question: how to delete/remove a package once it has been loaded?
<mwnaylor>
(slime-restart-inferior-lisp) Would remove it, but would nuke everything.
<mwnaylor>
gilberth: Still new to finding how to do things in Common Lisp dialects. Looks like unuse-package may work as well.
donleo has quit [Ping timeout: 272 seconds]
<gilberth>
There is only one [ANSI] Common Lisp. It's called Common Lisp for a reason.
yitzi has joined #commonlisp
<bike>
unuse-package does not remote or delete anything. also, deleting a package is a pretty different operation from unloading code.
X-Scale has joined #commonlisp
<mwnaylor>
But, not all common lisps operate the same.
<mwnaylor>
In sbcl, I created and moved to a new package. COMMON-LISP-USER symbols were not available. When I did the same thing with clisp, those symbols *were* available.
<bike>
sure, new packages use different packages by default
<bike>
that's a pretty tiny difference to call a dialect, especially when you can just specify the used packages yourself, and probably ought to
<yitzi>
And that is permitted by the spec.
NotThatRPG has quit [Ping timeout: 240 seconds]
<mwnaylor>
I was following along the package sections of 𝘊𝘰𝘮𝘮𝘰𝘯 𝘓𝘪𝘴𝘱, 𝘢𝘯 𝘐𝘯𝘵𝘦𝘳𝘢𝘤𝘵𝘪𝘷𝘦
<mwnaylor>
𝘈𝘱𝘱𝘳𝘰𝘢𝘤𝘩. Seems like that work was geared more for clisp. Not so much sbcl.
NotThatRPG has joined #commonlisp
<bike>
the preface of this book says that it is supposed to adhere to common lisp strictly (cltl2, but close enough)
kevingal has quit [Ping timeout: 252 seconds]
kevingal_ has quit [Ping timeout: 272 seconds]
<mwnaylor>
I've only dabbled w/ Common Lisp occasionally over the last 15 to 20 years, so cltl2 doesn't ring a bell.
<bike>
common lisp: the language, second edition. which was sort of the common lisp standard before the actual standard.
<mwnaylor>
bike: I have copy of that.
<bike>
okay, well this is actually a difference between the final standard and cltl2. cltl2 gives a default use, but in the standard it's unspecified. the oniline version of cltl2 describes this in errata.
X-Scale has quit [Ping timeout: 250 seconds]
mrcom has quit [Quit: Leaving]
NotThatRPG has quit [Ping timeout: 240 seconds]
reb` has quit [Ping timeout: 268 seconds]
NotThatRPG has joined #commonlisp
<mwnaylor>
I don't need understand it all now. Got enough that I can make use of use-package in sbcl w/ one minor incovenience. From Clojure and cider, I've had to do a similar process for creating and moving into new namespaces.