teach-orca

Use the Orca programming language to teach programming

View project on GitHub

Orca - a two dimensional esoteric programming language

Original archive is here https://github.com/hundredrabbits/Orca.

I have replaced some of the command definitions with simpler ones and defined each command separately. My changes/updates are marked with an :asterisk:. Original definitions are linked at the end of that line.

commands

  • A add(a b):Outputs sum of inputs
  • B subtract(a b):Outputs difference of inputs
  • C clock(rate mod):Outputs modulo of frame. Defaults rate=1, modulo=8
  • D delay (rate mod):asterisk: Bangs on modulo of frame :asterisk: Original definition
  • E east:Moves eastward or bangs:asterisk: - also see cardinals.orca
  • F if(a b):Bangs if inputs are equal
  • G generator(x y len):Writes operands with offset
  • H halt Halts southward operand
  • I increment(step mod): Increments southward operand by step
  • J jumper(val): Outputs northward operand to the south :asterisk: Original definition
  • K koncat(len): Reads multiple variables
  • L less(a b):Outputs smallest of inputs
  • M multiply(a b):Outputs product of inputs :asterisk:
  • N north:Moves Northward or bangs :asterisk: - also see cardinals.orca
  • O read(xy read):Reads operand with offset :asterisk:
  • P push(len *key val):Writes eastward operator :asterisk:
  • Q query(x y len):Reads operands with offset :asterisk:
  • R random(min max):Outputs random value :asterisk:
  • S south:Moves southward or bangs :asterisk: - also see cardinals.orca
  • T track(key len val):Reads eastward operand :asterisk:
  • U uclid(step max): Bangs on Euclidean rhythm :asterisk: Original definition
  • V variable(write read):Reads and writes variables
  • W west:Moves westward or bangs :asterisk: - also see cardinals.orca
  • X write(x y val):Writes operand with offset :asterisk:
  • Y jymper(val):Outputs westward operand to the east :asterisk:
  • Z lerp(rate target):Fades input to output at rate
  • * bang: Bangs neighboring operands
  • # comment: Halts a line

sending notes

  • midi: Sending notes to a software or hardware MIDI device
  • osc: Sending notes using Open Sound Control (OSC)
  • udp: Sending notes over a network with UDP

orca-examples

  • basics: Command definitions on the main Orca site
  • benchmarks: Examples of categorized commands in context
  • misc: Various examples of Orca coding technique
  • setups: Examples of techniques for sending data
  • tutorial: Interactive Orca tutorial using Orca code Instructions