struct Vec2 {
    x: Float,
    y: Float,
}

fn magnitude_sq(vx: Float, vy: Float) -> Float {
    vx * vx + vy * vy
}

fn main() {
    let v = Vec2 { x: 3.0, y: 4.0 }
    println("Vector: ({v.x}, {v.y})")

    let mag = magnitude_sq(v.x, v.y)
    println("Magnitude squared: {mag}")

    let mut sum = 0
    for i in 0..100 {
        sum = sum + i
    }
    println("Sum 0..100 = {sum}")

    let mut factorial = 1
    for i in 1..13 {
        factorial = factorial * i
    }
    println("12! = {factorial}")

    let name = "Scyla"
    let version = 1
    println("{name} v{version} — a language for systems that evolve over time")
}
