Fleet  0.0.9
Inference in the LOT
Classes | Namespaces | Functions | Variables
Combinators.h File Reference

A grammar for SK combinatory logic. NOTE: CustomOps must be defined here. More...

#include <signal.h>
#include "Errors.h"
#include "Grammar.h"
#include "Node.h"
#include "Builtins.h"
#include "SExpression.h"
Include dependency graph for Combinators.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Combinators::cl_void
 
struct  Combinators::CL
 
class  Combinators::SKGrammar
 
class  Combinators::ReductionException
 

Namespaces

 Combinators
 

Functions

template<typename Grammar_t >
Primitive< Combinators::CLCombinators::CL_I (Op::CL_I, BUILTIN_LAMBDA {assert(false);})
 
template<typename Grammar_t >
Primitive< Combinators::CLCombinators::CL_S (Op::CL_S, BUILTIN_LAMBDA {assert(false);})
 
template<typename Grammar_t >
Primitive< Combinators::CLCombinators::CL_K (Op::CL_K, BUILTIN_LAMBDA {assert(false);})
 
template<typename Grammar_t >
Primitive< Combinators::CL, Combinators::CL, Combinators::CLCombinators::CL_Apply (Op::CL_Apply, BUILTIN_LAMBDA {assert(false);})
 
void Combinators::reduce (SExpression::SExpNode &n, int &remaining_calls)
 Combinator reduction, assuming that n is a SExpNode. More...
 
void Combinators::reduce (SExpression::SExpNode &n)
 
SExpression::SExpNode Combinators::NodeToSExpNode (const Node &n)
 
Node Combinators::SExpNodeToNode (const SExpression::SExpNode &n)
 
template<typename L >
void Combinators::substitute (SExpression::SExpNode &n, const L &m)
 

Variables

volatile sig_atomic_t CTRL_C
 
Combinators::SKGrammar Combinators::skgrammar
 
Combinators::ReductionException Combinators::reduction_exception
 

Detailed Description

A grammar for SK combinatory logic. NOTE: CustomOps must be defined here.

A class that gets thrown when we've reduced too much.

Variable Documentation

◆ CTRL_C

volatile sig_atomic_t CTRL_C