/* * This file is part of the Fun programming language. * https://fun-lang.xyz/ * * Copyright 2025 Johannes Findeisen * Licensed under the terms of the Apache-2.0 license. * https://opensource.org/license/apache-2-0 */ /** * @file repl.h * @brief Interactive Read-Eval-Print Loop (REPL) entry point. */ #ifndef FUN_REPL_H #define FUN_REPL_H #include "vm.h" #ifdef __cplusplus extern "C" { #endif #ifdef FUN_WITH_REPL /** * @brief Run the interactive REPL using an already-initialized VM. * * Reads lines from stdin, evaluates them in the provided VM context, and * prints results/errors. The function returns on EOF or when the user issues * a quit command supported by the REPL implementation. * * @param vm Pointer to an initialized VM; must not be NULL. * @return 0 on normal exit, non-zero on fatal error. */ int fun_run_repl(VM *vm); #endif #ifdef __cplusplus } // extern "C" #endif #endif // FUN_REPL_H