<not_a_seagull>
I did the bash wrapper but now it says that I need to specify a port; can I just choose any old port or does FCGI have a port that it needs?
<jasom>
what do you mean?
<not_a_seagull>
`2020-05-06 16:58:34: (mod_fastcgi.c.1454) port has to be set in: fastcgi.server = ( .cl => ( localhost ( ...`
arpunk has joined #lisp
<jasom>
you need either "socket" or "oprt" and "host" set
<not_a_seagull>
Can I choose any unused port for the port?
<jasom>
I thought you were using a domain socket?
<not_a_seagull>
I only did that because the tutorial I was following did it for PHP
ebrasca has quit [Remote host closed the connection]
EvW has quit [Ping timeout: 260 seconds]
CrazyPython has quit [Read error: Connection reset by peer]
<ober>
is there a way in slime to shortcut key the ABORT restart? without having to expand the Restarts: --more-- portion to see the corresponding number?
<jason_m>
Is it possible for slots to be duplicated? Is this a bug/problem?
<jason_m>
I don't encounter this error on two of my machines, but can sort of reproduce it on a third. (I cannot trigger the error from the repl, but I can trigger it from the application.)
<ober>
same version of sbcl?
<jason_m>
Both are 1.5.6
<jason_m>
Well, my desktop and the third machine (a VM running a web server) are both 1.5.6
turona has quit [Ping timeout: 272 seconds]
turona has joined #lisp
shangul has joined #lisp
<jason_m>
I don't know by what magic fluid objects work, I haven't studied MOP. Maybe I shouldn't be using them, the cl-json manual does say they are experimental. But I thought I would toss the question out here. I thought in particular the duplicate slot names were odd.
<beach>
Good morning everyone!
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Krystof has quit [Ping timeout: 256 seconds]
wxie has quit [Remote host closed the connection]
arpunk has quit [Remote host closed the connection]
noobineer has quit [Read error: Connection reset by peer]
_jrjsmrtn has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 246 seconds]
toorevitimirp has joined #lisp
toorevitimirp has quit [Remote host closed the connection]
Oladon has joined #lisp
mangul has joined #lisp
shangul has quit [Ping timeout: 260 seconds]
patlv has quit [Quit: patlv]
sdumi has quit [Read error: Connection reset by peer]
sdumi has joined #lisp
scymtym has quit [Ping timeout: 240 seconds]
pjb has quit [Remote host closed the connection]
EvW has joined #lisp
sdumi has quit [Ping timeout: 246 seconds]
Necktwi has quit [Ping timeout: 264 seconds]
pjb has joined #lisp
Guest99512 has joined #lisp
sdumi has joined #lisp
amazoniantoad has joined #lisp
Guest99512 has quit [Remote host closed the connection]
<amazoniantoad>
Hey guys I have a little snippet of code I'm trying to write in which I check a lists of lists to see the index of where the sublist might be
<beach>
Hello amazoniantoad.
<pjb>
amazoniantoad: http://termbin.com can be used to show us the code.
<phoe>
ralt: write-bytes is literally write-sequence though
<phoe>
the bytes are wrapped in a container
<beach>
Streams are definitely first-class objects.
<phoe>
which is, well, a sequence
<ralt>
I know that I've wanted to use those `io.Discard`, `io.LimitedReader` things in Lisp already, and after having used them in Go, it felt a bit disappointing to me to not find them
<ralt>
I'm not sure what I'm trying to say though, just venting I guess.
<Bike>
we'd like to help you, but if you're unable to describe what you want it's kind of hard to do so.
<beach>
ralt: "first-class object" is not defined as "ralt being disappointed"
<ralt>
I'm not looking for help :)
<phoe>
ralt: io.Discard is a (make-broadcast-stream)
<ralt>
beach: ha
<ralt>
it should! :P
<Bike>
"A LimitedReader reads from R but limits the amount of data returned to just N bytes. " you can do this with read-sequence, no?
<phoe>
or if you want to go the OO way, the limited reader can be done via gray streams
<phoe>
if that is really necessary
<beach>
I think we need a new Common Lisp standard.
<ralt>
oooh I like make-broadcast-stream
<phoe>
it's a stream that broadcasts stuff to all the streams that you construct it with
<phoe>
and you may provide exactly zero streams to it, which is a feature
<ralt>
ah, I didn't see that
<phoe>
it's kinda like having an argument on an IRC channel where you are the operator and nobody else is there
<ralt>
I think I need to invent a cousin of Cunningham's Law, where you vent so people can prove you wrong
<phoe>
it's already known as "the best way to get advice on the internet"
<phoe>
you don't ask for help, you post a wrong thing online and wait for the burning arrows to start hitting your house
<jmercouris>
how to use loop for lines in a string rather than chars?
<jmercouris>
will I have to split the string first?
mingus has joined #lisp
<jmercouris>
OK read-line...
<jmercouris>
nvm
<ralt>
(loop for line = (read-line))?
<ralt>
yeah
<jmercouris>
I was thinking there might be something special in loop
<jmercouris>
like (loop for lines in string ...) or something
<beach>
We definitely need a new Common Lisp standard.
<jackdaniel>
of course we do, let's base it on c++, but with sexps
<_death>
while we're at it, let's rename/alias rename-file to file-rename and delete-file to file-delete (a suggestion made in emacs-devel.. lots of drama like that there nowadays)
<jmercouris>
beach: are you being sarcastic or serious?
<beach>
jackdaniel: But then we couldn't type io.Discard.
<beach>
jmercouris: The former. Lately, the discussions here frequently seem to go in that direction.
<jackdaniel>
let's allow both sexps and mexprs then
<jmercouris>
I don't see why we would need a new standard
<jackdaniel>
or drop sexps
<jmercouris>
i wouldn't be opposed to a language that is a superset of CL, but CL itself is fine
<beach>
jmercouris: That's be cause you don't follow the discussions here all the time.
<jmercouris>
_death: I'll try removing the output from string and doing directly, its a good point
dddddd has joined #lisp
<_death>
I often use sb-ext:run-program instead.. I remember having to slug through uiop's implementation, seeing slurp and vomit everywhere only reinforced the feeling..
<jmercouris>
hm, it seems to freeze now
<jmercouris>
let me try to get a stream from uip:run-program..
<jmercouris>
do I just have to set :output?
<phoe>
jackdaniel: for synchronous execution, it makes sense
<_death>
you can pass a function to :output, that will receive a stream
<jmercouris>
ah
<beach>
jruiz: Yes.
pfdietz has joined #lisp
<beach>
jruiz: WHILE takes a Boolean argument and LINE is not a Boolean argument. It is a string or NIL as a special default value.
<phoe>
Does (typep (make-array 0 :element-type 'integer) '(simple-vector 0)) always hold true?
<phoe>
Wait, no, it doesn't.
<Bike>
depends on integer's UAET, but practically speaking yes it does
<Bike>
since the integer type includes bignums, it's unlikely an implementation would have much of anything to gain by having a specialized representation for arrays of integers
<phoe>
Bike: asking in the general case though, the lisp koans make some very interesting assumptions about the standard
<jackdaniel>
phoe: it does not, run-program's on lisp have very elaborate interfaces
<Bike>
the integer uaet is the only thing that could make it not a simple vector
rixard has quit [Read error: Connection reset by peer]
<Bike>
i think this particular assumption is basically reasonable
<jackdaniel>
cls*
<Bike>
although i suppose i would note it if i was writing something
<phoe>
jackdaniel: TIL; it could therefore be implemented better
<phoe>
jackdaniel: my question is, once the program exits, something needs to buffer the produced output anyway, right?
<jruiz>
beach: cool thanks
<phoe>
maybe that's a naïve question; I assume that UIOP introduces another buffer where an implementation may already have a buffer of its own, same thing with streams
Kevslinger has quit [Quit: Connection closed for inactivity]
<jackdaniel>
im on phone, too much burden to elaborate
<beach>
jruiz: Pleasure.
<phoe>
jackdaniel: OK
arpunk has joined #lisp
terpri has quit [Remote host closed the connection]
<jmercouris>
i'm thinking that UIOP should rename the macro with-upgradability to with-irratiblity
<jmercouris>
because browsing UIOP with M-. is impossible
<jackdaniel>
either use :output :string or depend on a stream
<phoe>
jackdaniel: OK, thanks
<pfdietz>
One could imagine an array of INTEGER that would save an indirection, putting the top structure in the bignum representation directly into the array. It would be copied on access though. I don't think any current implementation does this.
<jackdaniel>
it is OS responsibility to carry buffers
refpga has quit [Read error: Connection reset by peer]
<jackdaniel>
pfdietz: if i understand correctly then ecl does that by storing limbs that way
<pfdietz>
I couldn't say, as I am not familiar with ECL internals.
rixard has joined #lisp
terpri has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
<_death>
jmercouris: instead of this with-upgradability nonsense, it should simply have a defun*/defmacro*/...
<_death>
(or rather, since it already has them, use them)
<jackdaniel>
whole idea of "upgradability" is sly in asdf and introduces far more problems than it allegedly solves
<pfdietz>
I treat that all as background magic.
terpri has quit [Remote host closed the connection]
mingus` has quit [Quit: ERC (IRC client for Emacs 26.3)]
rumbler31 has joined #lisp
refpga has joined #lisp
<Bike>
by the "top structure", you mean something that has a pointer to digits of the bignum?
rumbler31 has quit [Ping timeout: 246 seconds]
SGASAU has quit [Remote host closed the connection]
<phoe>
jackdaniel: I have been wondering, in practice, how many images need to upgrade to new versions ASDF as they are run? and how many of these situations could be replaced with "load ASDF only once at bootup and error in case of an attempted upgrade"?
<phoe>
...and, orthogonally, how many cases of WITH-UPGRADABILITY making it impossible to use M-. would have been solved by custom DEFUN, DEFCLASS, and DEFMETHOD tailored to ASDF needs
<_death>
phoe: they already have those custom operators.. with-upgradability is just to rename defun to defun* etc.. they could simply use defun*, or shadow defun if they like
<jasom>
phoe: the need to make ASDF upgradable was outlined in one of Fare's posts.
<jackdaniel>
no bad decision comes from fare without a long justification
<jackdaniel>
phoe: in practice none upto one (clisp), and on clisp it braks
<jackdaniel>
breaks
<rpg>
phoe: I think it should be possible to get M-. to work by a little tweak to finding source files. Also, I find i want a multi-file version of ASDF, instead of the single file, when working with it.
ebrasca has joined #lisp
EvW1 has joined #lisp
refpga has quit [Ping timeout: 272 seconds]
refpga has joined #lisp
narimiran has quit [Ping timeout: 256 seconds]
<Fare>
jackdaniel, :-)
<Fare>
phoe, about every image that is bundled with an asdf older than you use is upgraded as it is run, hopefully early on.
CrazyPython has quit [Ping timeout: 258 seconds]
<Fare>
unless you can convince all lisp vendors to upgrade very fast to the latest asdf everytime, upgradability is a must.
hvxgr has joined #lisp
<jackdaniel>
it is not, simply dont load a contrib and you are golden
<jackdaniel>
asdf is usually not part of the image, rather avail as a contrib loaded with require
sjl_ has joined #lisp
EvW1 has quit [Ping timeout: 265 seconds]
Fare has quit [Ping timeout: 272 seconds]
shifty has quit [Ping timeout: 256 seconds]
sdumi has quit [Ping timeout: 256 seconds]
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
<phoe>
^
<phoe>
the question is how many images run old ASDF because it was loaded "by default" instead of "by being pointed to the newest ASDF version that I want it to load"
<phoe>
since (require 'asdf) is likely to cause the former
<phoe>
because, if I could tell my Lisp implementation in its RC file "please load ASDF from this Quicklisp-managed directory that contains the version I want, and don't load any ASDF otherwise" I don't think I'd need ASDF upgradability at all
<phoe>
and, hey, I can tell my Lisp implementation to do exactly that in its RC file
yankM has joined #lisp
rumbler31 has joined #lisp
<pjb>
phoe: only the implementation may have loaded asdf before it runs the rc file.
<phoe>
pjb: which ones do that?
<pjb>
phoe: so upgradability is important. On the other hand, there's no downgradability in adsf.
<pjb>
phoe: it may be subject to system configuration --sysinit vs --userinit.
<pjb>
phoe: you may also need to consider saved images that contain asdf.
<pjb>
my point is that upgradability is good, as is loading the asdf you want.
rwcom3417 has joined #lisp
rumbler31 has quit [Ping timeout: 272 seconds]
yankM has quit [Ping timeout: 240 seconds]
<pjb>
phoe: so yes, asdf is well done, if you just load a version in your rc file, you will get this version or a more recent one.
rwcom341 has quit [Ping timeout: 256 seconds]
yankM has joined #lisp
<_death>
would this "upgradability" (which iirc is simply fmakunbound) be a big deal to anyone (but its users) if the with-upgradability macro did not exist?
<pjb>
It's nice.
<_death>
the macro or the feature?
<phoe>
the feature
<phoe>
I enjoy my toplevel forms being separate
cosimone has joined #lisp
MrMc has quit [Remote host closed the connection]
rippa has joined #lisp
cosimone_ has joined #lisp
cosimone has quit [Ping timeout: 244 seconds]
red-dot has joined #lisp
<jmercouris>
_death: agreed
cosimone_ has quit [Excess Flood]
cosimone_ has joined #lisp
yitzi has quit [Quit: yitzi]
<phoe>
the CLOS part of the lisp koans makes me want to cry
<phoe>
I am not going to believe that this code was written by someone who knows Lisp
<beach>
Do we know who wrote it?
<phoe>
Git blame is there. I choose not to look into it.
<beach>
Why? That person should be told about the mistakes so that he/she can improve.
<pjb>
It's probably old. that person is probably retired or dead now.
Bourne` has joined #lisp
Bourne has quit [Ping timeout: 260 seconds]
<beach>
phoe: How big is the code? How hard would it be to rewrite it?
<Bike>
there are only two commits to the clos file, so no mysteries there
<Bike>
it's not even 150 lines. dunno about other files
<phoe>
beach: I'm like 70% done with all of it as we speak
<phoe>
like, with all of the koans
<Bike>
with reading it, or rewriting it
<phoe>
with rewriting
<beach>
phoe: Great! Good initiative.
<phoe>
beach: more like "the next Lisp-related thing I got really annoyed with"
<Bike>
anger is a kind of initiative
<phoe>
I thought that since I have a choleric temperament I could as well try to put that to some use.
<phoe>
Bike: well, yes
<phoe>
but, like, use that is something more constructive than me making a fool out of myself in front of #lisp by saying really stupid things
jprajzne has quit [Quit: Leaving.]
sdumi has joined #lisp
<beach>
phoe: You say really stupid things less and less often. :)
amnesic[m] has quit [Quit: Idle for 30+ days]
mhitchman[m] has left #lisp ["Kicked by @appservice-irc:matrix.org : Idle for 30+ days"]
<phoe>
beach: I respectfully disagree
<Bike>
but don't worry, i'm here to pick up your slack
<phoe>
yeyyy
<jmercouris>
phoe: i disrespectfully disagree agree to agree
<jmercouris>
phoe: you needn't worry about stupidity, there is an abundance of it in this world
<jmercouris>
sprinkling some into this channel is your duty, and right
sdumi has quit [Ping timeout: 272 seconds]
liambrown has left #lisp ["Kicked by @appservice-irc:matrix.org : Idle for 30+ days"]
lxbarbosa has joined #lisp
refpga has quit [Read error: Connection reset by peer]
rumbler31 has joined #lisp
refpga has joined #lisp
<phoe>
what would be a good model for teaching class inheritance? I kind of don't want to do the old (defclass race-car (car) ...) stuff
rumbler31 has quit [Ping timeout: 246 seconds]
<Bike>
an actual application of some kind, i would think
<Bike>
parser? off the top of my head
<pjb>
phoe: of course, GUIs are the classical example.
<phoe>
pjb: I don't have the luxury of having a GUI available in lisp koans and I won't have one available.
<pjb>
I mean, write one!
<pjb>
actually, it's any UI, you can make a TUI with windows, text-fields and buttons, in a nice hierarchical OO model.
<Bike>
i go to example when i'm testing language stuff now is a regex system. can use a lot of the language but still be an abstract problem
<jackdaniel>
paragraph tytile "Why `Car extends Vehicle` or `Duck extends Bird` are terrible examples." says it all
<jackdaniel>
title*
amerlyq has joined #lisp
efm has joined #lisp
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
<lukego>
hey is there a handy package that would give me some types like url, country code, etc? (not as fancy object types just e.g. strings with SATISFIES constraints)
<ralt>
for URLs there's puri/quri
<Shinmera>
lukego: ratify has a bunch of functions to test strings for stuff like being an URL or integer, etc.
<lukego>
thanks!
<lukego>
also is there a recommended library for scientific/engineering units? millimeter, mil, micron, etc?
<lukego>
Or is there a good place to look for such recommendations instead of bothering people one at a time on #lisp? :-)
<Shinmera>
cliki still works for that sometimes
<Shinmera>
other times there's awesome-cl, or trying your luck by searching on quickdocs
SGASAU has quit [Remote host closed the connection]
rwcom3417 has joined #lisp
ayuce has left #lisp ["ERC (IRC client for Emacs 28.0.50)"]
SGASAU has joined #lisp
<lukego>
thanks again :)
<lukego>
Just found my copy of Edi's recipes book and put that by my side so that will spare everybody some noise B)
whiteline_ has quit [Remote host closed the connection]
whiteline_ has joined #lisp
whiteline_ has quit [Remote host closed the connection]
whiteline_ has joined #lisp
aeth has joined #lisp
ahungry has joined #lisp
CrazyPython has joined #lisp
rumbler31 has joined #lisp
scymtym has quit [Ping timeout: 240 seconds]
shangul has quit [Remote host closed the connection]
shangul has joined #lisp
CrazyPython has quit [Read error: Connection reset by peer]
rumbler31 has quit [Ping timeout: 256 seconds]
jonatack_ has quit [Quit: jonatack_]
jonatack has joined #lisp
noahtheduke has joined #lisp
Cymew has quit [Ping timeout: 246 seconds]
noahtheduke has quit [Client Quit]
scymtym has joined #lisp
buffergn0me has joined #lisp
efm has quit [Read error: Connection reset by peer]
jruiz has quit [Remote host closed the connection]
jruiz has joined #lisp
elinow has quit [Ping timeout: 272 seconds]
elinow has joined #lisp
sdumi has quit [Ping timeout: 256 seconds]
jruiz has quit [Ping timeout: 256 seconds]
Jesin has quit [Quit: Leaving]
Jesin has joined #lisp
shifty has joined #lisp
<phoe>
some news - Apress offered me a contract, and a deadline for reviewing my book on conditions. It's May 22nd - two weeks from now, so not a very big amount of time.
hiroaki has quit [Ping timeout: 260 seconds]
<jackdaniel>
congratulations!
<phoe>
If anyone'd like to contribute, #clcs has been created for that, and I have a private git repository with the book where one can send issues.
<phoe>
jackdaniel: thanks!
<phoe>
beach: ^ Please let me know if two weeks is enough time for you - it's not very much time, but that's what I have been told by Apress.
<jackdaniel>
hint: grab it till the draft is free ,p
<phoe>
or become a reviewer and get a free ebook version once it's published
<jackdaniel>
it is freenode, people expect to get things for free
<jackdaniel>
your time, soul and developments
<phoe>
and your mother maiden's name
efm has joined #lisp
yankM has quit [Ping timeout: 246 seconds]
shangul has quit [Quit: Bye Bye. 3.1415926535897932]
shifty has quit [Ping timeout: 260 seconds]
hiroaki has joined #lisp
<jackdaniel>
you've confused freenode and bank which confirms your identity to reset the pin ,)
sdumi has joined #lisp
rumbler31 has joined #lisp
yankM has joined #lisp
rumbler31 has quit [Ping timeout: 272 seconds]
didi has left #lisp ["O bella ciao bella ciao bella ciao, ciao, ciao."]
orivej has joined #lisp
SGASAU has quit [Remote host closed the connection]
rozenglass has joined #lisp
SGASAU has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
sauvin has quit [Ping timeout: 240 seconds]
clintm[m] has left #lisp ["Kicked by @appservice-irc:matrix.org : Idle for 30+ days"]
<phoe>
Random question - are there any kind of portable utilities that you'd like to see as appendices to that book? Currently the only one is HANDLER-CASE* that executes the handler and then transfers control, but maybe you're aware of some others.
<jackdaniel>
I've came up with an interesting technique (to me) which uses handler-bind
<jackdaniel>
you define a condition partial-result, which has a slot data, function (defun emit (data) (signal 'partial-result :data data)), and you define a macro expanding to handler bind handling partial results (i.e sending them asynchronously via websocket)
<phoe>
jackdaniel: what is it?
<jackdaniel>
so you have a function which "emits" partial resutls
<jackdaniel>
if you wrap it in (with-partial-results (#'send-websocket) (my-function)) , then partial results will be send
<jackdaniel>
if it is not wrapped, then signals are simply ignored because they are not serious conditions nor warnings
<jackdaniel>
so you may have synchronous and asynchronous context for the same function without changing it
ebrasca has quit [Remote host closed the connection]
<phoe>
jackdaniel: nice, though highly domain-specific
<jackdaniel>
applies everywhere where long computations take place and partial results are useful
<jackdaniel>
(and does not depend on multiprocessing)
milanj has quit [Quit: This computer has gone to sleep]
rumbler31 has joined #lisp
<bitmapper>
apple please i want to runt lispworks
<jasom>
bitmapper: it runs just fine in parallels :P
<bitmapper>
i don't have the disk space to run an entire virtual machine
<jasom>
yeah, last time I owned an apple machine you could at least upgrade the storage; apple's disk premiums are insane
<jackdaniel>
is it some kind of apple policy to break things fast and don't care? if so, why people insist it is a good choice for a computer?
<bitmapper>
nah it's just my ssd is small and i don't have the money to get a new one
rumbler31 has quit [Ping timeout: 260 seconds]
<jasom>
bitmapper: I have some 2.5" 1TB drives lying around collecting dust; I'll mail one to you if you want to buy a USB enclosure for one
<bitmapper>
nah that's fine, i should just replace my cd drive with a caddy at that point
<jasom>
jackdaniel: to be fair, apple has been 64-bit for like a decade now
<bitmapper>
to be fair, most computers have been 64bit for more than a decade
<bitmapper>
i don't have an issue with the switch to 64bit
<jackdaniel>
I thought it is about 32 bit version not running for some reason. I get from time to time reports that either McCLIM or ECL doesn't work there, because they've changed something
<jackdaniel>
i.e apparently now x11 server is very slow on osx, because of reasons (switch to vulcan)
<jasom>
jackdaniel: Apple just retired 32-bit application support
<bitmapper>
jackdaniel: metal, not vulkan
<bitmapper>
there's no vulkan on macos at all
<bitmapper>
and yeah, apple completely dropped support for running 32bit executables
<jackdaniel>
even better ,)
<bitmapper>
ECL works great on macos though!
<jasom>
Apple never really cared about XQuartz though.
<jackdaniel>
or "why ecl did not work on ios until the last release?", because *of course* they had to invent their own calling convention for variadic functions
<jackdaniel>
bitmapper: it is thanks to kind volunteers who contribute patches, I've never had appleware and I'm not allowed to run legally macos on a virtual machine
<jackdaniel>
in*
<jasom>
Everybody invents their own calling conventions for variadic functions. There's like 3 commonly used ones for arm32
<bitmapper>
i don't use macos by choice at this point
<jackdaniel>
jasom: I've phrased it wrong. they break the assumption, that foo(a, b, ...) may be casted to foo(...)
Zakkor has joined #lisp
<jackdaniel>
but nevermind, my point is that from a quantity of bug reports and timing of them the following applies: windows is very tricky to get right, apple frequently breaks for incompatible changes
<bitmapper>
but yeah, basically lispworks personal edition doesn't work period on macos catalina
dale has joined #lisp
narimiran has joined #lisp
sh_zam has left #lisp [#lisp]
rwcom3417 has quit [Ping timeout: 240 seconds]
monokrom has quit [Ping timeout: 240 seconds]
Josh_2 has joined #lisp
frgo has joined #lisp
frgo_ has joined #lisp
patlv has joined #lisp
frgo has quit [Ping timeout: 252 seconds]
Josh_2 has quit [Read error: Connection reset by peer]
Josh_2 has joined #lisp
refpga has quit [Ping timeout: 272 seconds]
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 260 seconds]
<xristos>
bitmapper: take it up with lispworks or stick with mojave ;p
<xristos>
i'm still running 10.13 and don't plan to upgrade ever
<xristos>
which means that at some point i'm going back to desktop linux (shudder)
<LdBeth>
Still in Mojave
yankM has quit [Remote host closed the connection]
<xristos>
the thing i'm going to miss the most is apple events
<xristos>
the fact that apple doesn't give two shits about it and has left it to bitrot is the icing on the cake
CrazyPython has quit [Read error: Connection reset by peer]
<xristos>
iirc the original spark comes from a former Xerox park employee who ended up at Apple working in automation technologies and spearheaded the effort
slyrus_ has quit [Read error: Connection reset by peer]
<xristos>
a great idea can percolate and find its way through the ages
<xristos>
*parc
<bitmapper>
i think another issue is considering 64bit support a luxury feature :p
ljavorsk has joined #lisp
<xristos>
that's the IDA Pro school of marketing
<_death>
twice the bits at twice the price
efm has quit [Remote host closed the connection]
<bitmapper>
good ol 1500$ hobbyist version
<LdBeth>
If it’s on Mac I cannot think of any reason prefer paid ACL over free CCL
<LdBeth>
unless you’re using some old code uses ACL exclusive libraries
<bitmapper>
yep
<bitmapper>
acl/lispworks
efm has joined #lisp
efm has quit [Remote host closed the connection]
narimiran has quit [Ping timeout: 246 seconds]
guest234 has joined #lisp
buffergn0me has quit [Ping timeout: 256 seconds]
elinow has quit [Ping timeout: 256 seconds]
frgo_ has quit []
karlosz has joined #lisp
sstc has joined #lisp
rotty has quit [Ping timeout: 260 seconds]
rumbler31 has joined #lisp
sstc has quit [Quit: WeeChat 2.8]
sstc has joined #lisp
rotty has joined #lisp
rumbler31 has quit [Ping timeout: 256 seconds]
sstc has quit [Client Quit]
holycow has quit [Quit: Lost terminal]
marcoxa has quit [Quit: Time to go to bed.]
sstc has joined #lisp
sstc has quit [Client Quit]
sstc has joined #lisp
sstc has quit [Client Quit]
sstc has joined #lisp
karayan has quit [Remote host closed the connection]
sstc has quit [Client Quit]
sstc has joined #lisp
ahungry has quit [Remote host closed the connection]
karayan has joined #lisp
karayan has quit [Ping timeout: 260 seconds]
Lord_of_Life_ has joined #lisp
Zakkor has quit [Quit: Connection closed for inactivity]
Lord_of_Life has quit [Ping timeout: 264 seconds]
Josh_2 has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
ljavorsk has quit [Ping timeout: 272 seconds]
rumbler31 has joined #lisp
pve has quit [Quit: leaving]
jruiz has joined #lisp
buffergn0me has joined #lisp
ArthurStrong has joined #lisp
guest234 has quit [Remote host closed the connection]
gravicappa has quit [Ping timeout: 260 seconds]
karlosz has quit [Read error: Connection reset by peer]
karlosz has joined #lisp
motersen has joined #lisp
azureBlob has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
patlv has quit [Quit: patlv]
<azureBlob>
Hello, I am having an issue with common lisp, I created a function and tried to use it in two places, once as the first argument to setf and later as part of the argument for another function, for some reason clisp is telling me the former isn't defined, but when I switch out just the former for it's body (as in remove the function call) it works perfectly and I don't get what's going on :/ Here's the code with a couple of comments
<Bike>
azureBlob: get-connections is a function, so setf, the macro, can only call it - not examine and use its body. So you have to tell setf how to setf a get-connections place, for example by defining a function named (setf get-connections).
karlosz has quit [Read error: Connection reset by peer]
karlosz has joined #lisp
<Bike>
or you could define get-connections as a macro instead, so that setf can use its expansion.
<LdBeth>
azureBlob: it is because setf works by looking up the corresponding "setter" for the functions, the setter for built-ins such as gethash are predefined but user defined functions are not, which you have to supply by your own
<azureBlob>
with the first tip you mean doing something like (defun (setf get-connections) (blah)...)?
<Bike>
yes.
<LdBeth>
yup
<azureBlob>
didn't know that was a thing, neat, I'll check it out
<Bike>
(defun get-connections (new-value graph name) (setf (gethash name (e graph)) new-value))
<Bike>
by the way, how does that code work? (e g) seems wrong to me?
<scymtym>
Bike meant (defun (setf get-connections) (new-value ...) ...)
<Bike>
oh. yes.
<azureBlob>
(e g) gives you the set of sets E from G
amerlyq has quit [Quit: amerlyq]
<Bike>
yes, but i mean, the variable is called "graph", not "g".
<azureBlob>
like it's an accessor, I got that from the cookbook
<azureBlob>
oh!!!!!!!!!!
<Bike>
also if you use single character names your code will be hard to read, but that's a different issue
<azureBlob>
didn't see that lmao must have worked cause I always have a variable g floating around