Skip to content

Instantly share code, notes, and snippets.

View Pitometsu's full-sized avatar
🐫
∀:camel:.P(:camel:) → ∅ ≡ (∃:camel:.P(:camel:)) → ∅

Yuriy Pitomets Pitometsu

🐫
∀:camel:.P(:camel:) → ∅ ≡ (∃:camel:.P(:camel:)) → ∅
View GitHub Profile
@Pitometsu
Pitometsu / layout0.json
Last active May 6, 2020 09:32
Crysalis keyboard layout for keyboardio
{
"keymap": [
{
"keyCode": 30,
"label": "1",
"extraLabel": "!"
},
{
"keyCode": 31,
"label": "2",
@Pitometsu
Pitometsu / layout0.json
Last active March 27, 2020 11:17
Chrysalis keyboardio layouts
{
"keymap": [
{
"keyCode": 2079,
"label": "@"
},
{
"keyCode": 2078,
"label": "!"
},
@Pitometsu
Pitometsu / constraints.hs
Created March 13, 2020 20:50
constraints family
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE PolyKinds #-}
import Data.Kind (Constraint)
type family All (c :: k -> Constraint) ts :: Constraint where All c '[] = (); All c (t:ts) = (c t, All c ts)
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedLabels #-}
{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE UnicodeSyntax #-}
@Pitometsu
Pitometsu / even.ml
Last active December 1, 2019 10:25
Even: Coq to OCaml
type _ num =
| Zero : zero num
| Succ : ('a num) -> 'a plus num
and _ plus = Plus : 'a num -> 'a plus
and zero = [ ]
;;
type _ even =
| Even_0 : zero num even
| Even_S : 'a num odd -> 'a plus num even
and _ odd =
@Pitometsu
Pitometsu / shell.nix
Created November 27, 2019 04:48
Coq environment
let
overlays = [
(self: super: with self; {
coq = coq_8_10;
coq_8_10 = (super.coq_8_10.override { buildIde = false; });
coqPackages = coqPackages_8_10;
coqPackages_8_10 = (super.coqPackages_8_10.overrideScope' (self: super: {
inherit coq;
}));
})
macos-ld-fix = stdenv.mkDerivation {
name = "macos-ld-fix";
src = null;
unpackPhase = "true";
dontBuild = true;
installPhase = ''
mkdir -p $out/opt/local/lib
'';
};
module type M = sig
module type S
module S : S
end
;; module type M = sig module type S module S : S end
@Pitometsu
Pitometsu / cc.nix
Created September 24, 2019 16:22
Nix overlay to override system compiler
(self: super:
let
stdenv = let stdenv = super.overrideCC super.stdenv super.gcc8; in
stdenv.override { cc = super.stdenv.cc; };
in {
inherit stdenv;
})
# stdenv = gcc8Stdenv.override {
# cc = gcc8Stdenv.override {
# inherit (self) libc;