Carrot Programming

With Carrot you have $expressiveness


Talk at the German Perl Workshop (updated 11.05.2015)

A talk about Carrot was given on 6th May 2015 in Dresden. The manuscript in German language is available as a PDF document.

I would like to thank everybody for the helpful insights, criticism, hints and opposition. Unfortunately I could only attend one day before medical appointments required me to be back home.

Focus on practical examples (16.08.2014)

The features in version 1.1.308 allow to play around with scripts and plugins. Though plugins only provide an indirect understanding of Carrot, they give practical experience at least.

This website has been re-structured to reflect the focus with Mechanics and a Tutorial.

Release 1.1.308 (13.08.2014)

Carrot now installs like a standard Perl module. Installation makes evaluation easier. Writing scripts with Carrot has become straightforward. A wrapper is still required though. See the tutorial for examples.

As a side effect of installation, the @MODULE_SEARCH_PATH might carry two versions of Carrot. One for production and one for development. The package list builder ::** will find both. The result is what you need if the development version adds a new plugin to Carrot. But if the development version removes or renames a module, then ::** will find the copy of the removed module, too. That's not what you want. You can control plugin loading via +-development.ini though.

Installation breaks the former policy 'no files outside the unpacked archive' in several ways. The challenge of Carrot are temporary and optimized files, which the user might create. If the user has no write access to the module hierarchy, then such files are created in $ENV{'HOME'}/.carrot/writable_overlay/ It's easier to get rid of them in a central location, but it's more effort for development. The file names in the writable overlay are numbers. An .idx file lists what would have been the original location.

FAQ entries in the 100 range have been added (30.07.2014)

Oops, the f in FAQ was missing. From the e-mails I received it became pretty clear that some fundamental questions should be answered in the FAQ. That's what the 100 range is now for.

Release 1.1.306 (22.07.2014)

The big simplification. Wording and formats became straightforward. For example, the file name for prototype classes is now and for shared classes it's Frills have been removed. For example, there is only //returned left and no additional /returned 0. has been launched (13.07.2014)

The website gives space for many exciting ideas how to promote Carrot. Hopefully there will be an equally exciting amount of free time to implement them all. (But, just to start with something, the website is a paper about Carrot right now.)