
John Meacham wrote:
module $hat.Foo(..) where ...
Before we invent more ad-hoc notation for annotations (we already have deriving, {-# .. #-}, {-! .. -!} (DrIFT) ) can we replace all (or most) of this with a unified annotation syntax, e. g. Java uses "@" notation which is basically allowed at any declaration, and (important points) programmers can define their own annotations, and annotations can also have values. Also, they have a retention policy saying whether they should be visible at compile time or at run time. Compile time is for tools/preprocessors, and visibility at run time is helpful for reflection. see e. g. JLS 9.6f http://java.sun.com/docs/books/jls/third_edition/html/interfaces.html#9.6 some example text is here: http://dfa.imn.htwk-leipzig.de/~waldmann/draft/meta-haskell/ Best regards, -- -- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 -- ---- http://www.imn.htwk-leipzig.de/~waldmann/ -------