Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
S
softlab-thesis
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Achilles Benetopoulos
softlab-thesis
Commits
d5dc8bc2
Commit
d5dc8bc2
authored
Jul 25, 2019
by
Achilles Benetopoulos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add annotations table
parent
a55aba05
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
2 deletions
+31
-2
thesis.tex
thesis.tex
+31
-2
No files found.
thesis.tex
View file @
d5dc8bc2
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
\usepackage
[svgnames]
{
xcolor
}
\usepackage
[svgnames]
{
xcolor
}
\usepackage
{
color
}
\usepackage
{
color
}
\usepackage
{
caption
}
\usepackage
{
caption
}
\usepackage
{
array
}
\DeclareCaptionLabelFormat
{
algocaption
}{
Algorithm
}
% defines a new caption label as Algorithm x.y
\DeclareCaptionLabelFormat
{
algocaption
}{
Algorithm
}
% defines a new caption label as Algorithm x.y
\lstnewenvironment
{
algorithm
}
[1][]
%defines the algorithm listing environment
\lstnewenvironment
{
algorithm
}
[1][]
%defines the algorithm listing environment
...
@@ -718,7 +719,8 @@ biz() ->
...
@@ -718,7 +719,8 @@ biz() ->
τύπους.
τύπους.
\end{itemize}
\end{itemize}
Για μια ανάλυση του τρόπου με τον οποίο δουλεύει ο Dialyzer, ο αναγνώστης παραπέμπεται στα [].
Για μια ανάλυση του τρόπου με τον οποίο δουλεύει ο Dialyzer, ο αναγνώστης παραπέμπεται στα
\cite
{
dialyzer-reference-manual
}
και
\cite
{
practical-success-typings
}
\cite
{
lsp-scala
}
.
Χρησιμοποιούμε μια έκδοση του Dialyzer βασισμένη σε αυτήν που περιέχεται στην έκδοση 19.0 του Erlang/OTP, ελαφρώς
Χρησιμοποιούμε μια έκδοση του Dialyzer βασισμένη σε αυτήν που περιέχεται στην έκδοση 19.0 του Erlang/OTP, ελαφρώς
τροποποιημένη για τους σκοπούς μας, ώστε να διατηρεί την πληροφορία που σχετίζεται με τους τύπους δεδομένων των
τροποποιημένη για τους σκοπούς μας, ώστε να διατηρεί την πληροφορία που σχετίζεται με τους τύπους δεδομένων των
...
@@ -777,6 +779,34 @@ session type της μιας στο session type της άλλης θα οδηγ
...
@@ -777,6 +779,34 @@ session type της μιας στο session type της άλλης θα οδηγ
οποία μπορεί να περιγράψει τον αναμενόμενο τύπο συνεδρίας για μια συνάρτηση, όπως φαίνεται στο σχήμα 5.3. Τα annotations
οποία μπορεί να περιγράψει τον αναμενόμενο τύπο συνεδρίας για μια συνάρτηση, όπως φαίνεται στο σχήμα 5.3. Τα annotations
αυτά αντιστοιχούν στις συναρτήσεις
$
server
/
0
$
,
$
simple
\_
client
/
1
$
και
$
recursive
\_
client
/
2
$
του σχήματος 5.1.
αυτά αντιστοιχούν στις συναρτήσεις
$
server
/
0
$
,
$
simple
\_
client
/
1
$
και
$
recursive
\_
client
/
2
$
του σχήματος 5.1.
\begin{center}
\begin{tabular}
{
| m
{
3cm
}
| m
{
3cm
}
| m
{
3cm
}
| m
{
3cm
}
|
}
\hline
\multicolumn
{
4
}{
|c|
}{$
sestype
$
Annotations
}
\\
\hline
Action Tag
&
First Argument
&
Second Argument
&
Explanation
\\
\hline
?f
\_
rec
\_
tag(T, E)
&
$
T
$
: fix reference στην αναδρομική συν/ση
&
$
E
$
: session type της συν/σης
&
Περιγράφει τον
τύπο συνεδρίας μιας αναδρομικής συνάρτησης
\\
?sa
\_
recv
\_
tag(DT1, DT2)
&
$
DT
1
$
: τύπος δεδομένων του σώματος του receive clause
&
$
DT
2
$
: τύπος δεδομένων που
θα κάνει match με το receive clause
&
Session Type ενός receive clause
\\
?sa
\_
send
\_
tag(P, DT)
&
$
P
$
: pid reference του παραλήπτη
&
$
DT
$
: τύπος δεδομένων του μηνύματος που αποστέλεται
&
Session Type ενός send clause
\\
?sa
\_
offer
\_
tag(L)
&
$
L
$
: λίστα με session types των receive clauses
&
-
&
Session Type ενός multi-branch receive statement
\\
?sa
\_
choice
\_
tag(L)
&
$
L
$
: λίστα με session types των send clauses
&
-
&
Session Type ενός branching execution όπου
το πρώτο session action κάθε branch είναι ένα send clause
\\
?sa
\_
rec
\_
tag(T)
&
$
T
$
: reference σε μια αναδρομική συν/ση
&
-
&
Session Type αναδρομικής κλήσης συν/σης
\\
\hline
\end{tabular}
\end{center}
%%\begin{center}
%%\begin{center}
%% \begin{tabular}{||c c c c||}
%% \begin{tabular}{||c c c c||}
%% \hline
%% \hline
...
@@ -795,7 +825,6 @@ session type της μιας στο session type της άλλης θα οδηγ
...
@@ -795,7 +825,6 @@ session type της μιας στο session type της άλλης θα οδηγ
%% \end{tabular}
%% \end{tabular}
%%\end{center}
%%\end{center}
%% TODO add data types to macros
\begin{lstlisting}
[language=Erlang, caption=-sestype() annotation, basicstyle=
\tiny
]
\begin{lstlisting}
[language=Erlang, caption=-sestype() annotation, basicstyle=
\tiny
]
-sestype(
{{
server, 0
}
,
-sestype(
{{
server, 0
}
,
?f
_
rec
_
tag(1, [?sa
_
offer
_
tag([
{
?dt
_
any
_
tag, [?sa
_
recv
_
tag(?dt
_
any
_
tag,
?f
_
rec
_
tag(1, [?sa
_
offer
_
tag([
{
?dt
_
any
_
tag, [?sa
_
recv
_
tag(?dt
_
any
_
tag,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment