Lazy BDDs with eager literal intersections

Lazy BDDs with eager literal intersections 图片 1

In a previous article , we discussed how Elixir changed its set-theoretic types representation from Disjunctive Normal Forms (DNFs) to Lazy Binary Decision Diagrams (Lazy BDDs). In a nutshell, DNFs allow us to represent unions, intersections, and negations as a flat data structure: ( c1 and not d1 ) or ( c2 and not d2 ) or ( c3 and not d3 ) or ... This meant that any operation between complex types was immediately flattened. For example, intersections of unions, such as (foo or bar) and (baz or bat) , had t

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论