Skip to content

Commit

Permalink
Fix title. Add overview. Add info about functions and predicates
Browse files Browse the repository at this point in the history
  • Loading branch information
Whiteknight committed May 24, 2011
1 parent 1f4ca51 commit ddc3c1c
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion libraries/query.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@
---
layout: rosella
title: Rosella Core
title: Rosella Query
---

## Overview

The Rosella Query library is a library for performing higher-order functions
on aggregate data. Aggregates are things like arrays and hashes, where an
object contains many related child objects. The Rosella Query library is based
in no small part on ideas from the .NET System.Linq library, although many of
the routine names are changed and the interfaces have been modified to suit
the capabilities of the Parrot Virtual Machine.

## Concepts

### Functions and Predicates

The Query library takes two types of function objects for it's routines:
regular functions and predicates. This is mostly a difference in terminology.
A function is one that takes one or more data values and is expected to return
another data value. A Predicate is a function that is expected to take one or
more data values and return a boolean. Typically the boolean value is an
answer to the question "Does this value belong in the result set?".

### Map, Filter, and Fold

Map, Filter, and Fold are the classic higher-order functions. They have
Expand Down

0 comments on commit ddc3c1c

Please sign in to comment.