Ticket #88 (new enhancement)

Opened 3 years ago

Last modified 3 years ago

unified and extensible annotations

Reported by: waldmann@imn.htwk-leipzig.de Assigned to: none
Priority: minor Milestone:
Component: Proposal Version:
Keywords: Cc:
Impact: Adopt: maybe
Topic: Annotations

Description (Last modified by ijones)

We have several annotations in current Haskell: deriving, pragmas {-# #-}, {-! !-} (DrIFT), haddock... These are ad-hoc, and not extensible by the programmer.

There are better ways:

For me the important features are

  • An annotation is allowed basically at any declaration,
  • and 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, where compile time is for tools/preprocessors, and visibility at run time is helpful for reflection. (Would need some support from Data.Generics or thereabouts.)

I have brought this proposal up on the mailing list and there was one response.

Change History

02/08/06 09:20:22 changed by ijones

  • component changed from HaskellPrime to Proposal.
  • description changed.

02/10/06 17:52:44 changed by ijones

  • description changed.

02/10/06 17:52:56 changed by ijones

  • type changed from task to enhancement.

02/15/06 19:06:43 changed by ijones

  • owner changed from ijones to none.
  • adopt set to maybe.

03/01/06 15:44:31 changed by john@galois.com

  • topic set to Annotations.

03/01/06 16:23:13 changed by john@galois.com

  • priority changed from major to minor.