Hello all. I sent the message below to Thomas Green, who
suggested that folks on this mailing list might be able to
help. The "out of action" that I mention below is due to
chronic fatigue, which is why I'm not really in shape to
read much in the way of technical papers, especially from an
unfamiliar subject.
What I'm hoping for is some sort of authority to which I can
appeal to back up my gut feelings.
Thanks for any help!
J�n
------- Forwarded Message
To: Thomas Green <[EMAIL PROTECTED]>
Subject: visual theory?
Date: Mon, 10 Jun 2002 08:48:19 +0100
Message-ID: <[EMAIL PROTECTED]>
From: Jon Fairbairn <[EMAIL PROTECTED]>
Hi! Excuse popping up out of no-where like this, but I've
been out of action for a long time (and still am, to a large
extent). I have a question that you might help answer, if I
can manage to convey it.
In the programming language Haskell, layout (indentation) is
used as an alternative to begin/end (actually {/})
bracketing and semicolons. I don't think the present rules
for this are correct, but I'd like to be able to quote some
sort of theoretical support for this, and providing such
support is where you might be able to help.
the general idea is that for constructs like
do {thing1; thing2; thing3}
one can enter
do thing1
thing2
thing3
and have the compiler insert the appropriate
punctuation. Difficulities are that for example, things
might extend over several lines, so semicolons don't
correspond simply with line ends.
do thing1
thing2-part1
<op> thing2-part2
has to come out as do {thing1; thing2-part1 <op> thing2-part2}
further, people insist on being allowed to close groups on
the same line, so while
let name1 = value1
name2 = value2
in expression
is straightforwardly let {name1 = value1; name2 = value2} in expression
we want
let name = value in expression
to come out as let {name = value} in expression
So the present rule puts in semicolons whenever the
indentation is the same and closing braces whenever it would
otherwise be a syntax error.
The problem is that under the present rules
do thing1
thing2-p1
<op> thing2-p2
comes out as do {thing1; thing2-p1} <op> thing2-p2
and I think that's really bad, because "from a visual
perspective '<op> thing2-p2' is perceived as being at the
same 'level' as thing1 and thing2-p1"
It's this quoted statement for which I need some sort of
theoretical support.
Can you help? Bear in mind that I'm still not 50% fit, so
you answer will need to be simple and not involve me in any
publication-trawling because my concentration isn't up to
it.
Cheers,
J�n
------- End of Forwarded Message
--
J�n Fairbairn [EMAIL PROTECTED]
- Automatic footer for [EMAIL PROTECTED] ----------------------------------
To unsubscribe from this list, mail [EMAIL PROTECTED] unsubscribe discuss
To join the announcements list, mail [EMAIL PROTECTED] subscribe announce
To receive a help file, mail [EMAIL PROTECTED] help
This list is archived at http://www.mail-archive.com/discuss%40ppig.org/
If you have any problems or questions, please mail [EMAIL PROTECTED]