xkapastel has quit [Quit: Connection closed for inactivity]
sonologico has joined #lisp
themsay has joined #lisp
dacoda has joined #lisp
dacoda has quit [Remote host closed the connection]
dacoda has joined #lisp
shka_ has quit [Ping timeout: 268 seconds]
mathrick has quit [Ping timeout: 252 seconds]
Oladon has joined #lisp
ltriant has quit [Ping timeout: 258 seconds]
ltriant has joined #lisp
sauvin has joined #lisp
t58 has joined #lisp
sonologico has quit [Remote host closed the connection]
beach has quit [Ping timeout: 258 seconds]
mingus has joined #lisp
vlatkoB has joined #lisp
JohnMS_WORK has joined #lisp
ltriant_ has joined #lisp
ltriant has quit [Ping timeout: 244 seconds]
kushal has joined #lisp
mathrick has joined #lisp
Necktwi has joined #lisp
dacoda has quit [Ping timeout: 248 seconds]
jprajzne has joined #lisp
Necktwi has quit [Ping timeout: 268 seconds]
frgo has joined #lisp
Necktwi has joined #lisp
nolanv has quit [Read error: Connection reset by peer]
hiroaki has quit [Ping timeout: 272 seconds]
nolanv has joined #lisp
scymtym has joined #lisp
slyrus__ has joined #lisp
slyrus_ has quit [Ping timeout: 244 seconds]
manualcrank has quit [Quit: WeeChat 1.9.1]
pankajgodbole has joined #lisp
JohnMS has joined #lisp
JohnMS_WORK has quit [Ping timeout: 245 seconds]
<LdBeth>
for parsing, is it safe to assume if all subexpressions are well formed and match the context the entire expression is well formed?
ltriant_ has quit [Quit: leaving]
<no-defun-allowed>
I think that sounds right.
notzmv has joined #lisp
<shka__>
LdBeth: if you allow circularity, yes
makomo has joined #lisp
dmiles has quit [Ping timeout: 268 seconds]
makomo has quit [Client Quit]
makomo has joined #lisp
beach has joined #lisp
<beach>
Good morning everyone!
scymtym has quit [Remote host closed the connection]
<LdBeth>
morning, beach
dacoda has joined #lisp
grumble has quit [*.net *.split]
dmiles has joined #lisp
donotturnoff has joined #lisp
pankajgodbole has quit [Remote host closed the connection]
hhdave has joined #lisp
zotan has quit [Ping timeout: 264 seconds]
zotan has joined #lisp
mangul has joined #lisp
mangul has quit [Remote host closed the connection]
quazimodo has quit [Ping timeout: 272 seconds]
quazimodo has joined #lisp
mSSM has joined #lisp
<seok>
hey, anyone tried out cl21? how complete does it feel?
<LdBeth>
seok: at least it gets some principles of macro reader wrong
<jackdaniel>
CL9001 (over 9000) ,-)
dacoda has quit [Ping timeout: 258 seconds]
<seok>
LdBeth: that's a shame. is the misinterpretation serious?
<jackdaniel>
seok: I think it didn't gain much traction because it just adds syntactic sugar (without addressing anything in particular)
<seok>
jackdaniel: yeah, that's how it feels to me also
<LdBeth>
seok: it means you cannot use the macro reader for hashtable or something properly in quoted form like '(a #{a b})
<seok>
:ldbeth Ah. That's quite significant
<LdBeth>
It is interpreted as '(a (make-hashtable-helper '(a b)))
<jackdaniel>
seok: if you are interested in such things you may take a look at ergolib and ytools (the latter for perspective, I don't think it is developed anymore)
<jackdaniel>
clim spec may give you a good idea where symbolics saw CL in 21 century
keep_learning_M has joined #lisp
<seok>
jackdaniel: thanks for the recommendations, ytools looks interesting, the link to ergolib seems to be down
<jackdaniel>
did you copy it with the comma?
gigetoo has joined #lisp
<LdBeth>
<jackdaniel "seok: if you are interested in s"> The link works for me
<seok>
ah, a comma was included in the hyperlink. works without it
<jackdaniel>
(please note that I'm not recommending anything, just providing a reference, I have no strong opinion about any of these, clim included ,)
<LdBeth>
The more extension used, the more effort the reader has to put on to understand the code
<jackdaniel>
that's why we should all use risc assembly to write programs :)
<jackdaniel>
but more seriously, good abstraction and naming saves thinking (hence lowers the effort)
themsay has quit [Ping timeout: 252 seconds]
<LdBeth>
Besides it’s a despair not able to find/install a obscure library to run something
<jackdaniel>
i.e it is easier to udnerstand matcher api than to understand its verbatim implementation
m00natic has joined #lisp
<LdBeth>
I would not insist if that feature is well documented though.
<pjb>
LdBeth: working on the installation of an obscure library to run something is very instructive.
igemnace has quit [Read error: Connection reset by peer]
Lycurgus has joined #lisp
mn3m has joined #lisp
scymtym has quit [Remote host closed the connection]
<kenu>
thanks for quick help!
atgreen has joined #lisp
akoana has left #lisp [#lisp]
igemnace has joined #lisp
<ebrasca>
What is your opiniont about Second-Climacs vs lem editors?
<Xach>
mfiano: what is the AU package?
<mfiano>
Xach: where do you see that referenced still?
<Xach>
oops, in a project I need to remove.
FreeBirdLjj has joined #lisp
Finnfinn has joined #lisp
atgreen has quit [Ping timeout: 252 seconds]
xkapastel has joined #lisp
manualcrank has joined #lisp
<flip214>
Can anybody offer ideas? CL-GIT in SBCL works from the REPL, but a dumped image crashes on CL-GIT:OPEN-REPOSITORY with a SB-SYS:MEMORY-FAULT-ERROR on #x19.
<flip214>
Ie. right on the start, in the WITH-REPOSITORY macro.
<flip214>
the backtrace shows the correct string being passed to O-R.
<hackware>
hello Zach...
<hackware>
been years...
<flip214>
I already manually CFFI:CLOSE-FOREIGN-LIBRARY and CFFI:USE-F-L on dump and startup - but that didn't change anything.
<hackware>
if you remember me at all... i was tinker@ibm.research.com...
saravia has joined #lisp
<flip214>
ah, thanks. just needed some rubber duck ;)
<beach>
ebrasca: Second Climacs does not exist yet for one thing.
jprajzne has quit [Remote host closed the connection]
<beach>
ebrasca: But the plan for it is much more ambitious than other editors when it comes to editing Common Lisp code.
random-nick has joined #lisp
jmercouris has joined #lisp
<ebrasca>
beach: For now , is lem better?
<beach>
Anything that exists is bound to be better, sure. But I haven't looked at it.
<pjb>
So instead of '(("customer" . "xyz") ("items" . #((("fish" . "salmon")) (("fish" . "salmon"))))) you would write (json (if (zerop (random 2)) 'cl-json 'yason) (dict (entry "customer" "xyz") (entry "items" (vector (dict (entry "fish" "salmon") (entry "fish" "sardine")))))) which would return a sexp or the other, depending on the target representation.
jmercouris has quit [Ping timeout: 244 seconds]
<Bike>
rip.
<aeth>
honestly? The second I need to decode/encode JSON, I'm writing my own library... what a mess there
<pjb>
aeth: more fundamentaly, my point is that you need a DOM.
<pjb>
Using sexps is not adequate, because the JSON ontology is different.
<Bike>
yes, please do that instead of making another json library.
<pjb>
Alternatively, choose one JSON library and stick to it!
<aeth>
Using s-expressions isn't enough for a round trip (while also having nil as false!) without tagging your conses
<aeth>
i.e. adding a cons in front
<Bike>
that's what pjb just said yes
<dlowe>
The vector representation seems a lot nicer than sexps
makomo has quit [Ping timeout: 252 seconds]
<dlowe>
as far as encoding stability goes
jmercouris has joined #lisp
gigetoo has joined #lisp
<aeth>
dlowe: I would default to using vectors, yes. I am undecided on the best mapping for objects. Intuitively, hash tables would be, but that loses order.
<aeth>
(Obviously, they would be there, but probably not as the default.)
josemanuel has joined #lisp
<dlowe>
you can make cl-json emit vectors is my point
bendersteed has joined #lisp
actuallybatman has left #lisp ["ERC (IRC client for Emacs 26.2)"]
FreeBirdLjj has quit [Remote host closed the connection]
kenu has quit [Remote host closed the connection]
shka_ has joined #lisp
<pjb>
aeth: good point about order: JSON objects are not hash-tables! :-) Hence a-lists usually used.
<aeth>
But empty alists have the issue of ambiguity. '() can be [] and {} and false (and null if you are evil, don't do this)
<aeth>
Hence why you should do something like (:alist ...) so an empty alist is (:alist)
<aeth>
it would be hard to sandbox CL safely in a bot that's running arbitrary CL
<aeth>
and to ensure that it times out after a while if someone tells it to run (loop)
<fragamus>
> (loop)
<aeth>
I think what beach is working on would be able to do it
<dlowe>
I think clisp might be able to do it too, since it runs on a bytecode engine
random-nick has quit [Read error: Connection reset by peer]
<aeth>
Interpreter isn't enough for sandboxing. Basically only implementations of JavaScript and Lua seem to have gotten sandboxing down.
<aeth>
Although it's possible if someone put in the work.
<hackware>
sandboxing is taking control of interrupts... can be done with bash...
<hackware>
in fact, script kiddies luv microsloppy's vb because it has such loose control of priv priority...
atgreen_ has quit [Quit: Leaving]
v88m has quit [Read error: Connection reset by peer]
sauvin has quit [Ping timeout: 258 seconds]
bendersteed has quit [Read error: Connection reset by peer]
McParen has left #lisp [#lisp]
themsay has quit [Read error: Connection reset by peer]
themsay has joined #lisp
v88m has joined #lisp
Folkol_ has joined #lisp
Folkol has quit [Ping timeout: 245 seconds]
szmer has joined #lisp
Folkol has joined #lisp
Folkol_ has quit [Ping timeout: 272 seconds]
v88m has quit [Read error: Connection reset by peer]
saravia_ has quit [Remote host closed the connection]
v88m has joined #lisp
random-nick has joined #lisp
Kundry_Wag has joined #lisp
saravia has joined #lisp
Inline has quit [Ping timeout: 252 seconds]
Kundry_Wag has quit [Remote host closed the connection]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
xkapastel has joined #lisp
spainisnotequal has joined #lisp
amerlyq has quit [Quit: amerlyq]
Inline has joined #lisp
rumbler3_ has joined #lisp
rumbler31 has quit [Ping timeout: 245 seconds]
donotturnoff has quit [Remote host closed the connection]
milanj has joined #lisp
spainisnotequal has quit [Quit: ERC (IRC client for Emacs 25.1.1)]
vlatkoB has quit [Remote host closed the connection]
serviteur has joined #lisp
ft has joined #lisp
fragamus has quit [Ping timeout: 244 seconds]
gxt has quit [Remote host closed the connection]
gxt has joined #lisp
<|3b|>
what are good options for making a class mostly look like a subclass of some other classes, when the other classes are per-instance?
* |3b|
's best idea so far is just write some macros to redirect accessors/methods as needed
<|3b|>
if it were only 1 'other class', slot-value-using-class could cover some of it, not sure about with more than 1
<|3b|>
i guess a custom metaclass + compute-applicable-methods?
mSSM has joined #lisp
papachan has joined #lisp
<|3b|>
though that might break caching, so maybe not
<Bike>
per-instance?
<|3b|>
yeah, multiple optional backends, that can be used at the same time in different instannces
slyrus_ has joined #lisp
<|3b|>
actual problem is interacting with windowing systems and opengl/vulkan/etc
<|3b|>
so for example on linux, i might have xlib,xcb and drm options for windowing system and glx and egl for creating gl context
shka_ has quit [Ping timeout: 272 seconds]
<|3b|>
so i want user to inherit from a generic 'window' class, and it dispatches to whichever of the windowing system and context creation classes was chosen when the window was created
<|3b|>
(and i don't want to change the application code, since it doesn't really care if it is running in X, or wayland, or directly on a drm console)
slyrus__ has quit [Ping timeout: 268 seconds]
* |3b|
supposes slot-value-using-class is probably wrong anyway, since i probably want methods on some of them to interact with wrapped APIs rather than just access the class slot
<|3b|>
i think i'll just use a macro to redirect methods, explicit is less likely to break confusingly than something automatic
<Bike>
so the user is going to make their own class that's a subclass of one of these specific things, but they don't care about which specific thing it is?
<|3b|>
(and macro is easier than doing same thing with custom metaclass)
<|3b|>
no, user makes a subclass of 'window'
<|3b|>
and in usual case, when they instantiate it, it gets default backends chosen from whatever backends are loaded
<Bike>
well, right, but i mean effectively you want instances of this class to be dispatched based on the more specific class
<|3b|>
optionally, it can pick specific backends, or whoever runs the app can change the defaults
<|3b|>
it only cares about whether it is using gles vs gl, while that context might have been created by drm+egl, or xlib+glx, or xlib+egl or whatever
<|3b|>
it might not be a horrible restriction to only allow 1 combination at once, in which case it could just change-class the superclasses, but still seems a bit ugly (particularly handling changing while windows are open and such)
<|3b|>
so my current idea is effectively just generating a bunch of methods like (defmethod (setf width (n (w window)) (setf (width (platform-window w)) n)))
* |3b|
misplaced some ) there
<|3b|>
then platform-window's method could resize the window on xlib, or complain about invalid size on drm, or whatever
<|3b|>
hmm, actually maybe i should separate things more, which could simplify it
* |3b|
wonders if should be valid for a single 'application' to use multiple backends at once... i guess there is no reason to restrict it if separate applications in same image could do so
<|3b|>
though it require more effort, so it should probably keep a local copy of whatever it was opened with as default for that app
<|3b|>
abstraction is hard :/
Bike has quit [Quit: Bike]
Lycurgus has quit [Quit: Exeunt]
Alfr has joined #lisp
dale has quit [Read error: Connection reset by peer]
dale_ has joined #lisp
dale_ is now known as dale
LiamH has quit [Quit: Leaving.]
dale has quit [Read error: Connection reset by peer]
v88m has quit [Ping timeout: 258 seconds]
dale has joined #lisp
v88m has joined #lisp
wigust has quit [Ping timeout: 258 seconds]
wigust has joined #lisp
iovec has quit [Quit: Connection closed for inactivity]
teej has quit [Quit: Connection closed for inactivity]
varjag has quit [Ping timeout: 245 seconds]
edgar-rft has joined #lisp
Folkol has quit [Ping timeout: 268 seconds]
Folkol has joined #lisp
mindCrime has quit [Ping timeout: 268 seconds]
serviteur has quit [Remote host closed the connection]
josemanuel has quit [Quit: leaving]
igemnace has quit [Quit: WeeChat 2.5]
akoana has joined #lisp
mSSM has quit [Ping timeout: 246 seconds]
ltriant has joined #lisp
t58 has quit [Quit: Night All]
random-nick has quit [Read error: Connection reset by peer]
mindCrime_ has joined #lisp
<drmeister>
In a multithreaded environment - it makes sense to bind *debugger-hook* to a thread-local value - correct?
<aeth>
afaik
<drmeister>
I'm starting swank from a command line application in a separate thread and I'm seeing sldb start up when an error occurs in the main thread. After that the system becomes unstable.
lucasb has quit [Quit: Connection closed for inactivity]
saravia has quit [Remote host closed the connection]