chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Choosing a programming language for a web project


From: F. Wittenberger
Subject: Re: [Chicken-users] Choosing a programming language for a web project
Date: Thu, 04 Oct 2007 02:41:20 +0200

Am Dienstag, den 02.10.2007, 23:42 +0200 schrieb Benedikt Rosenau:
> On Tue, Oct 02, 2007 at 10:33:42AM +0200, Joerg F. Wittenberger wrote:
> 
> > All of you, who are interested in Scheme (web) application frameworks
> > might want to have a look at www.askemos.org
> 
> Actually, Askemos is one of the most interesting concepts I
> heard of in that field. A distributed encoded filesystem is
> just one of its many uses.
> 
> A robust, quick working implementation (Chicken sounds fine),
> would be good for all parties. So, what can be done?
>    Benedikt

State of development: Peter Hochgemuth <address@hidden>
is currently working on making things easy to get started.  He did
debian packages and BSD ports for RScheme and Askemos these days.
Expect them on the Askemos web site soon.  I'll drop a note on this list
(since I'm seeing some more interest).

What can be done?  (Sorry for the following topic jumping.)

First note: RScheme's way is quite similar to chicken wrt. user level
threads.  The FFI is similar, though chicken is much more advanced in
that respect.  No show stoppers to be expected.

Askemos has been developed in a very practical manner.  It's basics run
since years, with incremental improvements being made and rolled out
into the working network, while other programmers where actively using
it at the application level.  So things always work, otherwise my phone
rings right away.

There's a lot of code from other projects being reused (and most often
fixed along the way (sxpath and lalr come to mind; both fixed, but the
fixes, even though reported upstream, did not yet make it into the
source distributions).  So, while it would be great to just use eggs,
it's sometimes unlikely they will easily work.

For other parts (SRFI's, TCP, DNS) it's a matter of getting the imports
straight.  (And don't try to get away with blocking calls, e.g., DNS for
instance, it's going to kill it.)

We wrote mysql, postgresql, sqlite3, pcre, libmagic, iconv, openssl, XML
serialising and maybe even more FFI code for RScheme.  I'd like to see
at least mysql and postgresql transformed into cond-expand/compile time
options.  The others need to be rewritten for chicken (as I said, it's
similar but nevertheless needs to be rewritten).  The pattern is there,
this is just a matter of boring man power.

Most parts have been ported to Chicken before (long ago), there's a
tarball at the web site, to be unpacked within the RScheme source tree.
That chicken port used to deliver web pages before.  But I seriously
doubt it will still compile.

Furthermore I recall exactly one spot, where a finalizer in RScheme
style has been used and not yet moved into the RScheme specific code
section.  This is a none-issue, which needs to get solved too.

The RScheme build is screwed and so is Askemos's.  I believe Peter did a
nice job in cleaning it up, but I'm afraid there's more to be done.

For the most part, getting it to build will be the job of the day.  (For
simplicity Askemos compiles into a [huge] statically linked binary right
now.  This ought to be changed as well.)

Nevertheless I'm not keen to abandon the RScheme compatibility until the
Chicken version works reliably.  No, not even then.  The Askemos concept
wants to be platform independent at all cost.  [[[That is, if there's
ever a vulnerability found in underlying systems (e.g., Linux, BSD, AIX,
the compiler etc.), we accept the risk to loose exactly those machines,
which use that stack, while other hosts running other stacks will
continue to provide service.  Therefore I'd like to have something like
BSD+Chicken, Linux+Chicken, BSD+RScheme...  Actually I'm sad, that I
don't have a Haskell implementation of the Askemos/BALL code to back up
our code - yet.  (Well, Prof. Hans-Gert Gräbe; Univertity Leipzig
expressed interest to put students behind just that one ;-)  But I'm
afraid that's going to take a huge while.]]]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]