%-----------------------------------------------------------------------------% % vim: ft=mercury ts=4 sw=4 et %-----------------------------------------------------------------------------% % Copyright (C) 1998-2006 The University of Melbourne. % This file may only be copied under the terms of the GNU Library General % Public License - see the file COPYING.LIB in the Mercury distribution. %-----------------------------------------------------------------------------% :- module mdb. :- interface. :- import_module mdbcomp. :- pred mdb.version(string::out) is det. % These interface modules are used directly by the test programs % or the libmer_trace library. :- include_module browse. :- include_module browser_info. :- include_module browser_term. :- include_module collect_lib. :- include_module cterm. :- include_module debugger_interface. :- include_module declarative_debugger. :- include_module declarative_execution. :- include_module diff. :- include_module help. :- include_module interactive_query. :- include_module io_action. :- include_module listing. %-----------------------------------------------------------------------------% %-----------------------------------------------------------------------------% :- implementation. :- include_module declarative_analyser. :- include_module declarative_edt. :- include_module declarative_oracle. :- include_module declarative_tree. :- include_module declarative_user. :- include_module frame. :- include_module parse. :- include_module sized_pretty. :- include_module util. :- include_module term_rep. % XXX these modules are more generally useful, but the % dynamic linking library is not yet installed anywhere. :- include_module dl. :- include_module name_mangle. %-----------------------------------------------------------------------------% % See library/library.m for why we implement this predicate this way. :- pragma foreign_proc("C", mdb.version(Version::out), [will_not_call_mercury, promise_pure, thread_safe], " MR_ConstString version_string = MR_VERSION "", configured for "" MR_FULLARCH; /* ** Cast away const needed here, because Mercury declares Version ** with type MR_String rather than MR_ConstString. */ Version = (MR_String) (MR_Word) version_string; "). mdb.version("unknown version"). %-----------------------------------------------------------------------------% %-----------------------------------------------------------------------------%