ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Check also http://www.picolisp.com for more information
aw- has quit [Read error: Connection reset by peer]
aw- has joined #picolisp
stultulo has joined #picolisp
f8l has quit [Ping timeout: 260 seconds]
stultulo is now known as f8l
Nistur has quit [Ping timeout: 260 seconds]
Nistur has joined #picolisp
twelvemonkeys has quit [Ping timeout: 256 seconds]
twelvemonkeys has joined #picolisp
<tankf33der> morning all
rob_w has joined #picolisp
<aw-> tankf33der: hi
<beneroth> hi tankf33der, hi aw- :)
<Regenaxer> Hi all!
<Regenaxer> tankf33der, why might it be too late?
<tankf33der> too perfect picolisp eat your brain.
<Regenaxer> maybe
mtsd has joined #picolisp
mtsd has quit [Quit: Leaving]
mtsd has joined #picolisp
<beneroth> the real damage only can be seen once you try to program in something else
<mtsd> Good morning
<beneroth> Good morning dear mtsd :)
<mtsd> Hello beneroth!
<mtsd> :)
<Regenaxer> Hi mtsd
<mtsd> Hi Regenaxer!
emacsomancer has quit [Ping timeout: 264 seconds]
DKordic has quit [*.net *.split]
masak has quit [*.net *.split]
<Nistur> mornin'
<mtsd> Good morning!
DKordic has joined #picolisp
masak has joined #picolisp
emacsomancer has joined #picolisp
mtsd has quit [Quit: Leaving]
mtsd has joined #picolisp
<Regenaxer> Hi Nistur
alexshendi has joined #picolisp
<alexshendi> Good Morning!
karswell_ has joined #picolisp
mtsd_ has joined #picolisp
mtsd has quit [Ping timeout: 264 seconds]
mtsd has joined #picolisp
mtsd_ has quit [Ping timeout: 246 seconds]
<Regenaxer> Hi alexshendi!
<alexshendi> Hi Regenaxer, how are you?
<Regenaxer> Thanks, good :)
<alexshendi> I'm also fine. In case anyone wanted toak.
<alexshendi> * to ask
<Regenaxer> Yes, just wanted to ask :)
<Regenaxer> alexshendi: Good point with Schafmeister and LLVM
orivej has quit [Ping timeout: 265 seconds]
<Regenaxer> of course Guido did not react
orivej has joined #picolisp
<alexshendi> He did send a mail (IDK if it was just to me or if he CCed the list). But he basically just wrote that "Schafmeister ported CL to LLVM and achieved C speed". 😇
<Regenaxer> ok
<beneroth> he didn't sent to the list
<beneroth> I was amused by the mail from John Duncan
<beneroth> :-)
<beneroth> Guido: "You'll never become a car even if you put your body in a garage!"
<beneroth> Me: "You don't become a picolisper even if you spam the mailing list"
<Regenaxer> !)
<beneroth> Gino D'Acampo: "If my Grandmother had wheels she would have been a bike"
<beneroth> aye
orivej has quit [Ping timeout: 240 seconds]
stultulo has joined #picolisp
beneroth_ has joined #picolisp
beneroth has quit [Ping timeout: 246 seconds]
f8l has quit [Ping timeout: 264 seconds]
stultulo is now known as f8l
karswell_ has quit [Ping timeout: 246 seconds]
karswell_ has joined #picolisp
karswell_ is now known as karswell
beneroth_ has quit [Quit: Leaving]
beneroth has joined #picolisp
<beneroth> Guido strikes again
<beneroth> but he just makes me aware of a mistake on picolisp.com
<beneroth> actually I would consider the whole "Integrated Distributed Database Engine" section on the front page wrong
<beneroth> well no, but the word "distributed" should be removed
<beneroth> then its perfect
<beneroth> but the "distributed" is wrong, the possibility of connecting multiple databases doesn't make it a "distributed database"
<Regenaxer> My current use cases are often really distributed
<beneroth> the application is distributed, surely
<beneroth> the database..
<beneroth> hm
<Regenaxer> the db too
<beneroth> the correct term would be
<beneroth> Heterogeneous distributed database
<Regenaxer> not sure
<Regenaxer> in case of BTG it is homogeneous
<Regenaxer> spread across PilBox'es
<beneroth> yeah, but that is not simply the picolisp integrated DBMS, but a system built on top of it, no?
<Regenaxer> Well, depend where you put the border
<Regenaxer> if 'ssl' is also part
<beneroth> well, can you just add another physical machine to scale up? how many "nodes" (including central ones) can be down and the system run largely unaffected?
<Regenaxer> But yes, perhaps removing "distributed" in home is better
<Regenaxer> They can all be down any time
<beneroth> not at the same time :P
<Regenaxer> but at some time the central is needed again
<beneroth> yeah see
<beneroth> that you can do with current distributed database systems
<beneroth> by cost of guaranteed consistency, you only get "eventual" consistency, thus no ACID, neither
<Regenaxer> The BTG app always assumes to be offline
<Regenaxer> and you can work with it infinitely
<beneroth> yeah I think I understand your setup
<beneroth> but it is more like multiple synced instances
<Regenaxer> ok
<beneroth> it is not a single database, treated by the programmer as it would be a single host
<beneroth> I'm all in about not downplaying pilDB
<beneroth> but throwing it into the same bucket as "datomic" is not correct, in many ways
<Regenaxer> yes
<beneroth> in that regard I view pilDB more like a framework to build a distributed database
<beneroth> but it's not a plug-and-play finalized distributed database, just starting another machine and the software on it
<beneroth> agreed?
<Regenaxer> I never care about terminology
<beneroth> (which is not bad in any way)
<beneroth> my point is
<Regenaxer> or looked at other DBs
<beneroth> yeah that is my main point :D
<beneroth> I looked at them :)
<beneroth> the statement by Guide, and also the one of the homepage, is misleading
<beneroth> concerning distributed databases
<Regenaxer> yes, perhaps
<Regenaxer> So we should remove it
<beneroth> just remove the "distributed" word from the title and text
<beneroth> "And when it's time to scale, PicoLisp has you covered - creating networks of databases "
<beneroth> that is true
<Regenaxer> I think it was not me who wrote that page
<beneroth> T
<beneroth> I guess it was not changed since the new layout and new homepage
<Regenaxer> yew
<Regenaxer> p
<beneroth> the current homepage I don't like much
<beneroth> but it isn't bothering me enough to fix it ;-)
<Regenaxer> hmm, it was Erik
<Regenaxer> He made a nice optics
<beneroth> T
<beneroth> optics are good, fully agreed with that
<Regenaxer> things are harder to find now
<beneroth> yep, I struggle with it regularly
<Regenaxer> before it was all reachable from home
<beneroth> yep
<beneroth> not picolispy
<Regenaxer> hehe
<Regenaxer> The problem is that now nobody really feels responsible
<beneroth> exactly
<Regenaxer> Should all be maintained better
<beneroth> T
<beneroth> I see it as a "not optimized" thing, unless we get an influx of shallow "cool tech all easy!!11" people (yeah like Guido), then I would consider it a bug and escalate fixing it ;-)
<Regenaxer> Perhaps we should recruit people by asking in the list?
<Regenaxer> If not, I'll rework it when pil21 is done
<Regenaxer> Cards are shuffled then anyway
<beneroth> the appearance should fit the target audience, in my opinion this is suboptimally now, too much looking like hypetech (only good with .io domain ^^) then the down-to-earth (Djikstra: don't anthropomorphize the machine!) understanding I associate with picolisp
<beneroth> s/then/than
<beneroth> yeah
<beneroth> I keep shut until finding the time to do something :)
<Regenaxer> :)
<beneroth> just the "distributed" thingy I consider really misleading...
<beneroth> not that this is a big issue
<Regenaxer> and trivial to change ;)
<beneroth> only has two possible effects: 1) wrong arguments for Guido 2) influx of people with wrong expectations
<beneroth> 2) we don't see, afaik
<beneroth> (not more than usual)
<beneroth> a screw it
<beneroth> I wanted to answer Guido
<beneroth> but I leave it be
<beneroth> no value anyway
<Regenaxer> yes, don't mind
<beneroth> Regenaxer, the internal short tree is for symbols with up to 5 chars ?
<beneroth> or what was the limit?
* beneroth forgot where this was documented, if documented at all and not just discussed here
<Regenaxer> no, up to 7
<Regenaxer> 60 bits to be exact
<Regenaxer> so it is 7 bytes
<Regenaxer> if unlucky, only 1 char ;)
<Regenaxer> I think it is not explicitly documented
<beneroth> yeah I guess so :)
<beneroth> code remains the best representation, as usual :)
<Regenaxer> jo
<beneroth> thanks :)
<Regenaxer> and doc64/structures :)
<beneroth> aye
<beneroth> yeah I guess that comes from the same principle as number storage, right? :)
<beneroth> did pil32 also have two internal trees?
<beneroth> oh the long/short name is even a pointer tag
<beneroth> makes sense, one has to know in which tree it belongs
<Regenaxer> pil32 has no trees here, it uses a hash tablle
<beneroth> ok, so just one global hash table for internal symbols?
<Regenaxer> yes, so namespaces were tedious to support
<Regenaxer> long/short name is just a number
<Regenaxer> I mean, symbol names are just numbers internally
<beneroth> yes, characters stored as raw bytes like a number
<Regenaxer> You can directly see that with the 'adr' trick I posted in the lisw
<Regenaxer> yes
<beneroth> I see
<beneroth> so the following statement is correct?
<beneroth> PicoLisp VM uses two trees (used for looking up the symbol during the Parsing step in RE__P__L) for internal symbols: one for interned symbols with names which use up to 7 bytes, another tree for symbols with longer names. So length of names has an influence, often used symbols are better to be shorter (as is usually the case with local variables, for-loop iterator variables, etc.)
<Regenaxer> first byte in the lowest 8 bit of the number
<Regenaxer> Yes, correct
<beneroth> thanks
<Regenaxer> but the performance is only relevant for I/O
<Regenaxer> read/print and also plio
<beneroth> yeah parsing step during (load), usually
<beneroth> ofc other I/O too
<Regenaxer> parsing, but more important for tree search
<Regenaxer> short names are compared with ==
<Regenaxer> long names with 'equal'
<beneroth> which tree search, beside looking up an internal symbol (e.g. during parsing, if it is already interned)
<Regenaxer> ie a function call for each comparison
<beneroth> ah in comparisons, too
<Regenaxer> I mean internal here
<beneroth> ok
<Regenaxer> external symbols always have short names
<beneroth> T
<beneroth> namespaces are also splitted into a long and short tree?
<Regenaxer> yes
<Regenaxer> a nsp is a symbol with a cell with the two trees
<beneroth> yeah the namespace trees are obviously attached in the main trees
<Regenaxer> There is not really a main tree
<Regenaxer> Default is (pico) as the namespace list
<beneroth> I would call the two internal trees as the main trees
<beneroth> oh
<Regenaxer> "internal" means "currently" in the search order
<beneroth> ok
<beneroth> so the "main" I would consider the "default globale" one :)
<beneroth> *ones
<Regenaxer> yeah, so 'pico' nsp
<beneroth> transient symbols, are also divided according to symbol name length?
<Regenaxer> yes
<beneroth> ok
<Regenaxer> but they are directly in a global
<Regenaxer> internally
<beneroth> aye
<beneroth> dedicated root nodes
<Regenaxer> ye
<Regenaxer> s
<Regenaxer> a root cell
<beneroth> though only known during parsing, afterwards not required anymore
<Regenaxer> like the values of nsp symbols
<Regenaxer> yes, in a repl scope
<beneroth> so 2 main trees (internal symbols, pico default namespace), 2 trees attached into them per namespace, and two dedicated trees per transient scope (usually per source file, but possibly more)
<Regenaxer> "2 trees attached into them per namespace" I would not say
<Regenaxer> there is no special nsp
<Regenaxer> just a list
<beneroth> T
<beneroth> subtree
<beneroth> ?
<Regenaxer> two trees in a cell
<Regenaxer> car is short names
<beneroth> I see
* beneroth just recently realized that the (load) statement in a source file behaves like (====) concerning the transient scope
<Regenaxer> both for an internal nsp or the transient
<Regenaxer> external only 1 tree
<Regenaxer> yes, right about (load)
<Regenaxer> btw (====) will be removed in pil21
<beneroth> so (load) should be at the beginning of a file, if you want to work with the "localization trick" using transients?
<Regenaxer> yes
<beneroth> Regenaxer, because? rarely used?
<beneroth> I never used it xD
<Regenaxer> yes
<Regenaxer> me too
<beneroth> separate files could be used instead
<Regenaxer> and then better use namespaces
<beneroth> T
<Regenaxer> yes, or separate
<Regenaxer> much more clear
<Regenaxer> I use a 'priv' namespace for that now
<beneroth> thanks for the discussion. I save this as notes for future re-reading :)
<Regenaxer> good :)
<beneroth> priv for localization/i8n? or for that?
<Regenaxer> for what we used transients for local symbol
<Regenaxer> s
<beneroth> ah
<beneroth> ok
<Regenaxer> I use priv only in llvm.l in pil21 so far
<Regenaxer> The code looks also better
<beneroth> but transient for local "visibility of" symbols will continue to work, per file, right?
<Regenaxer> yes
<Regenaxer> it is still very useful
<beneroth> T
<beneroth> (====) is just not used in practice, I find
<beneroth> and namespacing is kinda doing the same thing, but independent of file / reader run
<Regenaxer> yes, I used it more initially, but removed gradually
<beneroth> in a very abstract sense
<beneroth> ok
<Regenaxer> yes, technically transients are just an implicit namespace
<beneroth> you used to have more name clashes? or more out of "premature" caution?
<Regenaxer> All "premature" :)
<beneroth> I see :)
<Regenaxer> Pathological cases
<beneroth> calming to know you are also not invulnerable to it :)
<Regenaxer> I was afraid of it alwyys
<beneroth> this is one of the things I would expect to get better with more experience
<Regenaxer> and am still
<Regenaxer> yes, getting to know the places
<beneroth> training a better intuition
<beneroth> knowing more practical use cases
<Regenaxer> right
<beneroth> of course, only works if disciple is kept up (or increased)
<beneroth> that is the part where mainstream software industry falls apart
<beneroth> or never worked
<beneroth> reading old Djikstra notes/quotes sounds like industry never got it right :)
<beneroth> s/disciple/discipline
<Regenaxer> yes, cause of large organizations
<Regenaxer> and many people
<beneroth> more people = more lazy people, encouraged by more shared responsibility
<Regenaxer> T
<beneroth> not even our community is immune, re the homepage ;-)
<Regenaxer> true
<beneroth> btw. name clashes.. I never managed to produce any.. well ok, the most severe bug I did so far kindly played into this, but there namespacing would not have rescued me
<beneroth> the redef warnings are good enough
<Regenaxer> I would not call it a clash, but an overshadowing of the bindings
<Regenaxer> yes, for definitions
<beneroth> just require the discipline to really check them, and not ignore them lightly
<beneroth> ah ok
<beneroth> yeah right, same thing
<Regenaxer> true, clashes are detected immediately
<beneroth> overshadowing is the better technical term, more precise
<beneroth> not detected.. right
<beneroth> hm
<beneroth> I think I never observed bugs with that, yet
<Regenaxer> It is not so often in applications
<Regenaxer> but system functions
<beneroth> though my capability to keep such things in mind while coding might be above average, I don't know
<beneroth> T
<Regenaxer> the 'Prg' stuff
<beneroth> well ok, I saw it with xhtml.l stuff :)
<beneroth> f-expr
<beneroth> easy to produce there, hard to find
<Regenaxer> yes, or functions passed to other functions
<beneroth> I'm still a bit afraid of the "namespace ordering" requirements
<beneroth> when thinking about big evolving code bases
<beneroth> hm
<beneroth> and the other issue, that 'pp is not working for namespaced stuff (is it? I think it isn't...unsure)
<Regenaxer> Without ordering it would even be more frightening
<beneroth> (might be are better
<beneroth> typo
<Regenaxer> Why 'pp'?
<beneroth> ordering: well the alternative cannot be no ordering, but maybe a fixed ordering
<Regenaxer> All functions work independent of nsps
<Regenaxer> It is important to change the ordering
<Regenaxer> while defining a nsp is front
<Regenaxer> later in usage it is behind
<beneroth> (de foo () (alpha~bar Some Arg))
<beneroth> (pp 'foo) -> (de foo () (bar Some Arg))
<beneroth> no?
<beneroth> haven't tested, I might be wrong here
<Regenaxer> It depends
<Regenaxer> if 'foo' is overshadowed by a nsp in front
<beneroth> it might be
<Regenaxer> no, it is definitely
<beneroth> haha, T
<Regenaxer> I just implemented it again
<Regenaxer> in pil2*
<beneroth> ah
<Regenaxer> 1
<beneroth> ok
<Regenaxer> it is symmetric to the reader
<beneroth> so symbols could store their origin namespace beside the name, for 'pp to work?
<Regenaxer> foo is read if in front namespace
<beneroth> it is temporal dependent
<beneroth> might not be the same reader anymore
<Regenaxer> ~ is a read macro and a print modifier
<Regenaxer> just as " in transients
<beneroth> aye
<beneroth> I'm not arguing for change
<Regenaxer> a symbol may print as "foo" if not in the search order
<beneroth> my personal conclusion: don't use namespaces (at all) during code writing (e.g. when writing a library)
<Regenaxer> Check what pil21/src/lib/llvm.l is doing. It goes to extremes, because it redefines parts of PicoLisp
<beneroth> apply namespaces at use time (so loadin)
<Regenaxer> I use namespaces in applications now a lot
<beneroth> hmmm
<Regenaxer> yes
<Regenaxer> Many functions like 'if', 'cond' or 'let' are redefined
<Regenaxer> in the 'llvm' namespace
<Regenaxer> 'priv' is local
<Regenaxer> I go for a walk
<Regenaxer> take the phone with me
<beneroth> ok
<beneroth> why (import pico) ?
<beneroth> src/lib/llvm.l seems to be a really good example
<beneroth> I try to better grok namespace usage
<Regenaxer> yes, and it would be impossible without namespaces
<Regenaxer> (import pico is needed to get at pico~ from inside priv iirc
<beneroth> but that import is at the beginning, before you opened 'priv
<Regenaxer> ah, yes
<Regenaxer> so from inside llvm
<Regenaxer> In the final sources, the order is *only* llvm
<Regenaxer> every source has (symbols '(llvm)) in the beginning
<Regenaxer> I think it is even not used atm, but I want to access pico~something in sources perhaps
<Regenaxer> Else I want an error
<Regenaxer> ie an undefined symbol in llvm
<Regenaxer> eg if the sourc file contains a (for I ...
<Regenaxer> it gives for -- Undefined
<Regenaxer> which is correct :)
<beneroth> ok
<beneroth> but yeah, here I see the problem: while writing the source file, you have to know who it will be used, in which namespace
<beneroth> sometimes hard to tell in advance
<beneroth> or do I misunderstand?
* beneroth is really not sure about his understanding of how to use pil nsp
<Regenaxer> No, the source *says* which nsps it uses
<beneroth> ok
<Regenaxer> So there is no doubt
<Regenaxer> eg pil21/src/main.l
<beneroth> including assumptions what the source excepts to be in that nsps? which might be different according to nsps loading?
<Regenaxer> This is for everyting a a loaded sourc
<Regenaxer> e
mtsd has quit [Quit: Leaving]
karswell has quit [Read error: Connection reset by peer]
<Regenaxer> you assume what is inside
<beneroth> T
<Regenaxer> But the loaded sources may define thier own search order
<Regenaxer> You can use any search order, but pick the one where you need to write th least "~"s
<beneroth> what benefits could I use with nsps (when not having to redefine built-ins as in llvm) compared to just limit to files and using transients for variables local to the file?
<beneroth> -> spreading a library over multiple files
<beneroth> what more?
<beneroth> ok
<Regenaxer> You can use conflicting things
<Regenaxer> like lib/ps.l and lib/svg.l
<beneroth> T
<Regenaxer> In pil21 I will use them with nsps
<Regenaxer> or like pilbox
<Regenaxer> each app runs in the same picolisp process
<beneroth> T
<Regenaxer> so each app uses its own nsp
<beneroth> I have modules in my software, each module having its own nsp would probably make sense
<beneroth> but
<beneroth> so I a source file
<beneroth> foo
<beneroth> declaring nsps foo
<Regenaxer> I think for modules within a single application nsps are not really needed
<beneroth> also searching/using namespace bar
<beneroth> what about cross-dependencies?
<beneroth> I like to share the modules between multiple applications
<Regenaxer> ok
<Regenaxer> so then fine
<beneroth> but yeah.. currently I also think nsps are not needed
<beneroth> name clashes are a risk, but shadowing less so
<Regenaxer> I plan to put http, xhtml and form gui each in its own nsp
<Regenaxer> "feels" right
<beneroth> I see
<beneroth> breaking changes incoming :D
<Regenaxer> why?
<Regenaxer> (load "@lib/http.l") stays the same
<beneroth> or you replace the existing @lib/xhtml.l with (load "@nsps-libs/xhtml.l") ?
<beneroth> ah
<beneroth> a moment
<beneroth> by what remains after (local) call?
<beneroth> what isn't "blacklisted" using (local) is automatically ending in the callers internal space?
<Regenaxer> It could export the symbols
<Regenaxer> yes, to the callers first nsp
<beneroth> what if the caller adds another library
<Regenaxer> I think like @lib/gis.l now
<beneroth> ok, I have a look
<Regenaxer> then the app uses the 'gis' nsp
<Regenaxer> the pilbox app use android.l and gis.l in their own namespaces
<beneroth> yeah
<beneroth> ok
<beneroth> T
<Regenaxer> or the osm demo
<beneroth> that I understand and I see the benefit
<Regenaxer> The osm demo does (symbols '(pico gis)) in main.l
<Regenaxer> so the gis symbols can be used directly
<Regenaxer> only if conflict, gis~ is needed
<beneroth> ah okay
<beneroth> yeah that would make sense to apply to my modules
<beneroth> (softwaree libraries, basically)
<Regenaxer> yeah
<Regenaxer> and the convention is I think:
<Regenaxer> in libs use (symbols 'foo 'pico)
<Regenaxer> and in apps (symbols '(pico foo))
<Regenaxer> this seems the best to me
<beneroth> a lib using another lib makes this more complicated
<Regenaxer> if the app has its own nsp, it will be in front
<Regenaxer> not sure
<beneroth> if you want a lib foo, making use of lib 'bar, and 'bar should be able to be replaced by 'cow, then 'foo would need adaption, or between 'foo and 'bar has to be a kind of proxy wrapper library which knows about which real one its uses
<beneroth> hm
<beneroth> extremely abstract use case, granted
<beneroth> (not sure if I have it, but to think it through)
<Regenaxer> I think no problem
<Regenaxer> The main caller does not care what the lib uses
<beneroth> T
<beneroth> naming conventions for namespaces? I mean they must not clash :D
<Regenaxer> The symbols in the called lib may not be accessible to main
<Regenaxer> They can also clash
<beneroth> my modules are hierarchical, so they can be nested
<Regenaxer> they are also just symbols
<beneroth> ok I see
<beneroth> so a real clash only happens when both nsps and the symbol in question clash
<Regenaxer> Even then they do not really clash
<Regenaxer> just overshadow
<beneroth> T
<Regenaxer> So ~ must be used
<beneroth> thank you for your time
<beneroth> much appreciated
<beneroth> I think I grokked more
<Regenaxer> Very interesting for me toi
<beneroth> good :)
<Regenaxer> Still researching the deep space of names ;)
<beneroth> indeed
<beneroth> so your current recommendation is to use a namespace per library out of principle? (the exact slicing is my biggest worry)
<Regenaxer> yes. Out of principle is perhaps too strict
<Regenaxer> by convention?
<beneroth> aye
<beneroth> convention: for code which is in principle meant to be shared/re-used, apply namespaces (so library, but not project specific)
<beneroth> something like that?
<Regenaxer> yes, so everybody is free whether to use nsps in apps or not
<Regenaxer> For stand-alone apps 'pico' is fine
<Regenaxer> like osm
<beneroth> I'm not so much searching for a rule to write into the pil ref, more of a "way of working" for myself
<beneroth> (but yeah, should work for both, naturally)
<beneroth> yeah
<Regenaxer> yes, me too for my own rules first
<beneroth> problem is of course we cannot predict the future
<beneroth> so often it is surprising what gets re-used and what not
<Regenaxer> T
<Regenaxer> Lets see
<Regenaxer> We try fully with pil21
<beneroth> no way around evidence gathering, as in all (real) science :-)
<Regenaxer> yess
<beneroth> but maybe the best way to conduct effective experiments can be pre-determined somewhat
<beneroth> hard questions
<beneroth> I think I will use namespaces here, for certain types of libraries
<beneroth> hm
<Regenaxer> just play around
<beneroth> well I try not to make a too big mess, I'm scarred of having to clean up :D
<beneroth> namespacing = putting stuff into multiple boxes. no namespacing = just one big box.
<beneroth> can get messy both ways
<Regenaxer> exactly
<beneroth> you need to find the damn thing
<beneroth> (harder in the multiple boxes, maybe)
<Regenaxer> Just (vi 'foo) ;)
<beneroth> and when you pull at it, it should come out of the box without dragging the whole rest to the floor
<beneroth> hehe, only possible when yo managed to load it :P
<beneroth> yeah you just search all the boxes
<beneroth> hm
<beneroth> what if you have no (symbols) call in the main.l ?
<beneroth> then you are in pico, with the other namespaces searched after it? in order of namespace declaration (so loading) ?
<Regenaxer> Not searched
<beneroth> so, 'foo is NIL then
<beneroth> because we forgot about the box in the other room?
<Regenaxer> Sorry, I'm still 3 km from home
<beneroth> haha, yeah sorry
<Regenaxer> Cant write while walking
<beneroth> I hope it is not raining
<Regenaxer> No, hot :)
<beneroth> here it is dark and rainy
<beneroth> should become better tomorrow
<Regenaxer> oh
<beneroth> but covid numbers go down.. I believe mostly because of the weather
<beneroth> well not "mostly", but to a greater extend than people want to believe
<Regenaxer> or because of the restrictions
<beneroth> that has the main effect, of course
<beneroth> and they lose them
<beneroth> soon
<beneroth> we'll see how that plays out
<beneroth> Imperial College London made predictions for the Italian lockdown easing, they don't look good
<beneroth> but non-introvert people lose their calm and discipline
<beneroth> Regenaxer, one last question: so without (symbols 'lst) we only search within 'pico, but can reach symbols in other namespaces as long as we use their namespaces prefix, e.g. nsps~bar ?
<beneroth> you can also answer later and walk home in peace first :D
<Regenaxer> yes, and as long as *this* nsp is in the search order
<Regenaxer> ok
<Regenaxer> It is really tedious
<Regenaxer> I get a ping for every message in this chat
<beneroth> yeah *blush*
<Regenaxer> So I stop, pull out the phone, ...
alexshendi has quit [Ping timeout: 272 seconds]
natrys has joined #picolisp
<Regenaxer> Back :)
<Regenaxer> But Jitsi Conf at 17:00
<beneroth> WB
<beneroth> <Regenaxer> yes, and as long as *this* nsp is in the search order
<beneroth> when would *this* nsp not be in our search order?
<beneroth> I think that was my last little question for now
<beneroth> but I guess I could test that easily myself? ;(
<beneroth> :)
<beneroth> s/(/)
<beneroth> I will also hold a small jitsi conference in a few minutes, so whisper me here if you notice anything :)
* beneroth still didn't do the update
* beneroth probably wants to remake the whole setup before pilcon/picolisp.club
<Regenaxer> Yeah :)
<Regenaxer> I go into my cellar now to share desktop
<beneroth> ah hehe
<beneroth> yeah would be useful for you on the mobile, too
<beneroth> but probably goes into full war with the android security system
<Regenaxer> yes, both
<beneroth> which is only partially about security and user control. more about "feeling secure" and illusion of control :/
orivej has joined #picolisp
natrys_ has joined #picolisp
natrys has quit [Ping timeout: 264 seconds]
ym has joined #picolisp
ym has quit [Remote host closed the connection]
alexshendi has joined #picolisp
<alexshendi> Hi, good evening!
natrys_ has quit [Quit: natrys_]
natrys has joined #picolisp
<Regenaxer> Hi alexshendi
<alexshendi> Hi Regenaxer, still awake?
<Regenaxer> half
orivej has quit [Ping timeout: 272 seconds]
rob_w has quit [Read error: Connection reset by peer]
alexshendi has quit [Ping timeout: 272 seconds]
natrys has quit [Quit: natrys]
orivej has joined #picolisp