Oh nice. Just found 2 #rustlang nightly features which look like they might bring us closer to one of the two major type level things Iam missing hard in #rust : "extistenia types" (the other one are #GADT)

type_alias_impl_trait:
https://doc.rust-lang.org/unstable-book/language-features/type-alias-impl-trait.html

impl_trait_in_assoc_type:
https://doc.rust-lang.org/nightly/unstable-book/language-features/impl-trait-in-assoc-type.html

type_alias_impl_trait - The Rust Unstable Book

Red-black tree in Lean 4 prover.

I proved all needed properties, for example that resulting tree is sorted.

I implemented one operation only: insertion. And I "cheat" by assuming that original tree is always black. My goal was not implementing everything, I just wanted to implement one simple operation and prove really everything about it.

Proof of sorting (insert_sorted) turned out to be rather big. If someone knows how to make it smaller (possibly using mathlib), then, please, tell me that.

https://rentry.co/8sfon8ez

#types.pl #lean #plt #gadt

Red-black tree in Lean 4 prover.

I proved all needed properties, for example that resulting tree is sorted. I implemented one operation only: insertion. And I "cheat" by assuming that original tree is always black. My goal was not implementing everything, I just wanted to implement one simple operation and prove really...

https://react-book.melange.re/intro/
I love #ocalm.

it has many superpowers
- #soundcomplete and #strong #typesystem with #typeinference

- #algebraiceffects
- #algebraicdatatypes
- #GADT
- #patternmatching
- pragmatic by default #immutanbility
- pragmatic and optional laziness
it gives confidence and correctness via type system and compiles
#ocaml shape languages like #scala and #rust also #Fsharp is just reincarnation of ocaml for dotnet
Melange brings this power to #reactnative developers.

Melange for React Developers | Melange for React Devs

A project-based, guided introduction to Melange and its ecosystem for React developers

🇫🇷 L'année passée, j'ai décris un usage du GADT `Eq` pour implémenter des méthodes gardées (et résoudre les méthodes `sum`, `prod` et `flatten`) en préservant la sémantique d'envoi de message !

https://xvw.lol/pages/oop-refl.html

N'hésitez pas à me faire des retours !
#ocaml #gadt #oop

Méthodes gardées en OCaml

Implémentation de "méthodes gardées" en utilisant des témoins d'égalités de types

xvw.lol

It seems one can represent ZFC (or any other logic or type system) as Lean 3's GADT. Note that binder very elegantly represented as HOAS. Am I first who discovered this? #types.pl #plt #lean #lean3 #gadt #zfc #hoas

https://lobste.rs/s/11k4ri/how_should_i_read_type_system_notation#c_rtpme5

How should I read type system notation? | Lobsters

Implémenter des méthodes gardées en OCaml avec un témoin d'égalité explicite, un article de @xvw https://xvw.github.io/capsule/pages/oop-refl.html #OCaml #OOP #GADT
xvw - Méthodes gardées

Implémentation de 'guarded methods' en utilisant des témoins d'égalités de types.

Use #gadt to evaluate lambada calculus
Term int : syntax tree to the term T that evals to int, we can write T and T_int then
#agda #gadt
How do you match m with m+0
With a prepositional equality of #gadt?
A type is true if you can instantiate it, flase / empty if you can't
#GADT supports dependent types