packages feed

atomo-0.2: prelude/block.atomo

(b: Block) repeat :=
  { b in-context call
    b repeat
  } call

(b: Block) in-context :=
  b clone do:
    { call := b context join: b
      call: vs := b context join: b with: vs
    }

(a: Block) .. (b: Block) :=
  Block new: (a contents .. b contents) in: sender

(start: Integer) to: (end: Integer) by: (diff: Integer) do: b :=
  (start to: end by: diff) each: b

(start: Integer) up-to: (end: Integer) do: b :=
  start to: end by: 1 do: b

(start: Integer) down-to: (end: Integer) do: b :=
  start to: end by: -1 do: b

(n: Integer) times: (b: Block) :=
  1 up-to: n do: b in-context