<markasoftware>
which lisp implementations tend to have less memory usage?
<Inline>
lol
<Inline>
you probably want something like ecl or clisp maybe
<aeth>
Interpreters tend to use less memory, but most people don't really prioritize that over performance these days.
<aeth>
CLISP is interpreted; ECL can be.
<Inline>
if you mean space
<White_Flame>
do the different GC strategies offer any appreciable difference in RAM usage?
<White_Flame>
I would expect not really
<aeth>
Inline: When you bring the whole compiler with you in the runtime environment, there is a very real space vs. speed tradeoff.
<aeth>
e.g. SBCL is roughly twice as fast as CCL and about half the footprint (at the start, before loading in the data) of SBCL.
<aeth>
But at some point, SBCL will win because SBCL's generated asm is about half the size, at least in DISASSEMBLE
<White_Flame>
markasoftware: if your user-created heap objects dominate size, you'll probably not find that much difference between them, and if so the differences would depend on tye specific types used
davepdotorg has quit [Ping timeout: 246 seconds]
<aeth>
s/and about half/and CCL is about half/
patlv has joined #lisp
yokoyamachan has quit [Quit: WeeChat 2.3]
<markasoftware>
i actually may have been wasting more memory in my program than I thought
<markasoftware>
but thanks anyways, clisp is definitely somewhat lighter on the memory
patlv has quit [Ping timeout: 260 seconds]
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 246 seconds]
<White_Flame>
aeth: does CCL include any more facilities than SBCL does?
<aeth>
White_Flame: iirc, CCL has some OS X and Objective-C integration because it started as a Mac-first CL
madage has quit [Remote host closed the connection]
<aeth>
now, if those aren't included in builds outside of OS X, that might contribute to its lower memory footprint relative to SBCL on start.
madage has joined #lisp
EvW has quit [Ping timeout: 260 seconds]
d4ryus1 has joined #lisp
d4ryus has quit [Ping timeout: 260 seconds]
wxie has quit [Ping timeout: 260 seconds]
Oladon has quit [Quit: Leaving.]
mindCrime_ has quit [Read error: Connection reset by peer]
ldbeth has joined #lisp
<ldbeth>
good morning everyong!
sonologico has quit [Remote host closed the connection]
sonologico has joined #lisp
akoana has left #lisp ["Leaving"]
wsinatra has quit [Ping timeout: 240 seconds]
Oladon has joined #lisp
ldbeth has quit [Ping timeout: 260 seconds]
ldbeth has joined #lisp
zaquest has quit [Quit: Leaving]
zaquest has joined #lisp
ldbeth has quit [Ping timeout: 256 seconds]
ldbeth has joined #lisp
<no-defun-allowed>
Hello ldbeth
ldbeth has quit [Ping timeout: 272 seconds]
Bourne has joined #lisp
ldbeth has joined #lisp
wxie has joined #lisp
d4ryus2 has joined #lisp
lonjil has quit [Quit: No Ping reply in 180 seconds.]
d4ryus1 has quit [Ping timeout: 260 seconds]
user__ has quit [Ping timeout: 256 seconds]
jbgg_ has quit [Remote host closed the connection]
lonjil has joined #lisp
jbgg has joined #lisp
Kaisyu7 has quit [Quit: ERC (IRC client for Emacs 26.3)]
shifty has joined #lisp
jdgr has joined #lisp
yamashitatan has joined #lisp
Kaisyu7 has joined #lisp
wxie has quit [Ping timeout: 246 seconds]
davepdotorg has joined #lisp
toorevitimirp has joined #lisp
davepdotorg has quit [Ping timeout: 272 seconds]
Stanley00 has joined #lisp
Inline has quit [Ping timeout: 260 seconds]
Oddity_ has quit [Read error: Connection reset by peer]
Oddity_ has joined #lisp
Mawile has quit [Read error: Connection reset by peer]
Alfr has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
bilegeek has joined #lisp
contrapunctus has joined #lisp
Alfr_ has quit [Ping timeout: 260 seconds]
ldbeth has quit [Ping timeout: 260 seconds]
dead10cc has joined #lisp
ldbeth has joined #lisp
patlv has joined #lisp
ldbeth has quit [Ping timeout: 272 seconds]
patlv has quit [Ping timeout: 244 seconds]
ldbeth has joined #lisp
shifty has quit [Ping timeout: 258 seconds]
ldbeth has quit [Ping timeout: 260 seconds]
<beach>
Good morning everyone!
ldbeth has joined #lisp
ldbeth has quit [Ping timeout: 258 seconds]
<dead10cc>
hi
shangul has joined #lisp
<beach>
Hello dead10cc.
<beach>
dead10cc: Are you new here? I don't recognize your nick.
<dead10cc>
I've been here a while back under a different nick
<phantomics>
morning beach
<dead10cc>
so yes :)
<beach>
Oh, I see.
yamashitatan has quit [Quit: WeeChat 2.3]
_paul0 has joined #lisp
paul0 has quit [Ping timeout: 272 seconds]
abhixec has joined #lisp
<moon-child>
hey all
<beach>
Hello moon-child.
gravicappa has joined #lisp
fe[nl]ix has quit [Quit: No Ping reply in 180 seconds.]
fe[nl]ix has joined #lisp
Bike has quit [Quit: Lost terminal]
galex-713 has quit [Ping timeout: 272 seconds]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
abhixec has quit [Quit: leaving]
dead10cc has quit [Quit: Connection closed]
abhixec has joined #lisp
galex-713 has joined #lisp
abhixec has quit [Ping timeout: 240 seconds]
dim has quit [Ping timeout: 265 seconds]
orivej has joined #lisp
patlv has joined #lisp
toorevitimirp has quit [Ping timeout: 272 seconds]
toorevitimirp has joined #lisp
arpunk has quit [Remote host closed the connection]
arpunk has joined #lisp
patlv has quit [Quit: Leaving]
marusich has joined #lisp
narimiran has joined #lisp
shangul has quit [Quit: Leaving]
orivej has quit [Ping timeout: 272 seconds]
orivej has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 260 seconds]
Lord_of_Life_ is now known as Lord_of_Life
bilegeek has quit [Quit: Leaving]
aartaka has joined #lisp
whiteline has quit [Remote host closed the connection]
whiteline has joined #lisp
Oladon has quit [Quit: Leaving.]
gaqwas has joined #lisp
gaqwas has joined #lisp
toorevitimirp has quit [Ping timeout: 246 seconds]
gko_ has joined #lisp
DGASAU has joined #lisp
gko_ has quit [Ping timeout: 246 seconds]
borei has quit [Ping timeout: 244 seconds]
hiroaki has joined #lisp
ggole has joined #lisp
hiroaki has quit [Ping timeout: 265 seconds]
<markasoftware>
how do you change the expiration of the cookies created for a hunchentoot session? There's a *session-max-time* variable, but that controls the validity of the sessions in the internal database; the cookies sent to the browser still have single-session expiration
Bourne has quit [Ping timeout: 256 seconds]
aartaka has quit [Read error: Connection reset by peer]
ebzzry has joined #lisp
cross has quit [Quit: Lost terminal]
ebzzry_ has joined #lisp
ebzzry__ has joined #lisp
ebzzry___ has joined #lisp
ebzzry has quit [Ping timeout: 256 seconds]
ebzzry_ has quit [Ping timeout: 240 seconds]
ebzzry has joined #lisp
ebzzry_ has joined #lisp
ebzzry__ has quit [Ping timeout: 256 seconds]
shka_ has joined #lisp
ebzzry___ has quit [Ping timeout: 272 seconds]
Cymew has joined #lisp
ebzzry__ has joined #lisp
ebzzry has quit [Ping timeout: 256 seconds]
ebzzry has joined #lisp
ebzzry_ has quit [Ping timeout: 265 seconds]
ebzzry_ has joined #lisp
ebzzry__ has quit [Ping timeout: 258 seconds]
ebzzry__ has joined #lisp
ebzzry has quit [Ping timeout: 272 seconds]
ebzzry___ has joined #lisp
ebzzry has joined #lisp
ebzzry_ has quit [Ping timeout: 265 seconds]
ebzzry__ has quit [Ping timeout: 256 seconds]
ebzzry_ has joined #lisp
ebzzry___ has quit [Ping timeout: 256 seconds]
akkad has quit [Quit: Emacs must have died]
ebzzry__ has joined #lisp
ebzzry has quit [Ping timeout: 258 seconds]
ebzzry__ is now known as ebzzry
ebzzry has quit [Client Quit]
ebzzry has joined #lisp
ebzzry_ has quit [Ping timeout: 256 seconds]
ebzzry__ has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
ebzzry_ has joined #lisp
ebzzry has quit [Ping timeout: 260 seconds]
ebzzry has joined #lisp
ebzzry__ has quit [Ping timeout: 260 seconds]
ebzzry__ has joined #lisp
ebzzry_ has quit [Ping timeout: 256 seconds]
ebzzry_ has joined #lisp
ebzzry has quit [Ping timeout: 272 seconds]
ebzzry has joined #lisp
ebzzry___ has joined #lisp
ebzzry__ has quit [Ping timeout: 272 seconds]
gaqwas has quit [Remote host closed the connection]
ebzzry_ has quit [Ping timeout: 272 seconds]
ebzzry has quit [Ping timeout: 260 seconds]
ebzzry has joined #lisp
ebzzry_ has joined #lisp
ebzzry___ has quit [Ping timeout: 264 seconds]
ebzzry__ has joined #lisp
jbgg has quit [Quit: leaving]
ebzzry has quit [Ping timeout: 264 seconds]
ebzzry has joined #lisp
ebzzry has quit [Client Quit]
ebzzry_ has quit [Ping timeout: 240 seconds]
ebzzry__ has quit [Ping timeout: 260 seconds]
scymtym has quit [Ping timeout: 260 seconds]
gigetoo has quit [Ping timeout: 240 seconds]
aartaka has joined #lisp
d4ryus2 is now known as d4ryus
aartaka_d has joined #lisp
aartaka has quit [Ping timeout: 265 seconds]
ljavorsk has joined #lisp
orivej has quit [Ping timeout: 265 seconds]
ljavorsk_ has joined #lisp
ljavorsk has quit [Ping timeout: 256 seconds]
pve has joined #lisp
scymtym has joined #lisp
davepdotorg has joined #lisp
gaqwas has joined #lisp
gaqwas has joined #lisp
gaqwas has quit [Changing host]
liberliver has joined #lisp
karlosz_ has joined #lisp
karlosz has quit [Read error: Connection reset by peer]
karlosz_ is now known as karlosz
karlosz has quit [Client Quit]
notzmv` has joined #lisp
gravicappa has quit [Ping timeout: 272 seconds]
hendursaga has joined #lisp
notzmv has quit [Ping timeout: 260 seconds]
hendursa1 has quit [Ping timeout: 240 seconds]
jw4 has quit [Read error: Connection reset by peer]
davepdotorg has quit [Remote host closed the connection]
davepdotorg has joined #lisp
supercoven has joined #lisp
supercoven has quit [Max SendQ exceeded]
supercoven has joined #lisp
supercoven has quit [Max SendQ exceeded]
supercoven has joined #lisp
<markasoftware>
defining a method on session-created that replaces the default session cookie seems to work
gigetoo has joined #lisp
ramus has quit [Ping timeout: 256 seconds]
supercoven_ has joined #lisp
jonatack has quit [Ping timeout: 240 seconds]
supercoven has quit [Ping timeout: 265 seconds]
notzmv`` has joined #lisp
marusich has quit [Ping timeout: 244 seconds]
galex-713_ has joined #lisp
ramus has joined #lisp
paul0 has joined #lisp
galex-713 has quit [Ping timeout: 272 seconds]
notzmv` has quit [Ping timeout: 240 seconds]
_paul0 has quit [Ping timeout: 272 seconds]
davepdotorg has quit [Remote host closed the connection]
<pve>
Hi, is there a way in CL to find out the size of a machine word?
<flip214>
When I have a class used as a mixin, can I have two instances of that in another class instance with different slot names?
<aeth>
pve: *features* with trivial-features loaded to ensure :32-bit or :64-bit is there
<beach>
flip214: I am confused about your question. You don't have instances of a class in another class.
<pve>
On my machine, most-positive-fixnum seems to be 2^62. How reliably could I deduce from that that the word size is 64 bits?
<beach>
flip214: And the slot name is intrinsic to the class, so why would you want to have the same mixin with two different slot names?
<beach>
pve: It could be more, like 128.
<pve>
hmm
<beach>
pve: But it is unlikely to be less.
<aeth>
pve: you could assume > 32 is 64-bit, and you'd be right for modern architectures, as long as new ones aren't added as beach said
<aeth>
pve: but trivial-features answers precisely
<aeth>
and one of your dependencies probably already loads it
<pve>
yeah, just curious..
<aeth>
but if you just want "more than 32 bits" then that's probably what you should check
<aeth>
(although, who knows, maybe there's some implementation that breaks that assumption)
<aeth>
(and close to 32 bits, like, say, 36 bits, might still have a fixnum size <= 32)
ramus has quit [Ping timeout: 272 seconds]
CrazyEddy has joined #lisp
<flip214>
beach: I've got a (DEFCLASS HOST-MIXIN () ) that I'm using in a few other classes. Now, for a TCP connection, I need to store two hosts - a src and a dest. Can I reuse that mixin class or do I need to duplicate the slots (and methods) with different names? I guess the latter, but I wanted to ask
aartaka_d has quit [Ping timeout: 272 seconds]
<beach>
I think you need to duplicate.
<flip214>
thanks!
<beach>
But, you probably should not use inheritance for that. You should just have two instances of a class.
<beach>
I forget what they call that in traditional object orientation.
<beach>
Composition?
davepdotorg has joined #lisp
galex-713_ has quit [Quit: No Ping reply in 180 seconds.]
galex-713 has joined #lisp
ramus has joined #lisp
daphnis has joined #lisp
cosimone has joined #lisp
ebrasca has joined #lisp
<beach>
flip214: Did you see that?
user__ has joined #lisp
dbotton has quit [Quit: -a- Connection Timed Out]
dbotton has joined #lisp
<flip214>
beach: yes, I did.
<flip214>
"is a" versus "has a", yeah.
<flip214>
thing is, I might be dealing with a few millions of them at once, so the additional per-instance overhead for two child objects would become prohibitive - but as I'm going to deduplicate them anyway, it should work out.
<flip214>
sorry, storage is a different issue... just wanted to know whether I can save on source LOC (and complexity) by reusing
wxie has joined #lisp
jonatack has joined #lisp
supercoven has joined #lisp
jonatack has quit [Ping timeout: 240 seconds]
zaquest has quit [Ping timeout: 240 seconds]
supercoven__ has joined #lisp
davepdotorg has quit [Remote host closed the connection]
jonatack has joined #lisp
rogersm has joined #lisp
supercoven_ has quit [Ping timeout: 272 seconds]
davepdotorg has joined #lisp
supercoven has quit [Ping timeout: 256 seconds]
zaquest has joined #lisp
davepdot_ has joined #lisp
supercoven has joined #lisp
davepdotorg has quit [Ping timeout: 260 seconds]
supercoven__ has quit [Ping timeout: 260 seconds]
supercoven has quit [Max SendQ exceeded]
supercoven has joined #lisp
phantomics has quit [Ping timeout: 240 seconds]
davepdot_ has quit [Remote host closed the connection]
davepdotorg has joined #lisp
srhm has joined #lisp
jdgr has quit [Ping timeout: 265 seconds]
supercoven has quit [Max SendQ exceeded]
supercoven has joined #lisp
davepdotorg has quit [Ping timeout: 240 seconds]
cpape` has joined #lisp
cpape has quit [Remote host closed the connection]
wxie has quit [Ping timeout: 240 seconds]
mtd has quit [Ping timeout: 256 seconds]
mtd has joined #lisp
<eta>
is there a way to do the equivalent of POSIX's poll() function on multiple streams in SBCL? (or portably)
<eta>
(or even, a way to get the raw file descriptors and call poll() on those)
gravicappa has joined #lisp
galex-713 has quit [Ping timeout: 240 seconds]
<jmercouris>
(ql:system-list) for a specific dist?
Stanley00 has quit [Remote host closed the connection]
* eta
was more wondering whether such functionality was already in SB-EXT or similar
<no-defun-allowed>
I tried (apropos "POLL") and there was something, but the poll interface is beyond me. Some stuff to do with POLL in SB-UNIX though.
orivej has joined #lisp
<scymtym>
eta: you could do something like (sb-sys:add-fd-handler (sb-sys:fd-stream-fd STREAM) :input (lambda (fd) …)) but i'm not sure that is intended for user code. SB-SYS:SERVE-EVENT is the event loop driver for that
<eta>
scymtym, oh, sure, that sounds more reasonable
<eta>
I'm assuming that gets passed down to the OS level as an appropriate timeout
<eta>
(on the read syscall or whatever I/O is happening)
<scymtym>
yes, and deadlines also handle restarted OS operations and time that passes between OS level operations
<scymtym>
and deadlines compose in a sensible way, if i remember correctly
wxie has joined #lisp
aartaka has quit [Ping timeout: 264 seconds]
davepdotorg has joined #lisp
edgar-rft has quit [Quit: Leaving]
wxie has quit [Ping timeout: 246 seconds]
notzmv`` is now known as notzmv
notzmv has quit [Changing host]
notzmv has joined #lisp
<daphnis>
how come #'compile-file seems to return 3 values, first filename and then 2 nils? i thought a function could only return one value?
<jackdaniel>
in common lisp functions may return multiple values
<jackdaniel>
there are operators which act on it
tich has joined #lisp
<jackdaniel>
so you don't have to create a structure to handle multiple values (i.e if you want to concieve two distinct invormation pieces)
<jackdaniel>
(values 1 2 3) ; <- returns three values
<scymtym>
daphnis: common lisp functions can return zero, one or more values (for example FLOOR returns the quotient and the remainder). COMPILE-FILE indicates nuances of compilation success using the second and third value
<jackdaniel>
(multiple-value-bind (a b c) (my-function) (+ a b c+) ; <- binds a b c
<jackdaniel>
(and adds results)
<daphnis>
interesting. thanks
davepdotorg has quit [Ping timeout: 272 seconds]
<jackdaniel>
s/conceive/convey/
<thijso>
I must be doing something wrong, but not sure what... If I try to (ql:quickload :alexandria) in sbcl (in emacs slime), I get the error: "ALEXANDRIA is a nickname for the package ALEXANDRIA.0.DEV" [Condition of type SB-KERNEL:SIMPLE-PACKAGE-ERROR]
<thijso>
Searching in google doesn't really give me any relevant results... Anyone know what I should do to fix this?
<jackdaniel>
do you type this form in a fresh cl image?
<jackdaniel>
or you have something loaded already?
<eta>
also this is probably better suited for #sbcl maybe (if so, I'll go ask in there), but is accessing a slot of a class threadsafe?
<jackdaniel>
if you have one thread, then yes :) otherwise no
<eta>
...interesting, given I have "production" code that assumes it is and it hasn't fallen over yet >_>
<eta>
because I stash a lock in one of the slots and use that to synchronize access to the rest of the class
aartaka has joined #lisp
<eta>
jackdaniel, how about if the slot value never gets changed?
<jackdaniel>
you need to define what do you mean by thread-safety
<jackdaniel>
two concurrent threads may read from the same memory without issues
<eta>
well in this case, I'm storing a lock in a slot of a class
<jackdaniel>
problems start when the content of memory changes and you do different things based on the content
<eta>
and locking it from multiple threads, and then accessing other slots within the critical section
<eta>
so that should be fine, right?
<jackdaniel>
if it is a lock which just sits there, then all threads simply read it, and locking is a thread-safe operation (they would have no use if it weren't)
<eta>
because presumably all the slot stores is a pointer to the lock, which never moves
<eta>
yeah
<eta>
cool, thanks
<jackdaniel>
sure
<eta>
but if you're modifying slot values, then that needs a lock to synchronize the loads / stores
<eta>
because otherwise you have a data race, right?
<eta>
(unless you use sb-ext:atomic-incf and friends)
<beach>
joel135: I really recommend that you give a short summary of what to expect when the link is clicked on.
<beach>
joel135: I never click on links without it, because that is typical troll behavior to post a link to something unrelated, for whatever reason I don't know, increase traffic perhaps.
<joel135>
It is my IRC client's own pastebin.
<joel135>
I posted an emacs lisp session.
<jmercouris>
this channel is not about Elisp, sorry
<beach>
So, Emacs Lisp is off topic here.
<joel135>
Really?
<beach>
Yes, the subject says so.
<beach>
it is dedicated to Common Lisp.
<joel135>
Is my code not valid lisp code?
<Josh_2>
yes it is
davepdotorg has quit [Remote host closed the connection]
<beach>
joel135: "lisp" or "Lisp" is not a term with a widely agreed-upon definition. Now Common Lisp is such a term, and that is the topic of this channel.
davepdotorg has joined #lisp
<dlowe>
you might try ##lisp for the wider family of languages
ldb has quit [Remote host closed the connection]
ldb has joined #lisp
<pve>
joel135: it's difficult to see why your snippet is cool if you give zero explanation, at least I was left scratching my head because the cool part wasn't immediately obvious
_jrjsmrtn has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 272 seconds]
bitmapper has quit [Quit: Connection closed for inactivity]
<joel135>
ok
aaaaaa has joined #lisp
<joel135>
I will start any new general lisp discussion in ##lisp then.
aaaaaa has quit [Client Quit]
<joel135>
As for my snippet, the cool thing is that the nested , is matched to the ` that I wanted it to match, when there were several ``.
<ldb>
three comma programmer
<ldb>
great!
* joel135
googles
<ldb>
real C programmer uses three stars, real lisp programmer uses three commas
<joel135>
I see
<joel135>
(& <-> `) and (* <-> ,) but also (* <-> apply)
madage has quit [Remote host closed the connection]
madage has joined #lisp
<joel135>
err I meant (* <-> eval)
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
Bike has joined #lisp
terpri has joined #lisp
terpri_ has quit [Ping timeout: 240 seconds]
rogersm has quit [Quit: Leaving...]
Inline has quit [Ping timeout: 272 seconds]
srhm has quit [Read error: Connection reset by peer]
hansbauer[m] has joined #lisp
thijso has quit [Quit: leaving]
thijso has joined #lisp
ldb has quit [Quit: ERC (IRC client for Emacs 26.1)]
ukari has joined #lisp
wxie has joined #lisp
tich has quit [Ping timeout: 258 seconds]
Bourne has quit [Remote host closed the connection]
ukari has quit [Remote host closed the connection]
ukari has joined #lisp
h11 has joined #lisp
Stanley00 has joined #lisp
Stanley00 has quit [Ping timeout: 256 seconds]
dominic34 has joined #lisp
madrik has joined #lisp
jdgr has joined #lisp
jprajzne has quit [Quit: jprajzne]
wxie has quit [Ping timeout: 260 seconds]
treflip has joined #lisp
wsinatra has quit [Ping timeout: 258 seconds]
wsinatra has joined #lisp
borei has joined #lisp
EvW has joined #lisp
v_m_v has joined #lisp
Cymew has quit [Ping timeout: 260 seconds]
Alfr has quit [Quit: Leaving]
Archenoth has joined #lisp
rumbler31 has joined #lisp
v_m_v has quit [Remote host closed the connection]
Inline has joined #lisp
hlavaty has quit [Remote host closed the connection]
davepdot_ has joined #lisp
Kaisyu7 has quit [Remote host closed the connection]
davepdot_ has quit [Remote host closed the connection]
dvdmuckle has quit [Ping timeout: 240 seconds]
davepdotorg has quit [Ping timeout: 265 seconds]
dbotton has joined #lisp
datajerk has joined #lisp
marusich has joined #lisp
dbotton_ has quit [Ping timeout: 246 seconds]
dvdmuckle has joined #lisp
Oladon has joined #lisp
jayspeer has joined #lisp
boeg has quit [Ping timeout: 260 seconds]
boeg has joined #lisp
aartaka has joined #lisp
mmohammadi9812 has joined #lisp
yitzi_ has joined #lisp
aartaka has quit [Ping timeout: 240 seconds]
ukari has quit [Remote host closed the connection]
davepdotorg has joined #lisp
karlosz has joined #lisp
marusich has quit [Ping timeout: 260 seconds]
karlosz has quit [Quit: karlosz]
dead10cc has joined #lisp
EvW has quit [Ping timeout: 260 seconds]
jonatack has joined #lisp
gko_ has quit [Ping timeout: 260 seconds]
karlosz has joined #lisp
smazga has joined #lisp
supercoven_ has quit [Ping timeout: 272 seconds]
aeth has quit [Ping timeout: 272 seconds]
aeth has joined #lisp
Lord_of_Life_ has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
Lord_of_Life has quit [Ping timeout: 260 seconds]
dead10cc has quit [Ping timeout: 258 seconds]
Lord_of_Life_ is now known as Lord_of_Life
dead10cc has joined #lisp
wsinatra has quit [Ping timeout: 272 seconds]
ukari has joined #lisp
Oladon has quit [Quit: Leaving.]
Josh_2 has quit [Quit: ERC (IRC client for Emacs 26.3)]
Josh_2 has joined #lisp
wsinatra has joined #lisp
user__ has quit [Quit: Leaving]
jesse1010 has joined #lisp
dbotton_m2 has joined #lisp
<dbotton_m2>
Hello, is there a way to define this function so that the compiler at compile time would recognize the lack of a parameter or local variable
<dbotton_m2>
(defun test (&key (b 20) (c 21)) (format t "a=~A b=~A c=~A~%" a b c))
Alfr has joined #lisp
<dbotton_m2>
I am teaching myself lisp currently but come from the Ada-verse
yitzi_ has quit [Read error: Connection reset by peer]
<Bike>
you mean, so that you get a warning about 'a' being undefined?
<dbotton_m2>
Yes
<dbotton_m2>
In Ada the compiler would pull a gun on you for that
<Bike>
i would expect you to get that warning without any special action on your part.
<Bike>
what implementation/environment are you using?
<Bike>
that said, lisp is going to be a lot less strict than ada in general
<dbotton_m2>
Lisp on an iPad
<dbotton_m2>
Which is elc i think
<dbotton_m2>
Ecl
terpri_ has joined #lisp
rippa has joined #lisp
terpri has quit [Ping timeout: 260 seconds]
EvW has joined #lisp
<Bike>
i haven't used ecl but i'm surprised there's no warning. maybe it only comes up if you use compile-file rather than repl entry.
<dbotton_m2>
My idea is too see how strict I can get things
<dbotton_m2>
Ok, i can give that a try
<Bike>
the ipad version could also be weird, i don't know.
<dbotton_m2>
No difference, I’ll try later at computer
<dbotton_m2>
The iPad version is very nice. I was able to do my tests on concurrency on it use QT
<dbotton_m2>
I was surprised, never thought something as full would be allowed through process
terpri_ has quit [Client Quit]
terpri_ has joined #lisp
bitmapper has joined #lisp
<dbotton_m2>
Do you think there would be a way to setup a macro to use that could detect if its parameter is with in scope? (Sorry for ignorance of terms or capabilities)
<dbotton_m2>
(Is Valid a)
<dbotton_m2>
Sort of think
<dbotton_m2>
So if forced programmer discipline to use could help to avoid this sort of being left to runtime
<Bike>
I would expect an implementation to warn on an unknown variable on its own initiative. The fact that you're not seeing that is weird.
<dbotton_m2>
Well a could be global and maybe a REPL issue as you point out
<Bike>
Usually if you put that in a file and compiled it (with say SLIME) the compilation would fail and an error would pop up.
<Bike>
If a is global then the code isn't actually problematic, so naturally there would be no notice.
<dbotton_m2>
Do lisp macros have that sort of scope data available to them?
<Bike>
There is no standard way to determine what variables are bound in a macroexpansion environment.
<dbotton_m2>
I’ll be able to check soon on a pc let you know
<Bike>
Some implementations export ways to find out as an extension, but they're infrequently used
<Bike>
Generally with what you're talking about the way to go would be to improve the implementation, not to implement macros or something yourself to work aorund its faults
Sauvin has quit [Read error: Connection reset by peer]
treflip has quit [Ping timeout: 272 seconds]
dbotton_m2 has quit [Remote host closed the connection]
Stanley00 has joined #lisp
phantomics has joined #lisp
gravicappa has quit [Ping timeout: 264 seconds]
rig0rmortis has joined #lisp
gravicappa has joined #lisp
Stanley00 has quit [Ping timeout: 240 seconds]
rig0rmor_ has joined #lisp
daphnis has quit [Ping timeout: 258 seconds]
rig0rmortis has quit [Ping timeout: 256 seconds]
rig0rmor_ has quit [Client Quit]
aartaka has joined #lisp
dbotton_m2 has joined #lisp
rig0rmortis has joined #lisp
mmohammadi98122 has joined #lisp
mmohammadi98122 has quit [Client Quit]
mmohammadi9812 has quit [Ping timeout: 240 seconds]
<dbotton_m2>
Using sbcl it through up a warning
<dbotton_m2>
I agree and certainly the idea. I am just first trying (while learning) to see how far the language itself gets me
dbotton_m2 has quit [Remote host closed the connection]
dead10cc has left #lisp [#lisp]
edgar-rft has joined #lisp
CrazyEddy has quit [Ping timeout: 260 seconds]
yitzi_ has joined #lisp
davepdotorg has quit [Ping timeout: 272 seconds]
mmohammadi9812 has joined #lisp
smazga has quit [Read error: Connection reset by peer]
zgasma has joined #lisp
dbotton_m2 has joined #lisp
dbotton_m2 has quit [Client Quit]
dbotton_m2 has joined #lisp
dbotton_m2 has quit [Client Quit]
daphnis has joined #lisp
narimiran has quit [Ping timeout: 246 seconds]
rumbler31 has quit [Ping timeout: 272 seconds]
dbotton__ has joined #lisp
ggole has quit [Quit: Leaving]
daphnis has quit [Ping timeout: 240 seconds]
cosimone has quit [Quit: Quit.]
cosimone has joined #lisp
hiroaki has joined #lisp
dbotton__ has quit [Quit: dbotton__]
aartaka_d has joined #lisp
jeosol has joined #lisp
aartaka has quit [Ping timeout: 260 seconds]
chrpape` has quit [Remote host closed the connection]
wsinatra has quit [Quit: WeeChat 2.9]
jonatack has quit [Quit: jonatack]
v_m_v has joined #lisp
jonatack has joined #lisp
bhartrihari has quit [Ping timeout: 260 seconds]
bhartrihari has joined #lisp
Inline has quit [Quit: Leaving]
v_m_v has quit [Ping timeout: 272 seconds]
Inline has joined #lisp
v_m_v has joined #lisp
scymtym has quit [Ping timeout: 240 seconds]
v_m_v has quit [Ping timeout: 244 seconds]
aartaka_d has quit [Ping timeout: 260 seconds]
v_m_v has joined #lisp
lottaquestions has quit [Ping timeout: 260 seconds]
izh_ has joined #lisp
smazga has joined #lisp
zgasma has quit [Read error: Connection reset by peer]
ukari has quit [Remote host closed the connection]
scymtym has joined #lisp
gravicappa has quit [Ping timeout: 246 seconds]
shka_ has quit [Ping timeout: 260 seconds]
lottaquestions has joined #lisp
dbotton_ has joined #lisp
daphnis has joined #lisp
dbotton has quit [Ping timeout: 240 seconds]
karlosz has quit [Quit: karlosz]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
dra has joined #lisp
anewuser has joined #lisp
dbotton has joined #lisp
EvW has quit [Ping timeout: 244 seconds]
karlosz has joined #lisp
aartaka has joined #lisp
dbotton_ has quit [Ping timeout: 272 seconds]
dra has quit [Quit: Leaving]
smazga has quit [Quit: leaving]
edgar-rft has quit [Quit: Leaving]
v_m_v has quit [Remote host closed the connection]
galex-713 has quit [Ping timeout: 272 seconds]
galex-713_ has joined #lisp
wsinatra has joined #lisp
aartaka has quit [Ping timeout: 272 seconds]
galex-713 has joined #lisp
wsinatra has quit [Read error: Connection reset by peer]
ALPHAPPLE has joined #lisp
galex-713_ has quit [Ping timeout: 260 seconds]
wsinatra has joined #lisp
ALPHAPPLE has left #lisp [#lisp]
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
random-nick has quit [Ping timeout: 240 seconds]
mmohammadi9812 has quit [Quit: I quit (╯°□°)╯︵ ┻━┻]
<White_Flame>
dbotton: the local variables in scope would be part of the &environment parameter to the macro
<White_Flame>
but the contents of it are implementation-specific, and may or may not contain anything
<White_Flame>
there might be a portability library for accessing information from it, though
<mfiano>
there's a few, with Bike's being one of them
<White_Flame>
when you compile (defun foo () a), for instance, it would compile in an access to the assumed global/special variable A
<White_Flame>
you do not need to declare it beforehand, and it might be defined later on
<White_Flame>
so it's not an error condition to refer to variables that way
<White_Flame>
although certainly implementations are free to give style warnings and such recommending you do it cleaner
<White_Flame>
however, when it comes to your macro situation, it's probably better to leave the error checking to the lisp compiler, instead of trying to poke into everything yourself, unless there's really good cause
<Bike>
usually implementations issue a full warning (meaning compilation fails) for an undefined variable, since while defining variables later might work, it's not defined to work
<Bike>
unlike with undefined functions
<White_Flame>
huh
Inline has quit [Remote host closed the connection]
daphnis has quit [Ping timeout: 240 seconds]
Inline has joined #lisp
gendl has quit [Ping timeout: 240 seconds]
conjunctive has quit [Read error: Connection reset by peer]
billstclair has quit [Read error: Connection reset by peer]
billstclair has joined #lisp
yonkunas has quit [Ping timeout: 240 seconds]
gaze__ has quit [Ping timeout: 240 seconds]
bytesighs has quit [Read error: Connection reset by peer]
travv0 has quit [Read error: Connection reset by peer]
banjiewen has quit [Read error: Connection reset by peer]
boeg has quit [Read error: Connection reset by peer]
bytesighs has joined #lisp
jmercouris has quit [Write error: Connection reset by peer]
alanz_ has quit [Write error: Connection reset by peer]
p_l has quit [Write error: Connection reset by peer]
XachX has quit [Read error: Connection reset by peer]
grfn has quit [Read error: Connection reset by peer]
johs has quit [Read error: Connection reset by peer]
p_l has joined #lisp
alanz_ has joined #lisp
gendl has joined #lisp
banjiewen has joined #lisp
travv0 has joined #lisp
yonkunas has joined #lisp
jmercouris has joined #lisp
conjunctive has joined #lisp
XachX has joined #lisp
johs has joined #lisp
gaze__ has joined #lisp
boeg has joined #lisp
grfn has joined #lisp
CrazyEddy has joined #lisp
pve_ has joined #lisp
dra has joined #lisp
daphnis has joined #lisp
pve has quit [Ping timeout: 272 seconds]
Stanley00 has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
Stanley00 has quit [Ping timeout: 272 seconds]
pve_ has quit [Quit: leaving]
wsinatra has quit [Ping timeout: 272 seconds]
orivej has joined #lisp
wsinatra has joined #lisp
hineios has joined #lisp
jeosol has quit [Remote host closed the connection]