Skip to content

Commit

Permalink
Merge pull request #2904 from objectionary/2903
Browse files Browse the repository at this point in the history
refreshments of EO paper
  • Loading branch information
yegor256 committed Mar 1, 2024
2 parents f95df98 + afdb1cb commit c658029
Show file tree
Hide file tree
Showing 19 changed files with 555 additions and 702 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/latexmk.yml
Expand Up @@ -11,7 +11,7 @@ concurrency:
cancel-in-progress: true
jobs:
latexmk:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- uses: yegor256/latexmk-action@0.10.9
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/shellcheck.yml
Expand Up @@ -15,8 +15,7 @@ concurrency:
jobs:
shellcheck:
name: Shellcheck
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Run ShellCheck
uses: ludeeus/action-shellcheck@master
- uses: ludeeus/action-shellcheck@master
5 changes: 4 additions & 1 deletion paper/.gitignore
Expand Up @@ -13,4 +13,7 @@ _minted-*
*.out
*.synctex.gz
*.zip
package/
package/
iexec.ret
*-SAVE-ERROR
_eolang/
5 changes: 4 additions & 1 deletion paper/DEPENDS.txt
Expand Up @@ -3,7 +3,6 @@ hard algorithmicx
hard algpseudocodex
hard anyfontsize
hard babel-russian
hard biblatex
hard biber
hard cancel
hard catchfile
Expand Down Expand Up @@ -48,3 +47,7 @@ hard trimspaces
hard upquote
hard wrapfig
hard xstring
hard cleveref
hard adjustbox
hard bibcop
hard silence
6 changes: 4 additions & 2 deletions paper/Makefile
Expand Up @@ -20,8 +20,10 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

.SHELLFLAGS = -e -x -c
.SHELLFLAGS=-e -x -c
.ONESHELL:
.PHONY: clean
SHELL=bash

