@create Clock=10 &DIGIT_FN Clock=[extract([extract(%0,4,1)],%1,1,:)] &CONVHR_FN Clock=[ifelse(eq(%0,0),twelve,ifelse(lte(%0,12),elements(v(hours),%0),elements(v(hours),sub(%0,12))))] &CONVSEC_FN Clock=[ifelse(eq(%0,0),'o clock,ifelse(eq(%0,10),ten,ifelse(and(gte(%0,11),lte(%0,19)),elements(v(min_teens),sub(%0,10)),ifelse(and(gte(%0,1),lte(%0,9)),oh-[elements(v(min_ones),%0)],ifelse(and(eq(mod(%0,10),0),neq(%0,10)),elements(v(min_tens),sub(div(%0,10),1)),ifelse(neq(mid(%0,0,1),0),[elements(v(min_tens),sub(mid(%0,0,1),1))]-[elements(v(min_ones),mid(%0,1,1))],))))))] &HOURS Clock=one two three four five six seven eight nine ten eleven twelve &MIN_TENS Clock=twenty thirty forty fifty &MIN_TEENS Clock=eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen &MIN_ONES Clock=one two three four five six seven eight nine &M_FN Clock=[ifelse(and(gte(%0,12),lte(%0,5)),in the afternoon,ifelse(and(gt(%0,5),lte(%0,11)),at night,in the morning))] &TIME_FN Clock=[setq(0,time())][u(convhr_fn,[u(digit_fn,%q0,1)])] [u(convsec_fn,[u(digit_fn,%q0,2)])] [u(ampm_fn,[u(digit_fn,%q0,1)])] @Desc Clock=It's a clock....and it tells time...and it talks! Oooh! Coolness! &SAYTIME Clock=^*says*"*What time is it*":say Well, %n, it seems to be [u(time_fn)]. @set Clock=INHERIT @set Clock=MONITOR