mirror of
https://github.com/github/semantic.git
synced 2024-12-01 09:15:01 +03:00
Define a class for recursively constructing lambdas.
This commit is contained in:
parent
0d4ddc42c2
commit
181a6c777b
@ -1,3 +1,4 @@
|
||||
{-# LANGUAGE FunctionalDependencies, UndecidableInstances #-}
|
||||
module Control.Abstract.Primitive
|
||||
( define
|
||||
, defineClass
|
||||
@ -86,6 +87,11 @@ lambda2 body = withCurrentCallStack callStack $ do
|
||||
var2 <- gensym
|
||||
function [var1, var2] lowerBound (body var1 var2)
|
||||
|
||||
class Lambda address value effects ty | ty -> address, ty -> value, ty -> effects where
|
||||
lambda' :: [Name]
|
||||
-> ty
|
||||
-> Evaluator address value effects value
|
||||
|
||||
builtInPrint :: ( AbstractValue address value effects
|
||||
, HasCallStack
|
||||
, Member (Allocator address value) effects
|
||||
|
Loading…
Reference in New Issue
Block a user