Skip to content

Instantly share code, notes, and snippets.

View PoignardAzur's full-sized avatar
💭
Sleep mode off

Olivier FAURE PoignardAzur

💭
Sleep mode off
  • Paris, France
View GitHub Profile
@PoignardAzur
PoignardAzur / _druid_design_thoughts.md
Last active December 19, 2022 11:55
Druid design thoughts

These are snippets from a bunch of conversations / monologues I've had about GUI design on the Druid zulip.

Example:

a * b * c * d * e * f * g * h * i * j * 0

With rules:

- a * b <=> b * a
@PoignardAzur
PoignardAzur / parse_expr.rs
Last active May 25, 2022 09:53
An attempt to write a parser for Venial capable of consuming a list of Rust expressions without actually building a tree. It ended up being more trouble than it was worth.
use crate::{parse_utils::consume_stuff_until, types::Expression};
use proc_macro2::{Delimiter, Spacing, TokenTree};
use std::iter::Peekable;
type TokenIter = Peekable<proc_macro2::token_stream::IntoIter>;
// TODO - write expect_punct_next, expect_ident_next macros
// eg -> expect_punct_next(tokens, '|' | ',');
// TODO - explain assumptions
@PoignardAzur
PoignardAzur / opaque_consts_in_rust.md
Last active April 8, 2022 13:26
Opaque constants in Rust

This is a summary of a discussion we previously had on the rust-lang Zulip. The discussion is about a proposal regarding const generics in the Rust programming language.

The problem

With advanced const generics, library writers might write code like this:

trait Trait<const N: usize> {
    type Assoc;

A passive debugger protocol that connects to any process with access

-> basically cargo debug starts a program and opens a server, any editor can connect to the server and send commands.

10 assumptions text editors make

TODO - Write compelling, insightful article

Twinkle

Broshe - Blade-bound F Tall, muscular (-- Blue-skinned --)

Rook

Ghill - Velocity M Grass on his back

@PoignardAzur
PoignardAzur / configuration.nix
Last active July 4, 2022 09:32
NixOSconfig file
# In /etc/nixos/configuration.nix
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
# TODO
# - gnomeExtensions.pop-shell
# - programs.steam.enable = true

TODO

General idea: have an easter_egg! macro (TODO think of other name); the goal is to add it in a program as a "if this unlikely condition is met, trigger easter egg".

Later on, a complete test suite needs to trigger all easter egg to get complete coverage.

(alternate name: achievements?)

@PoignardAzur
PoignardAzur / notes_safe_transmute.md
Last active April 21, 2021 09:28
Proposed alternative to Safe Transmute MCP - Visibility token

Safe transmute - visibility token

I'd like to present an alternative to the proposed safe-transmute MCP.

It's centered around three problems I think the current proposal has:

  • The Context parameter of BikeshedIntrinsicFrom introduces new, non-obvious semantics. This is a problem both for implementing it in the compiler, and teaching it to new users.
  • Because Context is automatically checked, type authors lose some expressivity; by default the ability to transmute a type is tied to its fields' visibility. This has implications for stability (this argument isn't as strong as I though it would be; Jack Wrenn makes some good cases as to how specific use-cases could be covered; still, I think a principled approach would be better)
  • Overal