Hi Jason, > picoLisp does a great job in a few lines of code at parsing > the output of 'aapk' and 'apkanalyzer' into a LARGE > database:
I think the size may decrease significantly if you change the data model to what I proposed in my last mail. +Idx does not work for numbers, and is normally not necessary unless you want tolerant searches, but it takes up lots of space due to the multiple entries per key. > It seems, if somthing fails within a piLog '(solve ...) query, then the > database becomes unusable , then '(db ..) and '(collect ...) statements > that succeeded before start failing, and I have to exit the process > and re-initialize. This is really strange! I can assure you that Pilog cannot be the cause. It *never* writes to the DB (unless you explicitly call 'put>' or 'store' etc. Can you try to debug it to find the exact place where things get overwritten? > I was just wondering how to achieve something like the above > with a piLog query that does NOT have to traverse the entire > database each time Your 'collect' call is not necessarily bad. With proper keys it will also not traverse the entire DB, but only the selected range. But you are right that in the general case a Pilog query may search in a more clever way. ☺/ A!ex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe