Concept:
Data composition
Headline
Composition of compound data from parts
Note
Data composition is not an established term, but it naturally arises as a generalization of existing notions that are used in data modeling and programming. A common form of data composition is object composition, which is actually sometimes also defined in a broad enough sense, not to be limited to objects in the sense of OO programming. For clarity, the general term data composition is used on this wiki, whenever appropriate.
Description
Data composition entails component entities (e.g., primitive data or previously composed data) and compound entities (e.g., objects, tuples, or records). Composition means that the components (say, the parts) are combined to form a compound (say, a whole). A principle means of going beyond data composition is to leverage data variation.
Illustration
The following Language:Haskell-based data model for the @system leverages data composition systematically. The data model is based on algebraic data types. The data types for companies, departments, and employees declare a single constructor to serve for data composition. Basic types for numbers and strings are used for some components. List types are also used.
data Company = Company Name [Department]
data Department = Department Name Manager [Department] [Employee]
data Employee = Employee Name Address Salary
type Manager = Employee
type Name = String
type Address = String
type Salary = Float
The snippet originates from Contribution:haskellComposition.
Backlinks
There are no revisions for this page.
User contributions
User edits
Syntax for editing wiki
For you are available next options:will make text bold.
will make text italic.
will make text underlined.
will make text striked.
will allow you to paste code headline into the page.
will allow you to link into the page.
will allow you to paste code with syntax highlight into the page. You will need to define used programming language.
will allow you to paste image into the page.
is list with bullets.
is list with numbers.
will allow your to insert slideshare presentation into the page. You need to copy link to presentation and insert it as parameter in this tag.
will allow your to insert youtube video into the page. You need to copy link to youtube page with video and insert it as parameter in this tag.
will allow your to insert code snippets from @worker.
Syntax for editing wiki
For you are available next options:will make text bold.
will make text italic.
will make text underlined.
will make text striked.
will allow you to paste code headline into the page.
will allow you to link into the page.
will allow you to paste code with syntax highlight into the page. You will need to define used programming language.
will allow you to paste image into the page.
is list with bullets.
is list with numbers.
will allow your to insert slideshare presentation into the page. You need to copy link to presentation and insert it as parameter in this tag.
will allow your to insert youtube video into the page. You need to copy link to youtube page with video and insert it as parameter in this tag.
will allow your to insert code snippets from @worker.