/***********************************************************************/
/*                                                                     */
/*                        Applied Type System                          */
/*                                                                     */
/*                             Hongwei Xi                              */
/*                                                                     */
/***********************************************************************/

/*
**
** This file is to be preprocessed to generate .libfiles_local, which is
** needed by [atslib] for building libats.a
**
*/

/* ****** ****** */

#include "config.h"

/* ****** ****** */

prelude/basics_sta.sats
prelude/basics_dyn.sats
prelude/ats_main_prelude.dats

/* prelude files */

/* primary */
prelude/DATS/basics.dats

prelude/SATS/extern.sats /* for building external API's */

prelude/SATS/file.sats
prelude/DATS/file.dats

prelude/DATS/float.dats
prelude/DATS/integer.dats

prelude/SATS/lazy.sats
prelude/DATS/lazy.dats

prelude/SATS/lazy_vt.sats
prelude/DATS/lazy_vt.dats

prelude/DATS/pointer.dats
prelude/DATS/printf.dats
prelude/DATS/reference.dats
prelude/DATS/string.dats

/* secondary */
prelude/SATS/arith.sats
prelude/DATS/arith.dats

prelude/SATS/array.sats
prelude/DATS/array.dats
prelude/DATS/array_v.dats
prelude/SATS/array0.sats
prelude/DATS/array0.dats

prelude/SATS/list.sats
prelude/DATS/list.dats
prelude/SATS/list_vt.sats
prelude/DATS/list_vt.dats
prelude/SATS/list0.sats
prelude/DATS/list0.dats

prelude/SATS/matrix.sats
prelude/DATS/matrix.dats
prelude/SATS/matrix0.sats
prelude/DATS/matrix0.dats

prelude/SATS/number.sats
/*
prelude/HATS/number_hats.dats
*/

prelude/SATS/option.sats
prelude/DATS/option.dats
/*
prelude/SATS/option_vt.sats
prelude/DATS/option_vt.dats
*/
prelude/SATS/option0.sats

/* linked lists */

prelude/SATS/slseg.sats
prelude/DATS/slseg.dats

/* ****** ****** */

/* libc files */

// libc/SATS/complex.sats
// libc/DATS/complex.dats

libc/SATS/dirent.sats
libc/DATS/dirent.dats

libc/SATS/dlfcn.sats

libc/SATS/errno.sats

libc/SATS/fcntl.sats
libc/DATS/fcntl.dats

#ifdef HAVE_GMP_H
libc/SATS/gmp.sats
libc/DATS/gmp.dats
#endif

libc/SATS/math.sats
libc/DATS/math.dats

libc/SATS/printf.sats
libc/DATS/printf.dats

libc/SATS/random.sats
libc/DATS/random.dats

libc/SATS/sched.sats

libc/SATS/signal.sats

libc/SATS/stdarg.sats
/*
libc/DATS/stdarg.dats
*/

libc/SATS/stdio.sats

libc/SATS/stdlib.sats

libc/SATS/string.sats
libc/DATS/string.dats

libc/SATS/strings.sats

libc/SATS/time.sats

libc/SATS/unistd.sats
libc/DATS/unistd.dats

libc/sys/SATS/types.sats

libc/sys/SATS/socket.sats
libc/sys/DATS/socket.dats

libc/sys/SATS/stat.sats

libc/sys/SATS/wait.sats

libc/arpa/SATS/inet.sats

libc/netinet/SATS/in.sats

/* ****** ****** */

/* libats files */

/* FORTRAN matrix: column-major */
libats/SATS/fmatrix.sats
libats/DATS/fmatrix.dats

/* FREE LIST implementation */
libats/SATS/freelst.sats
libats/DATS/freelst.dats

/* functional array implementation based on Braun trees */
libats/SATS/funarray_braun.sats
libats/DATS/funarray_braun.dats

/* functional heap implementation based on Braun trees */
libats/SATS/funheap_braun.sats
libats/DATS/funheap_braun.dats

/* functional map implementation based on AVL trees */
libats/SATS/funmap_avltree.sats
libats/DATS/funmap_avltree.dats

/* functional random-access list based on a nested datatype */
libats/SATS/funralist_nested.sats
libats/DATS/funralist_nested.dats

/* generic arrays of various dimensions */
libats/SATS/genarrays.sats
libats/DATS/genarrays.dats

/* hashtable implementation based on separate chaining */
libats/SATS/hashtable_chain.sats
libats/DATS/hashtable_chain.dats

/* hashtable implementation based on linear probing */
libats/SATS/hashtable_linprb.sats
libats/DATS/hashtable_linprb.dats

#ifdef HAVE_GMP_H
libats/SATS/intinf.sats
libats/DATS/intinf.dats
#endif

libats/SATS/iterint.sats
libats/DATS/iterint.dats

/* linear map implementation based on AVL trees */
libats/SATS/linmap_avltree.sats
libats/DATS/linmap_avltree.dats

/* linear array-based queue implementation */
libats/SATS/linqueue_arr.sats
libats/DATS/linqueue_arr.dats

/* linear array-based stack implementation */
libats/SATS/linstack_arr.sats
libats/DATS/linstack_arr.dats

#ifdef HAVE_PCRE_H
libats/SATS/regexp.sats
libats/DATS/regexp.dats
#endif

/* ****** ****** */

/* end of [.libfiles] */
