# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0.  If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.

# (c) Martin Kersten
# MAL Startup file
# Upon starting the Monet/MAL server we need to initialize the symbol table.
# This encompasses loading the signatures of several key modules.
# They are listed below.
#
# Beware, since libraries are loaded dynamically, there is an implicit
# dependency. For example, the mapi module initializer uses the bat module.
# It should be loaded after the bat module.
#
# The negative effect is that this module is inspected as part of
# the function resolution scheme.
#
# The remainder interprets the signatures and resolves the address bindings.
# The signatures may exists without the corresponding function implementation
# to be loaded.  This way, MAL programs can be normally compiled, and only
# upon use of the function will it create the necessary exception.
#
# The order of the includes defines the dependencies.
include alarm;
include mmath;
include streams;
# The kernel stuff to make it work
include bat5;
include batExtensions;
include algebra;
include orderidx;
#include calc; --- moved to autoload/01_calc
include status;
include groupby;
include group;
include aggr;
include mkey;

# Atom extensions
include blob;
include color;
include str;
include url;
include uuid;
include mtime;
include inet;
include identifier;

# The hardwired multiplex extensions
include batmmath;
#include batcalc; -- moved to autoload/01_batcalc
include batmtime;
include batstr;
include batcolor;

# MAL related extensions
include sabaoth;
include pcre;
include clients;
include bbp;
include mal_io;
include manifold;
include factories;

include mat;
include inspect;
include manual;
include language;

include profiler;
include querylog;
include sysmon;
include sample;

include optimizer;

include iterator;

# Any extensions (MAL scripts) that should be automatically loaded upon
# startup can be placed in the autoload directory.  One typically finds
# the SQL module in here, but it can also be used to load custom scripts.
include autoload;
