Localized V2 rewrite for this language is in progress. Showing English-first content for now.

IO

Console και filesystem I/O, με παρακολούθηση μέσω του effect `IO`.

IO

Το effect IO αντιπροσωπεύει αλληλεπιδράσεις με τον έξω κόσμο: output στην κονσόλα, ανάγνωση input, πρόσβαση σε αρχεία κ.λπ.

Console Output

fn main() with IO {
    print("Hello, ")
    println("Sounio!")
}

Reading Input

Το read_line() επιστρέφει string:

fn main() with IO {
    println("Enter your name:")
    let name = read_line()
    print("Hi, ")
    println(name)
}

Effect Enforcement

Αν μια συνάρτηση απαιτεί IO, οι callers πρέπει επίσης να δηλώσουν with IO (ή να το propagate/handle).

Αυτό αποτυγχάνει:

fn read_file(path: string) -> string with IO {
    ""
}

fn main() {
    let _ = read_file("test.txt")  // ERROR: IO not declared
}

Και αυτή είναι η διόρθωση:

fn read_file(path: string) -> string with IO {
    ""
}

fn main() with IO {
    let _ = read_file("test.txt")
}

Επόμενο