Skip to content
View vitte-lang's full-sized avatar
  • Independent @opensource developer
  • France
  • 12:37 (UTC +01:00)

Block or report vitte-lang

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
vitte-lang/README.md

Vitte — vitte-lang

Profile views Org total Repo total Vitte repo

Langages (tous les projets)

Org languages

Langages (ce dépôt)

Languages Vitte % Muffin %

Vitte Steel

Projets publics

Vitte — un langage complet pour construire vite et proprement

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.

En clair

  • Écrire du code en Vitte.
  • Compiler vers un format interne prêt à exécuter ou à brancher un backend.
  • Builder/tester avec Steel.

Ce que Vitte vise

  • 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.

Le repo Vitte

Le dépôt principal du langage (compilateur, IR/bytecode, stdlib, tests) est privé.


Exemples

Hello World

vitte 1.0
space hello

entry app at hello
  emit "Hello, Vitte"
.end

Exemple Vitte (demo)

vitte 1.0
space demo/app

<<< doc
  Exemple Vitte — démonstration minimale.
>>>

pull std/io as io
pull std/text as text

share all


# ----------------------------
# Types
# ----------------------------

form User
  field id   as U32
  field name as Text
.end

pick Status
  case Ok()
  case Err(code as U32)
.end


# ----------------------------
# Fonctions
# ----------------------------

#[inline]
proc greet(u as User) gives Text
  give text.join("Hello, ", u.name)
.end


# ----------------------------
# Logique
# ----------------------------

proc run(flag as Bool) gives Status
  if flag
    emit greet(User(id=1u32, name="Alice"))
    give Status.Ok()
  .end
  otherwise
    give Status.Err(42u32)
  .end
.end


# ----------------------------
# Point d’entrée
# ----------------------------

entry app at demo/app
  make ok as Bool = true
  make st as Status = run(ok)

  select st
  when Status.Ok()
    emit "Done"
  .end
  otherwise
    emit "Failed"
  .end
.end

Exemple Syntaxe !muf4 pour Steel (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"
..

Commandes (le minimum)

# build tout
steel build steelconf
# ou bien:
steel run

Publication

Une ouverture progressive (documentation, guidelines, contribution) est prévue une fois la base suffisamment stable.

Pinned Loading

  1. VitteLangVsCode VitteLangVsCode Public

    Forked from roussov/VitteLangVsCode

    Coloration rapide, nette et moderne pour le langage Vitte (mots-clés, types, modules, FFI, doc-comments). Prêt pour coder, stylé pour shipper.

    TypeScript

  2. VitteServerPluginsBackEnd-org VitteServerPluginsBackEnd-org Public

    Serveur de plugins pour le langage Vitte, pensé pour une installation Debian sur ThinkPad X61.

    Roff 1

  3. steel.org steel.org Public

    Site Officiel de la commande Steel à la syntaxe ! muf4

    HTML 1