[Haskell-cafe] Unifcation and matching in Abelian groups

John D. Ramsdell ramsdell0 at gmail.com
Mon Aug 24 20:51:16 EDT 2009

> ... Haskell is old and has the optional offset rule:
> do { prob <- getLine
>     ; test prob
>     ; main}

It's interesting to see people put semicolons at the begining of a
line of code.  In 1970s, people used to draw lines on printouts of Ada
and Pascal code to connect the begins with the ends.  My first

Ramsdell, J. D., "Prettyprinting Structured Programs with Connector
Lines," ACM SIGPLAN Notices, Vol. 14, No. 9, p. 74, September 1979

suggested prettyprinting Ada and Pascal programs with the semicolons
at the begining of the lines and use them as the connector lines.
Thus a prettyprinted Ada program looked like:

package Mine is
;   while i < Integer'Last loop
;   ;    Print (i)
;   end loop;
end Mine;

It didn't work quite as well in Pascal, because semicolon was a
statement separator instead of a statement terminator.

In those day, procedures tended to large and deeply nested because
procedure invocation was expensive.


More information about the Haskell-Cafe mailing list