ihaskell 0.4.1.0 → 0.4.2.0
raw patch · 4 files changed
+352/−14 lines, 4 filesdep ~HTTPdep ~aesondep ~classy-prelude
Dependency ranges changed: HTTP, aeson, classy-prelude, hlint, mono-traversable
Files
- ihaskell.cabal +13/−13
- src/IHaskell/Eval/Completion.hs +337/−0
- src/IHaskell/Eval/Lint.hs +1/−1
- src/IHaskell/IPython.hs +1/−0
ihaskell.cabal view
@@ -7,7 +7,7 @@ -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change-version: 0.4.1.0+version: 0.4.2.0 -- A short (one-line) description of the package. synopsis: A Haskell backend kernel for the IPython project.@@ -53,13 +53,13 @@ default-language: Haskell2010 ghc-options: -threaded build-depends: - aeson >=0.6 && < 0.8,+ aeson >=0.6 && < 0.9, base >=4.6 && < 4.8, base64-bytestring >=1.0, bytestring >=0.10, cereal >=0.3,- classy-prelude ==0.9.2,- mono-traversable ==0.6.0,+ classy-prelude >=0.9.2 && <0.10,+ mono-traversable >=0.6 && < 0.7, cmdargs >=0.10, containers >=0.5, directory -any,@@ -69,10 +69,10 @@ ghc-paths ==0.1.*, haskeline -any, here ==1.2.*,- hlint ==1.8.61,+ hlint >=1.9 && <2.0, haskell-src-exts ==1.15.*, hspec -any,- HTTP -any,+ HTTP == 4000.2.*, HUnit -any, MissingH >=1.2, mtl >=2.1,@@ -134,11 +134,11 @@ default-language: Haskell2010 build-depends: base >=4.6 && < 4.8,- aeson >=0.6 && < 0.8,+ aeson >=0.6 && < 0.9, bytestring >=0.10, cereal >=0.3,- classy-prelude ==0.9.2,- mono-traversable ==0.6.0,+ classy-prelude >=0.9.2 && <0.10,+ mono-traversable >=0.6 && < 0.7, containers >=0.5, directory -any, ghc ==7.6.* || == 7.8.*,@@ -154,13 +154,13 @@ Main-Is: Hspec.hs default-language: Haskell2010 build-depends: - aeson >=0.6 && < 0.8,+ aeson >=0.6 && < 0.9, base >=4.6 && < 4.8, base64-bytestring >=1.0, bytestring >=0.10, cereal >=0.3,- classy-prelude ==0.9.2,- mono-traversable ==0.6.0,+ classy-prelude >=0.9.2 && <0.10,+ mono-traversable >=0.6 && < 0.7, cmdargs >=0.10, containers >=0.5, directory -any,@@ -170,7 +170,7 @@ ghc-paths ==0.1.*, haskeline -any, here ==1.2.*,- hlint ==1.8.61,+ hlint >=1.9 && <2.0, haskell-src-exts ==1.15.*, hspec -any, HTTP -any,
src/IHaskell/Eval/Completion.hs view
@@ -316,3 +316,340 @@ hidden = filter isHidden suggestions return $ visible ++ hidden +-- Taken from @aavogt's language-popularity repo. +-- Thanks Adam! (See RateLang.hs)+-- A list of language extensions with a metric of popularity.+--+--+comp = [ [ ("CPP",3.61010190620751e-05)+ ,("TypeSynonymInstances",0.00333238031934258)+ ,("GeneralizedNewtypeDeriving",-6.90951514478517e-06)+ ,("DeriveDataTypeable",2.89032809536187e-05)+ ,("NondecreasingIndentation",-0.0120642977990976)+ ,("DoRec",0.000154169345461847)+ ,("MultiWayIf",9.83875850517242e-07)+ ,("InterruptibleFFI",7.32016810708911e-05)+ ,("NPlusKPatterns",-3.48060216583165e-05)+ ,("TransformListComp",-8.03912876941789e-07)+ ,("CApiFFI",-9.92778536538754e-07)+ ,("DeriveFunctor",3.23567661752504e-05)+ ,("DeriveTraversable",-4.4419753424526e-07)+ ,("DeriveFoldable",1.13800774904664e-06)+ ,("RelaxedPolyRec",-7.48379394059826e-07)+ ,("RecursiveDo",3.19187115230957e-05)+ ,("DatatypeContexts",2.93747727036854e-05)+ ,("LiberalTypeSynonyms",2.99875075421953e-06)+ ,("ImpredicativeTypes",8.28595871131496e-07)+ ,("Arrows",1.27129624304441e-06)+ ,("DoAndIfThenElse",0.000122441390268091)+ ,("QuasiQuotes",1.32173704319031e-05)+ ,("ExplicitNamespaces",2.2933955712772e-05)+ ,("LambdaCase",1.66993535504929e-05)+ ,("PackageImports",1.42912374485377e-05)+ ,("PolymorphicComponents",-1.63995429556044e-05)+ ,("ImplicitParams",3.35537837584515e-07)+ ,("ExtendedDefaultRules",1.25778223498271e-07)+ ,("TupleSections",1.39088345304466e-06)+ ,("ParallelListComp",-1.18779248991847e-07)+ ,("ConstraintKinds",3.18598015553636e-06)+ ,("ExplicitForAll",1.66939137073947e-07)+ ,("UnliftedFFITypes",6.54318487266603e-08)+ ,("MonoPatBinds",4.32981458232402e-06)+ ,("IncoherentInstances",5.49128784768265e-07)+ ,("NamedFieldPuns",1.66315384401424e-05)+ ,("RankNTypes",-4.87692459184476e-08)+ ,("PatternGuards",6.19240348194448e-07)+ ,("DeriveGeneric",-8.07890048680066e-08)+ ,("KindSignatures",-3.25336053599518e-08)+ ,("PolyKinds",1.26256921199133e-06)+ ,("StandaloneDeriving",3.43137992103766e-06)+ ,("DefaultSignatures",4.96583764666944e-08)+ ,("UnboxedTuples",1.00759432919488e-07)+ ,("FlexibleInstances",4.16250479097897e-07)+ ,("UnicodeSyntax",5.37058650836598e-07)+ ,("OverlappingInstances",3.50128311741168e-08)+ ,("DataKinds",2.0534887318452e-08)+ ,("EmptyDataDecls",2.22171573110801e-06)+ ,("ExistentialQuantification",2.08840855142973e-07)+ ,("RecordWildCards",5.57442717108643e-07)+ ,("MagicHash",2.49472964266247e-09)+ ,("GADTs",8.46640947473585e-10)+ ,("ViewPatterns",8.43595817360935e-07)+ ,("FunctionalDependencies",1.23469698653221e-07)+ ,("ForeignFunctionInterface",4.23931099969806e-07)+ ,("TypeOperators",-1.74757421299194e-09)+ ,("OverloadedStrings",3.09454633861019e-13)+ ,("Rank2Types",6.46398722779045e-12)+ ,("ScopedTypeVariables",4.46983977373279e-13)+ ,("TemplateHaskell",-4.57993662544798e-13)+ ,("UndecidableInstances",0)+ ,("BangPatterns",0)+ ,("TypeFamilies",0)+ ,("MultiParamTypeClasses",0)+ ,("FlexibleContexts",0)+ ], [("FlexibleContexts",0.000313909946572998)+ ,("BangPatterns",-0.00815790219835777)+ ,("TypeFamilies",9.52939712361604e-05)+ ,("MultiParamTypeClasses",4.7063600264224e-05)+ ,("ScopedTypeVariables",-0.00166985228018893)+ ,("TemplateHaskell",-0.000390340101553312)+ ,("Rank2Types",-2.52294035284545e-06)+ ,("CPP",-0.000157145016290726)+ ,("UndecidableInstances",0.00222232037664386)+ ,("ViewPatterns",4.88110235747614e-05)+ ,("ForeignFunctionInterface",0.000153257675765049)+ ,("ExistentialQuantification",-7.40736870030887e-05)+ ,("RecordWildCards",2.69702562774924e-05)+ ,("DataKinds",6.73600259764143e-06)+ ,("EmptyDataDecls",1.03214253036321e-05)+ ,("OverlappingInstances",-7.84642862138908e-05)+ ,("UnicodeSyntax",-7.68209773536005e-05)+ ,("DefaultSignatures",-1.72143066965286e-06)+ ,("PolyKinds",-2.1494281780579e-06)+ ,("UnboxedTuples",-3.30528306585007e-06)+ ,("KindSignatures",-0.000233681836960701)+ ,("DeriveGeneric",0.000506464532147128)+ ,("FunctionalDependencies",-4.4223944763253e-05)+ ,("NamedFieldPuns",-1.16585465366629e-05)+ ,("GADTs",-6.20781288530375e-06)+ ,("TypeOperators",0.000230403667115119)+ ,("MonoPatBinds",-8.38263122669784e-07)+ ,("IncoherentInstances",-3.6423025053095e-07)+ ,("UnliftedFFITypes",-2.87400742465009e-06)+ ,("StandaloneDeriving",1.63816796109282e-06)+ ,("ExtendedDefaultRules",-6.81483701131949e-06)+ ,("PolymorphicComponents",6.19520770503874e-07)+ ,("ImplicitParams",-1.94407790036126e-07)+ ,("PackageImports",2.38543554259866e-06)+ ,("ExplicitNamespaces",-1.61090491920468e-06)+ ,("ExplicitForAll",-2.51224669099893e-05)+ ,("ImpredicativeTypes",6.72610888083165e-07)+ ,("LiberalTypeSynonyms",-1.36016028625621e-06)+ ,("DatatypeContexts",1.11421784955404e-06)+ ,("RecursiveDo",4.48693777843038e-07)+ ,("RelaxedPolyRec",-2.99019211361589e-06)+ ,("ParallelListComp",4.00563254122474e-06)+ ,("TupleSections",-1.26175545097158e-07)+ ,("LambdaCase",1.29535980945951e-08)+ ,("DoAndIfThenElse",7.41847497261065e-07)+ ,("Arrows",-1.37594219103215e-06)+ ,("ConstraintKinds",-9.33035663875486e-08)+ ,("CApiFFI",5.71183066015197e-07)+ ,("DoRec",-5.2242320697249e-06)+ ,("MultiWayIf",7.54177111866857e-07)+ ,("InterruptibleFFI",-1.36927225370348e-06)+ ,("NPlusKPatterns",-5.16049666913861e-09)+ ,("TransformListComp",-1.75132716374466e-09)+ ,("DeriveFoldable",-1.98148873359265e-06)+ ,("DeriveTraversable",-4.03417478618494e-08)+ ,("NondecreasingIndentation",-9.49093824605121e-07)+ ,("MagicHash",2.41020221095345e-08)+ ,("PatternGuards",9.83879427389026e-14)+ ,("QuasiQuotes",-1.18587527759198e-11)+ ,("RankNTypes",-1.4229400701947e-13)+ ,("DeriveFunctor",5.12599199173421e-12)+ ,("OverloadedStrings",0)+ ,("TypeSynonymInstances",0)+ ,("DeriveDataTypeable",0)+ ,("GeneralizedNewtypeDeriving",0)+ ,("FlexibleInstances",0)+ ], [("OverloadedStrings",0.00375472281171368)+ ,("BangPatterns",-0.0147020334012468)+ ,("GeneralizedNewtypeDeriving",0.000768504518104188)+ ,("TypeSynonymInstances",0.00106832054097945)+ ,("FlexibleContexts",-0.000500965338201867)+ ,("ScopedTypeVariables",-0.000465825633904748)+ ,("Rank2Types",-6.44290318526968e-06)+ ,("ViewPatterns",-0.00016445595079726)+ ,("TemplateHaskell",0.00031105572542872)+ ,("RecordWildCards",0.000447857773375684)+ ,("ExistentialQuantification",0.000370803016883456)+ ,("EmptyDataDecls",-0.000144517484891559)+ ,("OverlappingInstances",0.00024746129130664)+ ,("DataKinds",8.54567149603227e-05)+ ,("CPP",8.32378153226345e-05)+ ,("DeriveGeneric",-0.000129120550127643)+ ,("PolyKinds",-0.000139227290872006)+ ,("DefaultSignatures",4.51279367031475e-05)+ ,("NamedFieldPuns",-2.49696735132777e-06)+ ,("UnicodeSyntax",-5.08692073848527e-06)+ ,("IncoherentInstances",-0.000209111397165051)+ ,("TypeFamilies",4.01213754616832e-05)+ ,("UnliftedFFITypes",1.84246999229184e-05)+ ,("MonoPatBinds",0.000226177342804803)+ ,("ExtendedDefaultRules",0.000113117851858219)+ ,("KindSignatures",-0.000143459667487566)+ ,("PolymorphicComponents",-1.24201088180735e-06)+ ,("ImplicitParams",-6.38466225951806e-07)+ ,("PackageImports",-6.78718828684779e-06)+ ,("ExplicitNamespaces",1.32111136012307e-05)+ ,("ImpredicativeTypes",-1.17965041027026e-06)+ ,("LiberalTypeSynonyms",8.95602322778583e-06)+ ,("DatatypeContexts",-3.44648161670114e-07)+ ,("RecursiveDo",3.75881939421439e-06)+ ,("RelaxedPolyRec",-2.86399064022454e-06)+ ,("PatternGuards",3.0833576000384e-05)+ ,("MagicHash",5.42431488280579e-06)+ ,("ForeignFunctionInterface",-3.06975278203367e-06)+ ,("ParallelListComp",8.98568335884053e-06)+ ,("ExplicitForAll",3.61852057422449e-06)+ ,("TupleSections",-5.3823967236943e-06)+ ,("LambdaCase",-2.93406749448972e-05)+ ,("DoAndIfThenElse",-1.51059122955737e-07)+ ,("UnboxedTuples",2.03876160923384e-06)+ ,("Arrows",4.20173909201428e-07)+ ,("CApiFFI",-1.68685945572048e-06)+ ,("DoRec",-1.50261300906363e-07)+ ,("MultiWayIf",5.87965337546159e-06)+ ,("InterruptibleFFI",-7.30040148588083e-06)+ ,("NPlusKPatterns",8.47471259978666e-06)+ ,("TransformListComp",-2.94628182683129e-06)+ ,("FlexibleInstances",-1.76345562873315e-08)+ ,("DeriveDataTypeable",-5.98467152033701e-09)+ ,("ConstraintKinds",-2.69470097644909e-06)+ ,("NondecreasingIndentation",1.80875267744869e-06)+ ,("DeriveTraversable",-7.84262958991619e-07)+ ,("DeriveFoldable",1.94372347445998e-07)+ ,("DeriveFunctor",7.51813183524314e-12)+ ,("QuasiQuotes",-1.10324608726284e-12)+ ,("StandaloneDeriving",3.08130328795729e-12)+ ,("GADTs",-3.29153078340426e-12)+ ,("MultiParamTypeClasses",0)+ ,("TypeOperators",0)+ ,("UndecidableInstances",0)+ ,("RankNTypes",0)+ ,("FunctionalDependencies",0)+ ], [("FlexibleContexts",0.00206988198202063)+ ,("FlexibleInstances",0.00478493895792203)+ ,("MultiParamTypeClasses",0.000543100270930664)+ ,("TypeSynonymInstances",0.000433427108290934)+ ,("GADTs",-0.000508591818538512)+ ,("DataKinds",-0.00158305382633244)+ ,("GeneralizedNewtypeDeriving",-1.32053292713645e-05)+ ,("MagicHash",0.00060294474136097)+ ,("TypeFamilies",0.00199331684670445)+ ,("Rank2Types",0.000167913575130266)+ ,("ExistentialQuantification",-0.000334470938148122)+ ,("TemplateHaskell",0.000404771859986688)+ ,("PolyKinds",9.27797006099843e-05)+ ,("DeriveFunctor",5.8564773995763e-05)+ ,("EmptyDataDecls",5.88239613280622e-05)+ ,("CPP",-9.32449526765399e-05)+ ,("MonoPatBinds",-0.000191413639722033)+ ,("UnboxedTuples",-5.98623657615293e-08)+ ,("ExtendedDefaultRules",-9.23438492561769e-06)+ ,("TypeOperators",-1.52309738717369e-05)+ ,("UnicodeSyntax",-0.00031265116633175)+ ,("PolymorphicComponents",-0.000258347072842669)+ ,("UnliftedFFITypes",7.57941034945384e-05)+ ,("ImplicitParams",7.99556085696513e-05)+ ,("KindSignatures",-0.000117831033149023)+ ,("PackageImports",-9.6685454963849e-05)+ ,("ExplicitNamespaces",-3.6840772000577e-06)+ ,("ImpredicativeTypes",-1.70639826716117e-06)+ ,("LiberalTypeSynonyms",4.06038950775807e-05)+ ,("DatatypeContexts",9.33626180080811e-06)+ ,("RecursiveDo",-2.28712935362161e-06)+ ,("RelaxedPolyRec",8.01725669810313e-06)+ ,("ExplicitForAll",-9.49229121731013e-07)+ ,("PatternGuards",-3.55935044719338e-05)+ ,("TupleSections",-7.58468100310228e-06)+ ,("ParallelListComp",-3.91376131068917e-05)+ ,("Arrows",3.83335011449579e-06)+ ,("DoAndIfThenElse",1.29787982724982e-05)+ ,("CApiFFI",6.35016054131006e-06)+ ,("InterruptibleFFI",2.55719967538718e-06)+ ,("DoRec",7.73863158721065e-06)+ ,("MultiWayIf",3.89268374416116e-05)+ ,("NPlusKPatterns",-5.04581191857386e-07)+ ,("TransformListComp",1.01722688224795e-06)+ ,("ConstraintKinds",3.37136360801588e-07)+ ,("LambdaCase",-5.75783908056484e-06)+ ,("DeriveFoldable",-4.30966579508519e-07)+ ,("DeriveTraversable",3.51757758619561e-06)+ ,("RankNTypes",-5.50094642288704e-06)+ ,("RecordWildCards",1.08775521412969e-06)+ ,("NondecreasingIndentation",1.50762319812064e-06)+ ,("ViewPatterns",-2.63413270282086e-08)+ ,("QuasiQuotes",-8.93950418173289e-09)+ ,("OverlappingInstances",1.38264195987014e-06)+ ,("ForeignFunctionInterface",1.37028998200127e-06)+ ,("NamedFieldPuns",-7.6349295609293e-07)+ ,("IncoherentInstances",1.37362464465101e-07)+ ,("DefaultSignatures",1.75873260389312e-12)+ ,("ScopedTypeVariables",-1.17532922095248e-11)+ ,("DeriveGeneric",-1.86467210237888e-13)+ ,("BangPatterns",-2.50435754285171e-12)+ ,("FunctionalDependencies",0)+ ,("StandaloneDeriving",0)+ ,("UndecidableInstances",0)+ ,("DeriveDataTypeable",0)+ ,("OverloadedStrings",0)+ ], [("TypeFamilies",0.000140163883870815)+ ,("FlexibleContexts",0.00297048163024454)+ ,("ViewPatterns",-0.000111316775224723)+ ,("GeneralizedNewtypeDeriving",0.000120892448812601)+ ,("DeriveDataTypeable",-0.000508349607676558)+ ,("StandaloneDeriving",0.00116895970752512)+ ,("DeriveFunctor",3.13978777622593e-05)+ ,("UndecidableInstances",0.000365841925973236)+ ,("RankNTypes",-0.00089360426791329)+ ,("CPP",-2.6641371580765e-05)+ ,("UnicodeSyntax",-0.000390633429466612)+ ,("NamedFieldPuns",4.6671000489088e-05)+ ,("TypeOperators",-1.47205398800253e-05)+ ,("GADTs",-1.72382198924477e-05)+ ,("LambdaCase",-1.20568779495547e-05)+ ,("IncoherentInstances",0.000116588043845439)+ ,("NondecreasingIndentation",0.000136326293409723)+ ,("DoAndIfThenElse",5.63637386702583e-05)+ ,("CApiFFI",8.41571426428872e-06)+ ,("MultiWayIf",2.36578476500515e-05)+ ,("DoRec",-0.000328305779931595)+ ,("NPlusKPatterns",9.14053833479154e-05)+ ,("InterruptibleFFI",7.58655693412018e-05)+ ,("TransformListComp",0.000133163787549228)+ ,("OverloadedStrings",-1.54562145498963e-05)+ ,("DeriveFoldable",-0.000111650870862239)+ ,("DeriveTraversable",4.7021031442741e-06)+ ,("UnliftedFFITypes",3.16952945624701e-06)+ ,("OverlappingInstances",-8.82781806302728e-06)+ ,("Arrows",-1.91361082280144e-06)+ ,("RelaxedPolyRec",2.14625330129864e-05)+ ,("QuasiQuotes",-5.95056417062451e-06)+ ,("RecursiveDo",1.79955577172882e-06)+ ,("PackageImports",2.79233398950535e-05)+ ,("DatatypeContexts",1.43314411756011e-05)+ ,("ExplicitNamespaces",1.11507888343311e-05)+ ,("LiberalTypeSynonyms",-7.85704216868829e-07)+ ,("ImpredicativeTypes",-3.75602911176639e-06)+ ,("ParallelListComp",-1.30156332348411e-06)+ ,("ConstraintKinds",-5.24137505919305e-07)+ ,("ImplicitParams",-2.29153886340786e-07)+ ,("DeriveGeneric",-4.1577506842215e-07)+ ,("PolymorphicComponents",3.42805715089962e-07)+ ,("ScopedTypeVariables",5.52077805692021e-07)+ ,("ExtendedDefaultRules",7.11139503991622e-06)+ ,("TupleSections",5.0764133054115e-06)+ ,("ExplicitForAll",7.29921944679635e-07)+ ,("TypeSynonymInstances",1.14287872944844e-07)+ ,("UnboxedTuples",1.26860152074704e-05)+ ,("DefaultSignatures",-2.53692430036397e-06)+ ,("EmptyDataDecls",2.17972282382787e-06)+ ,("MultiParamTypeClasses",8.66884944742722e-08)+ ,("KindSignatures",2.94196324289584e-08)+ ,("BangPatterns",2.18077894648965e-07)+ ,("MonoPatBinds",-1.11671793294358e-06)+ ,("RecordWildCards",1.19474506788085e-06)+ ,("ExistentialQuantification",-2.81545552444067e-08)+ ,("ForeignFunctionInterface",4.90974607341343e-12)+ ,("PolyKinds",-4.8615051178334e-11)+ ,("FlexibleInstances",-4.04686636276656e-13)+ ,("PatternGuards",5.76969742113836e-13)+ ,("MagicHash",0)+ ,("DataKinds",0)+ ,("TemplateHaskell",0)+ ,("FunctionalDependencies",0)+ ,("Rank2Types",0)+ ]]+
src/IHaskell/Eval/Lint.hs view
@@ -66,7 +66,7 @@ -- create 'suggestions' let modules = mapMaybe (createModule mode) blocks- ideas = applyHints classify hint modules+ ideas = applyHints classify hint (map (\m->(m,[])) modules) suggestions = mapMaybe showIdea ideas return $ Display $
src/IHaskell/IPython.hs view
@@ -181,6 +181,7 @@ checkIPythonVersion path = do output <- unpack <$> shelly (silently $ run path ["--version"]) case parseVersion output of+ Just (3:_) -> putStrLn "Using system-wide dev version of IPython." Just (2:_) -> putStrLn "Using system-wide IPython." Just (1:_) -> badIPython "Detected old version of IPython. IHaskell requires 2.0.0 or up." Just (0:_) -> badIPython "Detected old version of IPython. IHaskell requires 2.0.0 or up."