{-# LANGUAGE OverloadedStrings #-} module Main where import Control.Monad.Trans.Class (lift) import Data.Text (Text) import Data.FuzzySet (FuzzySearchT, add_, closestMatch, runDefaultFuzzySearchT) findMovie :: Text -> FuzzySearchT IO (Maybe Text) findMovie = closestMatch prog :: FuzzySearchT IO () prog = do add_ "Jurassic Park" add_ "Terminator" add_ "The Matrix" result <- findMovie "The Percolator" lift (print result) main :: IO () main = runDefaultFuzzySearchT prog