<jcowan>
bike: Yes, that was a bad example: 1 not being a cons is obvious. I was really thinking of more complex type inference.
nij- has joined #commonlisp
<bike>
i think it basically always does some level of inference. i can't ifgure out any optimization settings that will make it shut up about (car (1+ x))
<jcowan>
Oh good, just what I wanted to hear. Thanks. I am arguing that CL is a perfectly good statically typed programming language if you don't abuse it/
<jcowan>
they were talking about a program which used a pair to represent two integers, and then needed a third integer so changed everything to use a list
<jcowan>
but then forgot to change one instance of "(cdr x)" to "(second x)", all die, oh the embarrassment
<jcowan>
and this (I quote) "soured [them] on dynamically typed programming languages"
<jcowan>
well, says I, if the matter was critical (and it was, apparently), use classes/structs and type declarations instead of conses and lists
<jcowan>
s/used a pair to represent two integers/used a cons to rrepresent a pair of integers/
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
nij_ has joined #commonlisp
nij- has joined #commonlisp
waleee has quit [Ping timeout: 260 seconds]
<hayley>
jcowan: It generally helps to _try_ to use types. Saw similar where someone suggested to use classes in Python rather than dictionaries, which makes for a poor baseline.
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
nij_ has left #commonlisp [Using Circe, the loveliest of all IRC clients]
<fosskers>
helps == the compiler can optimize them better?
amb007 has joined #commonlisp
<hayley>
Perhaps, but that's not really what I meant. More that your code would be better off if you don't play loose with types.
<hayley>
(Someone once suggested that Lisp compilers couldn't optimise around vectors and other classes, only lists. This is of course dead wrong.)
amb007 has quit [Ping timeout: 246 seconds]
lucasta has joined #commonlisp
thuna` has quit [Remote host closed the connection]
dcb has quit [Ping timeout: 260 seconds]
tyson2 has quit [Read error: Connection reset by peer]
attila_lendvai_ has joined #commonlisp
attila_lendvai has quit [Ping timeout: 252 seconds]
Lycurgus has joined #commonlisp
Lycurgus has quit [Changing host]
Lycurgus has joined #commonlisp
habamax has quit [Ping timeout: 260 seconds]
Lycurgus has quit [Quit: Tschüss]
habamax has joined #commonlisp
nij- has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ has joined #commonlisp
nij- has joined #commonlisp
attila_lendvai_ has quit [Ping timeout: 245 seconds]
attila_lendvai_ has joined #commonlisp
bilegeek has joined #commonlisp
notzmv has quit [Ping timeout: 260 seconds]
lucasta has quit [Quit: Leaving]
nij_ has quit [Quit: Using Circe, the loveliest of all IRC clients]
nij- has quit [Quit: Using Circe, the loveliest of all IRC clients]
fosskers has quit [Ping timeout: 260 seconds]
milo__ has joined #commonlisp
<milo__>
hello folks, im a noob to both irc and lisp so i hope im doing this right. I'm looking for advice about effectively using the built-in debugger. It never seems to work for me. listing local variables doesn't seem to work and the other features haven't given me much useful info. I think I might not be compiling with debug information. how do I do so when I'm loading the lisp file directly?
<light>
more information is required
<beach>
milo__: The debugger depends on the Common Lisp implementation you are using.
<beach>
milo__: The best bet is to use Emacs with SLIME. It has a feature that makes the "debugger" appear uniform across implementations, and you have single keystrokes to examine variables.
<beach>
milo__: That said, I always do (proclaim '(optimize (debug 3))) in my startup file to get the maximum debug information.
<beach>
milo__: Oh, and you might want to join #clschool. This channel is not really for newbie questions, although they are tolerated to some extent, especially when it is otherwise quiet here.
<milo__>
ok, thanks. i didn't realize the implimentation varied. Is there any avoiding using slime or no?
<milo__>
it seems to be the only option for a common lisp ide. i've just been using neovim since i use it for everything but it doesn't seem to be the right tool
<beach>
milo__: There is some stuff for VIM I think, but I don't know the quality.
<beach>
milo__: I fear that without the use of Emacs and either SLIME or SLY, your experience with Common Lisp will be disappointing.
<milo__>
ok, I guess i'll bite the bullet. thanks for the help and I'll go to #clschool if i have further questions
<beach>
milo__: For VIM, the names "slimv" and "vlime" come up here regularly, but I don't know anything about them.
<milo__>
it seems like the best option would be to try slime first to learn lisp the "correct" way, and using that knowledge it will be easier to set up vim for it
<ixelp>
Include mfiano's sly package/layer for common-lisp · Issue #13080 · syl20bnr/spacemacs · GitHub
<equwal>
vlime is alright in vim but expect it to be buggy as hell because the SLIME project is hostile to anyone actually using swank outside of emacs
<ixelp>
GitHub - equwal/defsl: Dependencies from the lisp macro system, not the reader.
goober has quit [Quit: Leaving]
goober has joined #commonlisp
<milo__>
despite what i said earlier im trying out vlime because i really don't want to install and set up emacs right now. it will certainly be better than vanilla vim with sbcl running in another window
<equwal>
last time I used vlime the master branch was completely broken thanks to swank changing the interface for the millionth time
<equwal>
with git bisect I was able to find where the incompatibility happened and make a patch which worked for a little while
<milo__>
that sounds terrible
<equwal>
yes, someone needs to fork swank for vim use, but vlime hasn't done that
attila_lendvai has quit [Ping timeout: 246 seconds]
herjazz has joined #commonlisp
MajorBiscuit has joined #commonlisp
waleee has joined #commonlisp
dino_tutter has joined #commonlisp
notzmv has joined #commonlisp
fosskers has joined #commonlisp
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
habamax has joined #commonlisp
waleee has quit [Ping timeout: 245 seconds]
cage has joined #commonlisp
attila_lendvai has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 245 seconds]
Lord_of_Life has joined #commonlisp
Brucio-61 has quit [Ping timeout: 245 seconds]
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
fosskers has quit [Ping timeout: 260 seconds]
Lycurgus has joined #commonlisp
attila_lendvai has quit [Ping timeout: 246 seconds]
Lycurgus has quit [Quit: Tschüss]
dieggsy has joined #commonlisp
Brucio-61 has joined #commonlisp
mgl has quit [Quit: Client closed]
blackshuck has joined #commonlisp
beach` has joined #commonlisp
beach has quit [Ping timeout: 246 seconds]
goober has quit [Remote host closed the connection]
blackshuck has quit [Changing host]
blackshuck has joined #commonlisp
goober has joined #commonlisp
mgl has joined #commonlisp
jmd_ has quit [Ping timeout: 260 seconds]
beach` is now known as beach
amb007 has quit [Ping timeout: 246 seconds]
amb007 has joined #commonlisp
edgar-rft has quit [Quit: Leaving]
tyson2 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
blackshuck has quit [Remote host closed the connection]
lucasta has joined #commonlisp
Pixi` has joined #commonlisp
Pixi has quit [Ping timeout: 245 seconds]
dino_tutter has quit [Ping timeout: 260 seconds]
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
dino_tutter has joined #commonlisp
Pixi` has quit [Read error: Connection reset by peer]
Pixi has joined #commonlisp
Pixi has quit [Max SendQ exceeded]
Everything has joined #commonlisp
habamax has quit [Remote host closed the connection]
Lycurgus has joined #commonlisp
Lycurgus has quit [Quit: Tschüss]
<Josh_2>
Hey :trumpet:
<Josh_2>
Has anyone here used CLOG in commercial software?
herjazz has quit [Quit: leaving]
didi has joined #commonlisp
<didi>
Is it possible to expand a macro where a `labels's definition is? For example, (labels ((my-macro fn-name)) ...) -> (labels ((fn-name (...) ...)) ...)
habamax has joined #commonlisp
<beach>
didi: No, macro forms can occur only in a context of evaluation.
<didi>
beach: Thank you.
<beach>
Sure. That's why they are called "macro FORMS".
<didi>
ic
mgl has quit [Quit: Client closed]
<Josh_2>
Maybe I can trail blaze with CLOG in commercial software
<didi>
Uh, fancy: I can expand macros inside `macrolet' in slime.
azimut has joined #commonlisp
habamax has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)]
thuna` has joined #commonlisp
<beach>
You mean macro forms with macro names introduced by MACROLET?
<didi>
beach: Indeed I do.
<beach>
If so, that's not entirely suprising.
<beach>
*surprising
<gko`>
XCy
<beach>
When the compiler sees a MACROLET, it creates a macro function and enters that macro function into the compilation environment, so that macro forms mentioning it can be expanded by the compiler later on. For SLIME to do that, it would have to run the compiler, and somehow intercept the augmented compilation environment.
<beach>
gko`: ?
mgl has joined #commonlisp
Noisytoot has quit [Excess Flood]
Noisytoot has joined #commonlisp
prokhor_ has quit [Read error: Connection reset by peer]
prokhor_ has joined #commonlisp
mgl has quit [Quit: Client closed]
dino_tutter has quit [Ping timeout: 246 seconds]
rtypo has joined #commonlisp
Gleefre has quit [Remote host closed the connection]