Comparing #1816 (version 2) and #1949 (version 3)

Simplify language

Recursive Epistemology

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.

Recursive Epistemology

Veritula implements a recursive epistemology. For a criticism to be pending, it can’t have any pending criticisms itself, and so on, in a deeply nested fashion.

def criticized? idea
  pending_criticisms(idea).any?
end

def pending_criticisms idea
  criticisms(idea).filter { |c| pending_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.

#1949·Dennis Hackethal·8 days ago