-- Fred, a tiny wimp program

local wt = require "wimp.task"
local dim in require "riscos"
local fred = wt:spawn "Fred"

do

  local _ENV = fred
  mask = (1<<1)|(3<<4)|(1<<8)|(7<<11)|(7<<17)|(7<<22)
  count = 0
  local ask = "OK - go on? CANCEL - stop? Count = %d."
  local null_event, flags, OK = 0, 23, 1

  handler[null_event] = \ (self)
     count + = 1
     local click = self:report (ask:format (count), flags)
     => click ~= OK
  end -- function

  preclosedown = \ (self)
    self:report (("You reached %d. Goodbye."):format (count))
  end -- function

end -- do

fred:init ( )     -- register fred with task manager
fred:run ( )      -- run fred

