Version 37 (modified by malcolm.wallace@…, 8 years ago) (diff)


Straw Poll 2

Haskell' Committee: Here is a form to record your current opinion on all proposals.

About this Poll

This vote is designed to tease out the "definitely in" proposals, and to identify authors of their sections, so that we can make more concrete progress on the language.

The deadline for this poll is Friday, August 18 but please try to get in your votes as early as possible so that we can have a discussion about its impact.

I've left the previous vote intact, and made them the relatively neutral votes, so you can leave them as-is, or you can change them to "A" or "R", for instance, to "Definitely Accept" or "Definitely Reject". You can also indicate that you'd be willing to write the section on this proposal for the report by voting "AW" for instance.

How to Vote

  • Rate each proposal as
    • A - Accept - This proposal should definitely be Accepted
    • Y - Yes - I tend towards accepting this proposal
    • N - No - I tend towards rejecting this proposal
    • R - Reject - This proposal should definitely be Rejected.
    • blank - I am ambivalent, undecided, or haven't considered it properly in detail.
  • Modifiers - some combinations are allowed (AW would mean that you definitely think we should accept the proposal, and you'd be willing to write the section. RW would mean that, although you don't believe it should go in, if the proposal did go in, you could help write it since you understand it so well.)
    • W - Write - I would volunteer to help Write the report section for this proposal.
    • M - More information is needed (the proposal isn't clear enough to make a meaningful vote)
    • '*' - We should do something here, but not necessarily what is proposed.
  • Add your ratings to the column of the table headed with your initials.
  • In order to reduce problems of multiple people editing:
    • Do the easy ones first (and quickly), and hit 'save'
    • Then do the harder ones one at a time, and save in-between each.
  • Your answers to StrawPoll-1 are the default values. You might want to double-check them.
  • "I have completed voting" is here so we can tell the difference between someone who wants to leave their votes as-is (I hope no one does), verses someone who just hasn't voted.

The Vote

x x x x x x x - I have completed voting.
Y Y A Y Y Y Y M A Y Y Y A M Y* Y #74 add some kind of concurrency
Y Y AW Y Y A Y Y A Y A Y Y A A A A #35 add ForeignFunctionInterface
Y M Y M M A Y Y A Y Y* YM #49 add multi parameter type classes
Y Y A YW Y Y A Y A Y Y A A A A #60 add RankNTypes or Rank2Types
M Y A YW Y Y Y Y A Y Y Y A A #57 add polymorphic components
Y M A Y A AW Y Y Y Y A Y Y A AW A A #26 add ExistentialQuantification (existential components)
M M Y Y A Y Y A M N #85 more liberal kind inference
M Y Y Y Y Y Y Y Y A AW N Y #70 allow TypeSynonymInstances
N A A Y Y Y A Y A Y Y Y Y Y #65 Relax Dependency Analysis
Y* N A Y N Y Y Y Y Y Y #39 add ImpreciseExceptions
Y* N Y(3)Y(3) Y Y Y A(3) M Y Y Y Y(3) #29 add ExtensibleExceptions
Y Y A Y AW A Y Y A Y A Y Y A A A A #24 add HierarchicalModules
Y Y Y Y Y Y A A Y Y Y #89 standardize the System.FilePath? module for Haskell'
Y Y Y Y A Y Y Y A Y #53 Nondecreasing Indentation
Y Y Y AW A Y Y Y Y Y Y Y Y A A #25 add EmptyDataDeclarations
Y Y Y Y Y A Y A Y A Y A A #23 fix common pitfall with the do-notation and if-then-else
Y Y Y Y Y Y Y Y* A(1) M A Y Y A(1) A* #15 add a binary IO interface
Y A Y Y Y Y Y Y Y #59 Fix the lexical syntax for qualified identifiers
Y Y Y Y Y Y Y Y Y Y Y Y #42 fix comment syntax grammar
Y M Y Y Y Y #32 add FlexibleInstances
Y Y Y #31 add Flexible Contexts
Y Y Y A Y Y Y A Y Y Y A Y A #56 add Pattern Guards
M M Y M M A Y Y Y A Y #51 add new pragmas
N M R N N N N R AW M #79 Natural numbers
Y Y Y Y Y Y Y N Y Y A Y #72 Make underscore 'caseless'
N Y N R R N N R N R N R N R N #20 Eliminate . as an operator
Y* Y A Y Y Y Y Y Y Y AW #61 replace the Read class
M Y Y M N N R #96 Replace the array indexing operator, '!'
N&Y Y* Y Y* Y* Y Y* N Y N,Y M #95 improve module interfaces
N R Y N N M N N N N #86 add PartialTypeAnnotations?
Y* Y Y Y* Y Y M N Y Y N #76 Bang patterns
YM M M Y* YM Y Y* Y* YM Y* M Y Y* #67 add Scoped Type Variables
N N N N Y* Y* N N N N N N #62 allow data consructors to be exported and imported readonly
Y* M M M N Y M AW #58 prelude re-organisation proposal
Y Y R N N Y N R N Y N R #55 add Parallel List comprehensions
Y Y Y M Y Y Y Y N Y A A Y #52 Generalised deriving for newtype
N M N N Y N N Y N N N Y Y #50 get rid of unary '-' operator
M M #48 clarify module system proposals
R N N N N R R N #44 add MagicUnderscore
N N N R N N N N N N N N #41 add LambdaCase
M M N N Y Y N N Y #34 add ForeignData
Y Y* Y Y Y #33 add Blockable
Y Y Y Y Y Y Y A Y #30 remove operator fixity resolution from the context-free grammar
M N N Y N N N N #28 Require explicit quantification on all expression bound type signatures
Y M* Y M Y Y Y #21 improve defaulting rules
N N N N N M N N N N N N #92 add First Class Labels
N N N N N N Y N N Y #99 Move existing named field (record) system to an addendum
N N N N N N N N N N N #100 Replace named fields with an extensible record system
M M Y M Y Y M M Y #80 Reform the monomorphism restriction
M Y AW AW Y Y A Y Y Y A Y A #78 Add infix type constructors
N Y R N N N Y N N Y Y N R #82 Allow import declarations anywhere at the top level
Y Y A Y A Y A Y #81 scoping of type variables in class instances
Y* M M M M M M Y* M M #88 unified and extensible annotations
N M N N N N M N N R M R N #19 control export and import of class instances
Y Y Y Y N Y Y Y Y #17 relax restriction on signatures of class methods
Y* N Y Y N Y N N Y* Y Y #68 Eliminate tabs
N Y N N Y Y Y R N R #64 add recursive do syntax
M M Y N N* N Y N Y Y N #37 add GADTs
N N N N N N Y Y* R M N R Y R M #73 add views
N N Y M R N N N N N #71 Allow Undecidable Instances
N Y* R N R M R Y Y N N #54 add overlapping or incoherent instances
N N N R R N N R N R N N N R N #43 add Linear implicit params
M M N M M N Y Y M N M M M YM #36 add FunctionalDependencies
Y N Y N N N Y N N Y Y N Y Y #77 add MultiWayIf
N N R N Y Y N Y N N #69 allow tuple sections
N N N R N N N R N R N R N R N #38 add implicit parameters
M M M M N M M N M N M N #14 add Associated Types
N M N N N N N N N N N N #13 add Arrows
N N R N N Y* N N N R N #18 add closed classes
Y AW AW Y Y A Y N Y Y Y A A #84 Kind Annotations
N N N Y* Y #101 Class aliases
Y Y Y Y Y Y #103 MonomorphicPatternBindings

Member key:

  • IJ Isaac Jones (co-editor)
  • JL John Launchbury (co-editor) <john at>
  • MC Manuel M T Chakravarty <chak at>
  • JG John Goerzen <jgoerzen at>
  • BH Bastiaan Heeren <bastiaan at>
  • AL Andres Loeh <loeh at>
  • SM Simon Marlow <simonmar at>
  • JM John Meacham <john at>
  • RN Ravi Nanavati <ravi at>
  • HN Henrik Nilsson <nhn at>
  • RP Ross Paterson <ross at>
  • SPJ Simon Peyton-Jones <simonpj at>
  • DS Don Stewart <dons at>
  • MS Martin Sulzmann <>
  • AT Audrey Tang <autrijus at>
  • SJT Simon J. Thompson <S.J.Thompson at>
  • MW Malcolm Wallace <Malcolm.Wallace at>
  • SW Stephanie Weirich <sweirich at>