[linux-l] RS-232 oder USB lesen mit (Schauder...) Java Os-unabhaengig

Oliver Bandel oliver at first.in-berlin.de
Mo Sep 26 16:41:43 CEST 2005


On Mon, Sep 26, 2005 at 04:05:07PM +0200, Oliver Bandel wrote:
> On Mon, Sep 26, 2005 at 03:15:34PM +0200, Oliver Bandel wrote:
> [...]
> > # a + b;;
> > This expression has type MyRestricted.t but is here used with type int
> > # add a b;;
> > - : MyRestricted.t = <abstr>
> > # let result = to_int (add a b);;
> > val result : int = 89
> > # let neues_result = to_int ( mul b c);;
> > Exception: BorderInt(Border).Border_exception.
> > # 
> > ========================================================================
> > 
> > So, nun kann man sich an wertebegrenzten Intege-Typen erfreuen.
> > 
> > Das sind keine Emulationen durch Objekte, sondern Datentypen.
> > Hat man ne Liste solche Werte (oder Array) kann man mit List.iter oder Array.iter
> > dann  z.B. Werte ausgeben, oder so.
> > 
> > Oder mit map statt iter Ergebnislisten erzeugen.
> > 
> > Da man die im Typ eingebaute Prüfung auf diese Weise nicht mehr umgehen
> > kann, macht das die ganze Programmierung dann sicher. :)
> > 
> > Ob man diese Datentypen dann in Listen, Arrays, anderen Moduln,
> > Funktionen, Objekten oder Closures nutzt, ist egal.
> > Sie werden behandelt wie andere Datentypen auch und eine Polymorphe
> > Funktion wie List.iter oder List.map kann man darauf anwenden.
> [...]
> 
> 
> Ist vielleicht mißverständlich ausgedrückt.
> 
> Es müssen natürlich Funktionen vorhanden sein, die mit diesen Typen umgehen können.


Auch das ist mißverständlich ausgedrückt.

Denn anwenden würde man so einen Typ dann ja mit den o.g.
Funktionen, aber man kann das ja allgemein anwenden.
Und für Ausgabe kann man ja die int's mit den normalen
Ausgabefunktionen handhaben, denn man kann ja mit
to_int nach Int zurück wandeln. Also bedarf es auch keiner
Funktionen, die man für die Ausgabe obiges Typen implementieren müsste.

Aber, das liesse sich ja bei Objekten genauso sehen. Bloß der Ansatz
wäre dann wohl auch, daß das int-Objekt seinen Wert selbst ausgibt...?!

Naja, alles eine Frage dessen, wie es im Gesamtzusammenhang Sinn macht.


Ach Mist, ich weiß nicht, wie ich das erklären soll.

Sowas geht am besten mit Beispielen.
Vielleicht war das Beispiel ja sogar halbwegs sinnvoll?

Aber der restricted Int ist ja ebenso nutzbar, wie z.B. ein Typ Complex
oder sowas.

Naja, ich muß ja hier nicht OCaml bis ins kleinste erklären.
Solche restricted Types habe ich auch noch nicht gebraucht.

War ja auch wieder nur ein Beispiel, das etwas demonstrieren sollte.
(Ach ja, Vergleich bzgl. ADA.)


Ciao,
   Oliver



Mehr Informationen über die Mailingliste linux-l