From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id OAA25060; Sat, 12 Jun 2004 14:09:28 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id OAA24746 for ; Sat, 12 Jun 2004 14:09:27 +0200 (MET DST) Received: from postfix4-2.free.fr (postfix4-2.free.fr [213.228.0.176]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i5CC9RSH015291 for ; Sat, 12 Jun 2004 14:09:27 +0200 Received: from detritus.baronie.vez (unknown [82.254.36.170]) by postfix4-2.free.fr (Postfix) with SMTP id 6F0CD18F0E2; Sat, 12 Jun 2004 14:09:26 +0200 (CEST) Date: Sat, 12 Jun 2004 15:14:01 +0200 From: Nicolas FRANCOIS (AKA El Bofo) To: ups-info@enst-bretagne.fr Cc: caml-list@inria.fr Subject: Re: [Caml-list] Ca marche pas, et ca m'enerve Message-Id: <20040612151401.436fa59c.nicolas.francois@free.fr> In-Reply-To: References: <20040612031354.01a6603a.nicolas.francois@free.fr> X-Mailer: Sylpheed version 0.9.10 (GTK+ 1.2.10; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Miltered: at concorde with ID 40CAF277.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 2004:99 damien:01 damien:01 tail-rec:01 excuses:99 lequel:01 ferait:01 recursion:01 visiblement:01 construire:01 eleves:01 serait-il:01 constituer:99 eleves:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Le Sat, 12 Jun 2004 12:24:08 +0200 Damien Doligez a =E9crit : > On Jun 12, 2004, at 03:13, Nicolas FRANCOIS (AKA El Bofo) wrote: >=20 > > Mes manipulations sur les listes sont-elles incorrectes ? Comment > > faire pour aider le garbage collector a se rendre compte qu'un > > pointeur ne sera > > plus jamais utilise ? >=20 > Rien a voir avec les listes ni avec le GC. Ta fonction run_aux (ligne=20 > 49 > de macro_machine.ml) n'est pas tail-rec parce que son appel recursif se > trouve dans un bloc try...with. Du coup, elle doit empiler a chaque=20 > appel, > et elle finit par faire deborder la pile. Tu peux essayer d'augmenter=20 > la > taille de la pile: >=20 > bash$ OCAMLRUNPARAM=3D"l=3D1G" ./bb >=20 > Malheureusement, j'ai l'impression que ca ne t'aidera pas car ton > programme a l'air de boucler. Eh bien voila ! Je savais bien qu'on me resoudrait mon probleme :-) Je dois donc des excuses pour le ton peremptoire avec lequel j'ai affirme que mon programme etait parfaitement programme. Comme quoi, quand on n'est pas sur, on ferait mieux de fermer sa grande g... (c'est d'ailleurs a ca qu'on reconnait ceux qui n'y connaissent rien : ce sont ceux qui beuglent le plus fort). Je ne savais pas que l'imbrication dans un bloc try...with bloquait la detection de la recursion terminale. je vais modifier mon approche pour eviter ca, ca me parait plus sur que d'augmenter la pile. Normalement, mon programme ne devrait pas boucler, mais je n'ai pas encore implemente les filtres necessaires pour eliminer les machines qui ne vont _visiblement_ pas s'arreter (Rq : le probleme etant indecidable, il n'y a aucune chance de construire un programme qui les eliminera toutes, mais on peut quand meme esperer que pour des machines pas trop grosses (donc en limitant le nombre d'etats), on arrive a une classification complete). Donc c'est sans doute normal que ca boucle, surtout que le nombre de machines a envisager est assez enorme. J'ai trouve sur Internenette une tres interessante transposition de ce probleme en termes de machines a registres. Ca semble plus simple a programmer, et je pense que ca peut faire un excellent sujet de TIPE pour les eleves de l'option informatique. Peut-etre serait-il d'ailleurs interessant de regrouper des idees de projets et des debuts de bouts de code pour constituer une "base de donnees" de projets pour les eleves (ou les collegues, d'ailleurs). Un projet un peu similaire s'est lance sur gna.org pour des projets d'etudiants. Merci encore a Damien et Nicolas pour avoir mis le doigt sur les imperfections de mon code, et mes excuses renouvelees pour la reaction un peu (completement) prematuree. \bye --=20 Nicolas FRANCOIS http://nicolas.francois.free.fr We are the Micro$oft. Resistance is futile. You will be assimilated. ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners