:- module library.
:- use_module array, assoc_list, bag, benchmarking, bimap, bintree, bintree_set, bitmap, bool, bt_array, builtin, char, construct, counter, deconstruct, dir, enum, eqvclass, exception, float, gc, getopt, graph, group, hash_table, int, integer, io, lexer, list, map, math, multi_map, ops, parser, pprint, pqueue, private_builtin, profiling_builtin, prolog, queue, random, rational, rbtree, relation, require, rtti_implementation, set, set_bbbtree, set_ordlist, set_unordlist, sparse_bitset, stack, std_util, store, string, table_builtin, term, term_io, time, tree234, type_desc, varset.
:- pragma foreign_proc("C", library:version(Version :: (builtin:out)), [will_not_call_mercury, not_thread_safe, not_tabled_for_io, promise_pure], "
	MR_ConstString version_string = 
		MR_VERSION \", configured for \" MR_FULLARCH;
	/*
	** Cast away const needed here, because Mercury declares Version
	** with type String rather than MR_ConstString.
	*/
	Version = (MR_String) (MR_Word) version_string;
").
:- pragma termination_info(library:version((builtin:out)), infinite, cannot_loop).
