javascript で the Arc Challenge をやってみた。

YUI の Browser History Manager を使います。

  • test まずはYUIを動かしてみる。ブラウザのバックボタンが動いて、まるでページ遷移があったかのように見えます。
  • said javascript で the Arc Challenge を単純にやってみた。
  • said2 Arc での解に少しでも近づこうと、いろいろ抽象化してみた。javascriptには継続はないので、CPSです。showでページ遷移、contで継続をリンクやボタンに仕込みます。
  function q0() {return {x: $F("said")}};
  show(INPUT({type:"text",id:"said"}),BUTTON({id:"button"},"submit")); 
  $("button").onclick = cont(q0,function(query) {    
    var said = query["x"];
    show(A({id: "a", href:"javascript:void(0)"},"click here")); 
    $("a").onclick = cont(null,function(query) {
      show(SPAN("you said " + said))})});
  • イメージではこう書きたい。でもjavascriptには継続がない。
 var said = show(INPUT({type:"text",id:"said"}),BUTTON("submit")),return $F("said")); 
 show(A({href:"javascript:void(0)"},"click here"));
 show(SPAN("you said " + said));