<Regenaxer>
(mapcar '((This) (cons (; This nm) (; This job))) (collect ...
<aw->
oh
<aw->
ok ok i get it
<aw->
oh yeah This would great simplify a lot of my code
<Regenaxer>
: is just a short form of ;
<Regenaxer>
With '((This) ..) you save a 'with'
<Regenaxer>
'((Obj) (with Obj ...
<Regenaxer>
'with' does nothing more than bind 'This' implicitly
<Regenaxer>
(just for the records)
<aw->
yeah I just read that
<aw->
brilliant
<aw->
it seems there's a lot of hype nowadays regarding GraphQL, a crappy implementation of graph database - with limited functionality and horrible syntax.
<aw->
maybe beneroth can comment on it
<aw->
i'll stick to PilDB, much more powerful
<Regenaxer>
yeah, I don't know GraphQL at all
<aw->
Regenaxer: when did you implement Pilog for picolisp DB?
<aw->
was it at the same time when you first started picolisp? or many years later?
<Regenaxer>
It was much later. In the second version, a complete re-write, which started around 1999.
<aw->
there's no need to know GraphQL. Just imagine a much worse way of doing half of what PicoLisp+DB does
<Regenaxer>
Ok :)
<aw->
wow, 1999!
<aw->
i graduated high school then ;) haha
<Regenaxer>
:)
orivej has quit [Ping timeout: 276 seconds]
<Regenaxer>
So I graduated high school around the time you were born
<Regenaxer>
hmm, no
<aw->
82
<Regenaxer>
I finished Uni at that time
<Regenaxer>
High school 73
<aw->
hmm yeah quite a difference
rob_w has joined #picolisp
rob_w has quit [Remote host closed the connection]
rob_w has joined #picolisp
andyjpb has joined #picolisp
<aw->
Regenaxer: is the db file stored on disk in PLIO format?
<Regenaxer>
Yes, correct
mikeyhc has joined #picolisp
<aw->
(chdir (in "family/A" (rd)))
<aw->
why it returns NIL ?
<aw->
oops
<Regenaxer>
The file is organized in blouks. The first block is a header block which in fact does not contain PLIO
<aw->
(in "family/A" (rd))
<Regenaxer>
The other blocks also have meta data
<aw->
oh
<Regenaxer>
see doc64/structures
<Regenaxer>
The PLIO data are nested within control data
<Regenaxer>
see below "### Database file ###"
<aw->
oh yeah i see it
<aw->
thanks!
<Regenaxer>
The 'blk' function can directly read block (pil64 only)
<Regenaxer>
I mean directly read the PLIO from a block
<aw->
have you ever encountered a corrupt db file?
<Regenaxer>
yes
<Regenaxer>
In the beginning
<Regenaxer>
Normally the file itself is never corrupt
<Regenaxer>
But the higher levels can be easily made inconsistent
<Regenaxer>
indexes
<aw->
how to avoid that?
<Regenaxer>
eg by circumventing the E/R mechanisms and storing things at the lower level
<aw->
E/R?
<Regenaxer>
Always use put!> etc
<Regenaxer>
and make a correct DB model
<aw->
oh ok, so ensuring transactions are used
<aw->
and dbSync if there's children
<Regenaxer>
yes
<Regenaxer>
right, that too
<aw->
well the ! functions do it automatically
<Regenaxer>
if there are siblings rather
<Regenaxer>
T
<Regenaxer>
But if you 'put' instead of 'put> you can mess up things
<aw->
you mean put!> ?
<Regenaxer>
put!> is just the dbSync'ed version of 'put>'
<Regenaxer>
Same as (dbSync) (put> ..) (commit 'upd)
<aw->
oh ok
<Regenaxer>
ie a single-transaction
andyjpb has quit [Ping timeout: 244 seconds]
freemint has joined #picolisp
freemint has quit [Ping timeout: 248 seconds]
beneroth has joined #picolisp
<beneroth>
hi all
<Regenaxer>
Hi beneroth!
<aw->
hi beneroth
orivej has joined #picolisp
styx has joined #picolisp
andyjpb has joined #picolisp
andyjpb has quit [Ping timeout: 268 seconds]
andyjpb has joined #picolisp
karswell has quit [Remote host closed the connection]