Ticket #88 (new enhancement)

Opened 6 years ago

Last modified 6 years ago

unified and extensible annotations

Reported by: waldmann@… Owned by: none
Milestone: Keywords:
Cc: Section:
State:

Description (last modified by ijones) (diff)

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

Changed 6 years ago by ijones

  • component changed from HaskellPrime to Proposal
  • description modified (diff)

Changed 6 years ago by ijones

  • description modified (diff)

Changed 6 years ago by ijones

  • type changed from task to enhancement

Changed 6 years ago by ijones

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

Changed 6 years ago by john@…

  • topic set to Annotations

Changed 6 years ago by john@…

  • priority changed from major to minor
Note: See TracTickets for help on using tickets.