
Nikolaj Banke Jensen
🇩🇰/🇬🇧 • Machine Learning, Programming Languages, Category Theory
I'm a student in computer science, primarily interested in machine learning, programming languages, and the intersection between the two. Machine learning is compositional in nature, so I'm exploring how type theory and category theory can help reason about these systems. Ultimately, I want to create better tools for working with, and proving properties of, compositional structures.
Want to get in contact? Email me at nikolaj@nikolajjensen.com.
Publications
What I'm working on
Kepler
This is a C++ implementation of APL I wrote for my BSc dissertation. It is one of the most feature-rich open-source APL implementations available, supporting most primitive functions and operators. The following Kepler program sets up and runs 5 rounds of Conway's Game of Life!
⍝ Setting up a 10x10 board.
glider ← 3 3⍴1 1 1 1 0 0 0 1 0
board ← ¯10 ¯10↑glider
⍝ The function of life.
Life ← {1 ⍵∨.∧3 4=⊂+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}
⍝ Helpers for updating the board.
Update ← {board ← Life board}
Round ← {Update ◊ ⎕←'\n \n' ◊ ⎕←board}
⍝ Run 5 rounds.
(Round⍣5)0
If you like functional programming, (semi-)esoteric languages, and funky symbols, you'll love Kepler.
SunCalc
A Swift Package for calculation of Sun and Moon positions and phases. Originally written in Java, I have rewritten this project as a native Swift Package for easy use on Apple platforms. This work is open source and is published under the Apache License 2.0.
Where I've been






nikolajjensen.com © Nikolaj Banke Jensen