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 JAA06935; Sat, 12 Jun 2004 09:55:25 +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 JAA05884 for ; Sat, 12 Jun 2004 09:55:24 +0200 (MET DST) Received: from postfix4-1.free.fr (postfix4-1.free.fr [213.228.0.62]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i5C7tNSH015277 for ; Sat, 12 Jun 2004 09:55:24 +0200 Received: from warp (chateaudeau-4-82-225-176-25.fbx.proxad.net [82.225.176.25]) by postfix4-1.free.fr (Postfix) with SMTP id 87CCD1420E2; Sat, 12 Jun 2004 09:55:23 +0200 (CEST) Message-ID: <001b01c45052$77e652a0$19b0e152@warp> From: "Nicolas Cannasse" To: "Nicolas FRANCOIS (AKA El Bofo)" , "Liste Caml" , "Liste UPS-Info" References: <20040612031354.01a6603a.nicolas.francois@free.fr> Subject: Re: [Caml-list] Ca marche pas, et ca m'enerve Date: Sat, 12 Jun 2004 09:54:19 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1409 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 X-Miltered: at concorde with ID 40CAB6EB.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; cannasse:01 warplayer:01 caml-list:01 representant:01 pointeurs:01 ocamldebug:01 cannasse:01 garbage:01 nicolas:01 nicolas:01 probleme:02 overflow:02 collector:02 stack:02 recursive:03 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > Mais c'est pas trop gros, donc je joins en attachement pour que d'autres > testent. > > Mon probleme : ce programme explore les machines de Turing a n etats, pour > decouvrir les "castors actifs", i.e. les MdT ecrivant le plus de 1 sur la > bande avant de s'arreter. Si l'on cherche les CA a deux etats (ligne " > and tablesize = 2 in" dans le fichier main.ml), ca marche. Par contre, > j'ai une erreur de Stack Overflow si je lance le programme avec tablesize > = 3. > > Ca semble venir des incessantes manipulations de listes representant le > macro-ruban (fichier macro_strip.ml). C'est bizarre, je pensais que les > pointeurs de "cons-cells" n'etaient pas affectes sur la pile. Ca plante, > avec ocamldebug, au pas 770000 et quelques, sur une operation sur une > liste. > > 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 ? > > Merci pour tout conseil. Cela veut surement dire que certaines de tes fonctions ne sont pas "tail-recursive" : http://www.google.fr/search?q=tail+recursive+function&ie=UTF-8&hl=fr&meta= Nicolas Cannasse ------------------- 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