www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

TODO-Liste (1737B)


      1 TODO :
      2 - Ajouter la fonction map-case-analysis
      3 - Changer les <signal> par les fonctions warn (warning ?) ou error selon le cas d'utilisation.
      4 - Remplacer les ";; cas machin" par le code effectif.
      5 - copy-all doit gérer les structures circulaires
      6 - modifier run-tests pour qu'il renvoie la syntaxe d'un appel de macro qui ferait les let des deftestvar correctement (sans appel à eval).
      7 
      8 Questions :
      9 - Le prof a dit qu'on ne devait pas gérer le tas, donc pas d'affectations (setf, ...).
     10   Or, il est marqué dans notre poly que notre compilo doit se compiler lui-même. Et il est déjà bourré de setf.
     11   Du coup qu'est-ce qu'on fait ? On ré-écrit le compilo tout en purement fonctionnel ? (quasi-impossible...)
     12   Ou on implémente une gestion rudimentaire du tas (garbage-collector stop-the-world qu'on lance quand le tas est plein) ?
     13 
     14 - Comment compiler un code qui définit à l'exécution des fonctions avec des noms aléatoires, et qui les exécute ensuite ?
     15   Réponse (?) : lorsqu'on appelle une fonction, on l'appelle directement si elle est connue à la compilation, sinon
     16   on cherche dans une table des fonctions, et un fait un jump indirect dessus. Lorsqu'on tombe sur une définition
     17   "non statique" comme celle-là, on appelle l'eval embarqué, pour qu'il définise la fonction et la stocke dans sa table
     18   de fonctions.
     19 
     20 - Peut-on faire funcall sur des macros ? Si oui, on peut réécrire mapcar de manière beaucoup plus efficace dans
     21   inplementation-fonctions.lisp. Si non, vu qu'on a defmacro les fonctions car & cdr & d'autres, on ne peut pas les
     22   funcall :(
     23   Réponse : non, on ne peut pas faire de funcall, mapcar etc. sur des macros (erreur "undefined function". Normal : ce
     24   ne sont pas des fonctions :) ).