Changeset 223b631


Ignore:
Timestamp:
Mar 13, 2024, 11:52:35 AM (9 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
2583407, 54af365, df78cce
Parents:
6337916
Message:

add comparison table for related work

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/jiada_liang_MMath/relatedwork.tex

    r6337916 r223b631  
    1616Values of algebraic types are access by subscripting, field qualification, or type (pattern) matching.
    1717
    18 Enumeration types exist in many popular programming languages, both past and present, \eg Pascal~\cite{Pascal}, Ada~\cite{Ada}, \Csharp~\cite{Csharp}, Haskell~\cite{Haskell} \CC, Go~\cite{Go}, Java~\cite{Java}, Modula-3~\cite{Modula-3}, Rust~\cite{Rust}, Swift~\cite{Swift}, Python~\cite{Python}.
     18Enumeration types exist in many popular programming languages, both past and present, \eg Pascal~\cite{Pascal}, Ada~\cite{Ada}, \Csharp~\cite{Csharp}, OCaml~\cite{OCaml} \CC, Go~\cite{Go}, Java~\cite{Java}, Modula-3~\cite{Modula-3}, Rust~\cite{Rust}, Swift~\cite{Swift}, Python~\cite{Python}.
    1919Among theses languages, there are a large set of overlapping features, but each language has its own unique extensions and restrictions.
    2020
     
    24652465\lstnewenvironment{ocaml}[1][]{\lstset{language=OCaml,escapechar=\$,moredelim=**[is][\color{red}]{@}{@},}\lstset{#1}}{}
    24662466
    2467 OCaml~\cite{Ocaml} provides a variant (union) type, where multiple heterogeneously-typed objects share the same storage.
     2467OCaml provides a variant (union) type, where multiple heterogeneously-typed objects share the same storage.
    24682468The simplest form of the variant type is a list of nullary datatype constructors, which is like an unscoped, pure enumeration.
    24692469\begin{ocaml}
     
    25542554  - Gregor Richards
    25552555\end{comment}
     2556
     2557
     2558\section{Comparison}
     2559
     2560\begin{tabular}{r|ccccccccc}
     2561feat. / lang. & Pascal  & Ada   & \Csharp       & OCaml & Java  & Modula-3      & Rust  & Swift & Python        \\
     2562\hline
     2563pure            &                       &               &                       &               &               &                       &               &               &                       \\
     2564ordered         &                       &               &                       &               &               &                       &               &               &                       \\
     2565setable         &                       &               &                       &               &               &                       &               &               &                       \\
     2566auto-init       &                       &               &                       &               &               &                       &               &               &                       \\
     2567scoped          &                       &               &                       &               &               &                       &               &               &                       \\
     2568typed           &                       &               &                       &               &               &                       &               &               &                       \\
     2569switch          &                       &               &                       &               &               &                       &               &               &                       \\
     2570loop            &                       &               &                       &               &               &                       &               &               &                       \\
     2571array           &                       &               &                       &               &               &                       &               &               &                       \\
     2572\end{tabular}
Note: See TracChangeset for help on using the changeset viewer.