[wellylug] Non-standard languages on Linux

David Antliff dave.antliff at paradise.net.nz
Tue May 10 12:04:16 NZST 2005


On Tue, 10 May 2005, Phillip Hutchings wrote:
> Note: I've basically done transliterations of the C code into python
> and ruby - don't try to run them.

Ok, I can see some pros and cons with whitespace and Python, but recently 
I've come to thinking about a new way of writing source code. Rather than 
worrying about formatting, whitespace, block delimiters, etc, you store 
source code in a 'meta' format - probably using XML or something. Then you 
make sure your editors can read this format and display it - here's the 
key part - however *you* want. Consider them to be 'viewers'. If you 
prefer 2-space indentation, then it's displayed that way. Perhaps you like 
to use red squares instead of spaces? Perhaps you like to have your blocks 
of code drawn inside fancy blue borders? Perhaps you prefer to view your 
functions in a 3-dimensional space? It doesn't matter - whatever you want 
is possible. But the code itself is stored in a standard format. There is 
a simple front-end that spits out a valid source file (just another 
viewer) or native compiler support for this format.

Who says variables have to be ascii strings? Imagine an algorithm where 
the iteration counter is a blue circle, the operands are orange triangles, 
and the functions are animated somethings... well, you get the idea... 
it's just a new way of visualising code. Code, if it's good, has a 
structure and if we can 'see' that structure in different ways, or views, 
then it might help people understand it better.

I've always wanted my editor to display all my functions as little 
'bubbles' joined by lines showing the call graph. You can do this 
'offline' with graphviz etc but it would be neat to work on code in this 
sort of way.

Might make talking about code a little difficult, but the next stage is 
some sort of collaboration framework...

There's no reason all languages could be encompassed with this concept. An 
extensible schema would even permit the design of new languages. This goes 
into the area of 'customisable languages'.

This isn't my idea btw, but it's one I'm quite keen to see developed. Too 
much time is spent messing around with whitespace, indentation, naming 
variables and functions - and not enough time spent examining and thinking 
about program structure and logical flow.

I hope I've reasonably explained what I'm getting at. I'm no revolutionary 
but I'd like to spend my time working *with* the code, not *on* it.

-- 
David.




More information about the wellylug mailing list