packages feed

hiccup-0.40: include.tcl

proc apply { fun args } {
  set len [llength $fun]
  if { [|| [< $len 2] [> $len 3]] } {
    error "can't interpret \"$fun\" as anonymous funtion"
  }

  lassign $fun argList body ns
}

proc decr v {
  upvar $v loc
  incr loc -1
}

proc range {a b {step 1}} {
  set res [list]
  for {set i $a} { <= $i $b } { incr i $step } {
    lappend res $i
  }
  return $res
}

proc sum lst { 
  set res 0
  foreach i $lst {
    incr res $i
  }
  return $res
}