rgherdt has quit [Remote host closed the connection]
GreaseMonkey has quit [Remote host closed the connection]
rgherdt has joined #commonlisp
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
Algernon69 has joined #commonlisp
Algernon69 has quit [Client Quit]
artchad has joined #commonlisp
_cymew_ has joined #commonlisp
karlosz has quit [Quit: karlosz]
masinter has quit [Ping timeout: 252 seconds]
dec0d3r has quit [Quit: Leaving]
dra_ has joined #commonlisp
X-Scale has joined #commonlisp
shka has joined #commonlisp
artchad has quit [Quit: ERC 5.4 (IRC client for GNU Emacs 28.1)]
artchad has joined #commonlisp
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
irc_user has quit [Quit: Connection closed for inactivity]
knusbaum has quit [Ping timeout: 252 seconds]
knusbaum has joined #commonlisp
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
attila_lendvai has joined #commonlisp
thomaslewis has joined #commonlisp
Psybur has joined #commonlisp
chimp_ has quit [Ping timeout: 268 seconds]
thomaslewis has left #commonlisp [#commonlisp]
frgo has quit [Ping timeout: 268 seconds]
flip214_ is now known as flip214
flip214 has quit [Changing host]
flip214 has joined #commonlisp
<loke[m]>
Hello
<hayley>
Hello loke.
ebrasca has joined #commonlisp
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
Everything has joined #commonlisp
ebrasca has quit [Remote host closed the connection]
attila_lendvai has quit [Read error: Connection reset by peer]
shka has quit [Quit: Konversation terminated!]
dra_ has quit [Quit: Leaving]
cage has joined #commonlisp
shka has joined #commonlisp
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
random-nick has joined #commonlisp
thuna` has joined #commonlisp
Cymew has quit [Ping timeout: 268 seconds]
Everything has quit [Quit: leaving]
jeosol has quit [Quit: Client closed]
aartaka has joined #commonlisp
pve has joined #commonlisp
Cymew has joined #commonlisp
nij- has joined #commonlisp
waleee has joined #commonlisp
Cymew has quit [Ping timeout: 252 seconds]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
gxt has quit [Remote host closed the connection]
anticomputer has quit [Remote host closed the connection]
gxt has joined #commonlisp
anticomputer has joined #commonlisp
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
Posterdati has quit [Read error: Connection reset by peer]
waleee has quit [Ping timeout: 268 seconds]
azimut has joined #commonlisp
Posterdati has joined #commonlisp
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
JoshYoshi has joined #commonlisp
JoshYoshi has quit [Remote host closed the connection]
Josh_2 has quit [Ping timeout: 268 seconds]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
<pve>
Hi, intrigued by White_Flame's "dot" macro suggestion, I tried implementing a version of it. I think it turned out alright, although I'm still unsure if it could be used to create truly readable code. Maybe in certain situations..
<beach>
Using operations is a much better idea that names of slots. But of course, I need to be careful with what I say, or else it will be branded as "oop nonsense".
<pve>
There's one thing I'm wondering: should the default placement of the "current input value" to the chain of operations be first, or last. I.e. (+ _ 1 2 3) or (+ 1 2 3 _)
<pve>
it's hard for me to say which is better
<pve>
many functions have keyword or rest parameters, which could mean that "first" is a better default
<hayley>
I think "arrow" libraries have multiple macros, one macro for either case, and one which allows using a (rather unhygenic) name like <> to specify where the value should go.
<pve>
hayley: yeah, I used "_" here
attila_lendvai has joined #commonlisp
notzmv has quit [Ping timeout: 268 seconds]
<hayley>
As an aside I'm not a big fan of access-esque accessors, since you can write accidentally quadratic code when provided with lists rather than vectors, or perhaps alists rather than hash tables here.
<pve>
good point
nij- has quit [Ping timeout: 244 seconds]
eddof13 has joined #commonlisp
<hayley>
Anyways; underscore-predicate might be better written with AND rather than WHEN, and I like to use a pattern matching library for parsing list structure.
<pve>
yeah, AND is better
<pve>
thanks
<pve>
is optima the pattern matcher to use?
<dlowe>
there's an updated one
<pve>
ah, trivia
<dlowe>
yeah, that one.
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
<hayley>
Right, trivia is the preferred one, I believe.
<pjb>
I see you've had some fun with it too. Nice.
<pve>
just a bit, yeah
<White_Flame>
really I consider such path traversal operations to be most appopriate for regulard datastructures, not general objects
<hayley>
beach: A fun word to use is "anti-modular". (Reading logs - what is a "class" if not an "OOP class"?)
<beach>
hayley: Honestly, I did not read what cedb had to say after those initial "nonsense" comments.
<hayley>
Probably for the better.
<beach>
If I felt like arguing, I might have spent more time, but those initial comments gave me the distinct impression that it would have been a waste of time, and that the exchange would have been painful.
<beach>
It is scary to think that there are people with that attitude working as professionals in the software industry, creating applications for us all.
<hayley>
Nowadays I get told off for arguing about things that I should "just let people enjoy"; i.e. they're doing whatever they're doing for kicks, but often they have "reasons" they argue for themselves, and those reasons conveniently disappear whenever one argues against them.
<hayley>
Off topic for #commonlisp, but yes, I would not recommend arguing. (Not that you need my advice.)
attila_lendvai has quit [Read error: Connection reset by peer]
<beach>
Yes, I see what you mean about those "reasons". I just don't handle such exchanges very well anymore.
synaptic has joined #commonlisp
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
synaptic has quit [Client Quit]
<hayley>
It's happened twice when I try writing; though maybe I shouldn't be surprised, as I published the second quite close to two years after the first. I try not to think about it too much; if they aren't working as well, in theory I can out-perform them.
_cymew_ has quit [Ping timeout: 244 seconds]
<hayley>
That theory is still optimistic, to say the last. It doesn't help me feel better about response I saw, even though there's little reason for me to. And there is the sense that changing someone's mind is hard; I am necessarily at a "disadvantage" in convincing them of anything.
<beach>
I understand from various research I have learned about lately, that, especially in the USA, there is now a tendency to consider every opinion as "valid" or "true", as documented in the book "The Death of Expertise". It is entirely possible that this movement has spread to other countries. Or, it is possible that cedb is from the US and part of that movement.
<beach>
And I just realized that such a movement could have some very negative effects on the software industry.
<Bike>
i don't think you need to read much into it. cedb presumably didn't think every opinion is true, given that they were denigrating OOP as nonsense or whatever. they were just uninterested in other ideas is all.
<beach>
That's entirely possible. I just couldn't help making the association.
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
<hayley>
I can't say anything on expertise; but I have observed a general sort of response that "experimentation" of some sort is good, even when the results are easily predicted. I'd rather "experiment" with situations where results are much harder to predict.
<hayley>
Ironically, I've also been accused of only being able to think about how programming works for large companies, when I've only had one job related to programming in my life.
<beach>
Heh.
patrice has joined #commonlisp
<hayley>
I would not frame it as anti-intellectually (is that a word?) as a name like "the death of expertise" would suggest, but their argument did end up using "professional programming" as a sort of "other" that I was somehow a part of, so my arguments should not apply to them.
razetime has quit [Ping timeout: 252 seconds]
<beach>
A word that is frequently used in these situations is "elitist", and I have frequently been accused of being that in the past. What is often meant is that I am accused of holding this shocking view that programmers should actually know something about the accumulated wisdom of the field.
<hayley>
Some people said they were upset because they disliked my writing so much, yet they learnt about some implementation techniques (like inline caching) from the references.
<pjb>
Yeah, lisp is not elitist enough, we should make several circles of ever more elit lispers.
razetime has joined #commonlisp
<hayley>
pjb: On the contrary, when I first joined #lisp on Freenode I was pleasantly surprised that I could meet people like beach and other implementers; a group which I thought I'd be too lame to meet. Granted, I probably was.
attila_lendvai has joined #commonlisp
<pjb>
hayley: obviously, I'm just joking.
<pjb>
it's silly to try to subdivise a group of half a dozen.
<hayley>
As I hoped, but I was--dammit.
eddof13 has joined #commonlisp
<beach>
So to get closer to the topic, the other day, someone suggested a tool for making it easier to submit a WSCL issue. I think that would be a good idea.
<yitzi>
And maybe include the ability to automatically generate current implementation practices section.
<beach>
Interesting idea.
<yitzi>
I had a hackish script that I used for some of my updates to WSCL.
livoreno has joined #commonlisp
<Bike>
what was scymtym working on exactly? i mean, i know he has a lot on his plate, but i thought some kind of web rendering of WSCL or the standard was involved
<beach>
Yes, one thing he did was a rendering of the standard where hovering over some relevant section would display an issue. It could be an X3J13 issue or a WSCL issue.
masinter has joined #commonlisp
sjl has joined #commonlisp
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
tyson2 has joined #commonlisp
attila_lendvai has quit [Ping timeout: 252 seconds]
eddof13 has joined #commonlisp
Intdtti has quit [K-Lined]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
jmes has joined #commonlisp
ttree has joined #commonlisp
notzmv has joined #commonlisp
thuna` has quit [Remote host closed the connection]
patrice has quit [Quit: Leaving]
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
Oladon has joined #commonlisp
<jmes>
Let's say I write (loop for x upto 100 do (sleep 10)) in a REPL, am I able to inspect the value of x as that's running? If so, how would I do that?
<jmes>
My issue is the loop blocks the REPL so I can't just ask it what x is. I'm guessing there's an obvious answer, but I just don't know it.
<White_Flame>
you can interrupt it and inspect it in the debugger, you can (setf *x* x) to be able to read its updated value assuming you're threading
<White_Flame>
or `do (print x)` inside the loop body
<jmes>
White_Flame: okay so if I make *x* global and I spawn the loop in a thread, I should be able to read *x* without interupting. Let me give it a shot
<White_Flame>
I would reduce it from a 1000-second total process though
<jmes>
yeah, that was just for example :P Thanks :)
<jmes>
I don't know what I was thinking before. It's obvious that I can only get at stuff in non-global scopes via the debugger so this doesn't help much. But at least I know the obvious now. Thanks again White_Flame
<White_Flame>
np
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
<Shinmera>
jmes: fwiw you can share local things with a thread via closures. Eg: (let ((x 0)) (bt:make-thread (lambda () (dotimes (i 10) (incf x) (sleep 1)))) (dotimes (i 20) (print x) (sleep 1)))
<jmes>
Shinmera: that's cool! I assumed threads didn't close over variables for whatever reason.
karlosz has joined #commonlisp
<White_Flame>
it's the lambda itself that closes over it, regardless of where it's executed
<White_Flame>
you could give that same lambda to multiple threads, and have them all unsafely bang on that same X
razetime has quit [Ping timeout: 252 seconds]
karlosz_ has joined #commonlisp
mrcom has quit [Ping timeout: 268 seconds]
mrcom has joined #commonlisp
<jmes>
Gotcha, makes sense
mrcom has quit [Read error: Connection reset by peer]
karlosz has quit [Ping timeout: 268 seconds]
karlosz_ is now known as karlosz
mrcom has joined #commonlisp
karlosz has quit [Ping timeout: 268 seconds]
igemnace has quit [Remote host closed the connection]
karlosz has joined #commonlisp
Psybur has quit [Ping timeout: 268 seconds]
eddof13 has joined #commonlisp
Devon has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
morganw has joined #commonlisp
Oladon has quit [Read error: Connection reset by peer]
Lord_of_Life_ has joined #commonlisp
<yitzi>
I
Oladon has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 268 seconds]
Lord_of_Life_ is now known as Lord_of_Life
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
Dynom has joined #commonlisp
<pve>
White_Flame: Could you please elaborate a bit on what you meant earlier by "regular data structures"? Did you mean situations like (dot binary-tree left right left value) or (dot nested-arrays 0 1 2 0) where you know the type(s) of what you're accessing?
<pve>
i mean in the context of path traversal
<White_Flame>
right
<White_Flame>
or if you have json, xml, etc
<White_Flame>
where there's a regularity and thus a notion of "path" to it, not just a random hodgepodge of accessors, functions, and arbitrarily interconnected heap objects
tyson2 has quit [Remote host closed the connection]
cage has quit [Quit: rcirc on GNU Emacs 27.1]
Oladon has quit [Quit: Leaving.]
nij- has joined #commonlisp
morganw has quit [Remote host closed the connection]
ultrasunlit has joined #commonlisp
jeosol has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
tyson2 has joined #commonlisp
<pve>
White_Flame: ok, thanks, I understand now.
<pve>
it makes sense
<ultrasunlit>
...so am I the only one who tried to CADDDDR when becoming impatient?
cosimone has quit [Read error: Connection reset by peer]
gxt has quit [Read error: Connection reset by peer]
gxt has joined #commonlisp
morganw has joined #commonlisp
cosimone has joined #commonlisp
waleee has joined #commonlisp
<pve>
I suppose it would be difficult to have one single general "dot" construct offer convenient path traversal for every case out of the box. Instead, I guess one could define, say, "tree-dot" on top of dot that simply translates the somewhat "nicer" path (tree-dot tree left right value) into the actual accessors (dot tree tree-left tree-right tree-value).
<pve>
although writing tree-dot directly without any general path-traversal construct is probably just as easy
tyson2 has quit [Remote host closed the connection]
<pve>
just thinking out loud here :)
aartaka has quit [Ping timeout: 252 seconds]
<White_Flame>
right, that's because the core function dispatch in CL isn't owned by any singular object to 'dot' from
<White_Flame>
as it is constrained in so many other languages
<White_Flame>
convenient, but weaker
eddof13 has joined #commonlisp
Dynom has quit [Quit: WeeChat 3.6]
shka has quit [Ping timeout: 268 seconds]
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
<aeth>
do you have to solve the general problem, though?
<aeth>
or just always dot on the first...
<aeth>
doesn't matter if it's a function or a method, either
<aeth>
I suppose you could do an (nthdot 4 ...) or whatever, too
aartaka has joined #commonlisp
eddof13 has joined #commonlisp
aartaka has quit [Ping timeout: 268 seconds]
aartaka has joined #commonlisp
pve has quit [Ping timeout: 268 seconds]
aartaka has quit [Ping timeout: 244 seconds]
tyson2 has joined #commonlisp
mariari has quit [Ping timeout: 268 seconds]
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
mariari has joined #commonlisp
<jcowan>
my last day at my job was today
<jcowan>
(no worries, I'm interviewing for several more)
<jcowan>
it was exhilarating to point out that for the last four days, every time I said "What should I do now?" the answer was "nothing", and this was because it was assumed there was no point in assigning me any job since I obviously couldn't finish it.
<jcowan>
Finally I had enough and said, "Who says I can't finish it?"
<jcowan>
However, the "process experts" decided I should just do nothing today, though I had to press them to actually _make a decision_ rather than saying "If you want, you don't have to do anything."
<jcowan>
I had to point out that on that basis they could sue me for fraudulently claiming today as a working day when I hadn't worked.
<jcowan>
So in terms of productive output, I did nothing this week, but in terms of stress, it was definitely a workweek, so I don't feel bad about having been paid.
* jcowan
further sayeth naught
triffid has joined #commonlisp
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
triffid has quit [Ping timeout: 268 seconds]
triffid has joined #commonlisp
livoreno has quit [Ping timeout: 268 seconds]
avocadoist has quit [Remote host closed the connection]
synaptic has joined #commonlisp
Psybur has joined #commonlisp
synaptic has quit [Quit: Client closed]
Everything has quit [Quit: leaving]
szkl has quit [Quit: Connection closed for inactivity]
Everything has joined #commonlisp
gxt has quit [Remote host closed the connection]
anticomputer has quit [Remote host closed the connection]