normalize-languages 0.3.2

Tree-sitter language support and dynamic grammar loading
Documentation
import Foundation
import Swift

struct Point {
    let x: Double
    let y: Double

    func distanceTo(_ other: Point) -> Double {
        let dx = x - other.x
        let dy = y - other.y
        return (dx * dx + dy * dy).squareRoot()
    }
}

class Stack<T> {
    private var items: [T] = []

    func push(_ item: T) {
        items.append(item)
    }

    func pop() -> T? {
        if items.isEmpty {
            return nil
        }
        return items.removeLast()
    }

    func peek() -> T? {
        return items.last
    }

    var isEmpty: Bool {
        return items.isEmpty
    }

    var count: Int {
        return items.count
    }
}

/// Classify a number as negative, zero, or positive.
@discardableResult
func classify(_ n: Int) -> String {
    if n < 0 {
        return "negative"
    } else if n == 0 {
        return "zero"
    } else {
        return "positive"
    }
}

func sumEvens(_ numbers: [Int]) -> Int {
    var total = 0
    for n in numbers {
        if n % 2 == 0 {
            total += n
        }
    }
    return total
}

let stack = Stack<Int>()
stack.push(10)
stack.push(20)
print(stack.pop() ?? 0)
print(classify(-5))
print(sumEvens([1, 2, 3, 4, 5]))