Repository navigation
Home
Code you can read. Speed you can measure. Binaries you can ship.
tiko is a compiled, statically typed programming language for building fast, self-contained programs. Its syntax is built to be read: blocks say what they close, keywords are words, and there is very little punctuation to learn. Underneath it is a systems language: generics, tuples, lambdas, typed errors, channels and direct use of C headers, compiled through LLVM to native code, with no virtual machine and no garbage collector.
| What Is tiko | What the language is, what it targets, and what it does not do |
| Quick Start | Build a toolchain and compile a program |
| Feature Index | Every language feature and library, one line each, with its reference page |
| Function Finder | Every function, grouped by what you want to do, with one line on what each one does |
| FAQ | Short answers to the questions that come up first |
| Goroutines Tutorial | Concurrency from the first spawn to cancellation |
| Interfaces Tutorial | One program written twice, with an abstract base type and with interfaces and classes; then properties, generic interfaces and constraints |
| Packages and Modules Tutorial |
#import the standard library, a C library from vendor with link static or link dynamic, and modules of your own |
| tiko c2t Tutorial | Translate a C library's header with tiko c2t, then use it with #include and #foreignlib
|
| Notepad Tutorial | A Windows text editor from PsControls and PsApp: menus, status bar, Find, unsaved-changes prompt, and a self-test that drives the window |
| Notepad2 Tutorial | The same text editor from tkControls and tkApp, built from one source for Windows, Linux and macOS: SDL3 windows, the same commands, and the same self-test |
The tiko Programming Language is a book for programmers who know another language and are new to tiko. It teaches tiko as a language in its own right, and it is written in the tradition of The Rust Programming Language and K&R: the basics move briskly, and the idioms get room.
It starts with the basics (types, control flow, procedures, arrays and strings), then builds abstractions (types, objects, modules, generics, errors, testing). It goes on to the advanced language (tuples, iterators, lambdas, defer, concurrency), the standard library, and systems programming: C interop with #cinclude, and building and shipping. It ends with three complete projects: a command-line search tool, a concurrent pipeline and a terminal-UI ledger.
Every listing in the book is a real program, compiled and run on Windows, Linux and macOS with its output checked. The book is being written.
- Read it online: tiko-lang.net/book, an mdBook.
- Download the PDF: the-tiko-programming-language.pdf.
tiko by Example teaches the language through short, complete programs, in the style of Rust by Example. Each page is one runnable example followed by the output it printed, plus a few activities to try. Sections run from printing, values and control flow through procedures, types and objects to the standard library, concurrency and calling C. Every example is compiled and run on Windows, Linux and macOS before it is published.
- Read it online: tiko-lang.net/by-example, an mdBook.
Generics · Interfaces · Iterator Protocol · For Each · Tuples · Array Results · Collection Initializers · Defer · Lambdas · Block Strings · Partial Types · Embed · Typed Variadics · UString · Fixed-Width Types · Nullptr · Goroutines and Channels
Collections and algorithms: Array · Map · Set · LinkedList · OrderedMap and OrderedSet · Sorting · Searching · PriorityQueue · Deque · BitSet
Values and text: Optional · Result · SharedPtr and WeakPtr · String Library · Format · Codec · Hash · UUID
System and numbers: Chrono Date and Time · Filesystem Library · File Streams · OS · Process · Net · HTTP and TLS · Config · Math Library · Finance · Logging · Terminal TUI Library
tiko build · C Header Import · Foreign Library Linking · LLVM Backend · TIKO_COMPILER
tiko's syntax comes from the most readable family of languages ever designed for people, and it still compiles FreeBASIC 1.20 code (#lang "fb"). If you are bringing existing code, or you want the precise definition of a keyword, statement or operator, start here:
| Compatibility | What differs, and what is the same |
| All Categories | Every category, including the FreeBASIC manual's |
| Keyword Index | Every keyword and page, A to Z |
The keyword, statement, operator and function pages in this reference are the FreeBASIC 1.20.0 manual, reproduced under the GNU Free Documentation License 1.3. See License.
tiko-lang · Home · Feature Index · Keyword Index · License
FreeBASIC manual pages reproduced under the GNU FDL 1.3.
- Generics
- Interfaces
- For Each
- Iterators
- Tuples
- Array Results
- Defer
- Lambdas
- Block Strings
- Partial Types
- String Slices
- Embed
- Typed Variadics
- C Header Import
- Foreign Library Linking
- UString
- Fixed-Width Types
- Nullptr
- String Library
- Format
- Array
- Map
- Set
- LinkedList
- OrderedMap
- OrderedSet
- Sorting
- Optional
- Result
- Smart Pointers
- Date and Time (Chrono)
- Filesystem
- File Streams
- Config (INI and TOML)
- Codec
- Hash
- UUID
- OS
- Process
- Net
- HTTP and TLS
- Math Library
- Finance
- Logging
- Terminal TUI Library
- PsControls
- tkControls
- sys/win
- Goroutines and Channels
- LLVM Backend
- tiko build
- TIKO_COMPILER
- Variable Declarations
- Standard Data Types
- User Defined Types
- Procedures
- Operators
- Control Flow Statements
- Converting Data Types
- Array Functions
- String Functions
- Mathematical Functions
- Bit Manipulation
- Date and Time Functions
- File I/O Functions
- Console Functions
- User Input (Runtime Library)
- User Input Functions (Graphics Library)
- Screen Functions
- 2D Drawing Functions
- Graphics Library Reference
- Graphics Keyword List
- Memory Functions
- Threading Support Functions
- Error Handling Functions
- Operating System Functions
- Preprocessor
- Intrinsic Defines
- Miscellaneous Keywords
- Modularizing