Vitte est un nouveau langage de programmation en construction, pensé pour livrer des outils et des petits programmes sans bricolage. Il combine un compilateur, une IR/bytecode et un outil de build (Steel) pour garder un flux simple, fiable et reproductible.
- Écrire du code en Vitte.
- Compiler vers un format interne prêt à exécuter ou à brancher un backend.
- Builder/tester avec Steel.
- Une chaîne complète, pas juste une syntaxe.
- Une base claire et évolutive pour éviter les hacks.
- Une expérience de build et de tests cohérente.
<<<
Application simple complète en Vitte
Structure:
- space
- form
- pick
- procédures
- boucle
- condition
- entry
>>>
space demo/app
<<< =========================
Types
========================= >>>
form User
{
name: string
age: i32
}
pick Status
{
Active
Inactive
}
<<< =========================
Fonctions métier
========================= >>>
proc is_adult(age: i32) gives bool
{
if age >= 18
{
give true
}
otherwise
{
give false
}
}
proc print_user(u: User) gives i32
{
emit "User:"
emit u.name
emit u.age
if is_adult(u.age)
{
emit "Status: Adult"
}
otherwise
{
emit "Status: Minor"
}
give 0
}
<<< =========================
Main
========================= >>>
proc main() gives i32
{
make user = User { name: "Vincent", age: 25 }
make i: i32 = 0
<<< boucle simple >>>
loop while i < 3
{
emit "Iteration:"
emit i
set i = i + 1
}
give print_user(user)
}
<<< =========================
Entry point
========================= >>>
entry at demo/app
{
give main()
}
### Exemple Syntaxe !muf4 pour Steel (steelconf)
```steelconf
!muf 4
;; Exemple complet: bakes build_debug/build_release et sorties ciblees
[workspace]
.set name "example-c"
.set root "."
.set target_dir "target"
.set profile "release"
..
[profile debug]
.set opt 0
.set debug 1
..
[profile release]
.set opt 2
.set debug 0
..
[tool cc]
.exec "cc"
..
[bake build_debug]
.make c_src cglob "src/**/*.c"
[run cc]
.set "-O${opt}" 1
.set "-g" "${debug}"
.takes c_src as "@args"
.emits exe as "-o"
..
.output exe "target/out/c_app_debug"
..
[bake build_release]
.make c_src cglob "src/**/*.c"
[run cc]
.set "-O${opt}" 1
.set "-g" "${debug}"
.takes c_src as "@args"
.emits exe as "-c"
..
.output exe "target/out/c_app_release"
..
# build tout
steel build steelconf
# ou bien:
steel runUne ouverture progressive (documentation, guidelines, contribution) est prévue une fois la base suffisamment stable.


