What is a punctuation character?

Malcolm Wallace malcolm.wallace at me.com
Sat Mar 17 00:00:23 CET 2012

>> no purpose to a completely overlapping category unless it is intended to
>> relate to an earlier standard (say Haskell 1.4).

I believe all Haskell Reports, even since 1.0, have specified that the language "uses" Unicode.  If it helps to bring perspective to this discussion, it is my impression that the initial designers of Haskell did not know very much about Unicode, but wanted to avoid the trap of being stuck with ASCII-only, and so decided to reference "whatever Unicode does", as the most obvious and unambiguous way of not having to think about (or specify) these lexical issues themselves.

> One of the underlying questions is: what is the concrete syntax of a
> Unicode character in a Haskell program?  Note that Chapter 2 goes to a great pain to
> specify the ASCII concrete syntax.

In my view, the Haskell Report is deliberately agnostic on concrete syntax for Unicode, believing that to be outside the scope of a programming language standard, whilst entirely within the scope of the Unicode standards body.  Seeing as there are (in practice) numerous concrete representations of Unicode (UTF-8 and other encodings), it is largely up to individual compiler implementations which encodings they support for (a) source text, and (b) input/output at runtime.


More information about the Haskell-prime mailing list