-
Notifications
You must be signed in to change notification settings - Fork 6
Home
tim-hardcastle edited this page Dec 4, 2025
·
20 revisions
This wiki documents the Pipefish programming language. Its sections are grouped thematically, rather than in the order of a tutorial: that is, all the information about the type system goes in one section, all the information about tooling goes in another, etc; whereas to learn the language you would prefer to absorb a little of the type system, a little functional Pipefish, a little of the tooling, one of the standard libraries, and so on round again.
However, this document is at present the best resource for learning Pipefish, and we hope that by reading it selectively and out of order the interested beginner will find it sufficient.
- Pipefish: a high-level view. This explains the goals and design principles of the language.
- Style guide. This gives best practices for the style in which one should write Pipefish code.
- Functional core, imperative shell. A synopsis of the language paradigm.
- The whys of Pipefish. This explains the reasoning behind some lower-level design choices which are sufficiently unusual as to need explanation.
🧿 Pipefish is distributed under the MIT license. Please steal my code and ideas.
- Getting started
- Language basics
- The type system and built-in functions
- Functional Pipefish
- Encapsulation
- Imperative Pipefish
-
Imports and libraries
- The files library
- The fmt library
- The html library
- The math library
- The math/big library
- The math/cmplx library
- The math/rand library
- The path library
- The path/filepath library
- The reflect library
- The regexp library
- The sql library
- The strings library
- The terminal library
- The time library
- The unicode library
- Advanced Pipefish
- Developing in Pipefish
- Deployment
- Appendices