1
1
\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
+ }
4
31
\usepackage [utf8 ]{inputenc }
5
32
% \usetheme{CambridgeUS}
6
33
% \usefonttheme{professionalfonts}
@@ -40,28 +67,39 @@ \section{Features}
40
67
\begin {frame }
41
68
\frametitle {Accessible information}
42
69
\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)
44
73
\end {itemize }
45
74
\end {frame }
46
75
47
76
\begin {frame }
48
77
\frametitle {TASTy}
49
78
\begin {itemize }
50
- \item
79
+ \item Extract information from them \pause
80
+ \item Independent from the compiler
51
81
\end {itemize }
52
82
\end {frame }
53
83
54
84
\begin {frame }
55
85
\frametitle {Linking}
56
86
\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
58
92
\end {itemize }
59
93
\end {frame }
60
94
61
95
\begin {frame }
62
96
\frametitle {Markdown}
63
97
\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.)
65
103
\end {itemize }
66
104
\end {frame }
67
105
@@ -70,29 +108,47 @@ \section{Architecture}
70
108
\begin {frame }
71
109
\frametitle {Representation}
72
110
\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
74
115
\end {itemize }
75
116
\end {frame }
76
117
77
118
\begin {frame }
78
119
\frametitle {Reference}
79
120
\begin {itemize }
80
- \item
121
+ \item Contain information about types \pause
122
+ \item Necessary for linking \pause
123
+ \item Inspired by Dottydoc
81
124
\end {itemize }
82
125
\end {frame }
83
126
84
- \begin {frame }
127
+ \begin {frame }[fragile]
85
128
\frametitle {User documentation}
86
129
\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 }
88
137
\end {itemize }
89
138
\end {frame }
90
139
91
140
\begin {frame }
92
141
\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 }
96
152
\end {frame }
97
153
98
154
\section {Dottydoc vs Tastydoc }
@@ -118,12 +174,16 @@ \section{Dottydoc vs Tastydoc}
118
174
\frametitle {Bugs fixed}
119
175
\begin {itemize }
120
176
\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
124
180
\item Wrong parents \pause
125
181
\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 }
127
187
\end {itemize }
128
188
\end {frame }
129
189
0 commit comments