I'm in a very unix-y mood. Chicken Scheme is very, very sweet. If I needed to choose a monolithic language (my definition: one language upon which to do everything), it would probably turn out to be Chicken Scheme. But... I am in a unix-y mood.
I still need "one language" to tie this whole system together. It may turn out to be a unix shell. Heck, it may turn out to be the Korn Shell (93 flavor thankyou). I may even decide to turn EFX core on its ear. Do I really need XML? Do I really need HTML? (Is there better syntax I can choose that uses HTML fragments?) I've got a lot to think about.
Another thought, if I went monolithic with Chicken Scheme, I could cast all of EFX (the core, the CMS library and Storybot) into one big (concurrency-oriented) scheme executable. That would make deployment dead simple.
But, Unix is still very appealing with the "use the right tool for the right job" system building approach.
Bell labs or MIT?
Permalink | Monday, February 20 9:02 PM
If the recent posts in this blog sounds too much like navel gazing, I am not just conducting an extended internal dialog, I am caught up in the idea of Unix as a Programming Language. So, on the one hand I feel compelled to recast Storybot in a single monolithic language, and on the other I am interested to see how far you can go with taking the unix tool approach.
Permalink | Saturday, February 11 8:08 PM
If you've stumbled upon this blog you may wonder why someone would post such yawn inducing content. After all, most of what is here is ramblings about a product under development and has yet to have a release.
Well, this blog is probably more for me than you. It's a place where I house my development journal. These ramblings are meant to be historical. Not that I'm making history here. But, I do want a decent way to remember what I've done in the past. Oh, what a waste of web. And, google indexes this blog to.
I've decided to try Chicken Scheme as the basis for the releasable Storybot component. Storybot, if you are following all of this, is an email conduit into the EFX CMF. It also kicks off the processing and publishing of the website as needed. All of the current Storybot is written in gawk. I intend to replace much of that in Scheme and keep whatever awk stuff that makes sense.
This will all be done incrementally. I've already consolidated most of the pipeline, but this is what I hope to be EFX 2.0:
pop3fetch | storymailprep | storyvalidator | storycmdparser | storyextractor | storysubmitter | efxprocess | sitepublish
Here is the intended implementation breakdown:
There is still a lot of gawk and gawk probably shouldn't be doing pop3, smtp (emailer), and ftp(!), but what I got works and works rather well. It was the stuff I am now casting in Scheme that I was always concerned about. That includes efxprocess, which was in Tcl (and gawk), but by that time I have a parsed tree that needs to be manipulated as symbols. Tcl is doing a fine job, but I am stretching it. I intend to have scheme talk to a Tcl scripting engine (where EFX apps live) via I/O pipes.
For the future, I would like to see everything, but the EFX apps (and extension language which will still be Tcl), in Scheme.
Permalink | Monday, February 06 2:11 PM