\relax \providecommand\hyper@newdestlabel[2]{} \providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} \HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined \global\let\oldcontentsline\contentsline \gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} \global\let\oldnewlabel\newlabel \gdef\newlabel#1#2{\newlabelxx{#1}#2} \gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} \AtEndDocument{\ifx\hyper@anchor\@undefined \let\contentsline\oldcontentsline \let\newlabel\oldnewlabel \fi} \fi} \global\let\hyper@last\relax \gdef\HyperFirstAtBeginDocument#1{#1} \providecommand\HyField@AuxAddToFields[1]{} \providecommand\HyField@AuxAddToCoFields[2]{} \@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{section.1}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {2}Your own idea!}{1}{section.2}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {3}Language features}{1}{section.3}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Imperative features (2+)}{1}{subsection.3.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Implicit parameters (1)}{2}{subsection.3.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Implicit conversions (1)}{3}{subsection.3.3}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Tuples (1)}{3}{subsection.3.4}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Improved string support (1+)}{4}{subsection.3.5}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Higher-order functions (2+, challenging)}{4}{subsection.3.6}\protected@file@percent } \newlabel{closures}{{3.6}{4}{Higher-order functions (2+, challenging)}{subsection.3.6}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Custom operators (2)}{5}{subsection.3.7}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Improved Parameters (2)}{6}{subsection.3.8}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.9}List comprehensions (2)}{6}{subsection.3.9}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.10}Inlining (1+)}{6}{subsection.3.10}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {4}Type systems}{7}{section.4}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Polymorphic types (2)}{7}{subsection.4.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Case class subtyping (2)}{8}{subsection.4.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Arrays and range types}{8}{subsection.4.3}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.1}Dynamically-checked range types (2)}{9}{subsubsection.4.3.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.2}Statically-checked range types (2+, challenging)}{9}{subsubsection.4.3.2}\protected@file@percent } \@writefile{toc}{\contentsline {paragraph}{Constant-bounds version (2)}{10}{section*.1}\protected@file@percent } \@writefile{toc}{\contentsline {paragraph}{Dependently-typed version (3)}{10}{section*.2}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {5}Alternative frontends/backends}{11}{section.5}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Code formatter (1)}{11}{subsection.5.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Language Server (2)}{11}{subsection.5.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Formalization of Amy (1)}{11}{subsection.5.3}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.4}JVM backend (2)}{12}{subsection.5.4}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.5}C backend (3)}{12}{subsection.5.5}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {6}Execution}{12}{section.6}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Memory deallocation (3)}{12}{subsection.6.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Lazy evaluation (1-2)}{12}{subsection.6.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {6.3}Final code optimizations (1+)}{13}{subsection.6.3}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {6.4}Tail call optimization (1)}{14}{subsection.6.4}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {6.5}Foreign-function interface (FFI) to JavaScript (2)}{14}{subsection.6.5}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {6.6}REPL: Read-Eval-Print Loop (3)}{15}{subsection.6.6}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {6.7}Virtual machine (3)}{15}{subsection.6.7}\protected@file@percent } \gdef \@abspage@last{15}