Compare commits

..

3 Commits

Author SHA1 Message Date
e2cf382fbd fix katex complaining 2024-07-17 22:30:25 +02:00
7faa512335 about page 2024-07-17 22:14:03 +02:00
bfa3365255 table fix 2024-07-17 18:44:37 +02:00
9 changed files with 166 additions and 41 deletions

BIN
public/img/me.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

View File

@ -67,4 +67,20 @@ nav ul {
justify-content: center;
gap: 1em;
}
@media only screen and (max-width : 850px) {
.centercol {
box-sizing: border-box;
width: 100vw;
max-width: 100vw;
padding-left: 2em;
padding-right: 2em;
border-style: none;
}
.titlecontainer {
width: 100%
}
}
</style>

74
src/css/highlight.scss Normal file
View File

@ -0,0 +1,74 @@
// https://github.com/daveyarwood/gruvbox-pygments/tree/master
.highlight .hll { background-color: #ffffcc }
.highlight { background: #282828; color: #ebdbb2; background-color: #282828 }
.highlight .c { color: #928374; font-style: italic; background-color: #282828 } /* Comment */
.highlight .err { color: #ebdbb2; background-color: #282828 } /* Error */
.highlight .esc { color: #ebdbb2; background-color: #282828 } /* Escape */
.highlight .g { color: #ebdbb2; background-color: #282828 } /* Generic */
.highlight .k { color: #fe8019; background-color: #282828 } /* Keyword */
.highlight .l { color: #ebdbb2; background-color: #282828 } /* Literal */
.highlight .n { color: #ebdbb2; background-color: #282828 } /* Name */
.highlight .o { color: #fe8019; background-color: #282828 } /* Operator */
.highlight .x { color: #ebdbb2; background-color: #282828 } /* Other */
.highlight .p { color: #ebdbb2; background-color: #282828 } /* Punctuation */
.highlight .ch { color: #928374; font-style: italic; background-color: #282828 } /* Comment.Hashbang */
.highlight .cm { color: #928374; font-style: italic; background-color: #282828 } /* Comment.Multiline */
.highlight .cp { color: #8ec07c; background-color: #282828 } /* Comment.Preproc */
.highlight .c1 { color: #928374; font-style: italic; background-color: #282828 } /* Comment.Single */
.highlight .cs { color: #928374; font-style: italic; background-color: #282828 } /* Comment.Special */
.highlight .gd { color: #282828; background-color: #fb4934 } /* Generic.Deleted */
.highlight .ge { color: #83a598; text-decoration: underline; background-color: #282828 } /* Generic.Emph */
.highlight .gr { color: #ebdbb2; font-weight: bold; background-color: #fb4934 } /* Generic.Error */
.highlight .gh { color: #b8bb26; font-weight: bold; background-color: #282828 } /* Generic.Heading */
.highlight .gi { color: #282828; background-color: #b8bb26 } /* Generic.Inserted */
.highlight .go { color: #504945; background-color: #282828 } /* Generic.Output */
.highlight .gp { color: #ebdbb2; background-color: #282828 } /* Generic.Prompt */
.highlight .gs { color: #ebdbb2; background-color: #282828 } /* Generic.Strong */
.highlight .gu { color: #b8bb26; font-weight: bold; background-color: #282828 } /* Generic.Subheading */
.highlight .gt { color: #ebdbb2; font-weight: bold; background-color: #fb4934 } /* Generic.Traceback */
.highlight .kc { color: #fe8019; background-color: #282828 } /* Keyword.Constant */
.highlight .kd { color: #fe8019; background-color: #282828 } /* Keyword.Declaration */
.highlight .kn { color: #fe8019; background-color: #282828 } /* Keyword.Namespace */
.highlight .kp { color: #fe8019; background-color: #282828 } /* Keyword.Pseudo */
.highlight .kr { color: #fe8019; background-color: #282828 } /* Keyword.Reserved */
.highlight .kt { color: #fabd2f; background-color: #282828 } /* Keyword.Type */
.highlight .ld { color: #ebdbb2; background-color: #282828 } /* Literal.Date */
.highlight .m { color: #d3869b; background-color: #282828 } /* Literal.Number */
.highlight .s { color: #b8bb26; background-color: #282828 } /* Literal.String */
.highlight .na { color: #b8bb26; font-weight: bold; background-color: #282828 } /* Name.Attribute */
.highlight .nb { color: #fabd2f; background-color: #282828 } /* Name.Builtin */
.highlight .nc { color: #ebdbb2; background-color: #282828 } /* Name.Class */
.highlight .no { color: #d3869b; background-color: #282828 } /* Name.Constant */
.highlight .nd { color: #ebdbb2; background-color: #282828 } /* Name.Decorator */
.highlight .ni { color: #fabd2f; background-color: #282828 } /* Name.Entity */
.highlight .ne { color: #fb4934; background-color: #282828 } /* Name.Exception */
.highlight .nf { color: #fabd2f; background-color: #282828 } /* Name.Function */
.highlight .nl { color: #fb4934; background-color: #282828 } /* Name.Label */
.highlight .nn { color: #ebdbb2; background-color: #282828 } /* Name.Namespace */
.highlight .nx { color: #ebdbb2; background-color: #282828 } /* Name.Other */
.highlight .py { color: #ebdbb2; background-color: #282828 } /* Name.Property */
.highlight .nt { color: #fb4934; background-color: #282828 } /* Name.Tag */
.highlight .nv { color: #ebdbb2; background-color: #282828 } /* Name.Variable */
.highlight .ow { color: #fe8019; background-color: #282828 } /* Operator.Word */
.highlight .w { color: #ebdbb2; background-color: #282828 } /* Text.Whitespace */
.highlight .mb { color: #d3869b; background-color: #282828 } /* Literal.Number.Bin */
.highlight .mf { color: #d3869b; background-color: #282828 } /* Literal.Number.Float */
.highlight .mh { color: #d3869b; background-color: #282828 } /* Literal.Number.Hex */
.highlight .mi { color: #d3869b; background-color: #282828 } /* Literal.Number.Integer */
.highlight .mo { color: #d3869b; background-color: #282828 } /* Literal.Number.Oct */
.highlight .sb { color: #b8bb26; background-color: #282828 } /* Literal.String.Backtick */
.highlight .sc { color: #b8bb26; background-color: #282828 } /* Literal.String.Char */
.highlight .sd { color: #b8bb26; background-color: #282828 } /* Literal.String.Doc */
.highlight .s2 { color: #b8bb26; background-color: #282828 } /* Literal.String.Double */
.highlight .se { color: #b8bb26; background-color: #282828 } /* Literal.String.Escape */
.highlight .sh { color: #b8bb26; background-color: #282828 } /* Literal.String.Heredoc */
.highlight .si { color: #b8bb26; background-color: #282828 } /* Literal.String.Interpol */
.highlight .sx { color: #b8bb26; background-color: #282828 } /* Literal.String.Other */
.highlight .sr { color: #b8bb26; background-color: #282828 } /* Literal.String.Regex */
.highlight .s1 { color: #b8bb26; background-color: #282828 } /* Literal.String.Single */
.highlight .ss { color: #83a598; background-color: #282828 } /* Literal.String.Symbol */
.highlight .bp { color: #fabd2f; background-color: #282828 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #ebdbb2; background-color: #282828 } /* Name.Variable.Class */
.highlight .vg { color: #ebdbb2; background-color: #282828 } /* Name.Variable.Global */
.highlight .vi { color: #ebdbb2; background-color: #282828 } /* Name.Variable.Instance */
.highlight .il { color: #d3869b; background-color: #282828 } /* Literal.Number.Integer.Long */

View File

@ -1,4 +1,5 @@
import './main.scss'
import './css/main.scss'
import './css/highlight.scss'
import 'katex/dist/katex.min.css'
import { ViteSSG } from 'vite-ssg'

50
src/pages/about.vue Normal file
View File

@ -0,0 +1,50 @@
<script setup lang="ts">
</script>
<template>
<article>
<div>
<h2>me</h2>
<p>My name is Rachel Lambda Samuelsson, my pronouns are she/her. I'm an undergrad at Chalmers University of Technology, studying computer science and engineering. My interests include type theory, univalent mathematics, category theory, logic, and functional programming. If I write code it is probably in Agda, Idris, or Haskell.</p>
<h2>this site</h2>
<p>This site hosts my blog, a gallery of photos I've taken, and a quick informal CV.</p>
<h2>contact</h2>
<ul>
<li>email: <a href="mailto:depsterr@protonmail.com">depsterr@protonmail.com</a></li>
<li>fedi: <a href="https://types.pl/@rachelrosen">@rachelrosen@types.pl</a></li>
</ul>
</div>
<figure>
<h2>picture</h2>
<img src="/img/me.jpg" alt="a picture of me">
<figcaption>rachel in the flesh</figcaption>
</figure>
</article>
</template>
<style scoped>
article {
display: flex;
flex-direction: row;
align-items: top;
justify-content: center;
}
@media only screen and (max-width : 850px) {
article {
display: flex;
flex-direction: column;
align-items: center;
justify-content: top;
}
figure {
margin: 1em 0 0 0;
width: 70%;
max-width: 70%;
}
}
</style>

View File

@ -61,9 +61,15 @@ In each step we move the window by replacing the first slot in the window by wha
What does this have to do with mathematics, and this beautiful proof that I have promised? We shall begin to translate this moving window into the language of mathematics, our window is a pair of numbers, so why not represent it as a vector. Furthermore, we may view sliding our window one step as a function $S$ from vectors to vectors. This poses an interesting question: is this function a linear transformation?
$$
S \left(\begin{bmatrix} a & b \end{bmatrix}\right) \\
+ S\left(\begin{bmatrix} c & d \end{bmatrix}\right) \\
= \begin{bmatrix} b a + b \end{bmatrix} \\
S \left(\begin{bmatrix} a & b \end{bmatrix}\right)
$$
$$
+ S\left(\begin{bmatrix} c & d \end{bmatrix}\right)
$$
$$
= \begin{bmatrix} b a + b \end{bmatrix}
$$
$$
+ \begin{bmatrix} d c + d \end{bmatrix}
$$

View File

@ -76,43 +76,21 @@ data Inst
All stacks grow from right to left, that is, the left most element is at the top of the stack.
{% katexmm %}
<table>
<tr>
<th align=center colspan="3">Before</th><th align=center colspan="3">After</th>
</tr>
<tr>
<th>Control</th><th>Env</th><th>Stack</th><th>Control</th><th>Env</th><th>Stack</th>
</tr>
<tr>
<td>Const i : c</td><td>e</td><td>s</td><td>c</td><td>e</td><td>i : s</td>
</tr>
<tr>
<td>Global i : c</td><td>e</td><td>s</td><td>c</td><td>e</td><td>Globals[i] : s</td>
</tr>
<tr>
<td>Local i : c</td><td>e</td><td>s</td><td>c </td><td> e</td><td>e[i] : s</td>
</tr>
<tr>
<td>Closure n a : $c_1$ ... $c_n$ : c</td><td>e</td><td>s</td><td>c</td><td>e</td><td>Closure a {e} [$c_1$ ... $c_n$] : s</td>
</tr>
<tr>
<td>App : c</td><td>e</td><td>Closure {e'} [c'] : v : s</td><td>c'</td><td>v : e'</td><td>Closure$^0$ {e} [c] : s</td>
</tr>
<tr>
<td>App : c</td><td>e</td><td>Closure$^n$ {e'} [c'] : v : s</td><td>c</td><td>e</td><td>Closure$^{n - 1}$ {v : e'} [c'] : s</td>
</tr>
<tr>
<td>Ret : c </td><td>e</td><td>v : Closure$^0$ \{e'\} [c'] : s </td><td> c'</td><td>e' </td><td> v : s</td>
</tr>
<tr>
<td>Dup : c</td><td>e</td><td>v : s</td><td>c</td><td>e</td><td>v : v : s</td>
</tr>
<tr>
<td>Add : c </td><td>e</td><td>v : s</td><td>c</td><td>e</td><td>v + v : s</td>
</tr>
</table>
{% endkatexmm %}
<style>
th { text-align: left; }
</style>
| Before | | | After | | |
| ----------------------------------- | --- | -------------------------------- | ------- | ------ | --------------------------------------- |
| Control | Env | Stack | Control | Env | Stack |
| Const i : c | e | s | c | e | i : s |
| Global i : c | e | s | c | e | Globals\[i\] : s |
| Local i : c | e | s | c | e | e\[i\] : s |
| Closure n a : $c\_1$ ... $c\_n$ : c | e | s | c | e | Closure a {e} \[$c\_1$ ... $c\_n$\] : s |
| App : c | e | Closure {e'} \[c'\] : v : s | c' | v : e' | Closure⁰ {e} \[c\] : s |
| App : c | e | Closureⁿ {e'} \[c'\] : v : s | c | e | Closureⁿ⁻¹ {v : e'} \[c'\] : s |
| Ret : c | e | v : Closure⁰ {e'} \[c'\] : s | c' | e' | v : s |
| Dup : c | e | v : s | c | e | v : v : s |
| Add : c | e | v : s | c | e | v + v : s |
### An example