Quark (langage)
Quark | ||
[[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 | |
modifier |
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]
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]
- ↑ « Quark language », sur https://quark-lang.dev/
- ↑ Quark#readme, Quark language, (lire en ligne)
Annexes[modifier]
Liens externes[modifier]
- (en) Site officiel
- (en) Quark Organisation GitHub
- (en) Quark dépôt GitHub
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).
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).