[Allegro] Desiderate zu persistenten Variablen

Bernhard Eversberg b.eversberg at tu-braunschweig.de
Mi Aug 12 12:19:28 CEST 2015


Am 12.08.2015 um 11:56 schrieb Thomas Berger:
> ... hat mich einmal wieder dazu gebracht, ueber die
> "externe" Datenhaltung in Indizes nachzudenken, also etwa ueber das,
> was die "persistenten Variablen" &xy leisten.
>
> Solche Daten als Binaerindizes auszuliefern, halte ich fuer keine
> gute Idee, ...
haben wir das vorgeschlagen?

> Insofern denke ich eher in die Richtung, ein (etwa tabellarisches)
> "Dataset" mittels eines "Namespace"-Praefix in *den* Index fuer die
> persistenten Variablen einzusortieren.
Da spricht nix gegen.
> Das ist soweit prima: Man koennte also sofort eine Verabredung treffen
> und dokumentieren, dass "geteilte" Nutzung des oder eines Index
> mit Persistenten Variablen mittels Namespaces und "#" als Delimiter
> erfolgen soll.
Kann man ohne weiteres machen, aber eine globale Verabredung
für alle Anwender braucht wohl nicht zu sein, und eine
Kontrolle auf Compliance geht sowieso nicht. Eine Empfehlung
im Sinne von "best practice", denken Sie vermutlich.
Programmier-Handlungsbedarf sehe ich nicht gegeben.

>   % --
>
> Allerdings: mittels "set &xn" koennte ein Benutzer /den/ Persistenz-
> Speicher weg vom Default ~z: bewegt haben. Dann muesste man wissen,
> wohin, damit das qrix-Kommando entsprechend formuliert werden kann.
> Derzeit fehlt ein cstring-Kuerzel, ueber das man die aktuelle
> Setzung von "set &..." auslesen kann.
Wir geben das mal in die Machbarkeitsanalyse.
>   % --
>
> Und es gibt ein weiteres Problem: existiert der ueber "set &"
> eingestellte Index nicht, wird er nicht erzeugt, sondern
> Zuweisungen an die persistenten Variablen landen in anderen
> Indizes (ixadd desgleichen). Die Dokumentation schreibt, man solle
> einfach Kopien von cat.azx so verteilen, wie man lustig ist,
> allerdings duerfte cat.azx als Ort "des" persistenten Speichers
> ja ueber kurz ueber lang Inhalte haben und ist dann als Kopiervorlagen
> fuer einen leeren Index nicht mehr wirklich gut geeignet.
Als Kopiervorlage muß man sich natürlich eine leere Datei cat.azx vorhalten,
also im Lieferzustand! (Es besteht keine Absicht, die gelieferte cat.azx
mit irgendwelchen Inhalten auszustaffieren.)

> Ich denke, job (acon) und flex (a99) sollten in die Lage versetzt
> werden, auf die Existenz spezifischer Indizes zu testen (ist die
> Dateisystem-Operation "fsize" auch bei access=0 erlaubt?)
Ja.

> sowie
> "leere" Indexdateien bzw. -register zu erzeugen (nicht unbedingt
> ganz implizit bei ins &... bzw. ixadd, aber ueber ein zu
> implementierendes ixcreate oder so,
Das Einfachste und schon jetzt problemlos Machbare ist, sich die
vorgehaltene, leere cat.azx zu kopieren. Damit wären wir in
dieser Frage mal wieder bei Montesquieu.

B.E.






Mehr Informationen über die Mailingliste Allegro