<ralt>
I wonder if taking over a library name in quicklisp is feasible :)
orivej has quit [Ping timeout: 264 seconds]
orivej_ has joined #lisp
emys has quit [Ping timeout: 256 seconds]
SGASAU` has quit [Remote host closed the connection]
SGASAU` has joined #lisp
emys has joined #lisp
smazga has quit [Ping timeout: 265 seconds]
orivej_ has quit [Quit: No Ping reply in 180 seconds.]
smazga has joined #lisp
orivej has joined #lisp
karswell_ has joined #lisp
mgsk_ has quit [Ping timeout: 272 seconds]
sputny[m] has quit [Ping timeout: 265 seconds]
ChoHag has quit [Ping timeout: 272 seconds]
karswell has quit [Ping timeout: 265 seconds]
mgsk_ has joined #lisp
wxie has joined #lisp
smazga has quit [Ping timeout: 264 seconds]
sputny[m] has joined #lisp
ChoHag has joined #lisp
ahungry has joined #lisp
emys has quit [Read error: Connection timed out]
wxie1 has joined #lisp
wxie has quit [Read error: Connection reset by peer]
wxie1 is now known as wxie
wxie has quit [Ping timeout: 258 seconds]
SGASAU` has quit [Remote host closed the connection]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
EvW1 has quit [Ping timeout: 260 seconds]
<pjb>
ralt: quicklisp deals with system names. There's no library name in CL.
emys has joined #lisp
emys has quit [Ping timeout: 246 seconds]
emys has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #lisp
smazga has joined #lisp
bitmapper has quit [Ping timeout: 258 seconds]
chipolux has joined #lisp
frgo has quit [Ping timeout: 264 seconds]
emys has quit [Ping timeout: 260 seconds]
monokrom has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 264 seconds]
orivej has joined #lisp
Kundry_W_ has joined #lisp
chwhelan has joined #lisp
Kundry_Wag has quit [Ping timeout: 258 seconds]
emys has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
dddddd has quit [Ping timeout: 272 seconds]
FreeBirdLjj has joined #lisp
emys has quit [Ping timeout: 246 seconds]
emys has joined #lisp
FreeBirdLjj has quit [Ping timeout: 246 seconds]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
mikecheck has quit [Ping timeout: 260 seconds]
emys has quit [Ping timeout: 246 seconds]
gigetoo has quit [Ping timeout: 256 seconds]
jesse1010 has quit [Ping timeout: 256 seconds]
orivej has quit [Read error: Connection reset by peer]
orivej_ has joined #lisp
emys has joined #lisp
oxum has joined #lisp
jfrancis_ has joined #lisp
jfrancis has quit [Ping timeout: 265 seconds]
gigetoo has joined #lisp
emys has quit [Ping timeout: 240 seconds]
emys has joined #lisp
orivej_ has quit [Ping timeout: 264 seconds]
orivej has joined #lisp
jfrancis_ has quit [Remote host closed the connection]
emys has quit [Ping timeout: 272 seconds]
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
frgo has joined #lisp
emys has joined #lisp
hlisp has joined #lisp
noobineer has quit [Ping timeout: 256 seconds]
SGASAU has joined #lisp
hlisp has quit [Read error: Connection reset by peer]
hlisp_ has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
pjb has quit [Ping timeout: 272 seconds]
emys has quit [Ping timeout: 260 seconds]
emys has joined #lisp
karayan has joined #lisp
gaqwas has quit [Ping timeout: 258 seconds]
orivej has quit [Ping timeout: 265 seconds]
orivej has joined #lisp
oxum has quit [Remote host closed the connection]
gaqwas has joined #lisp
emys has quit [Ping timeout: 256 seconds]
<beach>
Good morning everyone!
emys has joined #lisp
Rav3n has joined #lisp
tylerdmace has joined #lisp
smazga has quit [Ping timeout: 246 seconds]
oxum has joined #lisp
oxum has quit [Remote host closed the connection]
kaftejiman has quit [Remote host closed the connection]
kaftejiman has joined #lisp
Kundry_W_ has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
kaftejiman_ has joined #lisp
kaftejiman has quit [Client Quit]
kaftejiman_ has quit [Client Quit]
ech has quit [Ping timeout: 256 seconds]
kaftejiman has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
kaftejiman has quit [Client Quit]
kaftejiman has joined #lisp
emys has quit [Ping timeout: 256 seconds]
emys has joined #lisp
madage has quit [Ping timeout: 240 seconds]
kaftejiman has quit [Client Quit]
kaftejiman has joined #lisp
kaftejiman has quit [Client Quit]
kaftejiman has joined #lisp
stoneglass has quit [Quit: stoneglass]
orivej has quit [Ping timeout: 256 seconds]
orivej_ has joined #lisp
anticrisis has joined #lisp
__jrjsmrtn__ has joined #lisp
_jrjsmrtn has quit [Ping timeout: 260 seconds]
ArthurStrong has quit [Quit: leaving]
pjb has joined #lisp
oxum has joined #lisp
emys has quit [Ping timeout: 260 seconds]
emys has joined #lisp
oxum has quit [Ping timeout: 258 seconds]
madage has joined #lisp
orivej_ has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
Bike has quit [Quit: leaving]
heisig has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
orivej has quit [Ping timeout: 256 seconds]
orivej_ has joined #lisp
emys has quit [Ping timeout: 246 seconds]
pjb has quit [Ping timeout: 272 seconds]
emys has joined #lisp
abhixec has joined #lisp
orivej_ has quit [Ping timeout: 240 seconds]
Kundry_Wag has joined #lisp
oxum has joined #lisp
emys has quit [Ping timeout: 256 seconds]
Kundry_Wag has quit [Ping timeout: 256 seconds]
oxum has quit [Ping timeout: 265 seconds]
emys has joined #lisp
sdumi has quit [Ping timeout: 272 seconds]
sdumi has joined #lisp
bhartrihari has left #lisp ["Disconnected: closed"]
emys has quit [Ping timeout: 272 seconds]
frgo_ has joined #lisp
emys has joined #lisp
<remexre>
what's the least terrible way to close every fd that's a datagram (i.e. UDP) socket? I've got a long-running service I'd rahter not restart that I just realized is leaking FDs
frgo has quit [Ping timeout: 246 seconds]
<fe[nl]ix>
remexre: attach Slime to it and close the FDs
oxum has joined #lisp
<remexre>
fe[nl]ix: I have slime connected; I meant more, is there a convenient/any way to close only UDP sockets
<remexre>
have to admit I'm not sure how to get the protocol of the socket, even w/ cffi
<beach>
There is a PDF version out there as well. Might be nicer to read.
dmc00 has quit [Ping timeout: 272 seconds]
gaqwas has quit [Remote host closed the connection]
anticrisis has quit [Read error: Connection reset by peer]
<phoe>
let me dig in and check if that paper talks about '(OR (REAL * (-3.5D0)) (NOT INTEGER) (REAL (-3.5D0)))
<phoe>
it does mention "touching" intervals
<beach>
Yes, it is very thorough.
<phoe>
still, seems it does not mention this edge case directly
shifty has quit [Ping timeout: 246 seconds]
shifty has joined #lisp
ghard has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
<phoe>
I'm not (yet) aware of an implementation that correctly simplifies the above into T
bhartrihari has joined #lisp
<beach>
"simplifies"?
<phoe>
err, that gives (VALUES T T) upon evaluating (subtypep t '(OR (REAL * (-3.5D0)) (NOT INTEGER) (REAL (-3.5D0))))
jonatack_ has quit [Quit: jonatack_]
<beach>
I see.
FreeBirdLjj has joined #lisp
<beach>
According to Baker, most implementations of subtypep are flawed.
<phoe>
that's because (or (real * (-3.5d0)) (real (-3.5d0))) are the whole real domain except -3.5d0; no implementation detects that -3.5d0 is of type (not integer) which would give us (or real (not integer))
<beach>
I need to read up on what (real (-3.5d0)) means.
<phoe>
welp, correct - all real numbers above -3.5d0
<phoe>
(real * (-3.5d0)) is all numbers below
<beach>
Right.
jonatack has joined #lisp
shangul has joined #lisp
wxie has joined #lisp
<beach>
I see, so the descriptor says "all reals below -3.5d0" or "all integers above -3.5d0" or "all non-integers"
wxie1 has joined #lisp
<phoe>
Yes, and AFAIK no implementation notices "hey, -3.5d0 fits in the «all non-integers» part, let's check if we can use that in these numberic ranges that are nearby"
wxie has quit [Read error: Connection reset by peer]
wxie1 is now known as wxie
<phoe>
the trick I've developed to fix it is: when there is an exclusive range inside an OR, check if the boundary of that range is a member of other types being part of the OR
<phoe>
and, if that's the case, turn the exclusive range into an inclusive one
<phoe>
and try to simplify again
seok has quit [Remote host closed the connection]
<beach>
I think we should wait for Didier Verna and Jim Newton to finish their implementation of Baker's algorithm.
dmiles has quit [Read error: Connection reset by peer]
andrei-n has joined #lisp
dmiles has joined #lisp
frgo_ has quit [Remote host closed the connection]
frgo has joined #lisp
pjb has quit [Ping timeout: 272 seconds]
terpri has quit [Remote host closed the connection]
wxie has quit [Ping timeout: 260 seconds]
terpri has joined #lisp
andrek has joined #lisp
andrek has quit [Remote host closed the connection]
smazga has joined #lisp
pjb has joined #lisp
smazga has quit [Ping timeout: 264 seconds]
karlosz has quit [Quit: karlosz]
shka_ has quit [Ping timeout: 258 seconds]
cosimone has quit [Quit: Quit.]
jeosol has quit [Remote host closed the connection]
cosimone has joined #lisp
Misha_B has joined #lisp
shifty has quit [Ping timeout: 272 seconds]
milanj has joined #lisp
cosimone has quit [Client Quit]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
oxum has quit [Remote host closed the connection]
cosimone has joined #lisp
ghard` has joined #lisp
ghard has quit [Remote host closed the connection]
msk_ has joined #lisp
msk has quit [Ping timeout: 246 seconds]
Kundry_Wag has joined #lisp
Bourne has quit [Read error: Connection reset by peer]
RukiSama has quit [Ping timeout: 260 seconds]
milanj has quit [Quit: This computer has gone to sleep]
msk_ has quit [Ping timeout: 256 seconds]
milanj has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
jonatack has quit [Ping timeout: 258 seconds]
bhartrihari has left #lisp ["Disconnected: closed"]
jonatack has joined #lisp
oxum has joined #lisp
ebrasca has joined #lisp
dmc00 has joined #lisp
monokrom has joined #lisp
scymtym_ has joined #lisp
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #lisp
scymtym has quit [Ping timeout: 256 seconds]
vaporatorius has quit [Read error: Connection reset by peer]
cosimone has quit [Quit: Quit.]
jprajzne has quit [Quit: jprajzne]
kaftejiman has joined #lisp
terpri has quit [Remote host closed the connection]
terpri has joined #lisp
scymtym_ has quit [Remote host closed the connection]
scymtym has joined #lisp
terpri has quit [Client Quit]
EvW has joined #lisp
Bike has joined #lisp
bhartrihari has joined #lisp
jprajzne has joined #lisp
orivej has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
jonatack has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
quazimodo has joined #lisp
noobineer has joined #lisp
noobineer has quit [Read error: Connection reset by peer]
smazga has joined #lisp
cosimone has joined #lisp
noobineer has joined #lisp
oni-on-ion has quit [Remote host closed the connection]
smazga has quit [Ping timeout: 246 seconds]
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #lisp
Bourne has joined #lisp
Kundry_Wag has joined #lisp
jfrancis has joined #lisp
ech has joined #lisp
orivej_ has joined #lisp
orivej has quit [Ping timeout: 272 seconds]
oxum_ has joined #lisp
hiroaki has joined #lisp
pjb has quit [Remote host closed the connection]
oxum has quit [Ping timeout: 256 seconds]
RukiSama has joined #lisp
pjb has joined #lisp
jonatack has joined #lisp
oxum has joined #lisp
Cuccslayer has joined #lisp
<Cuccslayer>
Hello
<Cuccslayer>
i am trying to use ltk and i already have ltc/tk installed but it still gives me errors because quicklisp does not recognize i have tlc tk
<Cuccslayer>
tcl/tk*
oxum_ has quit [Ping timeout: 260 seconds]
jonatack has quit [Ping timeout: 240 seconds]
orivej_ has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
jonatack has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
<Cuccslayer>
oof
<phoe>
Cuccslayer: what's the exact error? please use a pastebin
<ralt>
what's the english error for "O sistema não conseguiu localizar o ficheiro especificado."?
<phoe>
"the system cannot find the file specified"
<Cuccslayer>
the system could not localize the specified file
fengshaun has quit [Quit: bibi!]
<ralt>
I guess it's a PATH issue then
<Cuccslayer>
enviroment variables?
<phoe>
wherever you have WISH installed, Lisp is unable to find it
<ralt>
if you use e.g. `"/absolute/path/to/wish"`, does it work?
<phoe>
yes, looks like an issue with the PATH envvar
<Cuccslayer>
ight thanks
ljavorsk has quit [Ping timeout: 246 seconds]
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
<Cuccslayer>
yeay it works
<Cuccslayer>
i made a button that returns "PRESS ME HARDER" everytime you press it, no regrets
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
<phoe>
sounds like a good and fruitful use of the capabilities provided by modern UI toolkits
<phoe>
good to know that it works for you
bhartrihari has left #lisp ["Disconnected: closed"]
<jmercouris>
any way to do (setf (osicat:file-permissions my-file) '(:user-read :user-write)) with UIOP instead?
<jmercouris>
or with any other 'built-in' utilities?
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has quit [Read error: Connection reset by peer]
jonatack has quit [Ping timeout: 256 seconds]
<phoe>
UIOP doesn't seem to contain any functionalities for that
<jmercouris>
can you think of a way I may do that without osicat?
<phoe>
sb-posix:chmod, but it is not portable
<Josh_2>
Afternoon all
<jmercouris>
maybe a uiop:run-program...
<jmercouris>
maybe that's the trick
<phoe>
sure, if you want to depend on the unix chmod
<jmercouris>
I don't want to
<phoe>
then why not depend on osicat?
<jmercouris>
do other distributions have a sb-posix compatibility layer? ccl?
<jmercouris>
I believe osicat is causing strange corruption issues in my image
<phoe>
nope, it's non-portable and SBCL-only
<jmercouris>
I didn't mean 'sb-posix' i meant ccl-posix eetc
<Cuccslayer>
why is it called steel bank
<jmercouris>
so I could write a compatibility layer
<jmercouris>
Carnegie Mellon
<jmercouris>
that is why, history
<phoe>
Cuccslayer: it has roots in Carnegie Mellon University; Carnegie was famous for steel and Mellon for banking
<jmercouris>
"The name "Steel Bank Common Lisp" is a reference to Carnegie Mellon University Common Lisp from which SBCL forked: Andrew Carnegie made his fortune in the steel industry and Andrew Mellon was a successful banker."
<jmercouris>
from WikiPedia
<Cuccslayer>
well thats neat, probably won't fit on my brain for long but good lore
<phoe>
jmercouris: I don't think so.
<jmercouris>
son of a potato
<phoe>
french fries?
<jmercouris>
potentially :-)
<jmercouris>
or mashed potatoes, could be anything really
ahungry has joined #lisp
<phoe>
jmercouris: does osicat have any foreign components?... I can't see any there
<jmercouris>
it does
<jmercouris>
libosicat.dylib
<jmercouris>
it has a problem with dlopen on fresh start in my persisted image
<phoe>
hmmm, let me find it
<phoe>
jmercouris: have you reported it?
<jmercouris>
I've not reported it
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej_ has joined #lisp
<jmercouris>
I don't know if that is a flaw in the software, the fact that it doesn't package right :-)
<easye>
#' has a distinct semantic for the function location.
<jmercouris>
what about #:
<jmercouris>
why do people do that in package declarations for example
<jmercouris>
instead of just :
<easye>
jmercouris: To avoid the implicit INTERN.
<phoe>
jmercouris: avoids polluting packages)
<jmercouris>
why would you wish to avoid that?
<easye>
There is some room to debate if it is worth it.
<phoe>
^
<jmercouris>
I can't imagine the reasoning, but oh well
<engblom>
phoe: Thank you! it does what I want!
<phoe>
: is kiiiinda okay, #: is the most pedantic
<easye>
Well, an INTERN needs to CONS, right?
<phoe>
(defpackage foo ...) is the worst
cantstanya has joined #lisp
oxum has quit [Remote host closed the connection]
<jmercouris>
why is that the worst?
<jmercouris>
I use uiop:defpackage
<phoe>
(defpackage foo (:use bar) (:export baz)) interns the symbols FOO, BAR, and BAZ into the current package
* easye
uses keywords liberally RE: instead of just :
<phoe>
and that happens even if you use uiop:defpackage
<jmercouris>
phoe: but why is that a problem?
<jmercouris>
if the symbols are interned what is the consequence?
<phoe>
jmercouris: wasted kilobytes of RAM
<easye>
One can never have enough keywords right? Memory is cheap.
<phoe>
as easye said, it's debatable whether the practical effect is really big
<easye>
All keywords are the same.
<phoe>
or even measurable?...
<jmercouris>
i think it is not big
<pjb>
Use strings, so they can be garbage collected and don't involve the overhead of an uninterned symbol!
<easye>
The #: thing is definitely a hygiene OCD thing as this point. It is probably not measurable on real computation devices at this point. But embedded...
Cuccslayer has quit [Ping timeout: 240 seconds]
<jackdaniel>
#: is the right thing to do, that's all. no practical example of it breaking things
<jackdaniel>
it is similar to #+(or) vs #+nil debate
<easye>
jackdaniel: agreed. But I often don't patch the other behavior.
<jackdaniel>
(of course for both you may invent artificial examples which break things)
<phoe>
the legendary (push :nil *features*) strikes again
<jackdaniel>
when I see #+nil my eyes itch
<easye>
#+nil is definitely inferior. Just try running your code on the "New Implementation of Lisp" implementation.
<easye>
#+(or) has unequivocally semantic not dependent on the state of *FEATURES*.
<easye>
s/has/has a/
<easye>
jackdaniel: can you invent an example of #+(or) which breaks things? Interesting.
<jackdaniel>
I mean #+nil can break things
<easye>
ACK
<jackdaniel>
#+(or) is *the right thing to do*
Cuccslayer has joined #lisp
<easye>
Amen.
<jackdaniel>
similar to #:foo for packages
<jackdaniel>
but in practice it does not, as noted
<jackdaniel>
(i.e nobody pushes #+nil because they know things will horribly [and randomly] break)
<jackdaniel>
s/#+nil/:nil/
<easye>
Norvig's style guide is a great thing to study and understand.
<jackdaniel>
yes, I've enjoyed it a lot
<easye>
And, dare I pun, INTERN!
<jackdaniel>
:)
<phoe>
oof
<easye>
Worth the CONS...
<jackdaniel>
toss a cons for your easye, o valley of plenty
<easye>
memory is cheap.
<easye>
Ok, back to hacking ABCL.
<jackdaniel>
right, I still need to finish implementing moving windows in the terminal :)
<jackdaniel>
[with a pointer of course]
<easye>
jackdaniel: loved your work without curses.
<jackdaniel>
thank you, it grown bigger than I initially expected, but it is a lot of fun
<easye>
Something satisfying about moving a cursor...
<phoe>
jackdaniel: can I move a CLIM window in terminal by doing SETF CFFI:MEM-REF?
<White_Flame>
an uninterned symbol still needs to be consed into existence, too
<easye>
Not related, but it would be nice to have a CL:FORMAT extension for centering text.
<easye>
(which can be done portably)
* phoe
adds it to the idea bin for the Hypothetical Future Revision™
<jackdaniel>
phoe: I doubt it, because ffi is used only to configure the terminal in raw mode
<phoe>
jackdaniel: but you said it can be done with a pointer :(
<jackdaniel>
easye: clim's draw-text does have :align-x and :align-y parameters
<jackdaniel>
ah, that's what you mean, I didn't get it :)
<phoe>
jackdaniel: I thought you would enjoy this kind of humor
<jackdaniel>
there is also formatting-output which could be possibly extended to accept that
<jackdaniel>
I do, and it is funny, I just didn't get it!
<phoe>
:D
efm has joined #lisp
<pjb>
easye: you can do it with ~/
<easye>
pjb: interesting. I didn't know. There was a reddit request for this recently.
<phoe>
easye: that thread had a lot of requests, some of them contradictory
<easye>
CL:FORMAT is too big to keep in my swap.
<phoe>
I use CLHS for anything non-trivial in FORMAT
<easye>
phoe: cool. Glad to know there is some movement.
<p_l>
that reminds me... does LW ship physical manuals still?
<easye>
Adding to the cookbook for CL:FORMAT would be good. PCL is great, but could use an index.
<phoe>
easye: file an issue on the cookbook!
<phoe>
there's people who work on it daily, they could use some feedback
<lukego>
How do I add a directory to the ASDF search path? I'm reading the docs but it seems like I need to understand this whole configuration DSL so that I can correctly update whatever the starting value of asdf:*source-repository* is? or is there a simple way along the lines of (push "/dir" *load-paths*) ?
<easye>
phoe: naw, I'll just write it when I get a chance.
<jackdaniel>
lukego: you may push to the asdf:*central-registry*
<lukego>
sounded though like that's not advised and might end up disabling rather than augmenting other config?
<jackdaniel>
it is "deprecated", but that's a way for quick hack from the repl
<easye>
lukego: the easiest way is to hold your nose and push to the registry.
<_death>
lukego: there's also ql:*local-project-directories*
<fe[nl]ix>
lukego: what do you mean by adding a directory ?
<jackdaniel>
and to my knowledge it doesn't break anything
<jackdaniel>
right, there is a tree and a shallow variant
<lukego>
easye: you mean like skip over the :SOURCE-REGISTRY and poke in a path e.g. (setf (cdr asdf:*source-registry*) ...) or something?
<jackdaniel>
pushing to the central registry is imo safer than modifying the source registry
<lukego>
fe[nl]ix: I want ASDF to load systems from $dir in addition to anywhere it was already planning to look
<lukego>
I think that I will just not use ASDF :) thanks for the reality check
<easye>
s/asdf files/asdf configuration files/
<fe[nl]ix>
lukego: recursively ?
<lukego>
fe[nl]ix: preferably recursively, yeah
<easye>
It seems that the best way to deal with ASDF is to write everything to the filesystem where it can be introspected.
<lukego>
I'm not sure what I'm missing here. Seems like my needs are very generic. The default image will have an ASDF load path, including all the packages that are installed on the machine, and then I want to also load my own code. I thought this would be like the first example in the manual?
<easye>
The ASDF manual could use some love.
<jackdaniel>
just push the directory to a central registry, or write the conf file in dsl
<fe[nl]ix>
lukego: I symlink all .asd files I need into a central directory, and register that
<easye>
symlinks are another option that works well.
<easye>
The central registry is deprecated but still works.
shka_ has joined #lisp
<_death>
deprecate deprecate
<jackdaniel>
lukego: such conf file could look like this: (:source-registry (:tree "/path/to/the/directory") :inherit-configuration)
<easye>
_death: heh.
<lukego>
fe[nl]ix: OK. Guess my setup is unusual. I have a packaging of SBCL with all my external dependencies that puts them all in a central place. This is already setup when SBCL starts. But now I want to also include the working directory of the code I usually hack on
<fe[nl]ix>
that's the original way of doing things, and IMO it's still the best mechanism because it doesn't require each load to recursively search a potentially very large tree
<easye>
fe[nl]ix: the recursive argument is good.
<lukego>
Thanks again for the tips and commiserations :)
<easye>
lukego: just do another startup to employ us someday, ok?
<fe[nl]ix>
lukego: that sounds reasonable, but I think few Lispers work that way
<_death>
hmm, maybe I'm missing something, but to me it looks like quicklisp setup + a third-party directory (which I push to ql:*local-project-directories* if it's not already there)
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
EvW has quit [Ping timeout: 246 seconds]
<engblom>
Is there an equivalent of \n for lisp when using (print "....") or do I need to use (format ...)?
<jackdaniel>
you may put a literal newline in the string
<jackdaniel>
or you may use terpri
<engblom>
Thanks!
rgherdt has joined #lisp
<_death>
you could also define a reader macro.. did you know the bit vector syntax (what is now #*1010) used to be #"1010"? then Pitman suggested the new syntax to make #" available and gave an example of a reader macro that sends to format.. so #"foo~%bar" would do.. he gave an example of it in a docstring to solve the "indentation issue"
<easye>
pjb: nice. Is that in somewhere that Quicklisp can pick it up?
<easye>
err. (ql:quickload :split-sequence) is an odd place. Thanks!
<pjb>
easye: it's a dependency!
<pjb>
easye: you can use com.informatimago.common-lisp.cesarum.string:split-string instead.
<easye>
Sorry. Too many buffers in this Eight Megabytes And Constantly Swapping...
<easye>
But, altogether now, "Memory is cheap!"
<easye>
s/altogether/alltogether/\
<aeth>
CPU cache is the new memory
<easye>
aeth: heh. Definitely for Emacs.
jcowan has joined #lisp
<phoe>
everybody now, "cpu cache is expensive!"
<jcowan>
Compared to what?
<White_Flame>
threadripper, "how much you want?"
<jcowan>
If your code has to be small enough to fit in registeres only, you have a real problem.
<aeth>
Most desktop Ryzens give you 32-256 MB cache, but they're split so it's less than you think unless you can perfectly parallelize your application.
<easye>
We have a lot of registers these days...
<jcowan>
Question: is it usual to use .lisp as an extension for S-expression data files that aren't code?
<aeth>
I use .sxp
<jcowan>
Oh, you mean expensive in $$$s.
<easye>
jcowan: I've seen "sexp" as the best TYPE, but it has problems with porn filters.
<phoe>
jcowan: I wouldn't do that, too easy to accidentally try to LOAD or COMPILE them.
<aeth>
.sexp is also common, but I prefer .sxp because I don't trust filters, yes
<_death>
sbcl has some .lisp-expr files
<beach>
jmercouris: The #: prefix for uninterned symbols has nothing to do with saving space. It has to do with showing the person reading your code that the package of the symbols has no importance.
Kundry_Wag has quit [Remote host closed the connection]
<easye>
jcowan: best is probably to add a ASDF class locally to semantically nail what you mean.
orivej has quit [Quit: No Ping reply in 180 seconds.]
<White_Flame>
if everybody used keywords for package names (since the space is flat anyway), there would be zero memory overhead per use
<jcowan>
I just encountered a claim that people do in fact use .lisp in such circumstances, and I wanted to make sure that if it exists, it is at least not best practice.
<phoe>
jcowan: IMO naming a file .lisp if it doesn't contain Lisp source code is at least an instance of a misnomer
<jcowan>
beach: Surely not. The whole point of #:foo is that it is not eq to another #:foo, which would not be the case for junk::foo.
<_death>
polluting the keyword package with such symbols would be annoying when completing
orivej has joined #lisp
<easye>
I'm with phoe here. "lisp" should be CL:LOAD'able
<White_Flame>
_death: doesn't SLIME contextually complete keyword parameters by now?
* easye
isn't getting any work done. Damn you #lisp!
<White_Flame>
and that space will get polluted by anything & everything anyway
* jcowan
too, and I'm here yak shaving
* phoe
hides the yak
<phoe>
okay everyone, time to work
<White_Flame>
but it's not like I'm promoting keywords for package name use, but rather if people are making it a memory concern, then that's the cleanest way to contain it
<jcowan>
sometimes I think Zetalisp had the right idea: a hierarchy of packages with each automatically use-ing its parent and the analogue-of-CL package at the top.
<jcowan>
Less flexible, but easier to understand.
<beach>
jcowan: I was talking specifically of its use in DEFPACKAGE.
<jcowan>
Oh, sorry, I didn't have the context
* jcowan
departs, *with* the yak hair
jcowan has left #lisp [#lisp]
<_death>
White_Flame: what do you mean? while it's not always unambiguous, when I complete :i-f-d-e I often get :if-does-not-exist.. if people started using keywords, it and other scenarios have a better chance of becoming ambiguous
<White_Flame>
uh, the keyword package will contain the union of all &keyword parameters in use across everything, plus any other tagging use. It's already a polluted space
Blukunfando has joined #lisp
<White_Flame>
s/&keyword/&key/
<_death>
White_Flame: all I am saying is that stuffing more names there raises the chances of ambiguity
<_death>
so if there's no reason and #:this-works...
<White_Flame>
regarding my SLIME comment, I thought that when you're in the &key portion of a function, the tab completion would look at the available keyword parameters
<jmercouris>
beach: what do you mean by that?
<_death>
gtg
<White_Flame>
but, I guess it's not guaranteed that a list starting wiht a function name is a call to it anyway
<jmercouris>
beach: if the package does not matter, why do they not just do 'symbolxyz?
<jmercouris>
why include the : at all?
paul0 has quit [Quit: Leaving]
dyelar has joined #lisp
<pjb>
jmercouris: in defpackage, arguments are STRING designators. packages are named by STRINGS. I don't understand why you want to use symbols.
<beach>
jmercouris: What I mean is, if you give a symbol with a specific package, then the person reading your code might think that it is important that the symbol has that particular package. So by giving a symbol that does not HAVE a package, you clearly show the person reading the code that the package doesn't matter.
<jmercouris>
oh I see
<White_Flame>
pjb: presumably to take care of the case automatically
<phoe>
jmercouris: (defpackage 'foo ...) won't work anyway
<pjb>
White_Flame: I'm an absolutist.
<pjb>
relativism is bad.
<jmercouris>
so you could write (defpackage "foo" ...)?
<phoe>
jmercouris: (defpackage "FOO" ...)
<pjb>
jmercouris: yes. |foo|:bar.
<White_Flame>
and foo:bar syntax in usage uses symbol case
<phoe>
package names are case sensitive
<jmercouris>
interesting
<jmercouris>
why do we not see people using strings?
<pjb>
I do.
<jmercouris>
so that the users case sensitivity does not break things?
<phoe>
it used to be a popular thing, using strings in there
<easye>
jmercouris: because keywords always mean the same thing. By definition.
<jmercouris>
I think you can disable upcasing, so that would break many people's code
FreeBirdLjj has joined #lisp
<jmercouris>
who assume upcasing environment
<pjb>
who are not conforming.
<jmercouris>
not upcasing is non conforming?
<easye>
pjb: good question. I don't know of any.
smazga has joined #lisp
<easye>
But there could be...
<pjb>
jmercouris: what would be non conforming, is to expect some setting of the *readtable* (and other variables), since their default values are implementation dependent.
<White_Flame>
pjb: I would expect all your symbol usage in source code to be written in uppercase to fit your absolutism ;)
<pjb>
jmercouris: by this, most quicklisp libraries are non conforming.
<jmercouris>
hm, I see
<pjb>
White_Flame: yes. I only downcase to avoid people shouting at me…
<jmercouris>
YOU DOWNCASE TO PREVENT WHAT?
<aeth>
jmercouris: (symbol-name '#:foo) is the correct way to avoid upcasing issues, or in the case of defpackage, #.(symbol-name '#:foo)
<pjb>
White_Flame: I have lisp-upcase and lisp-downcase emacs commands.
nikkal has joined #lisp
<aeth>
But in the case of a defpackage you can just use #:foo instead
<aeth>
jmercouris: that being said, only my code wouldn't break if your reader didn't upcase :-)
<aeth>
expect every other library to break
<aeth>
If you want case-sensitivity, do a case inversion
<easye>
There's convention, and there's conformance. 'nuff said.
<easye>
We have a ANSI standard, damnit! And it means something.
<easye>
(not enough, but that's another debate)
FreeBirdLjj has quit [Ping timeout: 260 seconds]
<aeth>
I was going to say, good luck getting libraries running if you just have ANSI conformance, wtihout things like CFFI or bordeaux-threads
<aeth>
A few others, too, like trivial-features
<aeth>
Although I think in theory you can just implement things exactly in thew ay that trivial-features expects, since that's mostly about making *features* in implementations consistent.
<easye>
aeth: there is a "post-renaissance open implementation conformance" which is the consensus in which we operate.
<phoe>
easye: that conformance is surprisingly often called ASDF and UIOP, to the dismay of surprisingly many lispers
<easye>
ASDF/UIOP is an important part of that conformance, but not the whole story.
<phoe>
yes
<phoe>
we couldn't get the implementers to agree about how cl-ext:quit should work, so we have uiop:quit instead
<easye>
Which is why we need something like the CDR to explain things for posterity.
<phoe>
people still don't agree that this is how it should work, but at least it's there
<easye>
Maybe a HTML5-like "living standard" for Common Lisp.
<phoe>
easye: yes, I plan on reviving UltraSpec as soon as I'm done with my book
<easye>
CL is very "convention" orientated in practice. Especially for the coordination among the open implementations.
rivvera has quit [Changing host]
rivvera has joined #lisp
rivvera is now known as Rav3n
<easye>
Did y'all notice that CLojure didn't make Stack Overflow's "state of programming" content?
Kundry_Wag has joined #lisp
<easye>
Arguments have been made that SO is weighting their survey to people who actually use SO.
Kundry_Wag has quit [Read error: Connection reset by peer]
Kundry_Wag has joined #lisp
<engblom>
If I want to make sure the result is an integer and not a floating point, is there a better way to round an arbitary floating number than (floor (+ number 0.5))?
<jackdaniel>
that said I'm sometimes disappointed that CL doesn't round half up, especially when I was writing a function to calculate my taxes :)
<jackdaniel>
but that's easily mitigated with defining a function round*
<jackdaniel>
it is just you always have to break for split second to add this star at the end, probably could be better solved (in my particular case) with shadowing the symbol
botanick has joined #lisp
jeosol has joined #lisp
wsinatra has quit [Quit: WeeChat 2.8]
rumbler31 has quit [Remote host closed the connection]
cosimone has quit [Quit: Quit.]
orivej has quit [Read error: Connection reset by peer]
orivej_ has joined #lisp
<phoe>
engblom: don't worry, I was taught that way too
dddddd has joined #lisp
<phoe>
and then I understood that this way of rounding has some meaning when we do (reduce #'+ (mapcar #'round '(0.5 1.5 2.5 3.5 4.5 5.5))) and get 18 which is closer to the non-rounded result than 21
oxum has joined #lisp
EvW1 has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
<engblom>
I have finally written my first common lisp program :)
<phoe>
should work the same as yours; if not, I screwed up
<engblom>
phoe: Thanks!
<Cuccslayer>
lmao i left this window open
<Cuccslayer>
ive been here the whole time
<phoe>
Cuccslayer: same as tens of other people I guess
<phoe>
I leave my IRC connected all the time
<Cuccslayer>
hmm
cosimone has joined #lisp
cosimone has quit [Client Quit]
Cuccslayer has quit [Quit: WeeChat 2.7]
<engblom>
phoe: It works well!
<phoe>
engblom: glad to hear that
<phoe>
so, that's how I'd format and style this code
<phoe>
separating the constants and configuration outside the main body of the function
<engblom>
phoe: Yes, it is looking better like this rather than what I did throw into the file
jw4 has quit [Read error: Connection reset by peer]
jw4 has joined #lisp
oxum has joined #lisp
oxum has quit [Ping timeout: 264 seconds]
pjb has quit [Ping timeout: 272 seconds]
rumbler31 has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
grewal has quit [Remote host closed the connection]
rumbler31 has quit [Ping timeout: 256 seconds]
jello_pudding has quit [Ping timeout: 265 seconds]
heisig has quit [Quit: Leaving]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
whartung has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
oxum has joined #lisp
pjb has joined #lisp
jello_pudding has joined #lisp
bitmapper has quit [Remote host closed the connection]
<andrei-n>
Hello. Is there a tutorial how to write a x86-64 bootloader in Common Lisp? It's for the "Make Something" part of "A Road to Common Lisp". Thank you!
<whartung>
anyone know of a way to make (find ‘(10 20 30 40) 25 :test ???) return “20”?
bitmapper has joined #lisp
<jackdaniel>
andrei-n: check out mezzano (there is #mezzano channel)
<whartung>
I’ve tried :test #’<, #’> neither do what I want.
<jackdaniel>
there is also movitz
<phoe>
whartung: (lambda (x y) (or (= x 20) (= y 20)))
<phoe>
I don't think this is what you want even though it will satisfy your requirements
<whartung>
yes, it’s bit pedantic
<jackdaniel>
could you put in words what are the criteria of searching for 25 in this list?
<phoe>
what are you tring to do?
<whartung>
any way to use find to find the element with the maximum key that is <= to the query
<phoe>
also, you got the arguments reversed in FIND
<whartung>
so, 20 for 25, 10 for 15, 40 for 22348234
<jackdaniel>
isn't that a homework by accident though?
bitmapper has quit [Ping timeout: 265 seconds]
<jackdaniel>
the specification sounds very artificial
bitmapper has joined #lisp
<jackdaniel>
or superficial even
<phoe>
jackdaniel: (reduce #'max ...)?
<whartung>
no, its not. Simply I have a table, and I want to look up in that table based on the value. Rather than using ranges (0-10, 11-20, 21-30), I hoped to use implied ranges.
<jackdaniel>
phoe: maybe, it is after 8pm here so I can't honestly answer ;) pozornie looks OK
<phoe>
whartung: my natural instinct is to use a dirty LOOP for that
<phoe>
(loop with limit = 25 with result = 0 for i in '(10 20 30 40) when (<= 0 i limit) do (setf result i) finally (return result)) ;=> 20
sauvin has quit [Read error: Connection reset by peer]
bfig_ is now known as bfig
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
<andrei-n>
jackdaniel, Thanks.. There is a lot of files, not sure I'll be able to find it...
<jackdaniel>
I mean that you may try asking there, because froggey wrote such bootloader afaik
<froggey>
mezzano's bootloader is written in C because it reuses a preexisting bootloader. dealing with early PC startup is extremely tedious and I didn't want to deal with it
<froggey>
iirc movitz's bootloader is written in CL, so that would be a better place to look
sdumi has quit [Ping timeout: 256 seconds]
chwhelan has quit [Quit: ERC (IRC client for Emacs 26.3)]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
slyrus_ has joined #lisp
ebrasca has quit [Remote host closed the connection]
scymtym_ has joined #lisp
sdumi has joined #lisp
scymtym has quit [Ping timeout: 260 seconds]
slyrus has quit [Ping timeout: 264 seconds]
karlosz has joined #lisp
<engblom>
What is the correct way to use sbcl --eval? This is not working: sbcl --eval "(print \"hello\")(quit)"
<phoe>
engblom: read the error text that SBCL gives you
<engblom>
Okay, I did not know it was possible to have several --eval
oxum has quit [Ping timeout: 272 seconds]
pjb has quit [Ping timeout: 272 seconds]
<engblom>
progn seems to be a sensible solution as I will call sbcl from a script (hoping to be able to evaluate multiline variables).
slyrus_ has quit [Remote host closed the connection]
<phoe>
engblom: for larger blocks of Lisp, you could try --load
<phoe>
and provide a filename
slyrus_ has joined #lisp
<engblom>
phoe: What I exatly would want to do is calling sbcl from inside of a bash-script with some lisp code (stored inside of a variable) without having extra files
rumbler31 has joined #lisp
<phoe>
engblom: ohh, in that case use "(progn ...)"
<engblom>
Yes, progn seems to be the best solution
dale_ has joined #lisp
dale_ is now known as dale
lucasb has joined #lisp
rumbler31 has quit [Ping timeout: 240 seconds]
loli has quit [Quit: WeeChat 2.8]
bhartrihari has left #lisp ["Disconnected: Broken pipe"]
bhartrihari has joined #lisp
loli has joined #lisp
<pve>
engblom: I wrote a utility to take away some of the tediousness of shell scripts + sbcl, perhaps you might find it useful?
M1NDSHDWS_ has quit [Remote host closed the connection]
pjb has joined #lisp
efm has joined #lisp
bfig has quit [Read error: Connection reset by peer]
bfig has joined #lisp
shifty has quit [Ping timeout: 246 seconds]
rogersm has joined #lisp
rpg has joined #lisp
* rpg
wants a common lisp implementation that will signal a STYLE-WARNING if INTERN is called with only one argument.
<phoe>
rpg: I could dig that
<rpg>
Also for messing with the readtable without specifying WHICH readtable!
<phoe>
oh yes I want that
<rpg>
Not super-excited about using `(:shadowing-import-from #:my-fussy-lisp #:intern)` , since I really want this for OTHER PEOPLE's code that I load!
<ralt>
what is a commonly installed C library that you typically need to add a `-l` for?
<ralt>
that is not `-lm`
<ralt>
I mean, besides libmath
<ralt>
nvm
cairn has joined #lisp
karayan has quit [Remote host closed the connection]
anticrisis has joined #lisp
pjb has quit [Ping timeout: 272 seconds]
karayan has joined #lisp
jesse1010 has joined #lisp
rogersm has quit []
ahungry has quit [Remote host closed the connection]
karswell_ has quit [Remote host closed the connection]
karswell_ has joined #lisp
gaqwas has quit [Remote host closed the connection]
pjb has joined #lisp
ArthurSt1ong has joined #lisp
ArthurStrong has quit [Read error: Connection reset by peer]
rgherdt has quit [Ping timeout: 246 seconds]
gravicappa has quit [Ping timeout: 258 seconds]
seok has joined #lisp
<seok>
Morning'
<seok>
Can I specify utf-8 encoding with with-open-file?
<phoe>
seok: :external-format
<seok>
Thanks phoe
Jesin has quit [Quit: Leaving]
pve has quit [Quit: leaving]
anticrisis_ has joined #lisp
Jesin has joined #lisp
anticrisis has quit [Ping timeout: 258 seconds]
fengshaun has joined #lisp
cyberbanjo has quit [Read error: Connection reset by peer]
pjb has quit [Ping timeout: 272 seconds]
andrei-n has quit [Quit: Leaving]
oxum has joined #lisp
random-nick has quit [Ping timeout: 256 seconds]
oxum has quit [Ping timeout: 264 seconds]
buffergn0me has joined #lisp
whiteline has quit [Remote host closed the connection]
whiteline has joined #lisp
whiteline has quit [Remote host closed the connection]
whiteline has joined #lisp
<bitmapper>
hmm
<bitmapper>
cl-permutation doesn't load in CCL
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
nikkal has quit [Quit: Leaving]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
pjb has joined #lisp
gaqwas has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 256 seconds]
Lord_of_Life_ is now known as Lord_of_Life
orivej_ has joined #lisp
orivej has quit [Ping timeout: 272 seconds]
terpri has joined #lisp
arpunk has quit [Remote host closed the connection]
wxie has joined #lisp
sjl_ has quit [Ping timeout: 256 seconds]
pjb has quit [Ping timeout: 272 seconds]
orivej_ has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
nightfly has quit [Quit: WeeChat 1.9.1]
nightfly has joined #lisp
akoana has left #lisp ["Leaving"]
karswell_ has quit [Ping timeout: 272 seconds]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
botanick has quit [Quit: leaving]
rumbler31 has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]
Kundry_Wag has quit [Ping timeout: 265 seconds]
nightfly has quit [Quit: WeeChat 1.9.1]
pjb has joined #lisp
nightfly has joined #lisp
nightfly has quit [Client Quit]
nightfly has joined #lisp
nightfly has quit [Client Quit]
nightfly has joined #lisp
hineios6 has joined #lisp
hineios has quit [Ping timeout: 265 seconds]
hineios6 is now known as hineios
stoneglass has quit [Remote host closed the connection]