cjb has quit [Read error: Connection reset by peer]
cjb has joined #lisp
karlosz has joined #lisp
rumbler31 has joined #lisp
<mfiano>
Hello all. Someone knowledgeable enough with the spec relating to simple-array's care to answer some questions. I'm digging myself a hole here. :)
dominic34 has joined #lisp
<kinope>
I think personal bias is a stronger reason for the popularity of some languages over others. Technical merits, or perceived subjective lack of, are just what one uses to convince themselves that what they feel is correct. We are all subject to this to some degree.
dominic34 has quit [Client Quit]
luckless has quit [Ping timeout: 240 seconds]
terpri_ has joined #lisp
dominic34 has joined #lisp
terpri has quit [Ping timeout: 260 seconds]
luckless has joined #lisp
<kinope>
For instance, younger developers age 10-25? are more interested in new and exiting developments, it plays into their stronger need at that age to be a part of something big and impactful. There is no excitement in technology that was born decades and decades ago.
ralt has quit [Quit: Connection closed for inactivity]
<kinope>
Combine that with a disregard for philosophy, history and it's not hard to see why things are the way they are.
tristero has quit [Ping timeout: 240 seconds]
<Blukunfando>
But if you force people to study philosophy and history, they’ll despise them even more.
theseb has quit [Ping timeout: 256 seconds]
mr_yogurt has quit [Ping timeout: 256 seconds]
satousan has joined #lisp
<kinope>
I agree forcing it on people is not a good solution.
<kinope>
The value of it needs to be seen, not given. That takes life experience; maturity, and time.
<kinope>
Just to be clear I'm not one that sees a problem with the way things are.
<kinope>
Add knowledge to the above prerequisites
<Bike>
mfiano: you should just ask your questions so someone knowledgeable can see them (possibly forty some minutes later) (hypothetically). assuming you haven't worked it out by now.
<MetaYan>
kinope: Well said about the value.
<mfiano>
Yes, sorry, it turns out I rubber ducked my way out of it while typing out my questions.
space_otter has joined #lisp
<Bike>
ah, good
X-Scale` has joined #lisp
X-Scale has quit [Ping timeout: 246 seconds]
X-Scale` is now known as X-Scale
mr_yogurt has joined #lisp
MindForeverVoyag has quit [Ping timeout: 256 seconds]
MindForeverVoyag has joined #lisp
<aeth>
kinope: But SBCL 2 is NEW™, now with more parentheses!
jesse1010 has quit [Ping timeout: 265 seconds]
<aeth>
Oh, eww, nevermind, SBCL 2 is from (one of the last days of) 2019 so it's already old
karlosz has quit [Remote host closed the connection]
terpri_ is now known as terpri
gaqwas has quit [Ping timeout: 256 seconds]
gaqwas has joined #lisp
karlosz has joined #lisp
caltelt has quit [Ping timeout: 264 seconds]
EvW1 has quit [Ping timeout: 244 seconds]
mindCrime has quit [Ping timeout: 260 seconds]
Alfr_ has joined #lisp
Alfr has quit [Ping timeout: 244 seconds]
Bike has quit [Quit: Lost terminal]
<drmeister>
Hi - are there any common lisp pretty printers for source code outside of the one in slime?
<drmeister>
Looking for common lisp pretty printer gets you the usual suspects.
<drmeister>
We need to indent code in jupyter notebooks - so we need a source formatter implemented in Common Lisp.
<mfiano>
drmeister: Only thing I'm aware of is the ident module of the Lem editor, but I have no idea if it will meet your needs.
karlosz has quit [Remote host closed the connection]
<beach>
Good morning everyone!
elxbarbosa has joined #lisp
Lord_of_Life has quit [Ping timeout: 260 seconds]
Lord_of_Life has joined #lisp
orivej has joined #lisp
orivej_ has quit [Ping timeout: 256 seconds]
wsinatra has quit [Quit: WeeChat 2.9]
<beach>
stylewarning: I think your point about education is the more significant one, but some of us are working to fix the tooling problem. We have several components, but some crucial ones are missing and some are incomplete. And we don't have a strategy for integrating everything yet. If you want to know more, let me know.
<beach>
stylewarning: My motivation for working on the tooling problem is not to attract more people of the kind that would be attracted by something like Cursive, though. My motivation is that our tooling is not great for experienced developers.
shidima has joined #lisp
seok has joined #lisp
<drmeister>
mfiano: Thank you
rumbler31 has quit [Ping timeout: 264 seconds]
<beach>
drmeister: Do you really mean "pretty printer"?
<beach>
What SLIME does is just indentation. It does not introduce line breaks, the way a pretty printer would.
<drmeister>
Ah
<drmeister>
Yeah - indentation.
lucasb has quit [Quit: Connection closed for inactivity]
<beach>
This is a problem I have been struggling with for Second Climacs.
<drmeister>
yitzi in #clasp has developed one.
<beach>
It is one of those things that are straightforward but messy.
<beach>
Oh?
<drmeister>
I was looking to see if there were any others that were more developed.
shifty has joined #lisp
<beach>
I see.
karlosz has joined #lisp
<drmeister>
His might be better than anything else out there.
<beach>
So what are the shortcomings?
torbo has quit [Remote host closed the connection]
akoana has quit [Quit: leaving]
oxum has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
cosimone_ has quit [Quit: Quit.]
cosimone has joined #lisp
satousan has quit [Quit: WeeChat 2.3]
femi has quit [Ping timeout: 260 seconds]
narimiran has joined #lisp
femi has joined #lisp
ccl-logbot has quit [Quit: Client terminated by server]
ccl-logbot has joined #lisp
gravicappa has joined #lisp
bocaneri has joined #lisp
vutral has joined #lisp
dominic34 has quit [Ping timeout: 260 seconds]
enrio has joined #lisp
space_otter has quit [Remote host closed the connection]
elxbarbosa has quit [Ping timeout: 272 seconds]
<lukego>
Vecto is cool :)
zmyrgel has joined #lisp
zigpaw has quit [Ping timeout: 246 seconds]
bsd4me has quit [Remote host closed the connection]
Oladon1 has joined #lisp
Oladon has quit [Ping timeout: 256 seconds]
zigpaw has joined #lisp
_Posterdati_ has joined #lisp
Posterdati has quit [Ping timeout: 264 seconds]
treflip has joined #lisp
dddddd has quit [Ping timeout: 240 seconds]
dddddd has joined #lisp
frgo has joined #lisp
frgo_ has quit [Ping timeout: 256 seconds]
remexre has quit [Ping timeout: 265 seconds]
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
remexre has joined #lisp
Posterdati has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
_Posterdati_ has quit [Ping timeout: 246 seconds]
rgherdt has joined #lisp
enrioog has joined #lisp
enrio has quit [Ping timeout: 256 seconds]
lookasas has joined #lisp
cosimone has quit [Quit: Quit.]
lookasas has quit [Client Quit]
gravicappa has quit [Ping timeout: 260 seconds]
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
nirved has quit [Remote host closed the connection]
nirved has joined #lisp
Krystof has joined #lisp
mankaev has quit [Ping timeout: 240 seconds]
mankaev has joined #lisp
liberliver1 has joined #lisp
rogersm has joined #lisp
liberliver1 is now known as liberliver
vaporatorius__ has joined #lisp
zaquest has quit [Quit: Leaving]
vaporatorius has quit [Ping timeout: 265 seconds]
zaquest has joined #lisp
ljavorsk has joined #lisp
SebastianM has joined #lisp
<SebastianM>
Hey guys is there a way see the list of all symbols available in eg sbcl from within the repl?
<phoe>
SebastianM: yes, but why would you want to do that?
<phoe>
that's a ton of symbols
<White_Flame>
you can LIST-ALL-PACKAGES, then DO-ALL-SYMBOLS within each package
<beach>
White_Flame: ?
<beach>
Do all symbols go through every package.
<White_Flame>
yes, nevermind :)
<phoe>
White_Flame: you mean DO-SYMBOLS within each package
<phoe>
but what beach said
<SebastianM>
for handy reference inthe repl
<phoe>
that's going to spam a pretty big list
<beach>
SebastianM: It will be pretty useless.
<beach>
There will be thousands of them.
<White_Flame>
mine has 39,229
<phoe>
(length (let (x) (do-all-symbols (s) (push s x)) x)) ;=> 35181 on my Lisp
<beach>
Yeah, not surprised.
<SebastianM>
thousands? i never thought about it...
<phoe>
that's not a handy reference by my standards
<SebastianM>
omg
<phoe>
this includes all the internal symbols too
<beach>
phoe: There might be duplicates.
<phoe>
that too
<beach>
So you need to use pushnew.
<White_Flame>
hitting Tab twice in slime can also bring up whatever it thinks is visible/possible
<phoe>
(length (let (x) (do-all-symbols (s) (push s x)) (remove-duplicates x))) ;=> 33179
<White_Flame>
at the repl
<beach>
phoe: Much better.
<phoe>
but not much smaller
<White_Flame>
oh, just once
<beach>
SebastianM: What did you expect?
<beach>
SebastianM: Every time you type a variable, like x in your code, a new symbol is created.
<SebastianM>
er something like with rebol's ?
<beach>
... or at least the first time it is encountered.
<beach>
SebastianM: You can't assume that people here know Rebol.
<beach>
SebastianM: You need to explain what it is that you would like to see.
<SebastianM>
aha, well it seems like i'm interest in list of functions
<beach>
That's very different.
<SebastianM>
sorry for missunderstanding
<beach>
Then, you do the same thing, but you check whether each symbol has an FDEFINITION. And don't forget to check `(SETF ,symbol) as well.
<beach>
That list is going to be huge as well though.
<phoe>
(let (x) (do-external-symbols (s :cl) (when (fboundp s) (pushnew s x))) x) ;=> list of length 752
<phoe>
without SETF functions
<beach>
That's just the CL package.
<beach>
What if you do DO-ALL-SYMBOLS?
<phoe>
yes, I assume SebastianM knows which package to grab the list of all functions from
<beach>
I wouldn't count on that.
<phoe>
otherwise it's going to be just as unmanageable as the list of all symbols, even if somewhat smaller
<phoe>
(length (let (x) (do-all-symbols (s :cl) (when (fboundp s) (pushnew s x))) x)) ;=> 13557
<phoe>
;; the :cl there is redundant
quazimodo has quit [Remote host closed the connection]
<beach>
Yeah, that's more like it. I get a few more, because I have SICL loaded. :)
<SebastianM>
hmm a lot of stuff to digest
<beach>
SebastianM: You wouldn't want to try to digest such a list.
<beach>
It contains all the functions of the SBCL compiler, the code generator, etc.
<SebastianM>
to digest be me
<SebastianM>
thanks for the code
SebastianM has quit [Quit: leaving]
<beach>
Wow, strange.
enrioog has quit [Ping timeout: 265 seconds]
<flip214>
phoe: mfiano: Alfr_: thanks for the additional discussion... I'd vote for keeping the documentation and fixing ITERATE to _not_ overload COUNT.
mokulus has quit [Quit: WeeChat 2.9]
<phoe>
flip214: +1
<flip214>
Or is it possible to just switch to dwim.hu.iterate? Ain't that a clean(er) rewrite with the same features?
Codaraxis_ has joined #lisp
<Alfr_>
I looked at it once and iirc it draws in quite some other hu.dwim bits.
<flip214>
well, perhaps we need some annotation for libraries which symbols could be removed on tree-shaking, ie. when an image is built that has no need for further compilation (so no macros etc.)
<flip214>
then additional stuff shouldn't matter much
Codaraxis has quit [Ping timeout: 256 seconds]
gaqwas has quit [Remote host closed the connection]
enrio has joined #lisp
wxie has joined #lisp
Fare has quit [Ping timeout: 260 seconds]
ebzzry has joined #lisp
<markasoftware>
In `(,(form-with-side-effects) ,(more-side-effects)) are the forms guaranteed to execute in order?
<beach>
That ought to be the case, yes.
MindForeverVoyag has quit [Ping timeout: 256 seconds]
<beach>
That one should reduce to (list (form-with-side-effects) (more-side-effects)) or something similar.
Oladon1 has quit [Quit: Leaving.]
ebzzry has quit [Client Quit]
<markasoftware>
right, it's supposed to be equivalent to a call to list. Thanks!
<beach>
Sure.
MindForeverVoyag has joined #lisp
orivej has joined #lisp
nirved has quit [Ping timeout: 240 seconds]
nirved has joined #lisp
jonatack has quit [Quit: jonatack]
rogersm_ has joined #lisp
gaqwas has joined #lisp
gaqwas has joined #lisp
gaqwas has quit [Changing host]
rogersm has quit [Ping timeout: 244 seconds]
pve has joined #lisp
cjb has quit [Quit: ERC (IRC client for Emacs 26.3)]
enrio has quit [Ping timeout: 240 seconds]
jonatack has joined #lisp
bhartrihari has joined #lisp
treflip has quit [Ping timeout: 256 seconds]
treflip has joined #lisp
rogersm_ has quit [Read error: Connection reset by peer]
rogersm has joined #lisp
rogersm has quit [Read error: Connection reset by peer]
rogersm has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
diamondbond has joined #lisp
vutral has quit [Quit: Connection closed for inactivity]
zmyrgel has quit [Read error: Connection reset by peer]
bhartrihari has left #lisp [#lisp]
bhartrihari has joined #lisp
diamondbond has quit [Quit: Leaving]
treflip has quit [Ping timeout: 246 seconds]
seok has quit [Ping timeout: 245 seconds]
treflip has joined #lisp
refpga has joined #lisp
v88m has quit [Ping timeout: 240 seconds]
wxie has quit [Ping timeout: 240 seconds]
<lukego>
Xach: Maybe I ask you a Vecto question? I'd like to use it for CAD drawing and just making sure I'm not barking up the wrong tree. I want to plot using non-pixel units, e.g. micro-meters, and it seems like I can just use (SCALE X Y) to switch units e.g. to plot in micrometers and have value values translated to (say) one pixel per 0.1mm. Is that all fine and good? Or is that a really bad idea for some reason?
diamondbond has joined #lisp
Necktwi_ has quit [Read error: Connection reset by peer]
rogersm has quit [Quit: Leaving...]
<lukego>
(Somehow it took me a while to shake my initial misapprehension that pixel coordinates would have to be integers. Guess I'm just not used to fractional pixels. But didn't make sense when thinking about how rasterization works and looking closer at the examples to notice the trig.)
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
refpga has quit [Read error: Connection reset by peer]
bhartrihari has joined #lisp
refpga has joined #lisp
_jrjsmrtn has quit [Quit: Bye !]
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
refpga has quit [Read error: Connection reset by peer]
__jrjsmrtn__ has joined #lisp
ayuce has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
<jmercouris>
is there a way DURING runtime to make class A inherit from class B?
<jmercouris>
without having a forward declaration as explained yesterday by phoe
<lukego>
Thinking about how to extend SLIME so that Lisp can return richer presentations e.g. Emacs text properties in strings and images with imagemaps defining actions. Maybe Lisp would not send RESULT = string but rather RESULT = string | (text-properties ALIST RESULT) | (png-image DATA IMAGEMAP). So you can return a mix of strings and images, with arbitrarily nested text properties over both
refpga has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
<jmercouris>
(defclass fish () ()) (defclass salmon () ())
<jmercouris>
now how can I make (make-instance 'fish) make a salmon instead?
<aeth>
You can extend this past integers by handling before and after a / or before and after a . as special cases for rationals/floats. Full float syntax (e.g. 42d-32, 23e22, 4321f3, etc.) makes it a lot harder, though.
caltelt has joined #lisp
<aeth>
Rationals would just divide one over the other, floats would divide the part after the . by one less than the length, e.g. (/ 123 (float 10f2)) gets you 0.123 as a single float.
<aeth>
s/one less than the length/10 to the power of one less than the length/
<mfiano>
Integers can have "." in them too
<aeth>
"12."?
<phoe>
yes
<aeth>
That's a special case you can handle. Or you can choose not to, since you're using your own reader, not READ
<aeth>
It's an interesting case of incompatibility between CL's reader and Scheme's, though, since in Scheme (although idk if it's standard, I'll have to check) that becomes "12.0". I really need to collect a list of incompatibilities somewhere... I've already forgotten quite a few.
<aeth>
This can become an issue if e.g. you wanted to specify a portable .sxp file format
<mfiano>
"N." is a useful way to get out of non-10 read base
<aeth>
I always use the "f0" suffix for floats because it's fairly common to have *read-default-float-format* as DOUBLE-FLOAT and I even do that sometimes when I'm using CL as a calculator, and it absolutely breaks everything.
<aeth>
But I don't think I'd write defensively for a different *read-base* because that's a whole other level of things breaking.