gcl
latest
  • Introduction
  • Language Basics
  • Scoping rules and their consequences
  • Using GCL files from Python
  • Command Line Tools
  • Schemas
  • Generating library documentation
  • Functions in GCL
  • Syntax Highlighting
  • Why should I care about GCL?
  • Expressive Power
gcl
  • Docs »
  • Welcome to gcl’s documentation!
  • Edit on GitHub

Welcome to gcl’s documentation!¶

Contents:

  • Introduction
    • Vision
    • Why not use JSON?
    • Alternatives
  • Language Basics
    • Basic syntax
    • Expressions
    • Calling functions
    • Accessing values in tuples
    • Including other files
    • ‘if’ expressions
    • List comprehensions
    • Tuple composition
    • Parameterized tuples
    • Accessing inherited values
    • Identifiers
  • Scoping rules and their consequences
    • Lexical Scope
    • Valueless keys are input parameters
    • The ‘inherit’ keyword
  • Using GCL files from Python
    • Bindings variables from the script
    • Finding nodes by location: GPath
    • Finding nodes by criteria: TupleFinder
    • Thread safety
  • Command Line Tools
    • gcl-print
    • gcl2json
  • Schemas
    • Use cases
    • Specifying a schema
    • Controlling key visibility on exports
  • Generating library documentation
    • Prerequisites
    • Writing doc comments
    • Special documentation tags
    • Generating the documentation
  • Functions in GCL
    • List of standard functions
    • Custom functions
  • Syntax Highlighting
  • Why should I care about GCL?
    • A gentle note of warning
    • Whither JSON?
    • Readability/writability
    • GCL Extensions
    • Principle: don’t repeat yourself!
    • Rule: you can always tell where a variable is coming from
    • Influences on script interpreting GCL models
  • Expressive Power
    • Tuples are functions
    • A more elaborate example
    • Multi-way relations
    • Inner tuples are closures
    • Let’s do something silly
Next

© Copyright 2016, Rico Huijbers. Revision 4e3bccc9.

Built with Sphinx using a theme provided by Read the Docs.