jackdaniel 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/> | offtopic --> #lispcafe
<moon-child> by (quote a) I mean a literal list of the symbol quote and the symbol a; not the evaluated form which is equivalent to 'a
<mfiano> Try (quote a) and (quote (quote (quote a)))
<moon-child> yes, I understand what the behaviour is, just not why it's that way
<phoe> aeth: beep
<phoe> loosely based on your implementation
<phoe> I disliked how you used NIL for a lack of provided type and instead defaulted to a more sane T
<phoe> future work: avoid passing :TYPE kwarg deeper for efficiency
mindCrime has quit [Excess Flood]
mindCrime has joined #lisp
<phoe> for now that is 41 lines of code and I am somewhat satisfied since it should be portable and UB-free.
<phoe> but we'll see how things go, perhaps bugs are in there
* phoe crashes asleep
random-nick has quit [Ping timeout: 258 seconds]
<Alfr__> moon-child, are you wondering why you lose a quote? Try (read-from-string "(quote (quote a))").
<moon-child> Alfr__: no, I understand why I lose a quote. I'm wondering why quote seems to be a special form rather than a macro
<phoe> if it was a macro, then how would you implement it?
<moon-child> (defmacro quote (x) `',x)
<phoe> so, basically, (quote x) would expand into (quote x)
<phoe> which would then expand into (quote x) since QUOTE is a macro
<phoe> which would then expand into (quote x) since QUOTE is a macro
<phoe> which would then expand into (quote x) since QUOTE is a macro
<phoe> which would then expand into (quote x) since QUOTE is a macro
<phoe> and that is not what we want
ralt has quit [Quit: Connection closed for inactivity]
<phoe> because, to remove backquote, (defmacro quote (x) `',x) === (defmacro quote (x) (list (intern "QUOTE" (find-package "CL")) x))
<phoe> (and to remove the usage of #\' reader macro)
<Bike> (defmacro quote (x) (typecase x (symbol `(intern ,(symbol-name x) ,(symbol-package x))) (cons `(cons ',(car x) ',(cdr x))) (t x)), but then the compiler can't really use constant-ness
<Bike> probably some corner cases it doesn't deal with very well, too
<aeth> phoe: NIL vs. T doesn't really matter because either way you don't want to check, unless you want to interpet NIL as the type NIL, i.e. "nothing can satisfy this" which sounds pointless... but I think I default to T in my later stuff, like DEFINE-FUNCTION
<Bike> with some load-time-value this might not even be that inefficient
<phoe> aeth: (CHECK-TYPE FOO T) compiles to a no-op on a sufficiently non-dumb compiler
<aeth> eh
<phoe> because I interpret NIL as the empty type
<Bike> moon-child: also, (quote (quote a)) evaluates to 'a because 'a is (quote a). the 'evaluates to' is important
<phoe> I mean, if someone goes (defclass foo ((bar :type nil))) then I assume they know what they're doing
<Bike> moon-child: this is the same as scheme. i think quote is special in scheme also
<aeth> I guess you could somewhat salvage NIL as a type there by saying something of type NIL should remain unbound, although there's not much of a point to that, either.
<phoe> unless there's union types in play and the effective slot definition turns out to have a type of something like (AND NUMBER STRING)
<Bike> yeah, in r5rs it looks like a special operator, though scheme doesn't have that concept technically
Guest_58 has joined #lisp
<phoe> which would be 1) a corner case and 2) a dumb thing to do
<phoe> but nonetheless, possible and technically allowable by the standard, I guess
<aeth> I think moon-child is saying that ' should be the special form and (quote foo) should turn into 'foo, essentially reversing the way I think it works.
<Bike> ' is reader syntax. it doesn't exist in the lisp evaluation model because it's part of the reader.
<aeth> right
Guest_58 has quit [Remote host closed the connection]
<aeth> afaik, you can just walk through source and step through each step and actually see (quote foo) or (function foo) etc. I know for sure #'foo is just (function foo) but I don't think I've tried the former.
<Bike> and of course (length (quote (quote a))) => 2, (car (quote (quote A))) => QUOTE, etc
<aeth> more useful than having ' as some special thing
<Bike> lisp implementations just print (quote a) as 'a
<phoe> '''a evaluates into ''a, ''a evaluates into 'a, 'a evaluates into a, a evaluates into ;; Error: #<UNBOUND-VARIABLE A {100BEEF213}>
<Alfr__> Can happen (likely accidentally) when, say a subclass specifies Y and the parent said X for a certain slot, irrc standard says that that slot may only hold (and X Y)-type objects.
dominic34 has quit [Remote host closed the connection]
<Bike> the type of an inherited slot is the conjuction of everything it inherits from, yeah
maplambda has joined #lisp
<phoe> Alfr__: it shouldn't happen accidentally
EvW has quit [Ping timeout: 244 seconds]
<phoe> it must be an AND type because of Liskov substitution principle
<phoe> so in a very pathological case it might be a slot of type NIL
<phoe> which means that it can't hold anything at all
<Alfr__> phoe, s/accidentally/programmer's mistake/
<Alfr__> phoe, if you're happier with that.
<phoe> Alfr__: I'm kinda satisfied, but that's actually meant to be a feature rather than a bug
<phoe> e.g. when the programmer wants to have an even narrower set of possible values
<Bike> warning when the type ends up as nil due to inheritance seems pretty reasonable to do
<phoe> agreed
<Alfr__> I just wanted to describe a case when NIL types actually arise.
<Alfr__> phoe, and I didn't intend to imply that you should change that, sorry for the confusion.
terpri_ has joined #lisp
terpri has quit [Ping timeout: 240 seconds]
shifty has joined #lisp
yitzi has joined #lisp
_jrjsmrtn has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 246 seconds]
orivej has quit [Ping timeout: 265 seconds]
smazga has quit [Ping timeout: 265 seconds]
anewuser has joined #lisp
gaqwas has quit [Ping timeout: 264 seconds]
mangoicedtea has quit [Quit: Leaving]
orivej has joined #lisp
brass has joined #lisp
jxy has quit [Ping timeout: 264 seconds]
smazga has joined #lisp
jxy has joined #lisp
anewuser has quit [Disconnected by services]
anewuser_ has joined #lisp
bsd4me has left #lisp ["Leaving"]
gravicappa has joined #lisp
hendursaga has quit [Remote host closed the connection]
bsd4me has joined #lisp
hendursaga has joined #lisp
jxy has quit [Ping timeout: 256 seconds]
jxy has joined #lisp
drmeister has quit [Ping timeout: 240 seconds]
CEnnis91 has quit [Ping timeout: 260 seconds]
drmeister has joined #lisp
bsd4me has left #lisp ["Leaving"]
fowlduck has quit [Ping timeout: 260 seconds]
physpi has quit [Ping timeout: 260 seconds]
bytesighs has quit [Ping timeout: 240 seconds]
peterhil has joined #lisp
CEnnis91 has joined #lisp
drmeister has quit [Read error: Connection reset by peer]
Oladon has quit [Quit: Leaving.]
fowlduck has joined #lisp
bytesighs has joined #lisp
uenotan has joined #lisp
jlpeters has quit [Read error: Connection reset by peer]
CEnnis91 has quit [Ping timeout: 240 seconds]
drmeister has joined #lisp
orivej has quit [Ping timeout: 256 seconds]
Bike has quit [Quit: leaving]
bytesighs has quit [Read error: Connection reset by peer]
physpi has joined #lisp
bytesighs has joined #lisp
uenotan has quit [Quit: WeeChat 2.3]
CEnnis91 has joined #lisp
jlpeters has joined #lisp
nicktick has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
peterhil has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
bsd4me has joined #lisp
peterhil has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
zaquest has quit [Quit: Leaving]
Alfr_ has joined #lisp
gal has quit [Ping timeout: 246 seconds]
gal has joined #lisp
zaquest has joined #lisp
josemanuel has quit [Quit: leaving]
Alfr__ has quit [Ping timeout: 260 seconds]
asedeno has quit [Ping timeout: 244 seconds]
jerme_ has quit [Ping timeout: 265 seconds]
asedeno has joined #lisp
peterhil has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
banjiewen has quit [Ping timeout: 244 seconds]
bsd4me has quit [Read error: Connection reset by peer]
jerme_ has joined #lisp
bsd4me has joined #lisp
bsd4me has quit [Remote host closed the connection]
jesse1010 has quit [Ping timeout: 265 seconds]
banjiewen has joined #lisp
peterhil has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
bsd4me has joined #lisp
peterhil has joined #lisp
bsd4me has left #lisp [#lisp]
peterhil has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #lisp
rumbler31_ has quit [Ping timeout: 246 seconds]
peterhil has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
FreeBirdLjj has quit [Ping timeout: 265 seconds]
libertyprime has joined #lisp
peterhil has joined #lisp
wxie has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
shangul has joined #lisp
peterhil has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
peterhil has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
peterhil has joined #lisp
<beach> Good morning everyone!
peterhil has quit [Read error: Connection reset by peer]
anewuser_ has quit [Quit: Leaving]
peterhil has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
peterhil has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
mangul has joined #lisp
peterhil has joined #lisp
shangul has quit [Ping timeout: 264 seconds]
wxie has quit [Ping timeout: 240 seconds]
lucasb has quit [Quit: Connection closed for inactivity]
ebzzry has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
<mangul> Any Common Lisp IDE for Android?I couldn't find a good one. I need at least indentation and REPL.
<ebzzry> Is there a way to determine of a special variable has been defined with DEFPARAMETER or DEFVAR?
sm2n has joined #lisp
ebzzry_ has joined #lisp
peterhil has joined #lisp
ebzzry__ has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
<beach> ebzzry: Not really.
ebzzry has quit [Ping timeout: 256 seconds]
ebzzry has joined #lisp
peterhil has joined #lisp
ebzzry_ has quit [Ping timeout: 256 seconds]
terpri__ has joined #lisp
farooqkz__ has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
farooqkz__ is now known as shangul
ebzzry_ has joined #lisp
jibanes has quit [Ping timeout: 264 seconds]
ebzzry__ has quit [Ping timeout: 240 seconds]
terpri_ has quit [Ping timeout: 240 seconds]
jibanes has joined #lisp
mangul has quit [Ping timeout: 240 seconds]
peterhil has joined #lisp
ebzzry has quit [Ping timeout: 240 seconds]
<sm2n> Hello
<beach> Hello sm2n.
<sm2n> how are you doing, beach?
peterhil has quit [Read error: Connection reset by peer]
<beach> Making slow but steady progress with SICL. You?
smazga has quit [Ping timeout: 265 seconds]
<sm2n> that is good, I have just been cleaning up digital gunk
shangul has quit [Ping timeout: 258 seconds]
<sm2n> Installed arch and found out that ccl is not in the regular repos...
peterhil has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
ajithmk has joined #lisp
shangul has joined #lisp
ebzzry_ has quit [Quit: WeeChat 2.8]
alfonsox has joined #lisp
peterhil has joined #lisp
<sm2n> out of curiosity, how complete is sicl wrt the ansi standard currently?
<sm2n> is there a progress doc or something somewhere?
peterhil has quit [Read error: Connection reset by peer]
<beach> Very far from it. Furthermore, I still don't generate native code.
<sm2n> I see
<ajithmk> I have a function let's say (defun func (func1 func2) .....). On one occasion I have passed #'+ and #'- in place of func1 and func2. It worked. How can I pass a macro similarly? Like (func #'push #'pop). Sbcl is complaining that macro name push/pop are found as an argument to function.
<beach> sm2n: I don't think there is any point in documenting the progress yet.
Jesin has quit [Quit: Leaving]
<beach> ajithmk: You can't. You can pass a macro function, but macros are not first-class objects.
<beach> ajithmk: If it were possible, what would you do with it inside FUNC?
smazga has joined #lisp
<ajithmk> Oh. Ok. The behavior I am after is this. If it is a number use add and subtract the given value . If it's a list push and pop a given value.
<sm2n> wouldn't it be simpler to dispatch on the type directly?
<beach> ajithmk: Common Lisp was designed so that a compiler can generate fast code. Therefore, macros are mostly meant to be expanded at compile time. If what you want were possible, it would be impossible to generate fast code. That's how some languages designed by non-experts become intrinsically slow.
Jesin has joined #lisp
<maplambda> how do i exit debugger
<maplambda> in sbcl
<maplambda> return to interpreter without (quit)
<beach> ajithmk: That's another problem. Lists are not abstract data types in Common Lisp, so that would fail anyway.
<beach> maplambda: Probably invoke the ABORT restart.
madage has quit [Ping timeout: 240 seconds]
<maplambda> beach, I tried (abort) and :a:t:
<maplambda> neither worked
krid` has quit [Ping timeout: 240 seconds]
<beach> maplambda: You would typically use SBCL through SLIME and then it would be obvious.
<beach> maplambda: If you don't do that, you need to read the SBCL manual to figure out how to invoke the ABORT restart from the debugger.
smazga has quit [Ping timeout: 264 seconds]
<maplambda> ok cool thanks
kilimanjaro_ has joined #lisp
<maplambda> if I learn lisp will i be able to learn node/javascript easier?
<beach> Like 5.7 says TOPLEVEL is a debugger command.
<beach> "Throw to top level"
kilimanjaro has quit [Ping timeout: 265 seconds]
kilimanjaro_ is now known as kilimanjaro
<beach> maplambda: If you learn Common Lisp, it is unlikely that you would want to program in JavaScript later.
peterhil has joined #lisp
madage has joined #lisp
<maplambda> yea but i like money
<beach> maplambda: If you use SBCL (or any other Common Lisp implementation) without SLIME or something similar, you are likely going to hate it.
<beach> maplambda: Oh, then you should avoid learning Common Lisp, because you will never again be happy in your work, using another language.
peterhil has quit [Read error: Connection reset by peer]
yitzi has quit [Quit: yitzi]
yitzi has joined #lisp
<ajithmk> lol
<maplambda> i hope it lives up to all the hype
<beach> maplambda: You will end up like drmeister who wrote a Common Lisp implementation in C++ to avoid programming in C++, or like alandipert, who wrote a Common Lisp implementation in JavaScript to avoid programming in JavaScript.
<maplambda> will knowing lisp help me with understanding assembly and C and other languages ?
<beach> Oh, definitely. It will help you understand lots of stuff about programming and programming languages.
<maplambda> ok cool
Oladon has joined #lisp
peterhil has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
Lord_of_Life has quit [Ping timeout: 240 seconds]
alfonsox has quit [Remote host closed the connection]
Lord_of_Life has joined #lisp
<beach> maplambda: But, more importantly, you will learn about programming techniques that you then wish you had at your disposal when you use other languages, like macros, generic functions, reader macros, compiler available at run-time, etc., etc.
shangul has quit [Ping timeout: 240 seconds]
<maplambda> are algorithms easier to write in lisp
<maplambda> like
<maplambda> sort, binary search, graph transversal etc
peterhil has joined #lisp
<beach> Easier than what language? Clearly easier than in any language that uses manual memory management, sure.
<maplambda> i guess i mean intuitive or elegant
peterhil has quit [Read error: Connection reset by peer]
<maplambda> i never liked the way imperative languages implemented data structures
<maplambda> liked linked lists
<maplambda> ugly
<maplambda> pointers
<maplambda> ill never be a linked list/pointer kind of girl
peterhil has joined #lisp
<sm2n> those things are unrelated, common lisp is written in an imperative style quite often and it doesn't involve pointers directly usually
peterhil has quit [Read error: Connection reset by peer]
<beach> maplambda: I am sorry to bring you the bad news then. Common Lisp is not a functional programming language. It is a multi-paradigm language. It does not have explicit pointers like C, but data structures look pretty much the same otherwise.
<beach> maplambda: And one of the central data structures in Common Lisp is a linked list.
<beach> LISP used to mean "LISt Programming"
<beach> maplambda: But, like I said, automatic memory management changes everything.
<maplambda> hm
<beach> maplambda: It allows your language to use what I call "universal reference semantics" which is a much simpler way of thinking about the semantics of your programs.
<maplambda> ok 1 last question what about speed
<maplambda> compared to say a "compiled language"
<sm2n> cl is a compiled language
<maplambda> sm2n, why am i using an interpreter then
shangul has joined #lisp
peterhil has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
<sm2n> good question, what are you using?
<beach> maplambda: There is no such thing as a compiled or an interpreted language. It is a characteristic of the implementation. Most modern Common Lisp systems compile to native code.
<maplambda> sm2n, sbcl
<sm2n> sbcl generates native code
<beach> maplambda: You are not using an interpreter.
<sm2n> quite fast too
<sm2n> you are confusing a repl with an interpreter
<maplambda> so it compiles everything i type lol?
<maplambda> in a repl
<sm2n> they are mostly unrelated, people have managed to hack repls in places you would be surprised, like C
<sm2n> yup
<beach> maplambda: yes.
<maplambda> actually that makes sense why would you want to compile the entire program at once given locality of reference
<maplambda> never thought of that before
<beach> maplambda: See, you already learned something by studying Common Lisp.
<maplambda> yea im convinced
<maplambda> damn
<beach> Try (defun f (x) x) and then (disassemble #'f)
mangul has joined #lisp
shangul has quit [Ping timeout: 240 seconds]
<maplambda> i also just realized
<maplambda> "polymorphism" is just a side effect right?
<maplambda> of math
<beach> That doesn't ring true. What is it that you are trying to figure out?
<maplambda> not sure yet
<maplambda> are there no types?
<beach> Sure, there are types.
<beach> The Common Lisp type system is particularly sane and simple.
<beach> A type is just a (possibly infinite) set of objects.
<beach> By default, any Common Lisp variable can contain an object of any type.
<beach> How is that for "poly"?
peterhil has joined #lisp
<maplambda> yea thats pretty sic
peterhil has quit [Read error: Connection reset by peer]
<beach> Oh, other things you will miss in other languages are exact rational arithmetic, and infinite precision integers. It means that you can be sure that (+ n 1) is bigger than n, unlike in C for instance.
mangul has quit [Ping timeout: 258 seconds]
smazga has joined #lisp
peterhil has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
<maplambda> can i do data intensive programming in lisp
<maplambda> like is there a concept of data frame
<maplambda> i can program easily
<maplambda> i mostly do that for work
peterhil has joined #lisp
<maplambda> i guess a list of lists
<beach> Common Lisp has multi-dimensional arrays.
shangul has joined #lisp
peterhil has quit [Read error: Connection reset by peer]
Alloc has joined #lisp
smazga has quit [Ping timeout: 265 seconds]
<beach> maplambda: I suggest you try it out for a while. Install Emacs+SLIME, or go with Portacle (which is essentially Emacs+SLIME+SBCL), and get started.
shifty has quit [Ping timeout: 240 seconds]
<beach> If you have truly newbie questions, you can ask in #clschool.
<maplambda> ok cool ty
<beach> yaw
<aeth> maplambda: there's no data frame that everyone uses as a de facto standard (or in the standard), but there's nothing that stops someone from writing a libarary. There's a cl-data-frame library according to https://www.quicklisp.org/beta/releases.html
<aeth> There might be others, but not with it in the library name
<aeth> archived, though, so... abandoned? idk. https://github.com/tpapp/cl-data-frame
<maplambda> looking forward to learning this
<aeth> it looks like that one uses 1D adjustable arrays with each column as its own thing, which might make more sense for DFs? Idk.
Jesin has quit [Read error: Connection reset by peer]
Jesin has joined #lisp
smazga has joined #lisp
zigpaw1 has quit [Ping timeout: 265 seconds]
smazga has quit [Ping timeout: 258 seconds]
zigpaw1 has joined #lisp
Alloc has quit [Ping timeout: 240 seconds]
Alloc has joined #lisp
libertyprime has quit [Ping timeout: 240 seconds]
Alloc has quit [Ping timeout: 265 seconds]
Alloc has joined #lisp
libertyprime has joined #lisp
Alloc has quit [Ping timeout: 258 seconds]
smazga has joined #lisp
Alloc has joined #lisp
mrcom has quit [Read error: Connection reset by peer]
smazga has quit [Ping timeout: 258 seconds]
ggole has joined #lisp
smazga has joined #lisp
smazga has quit [Ping timeout: 258 seconds]
Alloc has quit [Ping timeout: 240 seconds]
Alloc has joined #lisp
_whitelogger has joined #lisp
libertyprime has quit [Ping timeout: 258 seconds]
smazga has joined #lisp
libertyprime has joined #lisp
smazga has quit [Ping timeout: 265 seconds]
ldb has joined #lisp
<ldb> good afternoon
toorevitimirp has joined #lisp
dmr0x80 has joined #lisp
jonatack has quit [Quit: jonatack]
shifty has joined #lisp
libertyprime has quit [Ping timeout: 258 seconds]
<ldb> er, polymorphism really just means a function can take multiple kinds of data
<ldb> and it is very common in latent typing languages like lisp
<ldb> also in functional languages
<beach> Hello ldb.
mindCrime has joined #lisp
mrcom has joined #lisp
<ldb> hello beach
dmr0x80 has quit [Quit: WeeChat 3.0-dev]
mrcom has quit [Read error: Connection reset by peer]
libertyprime has joined #lisp
Oladon has quit [Quit: Leaving.]
toorevitimirp has quit [Remote host closed the connection]
pve has joined #lisp
smazga has joined #lisp
toorevitimirp has joined #lisp
toorevitimirp has quit [Remote host closed the connection]
gaqwas has joined #lisp
gaqwas has quit [Changing host]
gaqwas has joined #lisp
smazga has quit [Ping timeout: 258 seconds]
toorevitimirp has joined #lisp
gko_ has quit [Ping timeout: 265 seconds]
ldb has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
smazga has joined #lisp
toorevitimirp has quit [Remote host closed the connection]
ldb has joined #lisp
toorevitimirp has joined #lisp
smazga has quit [Ping timeout: 240 seconds]
gaqwas has quit [Remote host closed the connection]
ldb has quit [Ping timeout: 258 seconds]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
orivej has quit [Ping timeout: 258 seconds]
vaporatorius__ has quit [Ping timeout: 240 seconds]
ldb has joined #lisp
v3ga_ has quit [Ping timeout: 244 seconds]
prite has joined #lisp
ldb has quit [Ping timeout: 240 seconds]
kaftejiman has joined #lisp
ralt has joined #lisp
gal has quit [Ping timeout: 240 seconds]
mindCrime has quit [Ping timeout: 260 seconds]
<phoe> hellooo
<phoe> beach: could you review https://plaster.tymoon.eu/view/2021#2021 - especially for any signs of UB?
<tfb> Is the CLHS search thingy at xach.com officially broken, or is it just me (and is there another one I can bookmark?)
<beach> phoe: Sure.
hendursa1 has joined #lisp
gal has joined #lisp
hendursaga has quit [Ping timeout: 240 seconds]
<beach> phoe: I don't see any problems with it.
<phoe> beach: I am asking because aeth once mentioned that someone on #lisp said that re-using :TYPE like that might invoke some sort of undefined behavior
<phoe> it sounded weird to me though, which is why I wrote the above code to directly reuse the :TYPE initarg
<beach> What does "re-using :TYPE" mean?
<beach> Oh, yes, I see. Hold on...
smazga has joined #lisp
<beach> In the method on direct-slot-definition-class, you mean?
<phoe> yep
<beach> mop direct-slot-definition-class
<shangul> How to get a clean REPL with SLIME other than slime-restart-inferior-lisp?
<phoe> shangul: hit , in the REPL and then type restart-inferior-lisp
<ralt> oh thank you
<beach> phoe: Yes, that could be problematic if the base class defines :TYPE as an initarg. Let me study it again for a sec...
<shangul> phoe, Thank you. any shortcut for this? so being shorter.
<ralt> Do you get auto completion?
<phoe> shangul: helm mode or any other autocompletion
<phoe> I type ,rest<RET>
<ralt> mfiano: thank you for the cacle suggestion, that looks great
<phoe> beach: the base class *does* define :TYPE as an initarg, for sure
<shangul> phoe, Thank you
<phoe> the question is whether this causes any UB.
lottaquestions has joined #lisp
lottaquestions has quit [Client Quit]
kaftejiman has quit [Remote host closed the connection]
<beach> phoe: Give me a minute.
<phoe> OK
lottaquestions has joined #lisp
<beach> Er, no, I still don't see a problem.
<beach> What would be the reason for a problem?
<beach> :INITARGs are processed by methods all the time.
lottaquestions_ has quit [Ping timeout: 246 seconds]
smazga has quit [Ping timeout: 265 seconds]
mangul has joined #lisp
<phoe> hmmmm
<phoe> neither do I, truth be told
<phoe> I just wanted to triple-check that
<phoe> aeth: ^
<beach> I guess we would have to ask aeth what the problem seems to be.
shangul has quit [Ping timeout: 258 seconds]
<phoe> from what I understood, he doesn't remember either
<beach> I think you are safe then.
<phoe> that's why I wanted to triple-check instead of double-checking and why I didn't mention the particular problem up front and only asked for review first
<beach> Got it.
toorevitimirp has quit [Ping timeout: 264 seconds]
prite has quit [Ping timeout: 240 seconds]
aaaaaa has quit [Quit: leaving]
jonatack has joined #lisp
liberliver has joined #lisp
jonatack has quit [Ping timeout: 264 seconds]
jonatack has joined #lisp
farooqkz__ has joined #lisp
peterhil has joined #lisp
mangul has quit [Ping timeout: 246 seconds]
smazga has joined #lisp
farooqkz__ has quit [Quit: Leaving]
MichaelRaskin has joined #lisp
mrcom has joined #lisp
smazga has quit [Ping timeout: 265 seconds]
mseddon_ has quit [Quit: Leaving]
gaqwas has joined #lisp
gaqwas has joined #lisp
gaqwas has quit [Changing host]
smazga has joined #lisp
smazga has quit [Ping timeout: 240 seconds]
dddddd has quit [Ping timeout: 240 seconds]
dddddd has joined #lisp
Mawile has quit [Read error: Connection reset by peer]
smazga has joined #lisp
terpri has joined #lisp
terpri__ has quit [Ping timeout: 260 seconds]
terpri_ has joined #lisp
smazga has quit [Ping timeout: 256 seconds]
terpri has quit [Ping timeout: 240 seconds]
hendursa1 has quit [Ping timeout: 240 seconds]
dmr0x80 has joined #lisp
hendursa1 has joined #lisp
frgo has joined #lisp
ralt has quit [Quit: Connection closed for inactivity]
ajithmk has quit [Quit: Connection closed for inactivity]
flazh has quit [Ping timeout: 256 seconds]
kaftejiman has joined #lisp
flazh has joined #lisp
VincentVega has joined #lisp
jonatack has quit [Ping timeout: 240 seconds]
Inline has joined #lisp
smazga has joined #lisp
<VincentVega> Hi all! Workflow question: so I like put some test code in the end of the file (not actual tests) and when I load a package, I don't want that code to execute. Neither do I want to wrap it in some macro. I thought, an ideal solution would be have a call which makes the loader (?) skip the rest of the file. Is there something like that?
Alloc has quit [Ping timeout: 240 seconds]
smazga has quit [Ping timeout: 256 seconds]
<jackdaniel> VincentVega: comment out the code
<jackdaniel> #+(or)(progn ,@your-code)
<VincentVega> jackdaniel: well, if there's not something like that, commenting is my next best option, yeah
<VincentVega> what does this line of code do?
<jackdaniel> #+something is a reader condition, #+(or) means "don't read next form"
<VincentVega> I see, OK
gaqwas has quit [Remote host closed the connection]
<jackdaniel> having some trick /to not load the rest of the file/ would be a confusing irregularity
<jackdaniel> casual reader (including future you) could get lost when reading that file to understand what's going on
random-nick has joined #lisp
<VincentVega> That could be the case, surely.
Alloc has joined #lisp
<VincentVega> Yeah, I will just go with commenting, I guess am making a bigger deal out of it than nesessary.
kaftejiman_ has joined #lisp
<MichaelRaskin> Block comment till EOF doesn't even impede copy-pasting
* jackdaniel endorses this decision
<MichaelRaskin> (closed in the end, of course)
<VincentVega> Wait, there are block comments in lisp?
<VincentVega> * in common lisp?
<jackdaniel> #| this is a block comment |#
<jackdaniel> ;;; this is a line comment
<jackdaniel> #+(or) 'this-is-the-next-form-comment
<jackdaniel> #+nil this-is-NOT-a-comment
<VincentVega> Cool, didn't know block comments were a thing.
<VincentVega> Thanks for the explanation.
<jackdaniel> be aware that slime sometimes gets confused by block comments
<VincentVega> OK
<jackdaniel> (probably because it tries to match regexps and does not actually read the code)
kaftejiman has quit [Ping timeout: 240 seconds]
<VincentVega> Yeah, I see.
<MichaelRaskin> #+nil This-is-not-a-comment-but-no-popular-implementation-has-feature-nil-so-it-is-deceptively-similar-to-one
yitzi has quit [Quit: yitzi]
anewuser has joined #lisp
smazga has joined #lisp
bsd4me has joined #lisp
zmyrgel has joined #lisp
bsd4me has left #lisp [#lisp]
jackdaniel has quit [Disconnected by services]
<VincentVega> : )
jackdaniel has joined #lisp
jackdaniel has left #lisp [#lisp]
jackdaniel has joined #lisp
anewuser has quit [Remote host closed the connection]
anewuser has joined #lisp
<jackdaniel> #+comment has the same dubious quality
anewuser has quit [Remote host closed the connection]
<jackdaniel> #feature-case ((:jd-hacks do-something) (otherwise do-something-else))
<jackdaniel> I saw such reader macro in some dwim utility
smazga has quit [Ping timeout: 264 seconds]
<Demosthenex> so, why isn't iolib including libfixposix in the quicklisp distribution?
smazga has joined #lisp
<phoe> that's... a good question I guess?
<Demosthenex> yeah, this unlabeled error of "cannot find lfp.h" has haunted me for days
<Demosthenex> upgraded sbcl, wiped and updated quicklisp, can't find it anywhere and with a tiny name it's poor search criteria
<Demosthenex> finally got a hit and found it's an iolib dependency, that isn't in gentoo's package manager
<Demosthenex> but... it's a tiny library, i would have thought it made more sense to just ship it
smazga has quit [Ping timeout: 240 seconds]
smazga has joined #lisp
bilegeek has quit [Quit: Leaving]
smazga has quit [Ping timeout: 240 seconds]
frgo_ has joined #lisp
frgo has quit [Ping timeout: 240 seconds]
zmyrgel has quit [Ping timeout: 258 seconds]
gaqwas has joined #lisp
gaqwas has quit [Changing host]
gaqwas has joined #lisp
dilated_dinosaur has quit [Ping timeout: 260 seconds]
kaftejiman_ has quit [Read error: Connection reset by peer]
kaftejiman has joined #lisp
smazga has joined #lisp
smazga has quit [Ping timeout: 265 seconds]
dilated_dinosaur has joined #lisp
VincentVega has quit [Ping timeout: 245 seconds]
wxie has joined #lisp
gaqwas has quit [Remote host closed the connection]
<dlowe> libfixposix
<dlowe> oops, sorry
<dlowe> That presumes a C compiler with which to build it.
<dlowe> I'm surprised it's not in gentoo, though - it's in debian.
MichaelRaskin has quit [Ping timeout: 240 seconds]
<phoe> AFAIK debian ships some ancient version though
<dlowe> it's the debian way :)
<dlowe> one useful improvement to iolib would be to explicitly check for libfixposix when building and produce a nice error before it even gets started
hendursa1 has quit [Quit: hendursa1]
MichaelRaskin has joined #lisp
hendursaga has joined #lisp
mangoicedtea has joined #lisp
smazga has joined #lisp
smazga has quit [Ping timeout: 240 seconds]
shangul has joined #lisp
gko_ has joined #lisp
Alloc has quit [Ping timeout: 240 seconds]
Alloc has joined #lisp
igemnace has quit [Quit: WeeChat 2.9]
shangul has quit [Remote host closed the connection]
smazga has joined #lisp
EvW has joined #lisp
gaqwas has joined #lisp
gaqwas has joined #lisp
gaqwas has quit [Changing host]
smazga has quit [Ping timeout: 246 seconds]
shangul has joined #lisp
jxy has quit [Ping timeout: 265 seconds]
kaftejiman has quit [Read error: Connection reset by peer]
kaftejiman has joined #lisp
cosimone has joined #lisp
smazga has joined #lisp
jxy has joined #lisp
goofist has joined #lisp
mangul has joined #lisp
shangul has quit [Disconnected by services]
mangul is now known as shangul
wxie has quit [Ping timeout: 240 seconds]
smazga has quit [Ping timeout: 256 seconds]
Alloc has quit [Ping timeout: 260 seconds]
Alloc has joined #lisp
yitzi has joined #lisp
kaftejiman has quit [Ping timeout: 246 seconds]
kaftejiman has joined #lisp
kaftejiman has quit [Remote host closed the connection]
mangul has joined #lisp
shangul has quit [Disconnected by services]
mangul is now known as shangul
krid` has joined #lisp
gigetoo has quit [Ping timeout: 256 seconds]
yitzi has quit [Read error: Connection reset by peer]
smazga has joined #lisp
yitzi has joined #lisp
jonatack_ has joined #lisp
smazga has quit [Ping timeout: 240 seconds]
shifty has quit [Ping timeout: 265 seconds]
flazh has quit [Ping timeout: 240 seconds]
mangoicedtea has quit [Quit: Leaving]
smazga has joined #lisp
flazh has joined #lisp
smazga has quit [Ping timeout: 240 seconds]
wxie has joined #lisp
gigetoo has joined #lisp
JohnMS has joined #lisp
ralt has joined #lisp
smazga has joined #lisp
gko_ has quit [Ping timeout: 256 seconds]
<Demosthenex> i think that's the thing. i've dug for days trying to find why nyxt won't build. it threw a grovel error, and i ended up having to upgrade sbcl and other things only to return to the same error message
<Demosthenex> lfp.h is such a small search term, it was hard to find :P
<Demosthenex> now i'm trying to use a local install and hack quicklisp to honor and pass on my CFLAGs to allow the include
<Demosthenex> alot of work when an error string would have really helped. ;]
smazga has quit [Ping timeout: 265 seconds]
Alloc has quit [Ping timeout: 240 seconds]
smazga has joined #lisp
Alloc has joined #lisp
yitzi has quit [Read error: Connection reset by peer]
EvW has quit [Ping timeout: 244 seconds]
cosimone has quit [Ping timeout: 240 seconds]
sedx\_` has joined #lisp
wxie has quit [Ping timeout: 256 seconds]
lucasb has joined #lisp
sedx\_` has quit [Ping timeout: 258 seconds]
sedx\_` has joined #lisp
goofist has quit [Ping timeout: 258 seconds]
puchacz has joined #lisp
<puchacz> hi, any sly users here? there is no autocomplete in lisp source files by default, I added the same autocomplete that is used in mrepl buffers, but it does not work 100% well, it leaves greenish background in completions.
dmr0x80 has quit [Quit: WeeChat 3.0-dev]
dmr0x80 has joined #lisp
edgar-rft has quit [Quit: Leaving]
nicktick has quit [Ping timeout: 264 seconds]
bitmapper has quit [Remote host closed the connection]
kingragworm has joined #lisp
bitmapper has joined #lisp
kingragworm has quit [Remote host closed the connection]
kaftejiman has joined #lisp
toorevitimirp has joined #lisp
toorevitimirp has quit [Client Quit]
toorevitimirp has joined #lisp
Bourne has quit [Ping timeout: 258 seconds]
Necktwi has joined #lisp
jxy has quit [Ping timeout: 258 seconds]
dra has joined #lisp
<dra> Hello!
<phoe> heyyyy
<beach> Hello dra.
toorevitimirp has quit [Remote host closed the connection]
<phoe> puchacz: the bugtracker for sly might be a good answer; the maintainer is very active there
<puchacz> phoe, thanks, I will have a look
jxy has joined #lisp
prite has joined #lisp
vutral has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
Bourne has joined #lisp
heisig has joined #lisp
JohnMS has quit [Quit: Konversation terminated!]
Cthulhux has joined #lisp
sedx\_` has quit [Quit: Nor cheats (swindlers and thieves), nor greedy graspers, nor drunkards, nor foulmouthed revilers and slanderers, nor extortioners and robbers will inherit or have any share in the kingdom of God. https://bit.ly/33tb5lx]
heisig has quit [Quit: Leaving]
sonologico has joined #lisp
AeroNotix has joined #lisp
smazga has quit [Ping timeout: 258 seconds]
<AeroNotix> is there a good source online for original high quality reproductions of Lisp advertisements/manual covers?
<AeroNotix> e.g. LMI/Symbolics etc
yitzi has joined #lisp
terpri__ has joined #lisp
jonatack_ has quit [Quit: jonatack_]
<phoe> beach: I remember you having a means of serializing Lisp objects to strings by means of printing them like [FOO:BAR :BAZ (1 2 3) :QUUX [FOO:FRED ...]] - is this code available anywhere?
terpri_ has quit [Ping timeout: 244 seconds]
jonatack has joined #lisp
<pve> that looks pretty clever, are :baz and :quux initargs?
smazga has joined #lisp
<phoe> yes
<phoe> [FOO ...] === (apply #'make-instance 'foo ...)
<pve> nice, I'm somewhat interested in this also
cosimone has joined #lisp
<pve> make-instance gets clunky pretty fast if you have lots of classes
<pve> oh wait, you didn't mean that that goes in the code, just when serializing?
smazga has quit [Ping timeout: 240 seconds]
cosimone has quit [Quit: Quit.]
yitzi has quit [Quit: yitzi]
gal has quit [Ping timeout: 244 seconds]
<phoe> just when serializing, I guess
<phoe> but I also guess that nothing prevents you from using this notation in code, since this is just reader syntax
akoana has joined #lisp
smazga has joined #lisp
<pve> yep, that's intriguing to me.. although I'm quite used to seeing [ Foo new :baz .. ] in my code at this point, so that might have something to do with it :)
jgodbout has joined #lisp
sonologico has quit [Remote host closed the connection]
<markasoftware> phoe: http://ix.io/2uUp ?
smazga has quit [Ping timeout: 240 seconds]
puchacz has quit [Remote host closed the connection]
AeroNotix has quit [Quit: WeeChat 2.9]
<markasoftware> actually that's broken a bit, i never actually used it yet
dmr0x80 has quit [Ping timeout: 240 seconds]
<phoe> markasoftware: oh, what's what?
dmr0x80 has joined #lisp
<phoe> it seems like a somewhat different thing
<markasoftware> http://ix.io/2uUu should work a bit better
<markasoftware> (consify (make-instance 'standard-object)) will return (:make-instance standard-object) for example, then (unconsify) the result will make it whole again
dmr0x80 has quit [Client Quit]
<phoe> oooh
<markasoftware> so you can print and read it
<phoe> yes, I see
<markasoftware> and it looks at the slots and adds initargs as necessary, eg, (defclass blop () ((bleep :initarg :bleep)) (consify (make-instance 'blop :bleep 5)) ==> (:make-instance blop :bleep 5)
cgay has joined #lisp
mseddon has joined #lisp
jw4 has quit [Read error: Connection reset by peer]
cgay has quit [Remote host closed the connection]
jw4 has joined #lisp
cgay has joined #lisp
terpri__ is now known as terpri
konsentrate has joined #lisp
terpri_ has joined #lisp
terpri has quit [Disconnected by services]
terpri_ is now known as terpri
smazga has joined #lisp
konsentrate has quit [Remote host closed the connection]
shangul has quit [Ping timeout: 256 seconds]
smazga has quit [Ping timeout: 240 seconds]
smazga has joined #lisp
jxy has quit [Ping timeout: 265 seconds]
vutral has quit [Quit: Connection closed for inactivity]
cosimone has joined #lisp
smazga has quit [Ping timeout: 264 seconds]
orivej has joined #lisp
jgodbout has quit [Quit: Ping timeout (120 seconds)]
Inline has quit [Ping timeout: 240 seconds]
Inline has joined #lisp
ralt has quit [Quit: Connection closed for inactivity]
jgodbout has joined #lisp
mindCrime has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
mindCrime has quit [Read error: Connection reset by peer]
orivej has joined #lisp
jxy has joined #lisp
gioyik has joined #lisp
<maplambda> anyone know why this program is giving me unbound variable errors
<maplambda> im writing it in protacle in a buffer and doing ctrl c ctrl c to send it to repl then it just enters debugger and says 'hello-you' is unbound
smazga has joined #lisp
<cgay> It says that when you hit C-c C-c on the defun? or ...?
<phoe> do you have any text selected when you do C-c C-c?
<maplambda> yea I select the entire program
<maplambda> in the top buffer
<phoe> what happens if you C-c C-k instead to compile-and-load the whole file?
jgodbout has quit [Quit: Connection closed]
<phoe> (save it somewhere first, for instance in /tmp/foo.lisp)
<maplambda> hm it says "wrote /home/anon/Downloads/portacle/helloworld.fasl
<maplambda> ; compilation finished in 0:00:00.006"
<maplambda> but no output
<maplambda> oh wait
<maplambda> ok maybe im just noob that worked I just had to call my function lol
<maplambda> why do I need to load the entire file too? as opposed to just compiling and sending to repl?
smazga has quit [Ping timeout: 240 seconds]
<phoe> oh, wait a second..
<phoe> how are you calling your function?
<phoe> C-c C-c should also work just fine as long as your point is inside the form that you want to compile-and-load
<maplambda> phoe, well I have a sbcl /slime buffer at the bottom. after I compile/load in the top buffer I write (hello-you "My name")
<phoe> then that should work fine
<phoe> no idea about the C-c C-c issue
smazga has joined #lisp
dilated_dinosaur has quit [Ping timeout: 240 seconds]
ralt has joined #lisp
smazga has quit [Ping timeout: 264 seconds]
gioyik has quit [Ping timeout: 240 seconds]
<mseddon> maplambda: did you forget maybe to invoke your function after loading it?
<maplambda> i think it works now ... i dont know what I was doing before. im also getting used to emacs
<mseddon> maplambda: ah, yes. emacs. it's a lot to take on at once, but hang in there. You'll figure it out quicker than you expect.
vutral has joined #lisp
<mseddon> maplambda: there is also an #emacs channel.
maplambda has quit [Changing host]
maplambda has joined #lisp
mindCrime has joined #lisp
dilated_dinosaur has joined #lisp
<cgay> I'm trying to debug a rather complicated macro. I expanded it, copied the expansion to a new function and compiled it in SLIME with C-c C-c but got many warnings for gensym'd uninterned symbols being undefined...
<cgay> "warning: undefined variable: #:BUFFER37043"
<cgay> I don't quite understand what's going on. If the uninterned symbols work in normal macro expansion shouldn't they work when I copy the expansion elsewhere?
<phoe> nope
<phoe> this is because #: creates a new symbol on each read
<cgay> d'oh. of course. thank you.
<phoe> so (eq '#:foo '#:foo) ;=> NIL
<phoe> bind *PRINT-GENSYM*, expand the macro, and copy that
<phoe> the #: will disappear and the copypasted text should work.
<mseddon> phoe: that is sneaky as hell. love it.
<phoe> mseddon: what do you mean?
<mseddon> it's actually a problem I've never had to solve, and that's extremely elegant.
gioyik has joined #lisp
<cgay> and it works during macro-expansion because no READ
<mseddon> exactly.
<phoe> oh
<phoe> well
<phoe> the mere existence of *PRINT-GENSYM* means that someone encountered it before
<mseddon> yup. And what I love about lisp, despite how weird and crufty it appears on the outside, is when you get stuck, there's a way out.
<ralt> omg
<cgay> In this particular case we really don't need to gensym variables since there's no &body, so maybe this is my "opportunity" to fix that.
<ralt> phoe: I think it's you who shared the comma tip in slime, thank you so much
<ralt> it's amazing everything I'm finding in there
<cgay> Was that an intentional analogy with comma in macros splicing something into a context? :)
<ralt> nope, just a reference to something that happened earlier today in this channel
<mseddon> cgay: It was probably more due to lack of interesting free keyboard symbols.
<ralt> if you type , in slime, you get all sorts of options
<cgay> ralt: right, I mean the choice of comma as the escape character
hiroaki has quit [Remote host closed the connection]
hiroaki has joined #lisp
<phoe> more like the fact that a free comma is invalid Lisp anyway
<phoe> especially when it begins a form
<phoe> so it was repurposed for something that actually makes sense
zigpaw1 has quit [Ping timeout: 246 seconds]
prite has quit [Ping timeout: 246 seconds]
anewuser has joined #lisp
smazga has joined #lisp
Inline has quit [Ping timeout: 240 seconds]
anewuser has quit [Remote host closed the connection]
gravicappa has quit [Ping timeout: 240 seconds]
anewuser has joined #lisp
anewuser has quit [Remote host closed the connection]
smazga has quit [Ping timeout: 240 seconds]
zigpaw1 has joined #lisp
smazga has joined #lisp
CrazyEddy has joined #lisp
cosimone has quit [Quit: Quit.]
smazga has quit [Ping timeout: 246 seconds]
smazga has joined #lisp
vutral has quit []
mseddon has quit [Quit: Leaving]
smazga has quit [Ping timeout: 240 seconds]
EvW1 has joined #lisp
smazga has joined #lisp
ggole has quit [Quit: Leaving]
jibanes has quit [Ping timeout: 240 seconds]
smazga has quit [Ping timeout: 258 seconds]
jibanes has joined #lisp
smazga has joined #lisp
<markasoftware> huh, Serapeum has a utility for making all instances of a metaclass inherit from a certain class, which was discussed here a couple days ago.
housel has quit [Read error: Connection reset by peer]
nullman has quit [Quit: Lost terminal]
nullman has joined #lisp
nullman has quit [Client Quit]
nullman has joined #lisp
space_otter has quit [Remote host closed the connection]
smazga has quit [Ping timeout: 260 seconds]
ft has quit [Read error: Connection reset by peer]
<phoe> oh? how is it named?
smazga has joined #lisp
housel has joined #lisp
krid` has quit [Ping timeout: 265 seconds]
gal has joined #lisp
smazga has quit [Ping timeout: 246 seconds]
cosimone has joined #lisp
<markasoftware> it's described at the bottom of the github readme. It is used by making a metaclass that is a subclass of serapeum:topmost-object-class and passing the option (:topmost-class 'my-superclass) to defclass
Inline has joined #lisp
<markasoftware> (the defclass for your metaclass, that is)
borodust has joined #lisp
<phoe> oooh
<phoe> nice! I can dig that
<phoe> this solves a slightly different problem, however; it does not recursively modify other classes' CPLs to include that class
<phoe> s/recursively/retroactively/
<phoe> it's more like a method to always include a certain class in the CPL of classes that are defined *afterwards*
<ralt> TIL serapeum
<ralt> I dig its ecase-of
<markasoftware> phoe: when would it be necessary to modify existing classes? Changing the metaclass definition after classes with that metaclass already have been defined?
smazga has joined #lisp
jurov_ has joined #lisp
krid` has joined #lisp
smazga has quit [Ping timeout: 256 seconds]
jurov has quit [Ping timeout: 246 seconds]
jurov_ has quit [Remote host closed the connection]
jurov has joined #lisp
<phoe> yes
<phoe> and this is basically a no-no if you don't own these classes.
libertyprime has quit [Ping timeout: 265 seconds]
libertyprime has joined #lisp
smazga has joined #lisp
smazga has quit [Ping timeout: 240 seconds]
Jesin has quit [Quit: Leaving]
terpri has quit [Ping timeout: 240 seconds]
terpri has joined #lisp
SAL9000 has quit [Ping timeout: 246 seconds]
SAL9000 has joined #lisp
lisper29 has joined #lisp
nicktick has joined #lisp
pve has quit [Quit: leaving]
mangoicedtea has joined #lisp
nullheroes has quit [Quit: WeeChat 2.9]
shifty has joined #lisp
lisper29 has left #lisp ["Leaving"]
Jabberwockey has joined #lisp
terpri has quit [Remote host closed the connection]
terpri has joined #lisp
liberliver has quit [Ping timeout: 258 seconds]
smazga has joined #lisp
cgay has quit [Remote host closed the connection]
cosimone has quit [Quit: Quit.]
smazga has quit [Ping timeout: 265 seconds]
Jabberwockey has quit [Quit: Verlassend]
_whitelogger has joined #lisp
Inline has quit [Ping timeout: 265 seconds]
smazga has joined #lisp
smazga has quit [Ping timeout: 264 seconds]
shifty has quit [Ping timeout: 258 seconds]
mindCrime has quit [Read error: Connection reset by peer]
smazga has joined #lisp
<markasoftware> (subtypep 'integer '(or (integer * 5) (integer 2))) ==> t
<markasoftware> mind blown
smazga has quit [Ping timeout: 265 seconds]
<markasoftware> (found while investigating how serapeum implemented typecase-of and friends)
dominic34 has joined #lisp
madage has quit [Ping timeout: 240 seconds]
mangoicedtea has quit [Quit: Leaving]
random-nick has quit [Ping timeout: 240 seconds]
smazga has joined #lisp