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]).