src/Tools/Haskell/Buffer.hs
changeset 69225 bf2fecda8383
child 69226 68f5dc2275ac
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/Tools/Haskell/Buffer.hs	Sat Nov 03 19:33:15 2018 +0100
@@ -0,0 +1,22 @@
+{- GENERATED by Isabelle! -}
+{-  Title:      Tools/Haskell/Buffer.hs
+    Author:     Makarius
+    LICENSE:    BSD 3-clause (Isabelle)
+
+Efficient text buffers.
+-}
+
+module Isabelle.Buffer (T, empty, add, content)
+where
+
+newtype T = Buffer [String]
+
+empty :: T
+empty = Buffer []
+
+add :: String -> T -> T
+add "" buf = buf
+add x (Buffer xs) = Buffer (x : xs)
+
+content :: T -> String
+content (Buffer xs) = concat (reverse xs)