Open in app

Sign in

Write

Sign in

art yerkes
art yerkes

81 Followers

Home

Lists

About

Feb 5

Destructure anything in rust

In rust, match expressions are really nice, but because containers don’t pass through the properties of the things they contain (except certain types like enums and slices), it’s sometimes hard to express structure of complex data in match expressions and similar. Recently some code I wrote early on in learning…

Functional Programming

3 min read

Functional Programming

3 min read


Nov 12, 2022

Quickie: testing vscode extensions

I made a vscode language server a while back but didn’t have a great way of doing CI tests on it (to prove the artifact itself works). I recently figured out one way to do this that’s pretty convenient. I used code-server with selenium webdriver. Use code-server ( https://hub.docker.com/r/codercom/code-server ) Code-server is pretty amazing. It just works, and you can spin up the container easily. Once you’ve confirmed that the http port is responding, you can write selenium webdriver tests against it, rendered as a fairly empty canvas here:

Vscode Extension

1 min read

Vscode Extension

1 min read


Oct 6, 2022

Rust Quickie: random generator pattern

In rust, you implement Distribution<SomeType> for Standard (from crate rand) to implement random generation of data structures. Things get messy if the data structures are recursive however. One needs to thread state down so that recursive structures are bounded. …

Rust

2 min read

Rust

2 min read


Sep 26, 2022

How to be bad at coq if you know idris

Relating to coq proofs if your frame of reference is idris. I wanted to expand my reptoire and know more proof systems, so I took this weekend to learn coq. I’m not as passable in it as idris yet, but there were some parts of its metaphor that I don’t…

Coq

5 min read

Coq

5 min read


Jun 19, 2022

A short note on composition in TLA+

I’ve now read Practial TLA+ thoroughly and if you’re going to do _anything_ with TLA+, you should read it. Most of your questions will be answered via anecdotes and examples in the book. …

Tla Plus

6 min read

Tla Plus

6 min read


May 25, 2022

Fin, Vect and restrict in idris

It seems like a bit of a trap that restrict yields Fin (S n) for a Vect (S n) but it’s giving a type level protection from trying to access a member of a Vect with zero elements (as mod used under the hood is not total for 0 anway)…

Idris

2 min read

Idris

2 min read


Apr 17, 2022

HasCal — A promising embedding of pluscal in haskell.

I’ve been interested in proof systems and proofs for a while. Recently, I took my first tiny step (a very bad example) in TLA+: I’ve been following Gabriella Gonzalez’ HasCal for a while, and decided to spend a…

Haskell

2 min read

Haskell

2 min read


Nov 2, 2021

Idris: Using the properties of simple constructors for equality and inequality

Among the first question I asked anyone about idris was about proofs that end in having to prove that two things aren’t equal. Idris itself stops being particularly helpful in those cases, giving the weird feeling that you’re just on your own. In some cases you can provide positive proof…

Idris

3 min read

Idris

3 min read


Oct 14, 2021

Simple code with ts-elmish: a brass tacks explanation

I wanted to make a vs-code extension that others might not simply rewrite or dismiss when seeing the inside of it not written in a mainstream language, so I was looking for a good elm-like framework. React is close to this but still tragically broken on state, so I wanted…

Typescript With React

2 min read

Typescript With React

2 min read


Jun 8, 2021

Type classes in idris: proving away constraints and ensuring totality

Sometimes you have disjoint but covering class instances for a type in idris. …

Idris

3 min read

Idris

3 min read

art yerkes

art yerkes

81 Followers

An old programmer learning new tricks.

Following
  • Guy Nave

    Guy Nave

  • April Wensel

    April Wensel

  • Nitin Dangwal

    Nitin Dangwal

  • Arthur Hayes

    Arthur Hayes

  • Denilson Nastacio

    Denilson Nastacio

See all (78)

Help

Status

About

Careers

Blog

Privacy

Terms

Text to speech

Teams