Skip to content

Instantly share code, notes, and snippets.

@kuruczgy
kuruczgy / Glue.lean
Last active October 29, 2023 15:05
Generated Lean Vulkan bindings
set_option autoImplicit false
namespace Vk
abbrev FixedArray α (_ : Nat) := Array α
structure InstanceCreateFlags := private mk :: private v : UInt32
deriving DecidableEq
instance : HOr InstanceCreateFlags InstanceCreateFlags InstanceCreateFlags := ⟨(⟨·.v ||| ·.v⟩)⟩
instance : HAnd InstanceCreateFlags InstanceCreateFlags Bool := ⟨(·.v &&& ·.v != 0)⟩
instance : Inhabited InstanceCreateFlags := ⟨⟨0⟩⟩
structure ApplicationInfo where
applicationName : String