1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
extends /layout-main.pug
block set_page
- let page = 'clean.html'
block page
.container
section
p
| #[a(href="https://clean-lang.org", target="_blank") Clean] is a functional programming language, similar to Haskell.
| I have been actively involved with the development of Clean and its ecosystem since 2015.
| Here are some of my projects:
table.main_table
tr
td: a(href="https://clean-and-itasks.gitlab.io/nitrile") Nitrile
td A package manager and build tool.
tr
td: a(href="https://cloogle.org") Cloogle
td A search engine with type search capability.
tr
td: a(href="https://gitlab.com/clean-and-itasks/abc-interpreter") ABC Interpreter
td
| A sandboxed Clean runtime, enabling seamless interoperability with a Clean host.
| When used in the browser this allows programmers to write a full-stack application entirely in Clean.
tr
td: a(href="https://gitlab.com/clean-and-itasks/clean-llvm") Clean-LLVM
td A new compiler backend using LLVM.
p ... and more: see #[a(href="https://gitlab.com/users/camilstaps/projects", target="_blank") GitLab].
section
p
| My BSc and MSc theses were also on Clean.
| The latter was published at IFL:
table.main_table.publications
tr
td 2019
+pub(2019, 'Lazy interworking of compiled and interpreted code for sandboxing and distributed systems')(authors='Staps, Camil, John van Groningen & Rinus Plasmeijer', booktitle='Implementation and Application of Functional Languages (IFL \'19), September 25–27, 2019, Singapore, Singapore', editors='Jurriën Stutterheim & Wei Ngan Chin', doi='10.1145/3412932.3412941', oa, type='chapter')
tr
td
+pub(2019, 'Lazy interworking of compiled and interpreted code for sandboxing and distributed systems')(misc='Radboud University Nijmegen MSc. thesis', url='https://www.ru.nl/publish/pages/769526/thesis_1.pdf', oa, type='master-thesis')
tr
td 2017
+pub(2017, 'Code generation for the Thumb-2 instruction set')(misc='Radboud University Nijmegen BSc. thesis', url='https://cs.ru.nl/bachelorscripties/2017/Camil_Staps___4498062___Code-generation-for-the-Thumb-2-instruction-set.pdf', oa, type='bachelor-thesis')
section
p
| And finally some presentations on Clean:
table.main_table.presentations
tr
td 2020
td Jan 10, #[a(href="https://sites.google.com/view/nl-fp-day-2020/home", title="Dutch Functional Programming Day", target="_blank") NL-FP day]
td With John van Groningen and Rinus Plasmeijer. Lazy interworking of compiled and interpreted code.
tr
td 2019
td Sep 27, #[a(href="https://web.archive.org/web/20201201105043/http://2019.iflconference.org/", title="Implementation and application of Functional Languages", target="_blank") IFL31]
td By Rinus Plasmeijer, with John van Groningen. Lazy interworking of compiled and interpreted code for sandboxing and distributed systems.
tr
td 2018
td Jan 5, #[a(href="http://clean.cs.ru.nl/NL-FP_dag_2018", title="Dutch Functional Programming Day", target="_blank") NL-FP day]
td #[a(href="https://cloogle.org", target="_blank") Cloogle]: a programming language search engine and its applications (#[a(href="https://clean.cs.ru.nl/NL-FP_dag_2018#Camil_Staps_-_Cloogle:_a_programming_language_search_engine_and_its_applications", target="_blank") abstract & slides]).
|