jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | offtopic --> #lispcafe
whiteline has quit [Ping timeout: 260 seconds]
whiteline has joined #lisp
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
EvW has quit [Ping timeout: 240 seconds]
davepdotorg has quit [Ping timeout: 260 seconds]
_whitelogger has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
davepdotorg has joined #lisp
rumbler31 has quit [Ping timeout: 260 seconds]
akoana has left #lisp ["Leaving"]
davepdotorg has quit [Ping timeout: 265 seconds]
X-Scale` has joined #lisp
X-Scale has quit [Ping timeout: 240 seconds]
X-Scale` is now known as X-Scale
<ruffianeo> I am trying to write a macro (defmacro remoted (name args &body body) ...) which defines 3 functions.....
<ruffianeo> 1. `(defun ,name ,args ,@body)
<ruffianeo> 2.. a function which returns a quoted call of the function
<ruffianeo> 3. a function which returns a quote define of that function.
<ruffianeo> I am kinda stuck with 2 and 3...
Oladon has joined #lisp
<no-defun-allowed> `(progn (defun ,name ,args ,@body) (defun ,(make-name name) () '(,name ,@args)) (defun ,(make-definition-name name) () '(defun ,name ,args ,@body)))?
<ruffianeo> hm.....
<no-defun-allowed> make-name and make-definition-name can be defined using intern and format (or alexandria:format-symbol) if you need to make those names and they aren't given by the user.
anewuser has quit [Quit: anewuser]
<Bike> why do you want those two extras, out of curiosity
dilated_dinosaur has quit [Ping timeout: 240 seconds]
<ruffianeo> well - I hosted ecl in some c++ code and want to send it lisp stuff over a tcp socket
<ruffianeo> from sbcl
<ruffianeo> (remoted foo (a b c) (+ a b c))
<ruffianeo> would then generate those 3 functions
<ruffianeo> and I could get the quotation to send if I write (remote-foo 1 2 3)
<ruffianeo> and if I want to define that function remotely I would write (remote-defun-foo)
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
<ruffianeo> (read-from-string (format nil "remote-~a" name))
<ruffianeo> this shoudl also work, yes?
<no-defun-allowed> I guess, but INTERN makes your intent a bit clearer.
<ruffianeo> the problem I have with (remote-foo 1 2 3), that the (defun remote-foo (a b c) '(foo a b c)) needs to kind of eval the arguments and put the values into the variables
<no-defun-allowed> Then you want to generate (list 'foo ,@arguments), but not exactly that, because the lambda list (a &key b) would do something else.
<ruffianeo> hm..... not so easy
<no-defun-allowed> If you can live without the lambda list, you could generate `(defun remote-foo (&rest rest) (cons ',name rest)).
<ruffianeo> yes I think I tried something like that ... maybe
<no-defun-allowed> One idea though: instead of generating (remote-foo 1 2 3), why not (remote (foo 1 2 3))? Defining REMOTE would be trivial, and it'd just look like FOO otherwise.
dilated_dinosaur has joined #lisp
<ruffianeo> (remote (name &rest args) ...) could be a second macro I then simply use for the first one
dbotton has quit [Quit: -a- Connection Timed Out]
dbotton has joined #lisp
wxie has joined #lisp
jesse1010 has quit [Ping timeout: 272 seconds]
shifty has joined #lisp
toorevitimirp has joined #lisp
g0d_shatter has joined #lisp
<ruffianeo> I give up for today - thanks for the help!
<no-defun-allowed> Sure, take care.
manicennui has left #lisp [#lisp]
ebrasca has quit [Remote host closed the connection]
Stanley00 has joined #lisp
Stanley00 has quit [Remote host closed the connection]
Stanley00 has joined #lisp
cosimone has quit [Quit: Quit.]
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
wxie has quit [Ping timeout: 260 seconds]
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 264 seconds]
<beach> Good morning everyone!
<Josh_2> Hi beach
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 240 seconds]
aeth_ has joined #lisp
aeth has quit [Ping timeout: 256 seconds]
aeth_ is now known as aeth
wxie has joined #lisp
_paul0 has quit [Remote host closed the connection]
paul0 has joined #lisp
earl-ducaine has quit [Quit: No Ping reply in 180 seconds.]
earl-ducaine has joined #lisp
wxie has quit [Ping timeout: 260 seconds]
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 256 seconds]
Mawile has joined #lisp
Archenoth has quit [Ping timeout: 256 seconds]
Inline has quit [Ping timeout: 272 seconds]
Bit_MCP has quit [Quit: Leaving]
Bike has quit [Quit: Lost terminal]
Oladon has quit [Quit: Leaving.]
luckless has quit [Ping timeout: 240 seconds]
luckless has joined #lisp
dominic34 has quit [Quit: dominic34]
jonatack has quit [Quit: jonatack]
orivej has quit [Ping timeout: 256 seconds]
_whitelogger has joined #lisp
gravicappa has joined #lisp
contrapunctus has joined #lisp
interruptinuse has quit [Quit: ZNC - https://znc.in -- bye bye!]
mmohammadi9812 has joined #lisp
interruptinuse has joined #lisp
narimiran has joined #lisp
schweers has joined #lisp
bocaneri has joined #lisp
supercoven has joined #lisp
gaqwas has joined #lisp
supercoven has quit [Max SendQ exceeded]
supercoven has joined #lisp
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 240 seconds]
shka_ has joined #lisp
<flip214> is there something like memset in CFFI?
Alfr has joined #lisp
Alfr has quit [Remote host closed the connection]
Alfr has joined #lisp
Alfr has quit [Remote host closed the connection]
scymtym_ has quit [Remote host closed the connection]
Alfr has joined #lisp
Alfr has quit [Remote host closed the connection]
ldbeth has joined #lisp
v_m_v has joined #lisp
davepdotorg has joined #lisp
Inline has joined #lisp
ggole has joined #lisp
gaqwas has quit [Remote host closed the connection]
davepdotorg has quit [Ping timeout: 256 seconds]
Inline has quit [Remote host closed the connection]
frgo has quit [Ping timeout: 260 seconds]
Inline has joined #lisp
Cymew has joined #lisp
shifty has quit [Ping timeout: 260 seconds]
scymtym has joined #lisp
shifty has joined #lisp
shifty has quit [Ping timeout: 246 seconds]
ruffianeo has quit [Ping timeout: 260 seconds]
Oddity has joined #lisp
Oddity__ has quit [Ping timeout: 260 seconds]
treflip has joined #lisp
davepdotorg has joined #lisp
ljavorsk_ has joined #lisp
davepdotorg has quit [Ping timeout: 264 seconds]
mmohammadi9812 has quit [Quit: I quit (╯°□°)╯︵ ┻━┻]
ldbeth has quit [Quit: ERC (IRC client for Emacs 26.3)]
ldbeth has joined #lisp
v_m_v has quit [Remote host closed the connection]
v_m_v has joined #lisp
v_m_v has quit [Ping timeout: 260 seconds]
scymtym has quit [Ping timeout: 260 seconds]
ljavorsk_ has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
pve has joined #lisp
frgo has joined #lisp
davepdotorg has joined #lisp
davepdotorg has quit [Remote host closed the connection]
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 256 seconds]
davepdotorg has joined #lisp
chrsnjk has joined #lisp
hendursa1 has joined #lisp
scymtym has joined #lisp
hendursaga has quit [Ping timeout: 240 seconds]
ldbeth has quit [Quit: ERC (IRC client for Emacs 26.3)]
Volt_ has quit [Quit: ]
skapata has joined #lisp
lottaquestions_ has joined #lisp
lottaquestions has quit [Ping timeout: 260 seconds]
contrapunctus has quit [Ping timeout: 240 seconds]
bhartrihari has quit [Ping timeout: 260 seconds]
Cymew has quit [Ping timeout: 256 seconds]
cosimone has joined #lisp
luckless has quit [Ping timeout: 240 seconds]
luckless has joined #lisp
davepdotorg has quit [Remote host closed the connection]
shifty has joined #lisp
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
shifty has quit [Ping timeout: 260 seconds]
shifty has joined #lisp
shifty has quit [Ping timeout: 264 seconds]
cognemo has quit [Quit: cognemo]
cognemo has joined #lisp
shifty has joined #lisp
galex-713_ has joined #lisp
galex-713 has quit [Ping timeout: 272 seconds]
luna_is_here has quit [Ping timeout: 272 seconds]
Inline has quit [Ping timeout: 272 seconds]
cosimone has quit [Read error: Connection reset by peer]
cosimone has joined #lisp
luna_is_here has joined #lisp
reggieperry has quit [Read error: Connection reset by peer]
frgo has quit [Remote host closed the connection]
reggieperry has joined #lisp
vms14 has joined #lisp
davepdotorg has quit [Remote host closed the connection]
jesse1010 has joined #lisp
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
SaganMan has quit [Ping timeout: 246 seconds]
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
SaganMan has joined #lisp
bhartrihari has joined #lisp
shifty has quit [Ping timeout: 265 seconds]
jonatack has joined #lisp
Bourne has joined #lisp
davepdotorg has quit [Remote host closed the connection]
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Remote host closed the connection]
davepdot_ has joined #lisp
iissaacc has joined #lisp
jonatack has quit [Ping timeout: 240 seconds]
jonatack has joined #lisp
toorevitimirp has quit [Remote host closed the connection]
galex-713_ has quit [Ping timeout: 258 seconds]
galex-713 has joined #lisp
SaganMan has quit [Ping timeout: 256 seconds]
Bourne has quit [Ping timeout: 258 seconds]
galex-713 has quit [Remote host closed the connection]
galex-713 has joined #lisp
galex-713 has quit [Read error: Connection reset by peer]
galex-713 has joined #lisp
kapil_ has quit [Quit: ZNC 1.7.5 - https://znc.in]
kapil_ has joined #lisp
paul0 has quit [Quit: Leaving]
drl has joined #lisp
<drl> How can this be fixed: ; Evaluation aborted on #<SB-KERNEL:SIMPLE-PACKAGE-ERROR "~A is a nickname for the package ~A" {1006988463}>.
<drl> ; Evaluation aborted on #<ASDF/ACTION:CIRCULAR-DEPENDENCY {100595CED3}>.
frgo has joined #lisp
Inline has joined #lisp
ljavorsk_ has joined #lisp
frgo_ has joined #lisp
gaqwas has joined #lisp
gaqwas has quit [Changing host]
gaqwas has joined #lisp
frgo has quit [Ping timeout: 260 seconds]
frgo_ has quit [Ping timeout: 260 seconds]
frgo has joined #lisp
vms14 has quit [Remote host closed the connection]
iissaacc has quit [Ping timeout: 264 seconds]
ebrasca has joined #lisp
Stanley00 has quit []
davepdot_ has quit [Remote host closed the connection]
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
<_death> like this: ; No value
schweers has quit [Remote host closed the connection]
dbotton has quit [Quit: -a- Connection Timed Out]
dbotton has joined #lisp
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #lisp
notzmv`` has joined #lisp
notzmv`` is now known as notzmv
notzmv has quit [Changing host]
notzmv has joined #lisp
toorevitimirp has joined #lisp
davepdotorg has quit [Remote host closed the connection]
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
elflng has quit [Quit: leaving]
davepdotorg has quit [Ping timeout: 265 seconds]
Inline has quit [Ping timeout: 272 seconds]
wxie has joined #lisp
SaganMan has joined #lisp
Inline has joined #lisp
bitmapper has quit [Quit: Connection closed for inactivity]
random-nick has joined #lisp
schweers has joined #lisp
ruffianeo has joined #lisp
EvW has joined #lisp
elflng has joined #lisp
davepdotorg has joined #lisp
wxie has quit [Ping timeout: 246 seconds]
davepdotorg has quit [Ping timeout: 240 seconds]
ljavorsk_ has quit [Ping timeout: 264 seconds]
iissaacc has joined #lisp
davepdotorg has joined #lisp
Bike has joined #lisp
cosimone_ has joined #lisp
rumbler31 has joined #lisp
cosimone has quit [Ping timeout: 265 seconds]
toorevitimirp has quit [Ping timeout: 260 seconds]
<pve> Hi, are implementations required to store the source code of function definitions (as a string or cons)? I can see that on SBCL, (describe #'foo) shows me the source form, but (describe #'+) does not. Does it depend on the optimization settings used when compiling the code?
<beach> If they were, no commercial Common Lisp vendor would be in business.
<beach> Because you could then see the source code of the entire implementation.
<Bike> but yeah, probably depends on the SPACE and DEBUG optimization settings
<pve> beach: I understand, thanks
gigetoo has quit [Ping timeout: 258 seconds]
dbotton_ has joined #lisp
dbotton has quit [Ping timeout: 260 seconds]
gigetoo has joined #lisp
kaftejiman has joined #lisp
dbotton_ has quit [Ping timeout: 272 seconds]
dbotton has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
hendursaga has quit [Ping timeout: 240 seconds]
hendursaga has joined #lisp
_jrjsmrtn has joined #lisp
kaftejiman has quit [Read error: Connection reset by peer]
__jrjsmrtn__ has quit [Ping timeout: 240 seconds]
kaftejiman has joined #lisp
chrsnjk has quit [Quit: leaving]
EvW has quit [Ping timeout: 260 seconds]
leo_song has quit [Read error: Connection reset by peer]
dbotton has quit [Ping timeout: 256 seconds]
cosimone_ has quit [Quit: Quit.]
leo_song has joined #lisp
random-nick has quit [Quit: quit]
random-nick has joined #lisp
dbotton has joined #lisp
iissaacc has quit [Ping timeout: 265 seconds]
dilated_dinosaur has quit [Ping timeout: 258 seconds]
rgherdt has joined #lisp
lucasb has joined #lisp
ljavorsk_ has joined #lisp
narimiran has quit [Ping timeout: 240 seconds]
davepdotorg has quit [Remote host closed the connection]
davepdotorg has joined #lisp
gko_ has joined #lisp
ljavorsk_ has quit [Ping timeout: 265 seconds]
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
schweers has quit [Ping timeout: 260 seconds]
davepdotorg has quit [Read error: Connection reset by peer]
davepdot_ has joined #lisp
davepdot_ has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
mankaev_ has quit [Ping timeout: 260 seconds]
TwoNotes has joined #lisp
mankaev has joined #lisp
davepdotorg has joined #lisp
jonatack has quit [Ping timeout: 272 seconds]
dilated_dinosaur has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Remote host closed the connection]
<TwoNotes> In my logged error messages from a handler, I see a routine reference like this: "(semantics fun8)" I do have a function named "semantics" but what is the "fun8"??
davepdotorg has joined #lisp
contrapunctus has joined #lisp
<Bike> doesn't ring a bell.
<Bike> how do you do the logging?
<TwoNotes> log4cl
<TwoNotes> I have (optimize (debug 3)(speed 1))
<TwoNotes> log4cl includes the name of the function it was called from. Sometimes it is putting in this extra name like "fun8"
contrapunctus has left #lisp ["Disconnected: closed"]
rippa has joined #lisp
contrapunctus has joined #lisp
ljavorsk_ has joined #lisp
Inline has quit [Ping timeout: 260 seconds]
madrik has joined #lisp
user51 has joined #lisp
gaqwas has quit [Remote host closed the connection]
ibinderwolf has quit [Remote host closed the connection]
wxie has joined #lisp
bitmapper has joined #lisp
rgherdt has quit [Remote host closed the connection]
cosimone has joined #lisp
ruffianeo has quit [Remote host closed the connection]
ljavorsk_ has quit [Ping timeout: 240 seconds]
Lord_of_Life_ has joined #lisp
Oladon has joined #lisp
ljavorsk_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
TwoNotes has quit [Quit: Leaving]
wxie has quit [Ping timeout: 260 seconds]
jw4 has quit [Read error: Connection reset by peer]
jw4 has joined #lisp
g0d_shatter has quit [Ping timeout: 265 seconds]
jeosol has joined #lisp
luckless has quit [Ping timeout: 240 seconds]
g0d_shatter has joined #lisp
luckless has joined #lisp
srhm has joined #lisp
<drmeister> Displaced arrays in Common Lisp don't have an accessor like (setf (array-displacement displaced-array) ...)
<drmeister> How much trouble would I be getting myself into if I added two, one to set the array that I want to displace-to and the other for the displayed-index-offset.
<beach> clhs adjust-array
<drmeister> Oh! Is that what that is for?
<drmeister> Well - ok then.
<Bike> that is one of the things it is for, yeah.
<Bike> having a more restricted setf might be kind of interesting, since adjust-array can adjust a whole lot of things, but it's not in the language
<drmeister> I'm writing simulators - and I find it's really convenient to put all the values that represent the state of the system at any point in one big vector. I'd like to displace a bunch of other vectors into that state vector to interpret the single state vector into other, more meaningful vectors.
<drmeister> Thank you both.
drl has quit [Quit: Ex-Chat]
davepdotorg has quit [Remote host closed the connection]
<drmeister> I've got these two robotic synthesizers that each have like 35 bottles of solutions that it takes material out of and 6 reactors that it assembles molecules onto. I want to simulate them both for a week and then set up another simulation. I'm going to create a state vector with (* 2 (+ 35 6)) entries for the whole system and then simulate two machines that have displaced vectors for their bottles and reactors into that
<drmeister> state vector.
<drmeister> Then I can copy the state vector, run it for a couple of days, make a decision, throw it away and go back to the previous state. Things like that.
<drmeister> Displaced arrays are great for that.
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 260 seconds]
ljavorsk_ has quit [Ping timeout: 272 seconds]
davepdotorg has joined #lisp
scymtym has quit [Ping timeout: 260 seconds]
davepdotorg has quit [Remote host closed the connection]
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 264 seconds]
dominic34 has joined #lisp
simendsjo has joined #lisp
Oddity has quit [Read error: Connection reset by peer]
davsebam1e has joined #lisp
EvW has joined #lisp
davsebamse has quit [Ping timeout: 272 seconds]
dbotton_ has joined #lisp
davsebam1e has quit [Ping timeout: 256 seconds]
scymtym has joined #lisp
dbotton has quit [Ping timeout: 260 seconds]
davsebamse has joined #lisp
flazh has quit [Read error: Connection reset by peer]
gko_ has quit [Ping timeout: 272 seconds]
flazh has joined #lisp
abhixec has quit [Ping timeout: 240 seconds]
davepdotorg has joined #lisp
<shka_> drmeister: you are not using sbcl, aren't you?
jonatack has joined #lisp
davepdotorg has quit [Ping timeout: 256 seconds]
z147 has joined #lisp
kaftejiman has quit [Remote host closed the connection]
daphnis has joined #lisp
dbotton has joined #lisp
dbotton_ has quit [Ping timeout: 260 seconds]
Stengah has joined #lisp
<Stengah> Hi! I want to help maintain lisp project
<Stengah> any entry level projects that I can help?
<Stengah> It could be anything
Alfr has joined #lisp
cosimone has quit [Quit: Quit.]
Stengah has quit [Remote host closed the connection]
Stengah has joined #lisp
Stengah has quit [Remote host closed the connection]
orivej has joined #lisp
Oladon has quit [Quit: Leaving.]
drl has joined #lisp
<drl> When I use quicklisp to try to load "alexandria" I get the following error message: Evaluation aborted on #<SB-KERNEL:SIMPLE-PACKAGE-ERROR "~A is a nickname for the package ~A" {1003D60BF3}>.
Bourne has joined #lisp
<drl> What am I doing wrong?
jdgr has joined #lisp
Inline has joined #lisp
<pve> drl: how do you load it?
Inline has quit [Ping timeout: 272 seconds]
jonatack has quit [Ping timeout: 260 seconds]
bocaneri has quit [Read error: Connection reset by peer]
<|3b|> any suggestions for handling warnings differently for some packages in QL or ASDF? in particular i want to be strict about warnings for my code when testing, but permit them for dependencies i don't control
micro has quit [Remote host closed the connection]
<|3b|> so far cleanest idea i have is to ask ASDF for a list of dependencies of my projects, and load those separately ignoring warnings
CrazyEddy has quit [Ping timeout: 272 seconds]
<|3b|> other ideas are to add a mixin to the systems before loading them, so i can put around methods on asdf ops to handle things specifically
<|3b|> (or just put methods on them directly without introducing my own classes, but that's probably too fragile, even assuming they don't have around methods already)
<drl> pve, (ql:quickload "alexandria")
<|3b|> asking for a list of dependencies has the problem of requiring the systems to already exist, which isn't always the case if i want to be strict about something that would normally be installed by ql (and even if it does exist, i still need to sort them, etc)
<|3b|> drl: what implementation + version?
<|3b|> actually, i guess it is obviously sbcl, but still what version :)
<pve> drl: that should just work, what packages does the error message refer to?
<|3b|> drl: also, what does (ql:where-is-system 'alexandria) return, and does it load if you run sbcl with --no-sysinit --no-userinit
<drl> |3b|, SBCL 2.0.8.72-7e8aef940
<pve> but that won't init quicklisp..
<|3b|> true, i guess you need to add --load '(load "/quicklisp/setup.lisp")' after the --no-*
<|3b|> --eval i mean
<drl> pve, just alexandria.
<|3b|> or just --load ~/quicklisp/setup.lisp
<|3b|> drl: the error should show what package name and/or nickname is conflicting, might paste entire output (to gist or a paste site, not here) so we can look for clues
jprajzne has quit [Quit: jprajzne]
<drl> I uninstalled alexandria, then tried to load it. quicklisp downloaded the file and uncompressed it, but then again gave the error message.
madrik has quit [Ping timeout: 256 seconds]
Inline has joined #lisp
<pve> drl: you should look for the offending package before you load alexandria
<pve> apparently you're loading something that conflicts with alexandria
shifty has joined #lisp
gxt has quit [Quit: WeeChat 2.9]
<drl> pve, I exited emac, restarted emacs, started slime, tried to load alexandria before loading anything else. I still get the same error message.
<Xach> drl: try (ql:where-is-system "alexandria")
<Xach> i suspect a third-party alexandria sneaking in
<pve> drl: forget emacs for a moment, work from the shell
<pve> and check your ~/.sbclrc
<drl> Xach, #P"/home/l/quicklisp/dists/quicklisp/software/alexandria-20200715-git/"
<Xach> ok, that is ok
<pve> drl: do what |3b| suggested in the shell and see if it loads
<|3b|> drl: if you type alexandria into the repl in slime and hit M-. on it, does it go to a file? if so, is it in that path?
davepdotorg has joined #lisp
treflip has quit [Quit: WeeChat 2.6]
liberliver has quit [Quit: liberliver]
<drl> |3b|, ~/quicklisp/dists/quicklisp/software/alexandria-20190710-git/package.lisp
narimiran has joined #lisp
<drl> pve, it loads from the shell.
<|3b|> with --no-sysinit --no-userinit or without?
micro has joined #lisp
davepdotorg has quit [Ping timeout: 272 seconds]
<drl> I note that I must have two different copies of alexandria in quicklisp.
<drl> Note the dates.
<|3b|> yeah, that's normal
<_death> what is the actual error message, not what's printed after you abort
<|3b|> but something seems to be explicit6ly loading the old one before you try to load it
<Xach> It could be an asdf configuration.
<Xach> like a :tree option or something.
<|3b|> that would affect :where-is-system, wouldn't it?
<Xach> Yes.
<|3b|> i guess it could be something loads it and then changes configuration
<Xach> drl: here's something else to try: (ql-dist:clean (ql-dist:dist "quicklisp"))
<Xach> That will remove old things from the quicklisp dist tree
<|3b|> but either way, just need to figure out which config file is doing odd things if it loads on shell in some form
<|3b|> if it loads without --no-sysinit --no-userinit, it should be something in slime/swank or emacs config, otherwise try just one of those to see if the other init file is the problem
abhixec has joined #lisp
<drl> Xach, That didn't help.
jonatack has joined #lisp
Lycurgus has joined #lisp
Nilby has joined #lisp
<drl> |3b|, "if it loads without --no-sysinit --no-userinit" I don't know how to do that.
<|3b|> when you tested on shell, what command did you run in shell?
<drl> |3b|, (ql:quickload "alexandria")
<drl> and that loaded OK.
<|3b|> i mean to start sbcl
<drl> sbcl
<|3b|> ok, with no other arguments?
gravicappa has quit [Ping timeout: 260 seconds]
<drl> no
Alfr has quit [Quit: Leaving]
gravicappa has joined #lisp
EvW has quit [Ping timeout: 240 seconds]
<|3b|> drl: does the file ~/.swank.lisp exist ?
daphnis has quit [Ping timeout: 240 seconds]
<drl> |3b|, no.
davepdotorg has joined #lisp
<|3b|> drl: does ~/.sbclrc do anything besides load quicklisp?
rpg has joined #lisp
bars0 has joined #lisp
<drl> |3b|, (require :asdf)
<drl> ;;; If a fasl was stale, try to recompile and load (once).
<drl> (defmethod asdf:perform :around ((o asdf:load-op)
<drl> (c asdf:cl-source-file))
<drl> (handler-case (call-next-method o c)
<drl> ;; If a fasl was stale, try to recompile and load (once).
<drl> (sb-ext:invalid-fasl ()
<drl> (asdf:perform (make-instance 'asdf:compile-op) c)
<drl> (call-next-method))))
davepdotorg has quit [Ping timeout: 260 seconds]
<Xach> wow, that is so old!
<Xach> how did you find such a bit of code?
<drl> I've had it for years---don't remember where I got it.
frgo has quit []
<easye> methinks it is pre-ASDF2
<Xach> so old
bars0 has quit [Quit: Lost terminal]
<|3b|> drl: did you restart inferior lisp (or emacs entirely) after (ql-dist:clean ...)?
<drl> Should I just delete all of that old stuff?
<Lycurgus> is anything in sbcl that old in lisp years?
easye has quit [Remote host closed the connection]
<Lycurgus> didn it fork from cmucl c. '06?
<|3b|> drl: might also try deleting fasl cache in ~/.cache/common-lisp/ (assuming unix-like os) and ~/.slime/fasl/
easye has joined #lisp
<Lycurgus> lisp old is before 1980
<|3b|> and then restart lisp (or emacs) and try again
sts-q has joined #lisp
<|3b|> if it still errors, make sure it is still the same error
EvW has joined #lisp
drl has quit [Ping timeout: 240 seconds]
terpri has quit [Ping timeout: 260 seconds]
<Xach> I used to have it in my setup too
wsinatra has joined #lisp
terpri has joined #lisp
Lycurgus has quit [Quit: Exeunt]
<scymtym> Xach: do you know whether anything has happened here https://github.com/quicklisp/quicklisp-projects/issues/1889 ? in one of my builds it seems as if trivia is quickloaded to satisfy a :depends-on "optima" but then the OPTIMA package does not exist
terpri has quit [Ping timeout: 240 seconds]
<Xach> scymtym: I don't know of the current status
<scymtym> Xach: ok, thank you
<Xach> http://report.quicklisp.org/2020-09-25/failure-report.html shows some optima-related breakage
<Xach> (I am pleased with my new report format, which pulls critical ERROR/WARNING info out into the main index page)
<|3b|> some of those seem to be from trying to switch to trivia
rustisafungus has joined #lisp
<rustisafungus> so, i am language-surfing, for fun. i get the impression that the lisp community isn't so fond of types (?) is there some good reading on this philosophy i can look at?
<|3b|> types are great, typing them in manually for no reason isn't so great :)
ggole has quit [Quit: Leaving]
<Xach> rustisafungus: "not fond of types" does not describe the common lisp people i know
<|3b|> and "lisp community" is a bit vague, this channel is specifically about Common lisp
wsinatra has quit [Ping timeout: 260 seconds]
<rustisafungus> so you guys do like your variables to be strongly typed? i think there is some quote from pg saying that values have types, not variables
Alfr has joined #lisp
<|3b|> "types" isn't the same as "strongly typed variables"
<Xach> there's some joke in there to be made along the lines of "if trees could scream, would we be so cavalier about cutting them down? maybe if they screamed all the time, for no reason"
<|3b|> and pg is right, values are what has types
<|3b|> though telling the compiler we will only put values of a specific type in a particular variable can allow some nice optimizations, so we do that sometimes
wsinatra has joined #lisp
<|3b|> but most of the time, that restriction is just annoying, so we don't
<rustisafungus> "values have types" sounds equivalent to "i dont like declaring a variety of different variable names when i could just have one"
<Xach> it isn't.
<aeth> pjb isn't fond of types and pjb is vocal, but pjb isn't everyone.
<|3b|> if you like, you can just say we default to all variables being strongly typed as T (which is the type in CL that is a supertype of all other types), so can hold any values
<aeth> The language surrounding types is really confusing. But "strong vs weak" afaik is normally about coercively typed languages being "weak", while in CL, there really are only rules for autoconversion within the numeric tower (e.g. (+ integer float)) afaik.
<rustisafungus> oh wow you autoconvert int and float
<aeth> Where the canonical problem with weak types is 42 + "4" which could be "424" or 46 (or, really, anything else)
<rustisafungus> that's very dangerous
<aeth> rustisafungus: if you want to be careful with your floats, you end every literal with "f0" or "d0" depending on which type you want. It's not that bad.
<|3b|> we would say the same about integers wrapping :)
dbotton has quit [Ping timeout: 256 seconds]
<aeth> And, yeah, you can get wrapping integers, but only if you wrap them in an operation that wraps them, such as MOD
<rustisafungus> aeth: idiomaticity is important in programming languages imo, i want all my libraries etc to treat floats as being radioactive
dbotton_ has joined #lisp
<|3b|> radioactive things can be quite useful :)
IPmonger has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
<aeth> rustisafungus: every library that's worthwhile will use the "f0" suffix for all single-floats and the "d0" suffix for all double-floats with no exceptions. Once a float, things stay as floats, although they turn into the one with the highest precision if you mix them iirc.
IPmonger has joined #lisp
<rustisafungus> yeah again non-explicit typecasting
jonatack has quit [Quit: jonatack]
shifty has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
<Xach> at least you are exploring languages with an open mind and without preconceptions
<aeth> rustisafungus: The rules are very consistent. An integer is a fixnum or a bignum. It becomes a bignum automatically if it leaves its range, but you can keep it in range to keep it efficient (with e.g. MOD, which might be optimized to the appropriate asm + instruction if the right size)
<pve> often when people write "strongly typed", they really mean "statically typed"
<rustisafungus> yes but i could write a program where everything is some kind of String, and that would be all statically typed
<aeth> rustisafungus: Division of an integer with an integer produces a rational, which is conceptually like a pair of bignums. Certain operations like SQRT that produce irrationals can turn something into a float (the one part I don't like, tbh), but otherwise, floats are only obtained by mixing something with a float, in which case it uses the most precise float.
<aeth> And any of these numerical types can become complex (e.g. you can have a complex with integers, or a complex with any float type)
<aeth> Complex being the natural thing to do when you have (sqrt -1)
<rustisafungus> but really i should be defining more about my values to my compiler, so i say "strongly" to distinguish the fact that i want to reveal as much as is practical about my program operation to my compiler, because it is smarter than i am, often
<Xach> It can be helpful not to be obligated to do that when starting out.
kaftejiman has joined #lisp
<aeth> rustisafungus: CL numerical programs are more... mathematical than most programming languages. An integer is a mathematical integer. If you want it to be an efficient machine integer, you better actually establish bounds algorithmically, or DECLARE it and hope it errors.
<rustisafungus> xach: agreed
<rustisafungus> aeth: yeah, but that means that my program is either total with bounds or not total and i have to pray
<rustisafungus> i hadn't realized that duality until now,... i guess all variables need to be bounded in order to have totality
<aeth> rustisafungus: Other programs tolerate incorrect behavior for efficiency, but CL perfers to either error or turn into a mathematical type that prevents it from being an error (e.g. sqrt can produce complex)
<aeth> rustisafungus: You can however disable this for floating point and get the NaN/inf of other languages. You have to use float-features:with-float-traps-masked because the way to do it is not standard.
<aeth> for better or for worse, most numerical programs (1) use floats and (2) disable the built-in safety of the language this way.
jonatack has joined #lisp
<aeth> arguably, single-floats should never overflow because it would be more consistent with the language design if they just overflowed into double-floats just like fixnums overflow into bignums
<aeth> but I guess floats are used for efficiency too much for people to think like that
narimiran has quit [Ping timeout: 265 seconds]
<aeth> In practice, though, if you care about your numerical type, you're going to statically type or check-type your code there... so your integer becoming a float because one float was passed in won't really be an issue.
<user51> has anyone done any emulation in lisp? i'm specifically talking about intel 8080, i figured it would be a decent first project.
* |3b| has seen some nes emulators i think
<|3b|> (or at least chips from them, don't remember if they did whole systems)
<user51> yeah, there's a nes one on github
<rustisafungus> user51: decent first project for carp lang?
<user51> carp?
<rustisafungus> user51: https://github.com/carp-lang/Carp
<aeth> user51: to be efficient on this sort of thing... (1) use SBCL, (2) use structs whose slots have a :type or use arrays with an :element-type that can be optimized (mostly just various simple numerical types; test with upgraded-array-element-type first) or some combination of these
<aeth> (3) frequently DISASSEMBLE and use DECLARE to provide type information
<aeth> It will be mostly portable, but really fast on SBCL
<user51> rustisafungus: i'll stick to CL for now, as that's the material i've been reading.
<rustisafungus> aeth: what do you think of carp? ;)
<aeth> rustisafungus: I bet you that SBCL will beat its performance because it has had decades of work put into it, even though it's neither statically typed (although it is gradually typed) nor aimed at RT programming.
<aeth> It is possible, though a bit hard, to avoid GC during the runtime by preallocating everything. SBCL gives you enough profiling information to do this.
<aeth> Well, actually SBCL is statically typed, I'm underselling it. CL itself is just dynamically typed (values hold type information), but SBCL is doubly statically typed, with parallel declared-type and inferred-type information at compile time associated with variables (although it's often just T, since most CL code is ultra-dynamic)
<rustisafungus> so i guess in contrast to haskell, mutation in lisp is very common/idiomatic etc?
wsinatra has quit [Ping timeout: 265 seconds]
<|3b|> yeah, CL likes to mix lots of styles of programming, 'pure functional', 'mutate everything', OOP, whatever :)
<aeth> The least painful style is probably a "mostly functional" style, where pure functions feed into mutable data structures, since CL is a very expression-heavy language.
<|3b|> iteration, recursion, whichever fits
JessicaPurple has joined #lisp
<aeth> But you can really write using any style.
<sm2n> no tail recursion though ;)
sts-q has left #lisp ["#lisp"]
<aeth> If you're writing an emulator in CL, it'd probably look a lot like writing an emulator in C, though.
<rustisafungus> i think part of my curiousity about lisp is the realization that type systems are just code which executes at compile time
wsinatra has joined #lisp
<user51> aeth: thanks. and yes, c is the language i wrote the emulator in originally, although since it's my first it had a bunch of iterations for improvements.
<aeth> As far as low-level programming goes, you have structs of arrays available to you in CL, but you dn't have arrays of structs, since there's no way to make an array with that sort of memory layout... you'd just get arrays of pointers to structs.
<user51> yeah, i learned no arrays of structs the hard way :D
<|3b|> sm2n: right, but anything that /requires/ tail recursion probably doesn't fit :)
<rustisafungus> user51: do you understand the NES (all those opcodes etc) or do you copypasta them from some documentation?
<user51> i don't know any NES, only 8080
<user51> thanks everyone - i'll keep reading about lisp and see where i get stuck. night!
user51 has quit [Quit: leaving]
<rustisafungus> i just came across this, possibly nsfw https://ncatlab.org/nlab/show/Oberwolfach+HoTT-Coq+tutorial
<rustisafungus> i like the idea that time is a side effect btw, this is a much neglected idea
dbotton_ has quit [Quit: -a- IRC for Android 2.1.59]
dbotton has joined #lisp
dbotton has quit [Client Quit]
wsinatra_ has joined #lisp
wsinatra has quit [Ping timeout: 265 seconds]
simendsjo has quit [Ping timeout: 256 seconds]
<PuercoPop> aeth: manardb is similar to an array of structs (a mmap'ed back collection of classes). The only thing it doesn't do is allow random-access iirc, instead it forces you to iterate through all the instances at once
sr-hm has joined #lisp
<aeth> PuercoPop: I'm guessing that's "db" as in a database? interesting
srhm has quit [Ping timeout: 240 seconds]
wxie has joined #lisp
z147 has quit [Quit: z147]
srhm has joined #lisp
sr-hm has quit [Ping timeout: 272 seconds]
ramHero has joined #lisp
<PuercoPop> yeah, but it is memory backed.
asarch has joined #lisp
daphnis has joined #lisp
Inline has quit [Remote host closed the connection]
akoana has joined #lisp
davepdotorg has joined #lisp
wxie has quit [Ping timeout: 272 seconds]
gravicappa has quit [Ping timeout: 258 seconds]
davepdotorg has quit [Ping timeout: 272 seconds]
jeosol has quit [Remote host closed the connection]
kaftejiman has quit [Remote host closed the connection]
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 256 seconds]
<sveit> hello. i have seen online the statement that SBCL runs on Android, but I haven't found a guide to compile it either on-device (through termux) or cross-compile. is anyone familiar with this? a naive attempt to compile on-device ran into problems with undefined C functions.
Josh_2 has quit [Ping timeout: 260 seconds]
<rustisafungus> i've made rustc compile and then compile a rust program on termux once, but it was very, very slow
<rustisafungus> do you need specifically sbcl or just some lisp
<no-defun-allowed> (Other than Clozure) any other Lisp is basically going to be even slower.
<rustisafungus> sveit: i mean, if you are just playing around, why not use repl.it
<Bike> slower than not working?
<no-defun-allowed> True.
<rustisafungus> yeah but repl.it will run your code in a vm for free, if you are just playing around
<Bike> https://gitlab.common-lisp.net/ecl/ecl-android there's this, which is again not sbcl
<rustisafungus> i don't see sbcl, but there's clojure https://repl.it/languages/clojure and whatever emacs lisp is: https://repl.it/languages/elisp
asarch has quit [Quit: Leaving]
Josh_2 has joined #lisp
<Nilby> I have sbcl running on my phone, but it's not android. I compiled ECL first then compiled sbcl with it.
<aeth> Not Android? Is it a Symbolics Lisp Machine phone?
<Nilby> I wish. It's just linux.
<aeth> I had to ask
EvW has quit [Ping timeout: 260 seconds]
<Nilby> But maybe someday there'll be a port of Mezzano to arm64?.
<no-defun-allowed> There is an Android app with ECL and an acceptable editor, but I couldn't get Quicklisp working with it IIRC
Oladon has joined #lisp
galex-713 has quit [Ping timeout: 272 seconds]
<sveit> i got ECL compiled in termux with no trouble
<sveit> i tried to use i to bootstrap in the SBCL compile, but ran into the undefined C functions
<sveit> the reason for doing this is not to run it on a phone, but a somewhat powerful tablet.
<no-defun-allowed> Do you know which functions?
<sveit> I can let you know in a second. if i remember the spelling right it was getdtablesize
<sveit> commits like this one (there are others) seem to suggest this should be possible: https://sourceforge.net/p/sbcl/sbcl/ci/e84400d65cfd88483d901199b482bcb892a0ac28/
<Nilby> Ah, because the libc is not gnu.
alanz_ is now known as alanz
<rustisafungus> i have no idea if this will photograph you while you are on the john and post the picture on the front page of a newspaper, but lisps are available on android,... https://play.google.com/store/apps/details?id=org.eql5.android.repl&hl=en_US
<sveit> actually i have not just quicklisp, but SLY/SLIME working with ECL on termux. it's actually quite nice
daphnis has quit [Ping timeout: 272 seconds]
<no-defun-allowed> https://github.com/pocoproject/poco/issues/1204 suggests you should replace that with sysconf(_SC_OPEN_MAX)
<sveit> no-defun-allowed: the first build i did had some error with sockets, so quicklisp didn't work, but it was from not including the argument --build=aarch64-linux-android to configure
<sveit> no-defun-allowed: remember to do make clean first if you do want to try this
<sveit> i am happy to start patching, but i was hoping there was some cross-compile or other process i could do without modifying the source based on some of the mysterious statements on the internet :)
galex-713 has joined #lisp
<sm2n> sveit, if it's actually libc, you could maybe try compiling against musl statically instead
<Nilby> maybe you could install gcc?
<sm2n> alpine has sbcl packaged, which seems to point at it being possible
EvW has joined #lisp
Bourne has quit [Ping timeout: 260 seconds]
<sveit> sm2n: thanks! long shot, but do you know what to pass to the SBCL make to do this static linking?
freixo has joined #lisp
<sm2n> no clue, I have never done so myself
<sm2n> you could look at their build script
<sveit> Nilby: only clang is officially supported, i think getting GCC will run into more problems than SBCL :)
jfh has joined #lisp
rustisafungus has quit [Ping timeout: 260 seconds]
<sm2n> but it looks like threading is disabled on aarch64, so I think that means slime etc won't work
jfh is now known as kagevf
<sm2n> they seem to be specifically not be passing any options for aarch64
davepdotorg has joined #lisp
<sm2n> I would test it but I screwed up my postmarketos installation recently
<Nilby> searching reports this: https://github.com/its-pointless/gcc_termux . It looks pretty kludgy though.
<no-defun-allowed> Well, threading on AArch64 does work, so it could be enabled. (I think you pass --fancy and you get all the good stuff including threading.)
rumbler3_ has joined #lisp
davepdotorg has quit [Ping timeout: 256 seconds]
freixo has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
skapata has quit [Quit: Leaving]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
madage has quit [Ping timeout: 240 seconds]
madage has joined #lisp
rustisafungus has joined #lisp
ramHero has quit [Remote host closed the connection]
shymega has left #lisp ["WeeChat 2.9"]
aindilis has quit [Remote host closed the connection]
Inline has joined #lisp
bilegeek has joined #lisp
davepdotorg has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
karlosz has quit [Remote host closed the connection]
karlosz has joined #lisp
karlosz has quit [Remote host closed the connection]
davepdotorg has quit [Ping timeout: 256 seconds]
random-nick has quit [Ping timeout: 256 seconds]
pve has quit [Quit: leaving]
rustisafungus has quit [Quit: Leaving]
orivej has quit [Ping timeout: 272 seconds]
Oladon has quit [Quit: Leaving.]