Discussion:Brainfuck

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Une page de Wikipédia, l'encyclopédie libre.
Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives
  • Commons

Spoon sans espace[modifier le code]

Je n'ai pas compris comment le spoon peut s'écrire sans espace, car il me semble que cela provoque des ambiguïtés à la lecture. Merci de compléter. domsau2 (d) 30 janvier 2011 à 18:24 (CET)[répondre]

Aucune ambiguïté. Par exemple, si le premier bit est un 0 suivi d'un 1, il s'agit soit de < soit de >, donc exactement 3 bits, donc l'instruction suivante commance au 4ème bit.
Si on commence par un double 0 suivi d'un 1, le nombre de 0 qui suit est unique. On connait donc toujours la taille d'un instruction, donc où commence l'instruction suivante.
Je m'exprime peut-être mal, mais il suffit de tenter de décoder la suite illisible de 0 et de 1, on voit bien qu'il n'existe pas 36 000 possibilités, mais une seule.
Epok (d) 17 avril 2011 à 16:48 (CEST)[répondre]
Les suites de bits n'ont pas été choisies au hasard :
Si on les classe dans l'ordre on obtient :
000
00100
001010
0010110
0011
010
011
1
Soit un arbre permettant la lecture des bits de gauche à droite :
1er bit 2e bit 3e bit 4e bit 5e bit 6e bit 7e bit Instruction
0 0 0 -
1 0 0 [
1 0 .
1 0 ,
1 ]
1 0 >
1 <
1 +
Voir Codage entropique, Codage de Huffman et Codage de Shannon-Fano.
--DavidL (d) 12 octobre 2011 à 19:07 (CEST)[répondre]

Turing-complet, récursivité et brainfuck[modifier le code]

Le postulat de Turing sur la complétude indique clairement que la Turing complétude d'un langage doit permettre de représenter toutes les fonctions calculables, y compris la récursion. https://en.wikipedia.org/wiki/Computable_function#Church%E2%80%93Turing_thesis

A mon sens, le Brainfuck ne permettant pas d'écrire de méthodes auto appelantes, le brainfuck n'est pas à proprement parler turring-complet malgré la soit distante preuve donnée car elle ne permet pas la récursion.


--Ppignol (discuter) 25 avril 2018 à 17:42 (CEST)[répondre]

Toute fonction récursive peut être remplacée par une fonction non récursive, et faire exactement la même chose. Avec votre raisonnement, une machine de Turing n'est pas Turing complète, car elle ne permet pas (directement) la récursion ! Brainfuck ne permet pas (directement) la récursion, mais peut très bien implémenter toute fonction calculable récursive, par un algorithme itératif, comme toute machine de Turing. --Jean-Christophe BENOIST (discuter) 29 mai 2018 à 16:06 (CEST)[répondre]
Je viens de m’apercevoir que la soit disante preuve fournie, mélange turing-complétude et problèmes de hilbert ... ils affirment que si ils résolvent les 23 problèmes de hilbert alors le langage est turing-complet ce qui n'as absolument rien à voir. De plus la seule preuve qu'ils apportent c'est qu'ils peuvent émuler le langage brainfuck en langage brainfuck ce qui n'est toujours pas une preuve de Turing-completude.
@Jean-Christophe BENOIST Peut-être mais en l’occurrence on ne peut donner le titre de "Turring-Completude" à un langage qui ne permet pas la récursivité parce que la récursivité fait justement partie des fonctions calculables nécessaire à la terminologie de "Turing-Complétude". Je crois bien vous avoir fait entendre raison sur le "bug" de l'incomplétude de göedel ... réfléchissez y à deux fois avant de me contredire sur mon métier ...--Ppignol (discuter) 8 Juillet 2020 à 17:52 (CEST).

Macro ... Définitions ?[modifier le code]

Je serais curieux de voir la définition de la macro to(a) en langage brainfuck ... Non parce que sans variable processeur ou status register je vois mal comment vous parvenez à faire ça ...--2.3.216.10 (discuter) 8 avril 2021 à 23:05 (CEST)[répondre]