[plt-scheme] web programming, continuation, CPS transform, etc.

From: Shriram Krishnamurthi (sk at cs.brown.edu)
Date: Thu May 3 07:48:20 EDT 2007

> > > Why would you expect PLT to use CPS?  Virtually no modern compiler
> > > does.
> It's just me being ignorant of compilers internals in general - thanks for
> the tip.

Read the ANF paper that Matthias pointed to earlier.

> Thanks - hopefully Jay would be feeling inclined to share ;)


> Thanks for the link - I didn't know the term is tierless - not sure if I
> like the name...  ;)

Doesn't matter whether you like the name!  The issue is that there is
an interesting concept here; I think there is merit to the concept in
an old world (circa 2000), but I don't believe it makes sense in
today's world of easy access to several useful, open services.  I'm
happy to debate that.

> In a way I thought this is what your research topic #3 would be, given your
> interest in "competing" with RoR so to speak.  Perhaps we are not thinking
> the same thing?

It is the same thing.  Given that you know what's going to be on the
client and what on the server, how do you produce each part?  For the
client, I recommend Flapjax.  For the server, we are working on this
RoR competitor.

> Your description of tierless is basically a higher level compiler/translator
> that compiles code into the multiple tiers, and RoR or any other framework
> all do that to various extent (I wouldn't really classify any of these as
> languages though... maybe you are talking about other languages instead of
> RoR/equivalents) - or am I missing something?

That's what "tierless" means.  You write a single program that gets
compiled into several different languages running in different places,
such as SQL on the db, Java on the server, JS on the client.  But in
practice this "single language" is not so single after all: you often
still have to annotate what lives where, you may have slightly
different APIs depending on location, and you often have to write the
db access code in a very stylized way so that the compiler to SQL can
produce good SQL code from it.

Geoff Knauth asked:

> > > http://flapjax.blogspot.com/2007/02/tierless-tieranny.html
>  > So where does Flapjax sit? We do provide one for data storage
> one what?

One Web service, ie, a built-in persistent store which we host for
you.  We don't expect this to be a long-term solution so much as a
useful way of prototyping your application to get off the ground,
until you're ready to create your own private persistent back-end.


Posted on the users mailing list.