Skip to content

Commit ec91834

Browse files
committed
high level overview of stdlib
1 parent 7882549 commit ec91834

File tree

6 files changed

+89
-16
lines changed

6 files changed

+89
-16
lines changed

FortranCon2020-community/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<section data-markdown="slides/website.md"></section>
2727
<section data-markdown="slides/discourse.md"></section>
2828
<section data-markdown="slides/challenges.md"></section>
29-
<section data-markdown="slides/next-steps.md"></section>
29+
<section data-markdown="slides/outlook.md"></section>
3030
<section data-markdown="slides/takeaways.md"></section>
3131
</div>
3232
</div>

FortranCon2020-community/slides/compilers.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
* Lack of a Fortran interpreter makes rapid prototyping
1313
difficult
1414
* Flang and LFortran under development (both LLVM based)
15+
* Lacking support for GPUs and other emerging platforms
1516
</section>
1617

1718

FortranCon2020-community/slides/fpm.md

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
### Fortran Package Manager (fpm)
99

10-
* Build system + package manager
10+
* Package manager + build system for Fortran
1111
* Inspired by Rust's Cargo 🦀
1212
* Focus on User Experience:
1313
- Easy to install and use
@@ -18,26 +18,36 @@
1818

1919
<section>
2020

21-
### Example use
21+
### fpm is a package manager 📦
2222

23-
```shell
24-
$ fpm build # build
25-
$ fpm install # (build and) install
26-
$ fpm run # (build and) run
27-
$ fpm test # (build and) run tests
23+
Compile and link external Fortran dependencies by simply specifying a git URL:
24+
25+
```toml
26+
[dependencies]
27+
datetime = {git="https://github.com/wavebitscientific/datetime-fortran"}
2828
```
2929
</section>
3030

3131

3232
<section>
3333

34-
### fpm is a package manager
34+
### fpm is a build system 🔨
35+
36+
Never again maintain complex Makefiles, CMakeLists, or custom build scripts
3537
</section>
3638

3739

3840
<section>
3941

40-
### fpm is a build system
42+
### Example use
43+
44+
```shell
45+
$ fpm new # create a new Fortran project
46+
$ fpm build # build the project
47+
$ fpm install # (build and) install
48+
$ fpm run # (build and) run the program
49+
$ fpm test # (build and) run tests
50+
```
4151
</section>
4252

4353

@@ -48,3 +58,10 @@ $ fpm test # (build and) run tests
4858
* See the fpm talk by Brad Richardson
4959
</section>
5060

61+
62+
<section>
63+
64+
### fpm on GitHub
65+
66+
https://github.com/fortran-lang/fpm
67+
</section>

FortranCon2020-community/slides/next-steps.md renamed to FortranCon2020-community/slides/outlook.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,17 @@
44
</section>
55

66

7+
<section>
8+
9+
### Next steps
10+
11+
* stdlib and fpm under ongoing development
12+
* Draft an fpm specification, begin Fortran implementation
13+
* Get more users for stdlib and fpm
14+
* Write tutorials for fortran-lang.org
15+
</section>
16+
17+
718
<section>
819

920
### One year outlook
@@ -12,7 +23,7 @@
1223
* Stable (non-experimental) release of stdlib
1324
* Fortran implementation of fpm
1425
* fpm can install most modern Fortran projects
15-
* Complete mini-books on most Fortran features
26+
* Complete tutorials on most Fortran features
1627
</section>
1728

1829

@@ -23,6 +34,7 @@
2334
* Google Summer of Code 2021
2435
* Seek sponsorship to support travel to meetings
2536
* NumFocus or non-profit organization
37+
* Present at conferences: FortranCon, SciPyConf, Supercomputing
2638
</section>
2739

2840
<section>

FortranCon2020-community/slides/pillars.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010

1111
1. Standard Library 🧰
1212
2. Package Manager 📦
13-
3. Compilers
14-
4. Website
13+
3. Compilers
14+
4. Website 🌐
1515
</section>
1616

1717

@@ -27,11 +27,11 @@
2727

2828
<section>
2929

30-
### Third pillar: Compilers
30+
### Third pillar: Compilers
3131
</section>
3232

3333

3434
<section>
3535

36-
### Fourth pillar: Website
36+
### Fourth pillar: Website 🌐
3737
</section>
Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,44 @@
1-
### Fortran Standard Library
1+
<section>
2+
3+
### Fortran Standard Library (stdlib)
4+
</section>
5+
6+
7+
<section>
8+
9+
### Why stdlib?
10+
11+
* Fortran has a limited set of built-in procedures
12+
* Limited capacity for general purpose programming
13+
* Wheels keep getting re-invented
14+
* Many requests to the Fortran Committee can be prototyped in libraries
15+
</section>
16+
17+
18+
<section>
19+
20+
### Implemented so far
21+
22+
* 34 procedures across 9 modules:
23+
`ascii`, `error`, `io`, `kinds`, `linalg`, `optval`, `quadrature`, `stats`, `system`
24+
* Compatible with any rank and kind
25+
* 16 direct source code contributors
26+
* 47 total contributors
27+
</section>
28+
29+
30+
<section>
31+
32+
### In-depth look at stdlib
33+
34+
* See the next talk by Jérémie Vandenplas
35+
</section>
36+
37+
38+
<section>
39+
40+
### Links
41+
42+
* Code: https://github.com/fortran-lang/stdlib
43+
* API docs: https://stdlib.fortran-lang.org
44+
</section>

0 commit comments

Comments
 (0)