*******************************************************************************
General Notes
*******************************************************************************
. static does not exist with MudOS - use 'nosave' resp. 'private'
. vars by reference (&var) : declare func(int ref x), call with func( ref var )
. '...' syntax varargs expansion in some cases (HUH?)
. call_out handles - call_out returns a handle for faster find_call_out etc.
	(needs to be compiled in)
. bind( f, ob ) exists (huh?)
. foreach() - WOOO! mighty!
. message() - possible to use mixed-type messages
. flush_message( void | object ) - to flush message buffer manually
. \012 - octal constant in string/char
. \x12 - hex contant in string/char
. function_exists(string, object, flag); if flag is nonzero, private and 
	static functions are checked too.
. copy() function - VERY useful to copy mappings, arrays because of that
  reference problem
. mappings like ([ key : val1; val2 ]) are not possible
. inherit behave different, the functions of the last inherited file are used,
  amylaar takes the first inherited file
. :: is different, constructs like "room/details":: ... is impossible, only
  details::

*******************************************************************************
Functions - rough overview
*******************************************************************************
Amylaars #'fun is now (: fun :)
Functions can be build like (: $1->Query( $2 ) :), which will Query the second
 argument from the first one

*******************************************************************************
Amylaar efun translation list
NOTE: some efuns exist with both but are different (like get_dir)
*******************************************************************************

add_verb		- obsolete
add_worth		- wizlist stuff
add_xverb		- obsolete
apply			- ! no closures
assoc			- ! no alists
attach_erq_demon	- na
binary_message		- na
bind_lambda		- no closures
break_point		- na
call_resolved		- ( ! undefinedp(val=call_other(...)) )
caller_stack_depth	- na
cat			- na, easily to build sefun
cindent			- na
closurep		- ! no closures
copy_mapping		- ! na
creator			- getuid()
debug_message		- na
efun			- na
efun308			- na
expand_define		- na
extern_call		- na 
extract			- obsolete
filter_objects		- filter_array(a_array,(:call_other($1, "fun" ) :) )
funcall			- evaluate(...) (for functions of course)
functionlist		- functions()
garbage_collection	- na
get_dir			- get_dir() ( but different usage! )
get_error_file		- na
get_eval_cost		- na
get_extra_wizinfo	- na
get_type_info		- typeof()
heart_beat_info		- heart_beats()
inherit_list		- deep_inherit_list() ( to get same behaviour )
insert_alist		- ! no alists
intersect_alist		- ! no alists
lambda			- ! no closures
last_instructions	- na
m_delete		- map_delete()
m_indices		- keys()
m_sizeof		- sizeof()
m_values		- values()
map_objects		- objs->FilterFunction() (with pointerp(objs))
mapping_contains	- ! NA
mappingp		- mapp
member			- ! NA
mkmapping		- allocate_mapping( x,y )
negate			- ! NA
order_alist		- ! no alists
parse_command		- simul at src/compat/simuls/parse_command
process_string		- simul at src/compat/simuls/process_string
program_time		- ! NA
query_actions		- ! NA
query_editing		- in_edit()
query_imp_port		- ! NA
query_input_pending	- in_input()
query_mud_port		- query_ip_port()
query_once_interactive 	- userp()
quote			- ! no closures
raise_error		- error()
referencep		- ! not needed, as references have to be declared
regexplode		- reg_assoc() 
regreplace		- ! NA
rename_object		- ! NA
send_erq		- ! NA
send_imp		- ! NA
set_auto_include_string	- ! can be defined in driver options.h (pragmas)
set_buffer_size		- ! NA
set_connection_charset	- ! NA
set_driver_hook		- ! NA
set_extra_wizinfo	- ! NA
set_extra_wizinfo_size	- ! NA
set_is_wizard		- ! enable_wizard() (compiled with #undef NO_WIZARDS )
set_modify_command	- interactive apply : process_input()
set_prompt		- interactive apply : write_prompt()
set_this_object		- ! NA 
slice_array		- obsolete
strstr			- strsrch()
symbol_function		- ! no closures
symbol_variable		- ! no closures
symbolp			- ! no closures
tail			- simul at src/compat/simuls/tail
to_array		- ! NA
to_object		- ! NA
to_string		- ! NA
transfer		- ! NA
transpose_array		- ! NA
unbound_lambda		- ! no closures
unshadow		- remove_shadow()
walk_mapping		- ! NA
wizlist			- ! NA
wizlist_info		- ! NA

*******************************************************************************
MudOS new efuns
*******************************************************************************

all_previous_objects
allocate_buffer
arrayp
author_stats
bufferp
cache_stats
ceil
children
classp
clonep
commands
cp
crc32
debugmalloc
deep_inherit_list
disable_wizard
domain_stats
dump_file_descriptors
dump_prog
dump_socket_status
dumpallobj
enable_wizard
error
eval_cost
evaluate
filter
floor
function_owner
function_profile
functionp
generate_source
get_char
get_config
in_edit
in_input
inherits
keys
link
livings
load_object
localtime
malloc_status
map
map_delete
mapp
master
match_path
max_eval_cost
memory_info
message
mud_status
named_livings			- like livings(), but only returns livings
				  with set_living_name called, much faster
				  than livings()
new
nullp
objects
opcprof
origin
pow
query_heart_beat
query_ip_port
query_notify_fail
query_privs
query_snooping
read_buffer
receive
reclaim_objects
refs
reg_assoc
reload_object
remove_shadow
repeat_string
replace_string
replaceable
reset_eval_cost
resolve
restore_variable
save_variable
set_author
set_debug_level
set_eval_limit
set_hide
set_malloc_mask
set_privs
set_reset
shallow_inherit_list
socket_accept
socket_acquire
socket_address
socket_bind
socket_close
socket_connect
socket_create			- NOTE: udp_read_callback gets addr as third p
socket_error
socket_error.h
socket_listen
socket_release
socket_write
stat
store_variable
strcmp
strsrch
this_user
time_expression
undefinedp
upper_case
uptime
userp
values
variables
virtualp
wizardp
write_buffer
