GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — cuffscript/docs at main · cuffscript/cuffscript

Expand file tree

/

docs

/
Copy path

Directory actions

More options

More options

Directory actions

More options

More options

Latest commit

 

History

History
History
/

docs

/
Copy path

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
contributing
contributing
 
 
guide
guide
 
 
internals
internals
 
 
reference
reference
 
 
CHANGELOG.md
CHANGELOG.md
 
 
README.md
README.md
 
 

README.md

Outline

CuffScript documentation

The documentation is organised by what you are trying to do. If you are new, start with Getting started.

Guide: learn and do

Page Covers
Installation Building cuffc and cuffsh on Linux, macOS and Windows
Getting started Running a script, your first program, the shell
A tour of the language Every part of the language, with examples that run
Classes and objects Your own kinds of thing: fields, methods, inheritance, with, error objects
Phenomena Behaviour that follows from how the engine works, such as functions being known before the first line: each with a program that shows it
Cookbook Short recipes for common jobs
Text and patterns Finding and changing text by shape
Errors and debugging Reading an error report, or_else, the common errors, finding a bug
Modules Splitting a program into files, and the sandbox
Embedding the engine Using CuffScript from a C++ program, and in the browser
FAQ The questions beginners ask first

Reference: look it up

Page Covers
Language reference The language, defined
Classes and objects Classes, objects, inheritance, with and error objects, defined
Grammar What the parser accepts: statements, expressions, tokens and patterns
Pattern syntax The pattern language
Libraries One page per use DLC:... library
Built-in functions, function index What is always available, and every function in one list
cuffc, cuffsh The script runner and the interactive shell
C++ API CuffEngine, Session, options and error reports
Error catalogue Every error code, with an example and a fix
Limits Every limit and the error it raises
Known limitations What the language does not do, and what surprises people
Glossary The words these pages use

Internals: how it works

Page Covers
Architecture The pipeline, the folders and the front ends
How it works What the engine does while a program runs: collecting, scopes, calls, sharing, loops, errors, the async queue
Source map Which file does what
Source locations and error reports How an error finds its line
The error model What an error is, and who catches it
Resource limits Stack, recursion and memory safety
The shell's architecture How cuffsh is built
Design notes The history of individual decisions

Contributing

Page Covers
Contributing Reporting bugs, proposing features, pull requests
Building Targets, options, compilers, platforms
Testing The suites, adding a test, sanitizers
Continuous integration What each workflow checks and how to reproduce it
Extending the engine Adding a function, a statement, an error, a token
Documentation How these pages are kept true
Code style Conventions
Releasing Versioning, the changelog and publishing

The project

Changelog · Security policy · Getting help · Code of conduct · License · Runnable examples

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.