ThingLab — это среда визуального программирования, реализованная на языке Smalltalk и разработанная в Xerox PARC Аланом Борнингом .
Обычная система позволяет пользователю предоставлять входные данные, которые производят выходные данные. Система, ориентированная на ограничения, такая как ThingLab, позволяет пользователю предоставлять произвольные входные данные или выходные данные, а затем решает то, что неизвестно. ThingLab рассматривается как одна из самых ранних систем, ориентированных на ограничения. [ по мнению кого? ]
В книге «Неуклюжее будущее» ThingLab упоминается как важная причина, по которой Xerox продолжала финансировать разработку компьютеров.