Petit langage orienté objet, fonctionnel et événementiel.
Callect
est un petit langage de programmation orient objet, fonctionnel et vnementiel fait en Python
.
J'essaye de faire en sorte qu'il soit le mieux possible. Ce langage m'aide progresser. J'y insre diffrentes ides/concepts que j'aime bien et que je pense utile.
Merci aux personnes qui prendront le temps de lire, qui essayeront le langage, et qui feront des retours !
Pour en savoir plus, lisez le wiki ! Bonne lecture !
math = import{'math'}
event changevars pouet [
if pouet == 12 [
pouet = 24
]
]
pouet = 12
// On fait la factoriel de 24,
24 et pas 12 car lors de l'affectation de pouet
cela dclenche l'event
//
resultat = math.fact{pouet}
if resultat > 100 [
print{'Cela fait beaucoup.'}
]
elif resultat < 10 [
print{"Ce n'est pas beaucoup."}
]
else [
print{'oui'}
]
fruits = {'pomme', 'poire', 'fraise'}
panier = {}
for fruit in fruits [
panier.add{fruit}
]
panier # 1 == fruits # 1 == "pomme"
Le temps d'exution n'est vraiment pas le point fort du langage, mais cela vous donne une ide de sa lenteur.
@'ackermann' {m, n} [
if m == 0 [
return n + 1
]
elif n == 0 [
return ackermann{m - 1, 1}
]
else [
return ackermann{m - 1, ackermann{m, n - 1}}
]
]
ackermann{3, 3} == 61
0.68751 secondes
event changevars
et if
event changevars (pomme == "rouge") [
poire = "verte"
]
pomme = "rouge"
0,00015 secondes
pomme = "rouge"
if pomme == "rouge" [
poire = "verte"
]
0,00015 secondes
for
et repeat
for a in 10000 []
0,1875 secondes
repeat 10000 []
0,0937 secondes
a = 1
a + 1
0,000062 secondes
@'objet_avec_addition' self {} [
self.add__ = @ self parent {b} [return 1 + b]
return self
]
a = objet_avec_addition{}
a + 1
0,000328 secondes