Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/VDM/VDMPP/SSlibE2PP/   (Wiener Entwicklungsmethode ©)  Datei vom 13.4.2020 mit Größe 945 B image not shown  

Quelle  Function.vdmpp   Sprache: VDM

 
\begin{vdm_al}
class Function

functions 
\end{vdm_al}

\begin{vdm_al}
static public Funtil[@T] : (@T -> bool) -> (@T -> @T) -> @T -> @T
Funtil(p)(f)(x) == if p(x) then x else Funtil[@T](p)(f)(f(x));
\end{vdm_al}

\begin{vdm_al}
static public Fwhile[@T] : (@T -> bool) -> (@T -> @T) -> @T -> @T
Fwhile(p)(f)(x) == if p(x) then Fwhile[@T](p)(f)(f(x)) else x;
\end{vdm_al}

\begin{vdm_al}
static public Seq[@T] : seq of (@T -> @T) -> @T -> @T
Seq(fs)(p) ==
 cases fs :
 [xf] ^ xfs -> Seq[@T](xfs)(xf(p)),
 []     -> p
 end
--measure length
;

--static length[@T] : seq of (@T -> @T) -> @T -> nat
--length(fs)(-) == len fs;
\end{vdm_al}

\begin{vdm_al}
static public readFn[@T] : seq of char -> [@T]
readFn(fname) ==
 let 
  io = new IO(),
  mk_(aResult, f) = io.freadval[@T](fname)
 in
 if aResult then
  f
 else
  let -= io.echo("Can't read values from the data file = " ^ fname)
  in
  nil;
\end{vdm_al}

\begin{vdm_al}
end Function
\end{vdm_al}

100%


¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.