Subtext

I took a look at the subtext programming language. There’s a nice screencast which demonstrates why subtext is so different from conventional programming languages.

The key is that although Subtext is a functional language, it has no syntax! Programming is performed via the editor manipulating the data structures using primative operations such as copy and link. The linking is important. Rather than using a tree of operations, Subtext maintains a graph of interlinked functions. In a neat, prolog sort of way, the program you write is always live: results of functions are calculated as you edit the program.

Subtext is cool but ‘out there’ somewhere. It got me thinking about the nature of syntax in programming though, specifically around refactoring. The goal of refactoring is to “improve the design of a program without changing behaviour”. But in a system like Subtext, where you directly manipulate the behaviour: refactoring is impossible. To me, this implies that refactoring is an artifact of syntax. In fact it may just be an artifact of procedural and object oriented syntaxes. I wonder if anyone is busy refactoring in functional languages?

About Ian Davis

British entrepreneur and CEO of Kasabi. Primary interests are open data, the semantic web and decentralization.
This entry was posted in Uncategorized and tagged , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

Gravatar
WordPress.com Logo

Please log in to WordPress.com to post a comment to your blog.

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s