これは圏です(はてな使ったら負けだとおもっていた)

きっと何者にもなれないつぎの読者につづく。

Io でももっとおk

sumimさんをびびらせてしまったので、お詫びに(?)対抗して本当に大丈夫なようにしてみた。

一部動かなかったので修正。

Io> 100の平方根の逆数を表示する
0.1==> 0.1
Io> 100の平方根のな逆数をな表示すんねん
0.1==> 0.1
Io> 100の平方根の逆数を表示するでごわす
0.1==> 0.1
Io> 100でごわす
100==> 100
Io>帰るでごわす。
火 03 04 hiromi@Macintosh ~/prog/io
$

こんな感じのソースでごわす。

Number do (
  平方根   := getSlot("sqrt")
  逆数     := method( 1 / self)
)


帰る := getSlot("exit")

Object do(
  表示 := method( self print )
)

forward := method(
  orig := call message name asUTF8
  spls := list("のな", "の", "をな", "を", "でごわす", "する", "すんねん", "。") map(asUTF8)
  l := orig performWithArgList("splitNoEmpties", spls)
  if(l isEmpty,
    self,
    doString(l join(" "))
  )
)