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
cosimone has quit [Ping timeout: 260 seconds]
judson_ has joined #lisp
<phoe> beach: are you aware of "Documenting Protocols in CLOS: Keeping the Promise of Reuse" by John Collins?
shifty has joined #lisp
<phoe> I just found out about the 1993 book edited by A. Paepcke, "Object-Oriented Programming: The CLOS Perspective"
<phoe> and I'm reading it
rgherdt has quit [Ping timeout: 272 seconds]
lotuseat` is now known as lotuseater
Jeanne-Kamikaze has joined #lisp
akoana has left #lisp ["Leaving"]
orivej has quit [Ping timeout: 256 seconds]
dbotton has joined #lisp
frodef has quit [Ping timeout: 246 seconds]
<lotuseater> phoe: and how is your impression of the book?
Bike has quit [Remote host closed the connection]
leb has quit []
Aurora_v_kosmose has quit [Quit: brb...]
leb has joined #lisp
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<phoe> lotuseater: none, it's 2 AM for me
amb007 has quit [Read error: Connection reset by peer]
<phoe> will say more tomorrow
amb007 has joined #lisp
random-nick has quit [Ping timeout: 256 seconds]
<lotuseater> sleep well :)
EvW has quit [Ping timeout: 240 seconds]
dbotton has quit [Ping timeout: 246 seconds]
<phoe> thanks <3
leb has quit []
Bike has joined #lisp
Aurora_v_kosmose has joined #lisp
EvW has joined #lisp
abel-abel has joined #lisp
dhil has quit [Ping timeout: 246 seconds]
abel-abel has quit [Remote host closed the connection]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
abel-abel has joined #lisp
jprajzne has quit [Remote host closed the connection]
abel-abel has quit [Client Quit]
gzj has joined #lisp
surabax has quit [Quit: Leaving]
EvW has quit [Ping timeout: 244 seconds]
kaftejiman_ has quit [Remote host closed the connection]
leb has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
ukari has joined #lisp
imode has joined #lisp
imode has quit [Client Quit]
imode has joined #lisp
imode has quit [Client Quit]
imode has joined #lisp
imode has quit [Client Quit]
imode has joined #lisp
imode has quit [Client Quit]
imode has joined #lisp
Josh_2 has quit [Ping timeout: 260 seconds]
lottaquestions has quit [Quit: Konversation terminated!]
lottaquestions has joined #lisp
malaclyps_ has joined #lisp
bilegeek has quit [Quit: Leaving]
bilegeek has joined #lisp
karlosz has joined #lisp
dbotton has joined #lisp
dyelar has quit [Quit: Leaving.]
galex-713 has quit [Ping timeout: 272 seconds]
galex-713 has joined #lisp
dbotton has quit [Quit: Leaving]
vidak` has joined #lisp
karayan has quit [Ping timeout: 260 seconds]
karayan has joined #lisp
gzj has quit [Read error: Connection reset by peer]
gzj has joined #lisp
ukari has quit [Remote host closed the connection]
Alfr has joined #lisp
Alfr_ has quit [Ping timeout: 240 seconds]
Jeanne-Kamikaze has quit [Quit: Leaving]
_jrjsmrtn has joined #lisp
<beach> Good morning everyone!
__jrjsmrtn__ has quit [Ping timeout: 246 seconds]
<beach> phoe: No, I wasn't aware of that. I have the book, but haven't finished reading it.
leb has quit []
urek has joined #lisp
oni-on-ion has joined #lisp
urek__ has quit [Ping timeout: 272 seconds]
leb has joined #lisp
patrixl has joined #lisp
galex-713 has quit [Remote host closed the connection]
galex-713 has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
zaquest has joined #lisp
rumbler31 has quit [Read error: Connection reset by peer]
rumbler31 has joined #lisp
narimiran has joined #lisp
zaquest has quit [Read error: Connection reset by peer]
rumbler31 has quit [Read error: Connection reset by peer]
rumbler31 has joined #lisp
ex_nihilo has quit [Quit: Leaving]
jonatack has quit [Ping timeout: 246 seconds]
jonatack has joined #lisp
akoana has joined #lisp
zcheng3 has joined #lisp
Nilby has joined #lisp
frost-lab has joined #lisp
judson_ has joined #lisp
urek has quit [Ping timeout: 260 seconds]
aartaka has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
KREYREEN has quit [Ping timeout: 240 seconds]
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
waleee-cl has quit [Quit: Connection closed for inactivity]
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bitmapper has quit [Quit: Connection closed for inactivity]
judson_ has joined #lisp
leb has quit []
Bike has quit [Remote host closed the connection]
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
thefunc5 has joined #lisp
notzmv has quit [Read error: Connection reset by peer]
thefunc5 has quit [Client Quit]
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
zcheng3 has quit [Ping timeout: 240 seconds]
phantomics_ has joined #lisp
phantomics has quit [Ping timeout: 256 seconds]
skapata has quit [Remote host closed the connection]
Oddity- has quit [Read error: Connection reset by peer]
Oddity- has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
adam4567 has joined #lisp
charlie770 has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
toorevitimirp has joined #lisp
karayan has quit [Ping timeout: 260 seconds]
karayan has joined #lisp
treflip has joined #lisp
nowhere_man has quit [Ping timeout: 272 seconds]
aaaaaa has quit [Ping timeout: 260 seconds]
aaaaaa has joined #lisp
* adlai wonders what exactly was meant earlier by a "desert island book", in the context of Common Lisp
<oni-on-ion> "if you could take one [CL] book with you to a desert island, which would it be?"
<oni-on-ion> with the implication that one may be there forever
<oni-on-ion> *deserted island
<adlai> by my understanding, even just the ANSI standard is too complex for a single book to encompass the whole thing, and answering "the ANSI specification, duh" is obviously a bannable offense
<oni-on-ion> i would say something like "the source code for the implementation in question, give or take some hyperspec"
<adlai> that's actually a good answer; I don't think the "desert island" question typically expects that your answer has an ISBN.
<oni-on-ion> cant really know more than that about a piece of UI-less software that depends little on external resources/assets
<oni-on-ion> deserted* =)
<oni-on-ion> & true
andreyorst has joined #lisp
nkatte has quit [Ping timeout: 272 seconds]
aartaka_d has joined #lisp
aartaka has quit [Ping timeout: 272 seconds]
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
nostoi has joined #lisp
gaqwas has joined #lisp
gaqwas has joined #lisp
nostoi has quit [Quit: Verlassend]
enrio has joined #lisp
orivej has joined #lisp
<edgar-rft> on a deserted island it should be a thin book because you probably won't have much time to read before you die
<moon-child> maybe there are coconuts
<moon-child> and peanuts
<moon-child> and water filters
h11 has quit [Quit: Idle for 30+ days]
Inline has joined #lisp
<flip214> coconuts are more dangerous than sharks... and peanuts too, I guess. Haven't heard of someone suffocating on a water filter, though, so these sound safe.
Inline has quit [Remote host closed the connection]
hendursa1 has joined #lisp
dim has quit [Ping timeout: 246 seconds]
hendursaga has quit [Ping timeout: 240 seconds]
enrio has quit [Remote host closed the connection]
dim has joined #lisp
enrio has joined #lisp
rgherdt has joined #lisp
<adlai> well that is one of the other possible interpretations for "desert island book", although it is more often called a cheatsheet
<adlai> essentially ,a book that would be maximally helpful for someone who is unfamiliar with CL, or perhaps hasn't used it in decades, and must work without Internet access.
<adlai> although, those are usually best when they are created in reference to another system, that is treated as familiar; or at least, limited to a specific context (e.g., the condition sysem, format strings, care and feeding of the generalized lambda list, etc)
rfn has joined #lisp
<adlai> fwiw, the context from which I am familiar with the "desert island provision" question is one of aesthetic quality, rather than usefulness as a tool; thus the need for a disambiguation.
<Nilby> I only read the draft ANSI spec, partially, and SICP maybe 20 years prior. That's kept me going for 15 years or so.
karlosz has quit [Quit: karlosz]
dhil has joined #lisp
gzj has quit [Ping timeout: 240 seconds]
Inline has joined #lisp
Lord_of_Life has quit [Changing host]
Lord_of_Life has joined #lisp
enrio has quit [Ping timeout: 240 seconds]
pve has joined #lisp
mbomba has joined #lisp
shifty has quit [Ping timeout: 272 seconds]
shifty has joined #lisp
karayan has quit [Ping timeout: 246 seconds]
karayan has joined #lisp
enrio has joined #lisp
abhixec has quit [Ping timeout: 244 seconds]
bilegeek has quit [Quit: Leaving]
hnOsmium0001 has quit [Quit: Connection closed for inactivity]
gaqwas has quit [Remote host closed the connection]
enrio has quit [Ping timeout: 240 seconds]
shifty has quit [Ping timeout: 240 seconds]
enrio has joined #lisp
tfb has joined #lisp
kapil_ has quit [Quit: ZNC 1.7.5 - https://znc.in]
kapil_ has joined #lisp
kapil_ has quit [Client Quit]
emys[m] has joined #lisp
kapil_ has joined #lisp
emys has joined #lisp
rgherdt has quit [Read error: Connection reset by peer]
tfb has quit [Remote host closed the connection]
tfb has joined #lisp
tfb has quit [Remote host closed the connection]
tfb has joined #lisp
kapil_ has quit [Quit: ZNC 1.7.5 - https://znc.in]
kapil_ has joined #lisp
mbomba has quit [Quit: WeeChat 3.0]
enrio has quit [Ping timeout: 240 seconds]
gareppa has joined #lisp
rumbler31 has quit [Read error: Connection reset by peer]
Alfr has quit [Quit: Leaving]
shifty has joined #lisp
rumbler31 has joined #lisp
gareppa has quit [Remote host closed the connection]
jonatack has quit [Ping timeout: 256 seconds]
jonatack has joined #lisp
emys has quit [Ping timeout: 272 seconds]
tfb has quit []
kapil_ has quit [Quit: ZNC 1.7.5 - https://znc.in]
random-nick has joined #lisp
andreyorst has quit [Ping timeout: 256 seconds]
kapil_ has joined #lisp
emys has joined #lisp
surabax has joined #lisp
akoana has left #lisp ["Leaving"]
Alfr has joined #lisp
EvW has joined #lisp
emys has quit [Ping timeout: 240 seconds]
karayan has quit [Ping timeout: 264 seconds]
karayan has joined #lisp
EvW has quit [Ping timeout: 260 seconds]
emys has joined #lisp
arichiardi[m] has quit [Ping timeout: 244 seconds]
lspr[m] has quit [Ping timeout: 244 seconds]
santiagopim[m] has quit [Ping timeout: 244 seconds]
etimmons has quit [Ping timeout: 240 seconds]
loke[m] has quit [Ping timeout: 268 seconds]
exit70[m] has quit [Ping timeout: 244 seconds]
austincummings[m has quit [Ping timeout: 244 seconds]
even4void[m] has quit [Ping timeout: 244 seconds]
kinope has quit [Ping timeout: 244 seconds]
camlriot42 has quit [Ping timeout: 244 seconds]
byallahyourpfpgi has quit [Ping timeout: 244 seconds]
no-defun-allowed has quit [Ping timeout: 246 seconds]
cairn has quit [Ping timeout: 246 seconds]
malaclyps_ has quit [Ping timeout: 246 seconds]
Jach[m] has quit [Ping timeout: 268 seconds]
MrtnDk[m] has quit [Ping timeout: 268 seconds]
ThaEwat has quit [Ping timeout: 268 seconds]
Gnuxie[m] has quit [Ping timeout: 246 seconds]
katco has quit [Ping timeout: 246 seconds]
jonjitsu[m] has quit [Ping timeout: 260 seconds]
infra_red[m] has quit [Ping timeout: 244 seconds]
emys[m] has quit [Ping timeout: 244 seconds]
emys has quit [Ping timeout: 256 seconds]
amb007 has quit [Read error: Connection reset by peer]
dim has quit [Ping timeout: 246 seconds]
amb007 has joined #lisp
karayan has quit [Ping timeout: 260 seconds]
karayan has joined #lisp
dim has joined #lisp
karayan has quit [Ping timeout: 240 seconds]
urek has joined #lisp
karayan has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
andreyorst has joined #lisp
lspr[m] has joined #lisp
santiagopim[m] has joined #lisp
vegansbane has quit [Quit: The Lounge - https://thelounge.chat]
arichiardi[m] has joined #lisp
cairn has joined #lisp
malaclyps_ has joined #lisp
etimmons has joined #lisp
exit70[m] has joined #lisp
kinope has joined #lisp
katco has joined #lisp
austincummings[m has joined #lisp
loke[m] has joined #lisp
no-defun-allowed has joined #lisp
camlriot42 has joined #lisp
Gnuxie[m] has joined #lisp
emys[m] has joined #lisp
byallahyourpfpgi has joined #lisp
even4void[m] has joined #lisp
scymtym has quit [Read error: Connection reset by peer]
infra_red[m] has joined #lisp
Jach[m] has joined #lisp
flazh has quit [Quit: flazh]
ThaEwat has joined #lisp
MrtnDk[m] has joined #lisp
jonjitsu[m] has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
vegansbane has joined #lisp
karayan has quit [Ping timeout: 264 seconds]
treflip has quit [Remote host closed the connection]
karayan has joined #lisp
gzj has joined #lisp
Inline has quit [Ping timeout: 272 seconds]
amb007 has quit [Read error: Connection reset by peer]
karayan has quit [Ping timeout: 264 seconds]
karayan has joined #lisp
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
nowhere_man has joined #lisp
amb007 has joined #lisp
flazh has joined #lisp
imode has quit [Ping timeout: 272 seconds]
aaaaaa has quit [Quit: leaving]
frost-lab has quit [Quit: Connection closed]
scymtym has joined #lisp
shifty has quit [Ping timeout: 256 seconds]
orivej has quit [Ping timeout: 264 seconds]
C-16 has joined #lisp
JohnMS has joined #lisp
C-16 has quit [Client Quit]
C-16 has joined #lisp
C-16 has quit [Client Quit]
<phoe> There's a fundraiser for porting SBCL to Apple Silicon - https://fundrazr.com/61kPgb
C-16 has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
zulu-inuoe has joined #lisp
Inline has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
kaftejiman has joined #lisp
JohnMS is now known as JohnMS_AWAY
<jackdaniel> is there an apple device running, I don't know, on coal?
Josh_2 has joined #lisp
<Nilby> I was skeptical for a second, because "who's gonna do it?", but then I saw it's "let get Stas a macbook", so actually, yeah that'll work.
<jackdaniel> Apple Bureya Dam :-)
JohnMS_AWAY has quit [Ping timeout: 246 seconds]
JohnMS has joined #lisp
JohnMS is now known as JohnMS_AWAY
<phoe> jackdaniel: I'll get mildly worried the moment I see Apple Oxygen
<phoe> until then, I'm okay
C-16 has quit [Quit: leaving]
<jackdaniel> my remark was more about apple's coxcombry with that name
aartaka_d has quit [Ping timeout: 240 seconds]
<phoe> so is mine
<phoe> ;; except mine also contains overtones of megacorporate worry
<ck_> don't worry we'll have crowdfunding to buy someone a few scuba bottles to port breathing to the new architecture in that case. Or maybe some Draegers, you know, better get the top model
dbotton has joined #lisp
abel-abel has joined #lisp
<Nilby> Apple silicon "Runs a tight chip." they say. So does this mean the water sensor won't trigger and void your service contract?
<ck_> I'm pretty sure there are no water exposure sensors on the wafers
narimiran has quit [Ping timeout: 272 seconds]
amb007 has quit [Read error: Connection reset by peer]
narimiran has joined #lisp
amb007 has joined #lisp
dbotton has quit [Quit: This computer has gone to sleep]
eden has joined #lisp
villanella has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
luna_is_here has quit [Ping timeout: 240 seconds]
amb007 has joined #lisp
luna_is_here has joined #lisp
abel-abel has quit []
abel-abel has joined #lisp
aartaka has joined #lisp
cosimone has joined #lisp
dbotton has joined #lisp
cosimone has quit [Remote host closed the connection]
gzj has quit [Remote host closed the connection]
cosimone has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
gxt has quit [Ping timeout: 240 seconds]
<Josh_2> Is there an built in function I can use to find the common elements between a list of strings?
<phoe> common elements, what do you mean?
<phoe> could you give some example input and output?
yitzi has joined #lisp
karayan has quit [Ping timeout: 264 seconds]
karayan has joined #lisp
<Nilby> Josh_2: Do you mean something like (intersection '("foo" "bar" "baz") '("this" "is" "foo") :test #'equal) => ("foo")
<aeth> You can probably use SEARCH or a regex library like cl-ppcre, if that's what you mean.
jprajzne has joined #lisp
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #lisp
<aeth> heh, I guess that was very vague if Nilby interpreted it as "common strings" and I interpreted it as "common substrings"
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
<Nilby> Playing the game of "guess that vague function"
<Josh_2> aeth: common characters between strings
EvW has joined #lisp
<aeth> just character counts? that can be a hash table in a hash table (with the string one using #'EQUAL as the :test)
<aeth> (you wouldn't even need an inner string hash table if it's just present/not instead of counting them)
dhil has quit [Ping timeout: 256 seconds]
dbotton has quit [Ping timeout: 260 seconds]
dbotton has joined #lisp
urek has quit [Read error: Connection reset by peer]
urek has joined #lisp
minion has quit [Ping timeout: 246 seconds]
specbot has quit [Ping timeout: 256 seconds]
luna_is_here_ has joined #lisp
karstensrage has quit [Quit: ZNC - http://znc.in]
abel-abel has quit [Ping timeout: 246 seconds]
luna_is_here has quit [Ping timeout: 240 seconds]
minion has joined #lisp
specbot has joined #lisp
abel-abel has joined #lisp
<Josh_2> aeth: yes just character counts
amb007 has quit [Remote host closed the connection]
nkatte has joined #lisp
orivej has joined #lisp
<Josh_2> aeth: https://plaster.tymoon.eu/view/2182#2182 this is what I came up with
Aurora_v_kosmose has quit [Remote host closed the connection]
Aurora_v_kosmose has joined #lisp
_mefairS` has joined #lisp
amb007 has joined #lisp
_mefairS` has quit [Excess Flood]
_mefairS` has joined #lisp
_mefairS` has quit [Remote host closed the connection]
aartaka has quit [Read error: Connection reset by peer]
aartaka_d has joined #lisp
_mefairS` has joined #lisp
JohnMS_AWAY is now known as JohnMS
charlie770 has quit [Quit: thatsit]
eden has quit [Quit: Leaving]
_mefairS` has quit [Read error: Connection reset by peer]
nowhere_man has quit [Ping timeout: 272 seconds]
cosimone has quit [Quit: cosimone]
EvW has quit [Ping timeout: 240 seconds]
luna_is_here_ has quit [Read error: Connection reset by peer]
luna_is_here has joined #lisp
abel-abel has quit []
treflip has joined #lisp
nowhere_man has joined #lisp
skapata has joined #lisp
EvW has joined #lisp
nowhere_man has quit [Remote host closed the connection]
nowhere_man has joined #lisp
JohnMS has quit [Quit: Konversation terminated!]
treflip has quit [Quit: WeeChat 2.6]
aartaka_d has quit [Ping timeout: 246 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
EvW has quit [Ping timeout: 272 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
<aeth> Josh_2: just at a glance, if you replace the outer LOOP with a MAP NIL then you make it generic across all sequences
jrm2 has joined #lisp
<aeth> Josh_2: And I think you can remove the branch (where you setf to 1 instead of incf) if you set the default value (the optional 3rd argument) of GETHASH to 0
jrm has quit [Ping timeout: 256 seconds]
jrm2 is now known as jrm
<aeth> Josh_2: i.e. (incf (gethash char chars 0))
<Josh_2> Oh I didn't know you could do that
amb007 has joined #lisp
dhil has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
banjomet has joined #lisp
<aeth> it appears to work
<aeth> (let ((h (make-hash-table))) (incf (gethash :foo h 0)) (gethash :foo h)) => 1
<Josh_2> Yep
amb007 has joined #lisp
<Josh_2> Thanks for pointing those improvements out :)
amb007 has quit [Read error: Connection reset by peer]
<aeth> you're welcome
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
Nilby has quit [Read error: Connection reset by peer]
cosimone has joined #lisp
<banjomet> so there are 443 people on #lisp, and only 316 on #clojure, yet I thought clojure was the popular one?
<banjomet> on reddit /r/lisp has 29,992 and /r/clojure has 24,653
<lotuseater> and if you go by statistics one of the best paid langs
<jackdaniel> I think that statistics would be different for a channels #clojure-nand-lisp (and vice versa)
aindilis has quit [Ping timeout: 256 seconds]
amb007 has joined #lisp
<jackdaniel> s/a //
amb007 has quit [Read error: Connection reset by peer]
<banjomet> the one thing I really want to use lisp for is js stuff, and I have been doing research and it seems like jscl is only a recent endeavor that is missing a little bit to be complete. that's the only thing pushing me towards clojure (really clojurescript).
amb007 has joined #lisp
<banjomet> using the debugger for js-world would be so awesome
aartaka has joined #lisp
<lotuseater> isn't there also a compiler named JACL?
<aeth> banjomet: My guess is... More people want to use Common Lisp (and do so as a hobby), but more people get paid to use Clojure (and so Clojure will probably be more popular on things like StackOverflow)
<aeth> I, for one, wouldn't want to be tied to Oracle's JVM...
<aeth> (I guess ClojureScript is a thing, though.)
<aeth> banjomet: As for CL in the browser, my guess is that you won't get a complete one until WASM is capable of hosting a complete one.
<lotuseater> have no idea, but what if using ABCL to wrap things around clojurescript for using the debugger or something else?
<banjomet> aeth, why would you do that instead of using the vm for js? I see projects like that and I guess I just don't understand what prompts it.
luna_is_here has quit [Read error: Connection reset by peer]
amb007 has quit [Read error: Connection reset by peer]
Lycurgus has joined #lisp
<aeth> banjomet: There are a dozen or so complete Scheme->JS because Scheme is small so a merely "complete" Scheme doesn't give you much. There are two or so incomplete CL->JS because CL is large, so it's hard to be complete. ClojureScript is a bit of an exception as far as this trend goes, but you probably can't use (m)any Clojure libraries with it.
<aeth> You could probably implement enough of a subset of CL in JS to bootstrap the rest, but that'd still be a lot of work.
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
dbotton_ has joined #lisp
<aeth> Now, a WASM CL could even give you some degree of CFFI to C-on-WASM, so you would be able to run almost any library, even ones with C dependencies.
dbotton has quit [Ping timeout: 272 seconds]
<lotuseater> it's paradox JS was first prototyped in CL
<aeth> lotuseater: well, it's easier to write a small language in a large language than the other way around
amb007 has joined #lisp
EvW has joined #lisp
<aeth> JS-in-CL or Scheme-in-CL or Lua-in-CL, etc., would all be way easier than the other direction.
<MichaelRaskin> ECMAScript6 is _also_ not too small. of course…
<lotuseater> yes you're right aeth :) but some of the inconsistencies of the running language let me question it has been designed by someone who knows computer science
<aeth> MichaelRaskin: Well, yes, but the JS-in-CL is very ancient, to the point where writing one from scratch would probably be a worthwhile project.
<aeth> Probably 10+ years
<aeth> The Scheme in CL (excluding my own incomplete project, of course) is Pseudoscheme and was an incomplete R4RS from the early 90s (or late 80s?) when Scheme was even smaller than today.
<aeth> I don't think there's a Lua in CL, but it should be an easy project, to the point where I might write one at some point.
<banjomet> yeah but the size is the main reason. instead of huge images you would be shipping around incredibly small things.
<banjomet> I think, I am playing around with jscl right now to verify
luna_is_here has joined #lisp
<aeth> (I mentioned Lua because there is a Lisp-in-Lua, but it's far from being as featureful as a full CL implementation)
Lycurgus has quit [Quit: Exeunt]
<aeth> banjomet: Yes, but the small size of something like JSCL is at the cost of full standards conformance, or at the very least conformance to de facto standards that everyone follows, but that aren't strictly required (like having octet arrays)
<aeth> (every major implementation except CLISP also has single-float and double-float arrays, which would also be sacrificed in a CL->JS implementation)
<aeth> Ideally, you'd probably have both, using a simple Lispy JS to do the JS parts that WASM can't do, while relying on the full CL image for most of the logic.
jibanes has quit [Ping timeout: 265 seconds]
jibanes has joined #lisp
<aeth> "Lispy JS" is more of what Parenscript is trying to do, though, not JSCL
dbotton_ has quit [Ping timeout: 272 seconds]
dbotton__ has joined #lisp
rumbler31 has quit [Read error: Connection reset by peer]
rumbler31 has joined #lisp
<banjomet> jscl checks in at 1.6 megabytes but I am having trouble figuring out how to run the ansi tests
<banjomet> for the js compiled output
dbotton__ has quit [Client Quit]
galex-713 has quit [Ping timeout: 272 seconds]
<aeth> Imo, someone needs to write more-than-ansi tests for all of the extra things someone expects from an implementation...
<aeth> e.g. (mapcar (lambda (x) (alexandria:type= x (upgraded-array-element-type x))) '((unsigned-byte 8) (signed-byte 8) (unsigned-byte 16) (signed-byte 16) (unsigned-byte 32) (signed-byte 32) double-float single-float))
<aeth> There are other, harder, things, like... does DECLARE type check? Does :type in slots in DEFSTRUCT typecheck on creation and setting? In DEFCLASS?
<aeth> Technically, my test also tests that single-float and double-float are distinct, so that doesn't have to be tested.
luna_is_here has quit [Remote host closed the connection]
<aeth> maybe a "large fixnum" test, too, e.g. (>= (log (- most-positive-fixnum most-negative-fixnum) 2) 60)
luna_is_here has joined #lisp
<aeth> If there's no reliable unicode test, maybe a combination of (> (log char-code-limit 2) 8) and a few code-char/char-code to verify a Unicode mapping.
galex-713 has joined #lisp
thmprover has joined #lisp
luckless_ has quit [Ping timeout: 240 seconds]
luckless_ has joined #lisp
dbotton__ has joined #lisp
rfn has quit [Remote host closed the connection]
gzj has joined #lisp
Misha_B has quit [Remote host closed the connection]
semz has joined #lisp
Misha_B has joined #lisp
gzj has quit [Ping timeout: 256 seconds]
zaquest has joined #lisp
zaquest has quit [Read error: Connection reset by peer]
byallahyourpfpgi is now known as gloriamdeo[m]
luna_is_here has quit [Read error: Connection reset by peer]
luna_is_here has joined #lisp
Inline has quit [Remote host closed the connection]
<thmprover> OK, I'm starting to wonder if I'm not using package names effectively.
<thmprover> For example, instead of defining constants prefixed with "axiom-", I could have an "axiom" package, and define axioms within it.
<thmprover> So instead of "axiom-add-implies", I'd have "axiom:add-implies".
<beach> Definitely.
abhixec has joined #lisp
<Alfr> thmprover, not sure axiom is a good name for that package. There's a CAS name Axiom in CL and i suspect that it provides an axiom package.
<beach> Ah, yes, choose a unique name. And then use package-local nicknames.
<thmprover> Alfr: true, it's just the example I'm looking at, at the moment; I need to distinguish different foundations, so I'll probably use a different name.
<thmprover> "fol-axiom" is probably the package I'll be using
<beach> For example, I prefix all my SICL package names with SICL-.
<beach> But I use ENV as a local nickname for SICL-ENVIRONMENT.
elflng has quit [Read error: No route to host]
<phoe> thmprover: (defpackage my-package (:use ...) (:local-nicknames (#:a #:absolutely-long-package-name-that-conflicts-with-nothing)))
<phoe> then, in my-package, (a:foo ...)
<phoe> package local nicknames are <3
urek has quit [Ping timeout: 272 seconds]
akoana has joined #lisp
luna_is_here has quit [Ping timeout: 246 seconds]
agspathis has joined #lisp
luna_is_here has joined #lisp
Inline has joined #lisp
aindilis has joined #lisp
karayan has quit [Quit: Quit]
<pyc> What exactly is the 'ielm-mode-hook? I have added 'enable-paredit-mode to this and only this hook. I want to know where exactly I can see the paredit working when bound to this hook?
<mfiano> thmprover: Yes, it's important to use package names that nobody else is using, so that there are no conflicts if people depend on your code. 2 packages of the same name cannot coexist in a Lisp image, which is what package-local nicknames solve, assuming your global name is unique.
<mfiano> pyc: Try #emacs
akoana has quit [Quit: leaving]
<thmprover> Yes, unique package names are good, I was just using a minimal example.
adam4567 has quit [Remote host closed the connection]
notzmv has joined #lisp
<aeth> phoe: the only problem with that is that a is usually alexandria
<mfiano> That's not a problem. It's local
<phoe> aeth: what mfiano said
nkatte has quit [Ping timeout: 246 seconds]
<phoe> call it alpn or whatever
pillton_ has quit [Ping timeout: 256 seconds]
<mfiano> One may indeed want a to be used for something else if it is more ubiquitous
pillton_ has joined #lisp
Jeanne-Kamikaze has joined #lisp
euandreh has quit [Quit: ERC (IRC client for Emacs 27.1)]
<aeth> phoe: imo, one char should be reserved for util libraries, since you don't really need more context than that.
<aeth> with a being alexandria.
<aeth> Of course, you can do whatever you want, but just because you can, doesn't mean you should
<mfiano> That is an odd restriction
<phoe> aeth: you know
<phoe> your package, your rules
<phoe> that's the whole point :D
<phoe> that's not an invitation to write unreadable code; more like, make full use of local nicknames.
<aeth> I mean, you can name variables whatever you want without conflict because of packages, but there are generally are style guidelines for those, too
<phoe> there are no guidelines for PLNs; is it time for creating any?
<aeth> If I see "a", I'll assume "alexandria", in general
notzmv has quit [Read error: No route to host]
<aeth> Probably the rest of the one char ones are safe. Probably.
<phoe> aeth: it could be a for aurum
<phoe> which stands for golden-utils
<aeth> way less common, though
<phoe> with PLNs, one cannot assume anymore
notzmv has joined #lisp
<mfiano> I personally use U for golden-utils (because it re-exports alexandria), and currently A for my "Actor" package
<phoe> that's the whole point
<mfiano> So to each their own
<aeth> phoe: I mean, if I see "i", which can exist because of package-local-variable-names and lexical scope, I'm still going to assume it's an integer being iterated over in a loop
<phoe> aeth: uh wait a second
<phoe> that would be a package prefix
<phoe> so i:i or something?...
<mfiano> Before I see any package qualifier, I first consult the package instead of blindly assuming.
<phoe> ^
<phoe> or just M-. it and see where that's from
<aeth> phoe: my point is, a:foo to me contextually means something for the same reason that foo:i contextually means something
<aeth> even though it can, technically, be anything
<aeth> s/foo:i/foo::i/
<phoe> aeth: yes, I see; still, PLNs are the reason why "A" is not just another nickname for Alexandria
<phoe> they're package-local, so my instinct is to see what they refer to in the package before I assume.
<aeth> phoe: Yes, but, a:foo can be anything in the context of package foobar just like foobar::i can be anything in the context of package foobar, but just because it can be anything doesn't mean it will be anything.
rumbler31 has quit [Remote host closed the connection]
<aeth> Technically possible vs. convention
rumbler31 has joined #lisp
<phoe> yes, I understand
<phoe> and I have to admit that "A" is my usual PLN for Alexandria
<phoe> but that's in my case, other people gonna have a different configuration.
<aeth> Since alexandria is by far the most commonly used A package name, I would, all things being equal, assume A=ALEXANDRIA and it would be unusual in other contexts, just like FOO::I would be unusual if you used it for something other than an iterated integer
<aeth> Although, yes, you can do it
mrchampion_ has joined #lisp
urek has joined #lisp
<aeth> And there are some other reasonable niche cases where i might make sense, e.g. some mathy stuff that use i j k in the original mathy context, rather than iteration
<aeth> I don't think there are any other single-character cases where such a package local nickname would dominate like a for alexandria. Maybe, for two characters, "re" for "cl-ppcre" since there's only really one popular regex library.
<phoe> φ
<phoe> ;; for phoe-toolbox, obviously
* mfiano does not use alexandria directly so has the freedom to use such a common character for more appropriate packages.
elflng has joined #lisp
<aeth> phoe: nah, that's for calculating the golden ratio
<phoe> but yeah, if golden-utils reexports alexandria then his a: is like alexandria on steroids
<Inline> metallic ratios
mrchampion has quit [Ping timeout: 260 seconds]
<phoe> aeth: I mean like a package name instead of a function name
<phoe> φ:φ would calculate the golden ratio
<aeth> right
<mfiano> I also shadow global nicknames with pln's in some cases, which works.
akoana has joined #lisp
<Inline> not sure if i'll discover ametallic ratios
<Inline> plastic ratio
<Inline> lol
<aeth> phoe: while φ:+φ+ would be the golden ratio in double precision
<mfiano> Such as verbose defining a global nickname of V. That gets in the way frequently
<phoe> aeth: yes
<lotuseater> don't forget φ is also used for Euler's phi function :)
<aeth> lotuseater: that's euler:
<aeth> sorry, euler:φ
<phoe> lotuseater: well we have a conflict, euler:φ and golden-ratio:φ
<phoe> and there's φ:φ which signals an error because it's ambiguous
<phoe> mfiano: yes, verbose might want to remove it someday
<lotuseater> oh there's a package named euler?
<mfiano> I think shinmera said something about too late to do that now with backward-compat and all
<aeth> lotuseater: I mean, we're joking, but yes
<aeth> lotuseater: I have a euler-lib to make all of my Project Euler solutions trivial
<lotuseater> :D
<aeth> It's not public, though, because I literally just use the Project Euler solutions as the unit tests.
<lotuseater> i should port more of my hs math libs sometime
<aeth> high school math?
<lotuseater> funny :D no, Haskell. some "higher" mathematics
KREYREEN has joined #lisp
surabax has quit [Read error: Connection reset by peer]
<aeth> yes... the context was name conflicts so I couldn't resist
amb007 has quit [Read error: Connection reset by peer]
<lotuseater> hehe okay
rogersm has joined #lisp
<lotuseater> but the most is also for project euler, hope to finish some more exercises till end of the year
<lotuseater> of someone wants we could exchange keys
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
<phoe> so, actually
amb007 has joined #lisp
surabax has joined #lisp
Bike has joined #lisp
<phoe> Xach: I think we will need your assistance with this one
<Xach> You can build things as well as I can!
<Xach> Possibly better!
KREYREEEEN has joined #lisp
<mfiano> I think he wants you to try rebuilding all of Quicklisp with that modification to Verbose, to get your pretty failure report :)
amb007 has quit [Read error: Connection reset by peer]
rogersm has quit [Quit: Leaving...]
hnOsmium0001 has joined #lisp
KREYREEN has quit [Quit: Leaving]
amb007 has joined #lisp
<Bike> minion?
amb007 has quit [Read error: Connection reset by peer]
<Bike> hm. phoe left me some notes but they're not appearing
amb007 has joined #lisp
<Bike> ah, "memo for Bike:"
<dbotton__> I asked this once before but maybe someone else knows, is there a way to launch a task with lparallels that disregards its result? (Ie just like a make-thread but uses one of lparallel's worker threads)
<phoe> Xach: !
<phoe> how can I build things the way you build things though?
<lotuseater> speaking of lparallel, how much threads do you normally declare for the kernel?
<phoe> dbotton__: I don't really know; I've always just done the wait-for-result thingy or however it is called
<phoe> lotuseater: as many as required; not more than logical cores on my machine
<phoe> also, mfiano's right - I want to see how many patches will be required and to what repositories when we incompatibly change Verbose
<Bike> well, whatevs. phoe, i don't know if this is your day off or not, but for when it's not, unwinding through every frame is like, fine, with ZCEH. that's not the slow part
<phoe> Bike: well it was supposed to be
<phoe> maybe we should move it off #lisp though
<lotuseater> yeah more than physical wouldn't be parallel
judson_ has joined #lisp
<phoe> Xach: OK. This sounds good
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
EvW has quit [Ping timeout: 240 seconds]
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<dbotton__> Lotuseater, ideally 1 worker task per core
karayan has joined #lisp
jprajzne has quit [Remote host closed the connection]
EvW has joined #lisp
aartaka has quit [Ping timeout: 265 seconds]
Lord_of_Life_ is now known as Lord_of_Life
Lord_of_Life has joined #lisp
Lord_of_Life has quit [Changing host]
judson_ has joined #lisp
<phoe> where/query gendl
<phoe> uh I mean
<phoe> nice weather, isn't it
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
agspathis has quit [Remote host closed the connection]
KREYREEEEN has quit [Remote host closed the connection]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
toorevitimirp has quit [Remote host closed the connection]
francogrex has joined #lisp
rumbler31 has quit [Remote host closed the connection]
<francogrex> hi do you think creating executables from lisp would be easy? (I know it's feasible, I have no doubt): https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html
<phoe> francogrex: executables? what do you mean?
<phoe> it is easy, use uiop:dump or Shinmera's Deploy for portable creation of executables
<phoe> they are not going to be this tiny
<phoe> but the process is there and has been battle-tested many times
<francogrex> phoe, I don't mean create executables from CL programs, but to directly write bytes
amb007 has quit [Read error: Connection reset by peer]
liberliver has joined #lisp
amb007 has joined #lisp
<francogrex> much likes nasm/fasm or gcc does
amb007 has quit [Read error: Connection reset by peer]
rumbler31 has joined #lisp
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
<phoe> francogrex: oh wait, you mean, directly write memory and make it executable?
<phoe> I know one person who had some success with that - writing code as bytes, making this memory executable, calling this function via CFFI
abhixec has quit [Quit: leaving]
amb007 has quit [Read error: Connection reset by peer]
<francogrex> lol, one person, a legend!
rumbler31 has quit [Ping timeout: 256 seconds]
amb007 has joined #lisp
<phoe> eh
<phoe> more like they were toying with it
<phoe> there's little use for doing that inside Lisp
<phoe> what's your use case?
abhixec has joined #lisp
waleee-cl has joined #lisp
nullheroes has quit [Quit: WeeChat 2.9]
<francogrex> phoe: no use, just fun
<francogrex> but phoe, FYI, I did myself write this: https://rosettacode.org/wiki/Machine_code#Common_Lisp
<francogrex> but i want now a standalone
<francogrex> self executable
karayan has quit [Ping timeout: 260 seconds]
<phoe> a self executable doing what?
karayan has joined #lisp
<phoe> also this rosetta code example has poor style for global variables
<phoe> they *really* should have earmuffs
<francogrex> I wrote it when i was still a toddler
notzmv` has joined #lisp
dbotton__ has quit [Quit: This computer has gone to sleep]
dbotton__ has joined #lisp
notzmv has quit [Ping timeout: 256 seconds]
terpri has quit [Ping timeout: 256 seconds]
terpri has joined #lisp
andreyorst has quit [Ping timeout: 265 seconds]
notzmv` is now known as notzmv
notzmv has quit [Changing host]
notzmv has joined #lisp
KREYREEN has joined #lisp
galex-713 has quit [Ping timeout: 246 seconds]
karlosz has joined #lisp
liberliver has quit [Ping timeout: 260 seconds]
villanella has quit [Quit: villanella]
villanella1 has joined #lisp
galex-713 has joined #lisp
aartaka has joined #lisp
villanella1 has quit [Client Quit]
aartaka has quit [Ping timeout: 264 seconds]
francogrex has quit [Remote host closed the connection]
sookablyat has quit [Quit: leaving]
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 256 seconds]
Bike has quit [Remote host closed the connection]
narimiran has quit [Ping timeout: 246 seconds]
nowhere_man has quit [Remote host closed the connection]
nowhere_man has joined #lisp
thmprover has quit [Quit: For He Was Great of Heart]
Guest98239 has joined #lisp
shka_ has quit [Ping timeout: 240 seconds]
EvW has quit [Ping timeout: 246 seconds]
<Josh_2> Just took a look at the jonathan json parser, a single 300 line function
rumbler31 has joined #lisp
* no-defun-allowed also wonders how @doc "..." (defun ...) is easier than (defun name (args ...) "..." ...)
Guest98239 has left #lisp ["Leaving"]
EvW has joined #lisp
karstensrage has joined #lisp
lucasb has joined #lisp
karstensrage has left #lisp ["Leaving"]
iGherghe has joined #lisp
jonatack has quit [Ping timeout: 272 seconds]
rumbler31 has quit [Remote host closed the connection]
<oni-on-ion> personally the preference is to document before declaration/definition of said function
GuerrillaMonkey has joined #lisp
<Xach> I'm suddenly wondering if enough people are making their DO macros have nil blocks and implicit tagbodies
Jeanne-Kamikaze has quit [Ping timeout: 240 seconds]
iGherghe has quit [Remote host closed the connection]
shifty has joined #lisp
<banjomet> francoqrex: I know you aren't here, but you should check out https://pvk.ca/Blog/2014/03/15/sbcl-the-ultimate-assembly-code-breadboard/
bilegeek has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
karlosz has quit [Ping timeout: 240 seconds]
pfdietz has joined #lisp
bitmapper has joined #lisp
<pfdietz> Xach: ansi-test does test that DO (and related) have implicit tagbodies and NIL blocks.
Krystof has quit [Ping timeout: 240 seconds]
amb007 has quit [Ping timeout: 246 seconds]
<Xach> pfdietz: user-defined DOFOO/DO-FOO should as well!
<Xach> and they should support declarations at the head of the body
blah59 has joined #lisp
<pfdietz> Hmm. I wonder if ITERATE supports a tagbody.
<pfdietz> It does not.
notzmv has quit [Read error: No route to host]
rumbler31 has joined #lisp
notzmv has joined #lisp
rumbler31 has quit [Ping timeout: 240 seconds]
kaftejiman has quit [Remote host closed the connection]
dbotton has joined #lisp
rumbler31 has joined #lisp
rumbler31 has quit [Read error: Connection reset by peer]
<_death> I usually set up a nil block.. but no tagbody
rumbler31 has joined #lisp
jonatack has joined #lisp
<phoe> (defmacro do-nothing () `(block nil (tagbody)))
iskander- has quit [Ping timeout: 244 seconds]
iskander has joined #lisp
blah59 has left #lisp [#lisp]
GuerrillaMonkey has quit [Quit: Leaving]
Jeanne-Kamikaze has joined #lisp
* Alfr wonders how often do's implicit tagbody is actually used.
abhixec has quit [Ping timeout: 240 seconds]
shifty has joined #lisp
iskander has quit [Quit: bye]
iskander has joined #lisp
KREYREEN has quit [Remote host closed the connection]
KREYREEN has joined #lisp
igemnace has quit [Remote host closed the connection]
pve has quit [Quit: leaving]
surabax has quit [Quit: Leaving]
ljavorsk has joined #lisp
<Xach> Alfr: 1000 times per second in some environments
dbotton has quit [Quit: This computer has gone to sleep]
<Alfr> Hmpf. Really should've asked for the portion of DOs which have tags with corresponding GOs.
<Xach> That would be an interesting statistic. I don't use it that often but when you want to skip or retry an interation it is great to have available.
florian_ has joined #lisp
<Xach> (interation?)
<Alfr> Essentially what most other languages call break?
<Xach> Alfr: yes, but potentially way more flexible.
<Alfr> Was thinking of this before. But also did never miss this in CL.
<_death> break would be return.. maybe continue (go end-of-body)
<Alfr> _death, you're right. :)
igemnace has joined #lisp
<Xach> DOLIST + WITH-SIMPLE-RESTART makes it easy to have a processing loop with easy options to "skip this one" or "retry this one"
EvW has quit [Ping timeout: 260 seconds]
MichaelRaskin has quit [Quit: MichaelRaskin]
abhixec has joined #lisp
Inline has quit [Ping timeout: 272 seconds]
EvW has joined #lisp
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dbotton has joined #lisp
igemnace has quit [Quit: WeeChat 2.9]
igemnace has joined #lisp
judson_ has joined #lisp
rumbler31 has quit [Remote host closed the connection]
rumbler31 has joined #lisp
flazh has quit [Quit: flazh]
iskander- has joined #lisp
iskander has quit [Ping timeout: 265 seconds]
frgo has quit [Read error: Connection reset by peer]
frgo has joined #lisp