editable icon indicating copy to clipboard operation
editable copied to clipboard

Derive editors for data types.

editable

Derive editors for data types.

Add deriving Generic and instance Editable Foo to your data type, and you can launch an editor for it with editor :: Editable a => a -> IO a.

{-# LANGUAGE DeriveGeneric #-}
module Demo where

import Data.Editable
import GHC.Generics

data Foo = Bar String Int | Baz Int
  deriving (Show, Generic)

instance Editable Foo

example

Setup

cabal sandbox init
cabal install --only-dependencies
cabal exec ghci demo.hs
# main