caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Nicolas FRANCOIS (AKA El Bofo) <nicolas.francois@free.fr>
To: ups-info@enst-bretagne.fr
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Ca marche pas, et ca m'enerve
Date: Sat, 12 Jun 2004 15:14:01 +0200	[thread overview]
Message-ID: <20040612151401.436fa59c.nicolas.francois@free.fr> (raw)
In-Reply-To: <A3C6553C-BC5A-11D8-9BC0-00039310CAE8@inria.fr>

Le Sat, 12 Jun 2004 12:24:08 +0200 Damien Doligez
<damien.doligez@inria.fr> a écrit :

> On Jun 12, 2004, at 03:13, Nicolas FRANCOIS (AKA El Bofo) wrote:
> 
> > 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 ?
> 
> Rien a voir avec les listes ni avec le GC.  Ta fonction run_aux (ligne 
> 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 
> appel,
> et elle finit par faire deborder la pile.  Tu peux essayer d'augmenter 
> la
> taille de la pile:
> 
>    bash$ OCAMLRUNPARAM="l=1G" ./bb
> 
> 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

-- 

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


      reply	other threads:[~2004-06-12 12:09 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-12  1:13 Nicolas FRANCOIS
2004-06-12  7:54 ` Nicolas Cannasse
2004-06-12 10:24 ` Damien Doligez
2004-06-12 13:14   ` Nicolas FRANCOIS [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040612151401.436fa59c.nicolas.francois@free.fr \
    --to=nicolas.francois@free.fr \
    --cc=caml-list@inria.fr \
    --cc=ups-info@enst-bretagne.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).