#ifndef SEEN_HALIUM_T
#define SEEN_HALIUM_T

#include "tree234.h"

struct node_t; typedef struct node_t node_t;
struct model_t; typedef struct model_t model_t;

struct node_t {
	char* word;
	int usage;
	tree234* tree;
};

struct model_t {
	int order;
	tree234* forward;
	tree234* backward;
	tree234** context;
	tree234* dictionary;
};

extern char* lowercase(char*);
extern char** make_word_list(const char*);
extern void free_word_list(char**);
extern model_t* make_model(int);
extern void freee_model(model_t*);
extern void learn(model_t*, char**);

extern int word_find(const char*, const node_t*);

#endif

