style: auto-format example files with lux fmt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-17 06:52:44 -05:00
parent 8c90d5a8dc
commit 44ea1eebb0
54 changed files with 580 additions and 1483 deletions

View File

@@ -1,14 +1,6 @@
// Factorial - compute n!
fn factorial(n: Int): Int = if n <= 1 then 1 else n * factorial(n - 1)
// Recursive version
fn factorial(n: Int): Int =
if n <= 1 then 1
else n * factorial(n - 1)
// Tail-recursive version (optimized)
fn factorialTail(n: Int, acc: Int): Int =
if n <= 1 then acc
else factorialTail(n - 1, n * acc)
fn factorialTail(n: Int, acc: Int): Int = if n <= 1 then acc else factorialTail(n - 1, n * acc)
fn factorial2(n: Int): Int = factorialTail(n, 1)

View File

@@ -1,22 +1,11 @@
// FizzBuzz - print numbers 1-100, but:
// - multiples of 3: print "Fizz"
// - multiples of 5: print "Buzz"
// - multiples of both: print "FizzBuzz"
fn fizzbuzz(n: Int): String =
if n % 15 == 0 then "FizzBuzz"
else if n % 3 == 0 then "Fizz"
else if n % 5 == 0 then "Buzz"
else toString(n)
fn fizzbuzz(n: Int): String = if n % 15 == 0 then "FizzBuzz" else if n % 3 == 0 then "Fizz" else if n % 5 == 0 then "Buzz" else toString(n)
fn printFizzbuzz(i: Int, max: Int): Unit with {Console} =
if i > max then ()
else {
Console.print(fizzbuzz(i))
printFizzbuzz(i + 1, max)
}
if i > max then () else {
Console.print(fizzbuzz(i))
printFizzbuzz(i + 1, max)
}
fn main(): Unit with {Console} =
printFizzbuzz(1, 100)
fn main(): Unit with {Console} = printFizzbuzz(1, 100)
let output = run main() with {}

View File

@@ -1,42 +1,17 @@
// Number guessing game - demonstrates Random and Console effects
//
// Expected output:
// Welcome to the Guessing Game!
// Target number: 42
// Simulating guesses...
// Guess 50: Too high!
// Guess 25: Too low!
// Guess 37: Too low!
// Guess 43: Too high!
// Guess 40: Too low!
// Guess 41: Too low!
// Guess 42: Correct!
// Found in 7 attempts!
fn checkGuess(guess: Int, secret: Int): String = if guess == secret then "Correct" else if guess < secret then "Too low" else "Too high"
// Game logic - check a guess against the secret
fn checkGuess(guess: Int, secret: Int): String =
if guess == secret then "Correct"
else if guess < secret then "Too low"
else "Too high"
// Binary search simulation to find the number
fn binarySearch(low: Int, high: Int, secret: Int, attempts: Int): Int with {Console} = {
let mid = (low + high) / 2
let mid = low + high / 2
let result = checkGuess(mid, secret)
Console.print("Guess " + toString(mid) + ": " + result + "!")
if result == "Correct" then attempts
else if result == "Too low" then binarySearch(mid + 1, high, secret, attempts + 1)
else binarySearch(low, mid - 1, secret, attempts + 1)
if result == "Correct" then attempts else if result == "Too low" then binarySearch(mid + 1, high, secret, attempts + 1) else binarySearch(low, mid - 1, secret, attempts + 1)
}
fn main(): Unit with {Console} = {
Console.print("Welcome to the Guessing Game!")
// Use a fixed "secret" for reproducible output
let secret = 42
Console.print("Target number: " + toString(secret))
Console.print("Simulating guesses...")
let attempts = binarySearch(1, 100, secret, 1)
Console.print("Found in " + toString(attempts) + " attempts!")
}

View File

@@ -1,7 +1,3 @@
// The classic first program
// Expected output: Hello, World!
fn main(): Unit with {Console} =
Console.print("Hello, World!")
fn main(): Unit with {Console} = Console.print("Hello, World!")
let output = run main() with {}

View File

@@ -1,25 +1,14 @@
// Prime number utilities
fn isPrime(n: Int): Bool = if n < 2 then false else isPrimeHelper(n, 2)
fn isPrime(n: Int): Bool =
if n < 2 then false
else isPrimeHelper(n, 2)
fn isPrimeHelper(n: Int, i: Int): Bool = if i * i > n then true else if n % i == 0 then false else isPrimeHelper(n, i + 1)
fn isPrimeHelper(n: Int, i: Int): Bool =
if i * i > n then true
else if n % i == 0 then false
else isPrimeHelper(n, i + 1)
// Find first n primes
fn findPrimes(count: Int): Unit with {Console} =
findPrimesHelper(2, count)
fn findPrimes(count: Int): Unit with {Console} = findPrimesHelper(2, count)
fn findPrimesHelper(current: Int, remaining: Int): Unit with {Console} =
if remaining <= 0 then ()
else if isPrime(current) then {
Console.print(toString(current))
findPrimesHelper(current + 1, remaining - 1)
}
else findPrimesHelper(current + 1, remaining)
if remaining <= 0 then () else if isPrime(current) then {
Console.print(toString(current))
findPrimesHelper(current + 1, remaining - 1)
} else findPrimesHelper(current + 1, remaining)
fn main(): Unit with {Console} = {
Console.print("First 20 prime numbers:")

View File

@@ -1,6 +1,3 @@
// Standard Library Demo
// Demonstrates the built-in modules: List, String, Option, Math
fn main(): Unit with {Console} = {
Console.print("=== List Operations ===")
let nums = [1, 2, 3, 4, 5]
@@ -11,7 +8,6 @@ fn main(): Unit with {Console} = {
Console.print("Length: " + toString(List.length(nums)))
Console.print("Reversed: " + toString(List.reverse(nums)))
Console.print("Range 1-5: " + toString(List.range(1, 6)))
Console.print("")
Console.print("=== String Operations ===")
let text = " Hello, World! "
@@ -22,7 +18,6 @@ fn main(): Unit with {Console} = {
Console.print("Contains 'World': " + toString(String.contains(text, "World")))
Console.print("Split by comma: " + toString(String.split("a,b,c", ",")))
Console.print("Join with dash: " + String.join(["x", "y", "z"], "-"))
Console.print("")
Console.print("=== Option Operations ===")
let some_val = Some(42)
@@ -31,7 +26,6 @@ fn main(): Unit with {Console} = {
Console.print("None mapped: " + toString(Option.map(none_val, fn(x: Int): Int => x * 2)))
Console.print("Some(42) getOrElse(0): " + toString(Option.getOrElse(some_val, 0)))
Console.print("None getOrElse(0): " + toString(Option.getOrElse(none_val, 0)))
Console.print("")
Console.print("=== Math Operations ===")
Console.print("abs(-5): " + toString(Math.abs(-5)))