An ngn/k tutorial.
- Website: https://razetime.github.io/ngn-k-tutorial
- PDF: https://razetime.github.io/ngn-k-tutorial/ngn_k_tutorial.pdf
- EPUB: https://razetime.github.io/ngn-k-tutorial/ngn_k_tutorial.epub
This tutorial assumes you have some beginner programming knowledge, and a basic understanding of what arrays are.
The progression will start from explaining basic primitives, and move on to bigger concepts. The final few chapters will implement full programs in K, step by step.
Each part of this tutorial covering the basics will have Vocabulary
and Exercise
(pending) sections at the end. I suggest getting familiar with the vocabulary
and doing the exercises in each part before moving on the next lesson.
If you are feeling stuck with the tutorial's content or exercises, please come to the ngn/k room on matrix (recommended), the APL farm, or just open an issue here.
If you would like to check your exercise solutions with mine, you can check the code
folder.
Currently, the main introduction to ngn/k is complete. All major verbs and adverbs are covered.
Planned Chapters (subject to change):
- Tables and files in ngn/k
- Embedding K on the web
- Basics of
libk.so
FFI - FFI: stream based I/O
- FFI: making web requests, using sockets
- FFI: communicating with IRC
- FFI: making a GUI application
- using K from Python
- ngn many tidbits and useful knowledge on the workings of ngn/k
- @chrispsn, @Traws, @ColTim for ideas on the Prelude chapter, and primitive implementations
- @HoosierEE for help with proofreading and many useful edits
- @DiscoDoug for a lot of help with writing the sudoku chapter
- /u/mandus for reminding me that I had exercises on this tutorial
- @DestyNova for setting up the workflows required for the website, epub and pdf.