toysolver-0.8.1: Assorted decision procedures for SAT, SMT, Max-SAT, PB, MIP, etc
Copyright(c) Masahiro Sakai 2016-2018
LicenseBSD-style
Maintainermasahiro.sakai@gmail.com
Stabilityprovisional
Portabilitynon-portable
Safe HaskellSafe-Inferred
LanguageHaskell2010
Extensions
  • Cpp
  • OverloadedStrings
  • DeriveDataTypeable

ToySolver.FileFormat.Base

Description

 
Synopsis

FileFormat class

class FileFormat a where Source #

A type class that abstracts file formats

Methods

parse :: ByteString -> Either String a Source #

Parse a lazy byte string, and either returns error message or a parsed value

render :: a -> Builder Source #

Encode a value into Builder

Instances

Instances details
FileFormat Formula Source # 
Instance details

Defined in ToySolver.FileFormat

FileFormat SoftFormula Source # 
Instance details

Defined in ToySolver.FileFormat

FileFormat CNF Source # 
Instance details

Defined in ToySolver.FileFormat.CNF

FileFormat GCNF Source # 
Instance details

Defined in ToySolver.FileFormat.CNF

FileFormat NewWCNF Source #

Note that parse also accepts (old) WCNF files and (unweighted) CNF files and converts them into NewWCNF.

Instance details

Defined in ToySolver.FileFormat.CNF

FileFormat QDimacs Source # 
Instance details

Defined in ToySolver.FileFormat.CNF

FileFormat SomeWCNF Source # 
Instance details

Defined in ToySolver.FileFormat.CNF

FileFormat WCNF Source #

Note that parse also accepts new WCNF files and (unweighted) CNF files and converts them into WCNF.

Instance details

Defined in ToySolver.FileFormat.CNF

FileFormat (WithFastParser Formula) Source # 
Instance details

Defined in ToySolver.FileFormat

FileFormat (WithFastParser SoftFormula) Source # 
Instance details

Defined in ToySolver.FileFormat

FileFormat (Problem Scientific) Source # 
Instance details

Defined in ToySolver.QUBO

data ParseError Source #

ParseError represents a parse error and it wraps a error message.

Constructors

ParseError String 

parseFile :: (FileFormat a, MonadIO m) => FilePath -> m (Either String a) Source #

Parse a file but returns an error message when parsing fails.

readFile :: (FileFormat a, MonadIO m) => FilePath -> m a Source #

Parse a file. Similar to parseFile but this function throws ParseError when parsing fails.

writeFile :: (FileFormat a, MonadIO m) => FilePath -> a -> m () Source #

Write a value into a file.