Skip to content

Instantly share code, notes, and snippets.

View Kleidukos's full-sized avatar

Hécate Moonlight Kleidukos

View GitHub Profile

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
module Signing where
data SignedMessage = SignedMessage
{ messageLength :: CSize
, messageForeignPtr :: ForeignPtr CUChar
, signatureForeignPtr :: ForeignPtr CUChar
}
deriving stock
( Eq
-- ^ @since 0.0.1.0

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).