Skip to content

Commit d65a085

Browse files
committed
integration of most comments
1 parent 349f3c9 commit d65a085

File tree

1 file changed

+78
-24
lines changed

1 file changed

+78
-24
lines changed

FortranCon2020-stdlib/stdlib_talk.tex

Lines changed: 78 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@
6262
\item After standardization and implementation in compilers
6363
\end{itemize}
6464
\item No Standard Library
65+
\begin{itemize}
66+
\item Several attempts in the past (e.g. available on GitHub)
67+
\end{itemize}
6568
\end{itemize}
6669
\center
6770
\textcolor{red}{\textbf{Consequence: we all reinvent the wheel continuously!}}
@@ -72,7 +75,7 @@
7275
\center
7376
\Large
7477
\textcolor{blue}{Develop} and \textcolor{blue}{provide}\\
75-
a \textcolor{blue}{community} driven and agreed upon de facto\\
78+
a \textcolor{blue}{community} driven and agreed-upon de facto\\
7679
\textcolor{blue}{standard library}\\
7780
for Modern Fortran
7881
\end{frame}
@@ -83,8 +86,12 @@
8386
\begin{itemize}
8487
\item One of the four pillars of \textcolor{blue}{fortran-lang}
8588
\item \textcolor{blue}{MIT} License
86-
\item GitHub: https://github.com/fortran-lang/stdlib
87-
\item API docs: https://stdlib.fortran-lang.org
89+
\item Aims to collaborate with the Fortran Standard Committee
90+
\item Links:
91+
\begin{itemize}
92+
\item GitHub: https://github.com/fortran-lang/stdlib
93+
\item API docs: https://stdlib.fortran-lang.org
94+
\end{itemize}
8895
\end{itemize}
8996
\end{frame}
9097

@@ -111,6 +118,21 @@
111118
\end{frame}
112119

113120

121+
\begin{frame}[c]{Currently discussed in stdlib}
122+
Several discussions on:
123+
\begin{itemize}
124+
\item Assertion
125+
\item Logging
126+
\item OS integration
127+
\item Random numbers
128+
\item Sparse matrices
129+
\item Special functions
130+
\item Strings
131+
\item ...
132+
\end{itemize}
133+
\end{frame}
134+
135+
114136
\begin{frame}[c]{Currently implemented in stdlib}
115137
\begin{block}{~\vspace{0.5cm}}
116138
\vspace{-0.8cm}
@@ -143,25 +165,26 @@
143165
\end{itemize}
144166
\end{frame}
145167

146-
\begin{frame}[fragile]{Examples}
168+
\begin{frame}[fragile]{Example - \textit{optval} + \textit{fypp}}
169+
147170
\begin{lstlisting}
171+
#:set KINDS_TYPES = REAL_KINDS_TYPES + INT_KINDS_TYPES + &
172+
& CMPLX_KINDS_TYPES + [('l1','logical')]
148173
...
149-
use stdlib_experimental_io, only: loadtxt, savetxt
150-
use stdlib_experimental_linalg, only: diag
151-
use stdlib_experimental_stats, only: moment
152-
...
153-
real, allocatable :: A(:,:)
154-
call loadtxt('example.dat', A)
155-
...
156-
print*, diag(A)
157-
...
158-
call savetxt('moment.dat',&
159-
moment(A, order = 3, dim = 1, mask = (A > 5.)))
160-
... \end{lstlisting}
174+
#:for k1, t1 in KINDS_TYPES
175+
pure elemental function optval_${t1[0]}$${k1}$(x, default)&
176+
result(y)
177+
${t1}$, intent(in), optional :: x
178+
${t1}$, intent(in) :: default
179+
${t1}$ :: y
180+
...
181+
end function optval_${t1[0]}$${k1}$
182+
#:endfor\end{lstlisting}
183+
161184
\end{frame}
162185

163186

164-
\begin{frame}[fragile]{Example - optval}
187+
\begin{frame}[fragile]{Example - \textit{optval}}
165188
\begin{lstlisting}
166189
...
167190
use stdlib_experimental_optval, only: optval
@@ -175,6 +198,24 @@
175198
\end{frame}
176199

177200

201+
\begin{frame}[fragile]{Examples}
202+
\begin{lstlisting}
203+
...
204+
use stdlib_experimental_io, only: loadtxt, savetxt
205+
use stdlib_experimental_linalg, only: diag
206+
use stdlib_experimental_stats, only: moment
207+
...
208+
real, allocatable :: A(:,:)
209+
call loadtxt('example.dat', A)
210+
...
211+
print*, diag(A)
212+
...
213+
call savetxt('moment.dat',&
214+
moment(A, order = 3, dim = 1, mask = (A > 5.)))
215+
... \end{lstlisting}
216+
\end{frame}
217+
218+
178219
\begin{frame}[c]{API docs (https://stdlib.fortran-lang.org)}
179220
\begin{center}
180221
\includegraphics[width=0.9\textwidth]{apidocsstdlib}
@@ -200,43 +241,56 @@
200241

201242

202243
\begin{frame}[c]{Contributions through GitHub}
203-
https://github.com/fortran-lang/stdlib\\
204-
\textcolor{blue}{Source codes}
244+
%https://github.com/fortran-lang/stdlib\\
245+
Since \textcolor{blue}{December 2019}:
246+
\begin{itemize}
247+
\item \textcolor{blue}{Source codes}
205248
\begin{itemize}
206249
\item 16 contributors
207250
\item $>$ 100 Pull Requests
208251
\end{itemize}
209-
\textcolor{blue}{Issues / ideas / comments}
252+
\item \textcolor{blue}{Issues / ideas / comments}
210253
\begin{itemize}
211254
\item 47 contributors
212255
\item $>$ 110 GitHub issues
213256
\end{itemize}
257+
\end{itemize}
214258
\end{frame}
215259

216260

261+
\begin{frame}[c]{How to contribute to stdlib?}
262+
\begin{center}
263+
\Huge{\textcolor{red}{Any contribution is welcome!}}
264+
\end{center}
265+
\end{frame}
266+
217267
\begin{frame}[c]{How to contribute to stdlib?}
218268
\textcolor{blue}{Through GitHub}\\
219269
\begin{itemize}
220-
\item Issues
270+
\item \textcolor{mygreen}{Issues}
221271
\begin{itemize}
222272
\item Proposition of ideas, issues, comments
223273
\end{itemize}
224-
\item Pull Requests
274+
\item \textcolor{mygreen}{Pull Requests}
225275
\begin{itemize}
226276
\item To contribute to the source code and specs
277+
\item Might be based on existing contributors' code (License!)
227278
\end{itemize}
228279
\end{itemize}
229280
\textcolor{blue}{Code of Conduct}\\
281+
\begin{itemize}
282+
\item Please check it first!
283+
\end{itemize}
230284
\end{frame}
231285

232286
\begin{frame}[c]{Contributing to the source code?}
233-
\textcolor{blue}{Workflow}
287+
\textcolor{blue}{Workflow} (See the complete description on GitHub)
234288
\begin{enumerate}
235289
\item Proposition of an \textbf{idea}
236290
\item Proposition of the \textbf{API}
237291
\item Discussion of the \textbf{specs}
238292
\item Pull request of an \textbf{implementation} in the experimental namespace + associated unit tests
239-
\item Stable \textbf{release} of procedures in the experimental namespace
293+
\item Stable \textbf{release} of procedures in the experimental namespace (still to be clarified)
240294
\end{enumerate}
241295
\end{frame}
242296

0 commit comments

Comments
 (0)