fn countLines(content: String): Int = {
    let lines = String.split(content, "
")
    List.length(lines)
}

fn countWords(content: String): Int = {
    let words = String.split(content, " ")
    List.length(List.filter(words, fn(w: String): Bool => String.length(w) > 0))
}

fn analyzeFile(path: String): Unit with {File, Console} = {
    Console.print("Analyzing file: " + path)
    if File.exists(path) then {
    let content = File.read(path)
    let lines = countLines(content)
    let words = countWords(content)
    let chars = String.length(content)
    Console.print("  Lines: " + toString(lines))
    Console.print("  Words: " + toString(words))
    Console.print("  Chars: " + toString(chars))
} else {
    Console.print("  Error: File not found!")
}
}

fn main(): Unit with {File, Console} = {
    Console.print("=== Lux File Analyzer ===")
    Console.print("")
    analyzeFile("examples/file_io.lux")
    Console.print("")
    analyzeFile("examples/hello.lux")
    Console.print("")
    let report = "File analysis complete.
Analyzed 2 files."
    File.write("/tmp/lux_report.txt", report)
    Console.print("Report written to /tmp/lux_report.txt")
}

let result = run main() with {}
