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 [Quit: Leaving.]
aw- has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 265 seconds]
mtsd has joined #picolisp
rob_w has joined #picolisp
orivej has joined #picolisp
<beneroth> Regenaxer xD
<beneroth> maybe you should call it (array) instead of enum
<beneroth> it would be wrong, because array is defined to be continues block of memory.. but well :P
<Regenaxer> Thoughy about that. But an array is very different
<beneroth> T
<beneroth> haha
<Regenaxer> yes, continuous
<Regenaxer> and not sparse
<beneroth> T
<Regenaxer> First I did not like enum
<Regenaxer> but now I like it more and more
<Regenaxer> Don't care about C[++]
<Regenaxer> but even there it is similar
<Regenaxer> 'enum' in pil indeed enumerates the values
<Regenaxer> not more and not less
<beneroth> C++ has more sane (more minimalistic) data structures than the bloating libraries of c#/java etc
<beneroth> yeah enum is correct name, I agree
<beneroth> can you also add an existing list into enum?
<beneroth> (vs. individual values)
<Regenaxer> Like (enum 'E 7 '(a b c)) ?
<beneroth> T
<Regenaxer> yes
<Regenaxer> any value, also NIL
<beneroth> ah no
<Regenaxer> you can also add another enum tree
<Regenaxer> -> 2-dimensional
<Regenaxer> oh
<beneroth> I meant more like shortcut for (let Num 1 (for L Lst (enum 'E Num L) (inc 'Num))))
<Regenaxer> TelCon now
<beneroth> ok
<Regenaxer> bbl
<beneroth> cu :)
<Regenaxer> :)
<Regenaxer> ok, already finished. Was a short meeting
<Regenaxer> Well, (let Num 1 (for L Lst is the same as (for (Num . L) Lst ... no?
<Regenaxer> Ah, I see. You mean adding the list in a single call?
<Regenaxer> This is not supported
<beneroth> yeah
<beneroth> kk
<Regenaxer> Another feature of 'enum' which arrays do not support is growing automatically when new entries are added
<Regenaxer> Of course, using very big keys gives a deep tree. But still OK, as only short nums are allowed
<Regenaxer> So the max depth is 60
<beneroth> certainly useful
<Regenaxer> The tree never degenerates
<beneroth> yeah re-balance on every insert when required
<Regenaxer> Let's see. I don't have any use case so far ;)
<Regenaxer> as for arrays :D
<Regenaxer> re-balancing is not needed
<Regenaxer> and also not possible
<beneroth> the root node pointer is never updated?
<Regenaxer> yes, never
<Regenaxer> It may be empty, e.g. (enum 'E 1000000000 'a)
<beneroth> ah empty branch slots (or however one would call that) ok
<beneroth> I see
<Regenaxer> yeah, empty CARs
<beneroth> I'd never much use for trees except for caching or uniqueness tests / sets
<Regenaxer> 29 in case of 1000000000 :)
<Regenaxer> yeah
<beneroth> but in more computing intensive stuff or simulation/gamedev trees are often used
<Regenaxer> pil uses them for namespaces
<beneroth> naturally
<Regenaxer> So not much needed, but it feels good to have them
<beneroth> T
<f8l> PHP has ‘arrays’ which are not continuous. I think this refers to associative arrays.
<beneroth> PHP is a totally hodge podge of misunderstandings, the main author never grokked C++.
<beneroth> Regenaxer, Tomas might be right with https://en.wikipedia.org/wiki/Binary_heap
<Regenaxer> I think it is different
<Regenaxer> Mine is simpler (and faster)
<beneroth> yeah that thought just came to me too
<Regenaxer> Binary heap insert is quite complicated
<Regenaxer> swapping
<Regenaxer> and how does search work in a binary heap?
<Regenaxer> It seems you cannot look up by number, right?
<f8l> beneroth: I’m not going to defend PHP, but that’s ad hominem.
<f8l> Heaps are also continuous. I don’t think discussing them in the context of a lisp with no notion of continuous memory is of any use.
<Regenaxer> Indeed, PHP's arrays might be something similar
<Regenaxer> (from what you describe, I don't know PHP)
<f8l> I don’t think so. They allow keys of arbitrary types. It seems that they maintain a hashtable.
<Regenaxer> ok
<tankf33der> (enum N 0)
<tankf33der> a bug?
<Regenaxer> Looks good
<Regenaxer> '(NIL)
<Regenaxer> For 0 it returns the same as 1, yes
<Regenaxer> The number is shifted until it is 0
<Regenaxer> So 0001 and 0000 are the same in this regard
<Regenaxer> We could check for <= 0
<tankf33der> Yea, probably it need to ba handled somehow
<Regenaxer> ok, I check later. Out atm
<tankf33der> And enum allows to use zero based arrays now :)
<tankf33der> afk too
<Regenaxer> :)
<Regenaxer> OK, added a check for lt0, returns NIL
orivej has quit [Quit: orivej]
orivej has joined #picolisp
<beneroth> f8l, is ad hominem? I don't say the guy is a bad person, and certainly the web is made of his creation.
<beneroth> also kinda his own words https://en.wikiquote.org/wiki/Rasmus_Lerdorf
<beneroth> but thanks for the critic. appreciated, srsly.
rob_w has quit [Quit: Leaving]
<beneroth> Regenaxer, maybe relevant for httpGate, but I think it is not
<beneroth> tankf33der can probably tell
<Regenaxer> oh, yeah
<f8l> beneroth: I may have misunderstood your statement. I thought you were trying to explain poor quality of PHP by its author’s lack of C++ skills.
<f8l> Maybe the second part of it was meant to be a separate statement. (comma splice)
jibanes has quit [*.net *.split]
wineroots has quit [*.net *.split]
casaca has quit [*.net *.split]
DerGuteMoritz has quit [*.net *.split]
tankf33der has quit [*.net *.split]
theruran_ has quit [*.net *.split]
libertas has quit [*.net *.split]
casaca has joined #picolisp
theruran_ has joined #picolisp
jibanes has joined #picolisp
tankf33der has joined #picolisp
DerGuteMoritz has joined #picolisp
libertas has joined #picolisp
anddam has quit [*.net *.split]
lodsw has quit [*.net *.split]
anddam has joined #picolisp
Regenaxer has quit [Ping timeout: 264 seconds]
clacke has quit [Ping timeout: 240 seconds]
lodsw has joined #picolisp
wineroots has joined #picolisp
Regenaxer has joined #picolisp
theruran_ has quit [*.net *.split]
michelp has quit [*.net *.split]
wineroots has quit [*.net *.split]
mario-goulart has quit [*.net *.split]
beneroth has quit [*.net *.split]
Guest26390 has quit [*.net *.split]
shoshin has quit [*.net *.split]
f8l has quit [*.net *.split]
viaken has quit [*.net *.split]
lodsw has quit [*.net *.split]
anddam has quit [*.net *.split]
emacsomancer has quit [*.net *.split]
mario-go` has joined #picolisp
f8l has joined #picolisp
lodsw has joined #picolisp
theruran_ has joined #picolisp
viaken has joined #picolisp
michelp has joined #picolisp
Guest26390 has joined #picolisp
wineroots has joined #picolisp
anddam has joined #picolisp
emacsomancer has joined #picolisp
beneroth has joined #picolisp
lodsw has quit [Read error: Connection reset by peer]
clacke has joined #picolisp
lodsw has joined #picolisp
_whitelogger has joined #picolisp
Regenaxer has quit [*.net *.split]
Nistur has quit [*.net *.split]
Nistur has joined #picolisp
inara has joined #picolisp
clacke has quit [*.net *.split]
clacke has joined #picolisp
clacke has quit [*.net *.split]
mario-go` has quit [Quit: ERC (IRC client for Emacs 26.1)]
mario-goulart has joined #picolisp
lodsw has quit [Read error: Connection reset by peer]
Regenaxer has joined #picolisp
clacke has joined #picolisp
lodsw has joined #picolisp
DerGuteMoritz has quit [*.net *.split]
tankf33der has quit [*.net *.split]
jibanes has quit [*.net *.split]
orivej has quit [*.net *.split]
libertas has quit [*.net *.split]
casaca has quit [*.net *.split]
mtsd has quit [*.net *.split]
aw- has quit [*.net *.split]
jibanes has joined #picolisp
DerGuteMoritz has joined #picolisp
orivej has joined #picolisp
libertas has joined #picolisp
mtsd has joined #picolisp
casaca has joined #picolisp
aw- has joined #picolisp
clacke has quit [Ping timeout: 240 seconds]
shoshin has joined #picolisp
clacke has joined #picolisp
<clacke> I interpret that as a reference to this:
<clacke> "We have things like protected properties. We have abstract methods. We have all this stuff that your computer science teacher told you you should be using. I don't care about this crap at all. "
<clacke> meaning, if PHP OOO is bad, it's because the creator of the language never got into OOO
<clacke> not that I would say C++ is a good example of OOO
<clacke> OOP*
<clacke> it's crazy late and I can't sleep because I'm too tired
orivej has quit [Ping timeout: 265 seconds]
orivej has joined #picolisp
shoshin has quit [Quit: The Lounge - https://thelounge.chat]
shoshin has joined #picolisp
shoshin has quit [Client Quit]
emacsomancer has quit [Quit: WeeChat 3.1]
shoshin has joined #picolisp
emacsomancer has joined #picolisp
mtsd has quit [Quit: Leaving]
shoshin has quit [Quit: The Lounge - https://thelounge.chat]
tankf33der has joined #picolisp
shoshin has joined #picolisp
shoshin has quit [Quit: The Lounge - https://thelounge.chat]
anddam has quit [Quit: WeeChat 3.0.1]
anddam has joined #picolisp