\relax \citation{MaSc93b} \@writefile{toc}{\string\addvspace\space {10pt}} \@writefile{toc}{{\string\raggedright\space \string\advance\space \string\rightskip\space by 2.55em\string\noindent\space \string\bf\space \string\boldmath\space Higher-Order Persistent Polymorphic Programming in Tycoon\string\endgraf\space }} \@writefile{toc}{\string\contentsline\space {author}{\string\authcount\space {1}Florian Matthes}{1}} \@writefile{toc}{\string\addvspace\space {6pt}} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {1}Introduction and Motivation}{1}} \newlabel{Abs. Einfuehrung}{{1}{1}} \citation{S*92} \citation{Matt93} \citation{MaSc93b} \citation{MaSc92a} \citation{Card89,Card90} \citation{Mue91b,MMS92} \citation{MODISO} \citation{Wirt87a} \citation{RLW85} \citation{Nels91} \citation{I*83} \citation{Card89,Card90,Maun91,FiHa88,Hudak89} \citation{CMMS91} \citation{KeRi77} \citation{B*88} \citation{GoRo83} \citation{ACC81a} \citation{Card86} \citation{AtBu86,ScMa90a} \citation{MaSc91} \citation{Mink88} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {2}Language Classification}{3}} \newlabel{Abs. Einfluesse anderer Programmiersprachen}{{2}{3}} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {3}Lexical and Syntactical Rules}{4}} \newlabel{Abs. Lexikalische und syntaktische Regeln}{{3}{4}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.1}Symbols}{4}} \newlabel{Abs. Symbole}{{3.1}{4}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.2}Reserved Keywords}{4}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.3}Comments}{4}} \newlabel{Abs. Kommentare}{{3.3}{4}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.4}Factoring of Expressions}{4}} \newlabel{Abs. Zerlegung von Ausdruecken}{{3.4}{4}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.5}Coercion and Overloading}{5}} \newlabel{Abs. Typanpassung und Ueberladen}{{3.5}{5}} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {4}Predefined Values and Functions}{5}} \newlabel{Abs. Vordefinierte Werte und Funktionen}{{4}{5}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.1}Naming, Binding, and Typing}{5}} \newlabel{Abs. Benennung, Bindung und Typisierung}{{4.1}{5}} \citation{Matt93} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.2}Literals}{6}} \newlabel{Abs. Notation von Literalen}{{4.2}{6}} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {5}User-defined Values and Functions}{6}} \newlabel{Abs. Benutzerdefinierte Werte und Funktionen}{{5}{6}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {5.1}Static Bindings}{6}} \newlabel{Abs. Statische Bindungen}{{5.1}{6}} \citation{Matt93} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {5.2}Dynamic Bindings}{7}} \newlabel{Abs. Dynamische Bindungen}{{5.2}{7}} \newlabel{Abs. Einfache Funktionen}{{5.2.1}{8}} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {5.2.1}Simple Functions}{8}} \newlabel{Abs. Rekursive Funktionen}{{5.2.2}{9}} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {5.2.2}Recursive Functions}{9}} \newlabel{Abs. Funktionstypen}{{5.2.3}{9}} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {5.2.3}Function Types}{9}} \newlabel{Abs. Funktionen hoeherer Ordnung}{{5.2.4}{9}} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {5.2.4}Higher-Order Functions}{9}} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {6}Predefined Value and Type Constructors}{10}} \newlabel{Abs. Vordefinierte Wert- und Typkonstruktoren}{{6}{10}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {6.1}Tuple Types}{10}} \newlabel{Abs. Tupeltypen}{{6.1}{10}} \citation{Matt93} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {6.2}Variant Types}{11}} \newlabel{Abs. Variantentypen}{{6.2}{11}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {6.3}Record Types}{13}} \newlabel{Abs. Recordtypen}{{6.3}{13}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {6.4}Recursive Data Types}{13}} \newlabel{Abs. Rekursive Datentypen}{{6.4}{13}} \citation{Matt93} \citation{Nels91} \citation{Matt93} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {6.5}Dynamic Data Types}{14}} \newlabel{Abs. Dynamische Datentypen}{{6.5}{14}} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {7}Subtype Relationships and Subtype Polymorphism}{14}} \newlabel{Abs. Subtypbeziehungen und Subtyppolymorphismus}{{7}{14}} \citation{Matt93} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {7.1}Subtyping on Predefined Types}{15}} \newlabel{Abs. Subtypbeziehungen vordefinierter Typen}{{7.1}{15}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {7.2}Subtyping on Tuple Types}{15}} \newlabel{Abs. Subtypbeziehungen zwischen Tupeltypen}{{7.2}{15}} \citation{Matt93} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {7.3}Subtyping on Record Types}{17}} \newlabel{Abs. Subtypbeziehungen zwischen Recordtypen}{{7.3}{17}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {7.4}Subtyping on Function Types}{17}} \newlabel{Abs. Subtypbeziehungen zwischen Funktionstypen}{{7.4}{17}} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {8}Parametric Polymorphism}{18}} \newlabel{Abs. Parametrischer Polymorphismus}{{8}{18}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {8.1}Polymorphic Functions}{18}} \newlabel{Abs. Polymorphe Funktionen}{{8.1}{18}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {8.2}Bounded Parametric Polymorphism}{19}} \newlabel{Abs. Eingeschraenkter parametrischer Polymorphismus}{{8.2}{19}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {8.3}Type Operators}{20}} \newlabel{Abs. Typoperatoren}{{8.3}{20}} \newlabel{Abs. Einfache Typoperatoren}{{8.3.1}{20}} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {8.3.1}Simple Type Operators}{20}} \newlabel{Abs. Rekursive Typoperatoren}{{8.3.2}{21}} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {8.3.2}Recursive Type Operators}{21}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {8.4}Abstract Data Types}{22}} \newlabel{Abs. Abstrakte Datentypen}{{8.4}{22}} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {9}Imperative Programming}{23}} \newlabel{Abs. Imperative Programmierung}{{9}{23}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {9.1}Mutable Variables}{23}} \newlabel{Abs. Modifizierbare Variablen}{{9.1}{23}} \citation{Matt93} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {9.2}Subtyping Rules for Mutable Bindings}{25}} \newlabel{Abs. Subtypisierungsregeln fuer modifizierbare Bindungen}{{9.2}{25}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {9.3}Control Structures}{25}} \newlabel{Abs. Kontrollstrukturen}{{9.3}{25}} \newlabel{Abs. Sequenz}{{9.3.1}{25}} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {9.3.1}Sequences}{25}} \newlabel{Abs. Bedingte Ausfuehrung}{{9.3.2}{26}} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {9.3.2}Conditional Expressions}{26}} \newlabel{Abs. Schleife}{{9.3.3}{27}} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {9.3.3}Loops}{27}} \newlabel{Abs. Ausnahmebehandlung}{{9.3.4}{27}} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {9.3.4}Exception Handling}{27}} \citation{Matt93} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {9.4}Arrays and Array Indexing}{29}} \newlabel{Abs. Felder und Feldindizierung}{{9.4}{29}} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {10}Multi-Paradigm Programming in Tycoon}{30}} \newlabel{Abs. Progammierstile}{{10}{30}} \@writefile{toc}{\string\contentsline\space {paragraph}{Functional Encapsulation}{30}} \citation{Matt93} \citation{Matt93} \citation{Matt93} \@writefile{toc}{\string\contentsline\space {paragraph}{Imperative Encapsulation}{31}} \@writefile{toc}{\string\contentsline\space {paragraph}{Method-Based Encapsulation}{31}} \citation{Matt93} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {11}Programming in the Large}{32}} \newlabel{Abs. Programmierung im Grossen}{{11}{32}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {11.1}Modules and Interfaces}{32}} \newlabel{Abs. Module und Schnittstellen}{{11.1}{32}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {11.2}Libraries}{33}} \newlabel{Abs. Bibliotheken}{{11.2}{33}} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {12}Persistence and Garbage Collection}{35}} \newlabel{Abs. Persistenz und Freispeicherverwaltung}{{12}{35}} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {13}External C Libraries}{35}} \newlabel{Sec. External C Libraries}{{13}{35}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {13.1}Function Calls from Tycoon to External C Libraries}{35}} \newlabel{Sec. Function Calls from Tycoon to External C Libraries}{{13.1}{35}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {13.2}Function Calls from External C Libraries to Tycoon}{37}} \newlabel{Sec. Function Calls from External C Libraries to Tycoon}{{13.2}{37}} \bibstyle{plain} \bibdata{../dbis-macros,../florian} \bibcite{AtBu86}{1} \bibcite{ACC81a}{2} \bibcite{B*88}{3} \bibcite{Card86}{4} \bibcite{Card89}{5} \bibcite{Card90}{6} \bibcite{CMMS91}{7} \bibcite{FiHa88}{8} \bibcite{GoRo83}{9} \bibcite{Hudak89}{10} \bibcite{I*83}{11} \bibcite{MODISO}{12} \bibcite{KeRi77}{13} \bibcite{Matt93}{14} \bibcite{MMS92}{15} \bibcite{MaSc91}{16} \bibcite{MaSc92a}{17} \bibcite{MaSc93b}{18} \bibcite{Maun91}{19} \bibcite{Mink88}{20} \bibcite{Mue91b}{21} \bibcite{Nels91}{22} \bibcite{RLW85}{23} \bibcite{ScMa90a}{24} \bibcite{S*92}{25} \bibcite{Wirt87a}{26}