orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
Blukunfando has quit []
mtsd has joined #picolisp
rob_w has joined #picolisp
stultulo has joined #picolisp
f8l has quit [Ping timeout: 258 seconds]
stultulo is now known as f8l
<
beneroth>
Morning!
<
mtsd>
Morning' all
<
beneroth>
hey mtsd, Regenaxer :)
<
aw->
hi beneroth Nistur Regenaxer
<
aw->
Regenaxer: do you have plans to make a 20.6 release next month?
<
Regenaxer>
But not much changes iirc
<
Regenaxer>
these releases are only for Debian and descendants anyway
<
Regenaxer>
Important is the rolling release
<
aw->
and me ;) i use them in my automation scripts
<
Regenaxer>
ah, ok :)
orivej has joined #picolisp
<
tankf33der>
new record in issue.md
<
Regenaxer>
Thanks tankf33der!
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Read error: Connection reset by peer]
orivej has joined #picolisp
orivej has quit [Ping timeout: 272 seconds]
orivej_ has joined #picolisp
rob_w has quit [Remote host closed the connection]
orivej_ has quit [Ping timeout: 258 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
<
tankf33der>
i can corrupt internal state
<
Regenaxer>
Which internal state do you mean? Stack?
<
tankf33der>
pil64 too
<
Regenaxer>
Or like "ny last time? i.e. gc collects wrong stuff
<
Regenaxer>
In that case the symbol 'any' was collected aecause it was not protected in stack structures
<
Regenaxer>
The most common error when programming the interpreter
<
tankf33der>
like this.
<
tankf33der>
i just had fun.
<
Regenaxer>
pico~(all) is ~ as a read macro
<
Regenaxer>
ie it
*executes*
<
Regenaxer>
at read time
<
Regenaxer>
unpredictable results
<
Regenaxer>
But (head 10 (all)) should be fine
<
Regenaxer>
: (head 10 (all))
<
Regenaxer>
-> (! % & * + - / : ; =)
<
Regenaxer>
so pico~(all) destroyed something ;)
<
tankf33der>
it insert something
<
tankf33der>
in head.
<
Regenaxer>
not sure
<
Regenaxer>
It executed at read time (! ...)
<
Regenaxer>
but ! is not defined yet in pil2*
<
Regenaxer>
So I'd expect an error ...
<
Regenaxer>
: (1 pico~(list 3 4) 9)
<
Regenaxer>
-> (1 $374470034353 (list 3 4) 9)
<
Regenaxer>
So this does not work as read macro (3 4)
<
Regenaxer>
It thinks it is a namespace access and creates a symbol
<
Regenaxer>
$374470034353
<
Regenaxer>
This works correctly:
<
Regenaxer>
: (1 pico ~(list 3 4) 9)
<
Regenaxer>
-> (1 pico 3 4 9)
<
Regenaxer>
The reader should give an error
<
Regenaxer>
if there is not a symbol after pico~
<
Regenaxer>
Currently it creates a symbol without name
<
Regenaxer>
like $374470034353
<
Regenaxer>
and interns it
<
Regenaxer>
I make an error check here
<
Regenaxer>
: 'pico~(foo)
<
Regenaxer>
Bad input '('
<
beneroth>
good improvement :)
<
beneroth>
nice find, tankf33der
<
Regenaxer>
Will release later. I started with 'line' yesterday an will finish it first.
mtsd has quit [Quit: Leaving]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
<
Regenaxer>
Brr, 'line' is funny
<
Regenaxer>
Rather complicated
<
Regenaxer>
for historical reasons
<
beneroth>
in pil, or you mean the general complexity of reading a "simple" line
<
Regenaxer>
Back in the old days imported data from relational DBs were in fixed-width format
<
Regenaxer>
no, in pil
<
beneroth>
unix text data files
<
Regenaxer>
the 'cnt' arguments
<
Regenaxer>
for sublists
<
Regenaxer>
Seldom used nowadays
<
Regenaxer>
CSV data have some char to 'split'
<
beneroth>
wow I totally forgot about that
<
beneroth>
never used it
<
Regenaxer>
Better if line would split directly
<
beneroth>
yes, I still often to CSV, even for simple settings which are not worth to put into a database file
<
beneroth>
usually using TAB as separator
<
Regenaxer>
I could check for non-numeric args
<
beneroth>
yeah that would be a nice idea
<
Regenaxer>
But then it is even more complicated :)
<
Regenaxer>
hmm, maybe not so much more
<
beneroth>
on the other hand, often I parse CSV files anyway with (loop (skip "#") (T (eof)) ...)
<
Regenaxer>
I try ...
<
beneroth>
and then using (from) (till)
<
beneroth>
gives more flexibility to what I want to parse as strings and what as lists
<
beneroth>
and finer control to detect invalid formatted files / rows
<
Regenaxer>
Though most common is (while (split (line) "\n") ...)
<
Regenaxer>
Nowadays we have "xlsx2csv"
<
Regenaxer>
Perhaps best
<
Regenaxer>
(in (list "xlsx2csv" "-dtab" "-aei" @)
<
Regenaxer>
takes Excel directly
<
beneroth>
yes this I also do
<
beneroth>
I don't see really any use for a fixed-size textual format...
<
Regenaxer>
But
*if* you have, it is expensive to parse
<
Regenaxer>
so 'line' is very fast here
<
beneroth>
though what about (rd) ?
<
Regenaxer>
I try to extend for symbolic args
<
Regenaxer>
Binary?
<
beneroth>
I mean about raw byte readings...
<
beneroth>
cumbersome, I know
<
Regenaxer>
especially for utf-8
<
beneroth>
ah, right
<
Regenaxer>
line is very useful, also because it accepts Mac files
<
Regenaxer>
with CR as delimitia
<
Regenaxer>
and CR+NL for DOS-style
<
beneroth>
though.. (char) would read a single utf-8 character, independent of its raw binary size, right?
<
beneroth>
that has to be kept
<
beneroth>
I mean the mac/windows/unix linefeed chaos
<
Regenaxer>
Chaos indeed
orivej has quit [Ping timeout: 258 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
orivej_ has joined #picolisp
orivej has quit [Ping timeout: 264 seconds]
orivej_ has quit [Ping timeout: 260 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 260 seconds]
orivej_ has joined #picolisp
orivej has joined #picolisp
orivej_ has quit [Ping timeout: 272 seconds]
rob_w has joined #picolisp
orivej_ has joined #picolisp
orivej has quit [Ping timeout: 265 seconds]
orivej_ has quit [Ping timeout: 260 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
orivej has quit [Read error: Connection reset by peer]
orivej_ has joined #picolisp
orivej_ has quit [Ping timeout: 265 seconds]
karswell has joined #picolisp
orivej has joined #picolisp
<
Regenaxer>
'line' done
orivej_ has joined #picolisp
orivej has quit [Ping timeout: 272 seconds]
orivej_ has quit [Ping timeout: 265 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
<
tankf33der>
i will have fun tomorrow
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
<
tankf33der>
tested one
<
tankf33der>
except one thing
<
tankf33der>
tested now, all ok, except one thing
<
tankf33der>
==========
<
tankf33der>
also i found super bracket mismatcj
<
tankf33der>
also i found super bracket mismatch
<
tankf33der>
[mpech@lambda pil21-tests]$ pil21 +
<
tankf33der>
: [42]
<
tankf33der>
(42) -- Super parentheses mismatch
<
tankf33der>
-> (42)
<
tankf33der>
[mpech@lambda pil21-tests]$ pil +
<
tankf33der>
: [42]
<
tankf33der>
==========
<
Regenaxer>
Zero is an illegal argument to 'line', at least it makes no sense
<
Regenaxer>
I check the super parens
orivej has quit [Ping timeout: 272 seconds]
orivej has joined #picolisp
<
Regenaxer>
Super parens fixed
<
tankf33der>
but line output is different versus pil64
orivej_ has joined #picolisp
orivej has quit [Ping timeout: 265 seconds]
rob_w has quit [Quit: Leaving]
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: 240 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
L1 has joined #picolisp
CORDIC has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #picolisp