mirror of
https://github.com/github/semantic.git
synced 2024-12-23 06:41:45 +03:00
Define an s-expression format.
This commit is contained in:
parent
4944fdfe21
commit
e427457801
@ -7,14 +7,18 @@ module Serializing.Format
|
|||||||
|
|
||||||
import Algebra.Graph.Class
|
import Algebra.Graph.Class
|
||||||
import Data.ByteString.Builder
|
import Data.ByteString.Builder
|
||||||
|
import Prologue
|
||||||
import Serializing.DOT
|
import Serializing.DOT
|
||||||
|
import Serializing.SExpression
|
||||||
|
|
||||||
data Format input where
|
data Format input where
|
||||||
DOT :: (Ord vertex, ToGraph graph, ToVertex graph ~ vertex) => Style vertex Builder -> Format graph
|
DOT :: (Ord vertex, ToGraph graph, ToVertex graph ~ vertex) => Style vertex Builder -> Format graph
|
||||||
Show :: Show input => Format input
|
SExpression :: (Recursive input, ToSExpression (Base input)) => Format input
|
||||||
|
Show :: Show input => Format input
|
||||||
|
|
||||||
runSerialize :: Format input -> input -> Builder
|
runSerialize :: Format input -> input -> Builder
|
||||||
runSerialize (DOT style) graph = serializeDOT style graph
|
runSerialize (DOT style) graph = serializeDOT style graph
|
||||||
|
runSerialize SExpression input = serializeSExpression input
|
||||||
runSerialize Show input = stringUtf8 (show input)
|
runSerialize Show input = stringUtf8 (show input)
|
||||||
|
|
||||||
-- TODO: it would be kinda neat if we could use pretty-show/hscolour for Show output
|
-- TODO: it would be kinda neat if we could use pretty-show/hscolour for Show output
|
||||||
|
Loading…
Reference in New Issue
Block a user