Browse files

Remove information about development libraries from the index page. A…

…dd information there about project goals and dependencies. Remove the list of development libraries from the page header.
  • Loading branch information...
Whiteknight committed Mar 31, 2011
1 parent e187cc3 commit c927cd9af23103faee017f5b97c2436d560003fa
Showing with 44 additions and 66 deletions.
  1. +0 −8 _layouts/rosella.html
  2. +43 −58
  3. +1 −0 libraries/
@@ -42,14 +42,6 @@
<a href="/Rosella/libraries/harness.html">Harness</a> &ndash;
<a href="/Rosella/libraries/mockobject.html">Mock Object</a> &ndash;
<a href="/Rosella/libraries/winxed.html">Winxed</a>
- <br/>
- Experimental:
- Contract &ndash;
- Decorate &ndash;
- Event &ndash;
- Prototype &ndash;
- Query
<h1>{{ page.title }}</h1>
@@ -3,19 +3,38 @@ layout: rosella
title: Rosella Library
-Rosella is a library of patterns and practices for use with the
-Parrot Virtual Machine. The goal of Rosella is to provide a
-library of building blocks for programmers on Parrot. By having
-these tools and components available in a portable, usable way,
-programmers should be empowered to create high quality,
-maintainable software faster.
-The Rosella project is actually a collection of individual
-libraries, each of which implements a single pattern or best
-practice. Rosella is intended to be used piece-wise. Use only the
-parts you want and ignore the parts you do not want. Rosella
-libraries tend not to be interdependent, although some of the more
-advanced libraries rely on some of the more basic ones.
+Rosella is a library of patterns and practices for use with the Parrot Virtual
+Machine. The Rosella project is actually a collection of several individual
+libraries, each of which implements a single pattern, best practice or
+toolset. Rosella is intended to be used piece-wise. Use only the parts you
+want and ignore the parts you do not want. Rosella libraries tend not to be
+interdependent, although some of the more advanced libraries rely on some of
+the more basic ones.
+## Project Goals
+The Rosella project has a number of driving goals which influence both the
+types of libraries which are provided and the way those libraries are
+* **Portability**. Rosella is pure-parrot, and has no components written in C.
+ It has no runtime dependencies besides a minimally-configured Parrot.
+ Rosella can go anywhere Parrot can go.
+* **Complete language agnosticism**. Rosella intends to be usable from
+ programs written in any language running on Parrot.
+* **Encapsulate low-level details**. Parrot provides lots of tools, though
+ many are too low-level. Rosella attempts to encapsulate some ugly details
+ behind nice, friendly, and usable interfaces.
+* **Extensibility**. Rosella aims to provide good defaults, but also to allow
+ aggressive modifications, configurations, and subclassing behaviors to those
+ who need something different.
+* **Provide well-known tools**. Rosella isn't an experimental research
+ project. It aims to provide Parrot implementations of well-known patterns,
+ practices, architectures, and tools. Rosella borrows good ideas from
+ well-known and high-quality sources.
+* **Focus on the user**. Rosella is interested in making things easier for
+ other coders. It wants to provide things that other coders will actually use
+ and appreciate. Rosella is a set of tools for coders, not for end users.
## Rosella Components
@@ -73,54 +92,20 @@ using this library.
### Rosella Development Libraries
-This is a list of libraries which are still in design or
-development phases:
-#### Event
-The Event library provides a subscribe/observe interface over the
-Action library. Multiple parts of a program can anonymously
-subscribe to or publish named events. This library is inspired,
-in part, by the event aggregation portions of the PRISM practices
-#### Prototype
-The Prototype library provides facilities for implementing a
-prototype-based object model system. Prototypes and object
-constructors/initializers can be registered with the library. New
-instances can be cloned from the prototype on demand.
-#### Query
-The Query library provides interfaces for interacting with
-aggregate objects. This library provides a series of higher-order
-utilities inspired by the .Net LINQ library.
-#### Decorate
-The Decorate library uses the Proxy library to implement a system
-of cheap, efficient type decorators. A decorator allows
-transparent passthrough of normal method calls, attribute
-accesses, and primitive value operations while allowing the
-programmer to inject additional methods and attributes on a
-per-object (not per-class) basis.
-#### Contract
-The Contract library implements logic for "design by contract"
-programming mechanisms. You can set up runtime checks for pre-
-and post-conditions on method calls, and you can set up assertions
-to verify invariant conditions. All the logic in the library can
-be disabled once the software has been tested and deployed.
+Rosella has a number of other libraries in planning and development. These
+libraries are not yet considered mature enough to include as part of a
+regular release. For the complete list with descriptions and ideas, see the
+[future libraries page](/Rosella/libraries/future.html).
## Install
-### Dependencies
- <li>[Parrot](</li>
- <li>[Winxed](</li>
+### Build Dependencies
+* [Parrot]( : Rosella runs on top of the
+ Parrot VM. You cannot build, run, or use Rosella in any way without Parrot.
+* [Winxed]( : Rosella is written in the
+ Winxed language. You need Winxed to build Rosella, but you do not need
+ Winxed to run it. Winxed has no runtime libraries of its own.
### Installing With Plumage
@@ -87,3 +87,4 @@ strings in an efficient way.
The tokenizer library will implement tokenizing behavior. This library will
implement a mechanism for breaking an input sequence into a sequence of

0 comments on commit c927cd9

Please sign in to comment.