<abu[7]>
Hmm, perhaps the readline includes include time.h
<azynheira>
~/pil21/src 7s ❯ rg time.h
<azynheira>
httpGate.c
<azynheira>
11:#include <time.h>
<azynheira>
13:#include <sys/time.h>
<azynheira>
sysdefs.c
<azynheira>
13:#include <time.h>
<azynheira>
20:#include <sys/time.h>
<azynheira>
pico.h
<azynheira>
19:#include <time.h>
<azynheira>
interesting
<azynheira>
some include sys/time.h
<azynheira>
and some include time.h
<abu[7]>
I better put <time.h> into pico.h
<azynheira>
whats the difference ?
<abu[7]>
I think it worked because readline was included
<abu[7]>
moment
iogrt has joined #picolisp
<abu[7]>
I release again
<azynheira>
what was the problem ?
<abu[7]>
time.h it seems
<azynheira>
I dont get it, some folk say sys/time.h is better for portability some dont
<abu[7]>
yeah, it is a mess
<abu[7]>
Can you download again?
<azynheira>
Doing it now
<abu[7]>
I added #include <time.h> to pico.h
<azynheira>
now both work again
<abu[7]>
👍 :)
<azynheira>
Why does it work on your side ?
<abu[7]>
Some system includes differ probably
<abu[7]>
They all load each other :)
<azynheira>
So it just depends on your local instalation
<azynheira>
yeah
<azynheira>
The wonders of C and the including of includes :P
<abu[7]>
sigh
<azynheira>
:-)
<iogrt>
I have another topic, I was wondering how namespaces work, specifically their structure and if it would be possible to define a namespace for my data stored on the database
<iogrt>
I took a look at what `pico` returns but I don't see how those symbols point to a definition
<abu[7]>
Namespaces are just 'idx' trees
<abu[7]>
They have a tilde as a special marker
<abu[7]>
YoÜ can treat them as normal Lisp structures
<abu[7]>
and thus store and retrieve from a DB
<abu[7]>
(setq newNamespace otherNamespace)
<beneroth>
namespaces are basically a thing during read-time
<abu[7]>
(symbols '(newNamespace pico))
<abu[7]>
yes
<beneroth>
my recommendation would be to not use them heavily, and not use them in any symbols to be stored in the database
<beneroth>
you can do it, but namespace ordering / definitions need to be always the same when writing/reading/loading from database.
<abu[7]>
DB symbols are not a problem unless the order is changed
<beneroth>
the picolisp symbol (I mean normal symbol, not externals - all symbols in general) does not know in which namespace it is
<abu[7]>
I use them in PilBox for DBs
<beneroth>
abu[7], T, but coming from other namespacing systems one can easily expect that order of namespaces doesn't matter, that it's just as additional prefixes - this is not how it works in picolisp
<abu[7]>
true
azynheira has quit [Ping timeout: 250 seconds]
<beneroth>
iogrt, simply speaking, a namespace in picolisp is just a named tree of global symbols, where the reader (R from REPL) places the symbol instead of the default global symbol tree/collection
<beneroth>
hm...not sure if this is so simple to understand xD
<beneroth>
yeah its simple, but maybve not simple to communicate. I think namespace is a topic where (like with arrays) people often come with quite complicated assumptions how it works...
<abu[7]>
right
<beneroth>
instead of sticking to the precise definition :)
<abu[7]>
In Cl and Scheme it is about *definitions*, not symbols
iogrt has quit [Quit: Client closed]
<abu[7]>
they talk about function and variable namespaces
<abu[7]>
in pil it is strictly symbols
iogrt has joined #picolisp
<iogrt>
but what does the tree do? replace the symbol with something else right?
<iogrt>
trying to break away at my assumptions
<abu[7]>
It is for lookup
<abu[7]>
The reader sees "(a b c)" and must find or create the symbols a, b and c
<iogrt>
and once it finds them what does it do? no replacement?
<abu[7]>
Next time 'a' is seen it must find the same sym
<iogrt>
just a matter of knowing if they exist or not?
<abu[7]>
right
<abu[7]>
Why replace?
<iogrt>
like I'd think the namespace would hold the definition of the symbol
<abu[7]>
No, the definition is *in* the symbol
<abu[7]>
in the value
<iogrt>
hmm okay, so namespaces don't help me much it seems like
<abu[7]>
Nametpaces are only about *names*
<abu[7]>
: (symbols 'ap 'pico)
<abu[7]>
-> (pico)
<abu[7]>
ap: foo
<abu[7]>
-> NIL
<abu[7]>
ap: ap
<abu[7]>
-> (\~ (foo))
<abu[7]>
<abu[7]>
ap: (all 'ap)
<abu[7]>
-> (foo) # ap~foo
<abu[7]>
A namespace holding a single symbol
<iogrt>
yeah okay
<iogrt>
I really need a meta-language for my case then
<abu[7]>
Ideal for Lisp then :)
beneroth has quit [Read error: Connection reset by peer]
iogrt has quit [Ping timeout: 250 seconds]
azynheira has joined #picolisp
<azynheira>
Also, adding
<azynheira>
soTest.c:20:7: note: include ‘<stdlib.h>’ or provide a declaration of ‘free’
<azynheira>
#include <stdlib.h>
<abu[7]>
ah
<abu[7]>
ok
<azynheira>
to get rid of this warning
<azynheira>
on soTest.c
<abu[7]>
Doing, thanks!
<azynheira>
Its being picky ... but nevertheless :-)
<abu[7]>
No, good you tell this. Debian does not complain