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
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
_whitelogger has joined #picolisp
alexshendi has joined #picolisp
mtsd has joined #picolisp
<beneroth> Good morning
<Regenaxer> Hi beneroth
<Regenaxer> Good post in the list!
<beneroth> oh thanks
<beneroth> yeah he totally brushed over it and hanged himself on that Eula again, which clearly belongs to the proprietary product
<Regenaxer> also the DB stuff
rob_w has joined #picolisp
<beneroth> thanks, tried it to write in a way which makes things clear but without downplaying anything - as that it's not what I worry about, it's just Äpfel und Birnen
<beneroth> now he just wrote again!
<Regenaxer> T
<beneroth> "You mentioned that PicoLisp would be missing ACID feature. "
<beneroth> WTF
<beneroth> NO!
<beneroth> that is exactly the opposite I'm saying
<beneroth> datomic has no acid, cannot have it, by design principle
<Regenaxer> oh
<beneroth> ah no, I'm telling wrongs here
<beneroth> datomic actually offers ACID
<beneroth> and yes I know this
<beneroth> but
<beneroth> it's.. complicated :D
<beneroth> datomic is actually on the few distributed databases which offers acid, bad example
<mtsd> Morning'
<beneroth> Good morning mtsd :)
<beneroth> my main point is, most traditional databases offer ACID by implementing MVCC https://en.wikipedia.org/wiki/Multiversion_concurrency_control
<beneroth> MVCC = database has a WAL, a stream of all database actions
<beneroth> which is also used for scaling into a distributed system
<beneroth> datomic is less a typical distributed database (like MongoDB) and more a scaled WAL, building on same principles as classic SQL databases
<beneroth> you have to an time stamp property to all WAL events (which doesn't have to be a wall clock timer, but a fixed iterator)
<beneroth> in datomic this is actually a kind of transaction number
<Regenaxer> Hi mtsd!
<beneroth> so by taking this number into consideration when reading, you can achieve ACID
<Regenaxer> uh, I got lost :)
<mtsd> Hi Regenaxer
<beneroth> but with a lot of extra work :)
<beneroth> ok
<beneroth> Regenaxer, the main thing about distributed databases, it is like getting 10 people via email to consent to something. you need confirmations, and you cannot be sure that they haven't changed their opinion in the meanwhile :D
<beneroth> you can only reason about the emails you got, not the ones which got lost on the way.
<Regenaxer> hmm
<mtsd> Complex stuff, this..
<beneroth> the basic rule is: don't involve networking if you don't absolutely require it
<beneroth> too many potential issues
<Regenaxer> a pandora box
<beneroth> indeed
<beneroth> full of daemons (haha pun), problems, and the slight hope of higher availability
<alexshendi> Good morning.
<Regenaxer> Good morning alexshendi
<beneroth> Guten Morgen alexshendi :)
tankf33der has quit []
mtsd has quit [Quit: Leaving]
<beneroth> another namespacing question, my dear Regenaxer
<Regenaxer> ok :)
<beneroth> do I understand currently, a current namespace doesn't necessarily know about a namespace declared in another (loaded, but maybe indirectly) file?
<Regenaxer> correct
<beneroth> and (symbols) is aware of "all" namespace symbols, so by defining the search order this other namespace symbols (the entry points, their root node.. e.g. 'pico or 'gis) become known to the current space ?
<Regenaxer> No
<Regenaxer> 'symbols' just sets a list
<beneroth> ok
<beneroth> the content of the lists must be in the current space previously
<Regenaxer> The namespaces are symbols indepleendent of that
<beneroth> or at least reachable
<beneroth> ok
<Regenaxer> yes, or indirectly via another nsp
<beneroth> ah
<Regenaxer> with ~
<beneroth> pico~gis~foo ?
<Regenaxer> right
<Regenaxer> can be chained infinitely
<beneroth> that then also answers the question about "nested" namespaces.. though that doesn't really exist in pil, it's more like chaining
<beneroth> ok
<Regenaxer> right, perhabs nested is misleading
<beneroth> and naturally we have to know at least one another namespace, because we have to switch from it into the current within the current.. "scope", if that is the right word
<beneroth> so we know at least about pico, or whatever the current namespace was when we were loaded
<Regenaxer> yes, "scope" is good
<Regenaxer> or the namespace imported the symbol
<beneroth> but we could forget the other namespace, by forgetting/shadowing the entry point to it, e.g. (off pico) ?
<Regenaxer> 'off' gives an error though
<beneroth> ah, it recognizes that the symbol is a namespace name?
<Regenaxer> a nsp must have (NIL . NIL) at minimum
<Regenaxer> only that
<Regenaxer> (symbols '(foo pico)) should complain
<beneroth> I don't want to forget another namespace, I just wonder if/how this could happen by accident
<beneroth> I mean like doing first (symbols '(foo pico)) (import off) then (off pico)
<Regenaxer> strange, does not complain
<Regenaxer> but foo~x does
<beneroth> yes of courser
<beneroth> because we don't know about foo being a namespace afterwards anymore
<beneroth> or so figured/theorized
<Regenaxer> "afterwards" means after 'off'?
<beneroth> yes
<Regenaxer> right, it cannot be used as a nsp
<beneroth> or after doing (setq foo ...) because of a name collision in the loaded file
<Regenaxer> Not a collision yet
<beneroth> hm.. T
<Regenaxer> it is only the value of 'foo'
<beneroth> really?
<Regenaxer> A namespace is just a symbol
<beneroth> ok
<Regenaxer> when *used* with ~ it must be two trees
<beneroth> the val?
<Regenaxer> yes
<Regenaxer> only that
<beneroth> yeah so we "forget" the namespace in the current scope if we do (setq foo)
<beneroth> of course the problem only materializes once we do foo~bar later in the same scope
<Regenaxer> Better 'zap`
<beneroth> haha
<beneroth> evil you
<Regenaxer> no, 'zap' is the only way to forget a symbol
<beneroth> T
<Regenaxer> 'setq' sets the value
<Regenaxer> but the sym is still in the nsp
<beneroth> I'm aware. we don't forget the symbol. but we forget the namespace, as the symbol is not bound to it anymore
<beneroth> I think I worded it that way :)
<Regenaxer> ok, nothing is found in it then
<beneroth> yeah
<Regenaxer> but it destroys it completely
<beneroth> but this also means we could bound multiple symbols to the same namespace?
<Regenaxer> also in other contexts
<beneroth> like.. "renaming" the namespace for the current scope ?
<beneroth> now you mean zap, right?
<Regenaxer> I meant setq
<Regenaxer> zap is fine
<beneroth> because of gc ?
<Regenaxer> ne
<Regenaxer> no
<beneroth> how does the namespace become destroyed for other scopes then?
<Regenaxer> the symbol 'foo'
<beneroth> ah okay
<Regenaxer> it may be in other namespaces
<Regenaxer> a nsp is just a lookup for the reader
<beneroth> ah right
<beneroth> we set the value of the symbol, independent of its use in other scopes (other reader lookup trees)
<Regenaxer> yes
<beneroth> pointer vs. *pointer
<beneroth> ok
<Regenaxer> The point is that namespaces are not about values and definitions
<beneroth> T
<Regenaxer> only names -> symbols
<beneroth> so we can do:
<Regenaxer> a telephone book
<beneroth> namespace 'foo is given
<beneroth> (setq bar foo)
<beneroth> bar~something
<beneroth> ?
<Regenaxer> yes, fine
<beneroth> ok
<Regenaxer> an alias
<beneroth> I think I grokked it
<beneroth> so in conclusion special care has to be taken that a name used for a namespace is not used otherwise anywhere in the loaded program, right?
<Regenaxer> not absolutely
<beneroth> though having namespace 'foo and (de foo () ...) would issue a warning, so that would be okayish
<Regenaxer> not more special than for other symbols
<beneroth> but having *Foo as a namespace name would be rather dumb ?
<Regenaxer> No nice optics
<Regenaxer> *Foo~bar
<beneroth> yes, that also
<Regenaxer> or if it is long
<beneroth> but *Foo is more likely to be used in a (setq *Foo) somewhere
<Regenaxer> true
<beneroth> <Regenaxer> not more special than for other symbols
<Regenaxer> by convention lower case indicates global symbols
<Regenaxer> yes
<Regenaxer> in terms of conflict
<beneroth> ah right
<beneroth> now I just understand the wording of that rule, hahaha
<beneroth> global symbols <> global variables :)
<Regenaxer> right :)
<beneroth> a minor wording difference but big difference in meaning
<Regenaxer> yeah, most confusion comes in pil cause symbols are not values
<Regenaxer> as in other langs
<beneroth> T
<beneroth> and data type is an attribute of values, not variables
<beneroth> though this is more easily teached
<Regenaxer> Exactly
<beneroth> and has a ton of benefits
<Regenaxer> T
<beneroth> ok, I think I got namespaces (for the n'th time hehe)
<beneroth> my main takeway is to be cautios with search order declarations
<Regenaxer> No problem :)
<beneroth> better use the ~ prefix notation for long-term maintainability and stability of source code
<Regenaxer> yes, one must know the search order
<Regenaxer> depends, ~ may also not help if the nsp is out of scope
<beneroth> well then I get an error
<Regenaxer> yes
<beneroth> not a "misbinding"
<Regenaxer> (hopefully ;)
<beneroth> : (setq foo~bar 5)
<beneroth> ?
<beneroth> foo -- Bad symbol namespace
<Regenaxer> yes
<beneroth> ~ is a real read macro, unlike : which just has a default behaviour
<Regenaxer> But if 'foo' has some nested list ...
<beneroth> (which is good too, because : allows shadowing)
<beneroth> oh
<Regenaxer> :)
<beneroth> uuzh
<beneroth> : (setq foo '((1 . "a") (2 . "b")))
<Regenaxer> I think a good convention is if the nsp is named as the file (or lib)
<beneroth> : foo~bar
<beneroth> segfault
<Regenaxer> 'gis'
<beneroth> BUMM
<Regenaxer> yess :)
<beneroth> same as with calling a non-function symbol, the segfault is guaranteed?
<beneroth> I like guarantees
<Regenaxer> no guarantee, the list may look like a nsp
<beneroth> so might work
<Regenaxer> idx of names and symbols
<Regenaxer> yes
<beneroth> sounds to me like maybe another naming convention for namespaces is warranted, to clearly set them apart
<beneroth> °nsp :P
* beneroth is thinking
<Regenaxer> In praxis it is not a risc I think
<beneroth> well not for you who works primarily alone and always has a good overview over the libraries integrated
<Regenaxer> I think a good convention is if the nsp is named as the file (or lib)
<Regenaxer> gis~sym http~sym ...
<Regenaxer> most natural
<Regenaxer> The programmer is aware of the libs he uses
<beneroth> hahaha
<beneroth> I agree with you, but.. it is not like that in mainstream :)
<beneroth> and I would like to build a system usable by mainstream programmers
<beneroth> maybe a stupid idea in the first place :)
<Regenaxer> :)
<Regenaxer> These problems are with all symbols
<Regenaxer> not special for nsps
<Regenaxer> Normally ~ is used very seldom
<Regenaxer> if the search order is clever
<beneroth> yes, but other symbols could be protected (isolated) by namespacing
<Regenaxer> yes, in some namespace
<Regenaxer> so ~ is not needed either
<beneroth> I'm afraid of having to re-arrange the search order in complex ways once I have a big amount of libraries
<Regenaxer> You set the order before you read
<beneroth> though my worries might be overblown, as this doesn't have to materialize in the main scope, as each library can have its own search order
<Regenaxer> I don't think so
<Regenaxer> You have private symbols in a nsp isolated
<beneroth> including nsp only used in the nsp scope
<beneroth> only thing to worry is the nsp that come together in the main scope
<beneroth> correct?
<Regenaxer> yes, but there you may change order too
<Regenaxer> I did that in pilbox abps
<Regenaxer> apps
<beneroth> I'm not afraid of the technology per se
<beneroth> but of the required mental work. it is okay on first writting, but when doing a small update or fix years later it should not be necessary in most cases
<Regenaxer> eg put 'android' first if writing toobox stuff
<beneroth> on the other.. it really shouldn't, you don't mingle with additional namespaces just for small changes...
<beneroth> yeah
<beneroth> that I will do
<beneroth> I'm passed that point already, I'm convinced, but looking for best practices to reduce long-term maintainability risks :)
<Regenaxer> This concept of namespaces was stolen from Forth
<beneroth> aah
<Regenaxer> "dictionaries"
<beneroth> I see
<beneroth> dictionaries of definitions, in forth?
<Regenaxer> There it works *very* well
<Regenaxer> tons of dictionaries
<Regenaxer> yes
<beneroth> the issue is not the tech, I'm certain
<Regenaxer> Very elegant commands to control the search order
<Regenaxer> like:
<beneroth> but picolisp is more accessible than forth, agreed? :P
<beneroth> to programmers
* beneroth likes to hear your forth examples
<Regenaxer> only forth also definitions also compiler also editor
<Regenaxer> is (symbols '(forth definitions compiler editor))
<Regenaxer> accessible?
<beneroth> I see, thanks for the example
<Regenaxer> A full blown example: https://software-lab.de/Kernel
<beneroth> \ is comment?
<Regenaxer> yes
<Regenaxer> and ( ... )
<beneroth> it reminds me of Knuths self-documenting programming style
<beneroth> may I save this forth example?
<Regenaxer> shadow screens
<Regenaxer> yes, sure
<Regenaxer> So 'forth' is a dictionary
<Regenaxer> when executing it, it puts itself as the first in the search order
<Regenaxer> 'also' duplicates the first
<Regenaxer> so the next dict replaces it
<Regenaxer> only foo also bar
<beneroth> I see
<Regenaxer> gives foo then bar
<Regenaxer> Typical forth code manipulates the search order every few lines
<beneroth> the word "namespace" will be such a hazzle to teach this concepts to beginner picolispers when they have some mainstream programming education/experience
<beneroth> but it is technical accurate and correct
<Regenaxer> I'm a very bad teacher anyway
* beneroth begins to think he should recruit new picolispers from non-programmers instead of people with their head full of misleading definitions
<beneroth> (on the other hand, the style of thinking required is similar, requires long hard training to get into non-programmers)
<beneroth> yeah well
<beneroth> the classic top 3 problems of software: 1. naming 2. off by one mistakes
<beneroth> Regenaxer, I think you are a good teacher. You just have one big disadvantage: for effective teaching one needs (my personal definition) to know about the prior knowledge, (contextualized) language and style of thinking of the student
<Regenaxer> right
<beneroth> and your knowledge about the common developer is pretty bad, as you live in this nice software hermit bubble
<beneroth> I envy you for that, really :)
<beneroth> much better for personal peace
<Regenaxer> exactly
<beneroth> you have some top teacher qualities, endless patience for instance ;-)
<beneroth> Arigatō, sensei
<Regenaxer> Welcome :)
<beneroth> Regenaxer, the syntax of (local) (which is a de-facto reader macro, right?) will not change with pil21, or will it?
<Regenaxer> Yes, will not change.
<Regenaxer> But it is not a reader macro, it is a plain 'read'
<Regenaxer> A reader macro is when 'read' evaluates a read expression and uses that instead
<Regenaxer> (local) sym or (local) (a b c) just calls 'read' without evaluation
<beneroth> ah I see
<beneroth> oh
<beneroth> so it would be possible to do something similar to a read macro by doing (read) on top level in a loaded file?
<beneroth> (like replacing an expression during reading)
<beneroth> (to it would be during loading, not reading, after reading)
<beneroth> s/to/though
<beneroth> ah nevermind
<beneroth> forget it
<beneroth> one just can do load by hand using (read)
* beneroth is not at high processing capacity
<Regenaxer> hehe :)
<Regenaxer> But a read macro at top level makes sense. See the cases with `*Dbg in some libs
<beneroth> aye
orivej has quit [Ping timeout: 272 seconds]
<Regenaxer> scnr again
<beneroth> :D
<beneroth> he will respond with "WebASM works on servers" (soon or so)
<Regenaxer> T
<aw-> what
<aw-> the hell is going on the Mailing List?
<Regenaxer> Yeah, terror ;)
<aw-> i can't follow
<Regenaxer> Too long already
<aw-> i didn't follow the PilCon 2020 thread either
<aw-> what is the TL;DR?
<aw-> jitsi?
<Regenaxer> PilCon? Yes, probably
<aw-> ok great
<Regenaxer> The discussions in the list grew into many directions
<Regenaxer> I tried to ignore him but then fed him again
<Regenaxer> If you want to read it, it starts on March 25th
<aw-> no thanks
alexshendi has quit [Ping timeout: 272 seconds]
<beneroth> just put mails from Guido into spam, aw- ;-)
<beneroth> he's a hypetech talker
<Regenaxer> Guantanamo!
<beneroth> just use Objective-C!
<beneroth> :P
<beneroth> even when it is from.. Apple
<Regenaxer> haha, T
<beneroth> he clearly reached "5G is causing covid"-levels
<beneroth> we should go back to the Zuse computer!
<beneroth> no more Intel or AMD!
<beneroth> or babbage machine, from UK!
<Regenaxer> He probably got too much chemtrail fallout on his head
<beneroth> can't be, they don't fly anymore
<beneroth> :P
<beneroth> no trails on the sky
<Regenaxer> Even worse, it is a trick. Invisible now
<beneroth> it's 5G
<beneroth> 4G was fine, but this extra G
<Regenaxer> :)
<beneroth> people behaving like this makes me think that Linus Torvalds insulting people is okayish
<Regenaxer> At least it is not nonsesne what Linus talks
<beneroth> Linus has a bad reputation for severely insulting people.
<beneroth> usually these were incidents with a prolonged prior history, like Intel employees trying for the 15th time to get some real crap accepted into the Kernel
<Regenaxer> sounds familiar ;)
<beneroth> in some way those Intel employees were not even evil, they just were told by their superiors to get some crap handed in for enterprise-political reasons
<beneroth> but in the meantime the SJWs got unto that :/
<beneroth> it's just different culturs. IRC tech culture is to objectively (and sometimes harshly) argue about things
<beneroth> calling bullshit what is, not nice words
alexshendi has joined #picolisp
<beneroth> I actually don't see an efficient way to remove trolls from an open internet community
<beneroth> hey alexshendi
<beneroth> (except for making them not wanting to come anymore)
<alexshendi> Hi, beneroth
<beneroth> how are you?
<beneroth> alexshendi, you have some time for picolisping?
<beneroth> :-)
<alexshendi> Maybe tomorrow. Up to now: no. Sorry.
<beneroth> you should listen to Guido :P :P
<alexshendi> beneroth: I can't help it.... 😇
<Regenaxer> :)
<beneroth> length of the email subject line might be a good heuristic, to filter the whole thread...
<beneroth> would be a very picolispy approach :)
<beneroth> but mail sender is probably less false positive rate
<beneroth> lol 4 more mails since I last looked
<Regenaxer> I'm still hesitant to filter anything
<Regenaxer> Might be fun to read in a few years ;)
<beneroth> T
<beneroth> with filter I meant: move into another mail folder named "read in a few years" :P
<Regenaxer> ah, yeah, thats good
* beneroth is proud of freemint
<Regenaxer> yes, he put it well down to the relevant points
<beneroth> T
alexshendi has quit [Ping timeout: 265 seconds]
<beneroth> just excellent
<Regenaxer> yes
<beneroth> hahaha
<beneroth> Guido seems to think only JIT is possible with LLVM
<beneroth> "LLVM allows code to be compiled statically, as it is under the traditional GCC system, or left for late-compiling from the IR to machine code via just-in-time compilation (JIT)"
<beneroth> Wikipedia
<beneroth> I tell him xD
<beneroth> Regenaxer, or do *I* misunderstand? you're certainly target build-time compiling and not JIT, right?
<beneroth> asking just in case *g*
<beneroth> sent anyway
<Regenaxer> yep, no JI%
<Regenaxer> JIT
<Regenaxer> don't even know LLVM has one
<Regenaxer> I use only IR
<beneroth> I guess it makes sense that LLVM has one, to support many languages
<Regenaxer> as freemint says, only the assembler
<Regenaxer> and later the optimizer(s)
<Regenaxer> yes
<beneroth> JIT makes no sense for pil64 in no universe, afaik
<beneroth> the core concept of pil64 as a pure interpreter VM is in direct opposition to JIT
<beneroth> he seems to know some Java and some AutoDesk CAD Lisp (which afaik is considered one of the worst Lisps in existence)
<beneroth> and many buzzwords
f8l has quit [Ping timeout: 256 seconds]
<Regenaxer> Ret
<Regenaxer> was on a walk again, testing the gps of the firemen app
<beneroth> ah
<beneroth> yeah how is that going?
<beneroth> is the app in productive use?
<Regenaxer> yes, more and more
<Regenaxer> but I broke gps on sunday :(
<Regenaxer> must release a new pilbox
freemint has joined #picolisp
<beneroth> hey freemint
<freemint> Regenaxer, i am finally convinced the guy on the mailing list is drunk.
<beneroth> excellent post on the ML, thanks
<beneroth> haha
<beneroth> worse
<beneroth> how are things, freemint ?
<beneroth> hope you're good?
<freemint> I am liking Julia more and more. It is a language in which i actually write code. I will keep PicoLisp around for scripting.
<freemint> Otherwise i am ok
<beneroth> sounds not bad
<beneroth> all the best to you :)
<beneroth> what kind of projects/computations do you do?
<freemint> LLVM recompiling PicoLisp on the fly, when scoping or ast changes, he's drunk.
<beneroth> I'm still fully in business applications and database world
<freemint> Differential equations, optimization, ...
<beneroth> I see
<beneroth> exciting
<freemint> And ray casting engine
<beneroth> He just has no deep understanding, just some superficial knowledge and a lot of buzzwords
<beneroth> cool :D
<beneroth> hype-tech talker I call this
<beneroth> (him)
<freemint> The thing is i feel some people on the mailing list fall for it. But then i am also biting
<beneroth> wants to shine with the complex stuff he knows and whatnot, but not much substance below it
<beneroth> T
<beneroth> the audience which matters is the silent majority, not the directly involved people
<beneroth> He is a bit similar to the people who chose tech stacks according to what looks best on their CV when the next job hop (maximum 2 years) comes
<Regenaxer> Hi freemint!
<beneroth> like people rolling out MongoDB in companies because MondoDB was the hype and looks good on the CV
<beneroth> (yep that is a thing)
<beneroth> without much consideration or any sort of serious evaluation if the tech choice makes sense for the company and requirements
<freemint> I am also doubtful about his. Hey i rolled this software stack out claims.
<freemint> Did you find any holes in his story?
<beneroth> full of gaps
<beneroth> and obvious mistakes
<freemint> Can i bother you to name a few?
<freemint> Hi Regenaxer
<beneroth> I worked multiple years on ERP systems in retail and logistics
<beneroth> name a few? he doesn't know picolisp is interpreted
<beneroth> he doesn't respond to questions
<Regenaxer> He did net even understand what 'cons' does
<Regenaxer> appends to the end he said
<beneroth> he doesn't show any code, or even link to a news article about his famous important work
<beneroth> T
<beneroth> that description fits very well on javascript world
<freemint> I was curious how little he talked about challenges comming from synchronisation in his email.
<Regenaxer> Good mails freemint!
<Regenaxer> Just read them
<Regenaxer> PilBox is out
<freemint> wasn't pil boy out a year ago?
<freemint> *pilbox
<beneroth> freemint, I think he just reads about the stuff, but isn't really doing anything with it. synchronization is exactly the problem with distributed systems of any kind.
<Regenaxer> Yes, we just talked
<beneroth> new version :)
<Regenaxer> Firemen app
<Regenaxer> yes
<Regenaxer> The sunday version had a serious bug
<Regenaxer> in fact in the pil core
<Regenaxer> @lib/android.l
<freemint> gasps
<Regenaxer> So I also released a new pil first
<beneroth> freemint, if he had some real understanding about the topic he talks, he would say something about trade offs, multiple aspects to consider.. but no, it's all black and white for him
<Regenaxer> gps sent a value only once, then never again
<Regenaxer> I did not test well :((
<Regenaxer> hehe
<beneroth> :-)
<Regenaxer> Now all well anyway :)
<freemint> what does the fireman app do again?
<Regenaxer> It is for fighting forest fires in Barcelona
<Regenaxer> each fireman has an app
<Regenaxer> position, times, messages, teams, vehicles etc
<freemint> so mobile erp.
<Regenaxer> Displays maps with all people on the central server
<Regenaxer> not an erp though
<freemint> *rp
<Regenaxer> tracking of the status of people and vehicles
<Regenaxer> who is driver, in which team etc
<Regenaxer> On a forest fire they spread many teams around the fire
<Regenaxer> you see them all on the map in real time
<Regenaxer> (as long as gps works ;)
<Regenaxer> The app works also offline, in that case it is synced later when connected again
<beneroth> good mail, freemint
<freemint> Regenaxer, have you ever worked on AI stuff with LISP?
<Regenaxer> It always depends what AI is meant with at the time
<Regenaxer> in the early 80s I wrote chess programs, was considered AI at that time
<freemint> I am think "good old fashioned symbolic ai"
<Regenaxer> I also experimented with neural networks then
<Regenaxer> and pil now has a genetic algorithm in the release
<freemint> Not Neural netowrks, symbolic ai i am interrested in.
<Regenaxer> freemint, right
<Regenaxer> I started an expert system in pilog too
<Regenaxer> but never finished
<beneroth> once it works reliable, it is no longer AI
<Regenaxer> yep :)
<beneroth> on the other hand, crowd-sourcing or remote work by underpaid humans is sold as AI
* beneroth would like to dome symbolic AI / expert systems with pil eventually
<freemint> beneroth, what kind of a symbolic ai are you interested in?
orivej has joined #picolisp
<beneroth> aaah
<beneroth> Regenaxer, you can confirm some statements and make Guido go away xD
<beneroth> actually it should be no surprise that he doesn't understand Fexpr when cons is already too much....
<freemint> Cons is Conplicated ;-)
<freemint> beneroth, why is he talking about clang?
<freemint> what does clang have to do wiht anything.
<Regenaxer> Oh, I did not read
<Regenaxer> I don't understand
<freemint> Neither do i.
<Regenaxer> Good to hear :)
<Regenaxer> I skipped the mail immediately when I saw "Perhaps you *all* learn,"
<freemint> reasonable, but it get's somewhat more entertaining.
<Regenaxer> T
<freemint> I am not sure if a "What the community said so far is technically correct with those caviats:" will be enough to trigger his ultimatum?
alexshendi has joined #picolisp
<alexshendi> Good evening!
<freemint> Hi alexshendi
<freemint> How is it going?
<Regenaxer> Oh, he unsubscribed!
<Regenaxer> I'm tired. Good nite!
<alexshendi> freemint: I'm fine, thank you.
<beneroth> Regenaxer, in the "perhaps you all learn"
<beneroth> you should have continued xD
<beneroth> good night Regenaxer :)
<beneroth> ah you did
<beneroth> freemint, no idea
<beneroth> freemint, expert systems, well I find it interesting in general, but I have not yet a use case at hand
<beneroth> maybe I could use it eventually for categorization e.g. of warranty claims or such
alexshendi has quit [Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org]
rob_w has quit [Read error: Connection reset by peer]
freemint has quit [Remote host closed the connection]
freemint has joined #picolisp