-
Notifications
You must be signed in to change notification settings - Fork 4
Home
tim-hardcastle edited this page Dec 4, 2025
·
23 revisions
This wiki documents the Pipefish programming language. At present, it is also the best resource for learning Pipefish; however, its sections are grouped thematically, rather than in the order of a tutorial: that is, after the introductory section we look at the type system all in one go, then functional Pipefish, then imperative Pipefish, and then all the standard libraries. A little advanced material is saved for the end. Whereas to learn the language you would prefer to absorb a little of the type system, a little functional Pipefish, a little imperative Pipefish, one or two of the standard libraries, and so on round again.
- 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 crypto/aes library
- The crypto/bcrypt library
- The crypto/rand library
- The crypto/rsa library
- The crypto/sha_256 library
- The crypto/sha_512 library
- The database/sql library
- The encoding/base_32 library
- The encoding/base_64 library
- The encoding/csv library
- The encoding/json library
- The files library
- The fmt library
- The html library
- The image library
- The image/bmp library
- The image/color library
- The image/jpeg library
- The image/png library
- The lists library
- The markdown library
- The math library
- The math/big library
- The math/cmplx library
- The math/rand library
- The net/http library
- The net/mail library
- The net/smtp library
- The net/url library
- The os/exec library
- The path library
- The path/filepath library
- The reflect library
- The regexp library
- The strconv library
- The strings library
- The terminal library
- The time library
- The unicode library
- Advanced Pipefish
- Developing in Pipefish
- Deployment
- Appendices