orivej_ has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
aw- has joined #picolisp
orivej has quit [Ping timeout: 260 seconds]
orivej_ has joined #picolisp
rob_w has joined #picolisp
orivej_ has quit [Read error: Connection reset by peer]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
_whitelogger has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
<Nistur>
mornin'
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
<Regenaxer>
Cheers Nistur
<beneroth>
Good morning Nistur, Regenaxer
<beneroth>
Regenaxer, (lint "file") fails on a file with the following content:
<beneroth>
(symbols (symbols 'foo 'pico))
<beneroth>
(prinl A) )
<beneroth>
(de foo~bar ()
<beneroth>
[lint.l:3] foo -- Bad symbol namespace
<beneroth>
isn't that supposed to work?
<beneroth>
remove the 'foo~' and then it correctly returns the bnd-mistake for A
<Regenaxer>
Mom, just out. Will check a little later
<beneroth>
Regenaxer, yeah no hurries :)
<Nistur>
o7
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
<Regenaxer>
ret
<Regenaxer>
I think I never used lint on a file with namespaces
<Regenaxer>
But this seems not a problem with lint per se
patrixl has quit [Ping timeout: 246 seconds]
<Regenaxer>
yeah, does not work
<Regenaxer>
((info "X") # File name (let "*X" "X" (in "X" (while (read) (lint1 @))) ) )
orivej has quit [Ping timeout: 246 seconds]
<Regenaxer>
(in "X" (while (read) (lint1 @)))
<Regenaxer>
the contents of the file are statically inspected
<Regenaxer>
*not* executed
<Regenaxer>
So (symbols (symbols 'foo 'pico)) does not have that side effect
<Regenaxer>
So it could be more intelligent
<Regenaxer>
execute *some* things
<Regenaxer>
but that means another strategy
<Regenaxer>
i.e. that lint just inspects things
<Regenaxer>
in a static way
patrixl has joined #picolisp
<beneroth>
Regenaxer, yeah I think (lint) should remain about static analysis
<beneroth>
just needs the capability added to recognize and work with namespaces
<beneroth>
it could also report unused namespace declarations, or missing ones
<beneroth>
but yeah.. it's in conflict with (read) here
<Regenaxer>
Unused in which sense?
<beneroth>
no interned symbols
<Regenaxer>
ok, empty
<Regenaxer>
But it is really a problem
<Regenaxer>
It needs to execute the 'symbols' call
<Regenaxer>
and we get permanent changes to the system
<Regenaxer>
'lint' should run in some sandbox
<Regenaxer>
perhaps could create first some private namespace where all is done and then deleted
<beneroth>
alternative solution: it must not use standard (read) but a (read) variant which doesn't execute ~
<beneroth>
side question: how does (lint) deal with read macros (backtick) then? executes them?
<Regenaxer>
No, then the lint results are wrond
<Regenaxer>
e.g. about undefined functions
<Regenaxer>
Yes, it uses (read) so read macros are expanded
<Regenaxer>
The whole concept of lint is a bit unlucky in the PicoLisp context
<beneroth>
so it is not really static analysis
<Regenaxer>
yeah
<beneroth>
hmmm
<Regenaxer>
It needs indees some sandbox
<Regenaxer>
I think the problem is only linting of *files*
<Regenaxer>
in fact I almost never do that
<beneroth>
T
<Regenaxer>
(lintAll) should have much less problems
<beneroth>
T
<beneroth>
I don't think the sandbox is the right approach.. it is turning linting a file into linting the environment, but those are two very distinct things, with different use cases
<beneroth>
but real static analysis would be a bit more involved than the current implementation
<Regenaxer>
yes, the environment must be a snapshot of the current one
<beneroth>
T
<beneroth>
let's think a bit longer about it until we do something :)
<Regenaxer>
First of all, we should remove file linting
<Regenaxer>
it was an afterthought anyway
<beneroth>
yeah it is broken when used with the namespacing system
<beneroth>
but removal is a breaking change :P
<Regenaxer>
It is broken for almost anything that is executed in a file
<beneroth>
T
patrixl has left #picolisp [#picolisp]
<aw->
beneroth hey, do you use GPG for anything? any opinions about it?
<beneroth>
I don't really use it. Used it for mail with thunderbird for a while, but had no real use for it. Currently PGP in Thunderbird is reworked, haven't looked at it yet.
<aw->
i see
<beneroth>
Haven't used it for anything else, though I can imagine using it for signing stuff, e.g. software packages.
<beneroth>
Encrypted Mail I see as broken by design, both because of usability (hiding the hard encryption stuff just leads to issues, but even so it is not very comfortable to use securely) and principle (no encryption of headers which includes Subject-Line and Sender/Receiver)