<fiddlerwoaroof>
_death: I've had a similar hypothesis when dealing with huge Java codebases
<fiddlerwoaroof>
It often seemed to me that the ability of something like IntelliJ to autocomplete and suggest arbitrary members of arbitrary classes in your project encouraged people to just use random methods and classes in the project rather than think about modularity and interfaces
<fiddlerwoaroof>
You can overcome this with a lot of discipline, but it can be really tempting to just drill down through levels of dots to get the functionality you need.
<fiddlerwoaroof>
I don't think this is a sufficient reason to reject good development environments, but I think it's a downside of those environments people often don't think about
<beach>
So good development environments should be reserved for programmers with a brain.
<beach>
Maybe industry should start thinking about the qualifications of the programmers that it hires.
<dre>
heh
<aeth>
can't do dot-based auto-complete easily in CL, anyway. (action foo ...) means you typed action already, unlike foo.action, which can be done when you start with a foo
<aeth>
I guess you can do ( foo
<aeth>
and the editor can start autocompleting ACTION like it can autocomplete )
<aeth>
( foo is bad style, so it wouldn't hurt to autocomplete on foo there.
notzmv has joined #commonlisp
<fiddlerwoaroof>
Apropos has a similar downside in CL
<fiddlerwoaroof>
Especially because the EXTERNAL-ONLY argument defaults to nil
<fiddlerwoaroof>
(I guess that's a sbcl extension, but I think the standard specifies searching all the symbols, rather than only external symbols)
<beach>
aeth: That might be a good idea actually.
<fiddlerwoaroof>
I'd like to figure out an autocomplete protocol for things like SLIME
<fiddlerwoaroof>
For example, if I do (MAKE-INSTANCE '<TAB>, there's enough information to know that I'm probably looking for a class name
<fiddlerwoaroof>
But the typical autocomplete shows a lot of irrelevant symbols
<verisimilitude>
Just travel back to the last millennium and use a Lisp Machine.
<verisimilitude>
Joking aside, I support the idea of properly qualifying programmers; one method to get the idiots out would be corporal punishment for programming flaws.
<beach>
fiddlerwoaroof: Indeed. The main problem with autocompletion is to limit the number of choices to the relevant ones.
<verisimilitude>
That would require manual tagging of someone, and naive autocompletion gets most of the way there anyway, is part of the problem.
<fiddlerwoaroof>
For a lot of things, you could have a method with an eql specializer on the CAR of the form
<verisimilitude>
Oh, so an autocompletion method that returns, say, a list?
<fiddlerwoaroof>
Yeah
<fiddlerwoaroof>
(and, to be precise, a generic function)
<verisimilitude>
Still, someone would need to do some manual tagging for this at the beginning.
<fiddlerwoaroof>
Yeah, although things like "does the symbol name a class" can be determined somewhat automatically
<verisimilitude>
Right, I've not spent much time in Lisp lately, so I'd forgotten that terminology.
<fiddlerwoaroof>
And you could also do things like use declared argument types to narrow completion
<fiddlerwoaroof>
e.g. I've come across a couple functions that use a MEMBER type to specify which symbols are valid for a particular argument
<verisimilitude>
My system doesn't even have a working M-. and so I never found the autocompletion particularly lacking.
<verisimilitude>
It seems like a lot of work for questionable gain, to me.
<verisimilitude>
I'm being a negative nancy, though.
<aeth>
Yes. My M-. in CL also somehow broke. Idk how or where. It's sometimes annoying, but usually I can just grep and lose a few seconds so it's not really worth the few hours to fix it.
xlarsx has joined #commonlisp
<fiddlerwoaroof>
Hmm
<fiddlerwoaroof>
I have never had this issue :)
waleee has quit [Ping timeout: 265 seconds]
<fiddlerwoaroof>
(as everyone knows "works on my machine" is the best response to a bug report)
<aeth>
I do have a few elaborate macros where it's non-obvious to know where things are defined (since I assumed a working M-.), but they're my macros, so I know.
<verisimilitude>
I mostly use Lisp as a decent window into my computer, where I can perform useful automation, but typing a programming language into my machine to get basic computing feels more like a compromise than an ideal.
taiju has quit [Ping timeout: 244 seconds]
tyson2 has quit [Remote host closed the connection]
xlarsx has quit [Ping timeout: 268 seconds]
xlarsx has joined #commonlisp
xlarsx has quit [Ping timeout: 268 seconds]
masinter has joined #commonlisp
taiju has joined #commonlisp
mingus has quit [Ping timeout: 244 seconds]
<phantomics>
verisimilitude: corporal punishment for programming flaws would also require manual tagging of someone
xlarsx has joined #commonlisp
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
xlarsx has quit [Ping timeout: 248 seconds]
xlarsx has joined #commonlisp
xlarsx has quit [Ping timeout: 252 seconds]
<verisimilitude>
Yes, but the added value is a bit better in that case.
xlarsx has joined #commonlisp
an_origamian has quit [Remote host closed the connection]
shka has joined #commonlisp
xlarsx has quit [Ping timeout: 246 seconds]
xlarsx has joined #commonlisp
rgherdt has joined #commonlisp
Oladon has quit [Quit: Leaving.]
xlarsx has quit [Ping timeout: 268 seconds]
beach` has joined #commonlisp
superduperuser has joined #commonlisp
beach has quit [Ping timeout: 268 seconds]
ahc has joined #commonlisp
beach` is now known as beach
xlarsx has joined #commonlisp
an_origamian has joined #commonlisp
xlarsx has quit [Ping timeout: 268 seconds]
<doulos05>
Learning how to use irssi to read previous chats. I'm glad I'm in at least one active channel to practice in, lol.
xlarsx has joined #commonlisp
<beach>
You could also consult the channel logs.
xlarsx has quit [Ping timeout: 246 seconds]
frgo has quit [Ping timeout: 246 seconds]
an_origamian has quit [Quit: Konversation terminated!]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Noisytoot has quit [Excess Flood]
Noisytoot has joined #commonlisp
b3lm0nt has joined #commonlisp
Noisytoot has quit [Excess Flood]
Noisytoot has joined #commonlisp
Noisytoot has quit [Read error: Connection reset by peer]
Noisytoot has joined #commonlisp
eddof13 has joined #commonlisp
b3lm0nt has quit [Ping timeout: 246 seconds]
b3lm0nt has joined #commonlisp
b3lm0nt has quit [Changing host]
b3lm0nt has joined #commonlisp
Josh_2 has joined #commonlisp
<Josh_2>
Good morning :sunglasses:
<jcowan>
Good eeeeeevening.
morganw has quit [Remote host closed the connection]
chipxxx has quit [Read error: Connection reset by peer]
Inline_ has joined #commonlisp
frgo has joined #commonlisp
Inline__ has quit [Ping timeout: 248 seconds]
b3lm0nt has quit [Ping timeout: 265 seconds]
frgo has quit [Ping timeout: 265 seconds]
xlarsx has quit [Remote host closed the connection]
xlarsx has joined #commonlisp
jmdaemon has joined #commonlisp
xlarsx has quit [Ping timeout: 268 seconds]
tane has quit [Quit: Leaving]
danishman has quit [Quit: Leaving]
Guest8266 has quit [Quit: WeeChat 3.6]
Inline__ has joined #commonlisp
Inline_ has quit [Ping timeout: 244 seconds]
shka has quit [Ping timeout: 265 seconds]
causal has joined #commonlisp
Brucio-61 has quit [Ping timeout: 260 seconds]
scymtym has quit [Ping timeout: 250 seconds]
<kagevf>
I'd have a hard time if M-. didn't work :(
Noisytoot has quit [Remote host closed the connection]
Inline_ has joined #commonlisp
Inline__ has quit [Ping timeout: 268 seconds]
Seb[m]1 has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 27.1]
cls has quit [Quit: leaving]
Brucio-61 has joined #commonlisp
Inline__ has joined #commonlisp
xlarsx has joined #commonlisp
scymtym has joined #commonlisp
Noisytoot has joined #commonlisp
Inline_ has quit [Ping timeout: 244 seconds]
Inline_ has joined #commonlisp
pve has quit [Quit: leaving]
xlarsx has quit [Ping timeout: 260 seconds]
Inline__ has quit [Ping timeout: 260 seconds]
dre has joined #commonlisp
Noisytoot has quit [Excess Flood]
Noisytoot has joined #commonlisp
rgherdt has quit [Remote host closed the connection]
Lycurgus has joined #commonlisp
thuna` has quit [Quit: out]
Lycurgus has quit [Quit: Exeunt juan@acm.org]
Inline_ has quit [Quit: Leaving]
xlarsx has joined #commonlisp
<Josh_2>
can I establish restarts using a generic function?
<Josh_2>
Normally I would write (restart-case ..) but I want restarts based on the classes of the arguments provided :think:
<Josh_2>
Oh I guess I could just use an :around method :)
<Bike>
Josh_2: you can control the restarts more precisely with restart-bind. i am not sure if that's what you mean though.
<Josh_2>
Its okay, an :around method is more KISS
xlarsx has quit [Ping timeout: 250 seconds]
pillton has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
hashfunc has joined #commonlisp
ec_ has joined #commonlisp
ec has quit [Ping timeout: 258 seconds]
waleee has joined #commonlisp
chipxxx has joined #commonlisp
attila_lendvai has quit [Ping timeout: 250 seconds]
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
Vjalmr has quit [Ping timeout: 265 seconds]
eddof13 has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
lambdart has joined #commonlisp
hashfunc has quit [Ping timeout: 250 seconds]
random-nick has quit [Ping timeout: 248 seconds]
White_Flame has quit [Remote host closed the connection]
White_Flame has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
nij- has joined #commonlisp
<nij->
(sort '(1 2) #'>) is undefined because #'sort is destructive according to CLHS. Would (sort (copy-list '(1 2) #'>)) makes the situation better? If not, what should I do?
makomo has quit [Ping timeout: 268 seconds]
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
<aeth>
yes, except you have your parens wrong
<aeth>
(sort (copy-list '(1 2)) #'>)
perrierjouet has quit [Quit: WeeChat 3.6]
<aeth>
except I always use copy-seq because I don't want to have to remember more things.
perrierjouet has joined #commonlisp
<nij->
thanks :D
an_origamian has joined #commonlisp
an_origamian has quit [Client Quit]
an_origamian has joined #commonlisp
<pjb>
nij-: it's not necessarily true, but I believe that sorting vectors should be faster than sorting lists. So I'd expect (sort (make-array 2 :initial-contents '(1 20)) #'>) #| --> #(20 1) |# to be faster.
<pjb>
or (coerce '(1 2) 'vector) #| --> #(1 2) |#
chip_x has joined #commonlisp
eddof13 has joined #commonlisp
ick has quit [Quit: Konversation terminated!]
eddof13 has quit [Client Quit]
chipxxx has quit [Ping timeout: 260 seconds]
nij- has quit [Ping timeout: 244 seconds]
xlarsx has joined #commonlisp
xlarsx has quit [Remote host closed the connection]