-
Notifications
You must be signed in to change notification settings - Fork 4
Livecoding
"Livecoding" means that when you talk to a Pipefish service in the REPL, if its source code has been changed since last you interacted with it, the service will automatically be re-initialized with the new code. (This also works if you change an import, or an import of an import, etc, or the code of another Pipefish service on which your service depends.)
So if you also have autosave turned on in your editor (as we strongly recommend), then changes in your code will propagate through to the service without you needing to do anything. Try it out! If you're still running the service from the previous section, change Hello to Goodbye in the script, and then in the REPL we get:
#0 → greet
What's your name? Horace
Goodbye Horace!
#0 →
Livecoding can be turned on and off with hub live on and hub live off.
Between the REPL and livecoding, it is very easy to just casually mess around with Pipefish and we recommend that you do so as you follow through this manual.
🧿 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