Lessons

Nim · Medium

Nim · Medium. Ten lessons. Open-book quizzes. Lesson 1 free.

10 lessons · The Host · Lesson 1 free

Pass all ten lessons for the certificate. Sample · Claim

  1. Templates

    Lesson 1 · On the house

    Templates

    Code substitution with template, untyped parameters, hygiene, and when to use them.

  2. Macro basics

    Lesson 2

    Macro basics

    Inspect syntax with dumpTree, generate code with quote do, and macros that take untyped arguments.

  3. Object variants

    Lesson 3

    Object variants

    Tagged unions with case objects, exhaustive handling, and field access checks.

  4. Closures and proc types

    Lesson 4

    Closures and proc types

    First-class procs, closure capture, proc type annotations, and the sugar => / -> syntax.

  5. Memory: ARC, ORC, and move semantics

    Lesson 5

    Memory: ARC, ORC, and move semantics

    Deterministic reference counting, cycle collection, sink and lent, and avoiding copies.

  6. Compile-time execution

    Lesson 6

    Compile-time execution

    const procs, static blocks, when, static parameters, and lookup tables built at compile time.

  7. Concepts

    Lesson 7

    Concepts

    Structural type constraints with concept, and generic procs that accept any matching type.

  8. async and await

    Lesson 8

    async and await

    std/asyncdispatch: async procs, Future, await, all, sleepAsync, and waitFor.

  9. Threads and channels

    Lesson 9

    Threads and channels

    std/typedthreads, createThread, joinThreads, Channel for messaging, and Lock for shared state.

  10. JSON

    Lesson 10

    JSON

    std/json: parseJson, field access, to/% for object conversion, and pretty printing.

Sample certificate

Certificate of completion

Sign in to claim your certificate of completion.

Certificate

Finish all ten lessons, then sign in

Pass every lesson on this device (quizzes and checks). Then sign in or create an account to type your name and download the JPG.

All lessons