Заимствования из функционального программирования — вложенные выражения, функции высших порядков, ленивые вычисления; элементы логического программирования — логические переменные, частичные структуры данных, встроенная система поиска. Среди особенностей — использование техник для параллельных систем, таких как параллельное вычисление выражений с синхронизацией по логическим переменным. Также язык предоставляет дополнительные механизмы по сравнению с чистыми языками программирования: по сравнению с функциональными языками — поиск и вычисления по неполным данным, по сравнению с логическими — более эффективный механизм вычислений благодаря детерминизму и вызову по необходимости для функций.