For example, the work on tangible UIs eg- Self: http://www.selflanguage.org/
This is a good demo of what could be done in the Self environment: https://www.youtube.com/watch?v=Ox5P7QyL774
GUI and non-programmability are tangential things. I don't think they're implicitly bound together.