Skip to content

Instantly share code, notes, and snippets.

View Kleidukos's full-sized avatar

Hécate Kleidukos

View GitHub Profile

Definitions

  • Levity: The property of a expression to have bottom (⊥) as part of its potential results. For example, an expression of type Bool can evaluate to the following values: True, False, ⊥. Expressions that do not allow for bottom are unlifted. As a result, an unlifted value is never lazy, but can still be boxed.

  • Boxity: The property of a value to be passed as a pointer (boxed), or directly (unboxed).

module Signing where
data SignedMessage = SignedMessage
{ messageLength :: CSize
, messageForeignPtr :: ForeignPtr CUChar
, signatureForeignPtr :: ForeignPtr CUChar
}
deriving stock
( Eq
-- ^ @since 0.0.1.0

x and x are not caught by the Reader + continuation-based guard that checks for duplicates, because duplicates are checked when going down the tree.

Since the two x are at the same level, I get those two as values (renamed, to return), but not in the Reader context.

-- https://github.com/Kleidukos/ProtoHaskell/blob/main/src/Compiler/Renamer.hs#L198-L205

renameBinds :: PhLocalBinds ParsedName -> Renamer (PhLocalBinds Name)
renameBinds localBinds = do
name: Win32
version: 2.13.2.0
license: BSD3
license-file: LICENSE
author: Alastair Reid, shelarcy, Tamar Christina
copyright: Alastair Reid, 1999-2003; shelarcy, 2012-2013; Tamar Christina, 2016-2020
maintainer: Haskell Libraries <[email protected]>
bug-reports: https://github.com/haskell/win32/issues
homepage: https://github.com/haskell/win32
category: System, Graphics