In a Wrattler notebook, each cell is associated with one or more nodes in a
depedency graph. Nodes in the dependency graph represent
parts of code. These can be coarse grained such as the enitre Python cell or more
fine grained (if a language plugin can parse source code and analyse dependencies fully
in the browser). When evaluating cell in a notebook, Wrattler does that by recursively
evaluating code associated with nodes (via a corresponding language plugin) in the
dependnecy graph. This module defines types and interfaces that represent values which
can be attached to nodes in the graph.
Value is an interface representing any value.
Language plugins can use their own types of values, but there are also a couple of
standard types that are understood and used by Wrattler.
ExportsValue is a value that should be attached
to a node that represents the result of evaluating the whole code cell. It provides
access to exports which is a dictionary with all things exported from a cell
(such as data frames and image or console outputs).
The special types of values understood by Wrattler are:
DataFrame representing a data frame,
Printout representing console output,
Figure representing an image and
JavaScriptOutputValue representing
arbitrary JavaScript code that manipulates the DOM of a given DOM element.
KnownValue is a sum type that represents
one of the known types above. The exports returned by ExportsValue should only
be instances of this type.
Known value is a sum type that represents all the standard types of values that Wrattler
understands. Those are values that should be exported by the exports property of
ExportsValue and represent images, console outputs, data frames, etc.
In a Wrattler notebook, each cell is associated with one or more nodes in a depedency graph. Nodes in the dependency graph represent parts of code. These can be coarse grained such as the enitre Python cell or more fine grained (if a language plugin can parse source code and analyse dependencies fully in the browser). When evaluating cell in a notebook, Wrattler does that by recursively evaluating code associated with nodes (via a corresponding language plugin) in the dependnecy graph. This module defines types and interfaces that represent values which can be attached to nodes in the graph.
Value
is an interface representing any value. Language plugins can use their own types of values, but there are also a couple of standard types that are understood and used by Wrattler.ExportsValue
is a value that should be attached to a node that represents the result of evaluating the whole code cell. It provides access toexports
which is a dictionary with all things exported from a cell (such as data frames and image or console outputs).The special types of values understood by Wrattler are:
DataFrame
representing a data frame,Printout
representing console output,Figure
representing an image andJavaScriptOutputValue
representing arbitrary JavaScript code that manipulates the DOM of a given DOM element.KnownValue
is a sum type that represents one of the known types above. Theexports
returned byExportsValue
should only be instances of this type.