brainfunnel has quit [Remote host closed the connection]
chomwitt has joined #commonlisp
rkazak has quit [Ping timeout: 252 seconds]
epolanski has joined #commonlisp
Guest47 has joined #commonlisp
rkazak has joined #commonlisp
rkazak has quit [Ping timeout: 272 seconds]
rkazak has joined #commonlisp
decweb has joined #commonlisp
rkazak has quit [Ping timeout: 268 seconds]
random-nick has joined #commonlisp
<mgl>
Is there a non-interning READ implementation somewhere? Something like https://github.com/phoe/safe-read but without its restrictions.
<ixelp>
GitHub - phoe/safe-read: A variant of READ secure against internbombing, excessive input and macro characters.
Guest47 has quit [Ping timeout: 276 seconds]
<mgl>
This comes up often enough, and it seems to me that the Lisp could easily provide an intern hook or something.
Guest47 has joined #commonlisp
bpanthi977 has joined #commonlisp
seanw` has joined #commonlisp
<mgl>
Swank has PARSE-SYMBOL, but it's buggy and for symbols only.
decweb has quit [Quit: Konversation terminated!]
seanw has quit [Ping timeout: 260 seconds]
attila_lendvai has joined #commonlisp
<semz>
What does non-interning mean? You need some kind of interning to preserve the equality between symbols in e.g. (let ((x 0)) x), so do you mean interned into some sort of separate hash table?
decweb has joined #commonlisp
bpanthi977 has quit [Ping timeout: 276 seconds]
<jackdaniel>
non interning one would error if it encounters a symbol that is not already interned in the package
<semz>
ah
<jackdaniel>
mgl: I think that eclector could be configured that way by specializing a method, but that's only a guess
<_death>
it has a eclector.reader:interpret-symbol gf that can return whatever
chomwitt has quit [Ping timeout: 252 seconds]
lcn__ has quit [Ping timeout: 252 seconds]
rkazak has joined #commonlisp
brainfunnel has joined #commonlisp
rkazak has quit [Ping timeout: 252 seconds]
<mgl>
_death: Yes, that should work. But completely replacing the reader? That's a bit of a cliff.
<semz>
look at it this way: using a standalone reader means your program behavior doesn't depend on implementation quirks
<mgl>
Yes, that's the positive side.
<jackdaniel>
there is no portable way to modify a common lisp reader to not intern symbols when reading
<jackdaniel>
by "a common lisp reader" I mean a conforming reader provided by an arbitrary implementation
lcn__ has joined #commonlisp
ewig has joined #commonlisp
<random-nick>
mgl: eclector can be loaded in extrinsic mode in implementations which do not use it as their reader, where you explicitly use eclector in your code (while CL:READ is still the implementation's reader)
<mgl>
jackdaniel: Yes. On the other hand, the implementation cost should be small. But I guess, we are now in CDR territory.
<mgl>
random-nick: I didn't even think that there is a non-extrinsic mode just found the dependency a bit excessive.
<jackdaniel>
mgl: when I've needed to tweak a reader to find symbols that sneaked into a package by some inhinged USE directive I've rebuilt ecl after modifying the reader for that particular task
<jackdaniel>
but I gather that you want to incorporate something into pax
<jackdaniel>
so depending on implementation-specific hacks is a no-no
<jackdaniel>
unhinged*
<mgl>
jackdaniel: Yes, names of definition have so far been either symbols (parsed with the non-interning swank::parse-symbol) or strings. Now, DRef supports names like (setf foo), so PAX needs to parse them. Also, some Emacs side input is a list (dtype expression for dref-apropos).
rkazak has joined #commonlisp
wbooze has quit [Quit: Leaving]
rkazak has quit [Ping timeout: 276 seconds]
contrapunctus has left #commonlisp [#commonlisp]
ingeniot has quit [Ping timeout: 252 seconds]
contrapunctus has joined #commonlisp
<beach>
mgl: The intrinsic Eclector version is for implementation that want to use Eclector as their native reader.
<beach>
*implementations
rkazak has joined #commonlisp
yitzi has joined #commonlisp
contrapunctus has left #commonlisp [#commonlisp]
rkazak has quit [Ping timeout: 265 seconds]
Noisytoot has quit [Remote host closed the connection]
Noisytoot has joined #commonlisp
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #commonlisp
contrapunctus has joined #commonlisp
wbooze has joined #commonlisp
attila_lendvai has quit [Ping timeout: 265 seconds]
Noisytoot has quit [Remote host closed the connection]
Noisytoot has joined #commonlisp
rkazak has joined #commonlisp
tuck has joined #commonlisp
varjag has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)]
mange has quit [Remote host closed the connection]
rkazak has quit [Ping timeout: 248 seconds]
rkazak has joined #commonlisp
Guest62 has joined #commonlisp
rkazak has quit [Ping timeout: 276 seconds]
gorignak has quit [Quit: quit]
lcn__ has quit [Ping timeout: 252 seconds]
gorignak has joined #commonlisp
lcn__ has joined #commonlisp
<mgl>
Oh, well. I added to the pile of hacks out there.
<beach>
What did you add?
<mgl>
Another task-specific reader (to pax).
<beach>
I see. Because Eclector can not be considered a "hack" anymore. When it was still the SICL reader, it was a hack. But since then, scymtym has turned it into a complete library that is well tested and well documented. It is now an excellent piece of software.
<mgl>
I didn't mean to imply that. I was referring to the list of half-baked things like swank::parse-symbol, safe-read, etc.
<beach>
Got it.
rkazak has joined #commonlisp
lcn__ has quit [Ping timeout: 244 seconds]
JuanDaugherty has joined #commonlisp
bpanthi977 has joined #commonlisp
tuck has quit [Ping timeout: 252 seconds]
admich has joined #commonlisp
JuanDaugherty has quit [Quit: praxis.meansofproduction.biz (juan@acm.org)]