[Allegro] Umgang mit Mehrfachkennung (Mehrfachkategorien)

Thomas Berger ThB at Gymel.com
Di Jul 2 11:09:35 CEST 2013


Lieber Herr Eversberg,


Am 02.07.2013 10:25, schrieb Bernhard Eversberg:
> Am 02.07.2013 10:06, schrieb Thomas Berger:
>>
>> Die ernsthafte Frage ist daher, ob "letztes Feld" als Ergaenzung
>> zu "erstes Feld" (dessen Nutzen ist unbestritten) wirklich
>> nuetzlich ist oder ob nicht eher "naechstes Feld" (nach voran-
>> gegangenem #... #k.. oder #kk.) einen groesseren Nutzen haette.
>>
> Seh ich nicht so. Mit einer Floskel  var _nn~  will ich doch einen
> vorhandenen Feldinhalt (und kann evtl. dessen Feldnummer prüfen),
> den ich dann für irgendwas verwende. Die Frage, welches Feld denn
> das nächste unbelegte wäre, ist eine ganz andere, um die es
> in dieser Diskussion gar nicht gegangen ist. Ob das einen "größeren
> Nutzen" hätte, wäre zudem unentscheidbar, weil man die beiden
> unterschiedlichen Nutzeffekte gar nicht für einen Vergleich gewichten
> könnte.

Hier haben wir uns missverstanden: Es war ein neuer Gedankengang,
ich ventilierte das Iterieren durch die /belegten/ Felder (nach
Zugriff auf /erstes/ also /naechstes/) und ob das nuetzlicher
sein koennte als der starre Zugriff auf /erstes/, /letztes/ und
eben leider nichts dazwischen.


> Wir tun daher erst einmal über die besagte, einem zugegebenen Mißstand
> abhelfende Veränderung hinaus nichts.

Bitte einen Moment warten:

#kk: und _kk: sind anscheinend noch nirgendwo eingesetzt worden,
obwohl es sie schon lange gibt (genauer: seit V24.7, eine
Ankuendigung ist aber anscheinend nie erfolgt).
[#kk. ist etwas aelter, spaeter wurde vermeldet, das das nicht
nur in cstrings, sondern auch in "if" funktioniert]

Nun stellt sich heraus, dass die Syntax problematisch ist, aber
fuer ":" steht das Ersatzzeichen "~" bereit, das bereits als
Steuerzeichen reserviert ist und in aehnlichem Kontext etwas
aehnliches bedeutet (von "analog" bin ich aber noch nicht
ueberzeugt).

Bevor man das "repariert" sollte die Frage erlaubt sein, ob ein
Feature, das 10 Jahre lang nicht genutzt worden ist und darueber
hinaus auch noch kaputt war, nicht abgeschafft werden sollte.
"Horror vacui" (da gibt es "~" mit potentieller Steuerfunktion und
einen Kontext, in dem das noch nicht benutzt wird) sollte unser Handeln
nicht treiben...

Natuerlich ist "Zugriff auf das letzte Feld einer Gruppe" (weil ich
es gerade erzeugt habe und gerne wissen will wie es heisst) nicht
erst seit der Diskussion von gestern eine nicht abwegige Anforderung,
aber wie ich dargelegt habe, nicht weniger abwegig als die Anforderung,
auf alle Felder einer Gruppe nacheinander zugreifen zu wollen oder
alle Felder einer Gruppe gemeinsam in die iV zu hieven.
Schaffung einer neuen[! (da andere Syntax)] Funktionalitaet "Zugriff
aufs letzte] ist also vielleicht eher Spezialfall von etwas
allgemeinerem. Etwas aehnliches, allgemeineres gibt es mit k_1 etc.
ohnehin schon in der Flex-Sprache, Schaffung des punktuellen #kk~
bringt uns also tendenziell nur in Konflikt mit seiner eigenen
faelligen Verallgemeinerung oder der Verallgemeinerung von k_1 etc.
die es ueberfluessig machen wuerde. Oder einem regexp-basierenden
Mechanismus, der es ebenfalls ueberfluessig machen wuerde.

Es /ist/ ein Problem der allegro-Sprachen, dass es eine Vielzahl
von Syntaktischen Einzelkonstruktionen fuer naheliegende Loesungen
irgendwelcher woertlich genommener Probleme gibt, die aber alle
nur bis zu einem gewissen Punkt tragen. Und fuer nahe liegende
Probleme gibt es dann u.U. ganz andere Konstrukte oder gar nichts.

Also: #kk: bzw. _kk: sollte zuerst abgeschafft werden (aus den
dargelegten Gruenden) und dann sollte schnell etwas nuetzliches
ersonnen werden, das dann hoeffentlich auch haeufiger als ein
mal in 10 Jahren zum Einsatz kommen kann.

viele Gruesse
Thomas Berger











Mehr Informationen über die Mailingliste Allegro