opticdelusion10 has quit [Remote host closed the connection]
grym13 has joined #picolisp
grym13 has quit [Read error: Connection reset by peer]
ekkelett25 has joined #picolisp
kencjohnston9 has joined #picolisp
ekkelett25 has quit [Remote host closed the connection]
kencjohnston9 has quit [Remote host closed the connection]
Muzer12 has joined #picolisp
fujin2 has joined #picolisp
Muzer12 has quit [Remote host closed the connection]
fujin2 has quit [Remote host closed the connection]
phreedom_ has joined #picolisp
phreedom_ has quit [Remote host closed the connection]
Guest12588 has joined #picolisp
Guest12588 has quit [Remote host closed the connection]
Roedy0 has joined #picolisp
Roedy0 has quit [Remote host closed the connection]
Kralle16 has joined #picolisp
Kralle16 has quit [Ping timeout: 245 seconds]
lxpz7 has joined #picolisp
lxpz7 has quit [Read error: Connection reset by peer]
dude1231241421 has joined #picolisp
dude1231241421 has quit [Remote host closed the connection]
war940729 has joined #picolisp
war940729 has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 240 seconds]
sh1_ has joined #picolisp
sh1_ has quit [Read error: Connection reset by peer]
thalios15 has joined #picolisp
thalios15 has quit [Remote host closed the connection]
rom150418 has joined #picolisp
rom150418 has quit [Remote host closed the connection]
cryptokid has joined #picolisp
cryptokid has quit [Remote host closed the connection]
jemaclus12 has joined #picolisp
jemaclus12 has quit [Read error: Connection reset by peer]
Jaquee12 has joined #picolisp
Jaquee12 has quit [Ping timeout: 240 seconds]
dayou24 has joined #picolisp
Snert__2 has joined #picolisp
dayou24 has quit [Ping timeout: 240 seconds]
Snert__2 has quit [Remote host closed the connection]
ubLIX has joined #picolisp
stoner1920 has joined #picolisp
stoner1920 has quit [Read error: Connection reset by peer]
il_padrino has joined #picolisp
il_padrino has quit [Remote host closed the connection]
JMoVS4 has joined #picolisp
JMoVS4 has quit [Remote host closed the connection]
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #picolisp
pierpal has quit [Client Quit]
pierpal has joined #picolisp
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #picolisp
ubLIX has quit [Quit: ubLIX]
SirKatar20 has joined #picolisp
SirKatar20 has quit [Remote host closed the connection]
xar-9 has joined #picolisp
xar-9 has quit [Read error: Connection reset by peer]
mozzarella22 has joined #picolisp
henkkus29 has joined #picolisp
henkkus29 has quit [Remote host closed the connection]
tristanbob_WSU has joined #picolisp
mozzarella22 has quit [Remote host closed the connection]
tristanbob_WSU has quit [Remote host closed the connection]
murr4y0 has joined #picolisp
BuxiNess16 has joined #picolisp
deko26 has joined #picolisp
deko26 has quit [Remote host closed the connection]
murr4y0 has quit [Remote host closed the connection]
BuxiNess16 has quit [Remote host closed the connection]
r00t-err0r17 has joined #picolisp
r00t-err0r17 has quit [Remote host closed the connection]
kaneda^12 has joined #picolisp
kaneda^12 has quit [Remote host closed the connection]
alexshendi has quit [Ping timeout: 252 seconds]
rob_w has joined #picolisp
tsahyt14 has joined #picolisp
tsahyt14 has quit [Read error: Connection reset by peer]
yang_ has joined #picolisp
BlackIkeEagle26 has joined #picolisp
srid11 has joined #picolisp
yang_ has quit [Remote host closed the connection]
BlackIkeEagle26 has quit [Remote host closed the connection]
srid11 has quit [Remote host closed the connection]
rue_bed24 has joined #picolisp
rue_bed24 has quit [Remote host closed the connection]
Qasker13 has joined #picolisp
Qasker13 has quit [Remote host closed the connection]
r4nt has joined #picolisp
r4nt has quit [Remote host closed the connection]
echelon6 has joined #picolisp
echelon6 has quit [Remote host closed the connection]
mtsd has joined #picolisp
<mtsd>
Good morning
<tankf33der>
o/
<Regenaxer>
Hi mtsd, tankf33der!
<mtsd>
Hi Regenaxer!
<mtsd>
I'll write some replies to the mailing list, glad that people seem to like it :)
<Regenaxer>
Yeah, very nice responses
Tengu4 has joined #picolisp
Tengu4 has quit [Remote host closed the connection]
Afterster25 has joined #picolisp
Afterster25 has quit [Read error: Connection reset by peer]
<aw->
mtsd: really liked the slides, as well as the notes!
<mtsd>
Thanks aw- !
Affliction17 has joined #picolisp
Affliction17 has quit [Read error: Connection reset by peer]
<aw->
i've also converted some apps to PicoLisp and significantly reduced LOC
<aw->
and reduced memory footprint
<aw->
converted from Ruby
<Nistur>
mornin'
<Regenaxer>
Hi Nistur
<Nistur>
o7
Fisiu0 has joined #picolisp
Fisiu0 has quit [Remote host closed the connection]
loganlee has joined #picolisp
loganlee has quit [Read error: Connection reset by peer]
nonlinear has quit [Remote host closed the connection]
<mtsd>
aw-, goes along with my experience too. Fewer lines of code and smaller runtime footprint
Kuri6 has joined #picolisp
Kuri6 has quit [Remote host closed the connection]
nonlinear has joined #picolisp
newbie_ has joined #picolisp
newbie_ has quit [Client Quit]
<Regenaxer>
mtsd, thanks for the deep explanations in the mailing list!
<mtsd>
Happy to help! Good to make some contributions :)
<Regenaxer>
And good to hear some real-world experiences
<mtsd>
I must say, converting the old applications to Pil has been the best programming experience I have been through, so far
<Regenaxer>
wow, a tutorial would indeed be cool! But it would be a lot of work
<mtsd>
Eye-opening, almost a revelation to find out that you can work this way
<Regenaxer>
Glad to hear that :)
<mtsd>
It would take some time, butI could start looking into a tutorial
<Regenaxer>
No pressure to hurry at least
teto1 has joined #picolisp
c0ncealed2 has joined #picolisp
beingjohnm4 has joined #picolisp
teto1 has quit [Remote host closed the connection]
c0ncealed2 has quit [Read error: Connection reset by peer]
beingjohnm4 has quit [Remote host closed the connection]
zc0nf7 has joined #picolisp
zc0nf7 has quit [Remote host closed the connection]
chalcedony has joined #picolisp
chalcedony has quit [Read error: Connection reset by peer]
Nothing4You_17 has joined #picolisp
Nothing4You_17 has quit [Remote host closed the connection]
Anduck29 has joined #picolisp
orivej has joined #picolisp
Anduck29 has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 240 seconds]
diagnostuck has joined #picolisp
diagnostuck has quit [Remote host closed the connection]
orivej has joined #picolisp
beest has joined #picolisp
beest is now known as Guest47291
Eatsoup_ has joined #picolisp
Eatsoup_ has quit [Remote host closed the connection]
pvtr has joined #picolisp
UncleVasya_ has joined #picolisp
ludkiller3 has joined #picolisp
pvtr has quit [Remote host closed the connection]
benediktg513 has joined #picolisp
ludkiller3 has quit [Read error: Connection reset by peer]
Guest47291 has quit [Remote host closed the connection]
UncleVasya_ has quit [Remote host closed the connection]
benediktg513 has quit [Remote host closed the connection]
ephemer0l17 has joined #picolisp
jxh01725 has joined #picolisp
ephemer0l17 has quit [Remote host closed the connection]
jxh01725 has quit [Remote host closed the connection]
azl_ has joined #picolisp
<freemint>
Regenaxer My lightning talk is on the mailing list too. I am not sure what a tutorial you want. But it tries to capture the "code is data, data is code" essence of PicoLisp
<freemint>
oh yeah a CSS tutorial i see.
azl_ has quit [Read error: Connection reset by peer]
<Regenaxer>
freemint, the one at FrosCon?
<freemint>
yes
<Regenaxer>
Just received the mail
<Regenaxer>
cool
<freemint>
Feedback/praise for the improved version (inline ) is appreciated
<Regenaxer>
Sure! :)
kenvandine24 has joined #picolisp
<Regenaxer>
The other discussion about a tutorial was more in the sense of developing full applications, not the language itself
kenvandine24 has quit [Remote host closed the connection]
<aw->
mtsd: interesting that you ported an SQL to Pil.. I was too lazy so I simply jumped from MySQL to SQLite
Apocalypse2 has joined #picolisp
Guest85807 has joined #picolisp
Guest85807 has quit [Remote host closed the connection]
<Regenaxer>
freemint: Good and succingt examples. Well to the point
<Regenaxer>
succinct
<freemint>
One thing made me curious in mtsd presentation data bases sire is 900k but data compressed is 47k. Is the PicoLisp DB to verbose?
<freemint>
I am glad you liked it
Apocalypse2 has quit [Remote host closed the connection]
<Regenaxer>
The blocks are usually not full
<freemint>
how do write pilIO again?
<Regenaxer>
and the payload data is mostly symbols (in PLIO) which are well compressible
<freemint>
I am trying to inspect what a (new) looks like
<freemint>
Regenaxer i know i thought about using pilIO for code golfing but it turns out more verbose
<Regenaxer>
I would not say verbose
<Regenaxer>
But it is not much shorter than textual s-exprs
<Regenaxer>
No white space
<Regenaxer>
The point is more that reading (parsing) is faster
<Regenaxer>
because it carries the type informations
<Regenaxer>
only numbers take less space, and there is no whitespace in it
<freemint>
you trade of size for speed since disc space is cheap
<freemint>
perfectly reasonable
<Regenaxer>
But as far as the DB is concerned, you have *lots* of the same symbols
<Regenaxer>
ie properties
<Regenaxer>
so it is well compressable
<freemint>
thats why you make them short
<Regenaxer>
right
<Regenaxer>
No reason to waste space here
<Regenaxer>
(out "a" (in "lib.l" (while (read) (pr @]
<Regenaxer>
$ ls -l a lib.l
<Regenaxer>
-rw-r--r-- 1 u0_a67 u0_a67 8697 Sep 26 12:22 a
<Regenaxer>
Depends a lot on white space, and even more comments (if used a lot ;)
RamJett has joined #picolisp
RamJett has quit [Remote host closed the connection]
razzy has quit [Ping timeout: 245 seconds]
<mtsd>
Sorry, was away for a bit. Great to see your presentation too, freemint!
<freemint>
No big thing
Elpaulo12 has joined #picolisp
<mtsd>
As for the database sizes, some space is "wasted" in that the blocks are not always full. The archive i use as an extra backup is a simple text dump of the contents, which compresses very well
<mtsd>
So it is just a number of text files with names of people and such things in there
Elpaulo12 has quit [Remote host closed the connection]
razzy has joined #picolisp
<Regenaxer>
ah, a dump. Then it is also without the index trees, which take up the major part of a DB
<mtsd>
Exactly, just the textual contents of the data. no indexes or anything like that
<Regenaxer>
OK
Nikkii16 has joined #picolisp
<Regenaxer>
aw-, cool, what VM is that?
<mtsd>
In fact, the only reason I do this is that the client was worried about data becoming "locked-in" inside something they would be unable to retrieve it from later
Nikkii16 has quit [Remote host closed the connection]
<aw->
Regenaxer: i made it
<mtsd>
So, I gave them way of getting the data out once each night, in a simple, readable, format
freemint has quit [Remote host closed the connection]
zwisch has joined #picolisp
<Regenaxer>
aw-, pi3-based?
<Regenaxer>
mtsd, usually I export in TAB-separated CSV
<aw->
no, it's just Linux kernel + init script which loads directly into PicoLisp REPL
<Regenaxer>
oh, wow!
<mtsd>
Regenaxer, same format here. TAB- separated CSV
<mtsd>
Cool aw- !!
<Regenaxer>
:)
freemint has joined #picolisp
<Regenaxer>
aw-, so the whole thing is extremely small?
<Regenaxer>
freemint, you missed details about the sizes
<Regenaxer>
ah, no
<aw->
yeah ~ 20Mib
<Regenaxer>
+
<aw->
could be smaller, but I included the full TinyCore Linux userland, so it's not "completely useless"
<Regenaxer>
libs etc
freemint has quit [Read error: Connection reset by peer]
freemint has joined #picolisp
<freemint>
i did not ... whitequark to the rescue
<Regenaxer>
good :)
<Regenaxer>
and it was only about CSV
zwisch has quit [Remote host closed the connection]
<freemint>
it would be cool if one day the would be a really compressed pilARCHIVE
<Regenaxer>
Just make a TGZ?
<freemint>
true that. I was thinkg of byte based code golfing
<aw->
i'll upload VMDK, QCOW2, OVA if anyone wants to try it
<Regenaxer>
Then a sweep over the program would be good which renames all symbols
<Regenaxer>
using 'zap' + 'name' (+ 'intern' perhaps)
<freemint>
how would that make it smaller?
<Regenaxer>
if you 'print' or 'pr' it then
<freemint>
ah
<Regenaxer>
first determining the frequency of use
<Regenaxer>
for the shortest names
<freemint>
there should be enough one byte Unicode for everybody in a normal program
phildini27 has joined #picolisp
<freemint>
but yeah
<Regenaxer>
well, not one byte for Unicode
<Regenaxer>
would be only 127 symbols
<freemint>
mhh damn it you are right
<Regenaxer>
UTF8
<Regenaxer>
but the most frequent symbols will be less than that
phildini27 has quit [Remote host closed the connection]
<freemint>
less than a byte?
SoniEx215 has joined #picolisp
<Regenaxer>
less than 127 symbols
<freemint>
or less than 127 in total
<Regenaxer>
if, car, etc
<freemint>
yeah
<Regenaxer>
total are more
<Regenaxer>
but can be shorter too, 2 or 3 bytes
<Regenaxer>
ok, min is 2, tag + name
<Regenaxer>
in plio
<Regenaxer>
Internal symbols are one byte larger in PLIO than 'printed'
<Regenaxer>
transients are one shorter
SoniEx215 has quit [Remote host closed the connection]
<freemint>
and we load "golf.l" in the beginning
<Regenaxer>
"a" <-> tag+a
<Regenaxer>
yes
<Regenaxer>
transients are more challeging, as they must be found in the heap
<freemint>
golf has a pilIO repl than?
<Regenaxer>
internals are just (all)
<freemint>
interesting
<Regenaxer>
ah, you get also the transients if you load the whole program in a single repl (load)
<Regenaxer>
(all T)
<Regenaxer>
not wiped yet
<freemint>
???
<Regenaxer>
The transient scope
Delf19 has joined #picolisp
<freemint>
(having "car" transient) (loading something) ("car" still works?)
<Regenaxer>
no
<freemint>
what did you try to say than?
<Regenaxer>
Then a new 'car' is created
<Regenaxer>
You load the whole program, then 'zap' all internals and set new names with 'name'
<Regenaxer>
'name' is not allowed on interned symbols
<Regenaxer>
that's why
<Regenaxer>
(let S 'car (zap S) (name S "a") (intern S]
<Regenaxer>
something like that
<Regenaxer>
then (a (1 2 3))
<Regenaxer>
Not tried though
<freemint>
ohh i get it
Delf19 has quit [Remote host closed the connection]
<freemint>
(a (1 2)) a undefibed
omglolbah24 has joined #picolisp
<Regenaxer>
hmm
<aw->
ok I added download links if anyone wants to try the pilVM i created: https://a1w.ca/pilvm.html
<freemint>
aw- it get's if network drivers from Linux?
steeling16 has joined #picolisp
<Regenaxer>
Needs the T
<Regenaxer>
(intern (name (zap 'car) "xxx") T)
<Regenaxer>
(xxx (1 2 3))
<aw->
freemint: yes
<Regenaxer>
I forgot the details atm
omglolbah24 has quit [Remote host closed the connection]
<Regenaxer>
Anyway, this works: (let S 'car (zap S) (name S "a") (intern S T]
<Regenaxer>
The reason is that (name S "a") creates "a" in the transient scope
<Regenaxer>
so *this* "a" is used
<freemint>
Magic
<Regenaxer>
Very simple once you understand PicoLisp symbols
<freemint>
ok then i do not
<Regenaxer>
It is all about scope (visibility) and how the reader handles it
steeling16 has quit [Ping timeout: 245 seconds]
<Regenaxer>
(car 'L) creates 'L' if it is not in the scope yet (interned)
<Regenaxer>
And the reader runs before eval
<Regenaxer>
ie "repl"
<Regenaxer>
PicoLisp is really REPL all the time
<Regenaxer>
It needs to be understood
<freemint>
The reader translates code in to a giant pointer salad.
<Regenaxer>
well, REL most of the time
<Regenaxer>
exactly
<Regenaxer>
Here we are concerned about symbols
<Regenaxer>
not so many pointers, but an association of names to symbols
<Regenaxer>
Reading 'car' always gives the same symbol (if in the same namespace)
<freemint>
yes
<Regenaxer>
Perhaps more difficult to explain than it actually is
<freemint>
i think so
erg29 has joined #picolisp
<Regenaxer>
So (for S (all) (zap S) (name S (pack "G" (inc (0)))) (intern S T] should do it
<freemint>
are transient symbols and name spaces completely independent or do they i,nfluence each other
<Regenaxer>
But 'read' will read new symbols then
<Regenaxer>
They are independent
<Regenaxer>
externals too
kid7 has joined #picolisp
<freemint>
you can not rename NIL ;)
<Regenaxer>
true, more checks are needed
<Regenaxer>
protected symbols
<Regenaxer>
And dumping that to a file is a bit useless
<freemint>
(when S does it
<Regenaxer>
to load it the base symbols need to be renamed first
erg29 has quit [Read error: Connection reset by peer]
<freemint>
Why no just setq a car, setq b cdr ...
<Regenaxer>
There are more protected symbols than NIL
<freemint>
i did run fine with (when S
<freemint>
which are protected too?
kid7 has quit [Remote host closed the connection]
<Regenaxer>
OK, right, protection applies to the value only
<Regenaxer>
T can be renamed probably
<Regenaxer>
(intern (name (zap T) "xxx") T)
<freemint>
'(bye) bye -- Undefined
<freemint>
i am royally screwed
<Regenaxer>
you read a new symbol 'bye'
<Regenaxer>
you need the new name of the old 'bye'
<freemint>
that makes sense even if I do not understand how it happens
<freemint>
Is there a way to keep the old bindings?
<Regenaxer>
Just renamed a single symbol
<Regenaxer>
T -> xxx
<Regenaxer>
Not really, a symbol has exactly one name
<freemint>
could we make the new symbol point to the old?
<Regenaxer>
You need a separate association
<Regenaxer>
No, it is the *same* symbol
<freemint>
(set 'car G12)
<Regenaxer>
you could put the old *name* into a property
<Regenaxer>
With (set 'car G12) you have a new 'car' with the old value
<freemint>
is there a problem with that?
<Regenaxer>
other things like properties, or referrences from code, are different
<Regenaxer>
No problem, depends what you need
<Regenaxer>
All code which called (car ...) now has (G12 ...)
<freemint>
I need it to to behave well when I am writing "normal" code
<freemint>
yeah I know
<Regenaxer>
The whole code is consistent and will run, you just cant 'read' new code
<freemint>
I want car to behave like car for new code
<freemint>
scary ...
<Regenaxer>
you could patch new code
<Regenaxer>
replace 'car' with 'G12'
ring025 has joined #picolisp
<Regenaxer>
Not very useful ;)
<freemint>
ok that could work too
<freemint>
If I am understanding it right I want a new shorthand for old functions. as long as I my program behavior does not depend on comparing built-in symbols I should be safe with the setq approach?
ring025 has quit [Read error: Connection reset by peer]
<Regenaxer>
yes, not '==' and not using the properties
<Regenaxer>
like
<Regenaxer>
: (show 'car)
<Regenaxer>
doc "@doc/refC.html"
<Regenaxer>
car 22966511933
<Regenaxer>
*Dbg ((5 . "@src64/subr.l"))
<Regenaxer>
-> car
<Regenaxer>
This will all be in G12 now
<Regenaxer>
And all existing functions call G12
<freemint>
mhh then i will keep that approach in mind but got with just setq ... first
<Regenaxer>
I would avoid loading more stuff
<Regenaxer>
and keep a table with all renames
<Regenaxer>
to be used after startup before loaning the modified stuff
<Regenaxer>
loading
P4k3_ has joined #picolisp
P4k3_ has quit [Remote host closed the connection]
freeemint has joined #picolisp
freemint has quit [Ping timeout: 260 seconds]
orivej has quit [Ping timeout: 252 seconds]
queso5 has joined #picolisp
queso5 has quit [Remote host closed the connection]
Silentd12 has joined #picolisp
Silentd12 has quit [Remote host closed the connection]
ubLIX has joined #picolisp
kroot_ has joined #picolisp
mtsd has quit [Quit: Leaving]
chedr15 has joined #picolisp
chedr15 has quit [Remote host closed the connection]
kroot_ has quit [Remote host closed the connection]
johu has joined #picolisp
johu has quit [Remote host closed the connection]
freemint has joined #picolisp
freeemint has quit [Ping timeout: 246 seconds]
nh222 has joined #picolisp
freemint has quit [Ping timeout: 240 seconds]
freemint has joined #picolisp
nh222 has quit [Remote host closed the connection]
PDogJr7 has joined #picolisp
Geckom4 has joined #picolisp
Geckom4 has quit [Remote host closed the connection]
qom-1 has joined #picolisp
PDogJr7 has quit [Remote host closed the connection]
pierpal has quit [Ping timeout: 260 seconds]
qom-1 has quit [Remote host closed the connection]
wbs3 has joined #picolisp
wbs3 has quit [Remote host closed the connection]
hucksy_ has joined #picolisp
hucksy_ has quit [Read error: Connection reset by peer]
freemint has quit [Ping timeout: 252 seconds]
pabed has joined #picolisp
freemint has joined #picolisp
pabed has quit [Ping timeout: 252 seconds]
<rick42>
hello all
<rick42>
freemint: nice lightning talk
<rick42>
always hard to figure out what to say in only 5 minutes. good choices
<Regenaxer>
Hi rick42!
<rick42>
hi Reg!
<rick42>
:)
<freemint>
thanks rick42
e217 has joined #picolisp
e217 has quit [Remote host closed the connection]
hi1175 has joined #picolisp
hi1175 has quit [Remote host closed the connection]
JPei has joined #picolisp
JPei has quit [Read error: Connection reset by peer]
Izu has joined #picolisp
rob_w has quit [Quit: Leaving]
pierpal has joined #picolisp
Izu has quit [Remote host closed the connection]
xavierb21 has joined #picolisp
xavierb21 has quit [Remote host closed the connection]
<aw->
rick42: hey!
ubLIX has quit [Quit: ubLIX]
benJIman20 has joined #picolisp
TheAvatar28 has joined #picolisp
TheAvatar28 has quit [Remote host closed the connection]
benJIman20 has quit [Remote host closed the connection]
vegai18 has joined #picolisp
vegai18 has quit [Read error: Connection reset by peer]
va7lnx4 has joined #picolisp
orbitz_ has joined #picolisp
orbitz_ has quit [Read error: Connection reset by peer]
va7lnx4 has quit [Read error: Connection reset by peer]
Hydraxis1 has joined #picolisp
Hydraxis1 has quit [Remote host closed the connection]
vector4 has joined #picolisp
cb11 has joined #picolisp
vector4 has quit [Read error: Connection reset by peer]
paulrs has joined #picolisp
cb11 has quit [Ping timeout: 252 seconds]
planigan0 has joined #picolisp
planigan0 has quit [Remote host closed the connection]
paulrs has quit [Ping timeout: 252 seconds]
stephank18 has joined #picolisp
tsp15 has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
stephank18 has quit [Remote host closed the connection]
tsp15 has quit [Remote host closed the connection]
tobasco has joined #picolisp
giammi16 has joined #picolisp
giammi16 has quit [Read error: Connection reset by peer]
tobasco has quit [K-Lined]
Hail_Spacecake8 has joined #picolisp
Kuruk11 has joined #picolisp
Hail_Spacecake8 has quit [Remote host closed the connection]
Kuruk11 has quit [Remote host closed the connection]
freeemint has joined #picolisp
PIBER has joined #picolisp
freemint has quit [Ping timeout: 244 seconds]
PIBER has quit [Read error: No route to host]
television18 has joined #picolisp
television18 has quit [Remote host closed the connection]
Lt_Lemming0 has joined #picolisp
kepler_mach29 has joined #picolisp
Lt_Lemming0 has quit [Remote host closed the connection]
Guest21615 has joined #picolisp
proteusguy has joined #picolisp
kepler_mach29 has quit [Remote host closed the connection]
atrioom_ has joined #picolisp
proteusguy has quit [Remote host closed the connection]
atrioom_ has quit [Read error: Connection reset by peer]
ArmOrAttAk has joined #picolisp
Guest21615 has quit [Ping timeout: 240 seconds]
ArmOrAttAk has quit [Remote host closed the connection]
{AS}11 has joined #picolisp
{AS}11 has quit [Remote host closed the connection]
<rick42>
aw-: hey! you are up late! :)
fgaz2 has joined #picolisp
<rick42>
can anyone point me to some example code that reads a file and matches lines based on content?
<rick42>
reason I have to "reinvent the wheel" is that I can't count on grep existing on Windoze
<rick42>
if first arg could be regex that's cool but not required (i can live without it)
<rick42>
(grep "foo" "file.txt") -> <returns lines that contain "foo")
<rick42>
should work like grep, e.g.
<rick42>
(also it's been a while since i've written pil. i forgot a lot. i need reminding. :)
<rick42>
thanks
luisjose4 has joined #picolisp
luisjose4 has quit [Remote host closed the connection]
nekaii9 has joined #picolisp
fgaz2 has quit [Read error: Connection reset by peer]
BOKALDO23 has joined #picolisp
<rick42>
probably it will have this structure:
<rick42>
where <match> matches the input line to "foo" (or whatever is the "match string")
<rick42>
(in Infile (make (while <match> to (link @))))
<rick42>
T?
nekaii9 has quit [Remote host closed the connection]
BOKALDO23 has quit [Remote host closed the connection]
<rick42>
wow thanks. btw, do we not need (make ...) ?
radish2 has quit [Remote host closed the connection]
<rick42>
maybe i should just try it before asking lol :)
* rick42
is being lazy :)
<Regenaxer>
Yes, sorry, if 'link' then we need 'make'
<Regenaxer>
You could also just 'prinl'
<rick42>
ah yes i rememeber prinl being the preferred output writer (unless you like double quotes :)
Fairy7 has joined #picolisp
<Regenaxer>
to be exact: Unless you want s-expressiogs
<rick42>
and pil quite straightforwardly says "Not making" (when make is missing)
<rick42>
ok right!
<Regenaxer>
: (prinl '(a (b c (d) e (f))))
<Regenaxer>
abcdef
<rick42>
: (println '(a (b c (d) e (f))))
<rick42>
got it! thanks (again! :)
<rick42>
(a (b c (d) e (f)))
jlacroix5 has joined #picolisp
pierpal has quit [Ping timeout: 252 seconds]
pierpal has joined #picolisp
Fairy7 has quit [Remote host closed the connection]
<rick42>
for my Windoze users, i believe that minipicolisp will work just fine (for this app i have in mind, only needs local io)
<rick42>
yay mini \o/
jlacroix5 has quit [Remote host closed the connection]
<Regenaxer>
Yes, good idea
<rick42>
btw, when i'm done writing the program (it will be one source file) can I "wrap it" somehow with mini exe and give them one file to drop on their system and run?
<rick42>
am i making sense? just trying to make it easy for them
<Regenaxer>
yes, mini has a way of "compiling" Lisp sources into "ROM"
<rick42>
i'm not physically there to install sw for them is why
<rick42>
oooo nice!
<rick42>
how?
<Regenaxer>
It generates C-structures from the s-exprs
<rick42>
wow i had no idea you could do this!
<Regenaxer>
The standard libs like lib.l are included that way
<Regenaxer>
It is because embedded systems have so little RAM
<rick42>
can you point me to a doc that explains this, Regenaxer?
marcus_5 has quit [Remote host closed the connection]
<Regenaxer>
Hmm, seems the *.s files must be written in a little different syntax
<Regenaxer>
no 'de'
<Regenaxer>
But symbol value
<Regenaxer>
I think you see the systematics
<Regenaxer>
The files of course cannot contain any Lisp code executed at 'load' time
<Regenaxer>
It is static
goberle1 has joined #picolisp
goberle1 has quit [Read error: Connection reset by peer]
freeemint has quit [Ping timeout: 252 seconds]
freemint has joined #picolisp
xorAxAx13 has joined #picolisp
xorAxAx13 has quit [Read error: Connection reset by peer]
freeemint has joined #picolisp
freemint has quit [Ping timeout: 252 seconds]
ymasson has joined #picolisp
JKL92 has joined #picolisp
JKL92 has quit [Read error: Connection reset by peer]
ymasson has quit [Remote host closed the connection]
thet_m22 has joined #picolisp
thet_m22 has quit [Remote host closed the connection]
LegendaryPotato has joined #picolisp
LegendaryPotato has quit [Remote host closed the connection]
radiofree16 has joined #picolisp
radiofree16 has quit [Remote host closed the connection]
willwh has joined #picolisp
willwh has quit [Remote host closed the connection]
rohitt has joined #picolisp
rohitt has quit [Remote host closed the connection]
nikomo5 has joined #picolisp
pierpal has joined #picolisp
nikomo5 has quit [Remote host closed the connection]
himmAllRight29 has joined #picolisp
bokchoy2 has joined #picolisp
himmAllRight29 has quit [Remote host closed the connection]
bokchoy2 has quit [Read error: Connection reset by peer]
cdr255 has joined #picolisp
cdr255 has quit [Read error: Connection reset by peer]
freeemint has quit [Ping timeout: 252 seconds]
freemint has joined #picolisp
orivej has joined #picolisp
gmaxwell16 has joined #picolisp
vertrex25 has joined #picolisp
vertrex25 has quit [Remote host closed the connection]
<rick42>
do you use `not` to check if a list is empty? (didn't seem to find nil? or empty?)
gmaxwell16 has quit [Remote host closed the connection]
Possum1 has joined #picolisp
Fenix2412 has joined #picolisp
mmedvede6 has joined #picolisp
tkaemming_ has joined #picolisp
Possum1 has quit [Read error: Connection reset by peer]
OliverUv21 has joined #picolisp
OliverUv21 has quit [Remote host closed the connection]
<Regenaxer>
Yes, 'not'. But it is almost never used
andjjj2325 has joined #picolisp
<Regenaxer>
Better are the opposite flow functions, ifn, or, unless, nond, until etc
mmedvede6 has quit [Remote host closed the connection]
tkaemming_ has quit [Read error: Connection reset by peer]
Fenix2412 has quit [Remote host closed the connection]
ds_17 has joined #picolisp
msev-29 has joined #picolisp
Xavier13 has joined #picolisp
msev-29 has quit [Read error: Connection reset by peer]
andjjj2325 has quit [Remote host closed the connection]
ds_17 has quit [Remote host closed the connection]
BrainDamage19 has joined #picolisp
sandeep_25 has joined #picolisp
BrainDamage19 has quit [Read error: Connection reset by peer]
Xavier13 has quit [Remote host closed the connection]
synthmeat21 has joined #picolisp
synthmeat21 has quit [Remote host closed the connection]
sandeep_25 has quit [Read error: Connection reset by peer]
Megaf7 has joined #picolisp
Megaf7 has quit [Read error: Connection reset by peer]
ronny20 has joined #picolisp
ronny20 has quit [Remote host closed the connection]
dwiesner22 has joined #picolisp
andrzej18 has joined #picolisp
HaskellLord69 has joined #picolisp
andrzej18 has quit [Remote host closed the connection]
HaskellLord69 has quit [Remote host closed the connection]
dwiesner22 has quit [Remote host closed the connection]
debhelper18 has joined #picolisp
debhelper18 has quit [Remote host closed the connection]
crs26 has joined #picolisp
crs26 has quit [Read error: Connection reset by peer]
jidar23 has joined #picolisp
terrenal has joined #picolisp
terrenal has quit [Remote host closed the connection]
jidar23 has quit [Remote host closed the connection]
<rick42>
Regenaxer: i was in `loop` and I wanted to get out of it (as *one* of my escaping conditions). if there is a better way than `not` in this case please tell me thanks
<Regenaxer>
loop and do are special
<Regenaxer>
you exit with NIL or T
<rick42>
right
<Regenaxer>
(while (foo) (bar)) is (loop (NIL (foo)) (bar))
<rick42>
one my clauses is (NIL Lst return-val)
<rick42>
right
<Regenaxer>
good
<Regenaxer>
So no 'not' needed?
<rick42>
it used to be (T (not Lst) return-val) and then i said to myself "what am i doing?!" :)
<rick42>
yes not not needed
<rick42>
no not :)
<Regenaxer>
:)
cHawk25 has joined #picolisp
datamike53 has joined #picolisp
cHawk25 has quit [Read error: Connection reset by peer]
datamike53 has quit [Read error: Connection reset by peer]
<rick42>
had to enter the following for my minin code. heh.
<rick42>
(de pre? (Sub Str)
<rick42>
(def 'miniPicoLisp-pre? pre?)
<rick42>
# make mini's pre? return Str on success like regular picolisp does.
<rick42>
(if (miniPicoLisp-pre? Sub Str) Str))
<rick42>
So I could say (if (pre? ...) (link @))
eddyb26 has joined #picolisp
eddyb26 has quit [Remote host closed the connection]
freemint has quit [Ping timeout: 252 seconds]
yawkat20 has joined #picolisp
freemint has joined #picolisp
yawkat20 has quit [Remote host closed the connection]
ozzzy_26 has joined #picolisp
ozzzy_26 has quit [Remote host closed the connection]
ubLIX has joined #picolisp
ubLIX has quit [Quit: ubLIX]
groovy2shoes has quit [Ping timeout: 240 seconds]
groovy2shoes has joined #picolisp
eSVG has joined #picolisp
eSVG has quit [Remote host closed the connection]
bear45418 has joined #picolisp
bear45418 has quit [Remote host closed the connection]
pierpal has quit [Ping timeout: 245 seconds]
snacky27 has joined #picolisp
snacky27 has quit [Remote host closed the connection]