jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <http://cliki.net/> <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.5.4, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
<LdBeth> I’d like to help but I don’t have a Linux to test
lxbarbosa has quit [Read error: Connection reset by peer]
hiroaki has quit [Ping timeout: 245 seconds]
swflint has quit [Ping timeout: 276 seconds]
swflint has joined #lisp
MetaYan has quit [Ping timeout: 246 seconds]
keep_learning has joined #lisp
<bjorkintosh> thijso, you're using ecl on android?
Josh_2 has joined #lisp
hiroaki has joined #lisp
Arcaelyx has joined #lisp
buffergn0me has joined #lisp
igemnace has joined #lisp
igemnace has quit [Remote host closed the connection]
MetaYan has joined #lisp
_jrjsmrtn has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 240 seconds]
Lycurgus has quit [Quit: Exeunt]
orivej has quit [Ping timeout: 268 seconds]
hiroaki has quit [Ping timeout: 250 seconds]
semz has quit [Ping timeout: 245 seconds]
akoana has joined #lisp
hiroaki has joined #lisp
hiroaki_ has joined #lisp
hiroaki has quit [Ping timeout: 240 seconds]
lxbarbosa has joined #lisp
raghavgururajan has joined #lisp
khisanth_ has quit [Ping timeout: 240 seconds]
khisanth_ has joined #lisp
semz has joined #lisp
semz has joined #lisp
semz has quit [Changing host]
bitmapper has quit [Ping timeout: 268 seconds]
jasom has quit [Ping timeout: 264 seconds]
torbo has joined #lisp
techquila has joined #lisp
dale has quit [Read error: Connection reset by peer]
dale has joined #lisp
akoana has left #lisp ["Leaving"]
SystemXProc has quit [Quit: ZNC 1.7.5 - https://znc.in]
SystemXProc has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]
buffergn0me has quit [Ping timeout: 245 seconds]
pfdietz has quit [Ping timeout: 260 seconds]
analogue has quit [Quit: Leaving]
quazimodo has joined #lisp
pjb has quit [Ping timeout: 264 seconds]
<Ober> lot of new failures
rople has joined #lisp
buffergn0me has joined #lisp
ahungry has joined #lisp
shifty has joined #lisp
rople has quit [Ping timeout: 276 seconds]
rople has joined #lisp
ahungry has quit [Ping timeout: 268 seconds]
buffergn0me has quit [Ping timeout: 245 seconds]
igemnace has joined #lisp
igemnace has quit [Read error: Connection reset by peer]
mindthelion has joined #lisp
techquila has quit [Ping timeout: 250 seconds]
toorevitimirp has joined #lisp
igemnace has joined #lisp
dale has quit [Ping timeout: 276 seconds]
Necktwi has joined #lisp
Josh_2 has quit [Remote host closed the connection]
dale has joined #lisp
zmv has quit [Remote host closed the connection]
techquila has joined #lisp
dale has quit [Read error: Connection reset by peer]
dale has joined #lisp
marusich has joined #lisp
mindthelion has quit [Ping timeout: 265 seconds]
igemnace has quit [Remote host closed the connection]
notzmv has joined #lisp
toorevitimirp has quit [Ping timeout: 268 seconds]
toorevitimirp has joined #lisp
catalinbostan has joined #lisp
catalinbostan has quit [Read error: Connection reset by peer]
Arcaelyx has quit [Quit: Arcaelyx]
Bike has quit [Quit: Lost terminal]
Josh_2 has joined #lisp
agspathis has joined #lisp
Arcaelyx 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
Berra has joined #lisp
<Berra> I want to evaluate some x and then quasiquote what it evaluated to. Is this possible?
<Josh_2> with a macro?
<Berra> Josh_2: Hm, right so no way with just primitive quoting and eval?
mathrick has quit [Ping timeout: 264 seconds]
<Josh_2> aren't you better off just putting the result in a list?
<Berra> Josh_2: Then the AST wouldn't be isomorphic to what I'm trying to parse afaik
<Josh_2> alrighty
<Berra> It feels frustrating, I would just like to be able to define a continuation to that evaluation and quote that.
<Berra> But any evaluation that I try to quote obviously also quotes that evaluation. There must be something I'm missing.
learning has joined #lisp
toorevitimirp has quit [Ping timeout: 240 seconds]
toorevitimirp has joined #lisp
<Josh_2> Berra: I'm sorry but that's a bit above my pay grade xD If you wait a little while beach will probably be up and I'm sure he will be able to help if no one else has by then
lxbarbosa has quit [Remote host closed the connection]
<Berra> Josh_2: Alright, thanks for the help anyhow.
sauvin has quit [Read error: Connection reset by peer]
toorevitimirp has quit [Ping timeout: 268 seconds]
toorevitimirp has joined #lisp
sauvin has joined #lisp
learning has quit [Remote host closed the connection]
<Berra> Something like `',x works because the unescape still evaluates x because that's not prevented by the quote. But ``,x does not work, because the outermost quasiquote won't evaluate the escaped x because of the innermost one.
<Berra> ``,,x almost does what I want, but I don't understand why so I need to read more about quasiquote escapes..
torbo has quit [Remote host closed the connection]
toorevitimirp has quit [Ping timeout: 265 seconds]
toorevitimirp has joined #lisp
<Berra> If x evaluates to y then ``,,x yields `,y which is isomorphic to y I think...
<Berra> What I want to know is if it's just isomorphic or actually equal.
lxbarbosa has joined #lisp
<beach> Good morning everyone!
mathrick has joined #lisp
Arcaelyx has quit [Quit: Arcaelyx]
ahungry has joined #lisp
buffergn0me has joined #lisp
<Berra> It would be easy if I allowed myself to evaluate the quoting semantics in parsing, but that's incorrect, right?
<no-defun-allowed> Yes, that would be incorrect.
<no-defun-allowed> (let ((x 2)) `,x) would not work as the reader does not have access to the lexical environment.
<no-defun-allowed> However, I don't think the representation of backquote is defined, so you could simplify it to (let ((x 2)) x).
<Berra> What I'm trying to do is that I want to parse a Lisp and I want to parse it into an actual Lisp AST, since the parsing is done by a Lisp. But I'm running into this problem.
<no-defun-allowed> Hm, so you'd like to read `x and get (quasiquote x) or something like that?
<Berra> no-defun-allowed: Something like that, yes. But since `x represents the actual parsing of a datum (x) in this case, I need to evaluate x since the quote is not supposed to be quote x but instead that that datum is.
<Berra> x represents say (cons x1 x2) so I need to parse into `(cons x1 x2) and not `x
<no-defun-allowed> I think what you're asking for is different than CL quasiquote then, and I barely understand that quasiquote.
<Berra> Ok, that's my fault. I entered #lisp because yeah- but I'm actually writing the parser in a subset of Scheme
<no-defun-allowed> And that quasiquote is the same as Scheme quasiquote, but the representation in Scheme is defined.
<X-Scale> Berra: there's also #scheme
<Berra> X-Scale: Thanks
<Berra> no-defun-allowed: Will have a read and see if things become clearer
<no-defun-allowed> Everyone that isn't Berra should mentally replace any `define` in that article with `defvar`, but it just describes what to translate in English to list building functions, so you should be okay.
<Berra> Great stuff, thanks
vlatkoB has joined #lisp
ahungry has quit [Remote host closed the connection]
Kaisyu7 has quit [Quit: ERC (IRC client for Emacs 26.3)]
<Berra> Problem is just those mappings really. But the representation is tripping me up. The article makes perfect sense from the perspective of interpretation and code generation, but I should refrain from such semantics in parsing right?
<Berra> Maybe I cannot avoid doing either of two things. Either create an arbitrary representation for quotation that isn't the defacto one in the Lisp I'm wiring my parser in.
<Berra> Or do part of the quote evaluation as I'm parting.
<no-defun-allowed> Yeah, that translation step would be somewhere in the interpreter.
<Berra> '('my-quasiquote x)
<no-defun-allowed> You might write a macro for QUASIQUOTE which translates its body to that list building code.
mathrick has quit [Ping timeout: 250 seconds]
<Berra> Thinking more about it right now I'm thinking that I can't use any of the quotation semantics of the Lisp I'm parsing with.
dale has quit [Quit: My computer has gone to sleep]
Kaisyu7 has joined #lisp
Kaisyu7 has quit [Client Quit]
manualcrank has quit [Quit: WeeChat 1.9.1]
agspathis has quit [Quit: ERC (IRC client for Emacs 27.0.50)]
makomo has joined #lisp
ltriant has quit [Quit: leaving]
<Berra> no-defun-allowed: Well so yeah I think I need to forgo using quoting in my AST representation of the Lisp I'm parsing and just create my own symbols to represent quoting.
<Berra> no-defun-allowed: But it still annoyed me a bit that I could figure out how to do the quoting as a continuation
<Berra> Closest was ``,,x -> `y
<Berra> ``,, -> `,y
EvW has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
clothespin has joined #lisp
shka_ has joined #lisp
anewuser has joined #lisp
toorevitimirp has quit [Ping timeout: 265 seconds]
toorevitimirp has joined #lisp
Kaisyu7 has joined #lisp
makomo has quit [Ping timeout: 240 seconds]
toorevitimirp has quit [Ping timeout: 240 seconds]
hiroaki_ has quit [Ping timeout: 268 seconds]
JohnMS_WORK has joined #lisp
JohnMS_WORK has quit [Read error: Connection reset by peer]
shka_ has quit [Ping timeout: 276 seconds]
toorevitimirp has joined #lisp
anewuser has quit [Quit: anewuser]
JohnMS_WORK has joined #lisp
EvW has quit [Ping timeout: 245 seconds]
jonatack has quit [Quit: jonatack]
Lycurgus has joined #lisp
scymtym has quit [Ping timeout: 265 seconds]
varjag has joined #lisp
ralt has joined #lisp
khisanth_ has quit [Ping timeout: 250 seconds]
karlosz has quit [Quit: karlosz]
duuqnd has joined #lisp
frgo has quit [Ping timeout: 268 seconds]
manualcrank has joined #lisp
kajo has quit [Ping timeout: 246 seconds]
khisanth_ has joined #lisp
karlosz has joined #lisp
toorevitimirp has quit [Ping timeout: 240 seconds]
mindthelion has joined #lisp
techquila has quit [Ping timeout: 240 seconds]
gravicappa has joined #lisp
toorevitimirp has joined #lisp
buffergn0me has left #lisp ["ERC (IRC client for Emacs 26.2)"]
schjetne has joined #lisp
scymtym has joined #lisp
decent-username has joined #lisp
toorevitimirp has quit [Ping timeout: 268 seconds]
karlosz has quit [Quit: karlosz]
schjetne has quit [Ping timeout: 240 seconds]
frgo has joined #lisp
schjetne has joined #lisp
manualcrank has quit [Quit: WeeChat 1.9.1]
frgo has quit [Ping timeout: 265 seconds]
schjetne has quit [Ping timeout: 265 seconds]
toorevitimirp has joined #lisp
schjetne has joined #lisp
milanj has joined #lisp
toorevitimirp has quit [Ping timeout: 240 seconds]
toorevitimirp has joined #lisp
schjetne has quit [Ping timeout: 240 seconds]
Kaisyu7 has quit [Remote host closed the connection]
space_otter has joined #lisp
Kaisyu7 has joined #lisp
schjetne has joined #lisp
hhdave has joined #lisp
jprajzne has joined #lisp
toorevitimirp has quit [Ping timeout: 268 seconds]
toorevitimirp has joined #lisp
hhdave has quit [Ping timeout: 268 seconds]
Mandus has quit [Read error: Connection reset by peer]
Mandus has joined #lisp
schjetne has quit [Ping timeout: 265 seconds]
srji has quit [Ping timeout: 240 seconds]
<thijso> bjorkintosh: yes, ECL on android, using EQL5-Android (port of EQL5 for android, which is Qt5 for CL). It works, mostly, but there are still a lot of issues with it (such as segfaults...)
<thijso> LdBeth: I think I saw you had a fork of clfswm on github? Do you use it?
toorevitimirp has quit [Ping timeout: 245 seconds]
toorevitimirp has joined #lisp
schjetne has joined #lisp
heisig has joined #lisp
schjetne has quit [Ping timeout: 276 seconds]
schjetne has joined #lisp
schjetne has quit [Ping timeout: 268 seconds]
toorevitimirp has quit [Ping timeout: 240 seconds]
toorevitimirp has joined #lisp
schjetne has joined #lisp
schjetne has quit [Ping timeout: 240 seconds]
toorevitimirp has quit [Ping timeout: 240 seconds]
toorevitimirp has joined #lisp
raghavgururajan has quit [Read error: Connection reset by peer]
schjetne has joined #lisp
toorevitimirp has quit [Ping timeout: 245 seconds]
decent-username has quit [Ping timeout: 246 seconds]
toorevitimirp has joined #lisp
schjetne has quit [Ping timeout: 245 seconds]
scymtym has quit [Ping timeout: 245 seconds]
toorevitimirp has quit [Remote host closed the connection]
quazimodo has quit [Ping timeout: 240 seconds]
toorevitimirp has joined #lisp
quazimodo has joined #lisp
Lycurgus has quit [Quit: Exeunt]
toorevitimirp has quit [Remote host closed the connection]
dddddd has quit [Remote host closed the connection]
toorevitimirp has joined #lisp
zotan has quit [Quit: ZNC 1.6.5+deb1+deb9u2 - http://znc.in]
zotan has joined #lisp
Mandus has quit [Ping timeout: 268 seconds]
cosimone has joined #lisp
toorevitimirp has quit [Ping timeout: 265 seconds]
duuqnd has quit [Ping timeout: 268 seconds]
frgo has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
Mandus has joined #lisp
schjetne has joined #lisp
schweers has joined #lisp
space_otter has quit [Remote host closed the connection]
schjetne has quit [Ping timeout: 250 seconds]
pjb has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
ludston has joined #lisp
quazimodo has quit [Ping timeout: 240 seconds]
hjudt has quit [Quit: leaving]
hjudt has joined #lisp
zdm has joined #lisp
schjetne has joined #lisp
duuqnd has joined #lisp
FreeBirdLjj has joined #lisp
ljavorsk has joined #lisp
orivej has joined #lisp
schjetne has quit [Ping timeout: 250 seconds]
ljavorsk has quit [Ping timeout: 245 seconds]
milanj has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
duuqnd has quit [Ping timeout: 240 seconds]
ljavorsk has joined #lisp
ebrasca has joined #lisp
rople has quit [Ping timeout: 265 seconds]
ggole has joined #lisp
<flip214> how would a CFFI callback function refer to variables in some outer lisp function? I've got a void* available that gets passed around, but I see no mention in CFFI about getting a closure or so.
pioneer42 has joined #lisp
schjetne has joined #lisp
ljavorsk has quit [Ping timeout: 245 seconds]
bitmapper has joined #lisp
<p_l> hmm, LispWorks personal is going to be useless on new Macs
cosimone has quit [Quit: Terminated!]
pioneer42 has left #lisp [#lisp]
<Shinmera> flip214: you'll want to keep a table of your own that lets you get an object from that pointer/whatever.
<Shinmera> the callback has to be toplevel, so you have to synchronise over global state.
<Shinmera> sorry.
reggie__ has joined #lisp
shifty has quit [Ping timeout: 265 seconds]
reggie_ has quit [Ping timeout: 240 seconds]
shifty has joined #lisp
zdm has left #lisp ["nil"]
quazimodo has joined #lisp
duuqnd has joined #lisp
<lxbarbosa> Python 3.8 is out and now it almost is becoming a subset of Lisp :D (positional only parameters and assignment expressions)
<lxbarbosa> almost ...
<Shinmera> Thank god Python is off-topic.
<lxbarbosa> lol
<flip214> Shinmera: thanks! I'd have hoped for some "easy" way ;)
<Shinmera> Ain't hard, just annoying.
<Shinmera> But that's C for ya
<flip214> Shinmera: hmmm... no. CFFI could allow to use a void* to "get back" to the lisp closures (as long as the implementation supports that too, of course)
EvW has joined #lisp
schjetne has quit [Ping timeout: 276 seconds]
ludston has quit [Ping timeout: 268 seconds]
lucasb has joined #lisp
schjetne has joined #lisp
kajo has joined #lisp
<p_l> theoretically it could provide callback to a closure in general, but yeah, implementation support needed
Lycurgus has joined #lisp
Bike has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
m00natic has joined #lisp
EvW has quit [Ping timeout: 250 seconds]
Lycurgus has quit [Ping timeout: 250 seconds]
schjetne has quit [Ping timeout: 276 seconds]
schjetne has joined #lisp
cosimone has joined #lisp
lxbarbosa has quit [Remote host closed the connection]
quazimodo has quit [Ping timeout: 265 seconds]
quazimodo has joined #lisp
gxt has joined #lisp
gravicappa has quit [Ping timeout: 240 seconds]
gravicappa has joined #lisp
quazimodo has quit [Ping timeout: 240 seconds]
sellout-1 has joined #lisp
sellout- has quit [Ping timeout: 240 seconds]
Arcaelyx has joined #lisp
Berra has quit [Remote host closed the connection]
Cymew has quit [Read error: No route to host]
Cymew has joined #lisp
pfdietz has joined #lisp
FreeBirdLjj has joined #lisp
JohnMS_WORK has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
schjetne has quit [Ping timeout: 246 seconds]
clothespin has quit [Ping timeout: 276 seconds]
<dlowe> does anyone here work on parenscript?
dddddd has joined #lisp
cosimone has quit [Quit: Terminated!]
toorevitimirp has joined #lisp
<loke> dlowe: I used to use it.
<loke> I like using it for writing view functions for Couchdb
<dlowe> Yeah, I have a not-very-serious documentation typo I wanted to mention
ljavorsk has joined #lisp
warweasle has joined #lisp
bitmapper has quit [Ping timeout: 245 seconds]
schjetne has joined #lisp
smazga has joined #lisp
<ebrasca> Hi
learning has joined #lisp
manualcrank has joined #lisp
toorevitimirp has quit [Ping timeout: 240 seconds]
learning has quit [Client Quit]
nika_ has joined #lisp
schjetne has quit [Ping timeout: 265 seconds]
Cymew has quit [Quit: Konversation terminated!]
Cymew has joined #lisp
rippa has joined #lisp
<beach> Hello ebrasca.
Arcaelyx has quit [Ping timeout: 240 seconds]
Inline has joined #lisp
toorevitimirp has joined #lisp
toorevitimirp has quit [Remote host closed the connection]
Arcaelyx has joined #lisp
enrio has joined #lisp
heisig has quit [Quit: Leaving]
amerlyq has joined #lisp
cosimone has joined #lisp
Arcaelyx has quit [Quit: Arcaelyx]
decent-username has joined #lisp
sjl_ has joined #lisp
sjl_ has quit [Client Quit]
<ebrasca> Assambler is hard to understand.
scymtym has joined #lisp
<p_l> ebrasca: how so?
edgar-rft has quit [Quit: Leaving]
dale_ has joined #lisp
dale_ is now known as dale
retropikzel has joined #lisp
<ebrasca> p_l: I try to port Mezzano to Talos II , I have done some initial work.
<p_l> that's the context I took :)
<ebrasca> p_l: But I am not sure how to combine assambler instructions.
FreeBirdLjj has quit [Remote host closed the connection]
ljavorsk has quit [Ping timeout: 265 seconds]
Lycurgus has joined #lisp
<p_l> what do you mean by "combine assembler instructions" in this case?
catalinbostan has joined #lisp
<ebrasca> Like how to make stack pile.
<ebrasca> I think I understand how to add numbers and some other easy tasks.
<p_l> ahh
<p_l> usually, for stack, you just declare some location (usually register) to hold "top" of the stack
<p_l> when you want to push something on the stack, you increment/decrement (depends on ABI) that register, and write data into new location
<p_l> let's say I want to put 4-byte integer 0xDEADBEEF on the stack
retropikzel has quit [Remote host closed the connection]
igemnace has joined #lisp
<p_l> (add *stack-register* *stack-register* 4) (STORE *stack-register* #|Here used for its value as address!|# #XDEADBEEF)
<p_l> this is making some assumptions about instructions etc
<p_l> I'd recommend checking how amd64 mezzano code handles ABI
<p_l> things like entry into function, return from function, etc.
jprajzne has quit [Quit: jprajzne]
jprajzne has joined #lisp
mathrick has joined #lisp
<ebrasca> codegen code is like magic
jprajzne has quit [Client Quit]
<p_l> hmm
jprajzne has joined #lisp
<p_l> I think there was some interesting examples, for SBCL but showing how codegen happens
<p_l> https://www.pvk.ca/Blog/2014/03/15/sbcl-the-ultimate-assembly-code-breadboard/ <--- this shows simple FORTH implemented into native code, including actually loading instructions into memory etc.
<p_l> it still uses SBCL's VOP framework, so it might be not exact, but it might shine some light
Lord_of_Life_ has joined #lisp
<ebrasca> It have "Create stack frame" .
LiamH has joined #lisp
<ebrasca> It start with "push" and "mov64"
Lord_of_Life has quit [Ping timeout: 250 seconds]
Lord_of_Life_ is now known as Lord_of_Life
EvW1 has joined #lisp
jgkamat has quit [Quit: ZNC - https://znc.in]
enrio has quit [Quit: Leaving]
jgkamat has joined #lisp
schweers has quit [Ping timeout: 245 seconds]
schweers has joined #lisp
sjl has joined #lisp
stepnem has quit [Ping timeout: 240 seconds]
nika_ has quit [Read error: Connection reset by peer]
schweers has quit [Ping timeout: 264 seconds]
<p_l> it has a bit more
<p_l> but it's stretched across multiple methods
stepnem has joined #lisp
TexadimirLeanin has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
<TexadimirLeanin> If I already know about c++ and c and have messed with emacs for a couple years now, how long does it take to learnt he language basics of elisp?
<TexadimirLeanin> can you learn the language syntax and concepts of elisp in a couple days or is this a longer journey?
<Josh_2> TexadimirLeanin Sorry, this is the IRC channel for Common Lisp, not elisp... but lisps syntax is pretty different, it won't take long to use it but I'd say it will take longer to 'get it'
<p_l> I recommend sticking for few weeks writing some programs, then figuring if it's still a problem. and by weeks I mean weeks measured by "every weekday I wrote a small program"
decent-username has quit [Remote host closed the connection]
ljavorsk has joined #lisp
schweers has joined #lisp
schweers has quit [Client Quit]
housel has quit [Ping timeout: 245 seconds]
schjetne has joined #lisp
<p_l> TexadimirLeanin: the point is to spend some time immersing in the language, to verify that first impression (which is invariably based on existing programming experience) doesn't cloud perception
housel has joined #lisp
<TexadimirLeanin> p_L Josh_2 i see, this is what i suspected from what i could gleam off of my emacs config file...
Inline has quit [Ping timeout: 264 seconds]
frgo has quit [Remote host closed the connection]
ljavorsk has quit [Ping timeout: 276 seconds]
jgkamat has quit [Quit: ZNC - https://znc.in]
slyrus_ has joined #lisp
jgkamat has joined #lisp
slyrus has quit [Ping timeout: 276 seconds]
slyrus__ has joined #lisp
Inline has joined #lisp
notzmv has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
slyrus_ has quit [Ping timeout: 265 seconds]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
housel has quit [Ping timeout: 264 seconds]
jasom has joined #lisp
housel has joined #lisp
Oladon_work has joined #lisp
m00natic has quit [Remote host closed the connection]
clothespin has joined #lisp
karlosz has joined #lisp
jgkamat has quit [Ping timeout: 265 seconds]
<thijso> How can I substitute a different function only if that different function (in a different package) is defined? I tried something like: (when (find-package 'dht-test) (setf (symbol-function '%debuglog) #'dht-test:%debuglog)) but then it complains about there not being a package called dht-test during compilation. This is in ECL, btw
<Bike> instead of #'dht-test:%debuglog, (fdefinition (find-symbol "%DEBUGLOG" "DHT-TEST")), i guess
<Xach> thijso: you could defer...like bike said
<thijso> Ah, thanks
<thijso> I was looking how I could do (symbol-function .. in a certain package, but that doesn't exist. Thanks, Bike
<Bike> symbol function works with a symbol, so you just need to have the right symbol
<thijso> yay, that seems to work
<thijso> so (symbol-funtion (find-symbol ..)) would also work?
<thijso> just to understand
gareppa has joined #lisp
jgkamat has joined #lisp
<Bike> yes, fdefinition is like symbol-function except that it can also deal with setf functions.
Lycurgus has quit [Quit: Exeunt]
TexadimirLeanin has left #lisp ["no reason"]
quantico has joined #lisp
<quantico> hi, i understand this may be the wrong place entirely to ask, but does anyone have an idea on how i may run this lisp program?
<quantico> it's apparently a new dialect of lisp called Bel "written in itself" but i have no idea how to make it run. o_o
<dlowe> quantico: this channel is for common lisp and no one can make it run
<dlowe> if you want to talk about lisp other than common lisp, please join ##lisp
<p_l> quantico: but generally probably you need to get a copy of Bel from Paul Graham
Inline has quit [Ping timeout: 264 seconds]
Inline has joined #lisp
slyrus has joined #lisp
ggole has quit [Ping timeout: 245 seconds]
ggole- has joined #lisp
Inline__ has joined #lisp
Inline__ has quit [Read error: Connection reset by peer]
slyrus__ has quit [Ping timeout: 240 seconds]
<p_l> except it appears there's none
Inline__ has joined #lisp
Inline__ has quit [Read error: Connection reset by peer]
gxt has quit [Ping timeout: 260 seconds]
<quantico> p_l: right, dlowe thanks i appreciate that feedback and will redirect myself
Inline__ has joined #lisp
Inline__ has quit [Read error: Connection reset by peer]
Inline has quit [Ping timeout: 264 seconds]
gareppa has quit [Quit: Leaving]
ggole_ has joined #lisp
Inline has joined #lisp
mindCrime has joined #lisp
makomo has joined #lisp
Necktwi has quit [Quit: leaving]
catalinbostan has quit [Read error: Connection reset by peer]
ggole- has quit [Ping timeout: 250 seconds]
makomo has quit [Client Quit]
bitmapper has joined #lisp
shka_ has joined #lisp
mindCrime has quit [Remote host closed the connection]
ggole_ has quit [Client Quit]
Arcaelyx has joined #lisp
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
frgo has joined #lisp
gxt has joined #lisp
karlosz has quit [Quit: karlosz]
clothespin has quit [Ping timeout: 265 seconds]
igemnace has quit [Quit: WeeChat 2.6]
edgar-rft has joined #lisp
igemnace has joined #lisp
duuqnd has quit [Ping timeout: 240 seconds]
nowhere_man has joined #lisp
gxt has quit [Ping timeout: 260 seconds]
mikecheck has joined #lisp
Arcaelyx has quit [Quit: Arcaelyx]
shifty has joined #lisp
EvW1 has quit [Ping timeout: 245 seconds]
Josh_2 has quit [Read error: Connection reset by peer]
varjag has joined #lisp
sauvin has quit [Read error: Connection reset by peer]
milanj has quit [Quit: This computer has gone to sleep]
EvW has joined #lisp
gxt has joined #lisp
hiroaki_ has joined #lisp
ebrasca has quit [Remote host closed the connection]
bitmapper has quit [Ping timeout: 264 seconds]
vlatkoB has quit [Remote host closed the connection]
vlatkoB has joined #lisp
jeosol has quit [Remote host closed the connection]
Oladon_work has quit [Ping timeout: 260 seconds]
vlatkoB has quit [Remote host closed the connection]
decent-username has joined #lisp
milanj has joined #lisp
clothespin has joined #lisp
shifty has quit [Ping timeout: 245 seconds]
shifty has joined #lisp
scymtym has quit [Ping timeout: 250 seconds]
bitmapper has joined #lisp
Bike has quit [Remote host closed the connection]
Bike has joined #lisp
hiroaki_ has quit [Ping timeout: 246 seconds]
hiroaki_ has joined #lisp
pfdietz has quit [Remote host closed the connection]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
fsmunoz has joined #lisp
gravicappa has quit [Ping timeout: 276 seconds]
scymtym has joined #lisp
decent-username has quit [Ping timeout: 246 seconds]
Bike has quit [Remote host closed the connection]
Bike has joined #lisp
amerlyq has quit [Quit: amerlyq]
shka_ has quit [Ping timeout: 246 seconds]
<LdBeth> After I start learning APL I now think if abstraction is really helpful?
<LdBeth> Why people need start with design class hierarchy/ADTs to programming
<Shinmera> This seems hardly on topic.
raghavgururajan has joined #lisp
milanj has quit [Quit: Leaving]
dgtlcmo has joined #lisp
Arcaelyx has joined #lisp
EvW has quit [Ping timeout: 250 seconds]
<LdBeth> Maybe, but I always find such a itch
<LdBeth> > Programmer B feels honor-bound to retain the existing abstraction, but since isn't exactly the same for every case, they alter the code to take a parameter, and then add logic to conditionally do the right thing based on the value of that parameter.
<LdBeth> sometimes I feel I'm the Programmer B when I use a class from a CL lib
hiroaki_ has quit [Ping timeout: 246 seconds]
<Shinmera> Sorry to hear that.
<aeth> CL isn't a particuarly noun-based language, and deep inheritance hierarchies don't seem to be too common. The last time I used inheritance at all, it was for gray streams
<aeth> I'm guessing CLIM is probably the major use of inheritance in CL
<Shinmera> ???
gjvc has joined #lisp
<gjvc> i got "Lisp in small pieces" today
clothespin has quit [Ping timeout: 240 seconds]
<aeth> Shinmera: Compare an average CLOS system to an average Java or C++ system. In the latter, you're far more likely to have to rely on flow charts of interactions between heavy inheritance-using classes, while in the former you're probably going to be working mainly with generics that are almost indistinguishable from regular functions. And quite often you're supposed to use :before/:after/:around on those to customize, instead of inheritance.
<aeth> At least ime
<gjvc> aeth sounds about right to me
<aeth> Shinmera: The main place where I've personally used inheritance heavily is in the way trivial-gray-streams works (which might be one reason why they're not universally liked), and I suspect CLIM is similar but I haven't used it yet.
<aeth> Sorry for writing it poorly the first time around, I'm exhausted
<aeth> What I mean about noun-based is that in Java/C++/etc., your APIs are often noun-oriented, while even in CLOS-heavy CL, your APIs are probably still verb-oriented (in this case generic functions rather than regular functions)
<Shinmera> I'm more confused about your assumption that CLIM is the only real user of inheritance hierarchies.
<aeth> Shinmera: I didn't say "the only real user", I said "the major use" as in "the most elaborate". I haven't read any documentation as elaborate as CLIM for anything else quite like that, but feel free to show me something else.
<aeth> It has been a while, though. Is CLIM composition over inheritance? I would be shocked.
<Shinmera> Mixins and the resulting hierarchies are not an uncommon strategy at all
<jackdaniel> clim is mostly arranged around protocols
<selwyn> what is objectionable in trivial-gray-streams?
sjl has quit [Quit: WeeChat 2.3-dev]
<aeth> Is there a better example for elaborate use of inheritance then?
<Shinmera> selwyn: Some of the generic functions are in the CL pcakage, others are not.
<Shinmera> selwyn: It's slow.
<Shinmera> selwyn: That's about it
<jackdaniel> protocol classes indeed are meant to be inherited from, but that is more a signal, that this class implements said protocol
<aeth> If CLIM doesn't count then it's literally just gray streams as far as elaborate inheritance goes, at least what I've encountered personally.
<jackdaniel> unless you inherit from standard-foo (instead of the protocol class foo), you need to implement foo's protocols all by yourself
<aeth> (And gray streams aren't that elaborate.)
<aeth> selwyn: It's controversial enough of an API to have at least one (probably more) alternative, as well as not being added to the base language itself (I think it was a proposal, wasn't it?)
<selwyn> i think it was
<Shinmera> I don't think I've ever heard of an alternative
<jackdaniel> trivial gray streams were a rejected proposal but are useful enough to be included in most implementations
<jackdaniel> some slowness may come from the gf dispatch, but other than that it is the programmer fault if they are slow
<aeth> Shinmera: SBCL has three extensions included, including gray streams and simple streams, where the latter is an alternative to the former. http://www.sbcl.org/manual/#Streams
<Shinmera> Ah, interesting.
<aeth> Where there's two there's probably many, so I wouldn't be surprised if there's a few more on some dark corner of the Internet, perhaps from the mid 90s
<aeth> Those are the only ones I'm aware of, though
ludston has joined #lisp
<jackdaniel> aeth: to be meticulous there are clim streams: http://bauhh.dyndns.org:8000/clim-spec/P-V.html#_756, http://bauhh.dyndns.org:8000/clim-spec/P-VI.html#_1053 ; of course they are tailored for typed screen input and output formatting
<aeth> jackdaniel: ah, okay, I actually was aware at one point that those were different, so my bad.
ludston has quit [Remote host closed the connection]
MinnowTaur has quit [Remote host closed the connection]
ludston has joined #lisp
<jackdaniel> they are implemented with trivial gray stream protocol
Bike has quit [Quit: Bike]
abhixec has joined #lisp
abhixec has quit [Remote host closed the connection]
Arcaelyx has quit [Quit: Arcaelyx]
patrixl has quit [Read error: Connection reset by peer]
patrixl has joined #lisp
Arcaelyx has joined #lisp
igemnace has quit [Remote host closed the connection]
varjag has quit [Ping timeout: 265 seconds]
LiamH has quit [Quit: Leaving.]
dale has quit [Read error: Connection reset by peer]
dale has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
ltriant has joined #lisp
cosimone has quit [Client Quit]
rumbler3_ has quit [Read error: Connection reset by peer]
rumbler31 has joined #lisp
akoana has joined #lisp
Bike has joined #lisp
jlarocco has joined #lisp
kajo has quit [Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.]
schjetne has quit [Ping timeout: 240 seconds]
cornett has joined #lisp
space_otter has joined #lisp
space_otter has quit [Remote host closed the connection]
EvW has joined #lisp
akoana has left #lisp [#lisp]
flazh has quit [Ping timeout: 245 seconds]
space_otter has joined #lisp
space_otter has quit [Remote host closed the connection]
space_otter has joined #lisp
wxie has joined #lisp
flazh has joined #lisp
jfb4`` has quit [Remote host closed the connection]
nowhere_man has quit [Ping timeout: 276 seconds]
shifty has quit [Ping timeout: 268 seconds]
karlosz has joined #lisp
longshi has joined #lisp
Ober has left #lisp ["ERC (IRC client for Emacs 26.3)"]
smazga has quit [Quit: leaving]
longshi has quit [Ping timeout: 246 seconds]
ralt has quit [Quit: Connection closed for inactivity]
wxie has quit [Ping timeout: 245 seconds]
fsmunoz has quit [Ping timeout: 245 seconds]
karlosz has quit [Remote host closed the connection]
ludston has quit [Ping timeout: 240 seconds]
Lycurgus has joined #lisp