TLROOT=$$(kpsewhich -var-value TEXMFDIST)
PACKAGES=ffcode to-be-determined href-ul minted
Expand All @@ -43,7 +45,7 @@ zip: *.tex sections/*.tex
${gsed} -i "s|0\.0\.0|$${version}|g" eolang-paper.tex
${gsed} -i "s|REPOSITORY|$(REPO)|g" eolang-paper.tex
pdflatex -shell-escape -halt-on-error eolang-paper.tex > /dev/null
biber eolang-paper
bibtex eolang-paper
pdflatex -halt-on-error eolang-paper.tex > /dev/null
pdflatex -halt-on-error eolang-paper.tex > /dev/null
rm -rf *.aux *.bcf *.blg *.fdb_latexmk *.fls *.log *.run.xml *.out *.exc
Expand Down
3 changes: 2 additions & 1 deletion paper/aspell.en.pws
Expand Up @@ -56,4 +56,5 @@ GOTO
unary
decoratee
cmtt
attr
attr
acmart
53 changes: 25 additions & 28 deletions paper/eolang-paper.tex
Expand Up @@ -20,19 +20,11 @@
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
% SOFTWARE.

\documentclass[sigplan,nonacm,natbib=false]{acmart}
\documentclass[sigplan,nonacm]{acmart}
\settopmatter{printfolios=false,printccs=false,printacmref=false}
\usepackage[utf8]{inputenc}
\usepackage[maxnames=1,minnames=1,maxbibnames=100,natbib=true,citestyle=authoryear,bibstyle=authoryear,doi=false,url=false,isbn=false,isbn=false,backend=biber]{biblatex}
\addbibresource{main.bib}

\ifnum\pdfshellescape=1
\usepackage[finalizecache]{minted}
\else
\usepackage[frozencache]{minted}
\fi

\usepackage[T2A,T1]{fontenc}
\usepackage{natbib} % for \citep and \citet
\usepackage{stmaryrd} % for arrows, like \mapstochar
\let\Bbbk\relax\usepackage{amssymb} % for special symbols
\usepackage{amsmath}
Expand All @@ -41,10 +33,13 @@
\usepackage{csquotes}
\usepackage[novert]{ffcode} % for fixed-fonts
\usepackage{phigure} % local, in this directory
\usepackage[capitalize]{cleveref} % for \cref
\usepackage{CJKutf8} % for chinese font
\usepackage{paralist} % for inlined lists
\usepackage{cancel} % to enable \cancel command
\usepackage{anyfontsize} % To get rid of font not found warnings
\usepackage{eolang} % for EO sources and formulas
\usepackage{bibcop} % for checking quality of the .bib file
\usepackage{tabularx} % for special tables
\usepackage{to-be-determined} % for \tbd command
\usepackage{href-ul} % for nicely underscored links
Expand All @@ -55,16 +50,16 @@
\usepackage{pgffor} % to enable \foreach
\usepackage{mathtools} % for matrix* environment

\usepackage{silence}
\WarningFilter{acmart}{\vspace should only be used to provide space above/below}

\tolerance=1500
\raggedbottom
\setlength\headheight{21pt}

\newcommand\nospell[1]{#1}
\newcommand\br{\\[-4pt]}
\newcommand\figcap[1]{\caption{#1}\Description{#1}}
\newcommand\phic{$\varphi$-calculus}
\newcommand\eo{{\sffamily EO}}
\newcommand\XMIR{{\sffamily XMIR}}
\newcommand\lref[1]{the line no.~\ref{ln:#1}}
\newcommand\lrefs[2]{the lines~\ref{ln:#1}--\ref{ln:#2}}

Expand All @@ -88,7 +83,7 @@
\setlength{\footskip}{13.0pt}

\acmBooktitle{untitled}
\title{EOLANG and \texorpdfstring{$\varphi$}{phi}-calculus}
\title{EOLANG and \texorpdfstring{\(\varphi\)}{phi}-calculus}
\subtitle{%
Ver:
\texorpdfstring{
Expand Down Expand Up @@ -117,12 +112,12 @@
the rendered version is \href{https://github.com/REPOSITORY/releases/tag/0.0.0}{\ff{0.0.0}}.}.
However, despite
its industrial and academic popularity, OOP is still missing
a formal apparatus similar to $\lambda$-calculus, which functional
a formal apparatus similar to \(\lambda\)-calculus, which functional
programming is based on. There were a number of attempts to formalize
OOP, but none of them managed to cover all the features available in
modern OO programming languages, such as C++ or Java.
We have made yet another attempt and created \phic{}. We also
created EOLANG (also called \eo{}), an experimental
created EOLANG (also called \eolang{}), an experimental
programming language based on \phic{}.
\end{abstract}

Expand All @@ -134,12 +129,12 @@ \section{Introduction}
\input{sections/overview}

The rest of the paper is dedicated to the discussion of the
syntax of the language we created based on the calculus,
syntax of the language that we created based on the calculus,
the calculus itself, its semantics, and pragmatics.
In order to make it easier to understand, we start
the discussion with the syntax of the language, while the calculus
is derived from it. Then, we discuss the
key features of \eo{} and the differences between it and other
key features of \eolang{} and the differences between it and other
programming languages. We also discuss how the absence of traditional
OOP features, such as mutability or inheritance, affect the complexity of code.
At the end of the paper we overview the work done by others in the area of
Expand All @@ -153,17 +148,17 @@ \section{Calculus}
\label{sec:calculus}
\input{sections/calculus}

\section{Semantics}
\label{sec:semantics}
\input{sections/semantics}
% \section{Semantics}
% \label{sec:semantics}
% \input{sections/semantics}

\section{Pragmatics}
\label{sec:pragmatics}
\input{sections/pragmatics}
% \section{Pragmatics}
% \label{sec:pragmatics}
% \input{sections/pragmatics}

\section{XMIR}
\label{sec:xmir}
\input{sections/xmir}
% \section{XMIR}
% \label{sec:xmir}
% \input{sections/xmir}

\section{Key Features}
\label{sec:features}
Expand All @@ -184,7 +179,9 @@ \section{Related Work}
\section{Acknowledgments}
\input{sections/acks}

\printbibliography
{\raggedright
\bibliographystyle{ACM-Reference-Format}
\bibliography{main}}

\clearpage

Expand Down
8 changes: 5 additions & 3 deletions paper/sections/acks.tex
Expand Up @@ -8,7 +8,7 @@
\nospell{Ali-Sultan Ki-giz\-ba\-ev},
\nospell{Nikolai Ku\-da\-sov},
\nospell{Alexander Legalov},
\nospell{Tymur $\lambda$ysenko},
\nospell{Tymur \(\lambda\)ysenko},
\nospell{Alexandr Naumchev},
\nospell{Alonso A. Ortega},
\nospell{John Page},
Expand All @@ -20,9 +20,11 @@
\nospell{Sergei Skliar},
\nospell{Stian Soiland-Reyes},
\nospell{Viacheslav Tradunskyi},
\nospell{Maxim Trunnikov},
\nospell{Ilya Trub},
\nospell{C茅sar Soto Valero},
\nospell{David West},
and
\nospell{David West}
for their contribution to the development of \eo{} and \phic{}.
\nospell{Vladimir Zakharov}
for their contribution to the development of \eolang{} and \phic{}.

0 comments on commit c658029

Please sign in to comment.