Introspectable and extensible IDEs with logic programming