Version 1 of #1736
Veritula implements a *recursive* epistemology. For a criticism to be outstanding, it can’t have any outstanding criticisms itself, and so on, in a deeply nested fashion.↵ ↵ ```ruby↵ def criticized? idea↵ outstanding_criticisms(idea).any?↵ end↵ ↵ def outstanding_criticisms idea↵ criticisms(idea).filter { |c| outstanding_criticisms(c).none? }↵ end↵ ↵ def criticisms idea↵ children(idea).filter(&:criticism?)↵ end↵ ```↵ ↵ This approach is different from non-recursive epistemologies, which handle criticisms differently. For example, they might not consider deeply nested criticisms when determining whether an idea is currently criticized.
Veritula implements a recursive epistemology. For a criticism to be outstanding, it can’t have any outstanding criticisms itself, and so on, in a deeply nested fashion.
def criticized? idea
outstanding_criticisms(idea).any?
end
def outstanding_criticisms idea
criticisms(idea).filter { |c| outstanding_criticisms(c).none? }
end
def criticisms idea
children(idea).filter(&:criticism?)
end
This approach is different from non-recursive epistemologies, which handle criticisms differently. For example, they might not consider deeply nested criticisms when determining whether an idea is currently criticized.
#1736 · Dennis Hackethal · 17 days ago