| // SPDX-License-Identifier: GPL-2.0+ | |
| /* | |
| * Copyright (C) 2017, Free Electrons | |
| * Author: Maxime Ripard <maxime.ripard@free-electrons.com> | |
| */ | |
| #include <linux/delay.h> | |
| #include <linux/device.h> | |
| #include <linux/err.h> | |
| #include <linux/errno.h> |
I've been fiddling about with an idea lately, looking at how higher-kinded types can be represented in such a way that we can reason with them in Rust here and now, without having to wait a couple years for what would be a significant change to the language and compiler.
There have been multiple discussions on introducing higher-ranked polymorphism into Rust, using Haskell-style Higher-Kinded Types (HKTs) or Scala-looking Generalised Associated Types (GATs). The benefit of higher-ranked polymorphism is to allow higher-level, richer abstractions and pattern expression than just the rank-1 polymorphism we have today.
As an example, currently we can express this type:
| -- My solution to: | |
| -- https://plfa.github.io/Naturals/#Bin | |
| import Relation.Binary.PropositionalEquality as Eq | |
| open Eq using (_≡_; refl) | |
| open Eq.≡-Reasoning using (begin_; _≡⟨⟩_; _∎) | |
| data ℕ : Set where | |
| zero : ℕ | |
| suc : ℕ → ℕ |
Entertainment:
- Radiolab (the further back you go, the more science-y they get)
- This American Life
- Serial
- Invisibilia
- youarenotsosmart
Tech ones you may or may not be into:
| main.wasm: main.c call-indirect.ll | |
| emcc $^ -o $@ \ | |
| -O3 \ | |
| -s LEGALIZE_JS_FFI=0 \ | |
| -s WASM=1 -s SIDE_MODULE=1 \ | |
| -g4 | |
| .PHONY: serve | |
| serve: main.wasm loader.js index.html | |
| python3 -m http.server 8888 |
https://github.com/AmaanC/v86/commits/mmx-instructions
- emms
- movd
- movq
- packssdw
- packsswb
- packuswb
- paddb
- paddd
- https://en.wikipedia.org/wiki/Blinkenlights
- https://en.wikipedia.org/wiki/Actor_model
- https://en.wikipedia.org/wiki/International_Space_Station#Assembly
- https://en.wikipedia.org/wiki/GmailFS
- https://en.wikipedia.org/wiki/Coreboot#Initializing_DRAM
- https://en.wikipedia.org/wiki/Coreboot
- https://en.wikipedia.org/wiki/Core_rope_memory
- https://en.wikipedia.org/wiki/Linkage_(mechanical)#Image_gallery
- https://en.wikipedia.org/wiki/Internet_protocol_suite