1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
#ifndef TYPES_HPP
#define TYPES_HPP

#include <functional>
#include <memory>

namespace LambdaCalc {

   class Value;
   using ValuePtr = std::shared_ptr<Value>;

   class Stack;
   using StackPtr = std::shared_ptr<Stack>;

   using Function = std::function<ValuePtr(StackPtr)>;
   using FunctionPtr = std::shared_ptr<Function>;

// namespace LambdaCalc

#endif