The Ginger Programming Language Project¶
Ginger is a programming language that is easy to learn, quick to get results and is suitable for a really wide range of projects - from the small, off-the-cuff scripts to large scale team projects. We hope it will become your other programming language; the one you use when you want to have fun or really get things done; the one that no one has to pay you to use.
Ginger is still in development though, so maybe you would like to join in and help as a tester or a developer. We have a lot to do!
The aim of the Ginger Project is not just to create the Ginger programming language but also its ecosystem of libraries, documentation and supporting tools.
Introduction and Getting Started¶
Learn to Program in Ginger using the Common Syntax¶
Random Topics¶
Help Topics¶
- Serving Web Pages: CGI Integration
- div and mod: Built-in functions
- Dynamically Create New Virtual Machines
- Elements
- First Class Functions
- Garbage Collection with Weak References, Maps and O/S Resource Finalisation
- Implicit Forcing - Explicitly Defined Laziness
- Function Expressions, aka Lamba Expressions
- Lists in Ginger
- Maths Functions in Ginger
- Pervasive Multiple Values
- Packages and Imports
- Pattern Matching
- print, println & stringPrint: Built-in functions
- Dynamic Strings, Lists, Vectors, Elements and Maps
- Immutable Strings, Lists, Vectors, Elements and Maps
- Updateable Strings, Lists, Vectors, Elements and Maps
- The Rationale for Ginger’s Element Syntax
- Record Classes
- Tech Note on Shallow Immutability
- Strings
- Calling Built-in (a.k.a. System) Functions: SysApp
- The Ginger Toolchain
- An Introduction to Transreal Numbers
- Type Checking in Ginger
- Unary +
- Vector Classes
- Vectors
- Concatenation Operator: ++ (TODO)
- Symbols
- absent
- System Function: copy
- System Function: isDynamicObject
- System Function: isImmutableObject
- System Function: isUpdateableObject
- System Function: length
- showMe: built-in function