Overview
Syllabus
Intro
Hello echo "Hello World" # code
Discriminated Unions - Variants
Effect system - transitive
Distinct types - 'strong typedefs
What is an AST(Abstract Syntax Tree)
Meta-programming in Nim
Templates 2
Templates - pattern matching constructs
Dumping the AST of a code block
Macros - the explicit interface (low-level)
Getting the code to construct a code block
Executing the output from dumpAsten
quote doi' expressions - less verbose
HTML DSL (Domain Specific Language)
Protobuf implementation no external tool
What meta-programming gives us
Feature dump (Incomplete)
Nim compilation & runtime model
Nim procs to C/C++ (simplified)
Nim types to C/C++ (simplified)
Nim compilation to C/C++. a BIG win
Interfacing with C/C++
Nim's GC-time & memory use
Runtime - small binaries
Jester - a Sinatra-like web framework
On C++...
Clean slate - the C++ successor is here
Rust & Nim
Why programming languages matter and languages are
Popularity based on GitHub stars - Rust
Final Final thoughts
Taught by
code::dive conference