Hoogle Search

Within Stackage Nightly 2026-06-28 (ghc-9.12.4)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. setComment :: Comment -> SExprParser a c -> SExprParser a c

    s-cargot Data.SCargot.Parse

    Add the ability to ignore some kind of comment. This gets factored into whitespace parsing, and it's very important that the parser supplied be able to fail (as otherwise it will cause an infinite loop), and also that it not consume any input (which may require it to be wrapped in try.)

    >>> import Text.Parsec (alphaNum, anyChar, manyTill, many1, string)
    
    >>> let comment = string "//" *> manyTill anyChar newline *> pure ()
    
    >>> let parser = setComment comment (mkParser (many1 alphaNum))
    
    >>> decode parser "(ele //a comment\n  phant)"
    Right [SCons (SAtom "ele") (SCons (SAtom "phant") SNil)]
    

  2. setFromCarrier :: (c -> b) -> SExprPrinter a b -> SExprPrinter a c

    s-cargot Data.SCargot.Print

    Modify the carrier type of a SExprPrinter by describing how to convert the new type back to the previous type. For example, to pretty-print a well-formed s-expression, we can modify the SExprPrinter value as follows:

    >>> let printer = setFromCarrier fromWellFormed (basicPrint id)
    
    >>> encodeOne printer (WFSList [WFSAtom "ele", WFSAtom "phant"])
    "(ele phant)"
    

  3. setIndentAmount :: Int -> SExprPrinter atom carrier -> SExprPrinter atom carrier

    s-cargot Data.SCargot.Print

    Set the number of spaces that a subsequent line will be indented after a swing indentation.

    >>> let printer = setMaxWidth 12 (basicPrint id)
    
    >>> encodeOne printer (L [A "elephant", A "pachyderm"])
    "(elephant \n  pachyderm)"
    
    >>> encodeOne (setIndentAmount 4) (L [A "elephant", A "pachyderm"])
    "(elephant \n    pachyderm)"
    

  4. setIndentStrategy :: (SExpr atom -> Indent) -> SExprPrinter atom carrier -> SExprPrinter atom carrier

    s-cargot Data.SCargot.Print

    Dictate how to indent subsequent lines based on the leading subexpression in an s-expression. For details on how this works, consult the documentation of the Indent type.

    >>> let indent (A "def") = SwingAfter 1; indent _ = Swing
    
    >>> let printer = setIndentStrategy indent (setMaxWidth 8 (basicPrint id))
    
    >>> encodeOne printer (L [ A "def", L [ A "func", A "arg" ], A "body" ])
    "(def (func arg)\n  body)"
    
    >>> encodeOne printer (L [ A "elephant", A "among", A "pachyderms" ])
    "(elephant \n  among\n  pachyderms)"
    

  5. setMaxWidth :: Int -> SExprPrinter atom carrier -> SExprPrinter atom carrier

    s-cargot Data.SCargot.Print

    Dictate a maximum width for pretty-printed s-expressions.

    >>> let printer = setMaxWidth 8 (basicPrint id)
    
    >>> encodeOne printer (L [A "one", A "two", A "three"])
    "(one \n  two\n  three)"
    

  6. setAllOf :: TestEquality w => w a -> a -> AllOf w -> AllOf w

    witness Data.Type.Witness.Specific.All

    No documentation available.

  7. setCache :: Cache -> IO ()

    TCache Data.TCache

    Set the cache. this is useful for hot loaded modules that will update an existing cache. Experimental

  8. setConditions :: IO () -> IO () -> IO ()

    TCache Data.TCache

    stablishes the procedures to call before and after saving with syncCache, clearSyncCache or clearSyncCacheProc. The postcondition of database persistence should be a commit.

  9. setDefaultPersist :: Persist -> IO ()

    TCache Data.TCache.DefaultPersistence

    Set the default persistence mechanism of all serializable objects that have setPersist= const Nothing. By default it is filePersist this statement must be the first one before any other TCache call

  10. setPersist :: Serializable a => a -> Maybe Persist

    TCache Data.TCache.DefaultPersistence

    No documentation available.

Page 72 of many | Previous | Next