Project ideas

This section is empty…

From highest to lowest priority

port leap.nvim to emacs/evil

Evil-Leap

rx macro for Clojure

Discord "fuck Spotify" self-bot

Listen for any Spotify links sent to me in DMs. Search for the song/album on https://slsk.deertopia.net, and reply with "Hello, I downloaded that for you. Get that lame shit out of my DMs." Send them a download link.

pure structural editing

codec and file format for compressed text art animations.

libqalculate backend for M-x calc

nix importEDN

haskell block code.

  • visual distinction between types, like jigsaws :3

non-hierarchical file system

Problem statement

Can a file system intended for personal, everyday storage be ergonomic and useful without directories? If so, how? What do you gain? What do you lose?

In honesty, my real goal is to tear up traditions and see what happens. I'm far more excited to uncover new problems than I am to solve any of the problems I'm currently aware of. I suspect we'll find a lot of problems with both NHFSes as well as traditional file systems! It can be difficult to point out flaws in something when said something is all you've ever known. I intend to take on a scientific attitude, and eagerly anticipate the simple product of having an unorthodox subject that the norm may be compared to.

I believe both the NHFS and structural editing system are good projects for a couple common reasons:

  • For each project, I have at least one friend as interested as I am.

    • Collaboration fuels and incentivises motivation.

    • Less likely to get stuck on the sillier problems. Multiple perspectives, multiple angles of attack.

  • Being relatively unexplored seas introduces several points:

    • Both projects uproot deeply ingrained traditions.

    • 1–2 amateurs can make substantial contributions to the field, whether it's "just another attempt," or fresh ideas.

    • It isn't yet clear what's right or wrong. There's no perfect theory or implementation to compare ourselves to.

  • Above all, they're novel and interesting problem spaces.

tf2.nix for declarative TF2 configuration

Port git-annex to iOS

😭 this shit is not happening.

However, it would be very funny, and potentially educational to try.

fantasy computer

project template manager

  • scheme (or clojure) would be a good implementation choice, as directory structures could be given as lists.

  • programmable, but have a "simple" mode, where the appropriate scheme code is generated from a template directory.

      $ tree haskell-template
      haskell-template/
      | src/
      | | Main.hs
      | README.org
      | ${project-name}.cabal
    

Show cheatsheet for common options as you type command

regex engine

typed lisp

set-based programming language

  • All you have are sets. Numbers and such are encoded as sets.

discord client for emacs

optic-oriented programming language

  • everything is an optic; instead of an object X:A, you have an optic 𝟙X:IsoAA.

s-expression syntax for C

haskell repl à la nrepl

  • client-server

  • machine-friendly

Unsorted

aes encryption

clj.el

  • clojure things for elisp

clig.hs

command-line json processor

kmonad

user friendly coreutils + shared "user friendly" library

KILL database of tagged images

subsumed by non-hierarchical file system.

library of babel clone

flameshot alternative

data structure visualisation tool

manim-like animation library

elm-style TUI library

awesomeWM but haskell

dreamberd impl

pandoc but for programming languages

minimal shadowplay clone

  • aim for microscopic footprint

toonhud but way better fuck toonhud

desktop widget system

  • take inspiration from diagrams' dsl

CPS transformations

melee texture mod mordecai falco

day/night rice that fully switches from dark theme to light

attempt to use haskell as an embedded language like lua

JSX macro for clojurescript

web ui combinators

  • Like react?

purely functional block code

a nix-like package manager

low-level, high performance lambda calc

add a site blocklist to deadname remover extension

sound vibration simulator

compiling to abstract math

  • lambda calc, DFAs, turing machines, bicartesian closed categories

wikipedia reference directed graph

prove algebraic properties of haskell types

  • e.g. there always exists an isomorphism between A+B (Either A B) and B+A (Either B A)

category theory

fast int to digits algorithm

learn prolog

abstract algebra

essay: java, haskell, and why programming doesn't have to suck

edit, months later: dijkstra beat me to it looool

interactive data structure visualisation library

  • simple enough to use for debugging purposes.

  • motivating example: printing an annotated syntax tree via Show is way too verbose. what would be nice is hovering over an element to see the anootation

haskell hls: inline function under cursor

KILL integrated hoogle/hackage nvim plugin

vim plugin: treesitter text objects by precedence.

  • eg. ciP0 would change the root expression, ciP9 would only change composition expressions in haskell

haskell ShowSexpr ReadSexpr + quasi quoters

estimate pronounceable words of a given length

nvim plugin: use tree sitter to search for declaration

low level functional language

geogebra type thing for creating math visuals

prismatic parsing and pretty-printing

parsing may fail; pretty-printing does not

functional spreadsheet system (with comonads?)

cheatsheet manager

similar to tldr

nanopass à la carte

swiestra ‘08 describes Data Types à la Carte. a nanopass-esque interface to generate some of the boiler plate would be lovely

tower of hanoi w/ dependent types

word of the day on start menu

or perhaps shell startup?

KILL nvim macros for fennel

hibiscus but good

KILL guix user repository

emacs commutative diagram editor

haskell-mode fixups OR rewrite

a wayland compositor à la AwesomeWM using scheme

verified scheme compiler in Lean

standardised protocol for editor widgets

HLS: on hover, show types of local variables

à la lean, idris, agda.

add support for time zones to org-mode timestamps

Project notes

implement helpful-go-back and helpful-go-forward

Issue

sitelen pona array language