#pragma once ///@file #include "eval.hh" #if HAVE_BOEHMGC #define GC_INCLUDE_NEW #include #endif namespace nix { struct AbstractNixRepl { ref state; Bindings * autoArgs; AbstractNixRepl(ref state) : state(state) { } virtual ~AbstractNixRepl() { } typedef std::vector> AnnotatedValues; static std::unique_ptr create( const Strings & searchPath, nix::ref store, ref state, std::function getValues); static void runSimple( ref evalState, const ValMap & extraEnv); virtual void initEnv() = 0; virtual void mainLoop() = 0; }; }