Pisettings

Provides definitions for pilisp settings. More...

Macros

#define PERFORMANCES   0
 1 will imply better performances: about 4 times faster programs execution, but you will lose checks (then segmentation fault will appear if programs aren't correct) and the size of executable will grow because some small functions will be inlined More...
 
#define DEEP_REMOVE   1
 0 => the memory will be dirty => segfault anyway a good amount of programs could run anyway in the middle between gc and no gc. 1 suggested. More...
 
#define INITIAL_BLOCK_SIZE   8
 Size of the first created block in the memory. More...
 
#define INITIAL_BLOCKS   10000
 Dimension of the array pointing to cell blocks. More...
 
#define NEW_BLOCK_THRESHOLD   0.8
 (n_free_cells/n_tot_cells) <= NEW_BLOCK_THRESHOLD => allocate a new block More...
 
#define COLLECT_GARBAGE   1
 
#define STACK_LIMIT   10000
 Max dimension of the stack. More...
 
#define PRINT_FREE_CELLS   1
 Print free cells in the (md) function. More...
 
#define PRINT_ONLY_DANGLING_CELLS   1
 Prints only the dangling cells in the (md) command . Use for debug purposes. More...
 
#define DEBUG_GARBAGE_COLLECTOR_MODE   0
 If set to 1 will display debug informations while running the gc. More...
 
#define CHECKS   1
 If set to 0 will remove the checks about errors during the execution of a program. This will make run faster correct programs. More...
 
#define PI_COMPILE_FILE_NAME_PREFIX   ".picompile"
 Prefix of the temporary file used to compile one expression. More...
 
#define PI_COMPILER_FILE_NAME_PREFIX   ".picompiler"
 Prefix of the temporary file used to load the Pilisp compiler. More...
 
#define REMOVE_TMP_FILES   1
 If set to 1 will remove temporary files. 1 suggested. More...
 
#define MAX_TOK_LEN   512
 Max length of a LISP token. More...
 
#define ERROR_MESSAGE_LEN   512
 Max length of a error message. More...
 
#define N_BUILTIN_LAMBDA   50
 Number of builtin lambdas. It's used to create the array to store them. More...
 
#define N_BUILTIN_MACRO   50
 Number of builtin macros. It's used to create the array to store them. More...
 
#define ANSI_COLOR_BLACK   "\x1b[0;30m"
 
#define ANSI_COLOR_BLUE   "\x1b[0;34m"
 
#define ANSI_COLOR_GREEN   "\x1b[0;32m"
 
#define ANSI_COLOR_CYAN   "\x1b[0;36m"
 
#define ANSI_COLOR_RED   "\x1b[0;31m"
 
#define ANSI_COLOR_PURPLE   "\x1b[0;35m"
 
#define ANSI_COLOR_BROWN   "\x1b[0;33m"
 
#define ANSI_COLOR_GRAY   "\x1b[0;37m"
 
#define ANSI_COLOR_DARK_GRAY   "\x1b[1;30m"
 
#define ANSI_COLOR_LIGHT_BLUE   "\x1b[1;34m"
 
#define ANSI_COLOR_LIGHT_GREEN   "\x1b[1;32m"
 
#define ANSI_COLOR_LIGHT_CYAN   "\x1b[1;36m"
 
#define ANSI_COLOR_LIGHT_RED   "\x1b[1;31m"
 
#define ANSI_COLOR_LIGHT_PURPLE   "\x1b[1;35m"
 
#define ANSI_COLOR_YELLOW   "\x1b[1;33m"
 
#define ANSI_COLOR_WHITE   "\x1b[1;37m"
 
#define ANSI_COLOR_RESET   "\x1b[0m"
 
#define COLOR1   ANSI_COLOR_LIGHT_BLUE
 
#define COLOR2   ANSI_COLOR_YELLOW
 

Detailed Description

Provides definitions for pilisp settings.

Macro Definition Documentation

#define ANSI_COLOR_BLACK   "\x1b[0;30m"
#define ANSI_COLOR_BLUE   "\x1b[0;34m"
#define ANSI_COLOR_BROWN   "\x1b[0;33m"
#define ANSI_COLOR_CYAN   "\x1b[0;36m"
#define ANSI_COLOR_DARK_GRAY   "\x1b[1;30m"
#define ANSI_COLOR_GRAY   "\x1b[0;37m"
#define ANSI_COLOR_GREEN   "\x1b[0;32m"
#define ANSI_COLOR_LIGHT_BLUE   "\x1b[1;34m"
#define ANSI_COLOR_LIGHT_CYAN   "\x1b[1;36m"
#define ANSI_COLOR_LIGHT_GREEN   "\x1b[1;32m"
#define ANSI_COLOR_LIGHT_PURPLE   "\x1b[1;35m"
#define ANSI_COLOR_LIGHT_RED   "\x1b[1;31m"
#define ANSI_COLOR_PURPLE   "\x1b[0;35m"
#define ANSI_COLOR_RED   "\x1b[0;31m"
#define ANSI_COLOR_RESET   "\x1b[0m"
#define ANSI_COLOR_WHITE   "\x1b[1;37m"
#define ANSI_COLOR_YELLOW   "\x1b[1;33m"
#define CHECKS   1

If set to 0 will remove the checks about errors during the execution of a program. This will make run faster correct programs.

#define COLLECT_GARBAGE   1
#define COLOR1   ANSI_COLOR_LIGHT_BLUE
#define COLOR2   ANSI_COLOR_YELLOW
#define DEBUG_GARBAGE_COLLECTOR_MODE   0

If set to 1 will display debug informations while running the gc.

#define DEEP_REMOVE   1

0 => the memory will be dirty => segfault anyway a good amount of programs could run anyway in the middle between gc and no gc. 1 suggested.

#define ERROR_MESSAGE_LEN   512

Max length of a error message.

#define INITIAL_BLOCK_SIZE   8

Size of the first created block in the memory.

#define INITIAL_BLOCKS   10000

Dimension of the array pointing to cell blocks.

#define MAX_TOK_LEN   512

Max length of a LISP token.

#define N_BUILTIN_LAMBDA   50

Number of builtin lambdas. It's used to create the array to store them.

#define N_BUILTIN_MACRO   50

Number of builtin macros. It's used to create the array to store them.

#define NEW_BLOCK_THRESHOLD   0.8

(n_free_cells/n_tot_cells) <= NEW_BLOCK_THRESHOLD => allocate a new block

#define PERFORMANCES   0

1 will imply better performances: about 4 times faster programs execution, but you will lose checks (then segmentation fault will appear if programs aren't correct) and the size of executable will grow because some small functions will be inlined

#define PI_COMPILE_FILE_NAME_PREFIX   ".picompile"

Prefix of the temporary file used to compile one expression.

#define PI_COMPILER_FILE_NAME_PREFIX   ".picompiler"

Prefix of the temporary file used to load the Pilisp compiler.

#define PRINT_FREE_CELLS   1

Print free cells in the (md) function.

#define PRINT_ONLY_DANGLING_CELLS   1

Prints only the dangling cells in the (md) command . Use for debug purposes.

#define REMOVE_TMP_FILES   1

If set to 1 will remove temporary files. 1 suggested.

#define STACK_LIMIT   10000

Max dimension of the stack.