// docs / Language
It is not Rust
Some of the syntax is familiar. The crab is not coming.
VCWL looks like Rust. It is not Rust. There is no borrow checker, no lifetimes, no unsafe, and no crab. Writing Rust in a .vcwl file gets you a diagnostic, not a compiler.
Rust on the left, VCWL on the right
vcwl
println!("hi") -> print("hi")
let mut n = 0 -> var n = 0
std::fmt::Display -> std.fmt.Display (paths use `.`)
&x, &mut x -> x (no references)
x.unwrap() -> x.unwrap_or(d), match, or `x?`
Vec<T> -> [T]
Option<T> -> T?
pub fn f() -> export fn f()
use a::b; -> import "./b.vcwl"
#[derive(Debug)] -> (nothing)
fn f<'a>(s: &'a str) -> fn f(s: String)
What the compiler says
When a file fails to parse and contains Rust-isms (println!, ::, &, let mut, #[derive], .unwrap(), Vec<, pub fn, use, lifetimes), the error says so and gives the VCWL spelling. An entry file ending in .rs is refused outright.