タグ

SchemeとRacketに関するigrepのブックマーク (2)

  • 限定継続いろいろ | 雑記帳

    このブログでは限定継続について過去に何回か記事を書きました: LunarMLと継続限定継続と例外とモナド 今回、LunarML向けのVMに限定継続を実装してみて理解が深まったので、改めて記事にします。 限定継続:スタックを使ったざっくりとした説明 今回はスタックを使って限定継続をざっくりと説明してみます。 関数という概念を持つプログラミング言語では、スタックを使って関数の呼び出しを管理することが多いです。コールスタックとか、スタックのバックトレースとか言いますよね。ここではネイティブのスタックか仮想マシンのスタックかというのは問いません。 関数を呼び出すと、フレームと呼ばれる領域がスタックに確保されて、関数への引数やローカル変数はそこに確保されたりします。 例えば、以下のプログラムを考えます: void g() { // すごい計算 } void f() { double j; g();

    igrep
    igrep 2022/10/30
    LunarML, Wasm stack-switching proposalを試しに実装するのに良さそう(どっちも詳細詳しくないので知らんけど)
  • Racket

    #lang racket/gui (define my-language 'English) (define translations #hash([Chinese . "你好 世界"] [English . "Hello world"] [French . "Bonjour le monde"] [German . "Hallo Welt"] [Greek . "Γειά σου, κόσμε"] [Portuguese . "Olá mundo"] [Spanish . "Hola mundo"] [Thai . "สวัสดีชาวโลก"] [Turkish . "Merhaba Dünya"])) (define my-hello-world (hash-ref translations my-language "hello world")) (message-box "" my

    igrep
    igrep 2015/05/05
    ほんまいろいろつくるなぁ
  • 1