Yield Prolog lets you embed Prolog programs directly in Python, C# [1] or Javascript [2] by using the yield keyword. For example, here is the classic "uncle" predicate in Prolog: uncle(Person, Uncle) :- parent(Person, Parent), brother(Parent, Uncle). (This says that a person has an uncle if the person has a parent and that parent has a brother.) And here it is from the Yield Prolog compiler: