<beneroth>
do I see this correctly, the indexed folded value is only checked when doing select/3 with fold/3 or when I explicitly check key values myself when doing (iter) without skipping partial keys?
<beneroth>
what I mean is: (collect) and also db/5 and also select/3 generator clauses always work only with the unfolded value, right?
<beneroth>
so when I want to find a name by fold/3, then the generator clause must not be given a value
* beneroth
hopes he worded his question comprehensible
<beneroth>
ping abu[m] ;-)
<Regenaxer>
IIRC they do not only work with the full value, but use folding
abu[m] has left #picolisp [#picolisp]
<beneroth>
they = generator clauses?
<beneroth>
will try out
<beneroth>
yep works!
<beneroth>
awesome!
<Regenaxer>
they = collect or db
<Regenaxer>
Great :)
<beneroth>
collecting is not doing that, imho
<Regenaxer>
I quit abu[m] cause last message did not get through again
<beneroth>
haven't checked collect source yet, I have a look
<Regenaxer>
in 'collect': (when (isa '+Fold This) ...
<beneroth>
T, it handles +Fold
<beneroth>
but not +IdxFold
<beneroth>
+IdxFold is a +Ref, but not a +Fold
<Regenaxer>
true
<beneroth>
makes sense
<beneroth>
+IdxFold is for substrings. collect is not about substrings
<beneroth>
full text search
<Regenaxer>
yeah
<Regenaxer>
collect traverses only the main values
<Regenaxer>
not the fragments
<beneroth>
maybe I should have used +Fold instead of +IdxFold. the property is company name.. but then again it's in an industry with many company names having similiar substrings, belong to the same group of companies, which matters, but are also different entities
<Regenaxer>
with this: (or (isa '+Idx This) (isa '+IdxFold This))
<beneroth>
Regenaxer, exactly. that is clean.
<Regenaxer>
+IdxFold for company names is good I think
<beneroth>
hmmm
<beneroth>
yes
<Regenaxer>
unless they are mainly human names
<Regenaxer>
personal names
<beneroth>
when I care only about the entire string, then part/3 and fold/3 behave exactly the same, right?
<Regenaxer>
not sure atm
<beneroth>
nah its big corporations with sub-companies, so you want partial search.
<Regenaxer>
but why care only the full name?
<Regenaxer>
T
<Regenaxer>
so part/3
<beneroth>
in my use case, obviously for partial search only part/3 is correct (substrings) while fold/3 would be wrong (only pre? not sub?)
<beneroth>
T
<Regenaxer>
and fold/3 goes with +Fold
<Regenaxer>
(+Fold +Ref)
<Regenaxer>
or (+List +Fold +Ref +String)
<beneroth>
so I do select/3 with generator clause on the +IdxFold, which correctly also matches both fullname unfolded and folded fullname and folded substrings, and then filter with part/3
<beneroth>
T
<Regenaxer>
for +IdxFold only part/3 matches well
<beneroth>
T
<beneroth>
sub? vs pre?
<Regenaxer>
yes
<beneroth>
alright, many thanks Regenaxer :)
<Regenaxer>
Recently I used +IdxFold more and more
<Regenaxer>
seems most useful for general cases
<beneroth>
space is less an issue than unclean data
<beneroth>
these days
<Regenaxer>
yeah
<Regenaxer>
clean is one thing, but the behavior of users the other
<Regenaxer>
The cannot search precisely
<Regenaxer>
cannot specify exact criteria
<beneroth>
cannot enter data cleanly
<Regenaxer>
exactly
<beneroth>
the less they can, the more they will be automated away :/
<Regenaxer>
(means they would need to think)
<beneroth>
aye
<beneroth>
requirement to think is the only job security in face of automation
<Regenaxer>
right :)
<beneroth>
but most humans are so incredibly lazy
<beneroth>
when did you first implement +Idx ? I mean full test search
<beneroth>
more than 10 years ago?
<Regenaxer>
Yes, in 1999
<beneroth>
then I think you were ahead of general industry and mainstream database products
<Regenaxer>
ok :)
<Regenaxer>
+IdxFold is rather recent
<beneroth>
doesn't matter, just interesting and funny to think about ;-)
<Regenaxer>
perhaps 10
<beneroth>
I see
<Regenaxer>
+Sn and +Idx were with the second version of Pil
<beneroth>
less dumb users in earlier years. probably because it was less users overall.
<Regenaxer>
after the Mac versions in the late 80s
<Regenaxer>
T
<beneroth>
how do you handle german Umlaute? I have users who complain that "ue" is not finding names with "ü" and vic versa, but when I give them +Sn on their general search field (they also have ones where they can select search options themselves) they complain that they get to many results
<Regenaxer>
yeah
<Regenaxer>
Sn removes vocals
<beneroth>
so it's kinda like the want a special german umlaut-index, which is doing less than +Sn and +Fold but more than +Ref
<Regenaxer>
might be useful
<Regenaxer>
perhaps in Suisse more than in DE?
<Regenaxer>
Grüezi
<Regenaxer>
Rüegger ;)
<beneroth>
possibly, dunno we might have more üäö in names
<beneroth>
aye
<beneroth>
and at the same time more variations of spellings are around because we have multiple languages
<Regenaxer>
yeah
<Regenaxer>
an endless issue
<beneroth>
then again I also had people (customers of mine) which had names like Blaettler but it was not alternate spelling of Blättler, only Blaettler was the correct spelling. so expections to umlaut-rules also happen.
<beneroth>
T
<Regenaxer>
Needs a custom fold?
<beneroth>
aye, with exceptions :P
<Regenaxer>
yes
<beneroth>
Rüegger should become rueegger. but in every IT system I get ruegger ;-)
<Regenaxer>
:)
<beneroth>
apparently the name might come from "rüger" as in "eine Rüge aussprechen". so possibly an ancestor of mine was a kind of prosecutor
<beneroth>
while your ancestors lived in castles? :P
<Regenaxer>
ah
<Regenaxer>
maybe just Bürger
<Regenaxer>
I heard the name comes from "Salzburger"
<beneroth>
T
<beneroth>
ah
<beneroth>
so then it would be Burg
<Regenaxer>
yes, but not living inside
<beneroth>
yeah, maybe just transporting goods from/to there
<beneroth>
Salzburg was a major trading hub, because of the river and salt mines. Power center of the church.
<Regenaxer>
or moved from [Salz][Ham][Augs]burg somewhere
<beneroth>
I think in Germany there also exists the last name Schweizer/Schwizer
<beneroth>
which was also a job
<Regenaxer>
ah, not the origin?
<beneroth>
(bad job, kinda farm labourer)
<Regenaxer>
I see
<beneroth>
mostly done by emigrants from Switzerland, yes
<beneroth>
until 200 years ago many Swiss tried to get away, because nothing here than nice rocks and water, but no food :D
<Regenaxer>
yeah, hard times everywhere
<beneroth>
until green revolution less than 100 years ago
<Regenaxer>
green?
<beneroth>
possibly this times (famines caused by lack of harvest, not purely caused lack of logistics as now) come again
<beneroth>
when the oil is no longer available for fertilizers
<beneroth>
that will ruin many harvests. already is.
<beneroth>
arab spring ten years ago was arguably caused by bad harvests
<Regenaxer>
like many revolutions in history
<beneroth>
somalia pirates were caused by many years of drought, likely made worse by climate change effects
<Regenaxer>
It is just the beginning
<beneroth>
well revolution is either takeover by another power player (usually a foreign power), or complete breakdown of society, and that usually only happens when food becomes an issue for all normal people
<beneroth>
status quo is always better than an complete unclear/insecure future, unless status quo is really extremely bad and cannot be endured at all
<beneroth>
yeah
<Regenaxer>
T
<beneroth>
ha!
<beneroth>
I just realized, I only have to replae same/3 with part/3 in my pilog queries, that is all :)
<beneroth>
very nice
<beneroth>
<3 thanks Regenaxer
<Regenaxer>
:)
rob_w_ has joined #picolisp
orivej_ has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
viaken has quit [Ping timeout: 256 seconds]
viaken has joined #picolisp
Nistur has quit [Ping timeout: 240 seconds]
Nistur has joined #picolisp
orivej_ has quit [Ping timeout: 264 seconds]
orivej has joined #picolisp
aw- has quit [Ping timeout: 264 seconds]
aw- has joined #picolisp
beneroth has quit [Remote host closed the connection]
beneroth has joined #picolisp
orivej has quit [Ping timeout: 264 seconds]
rob_w has quit [Quit: Leaving]
<tankf33der>
stem failed on llvm12 rc2 too
<tankf33der>
final release will be in ~month.
<Regenaxer>
oh
<Regenaxer>
the optimizer issue
<tankf33der>
opt -O3 failed, -O1 ok
<tankf33der>
opt -O3 is the same as clang -O3, i hope regressions were submitted.
<tankf33der>
somehow.
<Regenaxer>
I see
<tankf33der>
it is impossible to report without smaller example of problem.
<Regenaxer>
yes, very hard to demonstrate
<Regenaxer>
ie install pil21 and run stem ;)
<Regenaxer>
What they could understand is the .ll code of stem, and the resulting assembly code for optim and non-optim