3 ms·
> Alright, I'll give you that there are a ton of GHC extensions after getting a list of them, all 106 as of GHC 7.10[0]. This does make me wonder why having s
by codygman 11y ago
>
Alright, I'll give you that there are a ton of GHC extensions after getting a list of them, all 106 as of GHC 7.10[0].
This does make me wonder why having so many extensions was never an issue for me.
> The Haskell community really got its shit together over the last 3 years. Cabal got a lot better, a bunch of key libraries got good, our compiler is fixed some major bugs
Agreed.
> I love Haskell, I really do. I wish I could ship more code with Haskell, and like it as well. But the OP asked about why Haskell didn't take off. Its ecosystem was in what we might call a state of growth and flux at the time a lot of stream and batch computation systems were shipping.
Fair enough.
> Oh and uh, I think Haskell's community is full of some truly toxic people, an intersection of some of the ugliest and most arrogant personalities of the Scala world who's primary education strategy can only be called "negging."
I've seen this personality type in other languages, but not Haskell yet. I too abhor the "negging" type, as well as the subculture that term arose from.
0: all ghc extensions
OverlappingInstances
UndecidableInstances
IncoherentInstances
DoRec
RecursiveDo
ParallelListComp
MultiParamTypeClasses
MonomorphismRestriction
FunctionalDependencies
Rank2Types
RankNTypes
PolymorphicComponents
ExistentialQuantification
ScopedTypeVariables
PatternSignatures
ImplicitParams
FlexibleContexts
FlexibleInstances
EmptyDataDecls
CPP
KindSignatures
BangPatterns
TypeSynonymInstances
TemplateHaskell
ForeignFunctionInterface
Arrows
Generics
ImplicitPrelude
NamedFieldPuns
PatternGuards
GeneralizedNewtypeDeriving
ExtensibleRecords
RestrictedTypeSynonyms
HereDocuments
MagicHash
TypeFamilies
StandaloneDeriving
UnicodeSyntax
UnliftedFFITypes
InterruptibleFFI
CApiFFI
LiberalTypeSynonyms
TypeOperators
RecordWildCards
RecordPuns (Deprecated, use NamedFieldPuns instead)
DisambiguateRecordFields
TraditionalRecordSyntax
OverloadedStrings
GADTs
GADTSyntax
MonoPatBinds
RelaxedPolyRec
ExtendedDefaultRules
UnboxedTuples
DeriveDataTypeable
DeriveGeneric
DefaultSignatures
InstanceSigs
ConstrainedClassMethods
PackageImports
ImpredicativeTypes (deprecated)
NewQualifiedOperators (deprecated)
PostfixOperators
QuasiQuotes
TransformListComp
MonadComprehensions
ViewPatterns
XmlSyntax
RegularPatterns
TupleSections
GHCForeignImportPrim
NPlusKPatterns
DoAndIfThenElse
MultiWayIf
LambdaCase
RebindableSyntax
ExplicitForAll
DatatypeContexts
MonoLocalBinds
DeriveFunctor
DeriveTraversable
DeriveFoldable
NondecreasingIndentation
SafeImports
Safe
Trustworthy
Unsafe
ConstraintKinds
PolyKinds
DataKinds
ParallelArrays
RoleAnnotations
OverloadedLists
EmptyCase
AutoDeriveTypeable
NegativeLiterals
BinaryLiterals
NumDecimals
NullaryTypeClasses
ExplicitNamespaces
AllowAmbiguousTypes
JavaScriptFFI
PatternSynonyms
PartialTypeSignatures
NamedWildCards
DeriveAnyClass