Tu fais une récurrence sur les caractères... (pour contourner les boucles conditionnelles... enfin ça ne rime vraiment à rien)
Si le caractère initial est -, il est inférieur. Fini.
Si le caractère est 0 on regarde le suivant jusqu'à != 0 ou la fin. A la fin on sait que le nombre est <= 10
Si le caractère est != 0 on regarde juste si le suivant est aussi, dans ce cas le nombre est > 10.
A chaque fois tu dois faire une comparaison sur les caractères ">= '0'", "<= '9'" aussi mais bon... Logique combinatoire... ça se fait.
Et quand tu propose de supprimer carrément touts les opérateurs logiques... ça se contourne également, mais ça devient vraiment lourd... Tu veux aussi interdire les additions du coup non ?
Sinon pointeurs de fonction = fonctions virtuelles. Soit il dit en passant c'est super lent en réalité (a plus forte raison si tu en as beaucoup, et dans ton cas c'est inévaitable, car à ce moment la la taille de ton éxécutable augmente énormément pour contenir chacune des mini fonctions qui en apelle d'autres etc..., donc tu utilises presque jamais le cache du cpu), et ça s'optimise très peu pour ne pas dire "pas du tout".
Et les "if" dissimulés dans les handles
. Y'a pas de handle pas de machin. A un moment en implémentant TON language, dans TES librairies codées avec TON langage tus eras OBLIGE de faire un if, que ce soit pour tester un HANDLE, un pointeur de classe externe, un ID de controle, ou des coordonnées de souris.
Normalement tu peux résumer la grande majorité des programmes non systèmes (donc pas besoin vital de manipuler des champ de bits) à 3 opérations: addition, comparaison, branchement. Toi tu propose de supprimer "comparaison".
L'utilisateur de donne deux entiers a et b, te demande lequel est le plus grand. Tu as interdit opérations logiques, tests conditionnels et compagnie... Tu fais quoi ?
C'est pas viable