Skip to content
Bruce Mitchener edited this page Jan 5, 2014 · 2 revisions

Goo package/source layout. Because you always wanted to know. This is very partial thus far.

  • /
    • cols/ - non-core collection classes.
      • assoc.goo -
      • priority-queue.goo -
      • pipe.goo - thread-safe magic pipe
    • demos/ - Sample applications.
    • eval/
      • ast-eval.goo -
      • ast-linearize.goo -
      • ast-print.goo -
      • ast.goo -
      • decision.trees.goo -
      • dependency.goo -
      • g2c.goo -
      • g2m.goo -
      • main.goo -
      • optimize.goo -
      • syntax.goo -
      • top.goo -
      • typist.goo -
    • extras/ - I don't know
    • goo.goo - exports the core language features. it's expected that you'll use this, unless you've renamed the special forms or invented your own.
    • goo/
      • app.goo - source for napp
      • boot.goo - Bootstrapping code.
      • cols.goo - Aggregator for all of the collection modules.
      • cols/
        • col.goo - <col>, <col.> and related methods
        • colx.goo - methods on <col!>
        • cycle.goo - <cycle> and related methods
        • flat.goo - <flat> and related methods
        • lst.goo - <lst> / <list> and related methods
        • map.goo - <map> inteface defined. (that's it)
        • opts.goo - <opts> and related methods
        • range.goo - <range> and related methods
        • rep.goo - <rep> and related methods
        • seq.goo - <seq>, <seq.> and related methods
        • seqx.goo - methods on <seq!>
        • step.goo - <step>, <each> and related methods
        • str.goo - string methods
        • tab.goo - <tab>, <set>, and related methods. (actual map implementation)
        • tup.goo - bare-bones tup support
        • vec.goo - <vec> and related methods
        • zip.goo -
      • eval.goo -
      • io/
        • %net.c - C back-end support for network streams.
        • net.goo - Network stream abstraction. Outgoing only currently. (Soon to be fixed)
        • port.goo -
        • read.goo -
        • write.goo -
      • macros.goo -
      • mag.goo -
      • math.goo -
      • packer.goo -
      • random.goo -
      • runtime.goo -
      • system.goo -
      • types.goo -
      • user.goo
    • gui/ - ignore this, it's from beatbox
    • interpreters/ - dunno
    • music/ - not me
    • nest/ - another one of our projects
    • samurui/ - SamurUI, the great and powerful GUI layer.
    • tests/ - Quasi-ok unit tests.
    • time/ - Thread support mainly
      • %event.c -
      • %lock.c -
      • %threads.c -
      • event.c -
      • event.goo -
      • lock.goo -
      • threads.goo -
      • timer.c -
      • timer.goo -
Clone this wiki locally