LicenseGNU LGPLv3
Maintainerpaul.bittner@uni-ulm.de
Safe HaskellNone

Example

Description

Module for creating demos of feature trace recording.

Synopsis

Documentation

data Example m g a Source #

An Example represents a single demo showcase of feature trace recording.

  • m: Monad defining colours which is used for printing an examples output.
  • g: Grammar of the example (e.g., if the examples shows the development of Java or C++ or Haskell source code).
  • a: Value type of the artefacts in the ASTs (e.g., String).

Constructors

Example 

Fields

runExample :: (Grammar g, Show a, Eq a) => FeatureTraceRecording g a -> Example m g a -> [Version g a] Source #

Runs and example with the given FeatureTraceRecording implementation, yielding a list of all intermediate versions. The last element in the returned list is the AST and FeatureTraces to which the startVersion was changed when aplying all edits in history of the Example.

runExampleWithDefaultFTR :: (Grammar g, Show a, Eq a) => Example m g a -> [Version g a] Source #

Runs the given example with the default implementation of FeatureTraceRecording (defaultFeatureTraceRecording). Is equivalent to runExample defaultFeatureTraceRecording.

finalizeExample :: State UUID (Example m g a) -> Example m g a Source #

Evaluates all UUIDs in the example, starting with 0. Use this after building an AST whose Nodes yet have to be assigned UUIDs.