jackdaniel changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook> | Pastebin: <https://plaster.tymoon.eu/>
notzmv has joined #commonlisp
wacki has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
cow_2001 has quit [Quit: ✡]
apac has quit [Ping timeout: 248 seconds]
Versality has joined #commonlisp
Versality has joined #commonlisp
troojg has joined #commonlisp
cmack` has joined #commonlisp
cmack has quit [Ping timeout: 265 seconds]
JuanDaugherty has quit [Quit: JuanDaugherty]
shka has quit [Quit: Konversation terminated!]
zagura has quit [Quit: Meh...]
apac has joined #commonlisp
jonatack has quit [Ping timeout: 260 seconds]
Versality has quit [Remote host closed the connection]
Versality has joined #commonlisp
Versality has joined #commonlisp
jonatack has joined #commonlisp
rcoper has joined #commonlisp
Versality has quit [Remote host closed the connection]
Versality has joined #commonlisp
jonatack has quit [Ping timeout: 244 seconds]
zagura has joined #commonlisp
zagura has quit [Client Quit]
zagura has joined #commonlisp
notzmv has quit [Ping timeout: 252 seconds]
screwlisp has quit [Ping timeout: 265 seconds]
Versality has quit [Remote host closed the connection]
Akbar-Birbal has joined #commonlisp
rcoper has quit [Remote host closed the connection]
kevingal has quit [Remote host closed the connection]
edgar-rft_ has joined #commonlisp
meaty has joined #commonlisp
istewart has joined #commonlisp
edgar-rft` has quit [Ping timeout: 272 seconds]
meatoid has joined #commonlisp
meaty has quit [Read error: Connection reset by peer]
jonatack has joined #commonlisp
random-nick has quit [Ping timeout: 252 seconds]
Versality has joined #commonlisp
Versality has quit [Remote host closed the connection]
Versality has joined #commonlisp
rtypo has quit [Ping timeout: 264 seconds]
meatoid has quit [Ping timeout: 252 seconds]
cow_2001 has joined #commonlisp
notzmv has joined #commonlisp
CrashTestDummy has joined #commonlisp
CrashTestDummy has quit [Read error: Connection reset by peer]
kurtis has joined #commonlisp
kurtis has quit [Changing host]
kurtis has joined #commonlisp
gpiero has quit [Remote host closed the connection]
gpiero has joined #commonlisp
semz has quit [Quit: ZNC 1.8.2+deb2ubuntu0.1 - https://znc.in]
lucasta has quit [Quit: Leaving]
semz has joined #commonlisp
kurtis has quit [Remote host closed the connection]
kurtis has joined #commonlisp
tyzef has joined #commonlisp
tyzef has quit [Max SendQ exceeded]
kurtis has quit [Remote host closed the connection]
kurtis has joined #commonlisp
robin has quit [Read error: Connection reset by peer]
robin has joined #commonlisp
kurtis has quit [Ping timeout: 248 seconds]
zwr has quit [Ping timeout: 252 seconds]
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
<beach> jackdaniel: The reader macro for [ that I use for several programs to save the object graph.
<beach> thuna`: Special handling in that the parser for the buffer needs to take it into account and handle it properly. We do that by using the same reader to parse the buffer as the one that has the reader macro.
<beach> smlckz-: There is probably no other editor that does that, so we set out to create one.
<beach> phae9: And, yes the editor is Second Climacs, but the plan is to make it part of a collection of modules to create an IDE.
<beach> The main difficulty is going to be the creation of a real debugger, since it needs support from the Common Lisp implementation, and none of the free Common Lisp implementations provides this support, as we wrote in this: http://metamodular.com/SICL/sicl-debugging.pdf paper.
kurtis has joined #commonlisp
kurtis has quit [Ping timeout: 276 seconds]
zwr has joined #commonlisp
Shinmera has quit [Ping timeout: 276 seconds]
Colleen has quit [Ping timeout: 244 seconds]
tyzef has joined #commonlisp
shawnw has joined #commonlisp
Colleen has joined #commonlisp
Pixel_Outlaw has quit [Quit: Leaving]
Shinmera has joined #commonlisp
kurtis has joined #commonlisp
kurtis has quit [Ping timeout: 252 seconds]
mishoo has joined #commonlisp
kurtis has joined #commonlisp
decweb has quit [Ping timeout: 248 seconds]
troojg has quit [Ping timeout: 252 seconds]
jonatack has quit [Ping timeout: 252 seconds]
kurtis has quit [Ping timeout: 252 seconds]
kurtis has joined #commonlisp
<jackdaniel> beach: how naive parsers handle it and how will this be different in c2? will it handle only mundane reader macros, or arbitrary ones?
kurtis has quit [Ping timeout: 245 seconds]
<scymtym> the current idea is to do as much of what real compilation would entail as necessary to fully analyze the source code. this "compilation" uses a model of the package system and separate environments so that the host image is not affected
<scymtym> this setup should allow evaluating the macro functions of custom reader macros but we only do a very minial version of that at the moment
decweb has joined #commonlisp
<jackdaniel> sure, but how does it connect to indentation? isn't the desired indent not implicig from the expansion?
<jackdaniel> I can see how that aids reader error highlighting
<scymtym> and yes, there could be reader macros (or macros, in later analysis phases, for that matter) for which the approach may be infeasible. in an editor context, stopping the analysis early seems like the right thing to do
<jackdaniel> implicit*
<scymtym> i have probably missed the discussion about indentation. the current idea is to use the syntax trees which result from analysing the code for indentation as well but that part of the approach is not fully thought out yet
<beach> jackdaniel: I don't think a naive parser could handle this situation at all, i.e., when a character that is a constituent by default is redefined to invoke some code to parse what follows.
tyzef has quit [Quit: It was nice to meet you o/]
<beach> And, yes, there will likely be situations that we can't (or wouldn't want to) handle fully, but we hope those will be way fewer than the ones that existing editors can't handle, and we hope that we will be able to handle those situations in a slightly degraded way.
<jackdaniel> OK, you have correctly parsed the result behind the reader macro - what do you do with the result? there is no 1-1 correspondence between the text in a buffer and produced form
<beach> Right now, we do nothing. But the idea is to submit the result to a compiler for further processing.
<jackdaniel> what does it aid from the editor point of view?
kurtis has joined #commonlisp
<beach> jackdaniel: We can get things like showing which lexical variables refer to the same one. We can highlight code that can't be executed. Stuff like that.
<scymtym> as i said, the story for indentation is not clear yet, but further processing the results of expansion allows error checking, recognizing definitions, bindings, references, which that are meaningful in an ide context
<jackdaniel> I see, thanks
<beach> jackdaniel: How is the 1-1 correspondence important?
<jackdaniel> you've mentioned your [ macro, so I was wondering what will it do to it -- i.e highlight initargs or something
<jackdaniel> and that would require understanding, that there is 1-1 correspondence between :foo in [:foo 42] and expanded (make-instance 'blah :foo 42)
<beach> Sure, that would be hard in general, but we preserve source information, so if (say) a symbol inside [ ] turns out to be a lexical variable, we can show the correspondence between its definition and its uses.
<scymtym> for the [ reader macro, the lowest bar would be that editor operations that work on the expression tree don't break down as would happen in an editor that does not understand [
<beach> jackdaniel: But yes, one could very well imagine analyzing the resulting MAKE-INSTANCE call to determine which symbols are keyword arguments, and highlight them appropriately.
<jackdaniel> that does not make sense in general sense, because there is no 1-to-1 correspondence between the passed arg and the expansion. i.e you may expand to (progn (push ,key *somwhere) (make-instance 'foo ,key ,val)) and the key from {:key 13} does not have any definitive meaning; that said I see the purpose, so it is about analyzing defined variables and such
<beach> I already said that it would not be possible in general. What we are aiming for is something substantially better than what current editors can do.
<scymtym> something else that we probably cannot support well is a completely custom syntax packaged as a reader macro like (j for java) #jclass Foo { public int main() {}; };. if the custom parser doesn't used cl:read, the editor won't have source information for the interior of the custom syntax
<beach> But in many cases, we can track what happens to symbols that appear in the buffer and the role they end up having in the resulting code. Then we can give appropriate feedback to the user.
<scymtym> i don't think we can do better than a best-effort approach. more complete solutions like those in racket seem to require restrictions on the syntax/macro system. https://www.youtube.com/watch?v=KHxZ3mT9BSo has some interesting comments
<ixelp> Michael Ballantyne: A Multi Language Oriented Macro System - YouTube
jonatack has joined #commonlisp
oneeyedalien has joined #commonlisp
oneeyedalien has quit [Remote host closed the connection]
decweb has quit [Ping timeout: 248 seconds]
pve has joined #commonlisp
tyzef has joined #commonlisp
tyzef has quit [Max SendQ exceeded]
istewart has quit [Quit: Konversation terminated!]
treflip has joined #commonlisp
<beach> As long as we do much better than Emacs+SLIME, I think that's already worth the effort.
Th30n has joined #commonlisp
varjag has joined #commonlisp
mgl_ has joined #commonlisp
jonatack has quit [Ping timeout: 272 seconds]
Lord_of_Life_ has joined #commonlisp
gorignak has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 265 seconds]
Lord_of_Life_ is now known as Lord_of_Life
treflip has quit [Quit: Quit]
King_julian has joined #commonlisp
alternateved has joined #commonlisp
King_julian has quit [Read error: Connection reset by peer]
treflip has joined #commonlisp
bendersteed has joined #commonlisp
alternateved has quit [Remote host closed the connection]
phae9 has quit [Ping timeout: 260 seconds]
JuanDaugherty has joined #commonlisp
alternateved has joined #commonlisp
shka has joined #commonlisp
pkal has quit [Read error: Connection reset by peer]
pkal has joined #commonlisp
notzmv has quit [Ping timeout: 252 seconds]
bendersteed has quit [Quit: bendersteed]
<jackdaniel> given that slime already can do something like conditional highlighting (i.e it greys out #+foo depending on actual features), wouldn't it be feasible to plug that parser into slime?
<beach> By "that parser", do you mean the one that uses Eclector? If so, it would have to execute on the Common Lisp side of things. And, yes, that would be possible, but you would then have to define aspects of the wire protocol to handle that.
<beach> ... and it would be slower (not sure how much) to transmit the information between SLIME and the Common Lisp implementation.
jonatack has joined #commonlisp
wacki has joined #commonlisp
longlongdouble has joined #commonlisp
<beach> We think it might be less work to use CLIM functionalities like presentations in order to provide feedback to the user.
theruran has quit [Quit: Connection closed for inactivity]
<jackdaniel> I'm sure some people, now matter how good climacs 2 is, will stick with emacs; perhaps some of them will want to improve swank to take advantage of the parser, or to incorporate it in another LSP implementation
<jackdaniel> that's why I've been wondering about this
<beach> I encourage those people to do that.
supercode has joined #commonlisp
<beach> I have long ago given up on trying to convince people to use something I create or even something better that someone else created. All I can do is show the feasibility, and then let people decide for themselves.
<jackdaniel> I have a different impression, but that aside, is there an estimate when the second climacs will be available for testing as something beta-ready?
<beach> No.
<jackdaniel> I see, thanks
<beach> Perhaps it would have been better if I hadn't brought this up at all, but I wanted to let phae9 know that we are working on a similar problem.
supercode has quit [Quit: Client closed]
jonatack has quit [Ping timeout: 252 seconds]
mishoo has quit [Ping timeout: 244 seconds]
dino_tutter has joined #commonlisp
alendvai__ has joined #commonlisp
chomwitt has joined #commonlisp
gilberth has quit [Ping timeout: 265 seconds]
random-nick has joined #commonlisp
donleo has joined #commonlisp
JuanDaugherty has quit [Quit: JuanDaugherty]
shka has quit [Read error: Connection reset by peer]
shka has joined #commonlisp
jonatack has joined #commonlisp
longlongdouble has quit [Ping timeout: 248 seconds]
notzmv has joined #commonlisp
rtypo has joined #commonlisp
longlongdouble has joined #commonlisp
ArakuS has quit [Ping timeout: 260 seconds]
mwnaylor has quit [Ping timeout: 252 seconds]
ArakuS has joined #commonlisp
tyzef has joined #commonlisp
Everything has joined #commonlisp
rogersm has joined #commonlisp
tyzef has quit [Quit: WeeChat 3.8]
alcor has joined #commonlisp
apac has quit [Ping timeout: 265 seconds]
brokkoli_origin has quit [Ping timeout: 276 seconds]
<jackdaniel> https://turtleware.eu/static/paste/thread-safe-stream.mp4 -- lo and behold, concurrent writing to a stream
<jackdaniel> this is without the repaint queue which will make things much faster
<jackdaniel> it is possible to pass a McCLIM stream to arbitrary thread, and the appropriate thread-safe context will be lazily initialized on first use
brokkoli_origin has joined #commonlisp
<jackdaniel> lines may be written with format and completed at a different pace, and the line is added when the user calls finish-output or adds a new line
<pranav> jackdaniel: Is this using the thread local storage implementation from your blog post?
<jackdaniel> yes; current works on McCLIM prompted my recent blog posts
<jackdaniel> the stream's class is a standard-class so anyone can subclass, but it contains in a slot a tls-record-context instance which has some slots with a tls storage
<pranav> Great, really neat interface.
<jackdaniel> thanks!
brokkoli_origin has quit [Remote host closed the connection]
King_julian has joined #commonlisp
brokkoli_origin has joined #commonlisp
longlongdouble has quit [Remote host closed the connection]
treflip has quit [Remote host closed the connection]
jon_atack has joined #commonlisp
mistivia has quit [Quit: leaving]
jonatack has quit [Ping timeout: 246 seconds]
mistivia has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
treflip has joined #commonlisp
Everything has quit [Ping timeout: 248 seconds]
Everything has joined #commonlisp
apac has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
apac has quit [Changing host]
apac has joined #commonlisp
apac is now known as apa_c
apa_c is now known as apac
amb007 has joined #commonlisp
apac is now known as apa_c
apa_c is now known as apac
decweb has joined #commonlisp
mishoo has joined #commonlisp
apac has quit [Quit: Konversation terminated!]
apac has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
rogersm has quit [Quit: Leaving...]
thuna` has quit [Ping timeout: 276 seconds]
Versality has quit [Remote host closed the connection]
Versality has joined #commonlisp
kurtis has quit [Ping timeout: 276 seconds]
treflip has quit [Remote host closed the connection]
King_julian has quit [Ping timeout: 244 seconds]
kurtis has joined #commonlisp
kurtis has quit [Remote host closed the connection]
kurtis has joined #commonlisp
wacki has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
zxcvz has joined #commonlisp
kurtis has quit [Remote host closed the connection]
kurtis has joined #commonlisp
kurtis has quit [Remote host closed the connection]
kurtis has joined #commonlisp
King_julian has joined #commonlisp
apa_c has joined #commonlisp
wacki has joined #commonlisp
apa_c has quit [Client Quit]
kurtis has quit [Remote host closed the connection]
kurtis has joined #commonlisp
kurtis has quit [Ping timeout: 252 seconds]
Guest11 has joined #commonlisp
bendersteed has joined #commonlisp
lucasta has joined #commonlisp
kurtis has joined #commonlisp
kurtis has quit [Changing host]
kurtis has joined #commonlisp
King_julian has quit [Ping timeout: 244 seconds]
Th30n has quit [Ping timeout: 276 seconds]
Everything has quit [Quit: leaving]
cow_2001 has quit [Quit: ✡]
kurtis has quit [Remote host closed the connection]
kurtis has joined #commonlisp
lucasta has quit [Remote host closed the connection]
lucasta has joined #commonlisp
JuanDaugherty has joined #commonlisp
gilberth has joined #commonlisp
mgl_ has quit [Ping timeout: 265 seconds]
apac has quit [Ping timeout: 272 seconds]
wacki has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Guest11 has quit [Ping timeout: 256 seconds]
cow_2001 has joined #commonlisp
cage has joined #commonlisp
cage has quit [Excess Flood]
cage has joined #commonlisp
mishoo has quit [Ping timeout: 252 seconds]
JuanDaugherty has quit [Quit: JuanDaugherty]
wacki has joined #commonlisp
theruran has joined #commonlisp
akoana has joined #commonlisp
alcor has quit [Remote host closed the connection]
reb has quit [Remote host closed the connection]
apac has joined #commonlisp
alcor has joined #commonlisp
cercopith has joined #commonlisp
rbcarleton has quit [Remote host closed the connection]
kurtis has quit [Remote host closed the connection]
kurtis has joined #commonlisp
Akbar-Birbal has left #commonlisp [#commonlisp]
Akbar-Birbal has joined #commonlisp
NotThatRPG has quit [Remote host closed the connection]
kurtis has quit [Ping timeout: 255 seconds]
varjag has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)]
pabs3 has quit [Ping timeout: 276 seconds]
kurtis has joined #commonlisp
jrm has quit [Quit: ciao]
apac has quit [Ping timeout: 252 seconds]
jrm has joined #commonlisp
pabs3 has joined #commonlisp
kurtis has quit [Remote host closed the connection]
kurtis has joined #commonlisp
zxcvz has quit [Quit: zxcvz]
mgl_ has joined #commonlisp
ArakuS has quit [Changing host]
ArakuS has joined #commonlisp
amb007 has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
ArakuS is now known as ArakuS
Akbar-Birbal has left #commonlisp [#commonlisp]
mgl_ has quit [Ping timeout: 252 seconds]
olnw has quit [Ping timeout: 248 seconds]
akoana has quit [Remote host closed the connection]
olnw has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
jrm has quit [Quit: ciao]
apac has joined #commonlisp
jrm has joined #commonlisp
lucasta has quit [Quit: Leaving]
mgl_ has joined #commonlisp
kevingal has joined #commonlisp
hanemile has quit [Quit: Lost terminal]
bendersteed has quit [Quit: bendersteed]
mishoo has joined #commonlisp
bitspook has joined #commonlisp
akoana has joined #commonlisp
attila_lendvai_ has joined #commonlisp
alendvai__ has quit [Ping timeout: 265 seconds]
kurtis has quit [Remote host closed the connection]
kevingal has quit [Ping timeout: 260 seconds]
mgl_ has quit [Ping timeout: 252 seconds]
mgl_ has joined #commonlisp
mwnaylor has joined #commonlisp
akoana has quit [Ping timeout: 272 seconds]
zagura has quit [Quit: Meh...]
zagura has joined #commonlisp
varjag has joined #commonlisp
mishoo has quit [Ping timeout: 276 seconds]
kurtis has joined #commonlisp
kurtis has quit [Remote host closed the connection]
NotThatRPG has joined #commonlisp
Everything has joined #commonlisp
reb has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 29.4]
amb007 has quit [Ping timeout: 265 seconds]
Everything has quit [Quit: leaving]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
mgl_ has quit [Ping timeout: 252 seconds]
attila_lendvai_ is now known as attila_lendvai
zetef has joined #commonlisp
zetef has quit [Client Quit]
<NotThatRPG> Anyone know if there's some more detailed docs about SB-BSD-SOCKETS anywhere? I'm finding it hard to guess what a lot of these functions return...
attila_lendvai has quit [Ping timeout: 260 seconds]
<yacin> is there a library that provides a PEEK-BYTE (like PEEK-CHAR) for reading from a file with :ELEMENT-TYPE '(UNSIGNED-BYTE 8)? didn't find anything googling around for one
<yacin> ah flexi-streams appears to have it
Everything has joined #commonlisp
mulk has quit [Ping timeout: 264 seconds]
mulk has joined #commonlisp
amb007 has quit [Ping timeout: 244 seconds]
apac has quit [Ping timeout: 265 seconds]
<shawnw> There's also no standard unread-byte.
pve has quit [Quit: leaving]
kurtis has joined #commonlisp
<shawnw> One of the many little oversights in the standard that will never be addressed.
amb007 has joined #commonlisp
<zwr> some fuctions like map should have been generic, too. would be nice to implement map for my own data structures
wacki has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<shawnw> The whole sequence concept should have used CLOS and generic methods so you could create your own. There's things like Rhode's extensible sequences specification, but not all common lisps support it (Looking at you, clozure)
varjag has quit [Remote host closed the connection]
varjag has joined #commonlisp
Oladon has quit [Read error: Connection reset by peer]
supercode has joined #commonlisp
tam has quit [Quit: Ping timeout (120 seconds)]
tam has joined #commonlisp
Oladon has joined #commonlisp
bicalot has quit [Remote host closed the connection]
ElKowar0 has joined #commonlisp
youthpastor has quit [Ping timeout: 260 seconds]
bicalot has joined #commonlisp
ItalianCuckoldBo has joined #commonlisp
zlqrvx has quit [Quit: %quit%]
ItalianCuckoldBo has quit [Client Quit]
zlqrvx has joined #commonlisp
unlucy has quit [Ping timeout: 260 seconds]
dbotton has quit [Ping timeout: 260 seconds]
rendar has quit [Ping timeout: 248 seconds]
zups has quit [Ping timeout: 248 seconds]
ElKowar has quit [Ping timeout: 248 seconds]
ElKowar0 is now known as ElKowar
szkl_ has joined #commonlisp
Shinmera has quit [Remote host closed the connection]
szkl has quit [Ping timeout: 260 seconds]
jfloren_ has quit [Ping timeout: 260 seconds]
szkl_ is now known as szkl
Shinmera has joined #commonlisp
varjag has quit [Ping timeout: 260 seconds]
jfloren_ has joined #commonlisp
zups has joined #commonlisp
dbotton has joined #commonlisp
notzmv has quit [Ping timeout: 246 seconds]
alternateved has quit [Remote host closed the connection]
youthpastor has joined #commonlisp
pranav has quit [Read error: Connection reset by peer]
smlckz- has quit [Read error: Connection reset by peer]
unlucy has joined #commonlisp
dnhester26 has joined #commonlisp
NotThatRPG has quit [Ping timeout: 265 seconds]
decweb has quit [Ping timeout: 260 seconds]
dino_tutter has quit [Ping timeout: 244 seconds]
Everything has quit [Remote host closed the connection]
chomwitt has quit [Ping timeout: 265 seconds]
alcor has quit [Remote host closed the connection]
<aeth> the big sequence oversight is that specialized arrays are seen strictly for optimization and as a low-level concept, losing type information and type safety
kevingal has joined #commonlisp
<aeth> so (unsigned-byte 8) is probably supported (but only bit is required, not octets!) as well as a bunch of other, somewhat arbitrary sizes that it rounds to on an implementation-specific basis
<aeth> But at the language level, most things just become T arrays even if you give them an :element-type and this is probably 90% of why you'd want a custom vector/array type in the first place.
<aeth> And even that isn't going to preserve the type information of the contents for the implementation to be able to make type inference on it.
<aeth> Lists are a bit different. You may want lazy, immutable, and/or homogeneously typed ones. But, afaik, most extensible sequence code assumes that the extended sequences are vector-like (O(1) random access) rather than list-like, so that's not very suitable, either.
decweb has joined #commonlisp
lucasta has joined #commonlisp
donleo has quit [Ping timeout: 272 seconds]
shka has quit [Quit: Konversation terminated!]
younder has quit [Remote host closed the connection]
younder has joined #commonlisp
Versality has quit [Remote host closed the connection]
Versality has joined #commonlisp
Versality has joined #commonlisp
decweb has quit [Ping timeout: 248 seconds]