News for hackers. Stuff that matters.
Re:Bloom Programming Language by pfraze on Friday May 11, 2018 @06:04PM (#17051070)
That mostly makes sense so I apologize if this is pedantic, but:

Is it not possible for a set to have logically infinite sets in Bloom? For instance, "the set of all integers" ? If so, how does it determine the limits of set sizes - is it connected to bit counts? Eg, "The set of all 8bit integers" ?

Re:Bloom Programming Language by russell_sears on Saturday May 12, 2018 @12:46PM (#17054845)
You can guarantee termination by limiting bit precision, but it is more interesting to limit the set of operators your program uses instead.

For instance, you might have an operator that translates from hostname to IPv4 address.

That function can return billions of different numbers, but if your program’s input only has 10 hostnames in it (and you don’t use string manipulation or other tricks to fabricate hostnames) then you can infer that the IP lookup function only adds 10 new symbols to the sets that your program maintains.

Searching for “herbrand universe” will produce formal writeups of these ideas.

Re:Bloom Programming Language by sriram_malhar on Saturday May 12, 2018 @12:35PM (#17054800)
No, not in Bloom. The sets must be finite.

There is one aspect that is infinite, which is along the time axis. But the way the logic works is that you are never in a position to enumerate all possible behaviours. This is a very superficial answer, and perhaps you'll gain more insight from this paper on the logical semantics:

Dedalus: Datalog in Time and Space.

https://www2.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-...