Kinds.jl aims to provide a Julia framework for working with non-relational data. A central objective is to support special user-defined types called kinds that allow the user to reason about data as she would reason naturally about the objects which the data describe. For instance, suppose one has height data for a number of people and wants to find the mean height of a subset of those observations, say the subset of people taller than 5.5". One could define a People
type
@Natural People begin
:height
end
which designates as "people" all observations that have a :height
field. One then defines a related type
TallPeople = @KindOf People :height > 5.5
which designates as "tallpeople" all observations whose value for the field :height
is greater than 5.5. One then calls
mean(height, TallPeople)
To find the mean height of the aforementioned subset of the data.
For more details about this project, as well as periodic progress updates, please see the outline at the Kinds.jl/wiki.
05/24/2015
over 5 years ago
9 commits