IronSchemeで遊ぶ。

 「プログラミングGauche」が面白くて勉強ブログさぼり気味。気分転換に IronScheme をいじってみる。
 System.WIndows.Forms でウィンドウ表示。ほぼ example で付いてきたコードそのまま。

(import (rnrs) (ironscheme clr))

(clr-reference System.Windows.Forms)
(clr-using system.windows.forms)

(define (make-form) (clr-new form))

(define (form-show form) (clr-call form show form))

(define (application-run form)
  (clr-static-call application run (clr-cast form form)))

(define (form-click-add! form proc)
  (clr-event-add! form click form proc))

(define (application-exit)
  (clr-static-call application exit))

(define (main)
  (define f (make-form))
  (form-click-add! f (lambda (s a) (application-exit)))
  (application-run f))

(main)

 起動がめちゃ遅いのはアレですが、面白い。ただ、シェルプログラムの IronScheme.Console.exe が微妙です。実行するとコードページが U.S. になってしまうのなんとかしてほしいな。
 .Net だからユニコードは通るはずだけど、文字列リテラルに普通に日本語書くとエラーになります。Encoding まわりのクラスを明示的に使えばなんとかなるんでしょうかね。