posts
-----
{{ range (where .Site.RegularPages.ByPublishDate.Reverse "Type" "in" .Site.Params.mainSections) }}
-- <time>{{ .Date.Format (.Site.Params.dateform | default "02 Jan 06") }}</time> <a href="{{ .Permalink }}">{{ .Title }}</a>{{ end }}
+- <time>{{ .Date.Format (.Site.Params.dateform | default "02 Jan 06") }}</time> <a href="{{ .Permalink }}">{{ .Permalink }}</a>{{ end }}
-rss: <a href="https:{{ .Site.BaseURL }}index.xml">https:{{ .Site.BaseURL }}index.xml</a>
+rss: <a href="{{ .Site.BaseURL }}index.xml">{{ .Site.BaseURL }}index.xml</a>
projects
--------
-code: <a href="https://git.ak3n.com">https://git.ak3n.com</a>
+Most of my code is available at <a href="https://git.ak3n.com">https://git.ak3n.com</a>
-Hackage packages
+Haskell packages
- <a href="https://hackage.haskell.org/package/debug-trace-file">https://hackage.haskell.org/package/debug-trace-file</a>
+ Like Debug.Trace but writing to files.
+
- <a href="https://hackage.haskell.org/package/line-indexed-cursor">https://hackage.haskell.org/package/line-indexed-cursor</a>
+ Line-indexed file reader.
+
+- <a href="https://git.ak3n.com/?p=handle-examples.git">https://git.ak3n.com/?p=handle-examples.git</a>
+ Examples of the Handle pattern in Haskell
+
+- <a href="https://git.ak3n.com/?p=machines.hs.git">https://git.ak3n.com/?p=machines.hs.git</a>
+ Abstract machines in Haskell
lean4 packages
-- <a href="https://git.ak3n.com/?p=temple.lean.git">https://git.ak3n.com/?p=temple.lean.git</a> — A rudimentary template engine
- written in Lean4 without fancy dependent types and useful operators yet.
- It can parse, build a tree, and substitute using de Bruijn Indices.
+- <a href="https://git.ak3n.com/?p=temple.lean.git">https://git.ak3n.com/?p=temple.lean.git</a>
+ A rudimentary template engine written in Lean4 without fancy dependent
+ types and useful operators yet. It can parse, build a tree, and substitute
+ using de Bruijn Indices.
Educational
-- <a href="https://ulearn.me/Course/fpintroduction/">Introduction to Functional Programming</a> — An online course on functional
- programming that I helped to create and teach between 2019 and 2021.
- Designed for bachelor students at Ural Federal University (taught in Russian).
+- <a href="https://ulearn.me/Course/fpintroduction/">https://ulearn.me/Course/fpintroduction</a>
+ An online course on functional programming that I helped to create and
+ teach between 2019 and 2021. Designed for bachelor students at Ural Federal
+ University (taught in Russian).
-- <a href="https://cubicaltt.ak3n.com">https://cubicaltt.ak3n.com</a> — A web version of <a href="https://github.com/mortberg/cubicaltt">https://github.com/mortberg/cubicaltt</a>,
- built in Haskell using Reflex, GHCJS and Monaco, to reduce the entrance barrier.
- Source code available at <a href="https://git.ak3n.com/?p=cubicaltt.git">https://git.ak3n.com/?p=cubicaltt.git</a>.
+- <a href="https://cubicaltt.ak3n.com">https://cubicaltt.ak3n.com</a>
+ A web version of <a href="https://github.com/mortberg/cubicaltt">https://github.com/mortberg/cubicaltt</a>, built in Haskell
+ using Reflex, GHCJS and Monaco, to reduce the entrance barrier. Source code
+ is available at <a href="https://git.ak3n.com/?p=cubicaltt.git">https://git.ak3n.com/?p=cubicaltt.git</a>.
contact
-------