|
- Technologie .net
:
- Vous pouvez désormais créer des objets
et les mettre à disposition via votre Intranet ou Internet.
- Vous pouvez intégrer de l'APL
dans vos pages Web. En effet grâce aux technologies ASP et
.NET, le serveur WEB IIS de Microsoft est capable d'exécuter
à la volée des instructions APL inclues au milieu du code
HTML.
- Pour en savoir
plus, cliquez ici
- Reconnaissance
des idiomes : L'interpréteur
reconnaît certains idiomes (tels que /¼)
et les exécute directement comme si il s'agissait d'une seule
primitive au lieu de, comme précédemment, faire une exécution
par fonction primitive.
Il en résulte dans certains cas des gains de vitesse pouvant
aller jusqu'à un coefficient 50 !
Par exemple, l'idiome BV/¼½A
(où BV est un vecteur booléen et A est un vecteur) aurait été
précédemment exécuté en 4 étapes comme suit :
- Exécution de
½A
et stockage du résultat dans la variable temporaire temp1
(temp1 est un nom arbitraire choisi pour l'exemple)
- Exécution de ¼temp1
et stockage du résultat dans la variable temporaire temp2.
- Exécution de BV/temp2
- Suppression des variables provisoires
Dans la version 10, l'expression est identifiée en sa
totalité et traitée comme si c'était une fonction primitive
simple.
Dans cet exemple l'amélioration résultante de l'exécution se
situe entre 2 et 4.5 (en fonction de la taille des objets).
Attention : L'identification d'idiome est précise ; une
expression qui n'est pas strictement identique à une des
expressions de la liste ci-dessous ne sera pas identifiée.
Par exemple, ŒAV¼
sera identifié comme idiome, mais pas (ŒAV)¼
. De même, (,)/ ne sera pas reconnu comme l'idiome de
concaténation.
Liste des idiomes reconnus :
Vous trouverez dans ce tableau les conventions de notation
concernant les types et dimensions des arguments utilisés par les
idiomes :
Type |
Description |
Dimension |
Description |
C |
Caractères |
S |
Scalaire ou vecteur de taille 1 |
B |
Booléen |
V |
Vecteur |
N |
Numérique |
M |
Matrice |
P |
Indice (pointeur) |
T |
Toutes types de dimensions |
T |
Tous types |
|
|
Par exemple : NV : Vecteur numérique, CM
: Matrice alpha, PV : vecteur d'indices.
La troisième colonne montre un facteur
approximatif d'amélioration d'exécution. Pour quelques cas
(marqués *),
le facteur dépend totalement de la taille de l'argument.
Expression
|
Facteur |
Expression
|
Facteur |
½½A |
2 |
BV/¼NS |
1.3-3.7 |
BV/¼½A |
2-4.5 |
NAœ¨›A |
16 |
A{}A |
6 |
A{¸}A |
6 |
A{¾}A |
6 |
A{¸
¾}A |
2 |
{0}A |
7 |
{0}¨A |
30 |
,/PV |
* |
œ²A |
* |
†²A |
* |
œ²,A |
* |
†²,A |
* |
0=½V |
1.25 |
0=½½A |
1.2 |
0=A |
* |
ŒAV¼CA |
6 |
CM{(‡¸)¼‡¾}CM |
3 |
‡³†PV |
4-5 |
‡³œPV |
4-5 |
^\'
'=CA |
4-30 |
+/^\'
'=CA |
20-50 |
+/^\
BA |
30-40 |
{(Ÿ\'
'¾)/¾}CV |
15-30 |
{(+/^\'
'=¾)‡¾}CV |
15-30 |
~°'
'¨‡CA |
6-7 |
{(+/Ÿ\'
'²¾)†¨‡¾}CA |
11 |
|
|
- Nouvelle Fonction
système ŒMAP
: Permet d'utiliser les
ressources système Windows pour gérer des variables sur disque
avec des temps de réponse optimaux.
- L'objet
GRID permet désormais les
sélections multiples et peut héberger des contrôles ActiveX et
des classes .NET.
- Nouvel
objet ColorButton : Outil convivial intégré
à la cession pour choisir vos couleurs.
Il est également utilisable dans le GRID.
|
|
- Auto-complétion
: Quand vous commencez
à taper un nom de variable déjà existant ou un nom de
fonction commençant par Œ,
APL vous propose la fin du mot via un menu pop-up.
Si par exemple vous tapez ŒN,
APL vous propose immédiatement toutes les fonctions relatives
aux fichiers natifs.
En notation point, cette fonction propose également les
propriétés et méthodes des objets.
- Sauver un
Workspace en fichier .EXE
- Nouvelle
fonction ŒNLOCK
: permet de verrouiller
tout ou partie d'un fichier natif.
- Le ŒSAVE
permet désormais de sauver un Workspace sans sa pile d'exécution
: Un argument gauche a été
ajouté pour vous permettre de conserver ou non la pile.
- :For .. :InEach
.. : C'est le cousin du :For ... :In ...
mais sa logique est inversée quand on traite un vecteur de
vecteurs.
Dans une boucle :For a b c :In (1 2 3)(4 5 6)(7 8 9)(10 11 12)
a b et c prendront au fil de la boucle les valeurs suivantes :
a : 1, 4, 7, 10
b : 2, 5, 8, 11
c : 3, 6, 9, 12
Dans une boucle :For a b c :InEach (1 2 3)(4 5 6)(7 8 9)(10 11
12)(13 14 15)(16 17 18)
a b et c prendront au fil de la boucle les valeurs suivantes :
a : (1 2 3) (10 11 12)
b : (4 5 6) (13 14 15)
c : (7 8 9) (16 17 18)
- Coloration de syntaxe
dans la session : Cette fonctionnalité
existait déjà dans l'éditeur, elle est désormais étendue à
la session.
- Suppression de
lignes dans la session :
La version 10 vous permet de supprimer des lignes de la session
tout comme dans l'éditeur..
|