#ifndef __SCHEME__H
#define __SCHEME__H

#include "CommonTypes.hpp"
#include <string>

namespace llvm
{
  class Module;
}

class argument_t;

void guileInit(const std::string & libDir, const std::string & inputSExps);

void guileFetchDependency(results_t * res, argument_t & arg);
void guileFetchAllocator(results_t * res, argument_t & arg);

void guileInternAnnotationData(llvm::Module * M, results_t & res);

void guileLoadDep(const std::string & loadPath, const std::string & dep);
void guileLoadAnnotation(const std::string & annot);

void guileWriteOutput(const std::string & outputFile);
  
#endif // __SCHEME__H
