Saturday, July 18, 2009

Tagging content with Curl macros

Curl was thought of as a web content language before getting some attention as an RIA platform, but Curl macros are of interest for markup because Curl files are Curl data and macros are expanded based on the package reading that file. So in different contexts, the same markup can be used to obtain different results with no conversion.
Here is an example from an outline of mine on microformats:

{topic "microformats",

{wp "http://en.wikipedia.org/wiki/Microformats", Lang.en},

{home "http://microformats.org/"},

{intro "http://www.digital-web.com/articles/microformats_primer/"},

{blog "http://garrettdimon.com/", BlogType.personal },

{cf "http://microformatique.com/optimus/"}
}

The commas are an option that I chose for the {topic} macro, but the Curl macro format is very open and the punctuation is wholly arbitrary on my part.
Curl also offers a more extensive {define-syntax} option which is even more suited to treating Curl as data than the friendly {define-macro} with its many template or pattern options.
In the elements {wp} and {blog} the final attributes are themselves optional and in some contexts might be ignored altogether. Here they are simply my enums Lang and BlogType.

Wednesday, July 1, 2009

CINCOM Web Velocity available

An epistle from James Robertson, CINCOM's Smalltalk evangelist, informs me that Web Velocity is now available.

James is the author of a great many quality Smalltalk podcasts available on iTunes, so learning Web Velocity should be a pleasure.

Forget Rails. Web Velocity is built on Seaside from Ruby-guy Avi Bryant ( and returns to Ruby as the "Borges" web framework) and allows editing your live server-side code in the web page in your browser. The live page.

The only thing that comes close to this in my experience is the "live code" {example}macro in the Curl Documentation Viewer in the Curl IDE.

Congrats to Alan Knight and his team at CINCOM and to the Squeak folks who helped carry Seaside forward!

Monday, June 29, 2009

A new home for Aule Browser ...

Aule Browser is now residing at www.aule-browser.com

There are still come kinks for Mac and Linux users ...

And I must find time to get Self 4.4 on my linux box from http://selflanguage.org/ ...

Friday, June 26, 2009

The Aule Browser: a simple web browser

Over at our LogiqueWerks pages we have a demo to run or to download of our Aule Browser. No, not "eule" as in OWL, but "aule" as in hall or entry-way ( an name I once suggested for the Io programming language.)

This is a Curl 7.0 browser using the EmbeddedBrowserGraphic class from Curl 6.0

On my Windows with IE8 as my default browser, it loads the Microsoft Trident HTML rendering engine. On linux it may load a Mozilla engine if you have Firefox installed.

It only adds about 1.2 to 1.6 MB to the Curl runtime environment unlike our massive big-brother browsers.

And it will be highly configurable because Curl is also a declarative language like HTML and since version 6.0 has had a stylesheet mechanism.

But Curl also has macros and first-class anonymous functions and traits and multiple-ionheritance and JIT compiles dynamically to machine code and has about a decade as a trusted and secure enterprise environment.

In the Aule Browser, each command button is declared, much as you would in HTML or another declarative language.

Because Curl is able to load packages dynamically, comes with async call built-in and with sub-appelts for background processes, my 5MB of research bookmarks will not choke the browser as they do Maxthon and not make the browser crawl as they do IE8. And that grinding sound on my hardrive while FireFox is loading?

And anything Chrome can do, we can do. So there.

Expect the Aule Browser to evolve as our other LogiqueWerks site-specific browsers evolve: with simple to do templating and configuration for task: research, hobby, eBay, ning, twine ...

To view the demo online or runtime desktop demo, you must first install the Curl Runtime Engine for Windows, Mac or linux. The same Aule Browser curl code will run on all 3 platforms.

Monday, June 22, 2009

ObjectIcon is UNICODE ICON

There are recent updates to code and wiki by Robert Parlett over at the google code ObjectIcon project including UNICODE in ICON.
ucs (standing for Unicode character string) is a new builtin type, whose behaviour closely mirrors that of the conventional Icon string. It operates by providing a wrapper around a conventional [...] Icon string, which must be in utf-8 format

For SVN, you might want to use
svn checkout http://objecticon.googlecode.com/svn/trunk/ objecticon-read-only

The lack of UNICODE in UNICON has been a worry: now there is an ICON + OOP alternative. UNICODE arrived recently in swi-prolog and is now in the alpha of REBOL3.

Languages which parse strings but are not UNICODE by 2010 cannot be of much interest in their intended niche in China, India, Malaysia, Indonesia ...

Saturday, June 20, 2009

Site-specific Browsers in Curl for sensitive content

Over at the Logiquewerks home page there are new links and pages for the topic of SSB's (site-specific browsers) implemented in Curl.

One type of browser that we are exploring is a Rich Internet Client for viewing confidential, "eyes-only", content which we call our "Eyes-Only Web Content Viewer"

At the moment there is a bare-bones demo for an Evernote SSB and a more complete prototype for an "Eyes-Only" browser with a "controller" which prevents copying or screen-snapshots unlike the "privacy" modes now in some browsers. Unlike Mozilla Prism, these Curl SSB's can be declared at the time of request of the content from the server to have whatever widgets are useful for task, such as annotating bids or signalling rejection. One use we are exploring is using the "eye-only browser" for code-reviews of proprietary code in software development - such as code developed off-shore where the ISP does not have in-house expertise to assess the vendor code.

All are intended for enterprise use in Internet Explorer only. The only requirement is the Curl RTE: no JavaScript or other plugins.

Sunday, June 14, 2009

Curl and string-scanning

Over at the Curl Developer Center I added a comment to a post on string-scanning. I keep meaning to post on my efforts with RDF in REBOL and in Curl. But I have a few other TODO's on my GTD paths blocking my way ... now off to the first wedding of one of my own children's school friends ... tempus fugit.