duckling-0.1.3.0: A Haskell library for parsing text into structured data.

Safe HaskellNone
LanguageHaskell2010

Duckling.Core

Description

Everything needed to run Duckling.

Synopsis

Documentation

data Region Source #

ISO 3166-1 alpha-2 Country code (includes regions and territories). See https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

Constructors

CA 
CN 
GB 
HK 
MO 
TW 
US 

Instances

Bounded Region Source # 
Enum Region Source # 
Eq Region Source # 

Methods

(==) :: Region -> Region -> Bool #

(/=) :: Region -> Region -> Bool #

Ord Region Source # 
Read Region Source # 
Show Region Source # 
Generic Region Source # 

Associated Types

type Rep Region :: * -> * #

Methods

from :: Region -> Rep Region x #

to :: Rep Region x -> Region #

Hashable Region Source # 

Methods

hashWithSalt :: Int -> Region -> Int #

hash :: Region -> Int #

TextShow Region Source # 
type Rep Region Source # 
type Rep Region = D1 (MetaData "Region" "Duckling.Locale" "duckling-0.1.3.0-GQaqHc6ePoa7KIbvUKMaTD" False) ((:+:) ((:+:) (C1 (MetaCons "CA" PrefixI False) U1) ((:+:) (C1 (MetaCons "CN" PrefixI False) U1) (C1 (MetaCons "GB" PrefixI False) U1))) ((:+:) ((:+:) (C1 (MetaCons "HK" PrefixI False) U1) (C1 (MetaCons "MO" PrefixI False) U1)) ((:+:) (C1 (MetaCons "TW" PrefixI False) U1) (C1 (MetaCons "US" PrefixI False) U1))))

data Dimension a where Source #

GADT for differentiating between dimensions Each dimension should have its own constructor and provide the data structure for its parsed data

data Lang Source #

Constructors

AR 
BG 
CS 
DA 
DE 
EN 
ES 
ET 
FR 
GA 
HE 
HR 
HU 
ID 
IT 
JA 
KA 
KO 
MY 
NB 
NL 
PL 
PT 
RO 
RU 
SV 
TR 
UK 
VI 
ZH 

Instances

Bounded Lang Source # 
Enum Lang Source # 

Methods

succ :: Lang -> Lang #

pred :: Lang -> Lang #

toEnum :: Int -> Lang #

fromEnum :: Lang -> Int #

enumFrom :: Lang -> [Lang] #

enumFromThen :: Lang -> Lang -> [Lang] #

enumFromTo :: Lang -> Lang -> [Lang] #

enumFromThenTo :: Lang -> Lang -> Lang -> [Lang] #

Eq Lang Source # 

Methods

(==) :: Lang -> Lang -> Bool #

(/=) :: Lang -> Lang -> Bool #

Ord Lang Source # 

Methods

compare :: Lang -> Lang -> Ordering #

(<) :: Lang -> Lang -> Bool #

(<=) :: Lang -> Lang -> Bool #

(>) :: Lang -> Lang -> Bool #

(>=) :: Lang -> Lang -> Bool #

max :: Lang -> Lang -> Lang #

min :: Lang -> Lang -> Lang #

Read Lang Source # 
Show Lang Source # 

Methods

showsPrec :: Int -> Lang -> ShowS #

show :: Lang -> String #

showList :: [Lang] -> ShowS #

Generic Lang Source # 

Associated Types

type Rep Lang :: * -> * #

Methods

from :: Lang -> Rep Lang x #

to :: Rep Lang x -> Lang #

Hashable Lang Source # 

Methods

hashWithSalt :: Int -> Lang -> Int #

hash :: Lang -> Int #

TextShow Lang Source # 
type Rep Lang Source # 

data Some k tag :: forall k. (k -> *) -> * where #

Constructors

This :: Some k tag 

Instances

GEq k tag => Eq (Some k tag) 

Methods

(==) :: Some k tag -> Some k tag -> Bool #

(/=) :: Some k tag -> Some k tag -> Bool #

GCompare k tag => Ord (Some k tag) 

Methods

compare :: Some k tag -> Some k tag -> Ordering #

(<) :: Some k tag -> Some k tag -> Bool #

(<=) :: Some k tag -> Some k tag -> Bool #

(>) :: Some k tag -> Some k tag -> Bool #

(>=) :: Some k tag -> Some k tag -> Bool #

max :: Some k tag -> Some k tag -> Some k tag #

min :: Some k tag -> Some k tag -> Some k tag #

GRead k f => Read (Some k f) 

Methods

readsPrec :: Int -> ReadS (Some k f) #

readList :: ReadS [Some k f] #

readPrec :: ReadPrec (Some k f) #

readListPrec :: ReadPrec [Some k f] #

GShow k tag => Show (Some k tag) 

Methods

showsPrec :: Int -> Some k tag -> ShowS #

show :: Some k tag -> String #

showList :: [Some k tag] -> ShowS #

Hashable (Some * Dimension) # 
TextShow (Some * Dimension) # 

parse :: Text -> Context -> [Some Dimension] -> [Entity] Source #

Parses input and returns a curated list of entities found.

currentReftime :: HashMap Text TimeZoneSeries -> Text -> IO DucklingTime Source #

Builds a DucklingTime for timezone tz at current time. If no series found for tz, uses UTC.

makeReftime :: HashMap Text TimeZoneSeries -> Text -> UTCTime -> DucklingTime Source #

Builds a DucklingTime for timezone tz at utcTime. If no series found for tz, uses UTC.