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
salinasce has joined #lisp
akoana has joined #lisp
EvW has quit [Ping timeout: 246 seconds]
asdf_asdf_asdf has quit [Quit: asdf_asdf_asdf]
salinasce has left #lisp ["Leaving"]
lucasb has quit [Quit: Connection closed for inactivity]
asdf_asdf_asdf has joined #lisp
akoana has left #lisp ["Leaving"]
superkumasan has quit [Ping timeout: 240 seconds]
igemnace has joined #lisp
krid has quit [Read error: Connection reset by peer]
krid has joined #lisp
Josh_2 has quit [Remote host closed the connection]
lemoinem has quit [Killed (tolkien.freenode.net (Nickname regained by services))]
lemoinem has joined #lisp
bitmapper has quit [Ping timeout: 276 seconds]
isBEKaml has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
karswell has quit [Ping timeout: 265 seconds]
Oladon has joined #lisp
anewuser has joined #lisp
jlarocco has quit [Read error: Connection reset by peer]
lxbarbosa has quit [Read error: Connection reset by peer]
housel has quit [Ping timeout: 240 seconds]
housel has joined #lisp
libertyprime has quit [Remote host closed the connection]
semz has quit [Ping timeout: 245 seconds]
analogue has joined #lisp
housel has quit [Ping timeout: 246 seconds]
housel has joined #lisp
raghavgururajan has quit [Remote host closed the connection]
semz has joined #lisp
semz has quit [Changing host]
semz has joined #lisp
FreeBirdLjj has joined #lisp
Kaisyu7 has quit [Quit: ERC (IRC client for Emacs 26.3)]
georgie has quit [Quit: Textual IRC Client: www.textualapp.com]
analogue has quit [Quit: Leaving]
vt240 has joined #lisp
isBEKaml has quit [Quit: leaving]
FreeBird_ has joined #lisp
FreeBirdLjj has quit [Ping timeout: 276 seconds]
Kaisyu7 has joined #lisp
eSVGDelux has joined #lisp
FreeBird_ has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
jmbr has joined #lisp
FreeBirdLjj has quit [Ping timeout: 240 seconds]
ahungry has joined #lisp
FreeBirdLjj has joined #lisp
doublex has quit [Ping timeout: 245 seconds]
jmbr has quit [Quit: leaving]
doublex has joined #lisp
lxbarbosa has joined #lisp
sellout-1 has quit [Read error: Connection reset by peer]
sellout- has joined #lisp
Bike has quit [Quit: Lost terminal]
asdf_asdf_asdf has quit [Quit: asdf_asdf_asdf]
seok has joined #lisp
<seok> does handler-case catch errors from new threads?
<seok> I have a websocket server which I want to keep running but log errors in case of error
<seok> It spews error everytime someone disconnects, I don't know how to fix that but the server seems to keep running after that
<no-defun-allowed> You should put the handler-case in the function that is run by the new thread.
<seok> hm, setting *debugger-hook* to nil does not help
<seok> no-defun-allowed: I would like to, but the function is deep within the library
<seok> Is there any way on high level?
<seok> It's within clack, and I don't understand a thing that's going on in clack
FreeBirdLjj has quit [Remote host closed the connection]
<no-defun-allowed> Probably not.
FreeBirdLjj has joined #lisp
orivej has joined #lisp
<beach> Good morning everyone!
<ebrasca> beach: Hi!
<seok> hey!
FreeBirdLjj has quit [Ping timeout: 245 seconds]
notzmv has joined #lisp
<beach> ebrasca: What is missing in Mezzano, and what are some things that need improvement?
<ebrasca> beach: I am now working on tcp , I like to make usocket work correctly for lybraries like hunchentoot.
<beach> I see.
<ebrasca> beach: fittestbits__ is working to make usb storage and file system.
<beach> I thought sockets were an abstraction from Unix.
<ebrasca> beach: usocket have backend for Genera.
<beach> I see. But I still thought it was a Unix abstraction, and if so, if I were to write a new operating system, I might think of better abstractions.
vt240 has quit [Quit: WeeChat 1.9.1]
<ebrasca> beach: Usocket is on top of Mezzano abstraction. I have taken inspiration from usocket for tcp server part for Mezzano.
<beach> I see.
<beach> I am just guessing about the Unix abstraction. I know very little about networking.
<beach> And I know very little about the goals of Mezzano, so I am guessing about them as well.
<ebrasca> beach: Do you know assambler and compilers?
<beach> A bit yes.
<ebrasca> I have writen with one next developer and he is interested in porting next to Mezzano.
<ebrasca> I think with McCLIM for GUI.
<no-defun-allowed> The browser next?
<ebrasca> yes
<no-defun-allowed> Wouldn't you have to port (or replace) WebKit then?
<beach> I was going to say something like that.
<ebrasca> He say if he can do it is ETA 1 year
<no-defun-allowed> Maybe it's possible with Iota, but then wouldn't you also have to port whatever graphics libraries WebKit uses (such as OpenGL possibly)?
<ebrasca> Part of email "We just need to write a web renderer in Common Lisp" and "This is a bit of a way off though, at least a year"
<ebrasca> no-defun-allowed: I don't know more.
<beach> OK, so I read the Wikipedia page about sockets, and it looks like (with some adaptation) it could be a non-Unix abstraction as well. Things like file descriptors would have to be abandoned, of course.
<ebrasca> I am not sure if it is nice to share parts of emails in public.
<no-defun-allowed> You probably shouldn't.
dddddd has quit [Remote host closed the connection]
<no-defun-allowed> I think "at least a year" is a bit of an understatement though.
<ebrasca> beach: I have someting working from usocket.
<ebrasca> merged
<beach> ebrasca: I don't understand much. Sorry. It looks like most of your functions do nothing.
<ebrasca> Here documentation about usocket backends: https://github.com/usocket/usocket/blob/master/notes/backends.txt
<beach> I would have to read up on sockets and usocket to understand more, and that's not highest priority for me right now.
<ebrasca> beach: Do you like to work with McCLIM ?
<beach> ebrasca: Sure. Why do you ask?
<ebrasca> beach: Mezano can get help with McCLIM.
<beach> ebrasca: If you are looking to give me more work, I am afraid you are out of luck.
<ebrasca> beach: Why you asked then?
<beach> Oh, about what is missing and what needs improvement? I am interested in how complete Mezzano is and in which direction it is going. I am not interested in contributing at this point.
shka_ has joined #lisp
ym has quit [Ping timeout: 265 seconds]
<ebrasca> beach: I don't know what froggey is doing.
<beach> OK.
* ebrasca error in interpreter 0 Restart Ebrasca , 1 Asign new value to x , 2 abort to top level interpreter
khisanth_ has quit [Ping timeout: 276 seconds]
<no-defun-allowed> 2
<seok> can I keep my production server running just ignoring errors?
<seok> Do I need to compile it? Or would it be ok to keep the repl on even if it is spitting errors?
<seok> sorry, live server not production
<ebrasca> seok: I think when you write someting inside repl it get compiled.
<no-defun-allowed> You can, and your server is still compiled even if you're at a REPL typing in functions.
gravicappa has joined #lisp
<seok> Guess that's the only way
<no-defun-allowed> But you probably should investigate the source of your errors.
shrdlu68 has joined #lisp
<seok> There's an error that spews out using fukamachi's websocket library when you set the server to a variable, then a client disconnects
<seok> and I am too newbie to write my own websocket library with usocket
mindCrime has quit [Ping timeout: 240 seconds]
<seok> I'd like to fix it, but the job is beyond me. haha
khisanth_ has joined #lisp
FreeBirdLjj has joined #lisp
anewuser has quit [Quit: anewuser]
FreeBirdLjj has quit [Ping timeout: 265 seconds]
libertyprime has joined #lisp
rippa has joined #lisp
krid has quit [Ping timeout: 265 seconds]
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life has joined #lisp
sellout- has quit [Ping timeout: 240 seconds]
sellout- has joined #lisp
libertyprime has quit [Ping timeout: 265 seconds]
shrdlu68 has quit [Ping timeout: 276 seconds]
mulk has quit [Ping timeout: 268 seconds]
mulk has joined #lisp
Oladon has quit [Quit: Leaving.]
shka_ has quit [Ping timeout: 240 seconds]
manualcrank has quit [Quit: WeeChat 1.9.1]
gxt has quit [Remote host closed the connection]
emacsomancer has quit [Read error: Connection reset by peer]
<no-defun-allowed> Is there a CL function I can use to check all elements of a sequence are different?
<beach> You can try to apply REMOVE-DUPLICATES and see whether the result is the same length as the original.
matijja has joined #lisp
<beach> It is probably not terribly efficient.
varjag has joined #lisp
<no-defun-allowed> That's what I have right now, but -- yeah, that's what I was thinking too.
<beach> Otherwise, if your elements can be compared using one of the comparison functions supported by hash tables, you can loop and enter the elements into one as you go.
<no-defun-allowed> True.
<no-defun-allowed> Stepping back a bit, I don't really like my process to generate all the combinations of (0 1 2 3) in a specific order either: https://plaster.tymoon.eu/view/1506
<beach> (loop for table = (make-hash-table ...) for element in list never (gethash element table) do (setf (gethash element table) t)) something like that.
<no-defun-allowed> Gotcha, thanks.
<beach> Oh, that technique is very inefficient.
flamebeard has joined #lisp
<beach> Try defining a recursive function that returns all the combinations of the elements of a list.
<beach> In each invocation, select all the elements in order. For each element selected, remove it and call recursively.
<no-defun-allowed> Right.
<beach> At backtrack, cons the selected element only every sublist.
frgo has quit [Ping timeout: 240 seconds]
<flip214> no-defun-allowed: also, look at the ALEXANDRIA library... map-permutations and similar.
mindthelion has joined #lisp
<no-defun-allowed> I think I've gotten it: https://plaster.tymoon.eu/view/1507
<no-defun-allowed> Maybe line 4 can be removed though.
<no-defun-allowed> ...no, that has to stay.
techquila has quit [Ping timeout: 245 seconds]
<beach> Really?
<beach> I was going to suggest that it is not needed
libertyprime has joined #lisp
<no-defun-allowed> When I did, I just got an empty list.
<beach> Maybe you are right.
<beach> No, wait, the base case (for the empty list) is '(()).
<no-defun-allowed> Good point.
<beach> It is easy to get the base case wrong. And then the code gets unnecessarily more complicated and harder to understand.
<no-defun-allowed> Definitely.
<beach> I see that problem over and over again.
gareppa has joined #lisp
FreeBirdLjj has joined #lisp
varjag has quit [Ping timeout: 240 seconds]
iovec has joined #lisp
<no-defun-allowed> That makes sense now. Thankyou.
shrdlu68 has joined #lisp
<White_Flame> I may be stupid, but is there a way for LOOP to return the final value of one of its variable?
<White_Flame> +s
<no-defun-allowed> The only way I know of is to include `finally (return <variable>)` as the last clause, but I don't think it's very pretty.
<White_Flame> yeah, that just rubber-ducked to me as I said this
<White_Flame> it seems the only "natural" return values from LOOP are the accumulation clauses?
FreeBirdLjj has quit [Ping timeout: 240 seconds]
<flip214> > During each iteration, the constructs collect and collecting collect the value of the supplied form into a list. When iteration terminates, the list is returned.
<flip214> > If into is used, the construct does not provide a default return value
<flip214> White_Flame: ^^
<White_Flame> hmm, can't see yet how that would be used for this
<White_Flame> except finally (return (last collect-into-var)), which is worse than the original
<White_Flame> this is a dumb little code golf. I wonder if just doing a recursive LABELS would be smaller.
<White_Flame> which tends to happen once more complex loop clauses come into play
<flip214> if you only need the last element of a collection, why not have that in a variable (without collecting) and just return that one?
<White_Flame> that was the original question: how to return the final value of a loop var?
<White_Flame> hence finally (return var)
<White_Flame> what's missing was simply that there's no LOOP-specific return value outside accumulation clauses, afaict
dale has quit [Quit: My computer has gone to sleep]
<White_Flame> whereas the RETURN sidesteps the LOOP return value
<flip214> > The constructs always, never, and thereis provide specific values to be returned when a loop terminates
<flip214> > The thereis construct terminates iteration the first time that the value of the supplied form is non-nil; the loop returns the value of the supplied form
<White_Flame> hmm, yeah, but they force termination instead of just returning a value when the iterators finish
JohnMS_WORK has joined #lisp
<flip214> to return just the last value of a variable there's no other way than "finally (return VAR)"
<flip214> (apart from not using a LOOP-variable but some outer LET binding instead, and returning that: (let (var) (loop for i below 5 do (setf var i)) var)
<White_Flame> yep, seems so. It just seems like a weird lack of FINALLY, that it doesn't return the value of the form it evaluates
<flip214> that's so it doesn't interfere with other loop termination clauses like THEREIS and COLLECT ;)
<aeth> wow, thereis a thereis
<White_Flame> hmm, yeah I guess
<flip214> I still like ITERATE more, it better integrates with other code than via LOOP's DO
vydd has joined #lisp
vydd has quit [Changing host]
vydd has joined #lisp
quazimodo has quit [Ping timeout: 240 seconds]
ahungry has quit [Remote host closed the connection]
techquila has joined #lisp
frgo has joined #lisp
mindthelion has quit [Ping timeout: 265 seconds]
jprajzne has joined #lisp
__jrjsmrtn__ has joined #lisp
_jrjsmrtn has quit [Ping timeout: 240 seconds]
scymtym has quit [Ping timeout: 268 seconds]
vlatkoB has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
red-dot has joined #lisp
igemnace has quit [Ping timeout: 276 seconds]
Duuqnd has joined #lisp
vydd has quit [Remote host closed the connection]
vydd has joined #lisp
vydd has joined #lisp
vydd has quit [Changing host]
lavaflow has quit [Ping timeout: 276 seconds]
frgo has quit [Remote host closed the connection]
JohnMS_WORK has quit [Read error: Connection reset by peer]
hiroaki has joined #lisp
Cymew has joined #lisp
JohnMS_WORK has joined #lisp
ttron has joined #lisp
varjag has joined #lisp
igemnace has joined #lisp
Duuqnd has quit [Ping timeout: 245 seconds]
ltriant has quit [Quit: leaving]
EvW1 has joined #lisp
stepnem_ has joined #lisp
stepnem has quit [Ping timeout: 245 seconds]
igemnace has quit [Ping timeout: 240 seconds]
lavaflow has joined #lisp
Cymew has quit [Ping timeout: 268 seconds]
EvW1 has quit [Ping timeout: 245 seconds]
scymtym has joined #lisp
Lord_of_Life has quit [Read error: Connection reset by peer]
Cymew has joined #lisp
igemnace has joined #lisp
igemnace has quit [Client Quit]
jello_pudding has joined #lisp
Lord_of_Life has joined #lisp
igemnace has joined #lisp
nowhere_man has quit [Ping timeout: 240 seconds]
gareppa has quit [Quit: Leaving]
frgo has joined #lisp
quazimodo has joined #lisp
jello_pudding has quit [Remote host closed the connection]
jonatack has quit [Ping timeout: 246 seconds]
Duuqnd has joined #lisp
Duuqnd has quit [Remote host closed the connection]
Duuqnd has joined #lisp
Inline has quit [Quit: Leaving]
libertyprime has quit [Quit: leaving]
ttron has quit [Quit: ttron]
Inline has joined #lisp
hhdave has joined #lisp
ralt has joined #lisp
iovec has quit [Quit: Connection closed for inactivity]
jonatack has joined #lisp
jprajzne has quit [Quit: jprajzne]
libertyprime has joined #lisp
quazimodo has quit [Ping timeout: 240 seconds]
frgo_ has joined #lisp
frgo has quit [Ping timeout: 240 seconds]
frgo_ has quit [Remote host closed the connection]
frgo has joined #lisp
stepnem_ is now known as stepnem
libertyprime has quit [Ping timeout: 240 seconds]
libertyprime has joined #lisp
jprajzne has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 252 seconds]
Inline has quit [Ping timeout: 264 seconds]
gxt has joined #lisp
Duuqnd has quit [Ping timeout: 240 seconds]
eSVGDelux has quit [Ping timeout: 245 seconds]
gareppa has joined #lisp
gareppa has quit [Remote host closed the connection]
libertyprime has quit [Ping timeout: 240 seconds]
Duuqnd has joined #lisp
libertyprime has joined #lisp
Necktwi has quit [Ping timeout: 268 seconds]
Necktwi has joined #lisp
matijja has quit [Remote host closed the connection]
vydd has quit [Ping timeout: 240 seconds]
Duuqnd has quit [Ping timeout: 276 seconds]
jeosol has quit [Ping timeout: 260 seconds]
libertyprime has quit [Remote host closed the connection]
prite has quit [Ping timeout: 240 seconds]
prite has joined #lisp
zaquest has joined #lisp
gareppa has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
FreeBirdLjj has joined #lisp
asdf_asdf_asdf has joined #lisp
Duuqnd has joined #lisp
FreeBirdLjj has quit [Ping timeout: 268 seconds]
FreeBirdLjj has joined #lisp
frgo_ has joined #lisp
frgo__ has joined #lisp
frgo__ has quit [Remote host closed the connection]
frgo_ has quit [Read error: Connection reset by peer]
frgo__ has joined #lisp
frgo has quit [Ping timeout: 276 seconds]
<varjag> so, let's say i have a method creating closures and placing them into job list (within a class instance)
<varjag> another worker thread cosnumes them and executes closures when external conditions are met
jonatack has quit [Ping timeout: 245 seconds]
<varjag> what's the easiest way to make the original thread (with creator method) wait for completion here?
<shka__> varjag: call join thread on the new thread
FreeBirdLjj has quit [Remote host closed the connection]
<shka__> *on the new thread object
<shka__> on the original thread :-)
<varjag> the worker thread isn't spawned by the creator thread
<varjag> and it's only one, not per job
<Shinmera> use a condition variable, I guess.
<varjag> and poll it?
<Shinmera> ? no
<shka__> varjag: maybe just use lparallel?
<Shinmera> read the BT docs on condition variables.
<shka__> or there is a standalone future library called blackbird
<shka__> or if you really roll your own, what Shinmera said
<varjag> ah
<Shinmera> but yeah, using lparallel is preferred if you can.
<flip214> +1 on lparallel
<jackdaniel> use a blocking read on a mailbox
<Shinmera> Colleen: look up bordeaux-threads make-condition-variable
<Colleen> Function make-condition-variable make-condition-variable https://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation#make-condition-variable
<varjag> shka__: the operation here is neither entirely synchronized nor asynchronous, so haven't found one framework that quite fits
<Shinmera> yay, it still works
<varjag> thanks
Lord_of_Life has quit [Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine]
Lord_of_Life has joined #lisp
emacsomancer has joined #lisp
FreeBirdLjj has joined #lisp
gravicappa has quit [Ping timeout: 245 seconds]
kini has quit [Quit: No Ping reply in 180 seconds.]
red-dot has joined #lisp
<thijso> varjag: sounds like you're building a threadpool. Have you seen https://github.com/Frechmatz/cl-threadpool ?
<varjag> thijso: not quite that.. i have a bunch of communicator threads to remote devices
<varjag> that are perishable, but jobs should persist
<varjag> and when completed remotely, should complete the action on c&c host
kini has joined #lisp
<shka__> varjag: IIRC blackbird is rather nifty solution for that
<varjag> i'll look into that… only seen it in context of cl-async
<shka__> i really prefer to use lparallel when i can though
techquila has quit [Remote host closed the connection]
techquila has joined #lisp
sellout- has quit [Remote host closed the connection]
ggole has joined #lisp
bitmapper has joined #lisp
papachan has joined #lisp
EvW has joined #lisp
jonatack has joined #lisp
ym has joined #lisp
cosimone has joined #lisp
gravicappa has joined #lisp
afidegnum has quit [Ping timeout: 240 seconds]
afidegnum has joined #lisp
EvW has quit [Ping timeout: 240 seconds]
vhost- has quit [Ping timeout: 240 seconds]
gareppa has quit [Quit: Leaving]
gareppa has joined #lisp
vhost- has joined #lisp
clothespin has quit [Quit: Leaving]
dddddd has joined #lisp
krid has joined #lisp
warweasle has joined #lisp
<froggey> beach: Mezzano is a reasonably complete CL implementation, but very incomplete operating system. for day to day use it needs a proper editor & development environment, a web browser (youtube support would be nice, but I'm not getting my hopes up), and various minor nice things like a music player
<froggey> and there are long term improvements: a faster compiler that generates better code, improved source location information, more drivers, a better GC, improved conformance, endless bug fixes, etc
<beach> froggey: Got it, thanks.
<jackdaniel> Shinmera: link gives "access denied" error (not that I know what is More Alloy)
<beach> froggey: There is no reason we can't attempt to collaborate on some things. We are working on an IDE including an editor.
<beach> froggey: And Cleavir with Eclector has good source location information.
<Shinmera> jackdaniel: Oh. Sorry about that. https://filebox.tymoon.eu//file/TVRnd013PT0=
<beach> froggey: I don't know how attached you are to your current compiler, but we definitely intend for Cleavir to become better. It has good potential for it.
<dlowe> froggey: I would expect adding device support would be the main problem for Mezzano if you were wanting to run it on hardware
Bike has joined #lisp
grewal has quit [Ping timeout: 268 seconds]
<beach> froggey: And, perhaps you want to read the chapter on garbage collection in the SICL specification to see what you think?
<beach> froggey: On the other hand, maybe you are doing this to amuse yourself and you would rather just hack away. That's fine too.
ljavorsk__ has joined #lisp
grewal has joined #lisp
<beach> froggey: If you are interested in any of those things, I'll be happy to explain some more strategies we have and/or point you to documents to read.
<beach> froggey: You don't seem to hang out in #sicl, where we do most of our musings, so as to avoid too much noise here.
<froggey> beach: it's entirely for my own amusement, but I'm absolutely up for collaboration. especially on higher level things like IDEs, I do low level programming, that kind of thing is a little beyond me
<beach> Oh, that sounds like a perfect opportunity for collaboration then.
<froggey> Cleavir was the portable/implementation independent compiler, right?
<beach> Yes.
<froggey> I'm not particularly attached to the current compiler, but it does have a minimum set of features that any replacement would need to meet. fast unboxed arithmetic, simd support, and following the mezzano abi of course
<beach> Sure.
jonatack has quit [Ping timeout: 240 seconds]
<froggey> dlowe: drivers aren't that big a deal, a few generic drivers can cover a large number of systems. AHCI for disks, OHCI/UHCI/EHCI for USB controllers, network cards are the big issues where there's not much common ground
<froggey> graphics cards too, but a simple framebuffer is enough for me
<froggey> beach: what's the SICL specification? I'll have a look?
<beach> Cleavir does not do SIMD (yet), but unboxed arithmetic is in there. The point of Cleavir is that it can adapt to the client. That way, Clasp can use it, as can CLISP (in addition to SICL), so I think I have proved that it is sufficiently customizable).
<beach> froggey: Hold on...
<beach> froggey: Chapter 23 is the garbage collector.
<beach> froggey: It's a lot to read, so don't feel you have to.
notzmv has quit [Remote host closed the connection]
<beach> froggey: But let's keep the dialog open, especially with respect to the IDE.
<beach> froggey: scymtym has already done a lot of work in Clouseau, the McCLIM inspector.
<asdf_asdf_asdf> Metamodular is standard specification?
<beach> asdf_asdf_asdf: No.
<beach> froggey: And I have preliminary ideas on the Second Climacs editor, as well as on the Clordane debugger (a real debugger, not a backtrace examiner).
<asdf_asdf_asdf> This is a common article?
<beach> No.
<beach> asdf_asdf_asdf: You can safely ignore both Metamodular and SICL.
<froggey> beach: I don't think it's directly applicable, our object models seem too different. though I'll keep it in mind
gareppa has quit [Quit: Leaving]
<froggey> just from a quick skim
<beach> froggey: Ah, right.
<beach> froggey: I forgot about the reliance on the SICL object model in the GC. Sorry.
<beach> I was thinking more about the division between per-thread collectors and the global collector.
<froggey> ok, I'll try to remember to have a closer look the next time I feel like doing GC work
<beach> OK, again, don't feel you have to.
<beach> I got the idea from a paper by some French colleagues. I think their paper was for CAML.
<beach> But I simplified it by not allowing cross pointers between threads.
ljavorsk__ has quit [Ping timeout: 240 seconds]
<beach> froggey: Speaking of which, have you given some more thought to coming to ELS, and perhaps even to submitting a paper?
<beach> froggey: I think your work is important, and there are a bunch of people at ELS who do not follow IRC.
<Shinmera> Mezzano would be fantastic to have at ELS, even if it's just a demo paper.
<beach> I totally agree.
gravicappa has quit [Ping timeout: 265 seconds]
<froggey> eh. it's not likely. there are some changes in my personal life that might make attending ELS possible, but don't get your hopes up
<beach> Hmm, OK.
gareppa has joined #lisp
lxbarbosa has quit [Remote host closed the connection]
raghavgururajan has joined #lisp
gareppa has quit [Client Quit]
<froggey> for the IDE, is there anything that is practically usable right now? even if it's incomplete
<beach> No, not as such. But the Clouseau inspector is quite usable.
<froggey> my current focus is on running on real hardware as an independent system, so that does requires an editor and something at least a bit slime-like
<froggey> oh well
<beach> The McCLIM listener and the backtrace inspector (called the "debugger" but isn't one) are also usable.
<beach> So you basically have SLIME minus Emacs in those.
<beach> And I believe (first) Climacs is still usable with McCLIM.
EvW has joined #lisp
<beach> But these components have not been turned into an IDE.
JohnMS_WORK has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
<froggey> I can work on backend things in the meantime, McCLIM's Mezzano port hits some very slow paths that I need to improve
<beach> Sounds great!
<froggey> Mezzano's native editor works, but I don't really want to use it...
<beach> Heh!
<beach> I don't know the state of the frame-buffer backend for McCLIM, but that is something I would like to see working some day.
<jackdaniel> it works
<beach> Great!
<jackdaniel> painfully slow, but still
<jackdaniel> it is based on cl-vectors, but I have something better integrated with McCLIM on mind
<beach> So there would be an opportunity for froggey to do work that would benefit both Mezzano and McCLIM.
<beach> I mean, I assume Mezzano has nothing but a frame buffer at the bottom of the rendering stack.
<jackdaniel> McCLIM works (or worked) on Mezzano
<froggey> it works and shipped with the last mezzano demo release
<beach> Sure.
<beach> But I was thinking of the performance of the frame-buffer backend.
<jackdaniel> we can speed it up a lot, that's for sure, but there is a limit of what you can do on a single processor
<beach> I see yes. But we typically have more than one. :)
shrdlu68 has quit [Ping timeout: 265 seconds]
<scymtym> i have local changes that make the framebuffer backend quite usable (when compiled with SBCL)
<jackdaniel> I would rather keep McCLIM in a single process, there already are plenty of gotchas;
<jackdaniel> (thread-safe, but doing its work in a single thread, at least per-frame)
count3rmeasure has joined #lisp
vydd has joined #lisp
vydd has quit [Changing host]
vydd has joined #lisp
gareppa has joined #lisp
gareppa has quit [Remote host closed the connection]
papachan has quit [Ping timeout: 245 seconds]
lucasb has joined #lisp
gravicappa has joined #lisp
vydd has quit [Remote host closed the connection]
vydd has joined #lisp
EvW has quit [Ping timeout: 250 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
<froggey> beach: btw, if you want to chat more I'm around fairly often. weekday evenings (after 5pm uk time) or weekends are usually the best times to get a hold of me
FreeBirdLjj has quit [Remote host closed the connection]
jonatack has joined #lisp
FreeBirdLjj has joined #lisp
mindCrime has joined #lisp
FreeBirdLjj has quit [Ping timeout: 240 seconds]
<beach> froggey: That means weekends for me then. I usually go spend time with my (admittedly small) family when you are free during weekdays.
bitmapper has quit [Ping timeout: 240 seconds]
eSVGDelux has joined #lisp
doublex has quit [Ping timeout: 245 seconds]
doublex has joined #lisp
Oladon_wfh has joined #lisp
<Oladon_wfh> #/join #lispweb
gareppa has joined #lisp
nika_ has joined #lisp
vydd has quit [Ping timeout: 265 seconds]
cosimone has quit [Quit: Terminated!]
frgo__ has quit [Remote host closed the connection]
flamebeard has quit []
jprajzne has quit [Quit: Leaving.]
nanoz has joined #lisp
edgar-rft has quit [Quit: Leaving]
zaquest has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
zaquest has joined #lisp
manualcrank has joined #lisp
bitmapper has joined #lisp
FreeBirdLjj has quit [Ping timeout: 240 seconds]
gareppa has quit [Quit: Leaving]
gareppa has joined #lisp
Josh_2 has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
dale_ has joined #lisp
dale_ is now known as dale
pkkm has joined #lisp
shka_ has joined #lisp
Inline has joined #lisp
vlatkoB has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
frgo has joined #lisp
smazga has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
ski has quit [Ping timeout: 264 seconds]
varjag has joined #lisp
shangul has joined #lisp
cosimone has joined #lisp
ski has joined #lisp
notzmv has joined #lisp
nanoz has quit [Ping timeout: 240 seconds]
invergo has quit [Ping timeout: 245 seconds]
LiamH has joined #lisp
red-dot has joined #lisp
nanoz has joined #lisp
hhdave has quit [Quit: hhdave]
vydd has joined #lisp
vydd has quit [Changing host]
vydd has joined #lisp
scymtym has quit [Ping timeout: 250 seconds]
gareppa has quit [Quit: Leaving]
dale_ has joined #lisp
dale has quit [Disconnected by services]
dale_ is now known as dale
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
alandipert has quit [Quit: The Lounge - https://thelounge.github.io]
ntqz has quit []
alandipert has joined #lisp
vms14 has joined #lisp
zdm has joined #lisp
prite has quit [Quit: Konversation terminated.]
prite has joined #lisp
vydd has quit [Ping timeout: 245 seconds]
bitmapper has quit [Read error: Connection reset by peer]
bitmapper has joined #lisp
rumpelszn has quit [Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in]
Ven`` has joined #lisp
retropikzel has joined #lisp
rumpelszn has joined #lisp
shangul has quit [Quit: Going to sleep ZZzzz...]
spowell has quit [Ping timeout: 252 seconds]
nika_ has quit []
spowell has joined #lisp
skidd0 has joined #lisp
<skidd0> system npg is listed on quicklisp's unofficial docs, but when i attempt to load it in my image it cannot be found
<skidd0> am i doing something wrong or is this an issue i should report to QL?
<Xach> skidd0: the unofficial docs have little to do with current quicklisp-provided software
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
<Xach> skidd0: npg does not build any more and is not part of quicklisp
afidegnum has quit [Ping timeout: 240 seconds]
retropikzel has quit [Remote host closed the connection]
<Xach> It used to build but broke and the maintainer did not update things.
makomo has joined #lisp
<skidd0> i see
<skidd0> thank you
lxbarbosa has joined #lisp
gxt has quit [Ping timeout: 260 seconds]
edgar-rft has joined #lisp
ggole has quit [Quit: Leaving]
gareppa has joined #lisp
jfe has quit [Quit: ERC (IRC client for Emacs 26.2)]
EvW has joined #lisp
shrdlu68 has joined #lisp
scymtym has joined #lisp
smazga has quit [Quit: leaving]
gxt has joined #lisp
mulk has quit [Ping timeout: 240 seconds]
mulk has joined #lisp
raghavgururajan has quit [Remote host closed the connection]
skidd0 has quit [Quit: WeeChat 2.6]
cosimone has quit [Quit: Terminated!]
bitmapper has quit [Ping timeout: 268 seconds]
yoeljacobsen has joined #lisp
raghavgururajan has joined #lisp
vms14 has quit [Remote host closed the connection]
notzmv has quit [Ping timeout: 240 seconds]
gxt has quit [Quit: WeeChat 2.6]
asdf_asdf_asdf has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
Duuqnd has quit [Ping timeout: 265 seconds]
count3rmeasure has quit [Quit: Leaving]
asdf_asdf_asdf has joined #lisp
gravicappa has quit [Ping timeout: 240 seconds]
bitmapper has joined #lisp
krid has quit [Ping timeout: 265 seconds]
dale has quit [Read error: Connection reset by peer]
makomo has quit [Ping timeout: 245 seconds]
dale has joined #lisp
vms14 has joined #lisp
EvW has quit [Ping timeout: 250 seconds]
yoeljacobsen has quit [Ping timeout: 240 seconds]
Lycurgus has joined #lisp
<Lycurgus> drmeister, had/did it occur to you to have clasp not be an implementation and be implementation agnostic?
<Lycurgus> s/had/has/
superkumasan has joined #lisp
<Shinmera> what
<drmeister> Can you elaborate.
<Lycurgus> i mean it could be a pkg that gets adapted for different or a basket of implementations to produce binaries
<Shinmera> what?
krid has joined #lisp
<drmeister> No one has successfully created a Common Lisp system that can interoperate with C++.
<drmeister> Other than Clasp.
<Lycurgus> i c, ty
<drmeister> If you are asking - "why go to the trouble of developing a completely new implementation of Common Lisp". Answer: (1) I wanted interoperation with C++ (2) I didn't know how much work would be involved (3) It's been extremely enlightening.
<Lycurgus> no I asked the question I wanted to know about, and you answered, ty again
<dlowe> The only other option would have been to write a complete C++ compiler in CL, which is even scarier.
cosimone has joined #lisp
<drmeister> Lycurgus: No worries.
<drmeister> dlowe: Now that ... would be crazy. :-)
<edgar-rft> one cannot write a complete C++ compiler because C++ is still imcomplete, they're working on C++20
<Lycurgus> the sort of thing I meant would have been close to FFI and SWIG like, but nevermind
Lycurgus has left #lisp ["Deus Ex"]
EvW1 has joined #lisp
vms14 has quit [Remote host closed the connection]
cosimone has quit [Read error: Connection reset by peer]
motte has joined #lisp
moldybits has joined #lisp
<selwyn> it is not possible to interoperate satisfactorily with c++ in that way for various non-trivial reasons not all of which i understand
<asdf_asdf_asdf> selwyn. You can use SBCL instructions.
<drmeister> Exception handling is a big one.
<drmeister> It's relatively easy to call C++ code via C wrappers. But soon you want to be calling C++ code and passing Common Lisp callbacks and vice-versa. Modern C++ libraries do all kinds of stuff.
<drmeister> Someone who says - isn't it just SWIG and FFI? Nope - it's not - it turns out to be way more difficult than that. If it was that easy - someone would have done it.
orivej has quit [Ping timeout: 240 seconds]
<asdf_asdf_asdf> drmeister. What You not works? Show the code.
<asdf_asdf_asdf> drmeister. You can use SBCL instructions instead other packages.
<Shinmera> asdf_asdf_asdf: please stop.
<asdf_asdf_asdf> Shinmera. You should quit from the chat.
<Bike> why have we not banned this person yet
<Shinmera> I don't know. Who has mod rights?
<Bike> fe[nl]ix, i guess? and a bunch of people i don't remember
<asdf_asdf_asdf> Why? I nothing do.
<Shinmera> I think Xach does.
nydel has quit [Ping timeout: 276 seconds]
<Bike> you're unwilling to listen to anyone's advice, combative when you don't agree with it, and you know nothing about the subject of the channel but try to tell everyone they're wrong all the time.
<Shinmera> asdf_asdf_asdf: You have been told numerous times by numerous people that your messages are distracting, misleading, and not constructive as you lack the proper insight and knowledge to provide useful advice.
shka_ has quit [Ping timeout: 240 seconds]
<asdf_asdf_asdf> I do not mislead others. You mislead others in mistakes. I try a constructive advice. Not Like You.
<asdf_asdf_asdf> Not as You*
asdf_asdf_asdf was kicked from #lisp by jackdaniel [asdf_asdf_asdf]
<Bike> thanks, mon.
<jackdaniel> hm, "channel ban list is full"
<jackdaniel> this is beyond my scope of irc expertise
<Bike> so controversial
asdf_asdf_asdf has joined #lisp
<Shinmera> jackdaniel: got to remove a couple from the ban list then, I suppose.
asdf_asdf_asdf has left #lisp [#lisp]
<jackdaniel> I gather so much, but manipulating this list is beyond my scope of expertise (and interest ;)
<jackdaniel> good night \o
<Shinmera> Fair enough. Good night!
<selwyn> goodnight
<Bike> good night.
ym has quit [Read error: Connection reset by peer]
gareppa has quit [Quit: Leaving]
nanoz has quit [Ping timeout: 276 seconds]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
vydd has joined #lisp
vydd has joined #lisp
vydd has quit [Changing host]
ym has joined #lisp
Frobozz has joined #lisp
nydel has joined #lisp
hiroaki has quit [Ping timeout: 240 seconds]
shrdlu68 has quit [Ping timeout: 240 seconds]
shrdlu68 has joined #lisp
ralt has quit [Quit: Connection closed for inactivity]
<p_l> cleaned up the banlist a bit
<Shinmera> Thanks!
<p_l> took mostly the too-specific bans down
<p_l> also holy shit, that's a lot of my bans there
<p_l> I think we might be able to drop pretty much all of them, I think after few years the perps moved on
cosimone has joined #lisp
<Shinmera> Can always ban again, yeah.
bjorkintosh has quit [Quit: Leaving]
<p_l> ok, going to unban... maybe not all, but close?
<p_l> or maybe all would be better
<p_l> it's really been years for some
<Shinmera> Some of these domain and user names are quite something.
<p_l> sorry for the spam, I'd say it's an example of why UX design in terms of input stability *matters*
<p_l> our banlist is empty
<Shinmera> Hopefully it won't have to fill up again too quickly.
<p_l> we have been dealing with full banlist for the last 5 years
<p_l> I need to check +q list
<p_l> but since I started using irccloud that became a bit harder
v0|d has joined #lisp
zdm has quit [Remote host closed the connection]
lxbarbosa has quit [Read error: Connection reset by peer]
<p_l> Ok, I think I've got some idea how to clean remaining issues
<Bike> thanks for all that
Bike has quit [Quit: Bike]
shrdlu68 has quit [Ping timeout: 240 seconds]
<p_l> heh, my flags don't go high enough to use the CLEAR command
<p_l> but we should have a bit more breathing space there
mindCrime has quit [Ping timeout: 276 seconds]
<p_l> might need to actually invest in a channel bot more advanced than minion
<p_l> minion: sorry
<minion> Sorry, I couldn't find anything in the database for ``sorry''.
karlosz has joined #lisp
astronavt has quit [Remote host closed the connection]
astronavt has joined #lisp
v0|d` has joined #lisp
v0|d has quit [Ping timeout: 240 seconds]
zdm has joined #lisp
prite has quit [Ping timeout: 240 seconds]
<Shinmera> p_l: If you could write up what you'd need I could see about it, maybe.
<p_l> Shinmera: for the bot?
<Shinmera> Yes.
<p_l> ok
<p_l> I was thinking mostly of having something to track and "age" bans
<Shinmera> That's easy enough, sure.
<Shinmera> Not sure when I'll get to it, but I'll keep it in mind.
<Shinmera> For now, off to sleep.
<p_l> 'night
vydd has quit [Ping timeout: 245 seconds]
prite has joined #lisp
superkumasan has quit [Ping timeout: 240 seconds]
LiamH has quit [Quit: Leaving.]
varjag has quit [Ping timeout: 268 seconds]
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Ven`` has joined #lisp
Ven`` has quit [Client Quit]
charh has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]
<Ober> failed AVER: (= (HASH-TABLE-COUNT SB-IMPL::TABLE) SB-IMPL::HWM);
<Ober> This is probably a bug in SBCL itself.
karlosz has quit [Quit: karlosz]
cosimone has quit [Ping timeout: 245 seconds]
akoana has joined #lisp
EvW1 has quit [Ping timeout: 245 seconds]
Bike has joined #lisp
ltriant has joined #lisp
<jasom> proper way for having a lookup table? I found that (define-symbol-macro +foo+ (load-time-value (make-array ...) t)) generates tighter code on SBCL compared to just a defparameter. Thoughts?
seok has quit [Remote host closed the connection]
hh47 has joined #lisp
<Bike> defparameter means it has to check the dynamic binding stack, so yeah a constant or load time value ought ot be faster
<Bike> but if you use that in multiple places you might have multiple lookup tables
<Bike> (which you may or may not care about)
<jasom> I'd rather not have multiple lookup tables, but I can't figure out a way to do so without hitting the binding stack.
<Bike> if you use an actual constant it might be coalesced
<jasom> can I use a constant? How do I ensure it's identical between compile and run time?
<Bike> it's an array, right? what's in it?
<jasom> unsigned-byte 8
<jasom> s/8/16
<Bike> oh well that's fine then
<Bike> you can't ensure it's "identical" because the compiler and the running image might be different, but they'll be basically the same array
red-dot has joined #lisp
<jasom> Are you talking about with define-constant? because that signals an error when I try it
quazimodo has joined #lisp
<Bike> or just a literal, yeah
<Bike> defconstant won't work because the arrays won't be eql
<Bike> but you can just put in something so it won't try to change the constant if it's already set. think that's what the alexandria define-constant does
<Bike> with test equalp
<jasom> ah
<jasom> I think I understand now
<Bike> defconstant is kind of hard to use, unfortunately
<jasom> yup
<jasom> well it's easy to use for simple things like keywords and fixnums
<jasom> alexandria:define-constant works and it's about 8% higher throughput compared to the defparameter version.
<Bike> really! very nice.
doublex has quit [Ping timeout: 264 seconds]
<Bike> sbcl also has a "defglobal" mechanism, that's kind of like a special that can't be bound as i understand
<Bike> but if you actually have a constant using a constant is probably best
doublex has joined #lisp
rumbler31 has joined #lisp
orivej has joined #lisp
<jasom> The inner loop is very tight so it's not surprising I get a speedup. Only strange thing is that it does load the constant into RAX twice in about 4 instructions despite there not being register pressure.
<jasom> I'm guessing it generates a new cosntant for each function too because it uses a pc-relative addressing for it.
<Bike> yeah, maybe.