Xach 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/>
<no-defun-allowed> So does Clozure, but I can't get that inspected.
<no-defun-allowed> Hm, if I have the effective slot definition already, can I use that to get the slot's value?
jack_rabbit has quit [Ping timeout: 245 seconds]
<no-defun-allowed> That would be slot-value-using-class then.
<Bike> indeed
<Bike> and slot-boundp-using-class
jack_rabbit has joined #lisp
datajerk has quit [Quit: ZNC 1.7.3 - https://znc.in]
<no-defun-allowed> Yeah, that looks like the right level of unicornlessness.
earl-ducaine has quit [Quit: No Ping reply in 180 seconds.]
perfect_loser has joined #lisp
<perfect_loser> hi
earl-ducaine has joined #lisp
<phoe> hey
dyelar has quit [Ping timeout: 276 seconds]
manualcrank has quit [Ping timeout: 240 seconds]
ljavorsk has quit [Ping timeout: 246 seconds]
datajerk has joined #lisp
davepdotorg has joined #lisp
grabarz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
davepdotorg has quit [Ping timeout: 250 seconds]
nalik891 has quit [Ping timeout: 250 seconds]
<no-defun-allowed> That works then. Thanks phoe and Bike
<perfect_loser> How do you compare Lisp to Common Scheme ?
<oni-on-ion> well er wait Common Scheme ?
lucasb has quit [Quit: Connection closed for inactivity]
<perfect_loser> LOL
<perfect_loser> sorry
<oni-on-ion> do you mean "Common Lisp vs Scheme"? that is a good search term
<oni-on-ion> (i've done it)
<perfect_loser> Scheme to COmmon Lisp
<perfect_loser> yes
<oni-on-ion> =)
<oni-on-ion> took me a sec
<perfect_loser> You should invent this language
<perfect_loser> Common Scheme
<oni-on-ion> hehe. scheme is fine -- with the R5RS R7RS etc and the SFRI's
<oni-on-ion> (or SRFI's?)
manualcrank has joined #lisp
ax-hack has quit [Read error: Connection reset by peer]
Inline has quit [Read error: Connection reset by peer]
ax-hack has joined #lisp
Inline has joined #lisp
jfrancis has quit [Ping timeout: 245 seconds]
voidlily has quit [Remote host closed the connection]
nirved has quit [Ping timeout: 246 seconds]
nirved has joined #lisp
malfort has quit [Ping timeout: 268 seconds]
voidlily has joined #lisp
perfect_loser has quit [Ping timeout: 260 seconds]
smazga has quit [Quit: leaving]
jack_rabbit has quit [Ping timeout: 245 seconds]
efm has quit [Ping timeout: 240 seconds]
rotucer has quit [Read error: Connection reset by peer]
rotucer has joined #lisp
hiroaki has quit [Ping timeout: 265 seconds]
stepnem has quit [Ping timeout: 268 seconds]
stepnem has joined #lisp
Autolycus has joined #lisp
brettgilio has quit [Ping timeout: 250 seconds]
jack_rabbit has joined #lisp
nowhereman has quit [Ping timeout: 252 seconds]
elfmacs has joined #lisp
paul0 has joined #lisp
longshi has quit [Ping timeout: 250 seconds]
Autolycus has quit []
<p_l> SRFIs
_jrjsmrtn has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 276 seconds]
jack_rabbit has quit [Ping timeout: 245 seconds]
nullniverse has joined #lisp
jason_m has joined #lisp
FennecCode has joined #lisp
efm has joined #lisp
Codaraxis has joined #lisp
efm_ has joined #lisp
efm has quit [Ping timeout: 268 seconds]
iovec has quit [Quit: Connection closed for inactivity]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 265 seconds]
Lord_of_Life_ is now known as Lord_of_Life
malfort has joined #lisp
ax-hack has quit [Ping timeout: 240 seconds]
<jason_m> Can I use symbol-macrolet to expand symbols like this: (with-foo (x y z) obj (+ x y z)) => (+ (foo obj x) (foo obj y) (foo obj z)) ? I seem to be having trouble with recursion blowing up the stack.
<Bike> well it'll recursively expand x
<Bike> you could bind %x to the x variable, and then symbol macrolet x to (foo obj %x)
<Bike> where %x is a gensym
<jason_m> Yes, that was what i was going to try next. But thought I would ask first before going that direction.
clothespin has joined #lisp
<jason_m> My first thought was it would be similar to how one might implement with-slots, but of course that has the important difference that the symbols are quoted in the expanded forms, so it is not recursive.
slyrus has joined #lisp
<pjb> Of course.
slyrus_ has quit [Ping timeout: 240 seconds]
<pjb> But you need a special macro to do that.
davepdotorg has joined #lisp
<pjb> (defclass c () (x y z)) (defmacro expand (form &environment env) `',(macroexpand form env)) (with-slots (x y z) (make-instance 'c) (expand x)) #| --> (slot-value #:g7852 'x) |#
<pjb> (defmacro with-foo ((&rest slots) object &body body) `(symbol-macrolet ,(mapcar (lambda (slot) `(,slot (foo ,object ',slot))) slots) ,@body)) (with-foo (x y z) obj (expand x)) #| --> (foo obj 'x) |#
davepdotorg has quit [Ping timeout: 265 seconds]
useful_illusion has joined #lisp
<moon-child> how do I asdf? I made a 'fed.asd' which says (defsystem :fed ...), but (asdf:load-system :fed) says 'Component :FED not found'
<jasom> moon-child: for quick-and-dirty dev work, (asdf:load-asd "/path/to/foo.asd")
<jasom> TL;DR: put it in ~/common-lisp/foo/
<moon-child> ahh, missed that
<moon-child> thanks
<jasom> moon-child: also, slime is smart enough to use load-asd if you C-c C-k a .asd file.
Codaraxis has quit [Ping timeout: 268 seconds]
useful_illusion has quit [Remote host closed the connection]
useful_illusion has joined #lisp
useful_illusion has quit [Remote host closed the connection]
<moon-child> hmm. How do I actually make it load stuff? I have :components ((:file "fed")) in my defsystem, and :export #:do-stuff in my defpackage in fed.lisp (where do-stuff just prints a message), but running (fed:do-stuff) from the repl says 'Package FED does not exist'
useful_illusion has joined #lisp
useful_illusion has quit [Remote host closed the connection]
useful_illusion has joined #lisp
<jasom> (asdf:load-system "foo")
<jasom> did you accidentally do (defpackage "fed" ...)?
<jasom> that will define a package named "fed" when you want a package named "FED"
<moon-child> nope, (defpackage :fed)
<jasom> then (asdf:load-system "fed") should load your system; you might need to do something to get asdf to reload the .asd file if it's changed I don't recall off the top of my head
<moon-child> doesn't work. I say sbcl --eval '(asdf:load-asd "/home/elronnd/code/fed/src/fed.asd")' --eval '(asdf:load-system "fed")' and get an error about 'component "fed" not found'
<jasom> that's odd
<moon-child> eh, symlinked the whole project into ~/common-lisp/. Easier than figuring this crap out
<jason_m> Bike: I went the way you suggested, binding gensyms to my variables, and then expanding to forms that use the gensyms. Working like a charm.
<jasom> FYI, IIRC symlinked directories didn't work in CCL 10 years ago; that may have been fixed in the meantime though. Should work with sbcl either way though.
<jasom> The "component "fed" not found" was "fed" in the same directory as fed.asd?
<jasom> The "component "fed" not found" was fed.lisp in the same directory as fed.asd?
<moon-child> yah
torbo has joined #lisp
<jasom> no clue; I do the load-asd thing all the time with no issues.
<moon-child> eh, it's fine. This is a fine solution (and probably cleaner, too)
<jasom> cool
malfort has quit [Remote host closed the connection]
useful_illusion has quit [Quit: useful_illusion]
pilne has quit [Quit: Few women admit their age. Few men act theirs.]
khisanth__ has quit [Ping timeout: 268 seconds]
omarish has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
pilne has joined #lisp
Codaraxis has joined #lisp
akoana has joined #lisp
khisanth__ has joined #lisp
mathrick has quit [Ping timeout: 276 seconds]
shifty has quit [Ping timeout: 268 seconds]
omarish has joined #lisp
krid has quit [Ping timeout: 245 seconds]
milanj has quit [Quit: This computer has gone to sleep]
jason_m has quit [Quit: Leaving]
<no-defun-allowed> http://www.nhplace.com/kent/CL/Revision-18.lisp The CL condition system implemented in portable Common Lisp
<no-defun-allowed> Well, CLtL 1-era Common Lisp.
davr0s_ has joined #lisp
* no-defun-allowed finds the EVAL-WHEN ;; NHEW-LAVE "pairs" funny
davr0s__ has quit [Ping timeout: 265 seconds]
davr0s has quit [Ping timeout: 268 seconds]
davr0s has joined #lisp
zaquest has quit [Quit: Leaving]
zaquest has joined #lisp
davepdotorg has joined #lisp
<Bike> ecl's is based on this, i'm reasonably sure
ebrasca has quit [Remote host closed the connection]
buffergn0me has joined #lisp
torbo has quit [Remote host closed the connection]
davepdotorg has quit [Ping timeout: 268 seconds]
<beach> Good morning everyone!
krid has joined #lisp
ebzzry has quit [Read error: Connection reset by peer]
ebzzry has joined #lisp
mathrick has joined #lisp
sammich has quit [Read error: Connection reset by peer]
krid has quit [Ping timeout: 240 seconds]
flazh has quit [Ping timeout: 252 seconds]
sammich has joined #lisp
Bike has quit [Quit: Lost terminal]
entel has quit [Quit: Connection closed for inactivity]
flazh has joined #lisp
libertyprime has joined #lisp
_Posterdati_ has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
Posterdati has joined #lisp
adolby has quit [Ping timeout: 240 seconds]
SaganMan has quit [Ping timeout: 265 seconds]
SaganMan has joined #lisp
reggie__ has joined #lisp
reggie_ has quit [Ping timeout: 268 seconds]
orivej has quit [Ping timeout: 276 seconds]
libertyprime has quit [Quit: leaving]
omarish has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
nullniverse has quit [Ping timeout: 246 seconds]
nullniverse has joined #lisp
nullniverse has quit [Changing host]
nullniverse has joined #lisp
krid has joined #lisp
ArthurStrong has quit [Quit: leaving]
ahungry has joined #lisp
brown121407 has quit [Ping timeout: 276 seconds]
brown121407 has joined #lisp
krid has quit [Ping timeout: 265 seconds]
Inline has quit [Quit: Leaving]
<vseloved> moon-child: asdf:load-asd doesn't load the whole system, it only loads the ASD file and registers it. That's why you need asdf:load-system
nalik891 has joined #lisp
nullniverse has quit [Ping timeout: 276 seconds]
greaser|q_ has quit [Remote host closed the connection]
vlatkoB has joined #lisp
greaser|q has joined #lisp
davepdotorg has joined #lisp
ahungry has quit [Remote host closed the connection]
davepdotorg has quit [Ping timeout: 265 seconds]
<equwal> Good morning beach!
doublex_ has quit [Ping timeout: 276 seconds]
akoana has left #lisp ["Leaving"]
hiroaki has joined #lisp
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #lisp
Kevslinger has quit [Quit: Connection closed for inactivity]
shka_ has joined #lisp
JohnMS_WORK has joined #lisp
shka_ has quit [Ping timeout: 265 seconds]
flamebeard has joined #lisp
stepnem has quit [Ping timeout: 265 seconds]
stepnem has joined #lisp
vseloved has quit [Ping timeout: 265 seconds]
sjl has quit [Ping timeout: 265 seconds]
_whitelogger has joined #lisp
scymtym has quit [Ping timeout: 276 seconds]
orivej has joined #lisp
rgherdt has joined #lisp
jackdaniel has joined #lisp
clothespin_ has joined #lisp
clothespin has quit [Ping timeout: 268 seconds]
davepdotorg has joined #lisp
varjag has joined #lisp
davepdotorg has quit [Ping timeout: 276 seconds]
jprajzne has joined #lisp
Cymew has joined #lisp
orivej has quit [Ping timeout: 245 seconds]
loskutak has joined #lisp
femi has quit [Ping timeout: 265 seconds]
femi has joined #lisp
grabarz has joined #lisp
froggey has quit [Ping timeout: 245 seconds]
scymtym has joined #lisp
froggey has joined #lisp
doublex has joined #lisp
FennecCode has quit [Quit: ERC (IRC client for Emacs 26.2)]
phablet has quit [Ping timeout: 276 seconds]
davd has joined #lisp
z3t0 has quit [Ping timeout: 252 seconds]
Nistur has quit [Ping timeout: 246 seconds]
Tordek has quit [Ping timeout: 240 seconds]
Nistur has joined #lisp
Tordek has joined #lisp
Duuqnd has joined #lisp
davd has quit [Ping timeout: 240 seconds]
dale has quit [Quit: My computer has gone to sleep]
z3t0 has joined #lisp
davd has joined #lisp
davepdotorg has joined #lisp
davd has quit [Read error: Connection reset by peer]
loskutak has quit [Ping timeout: 276 seconds]
hhdave has joined #lisp
gxt_ has joined #lisp
milanj has joined #lisp
hhdave has quit [Ping timeout: 240 seconds]
davepdotorg has quit [Quit: Leaving...]
hhdave has joined #lisp
Oladon has quit [Read error: Connection reset by peer]
blt has quit [Read error: Connection reset by peer]
loskutak has joined #lisp
shifty has joined #lisp
davepdotorg has joined #lisp
smokeink has joined #lisp
<phoe> morning
<no-defun-allowed> Good morning phoe
<easye> Mornin', phoe.
longshi has joined #lisp
grumble has quit [Quit: SOMEBODY ONCE TOLD ME]
grumble has joined #lisp
wiselord has joined #lisp
<phoe> I wonder why CCL actually separates its compilation into stages
<phoe> if it cross-compiles a half of its FASLs into a bootstrapping image that then loads everything up and produces a normal image, why can't it just cross-compile everything into a normal image and skip the bootstrapping image part
<shka__> phoe: one common reason to do so is to reduce memory usage
<shka__> it is frequent in compilers that originate from limited hardware
<phoe> shka__: is that still a real issue nowadays?
<phoe> I understand where it comes from
<shka__> it is not, but you can't just erase history
<phoe> but I don't know if it still has a reasonable explanation in modern times
<phoe> what do you mean, erase history
<shka__> even visual studio had this legacy
<Shinmera> might also be that it's hard to ensure system stability if you start replacing core parts
<phoe> Shinmera: that's why I pointed out *cross-compilation*
<phoe> the way I understand CCL build process now is, it actually cross-compiles the core FASLs into a fake heap that doesn't touch the original one
<phoe> so the parts of the original core system are not modified that way
<phoe> (assuming that I understand the build process correctly)
<Shinmera> well if parts of the new should influence further compilation then you have to make the new build the rest.
<Shinmera> or replace the old and make that build the rest
<Shinmera> or have both coexist (SICL method)
<phoe> yes, that's correct, I have run into that issue a few times now - I have to modify the old compiler to be able to build the new one
<Shinmera> right, and doing so is hard to keep stable.
<phoe> correct
<Shinmera> much easier to have a clean slate.
buffergn0me has quit [Ping timeout: 250 seconds]
<phoe> overall, I am trying to understand and simplify CCL's build process in order to someday make it bootstrappable off any standard CL
<phoe> and it's practically impossible to do so with all the current cruft and weirdnesses standing in the way
<Shinmera> that's a tall order. SBCL goes through great pains to make it possible.
<phoe> well if SBCL can do that then so can CCL
<Shinmera> anything is possible
<Shinmera> The question is whether it's worth the effort.
<aeth> anything computable is possible...
<aeth> sometimes the time involved takes too long, though
<phoe> if I understand the absolute basics, then one would need to load the CCL compiler into any CL image, then have that compiler build CCL
<phoe> this already requires the compiler to be cleanly loadable as a library
<phoe> so it can't depend on anything that is CCL-specific unless that part is also loadable as a library.
<Shinmera> that's already troublesome due to assumptions about types and sizes and such
<phoe> and woohoo that is already a lot of work to do
<phoe> yes, it would involve explicitly writing out all things that are implicit now
<Shinmera> I mean, just my ppinion, but I feel like there's more worthwhile things to invest time in.
<jackdaniel> speaking of compilation, I'm playing with IR visulaizer for ECL in McCLIM: https://files.mastodon.social/media_attachments/files/022/594/776/original/735aed1663ffd99e.png
<phoe> Shinmera: I respect your opinion, and yet I feel like investing my time in cleaning up the mess that CCL currently is.
<phoe> jackdaniel: hey that's enjoyable
Necktwi has quit [Ping timeout: 240 seconds]
<jackdaniel> I've already spotted a bug thanks to that (not something user would notice, because compilation result is correct though suboptimal) -- inlined let variables does not have propagated types
<galdor> it makes me feel better about not finding out how to rebuild CCL despite the documentation
<galdor> apparently I need to build a special stage, and I cannot build it with the packaged ccl for Archlinux
<galdor> (and for the record thank you for investing time and energy in CCL, having more than one major, actively maintained CL implementation is a good thing)
nullman has quit [Remote host closed the connection]
loskutak has quit [Ping timeout: 246 seconds]
nullman has joined #lisp
montxero has joined #lisp
<phoe> the process is ugly and I have no idea if any information is actually not in the source code anywhere but instead passed around only from binary to binary
ljavorsk has joined #lisp
<phoe> such as the ominous lack of DEFPACKAGE "COMMON-LISP" anywhere in the source tree
<jackdaniel> (cl:defpackage cl) -> error, no such package
<phoe> jackdaniel: that was a metaphor, eh
<jackdaniel> metaphor of what?
<phoe> I don't know where the actual CL package for the new Lisp image is created in the CCL build process
<phoe> and what is its state based on
<phoe> and whether it's specified anywhere in the source code or whether it's the state of whatever is in the existing binary image
femi has quit [Ping timeout: 240 seconds]
<phoe> SBCL makes it explicit with its :SB!XC package that is then renamed to :COMMON-LISP
<phoe> I see not such explicitness in CCL just yet
<galdor> what does "XC" means for SBCL?
<phoe> cross-compiled
<galdor> good to know, thank you
<phoe> :sb!xc is the package that is meant to become the target :common-lisp package.
femi has joined #lisp
oxum_ has joined #lisp
oxum_ is now known as oxum
<jackdaniel> phoe: it takes the package from the host, see l1-cl-package.lisp and (defconstant *common-lisp-package* *common-lisp-package*) in l1-init.lisp
<jackdaniel> (since ccl is always bootstrapped from ccl it is fine I suppose)
<beach> phoe: Have you read Xof's paper on bootstrapping SBCL and our paper on bootstrapping Common Lisp on Common Lisp?
<phoe> beach: yes, both.
<beach> Good.
<phoe> jackdaniel: I actually just found it
ljavorsk has quit [Ping timeout: 265 seconds]
<beach> phoe: It is not trivial to accomplish what you want.
davd has joined #lisp
<phoe> xdump/xfasload.lisp has a function called XLOAD-CLONE-PACKAGES that "clones" the existing CL package and then dumps that in the FASL.
<phoe> beach: I'm well aware of it.
<shka__> dumps package?
<phoe> shka__: dupms the package object in there, I mean.
<jackdaniel> shka__: make-load-object etc
<phoe> s/dupms/dumps/
<shka__> what is included?
<shka__> in the dump, i mean
<phoe> shka__: I'm still reading the code. Seems like just the import and export tables and the package name and nicknames.
<phoe> And that is good, since for the CL package this is pretty much constant.
<phoe> At least the name, nicknames, and exports are all standardized.
pilne has quit [Quit: Download IceChat at www.icechat.net]
entel has joined #lisp
easye` has quit [Remote host closed the connection]
Guest75462 has quit [Read error: Connection reset by peer]
Guest75462 has joined #lisp
orivej has joined #lisp
rotucer has quit [Ping timeout: 276 seconds]
ljavorsk has joined #lisp
jackdaniel has quit [Quit: jackdaniel]
jackdaniel has joined #lisp
davepdotorg has quit [Remote host closed the connection]
davepdotorg has joined #lisp
gxt_ is now known as gxt
SaganMan has quit [Ping timeout: 240 seconds]
jackdaniel has quit [Quit: jackdaniel]
cosimone has joined #lisp
loskutak has joined #lisp
jackdaniel has joined #lisp
ljavorsk has quit [Ping timeout: 268 seconds]
jackdaniel has quit [Client Quit]
SaganMan has joined #lisp
davepdotorg has quit [Remote host closed the connection]
ebrasca has joined #lisp
davepdotorg has joined #lisp
davepdotorg has quit [Remote host closed the connection]
davepdotorg has joined #lisp
Necktwi has joined #lisp
rotucer has joined #lisp
wiselord has quit [Ping timeout: 240 seconds]
h11 has joined #lisp
ljavorsk has joined #lisp
rotucer has quit [Ping timeout: 268 seconds]
cosimone has quit [Quit: Terminated!]
bitmapper has joined #lisp
loskutak has quit [Ping timeout: 246 seconds]
mingus has quit [Remote host closed the connection]
loskutak has joined #lisp
17SABC22Z has joined #lisp
brown121407 has quit [Read error: Connection reset by peer]
loskutak has quit [Ping timeout: 268 seconds]
loskutak has joined #lisp
ggole has joined #lisp
jackdaniel has joined #lisp
lucasb has joined #lisp
Davd33 has joined #lisp
bitmapper has quit [Remote host closed the connection]
X-Scale has quit [Ping timeout: 265 seconds]
X-Scale` has joined #lisp
X-Scale` is now known as X-Scale
enrio has joined #lisp
clothespin_ has quit [Ping timeout: 252 seconds]
Davd33 has quit [Ping timeout: 252 seconds]
bitmapper has joined #lisp
cosimone has joined #lisp
<pjb> phoe: the actual operator to create packages is the function make-package. The CL package is not essential to the creation of a CL implementation. Calling make-package can be the last thing done by a CL implementation…
<pjb> phoe: and indeed, when you are generating a new CL implementation, you don't need to define its objects. You only need to write an image file…
<phoe> pjb: yes, I've already explained it is a metaphor.
wiselord has joined #lisp
<pjb> AH, if it's a metaphor, ok.
<phoe> I wanted to see where the object that will become the new #<Package COMMON-LISP> is instantiated. And I finally found it.
<pjb> Good.
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
orivej has quit [Ping timeout: 268 seconds]
JohnMS_WORK has quit [Ping timeout: 240 seconds]
oxum has quit [Quit: Leaving...]
omarish has joined #lisp
PuercoPope has quit [Remote host closed the connection]
smokeink has quit [Remote host closed the connection]
Duuqnd has quit [Quit: Leaving]
davd has quit [Remote host closed the connection]
brettgilio has joined #lisp
rotty has joined #lisp
Bike has joined #lisp
brettgilio has quit [Ping timeout: 245 seconds]
oxum has joined #lisp
vseloved has joined #lisp
krid has joined #lisp
elfmacs has quit [Ping timeout: 276 seconds]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 250 seconds]
Lord_of_Life_ is now known as Lord_of_Life
brown121407 has joined #lisp
EvW has joined #lisp
17SABC22Z has quit [Ping timeout: 240 seconds]
cosimone has quit [Quit: Terminated!]
AnimalCl` has joined #lisp
<jackdaniel> I think that metaphor is not the right word here
<jackdaniel> maybe a substitute, or a mental shortcut
<phoe> mental shortcut is better, yes
<phoe> thanks
jmercouris has joined #lisp
omarish has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
<pfdietz> (reads back) Making the SBCL build process not be self-modifying had a cost. The SBCL build took 2x as long as a CMUCL build after they were forked. Not important now, of course.
<phoe> not important, why?
vseloved has quit [Ping timeout: 250 seconds]
<jmercouris> because build time is not important
<jmercouris> it is a fixed cost, you don't find yourself building over and over again as a user
<jackdaniel> build time is still important, especially for a developer. it is just that build times are more than 2x faster now
rotucer has joined #lisp
<jackdaniel> so the hardware improvements (and later build improvements) offsetted the initial drawback
<phoe> jmercouris: unless you are an implementation maintainer and you build your implementation over and over and over, at which point the delays compound into something significant
<jackdaniel> it is not uncommon for users to complain about long build times (especially on subpar hardware, i.e armv7)
<phoe> also what jackdaniel says
<jmercouris> phoe: I said very clearly that as a user it is irrelevant to you
<phoe> well I ain't a user here
<jmercouris> I don't care
<phoe> neither do I
<jackdaniel> "compilation time doesn't matter" is a fad which was quite popular at some point of time
<phoe> I'm curious about pfdietz's reasoning behind the "not important now"
<jmercouris> It still doesn't matter
<jmercouris> any decent package manager distributes binaries as well
<jmercouris> I don't expect people to compile firefox on their machines
<phoe> ...such as Quicklisp
<jmercouris> Quicklisp is not an operating system package manager
<jmercouris> its almost 2020, join us in the new era
<phoe> I'm not talking about operating system package managers, I'm talking about building Lisp implementations
<phoe> specifically about the bootstrapping part
<jackdaniel> fact that it doesn't matter to you and that you live in 2020 (off by one error?) is of no relevance to me ;)
<jmercouris> Ah okay, I see we are not open to new viewpoints today
<jmercouris> maybe another day
<jackdaniel> if you are not open to them, then I'm sorry to hear that ,) we are getting back to more productive endavours
<phoe> I'm open about viewpoints, I'm closed to derailing conversations into offtopic
<jmercouris> both of you have it out for me it seems! anyways, agreed, let's stop here
<phoe> I asked pfdietz about why sbcl build time doesn't matter now, not you about why all build time doesn't matter in general
<phoe> these two questions are pretty different and turn into different discussions, don'tcha think
<phoe> anyway, I'm back to hacking for now
<pjb> Perhaps they use incremental build while developping/debuging the implementation?
<pfdietz> sbcl build time is not important, or at least less important, now because it's so much shorter than it was then.
<pfdietz> Remember, this is 20 years ago we're talking about.
* jackdaniel scores 10 points for anticipating the reasoning :)
<phoe> pfdietz: as in, there's been build time improvements over that time? or moore's law?
<pfdietz> Moore's law, I think. If anything, there's been some increase in the amount of computation done for a build. I think SBCL's optimizations have gotten more expensive, for example.
<beach> phoe: Moore's law is about the number of transistors on a chip. Not about speed.
<pfdietz> Smaller transistors are typically faster, though.
<phoe> beach: thanks for the correction.
varjag has joined #lisp
<pfdietz> The move from 32 to 64 bit builds also introduced a one-time speedbump. Cons cells got twice as big.
<pfdietz> The build is also accelerated now by being able to use multiple cores. That could probably be pushed further, but as it stends SBCL builds and runs the post-build tests in 1:15 on this machine.
<pfdietz> Compared to building Clang, that's nearly instantaneous. :)
<dlowe> cons cells got twice as big but we got more type tags and bigger fixnums
<Shinmera> and unboxed single floats
<pfdietz> Yes. I also remember the speed hit paleolisps took when we went from 16 to 32 bits. Not much you can do in 16 bits, admittedly.
ghard has joined #lisp
<ghard> Hello all
<phoe> heyyy
<phoe> pfdietz: thanks for the explanation.
<beach> Hello ghard.
<ghard> Has anybody tried using zs3 with DigitalOcean Spaces?
<jackdaniel> I think that Xach uses zs3 for quicklisp, but I know no details
Kevslinger has joined #lisp
<ghard> Yeah I was trying to quickly glance through the docs to see if the endpoint base URLs are configurable. Spaces claims to be API-compatible with S3
<ghard> Okay I get back to RTFM on it :)
<pfdietz> The *fine* manual!
<ghard> It actually is quite nice comparing to some :) All kudos to xach.
raghavgururajan has joined #lisp
longshi has quit [Ping timeout: 250 seconds]
efm_ has quit [Quit: Konversation terminated!]
epony has quit [Quit: upgrades]
oxum has quit [Ping timeout: 265 seconds]
<pjb> beach: what if you put enough transistors on a chip to compute all possible hash values at once. Would that make it faster to find bitcoins? Would I be able to find all the remaining bitcoins?
<pjb> Of course, there are problems that are not parallelizable. I don't think I could find all the remaining bitcoins at once. But I could find them faster than the other miners…
<pjb> Happily for bitcoins, there are fewer atoms in the universe than hash values…
<pjb> Isn't it funny to live in a finite universe?
<ghard> I reckon not even the rotational energy of Steve Jobs in his grave would be enough to pay the electricity bill for that amount of transistors?
Inline has joined #lisp
jmercouris has quit [Ping timeout: 252 seconds]
<ghard> THough the universe might be finite, the number of them might not be *ducks*.
<phoe> today I learned that #0AT is valid Lisp
<ghard> Depends of the reader macro?
jmercouris has joined #lisp
<phoe> nope, it's tested in ANSI-TEST.
rgherdt has quit [Quit: Leaving]
<ghard> wow
<phoe> #0ARIGATO, here I come
<pjb> phoe: #0A(even this is valid)
<phoe> pjb: yes
<ghard> Evaluates to itself it seems yeah
<phoe> it's a zero dimensional array
<ghard> No it's a simple array?
<phoe> that stores exactly one object
<ghard> Yeah just checked with the inspector
<pjb> (aref #0AT) #| --> t |#
<pjb> (aref #0A 3) #| --> 3 |#
<ghard> With element type of T huh
<pjb> all lisp objects are of type T!
<phoe> ghard: (make-array '() :element-type '(unsigned-byte 8))
<pjb> (values (aref #(a b c d) 3) (aref #0A 3)) #| --> d ; 3 |# ;-)
grewal_ has quit [Ping timeout: 250 seconds]
amerlyq has joined #lisp
grewal_ has joined #lisp
<ghard> Unhhh
<ghard> That's... interesting.
<_death> in #0A 3 the space is whitespace
<pjb> (aref #2A ( (1 2) (3 4) (5 6) ) 0 0) #| --> 1 |#
cosimone has joined #lisp
<ghard> Yeah #0A alone is an EOF condition in reader
<ghard> At least with SBCL it is
<phoe> it is an EOF condition, yes, since #0A expects to read a Lisp object
<pjb> Of course, since #0A must read a lisp object.
<ghard> I really need to read some more on that (pun intender)
earl-ducaine_ has joined #lisp
* ghard wields cltl2
<pjb> It's like #P which reads a string. (values #P #.(format nil "~A/~A" 'dir 'file.type)) #| --> #P"dir/file.type" |#
<pjb> Or #' which reads a symbol, etc.
grewal has quit [Ping timeout: 246 seconds]
zaquest has quit [Quit: Leaving]
rotucer has quit [Ping timeout: 265 seconds]
<_death> what's surprising is that #(1 2 3) and #1A(1 2 3) are not equivalent
grewal has joined #lisp
<phoe> _death: why?
<_death> backquote.. compare `#(a ,(read) c) and `#1A(a ,(read) c)
AnimalCl` has quit [Ping timeout: 250 seconds]
<phoe> oh right, #( works with backquote
<phoe> a tricky question, because #(1 2 3) and #1A(1 2 3) *are* equivalent
<phoe> it's versions with backquote that don't work the same
<_death> their evaluation is
zmv` is now known as zmv
zmv has quit [Changing host]
zmv has joined #lisp
<phoe> they evaluate to equalp objects, correct
<phoe> but #A doesn't respect backquote
longshi has joined #lisp
<Bike> seems like it wouldn't be too bad to define `#nAX = #.(make-array dims :initial-contents `X), though
<phoe> or wait, does it
<Bike> it doesn't
<Bike> backquote is only defined for ( and #(
<Bike> clhs `
<phoe> hah, correct
<phoe> CCL implements it for #A as well whereas SBCL signals an error
<phoe> fun
<Bike> i don't think there's anything saying it's not allowed to work for #a, tho
<phoe> right, it's undefined
<phoe> so CCL is free to define it
jprajzne has quit [Quit: Leaving.]
omarish has joined #lisp
omarish has quit [Quit: Textual IRC Client: www.textualapp.com]
bitmapper has quit [Remote host closed the connection]
jmercouris has quit [Ping timeout: 268 seconds]
epony has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
omarish has joined #lisp
clothespin has joined #lisp
omarish has quit [Client Quit]
Cymew has quit [Ping timeout: 268 seconds]
AnimalCl` has joined #lisp
longshi has quit [Quit: WeeChat 2.6]
random-nick has joined #lisp
rgherdt has joined #lisp
Davd33 has joined #lisp
<oni-on-ion> "Standards-compliant Lisp smaller than Common-Lisp" ? hmm.
Davd33 has quit [Remote host closed the connection]
<beach> Hmm what?
efm has joined #lisp
<Bike> what standard
<Bike> islisp??
<beach> Yes.
<oni-on-ion> it was shared on an article (about getting CL REPL in web browser, parenscript) and it looks a bit old now that i dig a bit deeper
<oni-on-ion> ohh, its not even CL.
h11 has quit [Remote host closed the connection]
<oni-on-ion> sorry, the page was mentioning CL and Standards in the same sentences on several pages.
<beach> ISLISP is a different standard.
<oni-on-ion> ohh - yeah. i did not know about this at all, first time hearing of it
<pfdietz> Ah yes, ISLisp. Wasn't there a story of subtle sabotage of that effort by some of the US CL people?
<phoe> Was it the story of European lispers versus the USA lispers?
<shka__> no
<phoe> Whoever is able to push their standard out first?
<shka__> you are refering to eulisp
<phoe> I remember something like that being mentioned some time ag---
<phoe> Yes, thank you. That's the one.
<shka__> which is imho quite a bit better idea then islisp
grabarz has quit [Read error: Connection reset by peer]
<shka__> islisp is obsolete
<shka__> and always was
grabarz has joined #lisp
brown121407 has quit [Read error: Connection reset by peer]
lottaquestions has joined #lisp
brown121408 has joined #lisp
lottaquestions_ has quit [Ping timeout: 240 seconds]
EvW has quit [Ping timeout: 246 seconds]
william1 has joined #lisp
<oni-on-ion> ahh =)
<oni-on-ion> (btw found the solution i was looking for: parenscript + https://github.com/skeeto/skewer-mode )
krid has quit [Ping timeout: 265 seconds]
smazga has joined #lisp
EvW has joined #lisp
jonatack has quit [Quit: jonatack]
EvW has quit [Ping timeout: 252 seconds]
Lycurgus has joined #lisp
ggole has quit [Quit: Leaving]
clothespin has quit [Ping timeout: 265 seconds]
william1 has quit [Quit: WeeChat 1.9.1]
dddddd has joined #lisp
william1 has joined #lisp
william1 has quit [Client Quit]
william1 has joined #lisp
jonatack has joined #lisp
bitmapper has joined #lisp
DGASAU has quit [Ping timeout: 268 seconds]
jack_rabbit has joined #lisp
DGASAU has joined #lisp
grabarz has quit [Quit: Textual IRC Client: www.textualapp.com]
AnimalCl` has quit [Ping timeout: 246 seconds]
rvirding has quit []
rvirding has joined #lisp
fowl has joined #lisp
rgherdt has quit [Ping timeout: 252 seconds]
krid has joined #lisp
madmonkey has quit [Remote host closed the connection]
vseloved has joined #lisp
X-Scale has quit [Ping timeout: 268 seconds]
vseloved has quit [Client Quit]
clothespin has joined #lisp
flamebeard has quit []
manualcrank has quit [Quit: WeeChat 1.9.1]
X-Scale` has joined #lisp
chewbranca has quit []
chewbranca has joined #lisp
tazjin has quit []
tazjin has joined #lisp
rgherdt has joined #lisp
manualcrank has joined #lisp
dyelar has joined #lisp
mathrick has quit [Ping timeout: 245 seconds]
<jackdaniel> the interesting point about islisp is that it got founding and drained people from eulisp, so instead of an interesting dialect finished we got a stripped down islisp
<jackdaniel> I think that Kent Pitman wrote a piece about it
<beach> Do you mean that Eulisp is a stripped down ISLisp?
<jackdaniel> no, islisp is a stripped down common lisp
<beach> Ah, I see.
<jackdaniel> and (afaik) eulisp was started by dissatisfied european lispers who were not invited to cl standarization process (and the rationale from us was that there was no ill will, but rather it would be too troublesome to cooparate across the ocean)
<beach> I don't follow the logic, but I believe you.
<jackdaniel> I'm afk now (will read the backlog later)
<jackdaniel> I mean: people who were working on eulisp got hired to work on islisp
<beach> I understand, but I don't follow the logic consequence that therefore ISLisp is a stripped-down Common Lisp.
<william1> Do people recommend Practical Common Lisp as an intro to Lisp?
<beach> william1: Yes, to people who already know how to program in some other language.
<william1> So I'm a rubyist by occupation
<william1> And know how to program I'd say
<william1> Thanks
<beach> Sure.
orivej has joined #lisp
<beach> william1: If you have questions, you can ask here.
<beach> And if the questions are truly trivial, you will be directed to #clschool instead.
<william1> Do you dabble in other languages beach?
<beach> Me? Not anymore.
<william1> Fair enough :)
hhdave has quit [Quit: hhdave]
<beach> william1: What made you decide to learn Common Lisp?
davepdotorg has quit [Remote host closed the connection]
scymtym has quit [Ping timeout: 245 seconds]
<Lycurgus> ruby
<jackdaniel> beach: that was a claim, not a consequence of previous statements. let me look for a link where Kent Pitman goes over islisp
<beach> jackdaniel: Ah, OK.
<beach> jackdaniel: I misunderstood the "so ....".
<jackdaniel> right
madmonkey has joined #lisp
EvW1 has joined #lisp
zmv` has joined #lisp
zmv has quit [Read error: Connection reset by peer]
markasoftware has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
dddddd has quit [Ping timeout: 240 seconds]
ljavorsk has quit [Ping timeout: 240 seconds]
Lycurgus has quit [Quit: https://meansofproduction.biz Exit Quassel.]
<jackdaniel> beach: I give up, I can't find the piece I was referring to where Pitman talks about IsLisp being basically a subset of CL, only some remarks about "cultural compatibility". If I find it accidently later I will link it
jfrancis has joined #lisp
<beach> I vaguely remember something like that.
<beach> Don't worry about it.
<jackdaniel> he was listing islisp operators and for each of them there were three or four cl counterparts
cosimone has quit [Quit: Quit.]
<jackdaniel> and there is this (cleanup issue for incompatible operators): http://clhs.lisp.se/Issues/iss198_w.htm
ljavorsk has joined #lisp
dddddd has joined #lisp
<Bike> well, i'm glad we got the lambda macro.
<Bike> and global symbol macros
<pjb> Otherwise we would all be (ql:quickload :lambda-macro)…
<Bike> the issue says it would be forbidden for an implementation to define the lambda macro
<Bike> not sure i quite follow that
<Bike> some package restriction i guess
<pjb> Bike: yes, but not lambda-macro:lambda
<Bike> wow look at all this bikeshedding about lambda
<pjb> (defpackage "MY-PGM" (:use "CL") (:shadowing-import-from "LAMBDA-MACRO" "LAMBDA")) …
<_death> pjb: but then you would need to qualify, #'(cl:lambda ...)
<pjb> Unless you redefine #' to substitute for you :-)
<Bike> i guess the "confusion about why the arguments are treated differently from the head" thing did kind of pan out
clothespin_ has joined #lisp
rgherdt has quit [Ping timeout: 246 seconds]
<_death> pjb: #' is just a shorthand for (function ...) so now you need to replace cl:function
t58 has joined #lisp
zmv` has quit [Remote host closed the connection]
malfort has joined #lisp
Guest75462 has quit [Changing host]
Guest75462 has joined #lisp
Guest75462 is now known as nitrix
<_death> and note that in clhs there are multiple entries for lambda/function... and there's a lot of code that depends on CL symbol identity for functionality, so it's a fool's errand
<_death> basically if you shadow-import CL-like names, you're not in Kansas anymore
rippa has joined #lisp
mathrick has joined #lisp
oni-on-ion has quit [Ping timeout: 268 seconds]
malfort has quit [Remote host closed the connection]
malfort has joined #lisp
EvW1 has quit [Ping timeout: 250 seconds]
cosimone has joined #lisp
jackdaniel has quit [Quit: jackdaniel]
t58 has quit [Quit: Leaving]
william1 has quit [Ping timeout: 240 seconds]
earl-ducaine_ has quit [Ping timeout: 252 seconds]
sauvin has quit [Read error: Connection reset by peer]
X-Scale` is now known as X-Scale
varjag has joined #lisp
dale_ has joined #lisp
dale_ is now known as dale
davepdotorg has joined #lisp
reggie__ has quit [Remote host closed the connection]
davepdotorg has quit [Ping timeout: 250 seconds]
Codaraxis has quit [Ping timeout: 265 seconds]
cosimone has quit [Quit: Quit.]
EvW has joined #lisp
shka_ has joined #lisp
malfort has quit [Ping timeout: 245 seconds]
william1 has joined #lisp
malfort has joined #lisp
bitmapper has quit [Ping timeout: 268 seconds]
loskutak has quit [Ping timeout: 246 seconds]
jackdaniel has joined #lisp
vlatkoB has quit [Remote host closed the connection]
earl-ducaine_ has joined #lisp
brown121408 has quit [Ping timeout: 245 seconds]
32NABOIMQ has joined #lisp
<pjb> _death: #' is not a shorthand. There's no shorthand in CL. #' is a dispatching reader macro. This is something that you can mutate.
<pjb> _death: CL is not Kansas. It's more like Wonderland.
<Bike> this doesn't change the point that cl:function can be used by itself
<jackdaniel> Land of Oz would be a better reference
<Bike> and cl:lambda has meanings in other places, like coerce and compile
32NABOIMQ has quit [Read error: Connection reset by peer]
brown121407 has joined #lisp
scymtym has joined #lisp
shifty has quit [Ping timeout: 250 seconds]
khisanth__ has quit [Ping timeout: 268 seconds]
william1 has quit [Ping timeout: 268 seconds]
cosimone has joined #lisp
ym has quit [Quit: Leaving]
ebrasca has quit [Remote host closed the connection]
<mfiano> You can't use #'(lambda ...) everywhere lambda is accepted.
* jackdaniel tries (#'(lambda () 42)) to no avail ,-)
<mfiano> Also :report in conditions and restarts
khisanth__ has joined #lisp
william1 has joined #lisp
william1 has quit [Client Quit]
<jasom> #' is a shorthand for (function ...) under standard syntax...
william1 has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
william1 has quit [Client Quit]
william1 has joined #lisp
william1 has quit [Client Quit]
william1 has joined #lisp
shka_ has quit [Ping timeout: 240 seconds]
EvW has quit [Ping timeout: 276 seconds]
cosimone has quit [Quit: Quit.]
ljavorsk_ has joined #lisp
ljavorsk has quit [Ping timeout: 265 seconds]
enrio has quit [Read error: Connection reset by peer]
<pfdietz> (CAR '#'FOO) ==> FUNCTION
oni-on-ion has joined #lisp
loskutak has joined #lisp
gravicappa has quit [Ping timeout: 246 seconds]
<aeth> you can see this in macros
<aeth> If you want a macro to handle #'foo in a special way, you're really looking for (function foo)
flazh has quit [Ping timeout: 240 seconds]
<aeth> then you can e.g. have that macro turn it into (foo ...)
<aeth> Strangely, that would mean that #'(lambda ...) would work and (lambda ...) would not, bringing us full circle
adolby has joined #lisp
EvW has joined #lisp
raghavgururajan has quit [Read error: Connection reset by peer]
montxero has quit [Remote host closed the connection]
william1 has quit [Ping timeout: 265 seconds]
akoana has joined #lisp
jeosol has quit [Remote host closed the connection]
flazh has joined #lisp
pfdietz has quit [Remote host closed the connection]
orivej has quit [Remote host closed the connection]
orivej has joined #lisp
pilne has joined #lisp
quazimodo has quit [Ping timeout: 276 seconds]
jack_rabbit has quit [Ping timeout: 245 seconds]
random-nick has quit [Ping timeout: 268 seconds]
akoana has left #lisp ["Leaving"]
amerlyq has quit [Quit: amerlyq]
jackdaniel has quit [Read error: Connection reset by peer]
rgherdt has joined #lisp
Bike has quit [Quit: Bike]
nitrix has quit [Read error: Connection reset by peer]
nitrix has joined #lisp
nitrix is now known as Guest40784
jack_rabbit has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 26.1)]
sjl has joined #lisp
Codaraxis has joined #lisp
orivej has quit [Ping timeout: 268 seconds]
ArthurStrong has joined #lisp
slyrus_ has joined #lisp
slyrus has quit [Ping timeout: 240 seconds]
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 268 seconds]
bitmapper has joined #lisp
rgherdt has quit [Ping timeout: 246 seconds]
Lycurgus has joined #lisp
ym has joined #lisp
Bike has joined #lisp
dale has quit [Quit: dale]
renzhi has joined #lisp
quazimodo has joined #lisp
clothespin__ has joined #lisp
clothespin has quit [Ping timeout: 245 seconds]
Codaraxis has quit [Read error: Connection reset by peer]
Codaraxis has joined #lisp
efm has quit [Remote host closed the connection]
efm has joined #lisp
smokeink has joined #lisp
smazga has quit [Quit: leaving]