module cloogleirc
import Cloogle
-import GenPrint
+import Data.Generics.GenPrint
import StdEnv
import Data.Functor
import Control.Applicative
import qualified Control.Monad as CM
import qualified Data.Map as DM
-from Control.Monad import class Monad, instance Monad Maybe, >>=
+from Control.Monad import class Monad(bind), >>=
from Text.Encodings.UrlEncoding import urlEncode
import System.CommandLine
import Internet.HTTP
# resp = fromOk mer
= case fromJSON $ fromString resp.HTTPResponse.rsp_data of
Nothing = ("couldn't parse json", w)
+ Just {return=127} = ("No results for " + data, w)
Just clr = ("Results for " + data + " -- https://cloogle.org/#" +
replaceSubString "+" "%20" (urlEncode data) + "\n" +
processResults clr, w)
+++ toString (length class_funs) +++ " class functions"
processResult (ModuleResult (br, _))
= "Module in " +++ br.library +++ ": " +++ br.modul
+ processResult (SyntaxResult (br, re))
+ = "Clean syntax: " +++ re.syntax_title +++ "\n"
+ +++ concat (intersperse "; " re.syntax_code)
limitResults :: String -> String
limitResults s
(Nothing, w) = (Nothing, io, w)
(Just cs, w)
# msgs = map toPrefix cs
- #! (io, w) = foldr (log strf " (s): ") (io, w) msgs
+// #! (io, w) = foldr (log strf " (s): ") (io, w) msgs
= (Just msgs, io, w)
log :: String String IRCMessage (!*File, !*World) -> (!*File, !*World)