Bienvenue sur EveryBodyWiki ! Créez un compte ou connectez vous pour participer, améliorer ou créer un article, une biographie (la vôtre ?), une page entreprise...


Quark (langage)

De EverybodyWiki Bios & Wiki


Quark
Logo.
[[Fichier:Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value).|280px|alt=Erreur Lua dans Module:Wikidata à la ligne 606 : attempt to index field 'wikibase' (a nil value).|Erreur Lua dans Module:Wikidata à la ligne 606 : attempt to index field 'wikibase' (a nil value).]]
Erreur Lua dans Module:Wikidata à la ligne 606 : attempt to index field 'wikibase' (a nil value).

Date de première version
Paradigmes Impératif, orienté objet, fonctionnel et interprété
Auteur Thomas Vergne
Développeurs Quark language
Dernière version 2.0.0
Version en développement Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value).
Typage Dynamique
Influencé par Lisp [1] et TypeScript
Écrit en Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value)./Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value).
Système d'exploitation Multi-plateforme
Licence Licence MIT
Site web https://quark-lang.dev/
Extensions de fichiers .qrk

Quark est un langage de programmation interprété influencé par Lisp et écrit en TypeScript. L'objectif principal de Quark est de proposer un langage qui allie simplicité et productivité en plus de sa syntaxe simple[2].

Il né au début de l'année 2021 et est maintenu à jour par la communauté GitHub sur le dépôt officiel de Quark.

Concepts de programmation[modifier]

Wikitext.svg
La mise en forme de cette section ne suit pas les recommandations concernant la typographie, les liens internes, etc. (mai 2021). Découvrez comment la « wikifier ».

Hello World[modifier]

(print "Hello World!")

ou

(puts "Hello World!")

Boucles[modifier]

{
  (import "assert.qrk")
  (import "list.qrk")

  (describe "Foreach tests" (fn () {
    (let users (list "Thomas" "Ness" "ImRobot"))
    (let reproductionUsers (list))
    (foreach users (fn (user) {
      (push reproductionUsers user)
    }))
    (it "should return same array as looped" (fn () {
      (return (assert:equal users reproductionUsers))
    }))
  }))
}

Push dans une liste[modifier]

{
  (import "assert.qrk")
  (import "list.qrk")

  (describe "Push tests" (fn () {
    (let array (list))
    (let string "")
    (it "should return equal lists" (fn () {
      (return (assert:equal (push array "test") (list "test")))
    }))
    (it "should return equal strings" (fn () {
      (return (assert:equal (push string "t") "t"))
    }))
  }))
}

Longueur de liste[modifier]

{
  (import "assert.qrk")
  (import "list.qrk")

  (describe "Length tests" (fn () {
    (it "should return correct length of text" (fn () {
      (return (assert:equal (length "test") 4))
    }))
    (it "should return 0 if no arguments precised" (fn () {
      (return (assert:equal (length) 0))
    }))
    (it "should return correct list length" (fn () {
      (return (assert:equal (length (list "test" "test" "test")) 3))
    }))
  }))
}

Récursivité[modifier]

{
  (import "../sample/factorial.qrk")
  (import "../sample/fibonacci.qrk")
  (import "assert.qrk")

  (describe "Factorial tests" (fn () {
    (it "should return correct factorial result" (fn () {
      (return (assert:equal (factorial 5) 120))
    }))
    (it "should return one if argument is 0" (fn () {
      (return (assert:equal (factorial 0) 1))
    }))
  }))
}

Notes et références[modifier]

  1. « Quark language », sur https://quark-lang.dev/
  2. Quark#readme, Quark language, (lire en ligne)

Annexes[modifier]

Liens externes[modifier]



Autres articles de l'univers Langages de programmation : Evolutionary Virtual Agent, SBP

Erreur Lua dans Module:Catégorisation_badges à la ligne 170 : attempt to index field 'wikibase' (a nil value).Erreur Lua dans Module:Suivi_des_biographies à la ligne 189 : attempt to index field 'wikibase' (a nil value).


Autres articles du thème Programmation informatique programmation informatique : Eltron Programming Language, W32DASM, Simple (programmation), noweb, HFSQL, Gestion de versions, Logiciel de gestion de versions


Cet Article wiki "Quark (langage)" est issu de Wikipedia. La liste de ses auteurs peut être visible dans ses historiques et/ou la page Edithistory:Quark (langage).


Les cookies nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation des cookies.