Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

raiph's scratchpad

by raiph (Friar)
on Jul 18, 2008 at 01:40 UTC ( #698491=scratchpad: print w/ replies, xml ) Need Help??

Hi monks,

I'm planning Parrodocs, a Parrot project. I would appreciate reactions of any sort to the following outline.

As a first approximation, Parrodocs is a wiki system. It'll speak WikiCreole 1.0 and provide a revision control interface.

(I will merge my efforts into November-Wiki if that project's creators wish to incorporate what I need.)

A central Parrodocs feature is that a page may be stored as a Perl6 string, and Parrodocs suitably sets up the context for interpolation.

So writers can incorporate variables like this...

This page, served by %ENV<server-name>, is stored as a Perl6 string.

... and embed code by just typing braces:

This page is a Perl6 string which embeds code { ... }.

Per Perl6, pragmata enable use of any language spoken by the Parrot hosting Parrodocs:

This page embeds php code: { use pipp; ... }.

To implement WikiCreole, Parrodocs would define a variant of a Perl6 string that tried a WikiCreole grammar parse of those parts of a string that aren't code. So writers could write:

//This// page embeds php code: { use pipp; ... }.

to italicize "This".

Parrodocs will host itself. A first alpha version might be a single string / page / file / program that codes how to edit and save itself.

In contrast with the development norm, which is developers writing and storing blogs and wikis over here, and modules and scripts over there, coders developing or using Parrodocs will be encouraged to keep it together -- it may be that there are no dedicated program source files as such, just developers' journals, community discussions, design documents, and so on, all with code embedded in them. If, say, a class was defined in 10 places using "is also", a view would be available that suitably concatenates the 10 fragments into one virtual page.

I've got several other ideas I want to implement, such as using Junctions and other Perl6 language features within prose (I am a sany person after all). But enough for now. Thoughts?

Log In?

What's my password?
Create A New User
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (8)
As of 2014-08-02 09:32 GMT
Find Nodes?
    Voting Booth?

    Who would be the most fun to work for?

    Results (55 votes), past polls