Skip to content

Commit 51dd415

Browse files
committed
Presentation first draft
1 parent 7d144b1 commit 51dd415

File tree

2 files changed

+77
-17
lines changed

2 files changed

+77
-17
lines changed
49.7 KB
Binary file not shown.

tastydoc/report/presentation/presentation.tex

Lines changed: 77 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,33 @@
11
\documentclass{beamer}
2-
3-
\usepackage{listings}
2+
\usepackage{textcomp}
3+
\usepackage{listings}
4+
\usepackage{tikz}
5+
\usetikzlibrary{shapes.geometric, arrows, positioning, shadows}
6+
\tikzstyle{process} = [rectangle, minimum width=3cm, minimum height=1cm, text centered, text width=6cm, draw=black]
7+
\tikzstyle{arrow} = [thick,->,>=stealth]
8+
\lstset{
9+
backgroundcolor=\color{white}, % choose the background color; you must add \usepackage{color} or \usepackage{xcolor}; should come as last argument
10+
basicstyle=\footnotesize, % the size of the fonts that are used for the code
11+
breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
12+
breaklines=true, % sets automatic line breaking
13+
captionpos=b, % sets the caption-position to bottom
14+
commentstyle=\color{green}, % comment style
15+
escapeinside={\%*}{*)}, % if you want to add LaTeX within your code
16+
extendedchars=true, % lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8
17+
frame=single, % adds a frame around the code
18+
keepspaces=true, % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible)
19+
keywordstyle=\color{blue}, % keyword style
20+
language=Scala, % the language of the code
21+
numbers=none, % where to put the line-numbers; possible values are (none, left, right)
22+
rulecolor=\color{black}, % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. comments (green here))
23+
showspaces=false, % show spaces everywhere adding particular underscores; it overrides 'showstringspaces'
24+
showstringspaces=false, % underline spaces within strings only
25+
showtabs=false, % show tabs within strings adding particular underscores
26+
stepnumber=2, % the step between two line-numbers. If it's 1, each line will be numbered
27+
stringstyle=\color{purple}, % string literal style
28+
tabsize=2, % sets default tabsize to 2 spaces
29+
title=\lstname % show the filename of files included with \lstinputlisting; also try caption instead of title
30+
}
431
\usepackage[utf8]{inputenc}
532
%\usetheme{CambridgeUS}
633
%\usefonttheme{professionalfonts}
@@ -40,28 +67,39 @@ \section{Features}
4067
\begin{frame}
4168
\frametitle{Accessible information}
4269
\begin{itemize}
43-
\item
70+
\item Annotations, modifiers (including scope modifiers), parameters, type parameters, and return types \pause
71+
\item Members, parents, constructors, known subclasses and companion \pause
72+
\item User documentation (Wiki-style \& Markdown)
4473
\end{itemize}
4574
\end{frame}
4675

4776
\begin{frame}
4877
\frametitle{TASTy}
4978
\begin{itemize}
50-
\item
79+
\item Extract information from them \pause
80+
\item Independent from the compiler
5181
\end{itemize}
5282
\end{frame}
5383

5484
\begin{frame}
5585
\frametitle{Linking}
5686
\begin{itemize}
57-
\item
87+
\item To types \pause
88+
\item Companion \pause
89+
\item Annotations \pause
90+
\item Scope modifiers \pause
91+
\item Parents
5892
\end{itemize}
5993
\end{frame}
6094

6195
\begin{frame}
6296
\frametitle{Markdown}
6397
\begin{itemize}
64-
\item
98+
\item Easy to edit by hand \& preview \pause
99+
\item Easy to add own files \pause
100+
\item Easy for the user to make links \pause
101+
\item Git hosting service have built-in preview \pause
102+
\item Easy to convert to another format (HTML, PDF, etc.)
65103
\end{itemize}
66104
\end{frame}
67105

@@ -70,29 +108,47 @@ \section{Architecture}
70108
\begin{frame}
71109
\frametitle{Representation}
72110
\begin{itemize}
73-
\item
111+
\item Contain information about an entity \pause
112+
\item Easy to use, no knowledge of TASTy required \pause
113+
\item Code is easy to maintain \pause
114+
\item Similar to Dottydoc Entity \textrightarrow can reuse Dottydoc code
74115
\end{itemize}
75116
\end{frame}
76117

77118
\begin{frame}
78119
\frametitle{Reference}
79120
\begin{itemize}
80-
\item
121+
\item Contain information about types \pause
122+
\item Necessary for linking \pause
123+
\item Inspired by Dottydoc
81124
\end{itemize}
82125
\end{frame}
83126

84-
\begin{frame}
127+
\begin{frame}[fragile]
85128
\frametitle{User documentation}
86129
\begin{itemize}
87-
\item
130+
\item Access to all @ except \texttt{@usecase} and \texttt{@define}\pause
131+
\item Support Wiki-style and Markdown \pause
132+
\item Uses Dottydoc code modified for:
133+
\begin{itemize}
134+
\item Markdown output
135+
\item Small changes in structure
136+
\end{itemize}
88137
\end{itemize}
89138
\end{frame}
90139

91140
\begin{frame}
92141
\frametitle{Workflow}
93-
\begin{itemize}
94-
\item
95-
\end{itemize}
142+
\begin{center}
143+
\begin{tikzpicture}[node distance=2cm]
144+
\node (parse) [process] {Parse command line arguments};\pause
145+
\node (convert) [process, below of=parse] {Convert TASTy files to Representations while keeping track of seen packages};
146+
\draw [arrow] (parse) -- (convert);\pause
147+
\node (output) [process, below of=convert] {Traverse Representations, parse user documentation, format output and write to files};
148+
149+
\draw [arrow] (convert) -- (output);
150+
\end{tikzpicture}
151+
\end{center}
96152
\end{frame}
97153

98154
\section{Dottydoc vs Tastydoc}
@@ -118,12 +174,16 @@ \section{Dottydoc vs Tastydoc}
118174
\frametitle{Bugs fixed}
119175
\begin{itemize}
120176
\item Buggy output
121-
\begin{example}
122-
\texttt{[31m2L[0m}
123-
\end{example}\pause
177+
\begin{lstlisting}
178+
final val BITS_PER_LAZY_VAL : [31m2L[0m
179+
\end{lstlisting}\pause
124180
\item Wrong parents \pause
125181
\item Annotations \pause
126-
\item Compiler artifacts
182+
\item Compiler artifacts \pause
183+
\item potentially program breaking code
184+
\begin{lstlisting}[language=scala]
185+
def parents: List[Entity] = this :: this.parents
186+
\end{lstlisting}
127187
\end{itemize}
128188
\end{frame}
129189

0 commit comments

Comments
 (0)