File:  [local] / rpl / LIMITATIONS
Revision 1.36: download - view: text, annotated - select for diffs - revision graph
Mon Apr 4 07:33:09 2011 UTC (13 years ago) by bertrand
Branches: MAIN
CVS tags: rpl-4_0_24, rpl-4_0_22, rpl-4_0_21, rpl-4_0, HEAD
Patches pour ncurses.

    1: RESTRICTIONS
    2:     Only sequential formatted files are supported.
    3: 
    4: Économisons notre mépris eut égard au nombre de nécessiteux.
    5: Chateaubriand.
    6: 
    7: Traiter SIGTERM
    8: RUN
    9: Ajouter MULTICAST (pour les sockets)
   10: 
   11: 4.1 -> nouvelle gestion des variables
   12: 
   13: Ajouter TeXmacs
   14: Ajouter giac$fonction
   15: 
   16: Dessiner les niveaux sur les graphes
   17: { "main" { "default" } { "automatic" 10 } } axes redraw 
   18: Ne fonctionne pas...
   19: 
   20: // Teste les interfaces d'entrée et de sortie d'une fonction. Une fonction
   21: // peut avoir plusieurs interfaces.
   22: FONCTION
   23: <<
   24:     INTERFACE
   25:         ALTERN
   26:         RESULT
   27:         REQUIRES
   28:         END
   29:     END
   30: >>
   31: 
   32: fonction
   33:   INTERFACE
   34:     generic
   35:     integer scalar
   36:     real matrix
   37:     complex vector
   38:     table
   39:     list
   40:     binary
   41:     name
   42:     string
   43:     algebraic
   44:     expression
   45:     file
   46:     socket
   47:     library
   48:     process
   49:     sql
   50:     mutex
   51:     semaphore
   52:   CONSTRAINED
   53:     4 pick size 6 pick size same
   54:   RESULT
   55:     type
   56:   END
   57: 
   58:   INTERFACE
   59:     integer
   60:     real matrix
   61:     integer/real/complex vector
   62:     table
   63:     list
   64:   RESULT
   65:     type
   66:   END
   67: REQUIRES
   68:   variables globales ou définitions
   69: PROVIDES
   70: <<
   71: >>
   72: 
   73: Traiter les expressions et les noms dans les fichiers. Rajouter un
   74: type de format pour les binaires non formatés (LOGICAL)
   75: 
   76: IMPORT -> installe à chaud de nouvelles définitions. Écrase les anciennes
   77: si nécessaire.
   78: 
   79: Prévoir un drapeau pour tester les interfaces (34)
   80: -> désarmé : test des interfaces
   81: -> armé : on ne teste rien
   82: 
   83: colorspec pour les couleurs des graphiques de gnuplot
   84: 
   85: TRIGGER attaché à un objet (fonction appelée dès la modification de l'objet)
   86: -> vérification de contrainte...
   87: 
   88: Decomposition de Hessenberg dgehrd, zgehrd; dorghr, zunghr for computing P
   89: dgehd2.f+dgebal.f
   90: 
   91: Pseudo inverse dgelss, zgelss
   92: 
   93: Tables dans interface_tex
   94: 
   95: Fichiers à accès direct -> entretenir une table en mémoire (hsearch())
   96: Les enregistrements sont de la forme :
   97: [Position enregistrement suivant][enregistrement]
   98: ADDNODE
   99: DELNODE
  100: 
  101: { arguments } << programme >> << interruption >> SUBMIT
  102: arg1 ... argn n << programme >> << interruption >> SUBMIT
  103: 
  104: rpl -b (batch) 32 (nombre de threads)
  105: 
  106: FOREIGN (pour les variables)
  107: 
  108: Côté esclave
  109: foreign -> X Y Z << >>
  110: FVARLOCK
  111: FVARUNLOCK
  112: 
  113: Côté maître
  114: foreign -> X Y Z << >> (il faut savoir si on est sur le mêtre ou sur un esclave)
  115: 
  116: FOREIGN permet à un esclave d'accéder à une variable partagée
  117: du maître.
  118: 
  119: ADDNOTE envoie les variables de niveau 0 au noeud client.
  120: SUBMIT envoie l'adresse de création des variables 'foreign' au client
  121: // Maître
  122: << foreign 1 -> X
  123:     <<
  124:         << foreign -> X << 'X' incr >> >> << >> submit
  125:     >>
  126: >>
  127: 
  128: ================================================================================
  129: 
  130: Compilation -> faire un exécutable qui appelle rpl par rpl -S
  131: 
  132: Verification des erreurs mémoire dans le cas d'erreur avant l'appel au
  133: séquenceur dans rpl.c
  134: 
  135: Coller un fichier ~/.rpl qui contient les valeurs par défaut des drapeaux
  136: 
  137: 'a(3)+a(3,4)' ne doit pas provoquer d'erreur si a est du type liste ou table.
  138: Si a est une liste ou une table : une seule dimension possible !
  139: 
  140: [[ 1 2 ]]3 est valide !
  141: 
  142: Evaluation symbolique des fonction ?
  143: 
  144: SQL sur des données binaires
  145: 
  146: La manière standard de faire est d'utiliser des wchar_t pour représenter les
  147: caractères (à distinguer des bytes).
  148: Il y a plein de choses dans la bibliothèque standard :
  149: - mbtowc et compagnie, et aussi mbrtowc et compagnie, une variante
  150: probablement identique dans ton cas
  151: - fgetwc, fputwc, fwprintf etc. pour les entrées-sorties
  152: - wcs*() qui remplace les fonctions en str*()
  153: 
  154: Vérifier la cohérence des arguments de OPEN
  155: 
  156: TO DO
  157:     File support : SEEK, SUPPRESS, REWRITE
  158: 
  159: Mettre des tableaux dans les formats binaires
  160: 
  161: Fichier en accès direct -> 12 {} puis entretenir un fichier d'index.
  162: Fichiers flow
  163: 
  164: SLOPEFIELD
  165: 
  166: Simplification des expressions : convertir la notation polonaise en
  167: arbre.
  168: 
  169: Problème d'indentation de
  170: select
  171:     case then end <- sur la même ligne

CVSweb interface <joel.bertrand@systella.fr>