Safe Haskell | None |
---|---|
Language | Haskell2010 |
The public types
- data IdNameSpace
- type Type = Text
- type Name = Text
- data IdInfo = IdInfo {}
- data IdProp = IdProp {
- idName :: !Name
- idSpace :: !IdNameSpace
- idType :: !(Maybe Type)
- idDefinedIn :: !ModuleId
- idDefSpan :: !EitherSpan
- idHomeModule :: !(Maybe ModuleId)
- data IdScope
- = Binder
- | Local
- | Imported {
- idImportedFrom :: !ModuleId
- idImportSpan :: !EitherSpan
- idImportQual :: !Text
- | WiredIn
- data SourceSpan = SourceSpan {
- spanFilePath :: !FilePath
- spanFromLine :: !Int
- spanFromColumn :: !Int
- spanToLine :: !Int
- spanToColumn :: !Int
- data EitherSpan
- = ProperSpan !SourceSpan
- | TextSpan !Text
- data SourceError = SourceError {
- errorKind :: !SourceErrorKind
- errorSpan :: !EitherSpan
- errorMsg :: !Text
- data SourceErrorKind
- type ModuleName = Text
- data ModuleId = ModuleId {}
- data PackageId = PackageId {
- packageName :: !Text
- packageVersion :: !(Maybe Text)
- packageKey :: !Text
- data ImportEntities
- = ImportOnly ![Text]
- | ImportHiding ![Text]
- | ImportAll
- data Import = Import {
- importModule :: !ModuleId
- importPackage :: !(Maybe Text)
- importQualified :: !Bool
- importImplicit :: !Bool
- importAs :: !(Maybe ModuleName)
- importEntities :: !ImportEntities
- data SpanInfo
- data RunBufferMode
- = RunNoBuffering
- | RunLineBuffering { }
- | RunBlockBuffering { }
- data RunResult
- data BreakInfo = BreakInfo {}
- type Value = Text
- type VariableEnv = [(Name, Type, Value)]
- data Targets
- idInfoQN :: IdInfo -> String
- haddockLink :: IdProp -> IdScope -> String
Types
data IdNameSpace Source
Identifiers in Haskell are drawn from a number of different name spaces
VarName | Variables, including real data constructors |
DataName | Source data constructors |
TvName | Type variables |
TcClsName | Type constructors and classes |
Eq IdNameSpace | |
Show IdNameSpace | |
Generic IdNameSpace | |
Binary IdNameSpace | |
PrettyVal IdNameSpace | |
FromJSON IdNameSpace | |
ToJSON IdNameSpace | |
type Rep IdNameSpace |
Information about identifiers
Identifier info that is independent of the usage site
IdProp | |
|
Binder | This is a binding occurrence ( |
Local | Defined within this module |
Imported | Imported from a different module |
| |
WiredIn | Wired into the compiler ( |
data SourceSpan Source
SourceSpan | |
|
data EitherSpan Source
ProperSpan !SourceSpan | |
TextSpan !Text |
Eq EitherSpan | |
Show EitherSpan | |
Generic EitherSpan | |
Binary EitherSpan | |
PrettyVal EitherSpan | |
FromJSON EitherSpan | |
ToJSON EitherSpan | |
ExplicitSharing EitherSpan | |
type Rep EitherSpan | |
type XShared EitherSpan = EitherSpan |
data SourceError Source
An error or warning in a source module.
Most errors are associated with a span of text, but some have only a location point.
SourceError | |
|
Eq SourceError | |
Show SourceError | |
Generic SourceError | |
Binary SourceError | |
PrettyVal SourceError | |
FromJSON SourceError | |
ToJSON SourceError | |
ExplicitSharing SourceError | |
type Rep SourceError | |
type XShared SourceError = SourceError |
data SourceErrorKind Source
Severity of an error.
type ModuleName = Text Source
A package ID in ide-backend consists of a human-readable package name and version (what Cabal calls a source ID) along with ghc's internal package key (primarily for internal use).
PackageId | |
|
data ImportEntities Source
ImportOnly ![Text] | |
ImportHiding ![Text] | |
ImportAll |
Import | |
|
Returned then the IDE asks "what's at this particular location?"
data RunBufferMode Source
Buffer modes for running code
Note that NoBuffering
means that something like putStrLn
will do a
syscall per character, and each of these characters will be read and sent
back to the client. This results in a large overhead.
When using LineBuffering
or BlockBuffering
, runWait
will not report
any output from the snippet until it outputs a linebreak/fills the buffer,
respectively (or does an explicit flush). However, you can specify a timeout
in addition to the buffering mode; if you set this to Just n
, the buffer
will be flushed every n
microseconds.
NOTE: This is duplicated in the IdeBackendRTS (defined in IdeSession)
The outcome of running code
RunOk | The code terminated okay |
RunProgException String | The code threw an exception |
RunGhcException String | GHC itself threw an exception when we tried to run the code |
RunForceCancelled | The session was restarted |
RunBreak | Execution was paused because of a breakpoint |
Information about a triggered breakpoint
BreakInfo | |
|
type VariableEnv = [(Name, Type, Value)] Source
Variables during execution (in debugging mode)
Util
haddockLink :: IdProp -> IdScope -> String Source
Show approximately a haddock link (without haddock root) for an id. This is an illustration and a test of the id info, but under ideal conditions could perhaps serve to link to documentation without going via Hoogle.