Program representation

On Pranab’s site

DRAFT (needs work or removal)

Show/Hide contents
  1. S-expressions
  2. Code breakdown
  3. Representation
  4. Benefits

To enable easy collaboration between visual coders and text coders.


Take the following text representation:

(make-command greet [name]
	(write "Hello, {name}.")
)

(greet "Pranab")

S-expressions🔗

This text representation is known as an s-expression.

Code breakdown🔗

Here’s another look at the code so that I can explain what it does.

(make-command greet [name]
	(write "Hello, {name}.")
)

(greet "Pranab")

For reference, here’s all the code again:

(make-command greet [name]
	(write "Hello, {name}.")
)

(greet "Pranab")

Representation🔗

The above code is functionally equivalent to the following:

(make-command greet [name] (write "Hello, {name}."))

(greet "Pranab")

Let’s represent that in a few different ways.

image of a coloured s-expression

Benefits🔗

people can code in the way that makes sense to them. coders can use a visual editor to manipulate code at the level of its structure instead of its text. no more missing commas and semicolons. coders with highly personal workflows can continue using their existing tools and workflows. beginners can use visual coding to avoid confusing syntax errors, like missing parentheses, and focus on the application they want to create. visual coders and text coders can easily collaborate. one can write text and the other can use a visual editor. they can learn each other’s tools with minimal fuss. they won’t have to struggle to understand the contents of the other’s screen.