skapata has quit [Remote host closed the connection]
xantoz has quit [Ping timeout: 264 seconds]
pjb` has joined #lisp
xantoz has joined #lisp
pjb has quit [Ping timeout: 245 seconds]
Bike has quit [Quit: Lost terminal]
fikka has joined #lisp
kajo has quit [Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.]
kajo has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
parjanya has quit [Remote host closed the connection]
patlv has quit [Ping timeout: 244 seconds]
gabiruh has quit [Ping timeout: 256 seconds]
SaganMan has joined #lisp
fikka has joined #lisp
caltelt has joined #lisp
parjanya has joined #lisp
fikka has quit [Ping timeout: 244 seconds]
sfa has joined #lisp
mflem has quit [Ping timeout: 245 seconds]
mflem has joined #lisp
pjb` has quit [Ping timeout: 245 seconds]
doanyway has quit [Remote host closed the connection]
mlf|2 has joined #lisp
parjanya has quit [Read error: Connection reset by peer]
lavaflow_ has joined #lisp
mflem has quit [Ping timeout: 245 seconds]
parjanya has joined #lisp
fikka has joined #lisp
pjb` has joined #lisp
flazh has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
quazimodo has quit [Ping timeout: 256 seconds]
quazimodo has joined #lisp
pjb` has quit [Ping timeout: 240 seconds]
pjb` has joined #lisp
caltelt has quit [Ping timeout: 260 seconds]
rippa has joined #lisp
doanyway has joined #lisp
pjb` has quit [Ping timeout: 256 seconds]
pjb` has joined #lisp
fikka has joined #lisp
andrei-n_ has joined #lisp
Inline has quit [Quit: Leaving]
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
SaganMan has quit [Ping timeout: 244 seconds]
fikka has quit [Ping timeout: 264 seconds]
doanyway has quit []
brendyn has joined #lisp
k4rtik has joined #lisp
DingoSaar has quit [Ping timeout: 240 seconds]
housel has quit [Remote host closed the connection]
milanj has joined #lisp
sfa has quit [Quit: Lost terminal]
k4rtik has quit [Quit: WeeChat 2.1]
fikka has joined #lisp
k4rtik has joined #lisp
k4rtik has joined #lisp
caltelt has joined #lisp
pjb` has quit [Ping timeout: 256 seconds]
fikka has quit [Ping timeout: 240 seconds]
dmiles has quit [Ping timeout: 260 seconds]
milanj has quit [Read error: Connection reset by peer]
fikka has joined #lisp
milanj has joined #lisp
logicmoo has joined #lisp
vlatkoB has joined #lisp
fikka has quit [Ping timeout: 244 seconds]
pjb` has joined #lisp
jack_rabbit has joined #lisp
pjb` has quit [Remote host closed the connection]
logicmoo is now known as dmiles
isospin has joined #lisp
fikka has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
pjb` has joined #lisp
milanj has joined #lisp
fikka has quit [Ping timeout: 245 seconds]
pjb` has quit [Remote host closed the connection]
milanj has quit [Quit: This computer has gone to sleep]
fikka has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
flamebeard has joined #lisp
pjb` has joined #lisp
varjag has joined #lisp
pjb` has quit [Read error: Connection reset by peer]
<Zhivago>
ljharb: Is that another way of saying "no"?
pjb` has joined #lisp
mindCrime_ has quit [Excess Flood]
varjag has quit [Ping timeout: 245 seconds]
mindCrime_ has joined #lisp
gector has quit [Read error: Connection reset by peer]
gector has joined #lisp
<Zhivago>
ljharb: I that by definition it cannot be incorrect -- but it may be something you find abhorrent, which is fine.
fikka has joined #lisp
<Zhivago>
The means simply lead people to decide that your word cannot be trusted.
<Zhivago>
Oops
brettgilio has joined #lisp
mange has quit [Ping timeout: 264 seconds]
al-damiri has quit [Quit: Connection closed for inactivity]
fikka has quit [Ping timeout: 256 seconds]
pjb` has quit [Ping timeout: 245 seconds]
doesthiswork has quit [Quit: Leaving.]
housel has joined #lisp
elfmacs has joined #lisp
pjb` has joined #lisp
fikka has joined #lisp
makomo has joined #lisp
pjb` has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
pjb` has joined #lisp
shrdlu68 has joined #lisp
xantoz has quit [Ping timeout: 240 seconds]
k4rtik has quit [Ping timeout: 264 seconds]
fikka has quit [Ping timeout: 240 seconds]
Naergon has joined #lisp
pjb` has quit [Ping timeout: 240 seconds]
robotoad has quit [Quit: robotoad]
xantoz has joined #lisp
chrnok has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
cymew has joined #lisp
azimut has joined #lisp
fikka has joined #lisp
pjb` has joined #lisp
cymew has quit [Client Quit]
fikka has quit [Ping timeout: 255 seconds]
pjb` has quit [Ping timeout: 276 seconds]
fikka has joined #lisp
cymew has joined #lisp
buffergn0me has joined #lisp
shka_ has quit [Ping timeout: 244 seconds]
pjb` has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
froggey has quit [Ping timeout: 276 seconds]
hajovonta has joined #lisp
pjb` has quit [Ping timeout: 245 seconds]
milanj has joined #lisp
fikka has joined #lisp
littlelisper has joined #lisp
pierpal has quit [Ping timeout: 264 seconds]
fikka has quit [Ping timeout: 245 seconds]
ym has quit [Quit: Leaving]
pchrist has quit [Ping timeout: 255 seconds]
fikka has joined #lisp
pchrist has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
sigjuice has joined #lisp
fikka has joined #lisp
igemnace has joined #lisp
mlf|2 has quit [Read error: Connection reset by peer]
fikka has quit [Ping timeout: 248 seconds]
<hajovonta>
hello all :)
random-nick has joined #lisp
buffergn0me has quit [Ping timeout: 244 seconds]
MoziM has joined #lisp
<shrdlu68>
Hello
<beach>
Hello hajovonta. Hello shrdlu68.
plll[m] has quit [Ping timeout: 245 seconds]
theemacsshibe[m] has quit [Ping timeout: 240 seconds]
GNUPONUT[m] has quit [Ping timeout: 255 seconds]
drunk_foxx[m] has quit [Ping timeout: 255 seconds]
eli_oat[m] has quit [Ping timeout: 255 seconds]
CharlieBrown has quit [Ping timeout: 245 seconds]
thorondor[m] has quit [Ping timeout: 240 seconds]
schweers has joined #lisp
fikka has joined #lisp
varjag has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
angavrilov has joined #lisp
littlelisper has quit [Quit: leaving]
fikka has joined #lisp
dddddd has joined #lisp
theemacsshibe[m] has joined #lisp
thorondor[m] has joined #lisp
drunk_foxx[m] has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
caltelt has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
eli_oat[m] has joined #lisp
GNUPONUT[m] has joined #lisp
plll[m] has joined #lisp
ebrasca has joined #lisp
CharlieBrown has joined #lisp
fikka has joined #lisp
graphene has quit [Remote host closed the connection]
graphene has joined #lisp
quazimodo has quit [Ping timeout: 244 seconds]
quazimodo has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
_cosmonaut_ has joined #lisp
deng_cn1 has joined #lisp
graphene has quit [Remote host closed the connection]
deng_cn has quit [Ping timeout: 256 seconds]
deng_cn1 is now known as deng_cn
graphene has joined #lisp
fikka has joined #lisp
saki has quit [Quit: saki]
mingus has quit [Remote host closed the connection]
nowhere_man has quit [Ping timeout: 240 seconds]
smokeink has joined #lisp
graphene has quit [Remote host closed the connection]
matijja has joined #lisp
graphene has joined #lisp
makomo has quit [Ping timeout: 244 seconds]
xantoz has quit [Quit: WeeChat 2.0.1]
tewi_inaba has joined #lisp
brettgilio has quit [Read error: Connection reset by peer]
tewi_inaba is now known as xanto
xanto is now known as xantoz
easye has quit [Remote host closed the connection]
easye has joined #lisp
fikka has quit [Ping timeout: 245 seconds]
kerrhau has quit [Ping timeout: 276 seconds]
nowhere_man has joined #lisp
scymtym has quit [Ping timeout: 248 seconds]
froggey has joined #lisp
saki has joined #lisp
lumm has joined #lisp
lumm has quit [Client Quit]
lumm has joined #lisp
nowhere_man has quit [Ping timeout: 245 seconds]
nowhere_man has joined #lisp
xantoz has quit [Ping timeout: 244 seconds]
carmack has quit [Ping timeout: 244 seconds]
xantoz has joined #lisp
<shka>
hello!
pierpal has joined #lisp
nowhereman_ has joined #lisp
nowhere_man has quit [Ping timeout: 240 seconds]
<beach>
Hello shka.
scymtym has joined #lisp
m00natic has joined #lisp
Folkol_work has quit [Remote host closed the connection]
wigust has joined #lisp
isospin` has joined #lisp
isospin` has quit [Client Quit]
isospin has quit [Ping timeout: 256 seconds]
wigust- has quit [Ping timeout: 244 seconds]
nowhereman_ has quit [Ping timeout: 245 seconds]
kerrhau has joined #lisp
kerrhau has quit [Changing host]
kerrhau has joined #lisp
carmack has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
AetherWind has quit [Quit: Leaving]
milanj has quit [Quit: This computer has gone to sleep]
DataLinkDroid has joined #lisp
rawste has joined #lisp
<fe[nl]ix>
Xach: what's the issue with bordeaux-threads ?
ExtraCrispy has joined #lisp
nowhere_man has joined #lisp
gabiruh has joined #lisp
<Xach>
fe[nl]ix: bt-semaphore misuses it somewhat and has broken
vaporatorius has quit [Ping timeout: 240 seconds]
nowhere_man has quit [Ping timeout: 240 seconds]
milanj has joined #lisp
rumbler31 has quit [Remote host closed the connection]
Folkol_ has joined #lisp
Guest24297 is now known as kolb
kajo has quit [Ping timeout: 265 seconds]
kolb is now known as Guest30995
Guest30995 is now known as thekolb
brettgilio has joined #lisp
loginoob has joined #lisp
<LdBeth>
Is control string in FORMAT compiled or stay interpreted if determined at compile time?
<loginoob>
I'm learning CL from the book cl: a gentle introduction to symbolic computation. I have heard so much about SICP, as everyone says you must read the book. So i want to know at what stage should i pick up the book.
<loginoob>
Do I need to if I'm learning CL and not scheme?
<shka>
LdBeth: implementation dependent
<shka>
in sbcl it appears to be compile time optimized
<shrdlu68>
Is there a way to know the number of projects in quicklisp that depend on a certain other project? I'm curious how widely used stmx is.
jmercouris has joined #lisp
<TMA>
loginoob: SICP can teach you modes of thinking.
<jmercouris>
I have a problem where I have a dictionary
<jmercouris>
A dictionary has multiple definitions for the same term
<jmercouris>
I can't map this to a hash table as each key can only have 1 value
<jmercouris>
unless of course, each key in the hash table corresponds to a list
<shrdlu68>
loginoob: How high is it in your "things to do before I keel over" list?
<jmercouris>
there is a twist though, sometimes, I have the same definition for a term, multiple times
w17t has joined #lisp
<jmercouris>
I would like to also capture, how many times a specific definition appears for a given term
<jmercouris>
that way, I can rank definitions for terms based on how popular they are
<jmercouris>
thoughts on data structures? ideas?
<loginoob>
so when do you think would be appropriate time for me to pick up SICP? after completing basics of CL? I'm not good at math, i tried to read sicp and understood things but couldn't able to complete exercise because I'm not familir with most of the maths there
<loginoob>
shrdlu68 and TMA
<loginoob>
shrdlu68 how high is what? Learning CL or SICP
lavaflow_ has quit [Ping timeout: 265 seconds]
<shrdlu68>
loginoob: SICP.
<jmercouris>
what does SICP stand for again?
<shrdlu68>
jmercouris: Do you mean that a list of definitions may have identical definitions?
<jmercouris>
shrdlu68: Yes, the list is composed of several identifical definitions
<shrdlu68>
*Structure and Interpretation of Computer Programs.
<jmercouris>
for example term1: definition1, term2: definition2, term1: definition1
<loginoob>
shrdlu68 after completing CL book SICP would be my top priority if you guys think that it would be appropriate next step
<shrdlu68>
jmercouris: Why not pass the list through #'remove-duplicates?
<jmercouris>
because there is information about duplicates
<jmercouris>
if an entry appears more than once, it means that that is a popular definition
<jmercouris>
these are definitions I've extracted from a corpus using NLP
<shrdlu68>
loginoob: There is no objective appropriateness, I'd simply advise you to learn as your curiousity dictates, and have fun while at it.
<loginoob>
shrdlu68 have you read it completely
<White_Flame>
jmercouris: just use a hashtable mapping a key to a list of definitions
<shrdlu68>
jmercouris: Hmm, then you could have '(definition . count) as the members of the lists.
<shrdlu68>
loginoob: Nope. Also, jmersouris was going through it the other day, if I'm not mistaken. Perhaps he could tell you about it.
<jmercouris>
Maybe I should do the counting in real time as it is needed insted of storing it in the data strucure
<jmercouris>
s/strucure/structure
<jmercouris>
it would be simpler
jmercouris has quit [Remote host closed the connection]
jason_m has joined #lisp
markoong has joined #lisp
himmAllRight has quit [Remote host closed the connection]
himmAllRight has joined #lisp
igemnace has quit [Remote host closed the connection]
xrash has quit [Ping timeout: 256 seconds]
nowhere_man has joined #lisp
Bike has joined #lisp
fikka has joined #lisp
MoziM has quit [Ping timeout: 256 seconds]
froggey has quit [Ping timeout: 244 seconds]
<jackdaniel>
I think there is library for working with ngrams for CL
<jackdaniel>
probably part of cl-nlp
MoziM has joined #lisp
froggey has joined #lisp
<Xach>
shrdlu68: did you find who-depends-on?
ldb has joined #lisp
shrdlu68 has quit [Ping timeout: 244 seconds]
<beach>
loginoob: I would go for PAIP instead of SICP.
<beach>
loginoob: It is Common Lisp and it is more practically oriented.
<loginoob>
beach PAIP is that AI book?
<beach>
Well, it is not really about AI, even though that's the title.
shrdlu68 has joined #lisp
<beach>
It's about general programming techniques using Common Lisp.
<loginoob>
Ok
<beach>
And I believe it is available on-line nowadays.
EvW1 has joined #lisp
shrdlu68 has quit [Ping timeout: 240 seconds]
shrdlu68 has joined #lisp
jason_m has quit [Quit: Leaving]
<ldb>
It has been OCRed to text, but the code typesetting is poor
<beach>
I see.
<Xach>
The code is available in separate files, though.
<Xach>
So that's pretty good.
<p_l>
Wasn't there at least partial rework using code from files?
<beach>
jmercouris: That's not a good sign though.
<jmercouris>
beach: It's perfectly normal in this case, I'm loading a massive data structure into memory for distribution with my application
<jmercouris>
it is a database
<beach>
It is not a good sign that it requires heap space to garbage collect.
<jmercouris>
It is just an alpha so I don't want to go through the hassle of bundling the database with the application
<beach>
That the heap is not big enough for your application, that's normal.
<jmercouris>
Well, probably because my hash table is growing all the time, and I did not set a default size
<beach>
*sigh*
<jmercouris>
s/default size/initial size
<shrdlu68>
beach: I've gotten that as well before, didn't realize that heap exhaustion during garbage collection ought not to happen.
<beach>
shrdlu68: Maybe it's normal, but it sounds strange to me.
milanj_ has joined #lisp
<jmercouris>
if I limit the size of my initial query for populating the hash table, I don't have this error
<jmercouris>
so I know exactly what is causing it
<jmercouris>
before I pass in the CLI args, let me try setting a larger initial size
orivej has quit [Ping timeout: 240 seconds]
<shrdlu68>
beach: It is strange, now that I think about it.
<TMA>
"common sense" suggests that garbage collection should be non-consing
milanj has quit [Ping timeout: 255 seconds]
<shrdlu68>
I resorted to running #'gc explicitly occassionally to prevent heap exhaustion.
<jmercouris>
well, now my application is 300MB, and I need a --dynamic-spzie-size of 5000, but oh well
<shrdlu68>
I also liked how ccl could grow/shrink the heap as needed without restriction.
robotoad has joined #lisp
<jmercouris>
I think I should move back to CCL, I think I prefer it
<jmercouris>
I just wanted to try SBCL because so many people swear by it
<shrdlu68>
jmercouris: I swear by its performance :)
<jmercouris>
the performance of SBCL is indeed good
elfmacs has quit [Ping timeout: 260 seconds]
elfmacs has joined #lisp
<shrdlu68>
I'm wondering whether I can use stmx in a multi-threaded program and not worry about race conditions and data corruption. Is it really that simpe?
dyelar has joined #lisp
<shrdlu68>
"Note that concurrency related bugs are still possible in programs that use a large number of transactions, especially in software implementations where the library provided by the language is unable to enforce correct use." -- from the Wiki page on transactional memory.
matijja has quit [Ping timeout: 244 seconds]
fikka has joined #lisp
karlosz has joined #lisp
k4rtik has joined #lisp
karlosz has quit [Ping timeout: 240 seconds]
igemnace has quit [Quit: WeeChat 2.1]
lumm has quit [Ping timeout: 244 seconds]
jack_rabbit has quit [Ping timeout: 264 seconds]
flamebeard has quit []
k4rtik has quit [Ping timeout: 244 seconds]
ldb has quit [Ping timeout: 264 seconds]
FreeBirdLjj has joined #lisp
<Murii_>
is there something like "dotimes" but instead of incrementing decrementing?
<Xach>
Murii_: not like dotimes, no. LOOP can do it.
<Murii_>
okay
lumm has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
ldb has joined #lisp
<beach>
I think I have memory allocator similar to that of Doug Lea, but written in Common Lisp. It has contains than 400 lines of source code. It uses a few functions for reading and writing memory that I am currently simulating. Next, I'll clean up the code, remove some magic literal numbers, add comments, etc. Later, I'll add meters to collect statistics and figure out how to write a test suite.
random-nick has quit [Remote host closed the connection]
chrnok has quit [Remote host closed the connection]
<beach>
s/has//
papachan has quit [Disconnected by services]
random-nick has joined #lisp
papachan has joined #lisp
elfmacs has quit [Ping timeout: 240 seconds]
robotoad has quit [Quit: robotoad]
ldb has quit [Quit: leaving]
ExtraCrispy has quit [Remote host closed the connection]
b413 has quit [Ping timeout: 244 seconds]
<beach>
OK, let me try it again...
<beach>
I think I have a memory allocator similar to that of Doug Lea, but written in Common Lisp. It contains less than 400 lines of source code. It uses a few functions for reading and writing memory that I am currently simulating. Next, I'll clean up the code, remove some magic literal numbers, add comments, etc. Later, I'll add meters to collect statistics and I'll figure out how to write a test suite.
<beach>
Sorry for the substandard grammar.
<Josh_2>
beach: what you making?
<jmercouris>
Anyone know how to change the application icon for LTK?
eli_oat has quit [Quit: Leaving.]
<beach>
Josh_2: The SICL global garbage collector will use a heap similar to that of malloc()/free() for C. One of the best memory allocators is the one written by Doug Lea. I adapted it to my needs and wrote it in Common Lisp for ultimate inclusion in SICL.
eli_oat has joined #lisp
Intensity has joined #lisp
buffergn0me has joined #lisp
<Josh_2>
beach: nice nice nice
al-damiri has joined #lisp
jmercouris has left #lisp ["Exit."]
Josh_2 has quit [Remote host closed the connection]
robotoad has joined #lisp
Intensity has quit [Changing host]
Intensity has joined #lisp
lumm_ has joined #lisp
nowhere_man has joined #lisp
lumm has quit [Ping timeout: 265 seconds]
lumm_ is now known as lumm
dougie has joined #lisp
EvW has quit [Ping timeout: 240 seconds]
k4rtik has joined #lisp
graphene has quit [Remote host closed the connection]
graphene has joined #lisp
Josh_2 has joined #lisp
dougie has quit [Quit: ERC (IRC client for Emacs 26.1)]
blackwolf has joined #lisp
pierpal has quit [Read error: Connection reset by peer]
SaganMan has joined #lisp
<oni-on-ion>
ultimate infusion !
b413 has joined #lisp
<oni-on-ion>
hi beach ! can you point me to that code of the memalloc you've written ?
<beach>
I can do that, but it's not pretty (yet).
<oni-on-ion>
its ok! i may not be able to tell the difference, unless its really ugly
<White_Flame>
so this is for low-level runtime code that's outside of the GC?
<oni-on-ion>
i wonder if i shared that quote with you that ive seen the other day, that really turned my mind from C to Lisp ?
schweers has quit [Ping timeout: 240 seconds]
<oni-on-ion>
ty
<beach>
I don't recall. Remind me.
igemnace has joined #lisp
<dim>
the recent quote I read that really took a different meaning thanks to having done Common Lisp before was from Alan Kay, and I can't find it again, so paraphrasing: “The operating system is there to provide anything that is missing in your programming language”
<dim>
with that, good evening!
<beach>
Hey dim.
shrdlu68 has quit [Ping timeout: 245 seconds]
<oni-on-ion>
hey beach ! some info. the word 'chunk' is used 109 times in allocator.lisp, the next most-used word is 20 times. =P
<beach>
Thanks.
<oni-on-ion>
dim: nice! also adding to that, someone said once "the unix/posix system is the C runtime" -- which is quite large eh!
<beach>
I think it is normal that "chunk" appear that often, since it is basically the only data structure it manipulates.
<oni-on-ion>
beach: im just being dyslexic or ocd , having to type and read 'chunk' each time, rather than c + M-/ or abbrevs ? however i think repetition is important in some cases. idk =)
<oni-on-ion>
beach: i cant find the quote at the moment, it was something about how you were saying that C does quite a bit of "extra" stuff and undefined behaviors, optimizations, and shortcuts and whatnot, that it is not really low level at all.
Kaisyu has quit [Quit: Connection closed for inactivity]
Bronsa has quit [Remote host closed the connection]
<oni-on-ion>
cant find it, it was at the top of some visited web page, no way the browser can find that by search. should have saved the quote, i may come across it some day. oh well the idea is there, and if anything C has *more* undefined behavior.
Jesin has quit [Quit: Leaving]
<beach>
Don't worry about it. If you find it, let me know.
vlad_ has joined #lisp
<oni-on-ion>
yep
ym has joined #lisp
msb has quit [Ping timeout: 240 seconds]
housel has quit [Read error: Connection reset by peer]
saki has quit [Ping timeout: 240 seconds]
buffergn0me has quit [Ping timeout: 248 seconds]
msb has joined #lisp
housel has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
pjb has joined #lisp
_cosmonaut_ has quit [Ping timeout: 240 seconds]
b413 has quit [Ping timeout: 260 seconds]
xrash has joined #lisp
jasmith has quit [Quit: Leaving]
pseudonymous_ has quit [Remote host closed the connection]
Smokitch has joined #lisp
pseudonymous_ has joined #lisp
FreeBirdLjj has joined #lisp
nowhere_man has quit [Ping timeout: 256 seconds]
<oni-on-ion>
what is this? so im paging through this file, and i cant tell the screen even moved, four times! have we never heard of macros ? i dont know what to say. i await to hear a good reason for this. are macros poison?
<oni-on-ion>
did one not have to go out of their way and consciously copy and paste ? how does that even become a good idea?
<_death>
it's fine to do that initially.. then you feel more acquainted with the problem and may define a macro.. maybe the author stopped there.. perhaps a macro for a fixed set of operations is overkill
m00natic has quit [Remote host closed the connection]
<_death>
have you come up with a replacement?
<oni-on-ion>
so if one has to chance a part of one, has to duplicate this other as well.
<oni-on-ion>
_death: what? do you know anything about macros at all?
<_death>
I guess not.. what is there to know?
EvW has joined #lisp
<Josh_2>
beach: u did a bad
<oni-on-ion>
there is literally one or two characters to change on each code block. the 180 lines would be 45, much easier to maintain. maybe having more lines is a good metric to have for posterity ?
<oni-on-ion>
if it was written off-hand, casually, not used much, or just enough to work -- still, the conscious effort to copy and paste, change one single character or two, is there.
<_death>
I'm not the author but I wouldn't be surprised if "patches welcome" is an appropriate reply
<oni-on-ion>
in any language
<oni-on-ion>
_death: sure. let jesus take care of it. lets just give up on life and working toward goodness and trying to better ourselves? why not just lay down and sleep forever?
Lord_of_Life has quit [Excess Flood]
Inline_ has joined #lisp
<Bike>
what the fuck?
Inline has quit [Remote host closed the connection]
<Josh_2>
this is banter
<jackdaniel>
praise the lord, whomever he is ;-)
<akkad>
hmm, more RC expletives
Lord_of_Life has joined #lisp
vlad_ has quit [Remote host closed the connection]
<sjl>
still trying to get my site to look decent on both os x and linux
<sjl>
now that I use linux maybe I'll have the motivation to put in the effort, ha
lumm has joined #lisp
<_death>
watch out maybe oni-on-ion would suggest (define-if-let-operators let let*) ;)
lumm has quit [Read error: Connection reset by peer]
<jackdaniel>
I'm bookmarking it as something to point not-that-newbies to CL who grasped functions and want to start working on macros
lumm has joined #lisp
<oni-on-ion>
_death: that is not very nice. im not an evangelistical fanatic about turning everyhting into macros or something. did you see the link i posted? do you even code? =P
<oni-on-ion>
im not trying to be a jerk although it may feel like it.
<_death>
some people don't need to try
<jackdaniel>
guys, pax, I'm waving my /kick privigile ;-)
EvW has quit [Ping timeout: 240 seconds]
<oni-on-ion>
_death is making it a personal thing and i wasnt talking to him i was ranting at beach. could have taken it privately but i assumed there are other computer literate people here
<jackdaniel>
oni-on-ion: fyi _death usually has very decent remarks and rarely speaks without thinking through what he wanted to say
<jackdaniel>
_death: that was indeed a bit mean
<jackdaniel>
that said, let's forget about the incident ;)
iskander has left #lisp ["ERC (IRC client for Emacs 26.1)"]
k4rtik has quit [Ping timeout: 276 seconds]
iskander has joined #lisp
lumm_ has joined #lisp
andrei-n has joined #lisp
lumm has quit [Ping timeout: 244 seconds]
lumm_ is now known as lumm
erratic has joined #lisp
scymtym has quit [Ping timeout: 245 seconds]
<beach>
_death is right. This is work in progress. I usually come up with a workable solution first, and then clean it up as I come up with new ideas.
<phoe>
I remember that Naggum, somewhere on the newsgroups, once posted a version of FBIND that does not use SYMBOL-MACROLET (like serapeum's FBIND does). Could anyone point me to it?
graphene has quit [Remote host closed the connection]
<beach>
oni-on-ion: Feel free to submit a pull request. But read the "Contributing to SICL" chapter in the specification first.
<oni-on-ion>
i am alright thank you. i feel that neither of you has understood a lick of what i said. i will just keep to myself
k4rtik has joined #lisp
graphene has joined #lisp
<Bike>
what is fbind? like let but in the function namespace?
<_death>
makomo: no.. given that you don't mean icky stuff like eval ;)
<makomo>
_death: yeah, exactly :^(
<Bike>
there ya go.
<makomo>
phoe: ewww ;_;
<phoe>
makomo: what
<phoe>
I just solved another problem using LOOP
<phoe>
that's how we do it over here
<makomo>
hey, i love LOOP
Josh_2 has quit [Remote host closed the connection]
<makomo>
but somehow not using ONCE-ONLY makes it ugly. i know it's not possible, but a ONCE-ONLY that evaluates an expression to get the list of symbols would be nice
<phoe>
oh right, I forgot about DECLARE INLINE
<phoe>
makomo: you basically need a macro that expands into ONCE-ONLY
<phoe>
.....somehow
<makomo>
phoe: that's what i tried too, but then you'll have to use EVAL to somehow get the result of that expression into the call to ONCE-ONLY
<phoe>
makomo: ewww ;_;
<makomo>
ik :^(
<makomo>
yuck
<makomo>
a separate ONCE-ONLY would have to be written, that would support this
<phoe>
oh well
* phoe
pushes into phoe-toolbox
<phoe>
time to drop one frame in my yak-shaving session and go back to what I was doing previously
<makomo>
and then i guess you could define the usual ONCE-ONLY using this "evaluating ONCE-ONLY"
<mfiano>
phoe: did you get my message about the utility function you were looking for?
FreeBirdLjj has quit [Remote host closed the connection]
quazimodo has quit [Ping timeout: 255 seconds]
<phoe>
mfiano: yes! Thank you a real lot
FreeBirdLjj has joined #lisp
quazimodo has joined #lisp
<mfiano>
(partition predicate list) is really nice
<phoe>
oooh, you just borrow it from serapeum
<phoe>
gotcha
<_death>
there are other, worse possibilities.. (let ((expansion (copy-tree (macroexpand '(once-only ,@names ...))))) (setf (cdadwhatever expansion) ...) ...) ;)
<phoe>
#'cdadwhatever needs to become a thing
<mfiano>
phoe: Yeah, my utility library re-exports a bit from both alexandria and serapeum instead of reinventing the wheel.
<phoe>
mfiano: yep, I see
slyrus_ has joined #lisp
sauvin has quit [Read error: Connection reset by peer]
<_death>
phoe: it's part of the dwim package
<makomo>
lol, nice
<Bike>
(cr addadddaddddd expansion), the most useful macro
lavaflow_ has joined #lisp
<_death>
wasn't there a CXR macro
<makomo>
i think so
<sjl>
let over lambda defines one
<makomo>
it shows up in LoL
<phoe>
_death: which one?
<makomo>
yeah
FreeBirdLjj has quit [Ping timeout: 248 seconds]
<phoe>
#'cdadwhatever?
<makomo>
no, WITH-CXR or something like that
lumm has joined #lisp
<phoe>
oh, that one, okay
milanj_ has quit [Quit: This computer has gone to sleep]
kerframil has joined #lisp
<makomo>
_death: is there a proper way to solve this problem at all? it comes up again and again
flazh has quit [Ping timeout: 240 seconds]
<makomo>
or should we just consider using EVAL a proper solution and not be afraid of it
<_death>
what problem?
<_death>
you could come up with something like get-setf-expansion that returns parts to be used in your own expansion
rumbler31 has joined #lisp
lnostdal has quit [Ping timeout: 268 seconds]
<makomo>
_death: hmm, how exactly would that work? for example in the context of this problem with FBIND and ONCE-ONLY?
lnostdal has joined #lisp
rumbler31 has quit [Ping timeout: 240 seconds]
<makomo>
because you basically have to reinvent ONCE-ONLY every time when you macro takes an arbitrary amount of arguments
<makomo>
your*
<makomo>
isn't that pretty lame? :^(
lumm has quit [Ping timeout: 268 seconds]
lumm has joined #lisp
kerframil has quit [Quit: Leaving]
nickenchuggets has joined #lisp
vap1 has joined #lisp
vaporatorius has joined #lisp
mejja has joined #lisp
optikalmouse has joined #lisp
smasta has quit [Quit: WeeChat 2.1]
Cartogy has joined #lisp
nowhere_man has joined #lisp
smasta has joined #lisp
k4rtik has quit [Ping timeout: 265 seconds]
eli_oat has joined #lisp
<phoe>
Is there an extended version of #'IDENTITY that accepts &REST and returns it?
<phoe>
It's trivial to write one, I just don't want to reinvent it
<Bike>
apply #'identity
<Bike>
but no.
<phoe>
(lambda (&rest x) x)
<phoe>
oh well
<TMA>
that's #'list
<phoe>
TMA: ...........oh
<_death>
makomo: I'm not sure the particular case fits once-only since it's not just a bunch of names but actual structure.. for example if you work with bindings you could have something like https://plaster.tymoon.eu/view/842#842
<phoe>
TMA: is that one of these minor Lisp enlightenments
<makomo>
_death: what do you mean by "actual structure"? the way i see it, you have some expressions and you want to generate such an expansion that will bind some gensyms to the result of evaluating those expressions
<makomo>
how does that not apply in this case?
loginoob has joined #lisp
<loginoob>
quit command in slime emacs gives me quit is unbounded error
<phoe>
...hm, a random question - in (lambda (&rest x) x), the value of X is immutable, correct?
<TMA>
phoe: well, the list bound by a &rest parameter has not a dynamic extent but rather an indefinite one specifically to permit (defun list (&rest list) list); it is written somewhere in the hyperspec/cltl2
vap1 has quit [Quit: Leaving]
<White_Flame>
phoe: in my view, an extension of identity to multiple parameterswould be (defun identity (first &rest rest) (declare (ignore rest)) first)
<_death>
makomo: the structure is ((name form) ...) which you need to parse even after once-onlying the names
<phoe>
TMA: yes, I see
<phoe>
White_Flame: yep, I see
rawste has quit [Quit: Sleep....]
<White_Flame>
loginoob: slime-quit-lisp, or slime-restart-inferior-lisp, etc
<makomo>
_death: but why is that a problem? you'd parse it normally, no? isn't the main problem the fact that you have an arbitrary number of those "pairs"?
<TMA>
White_Flame: in other words #'prog1
<loginoob>
White_Flame: slime-quit-lisp is unbounded
<makomo>
if there was a fixed number of them, you could destructure each one of them and give each one of them a name, and then use ONCE-ONLY on those names (since there's a finite amount of them)
<phoe>
loginoob: slime-repl-sayoonara
<phoe>
this is one of the most silly function names I have ever read
<loginoob>
phoe: that too gives me unbounded.
<loginoob>
Is there something wrong with my slime setup
<White_Flame>
TMA: well, PROG1 isn't a function like LIST is
<jackdaniel>
#'be-a-lisp-savior-and-die
<White_Flame>
loginoob: tab completion is your friend
<loginoob>
White_Flame: I know that but every quit command i tried gives me unbounded error
<phoe>
loginoob: your emacs config sounds screwed up
<White_Flame>
wait, are you typing on the repl, or issuing a M-x command?
<loginoob>
repl
<White_Flame>
yeah, that's your problem
<White_Flame>
you need to command emacs, not the lisp-side of things
<loginoob>
oh
<loginoob>
sorry
<_death>
makomo: how would your dream operator look like then?
milanj_ has joined #lisp
<makomo>
_death: well, something like (once-only-fun exp ...), where EXP would be evaluated to get a list of symbols to use
<TMA>
White_Flame: well, other than that (and the description of PROG2 being wrong in the hyperspec) (PROG1 ...) does the same as ((lambda (a &rest b) (declare (ignore b)) a) ...)
shka_ has quit [Ping timeout: 264 seconds]
EvW1 has joined #lisp
<White_Flame>
looking at the original question, the only reason you'd use IDENTITY is if you're passing it into something that wants a function object
<White_Flame>
so presumably, any substitute that does multiple parameters would want the same
<_death>
makomo: not sure I follow.. once-only needs both names and forms..
zaquest has quit [Ping timeout: 244 seconds]
<makomo>
_death: right, sorry. it would be a list of "specs"
<_death>
makomo: so in the example I pasted, you pass it the specs and get back the a list of the original names as well as a bindings list
<TMA>
White_Flame: I have forgotten that PROG1 is a macro. I have implemented it as a ordinary function in my old interpreter
<makomo>
_death: right, which is basically what i want, but you still have to (1) have a "functional" version of this macro you want to use and (2) have to use the returned expansion "manually"
dieggsy has quit [Quit: ZNC 1.6.6+deb1 - http://znc.in]
<makomo>
(2) could be solved by some more macros i guess?, but you can't escape (1)
rawste has joined #lisp
<makomo>
you have to reinvent ONCE-ONLY and provide a function which returns its expansion (or rather, parts of its expansion)
<makomo>
i.e. you almost took the body of ONCE-ONLY and stuffed it into a function
edgar-rft has quit [Quit: edgar-rft]
<_death>
makomo: with once-only, usually you don't care about the forms the names are bound to, just want to refer to their evaluation.. but here you still want to do something with the names so they can't be eliminated.. you could have a (once-only-bindings (names) bindings . body-using-names) that saves you the let*.. but doesn't seem worth it
<loginoob>
Whenever I do M-x slime I get "end of file during parsing" while loading the history. Continue? (y/n)
k4rtik has joined #lisp
jibanes has quit [Ping timeout: 240 seconds]
<_death>
makomo: no, once-only doesn't look like that at all :)
<loginoob>
can someone please help me with it too
jibanes has joined #lisp
dieggsy has joined #lisp
asdfghjkl has joined #lisp
<asdfghjkl>
how do you stop SLIME from inserting tabs?
<asdfghjkl>
*auto-inserting tabs that is
<trittweiler>
Are you looking for (setq-default indent-tabs-mode nil) ?
xrash has quit [Ping timeout: 240 seconds]
<asdfghjkl>
i tried adding ";;;; -*- indent-tabs-mode:nil; -*-;" near the top
<Xach>
asdfghjkl: i add (setq indent-tabs-mode nil) in my mode hooks. (this is not a slime-specific thing.)
<Xach>
trittweiler's solution seems better!
mflem has quit [Ping timeout: 245 seconds]
Folkol has quit [Ping timeout: 240 seconds]
xrash has joined #lisp
Folkol has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
gabiruh has quit [Ping timeout: 245 seconds]
<asdfghjkl>
it's working now, thank you
asdfghjkl has quit [Quit: WeeChat 2.0.1]
zaquest has joined #lisp
k4rtik has quit [Ping timeout: 256 seconds]
klltkr has quit [Remote host closed the connection]
<makomo>
_death: well yeah, the real once-only doesn't, true
<makomo>
_death: i'm not sure about what you said, i'll think about it
* Xach
slogggs though the quicklisp backlog!
<pjb>
phoe: values
Jesin has joined #lisp
vlad_ has joined #lisp
<Xach>
Are there any debian experts who might be able to privately help me through some quicklisp build-server setup issues?
brendyn has quit [Ping timeout: 244 seconds]
angavrilov has quit [Remote host closed the connection]
flazh has joined #lisp
<_death>
makomo: macros are just programs.. a lot of common functionality can be factored into functions, so there's nothing wrong with functions that return parts of an expansion.. you only need to separate macro definition from macro use so you don't need ugly eval-whens
<pjb>
Just remember to wrap the functions used by the macro at macroexpansion time in a (eval-when (:compile-toplevel) …).
<aeth>
You absolutely should break up macros into functions.
<aeth>
I do use the eval-whens though.
<pjb>
(or in a different file loaded in the compilation environment (how do you load a file in the compilation environment with asdf?))
<_death>
pjb: the latter is what I referred to
<makomo>
_death: yeah, i understand that, that's not the problem. the problem is that *you* have to write a function that returns ONCE-ONLY's expansion
<_death>
pjb: put them in different files and avoid ugly eval-when
<aeth>
If it's a function only usable in one macro, it should be in the same file as the macro unless it's a *very* complicated macro, like the one I use that converts s-expressions to GLSL strings at compile time.
<makomo>
i.e. if the original author doesn't provide such a function, you're screwed
<oni-on-ion>
macros bad?
<_death>
makomo: languages are raw material, and you're a programmer dealing with that :)
karlosz has quit [Quit: karlosz]
<makomo>
you could say that for anything :D
<makomo>
but yeah, i would like to use *just* ONCE-ONLY to get the same effect
<makomo>
so it'll have to use EVAL or similar in the end
<makomo>
and there's no way to escape that (assuming the author didn't provide that function that you showed)
<oni-on-ion>
literally just reading about 'when-bind' and some very similar examples in On Lisp, pp.94 section 7.6
<Bike>
"this?" what?
White_Flame has joined #lisp
robotoad has joined #lisp
Oddity has joined #lisp
stacksmith has joined #lisp
<oni-on-ion>
sorry it was jackdaniel who posted this article earlier but i just came across it now from the wild. i thought it was somewhat related to ONCE-ONLY that was being discussed here
gabiruh has joined #lisp
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 240 seconds]
pierpal has quit [Ping timeout: 268 seconds]
k-hos has quit [Read error: Connection reset by peer]