data SmilesErr : Type0 SmilesParseErr : Typerecord SSTCK : Type -> TypeSS : (bufSize_ : Nat) -> ByteString -> IBuffer bufSize_ -> Nat -> Nat -> Ref q (LTENat bufSize_) -> Ref q (LTENat bufSize_) -> Ref q (SnocList BytePos) -> Ref q ST -> Ref q DOB -> Ref q (Maybe MassNr) -> Ref q AromElem -> Ref q Chirality -> Ref q HCount -> Ref q Charge -> Ref q (Maybe (BBErr SmilesErr)) -> Ref q (SnocList SmilesGraph) -> SSTCK q.bufSize_ : SSTCK q -> Nat.charge : SSTCK q -> Ref q Charge.chirality : SSTCK q -> Ref q Chirality.curOffset_ : SSTCK q -> Nat.cur_ : ({rec:0} : SSTCK q) -> IBuffer (bufSize_ {rec:0}).dob : SSTCK q -> Ref q DOB.elem : SSTCK q -> Ref q AromElem.error_ : SSTCK q -> Ref q (Maybe (BBErr SmilesErr)).from_ : ({rec:0} : SSTCK q) -> Ref q (LTENat (bufSize_ {rec:0})).hcount : SSTCK q -> Ref q HCount.mass : SSTCK q -> Ref q (Maybe MassNr).positions_ : SSTCK q -> Ref q (SnocList BytePos).prevOffset_ : SSTCK q -> Nat.prev_ : SSTCK q -> ByteString.st : SSTCK q -> Ref q ST.stack_ : SSTCK q -> Ref q (SnocList SmilesGraph).till_ : ({rec:0} : SSTCK q) -> Ref q (LTENat (bufSize_ {rec:0}))HasBBErr SSTCK SmilesErrHasBytes SSTCKHasStack SSTCK (SnocList SmilesGraph)smiles : P1 q (BBErr SmilesErr) (List SmilesGraph)parseSmiles : Origin -> String -> Either SmilesParseErr (List SmilesGraph)Parses a list of smiles codes separated by whitespace
readSmilesFrom : Has SmilesParseErr es => Origin -> String -> ChemRes es SmilesGraphreadSmiles : Has SmilesParseErr es => String -> ChemRes es SmilesGraphreadSmiles' : String -> Either String SmilesGraphThis is a convenience alias `readSmiles`, which can be used
to quickly come up with fairly complex molecular graphs.
All errors are converted to pretty printed error messages.