Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
gargantext-ihaskell
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gargantext
gargantext-ihaskell
Commits
6df3ee72
Commit
6df3ee72
authored
May 27, 2015
by
Andrew Gibiansky
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixing kernel death, closes #505
parent
f42f8645
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
173 additions
and
42 deletions
+173
-42
ihaskell.cabal
ihaskell.cabal
+9
-32
IHaskellPrelude.hs
main/IHaskellPrelude.hs
+149
-0
Main.hs
main/Main.hs
+0
-0
Evaluate.hs
src/IHaskell/Eval/Evaluate.hs
+14
-10
IHaskellPrelude.hs
src/IHaskellPrelude.hs
+1
-0
No files found.
ihaskell.cabal
View file @
6df3ee72
...
@@ -127,7 +127,7 @@ library
...
@@ -127,7 +127,7 @@ library
executable ihaskell
executable ihaskell
-- .hs or .lhs file containing the Main module.
-- .hs or .lhs file containing the Main module.
main-is: Main.hs
main-is: Main.hs
hs-source-dirs:
src
hs-source-dirs:
main
other-modules:
other-modules:
IHaskellPrelude
IHaskellPrelude
ghc-options: -threaded
ghc-options: -threaded
...
@@ -135,43 +135,20 @@ executable ihaskell
...
@@ -135,43 +135,20 @@ executable ihaskell
-- Other library packages from which modules are imported.
-- Other library packages from which modules are imported.
default-language: Haskell2010
default-language: Haskell2010
build-depends:
build-depends:
aeson >=0.7 && < 0.9
,
ihaskell -any
,
base >=4.6 && < 4.9,
base >=4.6 && < 4.9,
base64-bytestring >=1.0,
text >=0.11,
bytestring >=0.10,
transformers -any,
cereal >=0.3,
cmdargs >=0.10,
containers >=0.5,
directory -any,
filepath -any,
ghc >=7.6 || < 7.11,
ghc >=7.6 || < 7.11,
ghc-parser >=0.1.7,
ghc-paths ==0.1.*,
haskeline -any,
here ==1.2.*,
here ==1.2.*,
hlint >=1.9 && <2.0,
aeson >=0.7 && < 0.9,
haskell-src-exts ==1.16.*,
bytestring >=0.10,
http-client == 0.4.*,
containers >=0.5,
http-client-tls == 0.2.*,
MissingH >=1.2,
mtl >=2.1,
parsec -any,
process >=1.1,
random >=1.0,
shelly >=1.5,
split >= 0.2,
stm -any,
strict >=0.3,
strict >=0.3,
system-argv0 -any,
system-filepath -any,
text >=0.11,
transformers -any,
unix >= 2.6,
unix >= 2.6,
unordered-containers -any,
directory -any,
utf8-string -any,
uuid >=1.3,
vector -any,
ipython-kernel >=0.6.1
ipython-kernel >=0.6.1
if flag(binPkgDb)
if flag(binPkgDb)
build-depends: bin-package-db
build-depends: bin-package-db
...
...
main/IHaskellPrelude.hs
0 → 100644
View file @
6df3ee72
{-# LANGUAGE CPP #-}
module
IHaskellPrelude
(
module
IHaskellPrelude
,
module
X
,
-- Select reexports
Data
.
Typeable
.
Typeable
,
Data
.
Typeable
.
cast
,
#
if
MIN_VERSION_ghc
(
7
,
8
,
0
)
Data
.
Typeable
.
Proxy
,
GHC
.
Exts
.
IsString
,
GHC
.
Exts
.
IsList
,
#
endif
System
.
IO
.
hPutStrLn
,
System
.
IO
.
hPutStr
,
System
.
IO
.
hPutChar
,
System
.
IO
.
hPrint
,
System
.
IO
.
stdout
,
System
.
IO
.
stderr
,
System
.
IO
.
stdin
,
System
.
IO
.
getChar
,
System
.
IO
.
getLine
,
System
.
IO
.
writeFile
,
System
.
IO
.
Handle
,
System
.
IO
.
Strict
.
readFile
,
System
.
IO
.
Strict
.
getContents
,
System
.
IO
.
Strict
.
hGetContents
,
Control
.
Exception
.
catch
,
Control
.
Exception
.
SomeException
,
Control
.
Applicative
.
Applicative
(
..
),
Control
.
Applicative
.
ZipList
(
..
),
(
Control
.
Applicative
.<$>
),
Control
.
Concurrent
.
MVar
.
MVar
,
Control
.
Concurrent
.
MVar
.
newMVar
,
Control
.
Concurrent
.
MVar
.
newEmptyMVar
,
Control
.
Concurrent
.
MVar
.
isEmptyMVar
,
Control
.
Concurrent
.
MVar
.
readMVar
,
Control
.
Concurrent
.
MVar
.
takeMVar
,
Control
.
Concurrent
.
MVar
.
putMVar
,
Control
.
Concurrent
.
MVar
.
modifyMVar
,
Control
.
Concurrent
.
MVar
.
modifyMVar_
,
Data
.
IORef
.
IORef
,
Data
.
IORef
.
readIORef
,
Data
.
IORef
.
writeIORef
,
Data
.
IORef
.
modifyIORef'
,
Data
.
IORef
.
newIORef
,
-- Miscellaneous names
Data
.
Map
.
Map
,
GHC
.
IO
.
FilePath
,
Data
.
Text
.
Text
,
Data
.
ByteString
.
ByteString
,
Text
.
Printf
.
printf
,
Data
.
Function
.
on
,
)
where
import
Prelude
import
Data.Monoid
as
X
import
Data.Tuple
as
X
import
Control.Monad
as
X
import
Data.Maybe
as
X
import
Data.Either
as
X
import
Control.Monad.IO.Class
as
X
import
Data.Ord
as
X
import
GHC.Show
as
X
import
GHC.Enum
as
X
import
GHC.Num
as
X
import
GHC.Real
as
X
import
GHC.Err
as
X
hiding
(
absentErr
)
#
if
MIN_VERSION_ghc
(
7
,
10
,
0
)
import
GHC.Base
as
X
hiding
(
Any
,
mapM
,
foldr
,
sequence
,
many
,
(
<|>
))
#
else
import
GHC.Base
as
X
hiding
(
Any
)
#
endif
import
Data.List
as
X
hiding
(
head
,
last
,
tail
,
init
,
transpose
,
subsequences
,
permutations
,
foldl
,
foldl1
,
maximum
,
minimum
,
scanl
,
scanl1
,
scanr
,
scanr1
,
span
,
break
,
mapAccumL
,
mapAccumR
,
dropWhileEnd
,
(
!!
),
elemIndices
,
elemIndex
,
findIndex
,
findIndices
,
zip5
,
zip6
,
zip7
,
zipWith5
,
zipWith6
,
zipWith7
,
unzip5
,
unzip6
,
unzip6
,
delete
,
union
,
lookup
,
intersect
,
insert
,
deleteBy
,
deleteFirstBy
,
unionBy
,
intersectBy
,
group
,
groupBy
,
insertBy
,
maximumBy
,
minimumBy
,
genericLength
,
genericDrop
,
genericTake
,
genericSplitAt
,
genericIndex
,
genericReplicate
,
inits
,
tails
)
import
qualified
Control.Applicative
import
qualified
Data.Typeable
import
qualified
Data.IORef
import
qualified
Data.Map
import
qualified
Data.Text
import
qualified
Data.Text.Lazy
import
qualified
Data.ByteString
import
qualified
Data.ByteString.Lazy
import
qualified
Data.Function
import
qualified
GHC.Exts
import
qualified
System.IO
import
qualified
System.IO.Strict
import
qualified
GHC.IO
import
qualified
Text.Printf
import
qualified
Control.Exception
import
qualified
Control.Concurrent.MVar
import
qualified
Data.List
import
qualified
Prelude
as
P
type
LByteString
=
Data
.
ByteString
.
Lazy
.
ByteString
type
LText
=
Data
.
Text
.
Lazy
.
Text
(
headMay
,
tailMay
,
lastMay
,
initMay
,
maximumMay
,
minimumMay
)
=
(
wrapEmpty
head
,
wrapEmpty
tail
,
wrapEmpty
last
,
wrapEmpty
init
,
wrapEmpty
maximum
,
wrapEmpty
minimum
)
where
wrapEmpty
::
([
a
]
->
b
)
->
[
a
]
->
Maybe
b
wrapEmpty
_
[]
=
Nothing
wrapEmpty
f
xs
=
Just
(
f
xs
)
maximumByMay
::
(
a
->
a
->
Ordering
)
->
[
a
]
->
Maybe
a
maximumByMay
_
[]
=
Nothing
maximumByMay
f
xs
=
Just
(
Data
.
List
.
maximumBy
f
xs
)
minimumByMay
::
(
a
->
a
->
Ordering
)
->
[
a
]
->
Maybe
a
minimumByMay
_
[]
=
Nothing
minimumByMay
f
xs
=
Just
(
Data
.
List
.
minimumBy
f
xs
)
readMay
::
Read
a
=>
String
->
Maybe
a
readMay
=
fmap
fst
.
headMay
.
reads
putStrLn
::
(
MonadIO
m
)
=>
String
->
m
()
putStrLn
=
liftIO
.
P
.
putStrLn
putStr
::
(
MonadIO
m
)
=>
String
->
m
()
putStr
=
liftIO
.
P
.
putStr
putChar
::
MonadIO
m
=>
Char
->
m
()
putChar
=
liftIO
.
P
.
putChar
print
::
(
MonadIO
m
,
Show
a
)
=>
a
->
m
()
print
=
liftIO
.
P
.
print
src
/Main.hs
→
main
/Main.hs
View file @
6df3ee72
File moved
src/IHaskell/Eval/Evaluate.hs
View file @
6df3ee72
...
@@ -350,20 +350,24 @@ evaluate kernelState code output = do
...
@@ -350,20 +350,24 @@ evaluate kernelState code output = do
TypeRep
fing2
tycon2
subs2
=
actualTypeRep
TypeRep
fing2
tycon2
subs2
=
actualTypeRep
in
error
$
concat
in
error
$
concat
[
"Expecting value of type "
[
"Expecting value of type "
,
show
expectedTypeRep
,
show
TypeRep
expectedTypeRep
,
" but got value of type "
,
" but got value of type "
,
show
actualTypeRep
,
showTypeRep
actualTypeRep
,
"
\n
. Fingerprint expected "
,
show
fing1
,
" but gotten "
,
show
fing2
,
" with expected tycon "
,
show
(
tyConPackage
tycon1
,
tyConModule
tycon1
,
tyConName
tycon1
,
tyConHash
tycon1
)
,
" but gotten "
,
show
(
tyConPackage
tycon2
,
tyConModule
tycon2
,
tyConName
tycon2
,
tyConHash
tycon2
)
]
]
Just
result
->
return
result
Just
result
->
return
result
showTypeRep
::
TypeRep
->
String
showTypeRep
(
TypeRep
fingerprint
tycon
subs
)
=
concat
[
"TypeRep "
,
show
fingerprint
,
" "
,
show
(
tyConPackage
tycon
,
tyConModule
tycon
,
tyConName
tycon
,
tyConHash
tycon
)
,
" "
,
"["
,
intercalate
", "
(
map
showTypeRep
subs
)
,
"]"
]
safely
::
KernelState
->
Interpreter
EvalOut
->
Interpreter
EvalOut
safely
::
KernelState
->
Interpreter
EvalOut
->
Interpreter
EvalOut
safely
state
=
ghandle
handler
.
ghandle
sourceErrorHandler
safely
state
=
ghandle
handler
.
ghandle
sourceErrorHandler
where
where
...
...
src/IHaskellPrelude.hs
View file @
6df3ee72
...
@@ -77,6 +77,7 @@ import GHC.Show as X
...
@@ -77,6 +77,7 @@ import GHC.Show as X
import
GHC.Enum
as
X
import
GHC.Enum
as
X
import
GHC.Num
as
X
import
GHC.Num
as
X
import
GHC.Real
as
X
import
GHC.Real
as
X
import
GHC.Err
as
X
hiding
(
absentErr
)
#
if
MIN_VERSION_ghc
(
7
,
10
,
0
)
#
if
MIN_VERSION_ghc
(
7
,
10
,
0
)
import
GHC.Base
as
X
hiding
(
Any
,
mapM
,
foldr
,
sequence
,
many
,
(
<|>
))
import
GHC.Base
as
X
hiding
(
Any
,
mapM
,
foldr
,
sequence
,
many
,
(
<|>
))
#
else
#
else
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment