2008-06-28  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_get_object_properties): object properties

	* dfsch/number.h: number type and exactness predicates

	* src/weak.c (weak_key_hash_ref): weak-key-hash

2008-06-27  Ales Hakl  <ales at hakl dot net>

	* src/number.c: bignum support in standard numeric API
	(frac_cons): fracnums

	* src/bignum.c: usable bignums (without reasonable input)

2008-06-26  Ales Hakl  <ales at hakl dot net>

	* src/bignum.c (bignum_div_big): reasonable bignum division

2008-06-25  Ales Hakl  <ales at hakl dot net>

	* src/bignum.c (bignum_div_impl): unsigned bignum division

2008-06-24  Ales Hakl  <ales at hakl dot net>

	* src/bignum.c (bignum_sub): bignum subtraction (working)
	(bignum_mul): bignum multiplication (slow)

2008-06-23  Ales Hakl  <ales at hakl dot net>

	* src/bignum.c (bignum_add): bignum addition (definitely not usable)

2008-06-20  Ales Hakl  <ales at hakl dot net>

	* dfsch/util.h (DFSCH_RWLOCK_RDLOCK): emulation of rwlock using mutex

2008-05-23  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_make_context): *dfsch-platform*

2008-05-14  Ales Hakl  <ales at hakl dot net>

	* src/system.c: get-internal-*-time

	* src/number.c: coorect promotion of large longs to flonum

2008-05-09  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_obj_write): removed redundant append of buf

2008-04-30  Ales Hakl  <ales at hakl dot net>

	* src/hash.c: export DFSCH_STANDARD_HASH_TYPE

2008-04-28  Ales Hakl  <ales at hakl dot net>

	* src/repl.c (main): fix -i

	* src/number.c (dfsch_number_mul): correct promotions for
	multiplication

2008-04-27  Ales Hakl  <ales at hakl dot net>

	* src/number.c: use _FACT_CADR() for numeric operators

	* dfsch/dfsch.h: use _FAST_CADR() macros in argument destructuring

2008-04-26  Ales Hakl  <ales at hakl dot net>

	* Makefile.am (nobase_include_HEADERS): install types.h

	* src/hash.c (hash_t): use rwlock instead of two mutexes

2008-04-25  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c: pairs identified by tag in pointer, not first word

	* src/number.c: Direct fixnums (promotion is currently broken)

2008-04-17  Ales Hakl  <ales at hakl dot net>

	* lib/regex_mod.c (native_regex_match_once_p): missing dfsch_bool()

2008-04-14  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch__get_thread_info): use __thread on gcc

2008-04-11  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_new_frame_from_hash): environments as special
	object, not cons.
	(dfsch_lookup): eliminated consing

2008-04-06  Ales Hakl  <ales at hakl dot net>

	* lib/threads.c: solaris fixes

2008-04-04  Ales Hakl  <ales at hakl dot net>

	* src/object.c: use DFSCH_TYPE_OF instead of direct acess to type
	field
	
	* Mass replace of DFSCH_TYPE_OF

2008-04-03  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (lookup_symbol): case-sensitive symbols
	Use DFSCH_TYPE_OF instead of direct access to type field

2008-03-31  Ales Hakl  <ales at hakl dot net>

	* scm/test.scm: There is no real need for this to use (require 'lib) 

2008-03-23  Ales Hakl  <ales at hakl dot net>

	* Makefile.am: add -avoid-version to modules

	* src/wrapper.c (define_wrapper_type): use dfsch_symbol_2_typename

2008-02-17  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_symbol_2_typename): centralized removal of
	brackets from typenames

2008-02-15  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_obj_write): insert space after typename

2008-02-12  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_obj_write): write object pointers correctly

	* src/object.c (abstract_class_type): abstract classes

2008-02-11  Ales Hakl  <ales at hakl dot net>

	* NEWS: release 0.2.0

2008-02-09  Ales Hakl  <ales at hakl dot net>

	* src/wrapper.c (DFSCH_DEFINE_FORM_IMPL): define-wrapper-type
	(wrapper_basetype): common superclass for wrapper types

	* dfsch/dfsch.h (DFSCH_KEYWORD): support for keyword arguments to
	C code.

2008-02-08  Ales Hakl  <ales at hakl dot net>

	* src/parse.c: Symbol aliases and parser directives (useful for
	many unrelated things, for example packages)

	* Makefile.am (nobase_include_HEADERS): install util.h

	* src/ports.c (dfsch_port_basetype): base class for ports (not
	used for anything, only for consistency)

2008-02-06  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c: Eliminated most warnings (and more or less
	redundant const declarations)

	* src/hash.c (dfsch__hash_native_register): support for custom
	hashes (with same API, usable even as environment entries)

2008-02-04  Ales Hakl  <ales at hakl dot net>

	* Makefile.am: Splited relevant modules into shared library (C
	API) and module (dfsch API) parts.

	* src/dfsch.c (dfsch_obj_write): print object pointers longer than
	32 bits correctly.

2008-02-03  Ales Hakl  <ales at hakl dot net>

	* dfsch/util.h: utility functions in public API

2008-01-27  Ales Hakl  <ales at hakl dot net>

	* lib/extref.c: External references

2008-01-17  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_empty_list_type): empty-list type
	(dfsch_abstract_type): abstract-type type
	(list_type): list type (common superclass of pair and empty-list)

	* src/weak.c (dfsch_weak_reference_dereference): lock allocator
	when checking for live reference 

2008-01-16  Ales Hakl  <ales at hakl dot net>

	* src/generic.c (dfsch_define_generic): merged ensure-generic into
	define-generic and define-method.

2008-01-14  Ales Hakl  <ales at hakl dot net>

	* scm/lib.scm: removed define-macro macro

	* src/native.c (define_macro): define-macro as special form

	* src/dfsch.c (dfsch_destructure): recursive destructuring

	* src/compile.c: compiler (expands macros, eliminates variable
	references)

2008-01-07  Ales Hakl  <ales at hakl dot net>

	* Makefile.am: install lib.scm

	* src/dfsch.c (dfsch_eval_impl): Macros are not implicit begin

2007-12-30  Ales Hakl  <ales at hakl dot net>

	* src/native.c (dfsch__native_register): removed support for
	user-defined forms (macros are general enough)
	all primitives as static structs

	* dfsch/dfsch.h (DFSCH_DECLARE_PRIMITIVE): support for statically
	allocated primitives

2007-12-28  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_make_vector): vector as non-nested objects

2007-12-27  Ales Hakl  <ales at hakl dot net>

	* src/object.c (native_form_define_class): strip angle brackets
	from class names

	* src/hash.c (hash_change_size): thread-safe resizing (hopefully)

2007-12-26  Ales Hakl  <ales at hakl dot net>

	* src/generic.c: generic functions (and completly new object system)

	* src/native.c (native_form_define_variable): define-variable
	special form

	* src/parse.c (tokenizer_process): unicode character literals

2007-12-25  Ales Hakl  <ales at hakl dot net>

	* lib/gcollect.c: garbage collector statistics module

2007-12-24  Ales Hakl  <ales at hakl dot net>

	* lib/inet.c (dfsch_inet_xml_escape): special character escpaing
	for SGML/XML

	* src/parse.c (tokenizer_process): recognize CR as whitespace

	* lib/inet.c (dfsch_http_query_2_hash): use value, not name
	(dfsch_inet_urldecode): do not fill whole memory with spaces

2007-12-23  Ales Hakl  <ales at hakl dot net>

	* lib/inet.c: internet (HTTP) data handling module
	(dfsch_inet_url..code): urlencode and urldecode
	(urldecode_to_string): urldecode results from URI parsing
	(dfsch_inet_base64_encode): base64 encoder
	(dfsch_inet_base64_decode): base64 decoder

2007-12-22  Ales Hakl  <ales at hakl dot net>

	* src/native.c (native_for_each): fix empty list case

2007-12-18  Ales Hakl  <ales at hakl dot net>

	* src/repl.c (main): do not load modules by default

2007-12-17  Ales Hakl  <ales at hakl dot net>

	* src/repl.c (interactive_repl): handle exceptions for parser on
	line-feeds

	* src/ports.c (native_write): write readable representation


2007-12-16  Ales Hakl  <ales at hakl dot net>

	* src/load.c (dfsch_load_so): return some meaningful value

2007-12-15  Ales Hakl  <ales at hakl dot net>

	* src/system.c (native_encode_universal_time):
	encode-universal-time	
	(native_iso_format_time): iso-format-time function

2007-12-14  Ales Hakl  <ales at hakl dot net>

	* src/system.c (native_decode_universal_time):
	decode-universal-time function
	(native_get_decoded_time): get-decoded-time

	* src/ports.c (file_port_type): partial implementation file-port
	(file_port_seek): seek! and tell

2007-12-13  Ales Hakl  <ales at hakl dot net>

	* src/parse.c (dfsch_parser_read_from_port): fixed read

	* src/ports.c (dfsch_port_write_buf): there is no reason for
	write-buf! to return anything
	(string_output_port_type): string-output-port
	(string_input_port_type): partial implementation of string-input-port
	(eof_object_type): eof-object

2007-12-12  Ales Hakl  <ales at hakl dot net>

	* src/ports.c (dfsch__port_native_register): reading from ports

	* dfsch/magic.h (DFSCH_UNWIND): initialize dfsch___caught

2007-12-11  Ales Hakl  <ales at hakl dot net>

	* dfsch/ports.h: added declarations

	* src/ports.c: null-port and display and write

	* src/dfsch.c: use saprintf()

	* src/control.c: rewritten all special forms as true special forms

	* src/types.h (form_t): added hook for compiler

2007-12-10  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c: renamed dfsch_throw to dfsch_error

	* src/wrapper.c (dfsch_make_wrapper_type): support hash method in
	wrapper types

	* src/dfsch.c: removed scheme-like call/ec (idea is to replace it
	with CL-style catch/throw)

	* scm/test.scm ("control flow"): call/ec really seems badly broken.

	* src/control.c (dfsch__control_register): destructuring-bind not
	destrucutring-bind :)

	* src/repl.c (main): rename version -> *dfsch-version*

	* src/control.c (native_form_destructuring_bind): destructuring-bind

	* configure.ac: set default load:*path* correctly 

2007-12-10  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_new_frame_from_hash): function for constructing
	environments from pre-existing hash tables (for with-foo forms)
	(dfsch_destructure): split lamda_extend to user-accessible function

	* src/object.c (native_form_with_slots): with-slots special form

	* src/hash.c (native_form_with_hash): with-hash special form

2007-12-09  Ales Hakl  <ales at hakl dot net>

	* src/repl.c (main): renamed argv to *posix-argv*

	* src/ports.c: current-input/output-port

2007-12-08  Ales Hakl  <ales at hakl dot net>

	* src/number.c (n_hash): better hashing

2007-12-06  Ales Hakl  <ales at hakl dot net>

	* src/hash.c: use new hash method

	* dfsch/dfsch.h: hash method in type descriptor

2007-12-05  Ales Hakl  <ales at hakl dot net>

	* dfsch/strings.h (DFSCH_STRING_ARG_OPT): fix optional string 
	arguments

	* src/hash.c (hash_string): fix infinite loop

2007-12-03  Ales Hakl  <ales at hakl dot net>

	* src/control.c (native_form_let): Fixed let argument parsing

2007-12-02  Ales Hakl  <ales at hakl dot net>

	* configure.ac (USE_READLINE): correct SCM lib dir (in /usr/share)

	* src/dfsch.c (dfsch__get_thread_info): create thread specific data 
	key before using it :)

2007-12-01  Ales Hakl  <ales at hakl dot net>

	* Makefile.am (nobase_include_HEADERS): integrate module loader
	into dfsch, install modules into $libdir/dfsch
	(nobase_include_HEADERS): install load.h

	* lib/load.c (dfsch_load_register): predefine library directories

2007-11-28  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c: Removed keywords (it's useless syntactic sugar which 
	is too non-trivial to get right)

2007-11-25  Ales Hakl  <ales at hakl dot net>

	* lib/load.c (dfsch_require): rename *modules* to load:*modules*

	* src/dfsch.c (dfsch_symbol_or_keyword): convert symbols or keyword to 
	string (without the leading :)

2007-11-15  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (make_symbol): keyword support
	(dfsch_symbol_2_keyword): fixed potential race condition

	* src/parse.c: Throw exceptions from parser

2007-11-03  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_zip): construct list directly

2007-09-26  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (pair_write): removed special case for simple pairs

2007-09-23  Ales Hakl  <ales at hakl dot net>

	* src/control.c (native_apply): fix apply

2007-09-20  Ales Hakl  <ales at hakl dot net>

	* lib/unix.c: use WCONTINUED only when it is defined

2007-09-19  Ales Hakl  <ales at hakl dot net>

	* src/repl.c (main): require as command line option

2007-09-15  Ales Hakl  <ales at hakl dot net>

	* src/control.c (native_form_let): use argument parsing macros
	removed MIN_ARGS() and NEED_ARGS() macros

	* dfsch/dfsch.h (DFSCH_ARG_REST): macro for getting rest of
	arguments

	* src/control.c (native_form_quote): use argument parsing macros

2007-09-03  Ales Hakl  <ales at hakl dot net>

	* src/ports.c (dfsch_port_readline): line reading function

2007-08-31  Ales Hakl  <ales at hakl dot net>

	* dfsch/ports.h: Port type definition.
	Documentation comments

2007-08-26  Ales Hakl  <ales at hakl dot net>

	* src/object.c (dfsch__object_native_register): define
	class-superclass in top-level environment

2007-08-22  Ales Hakl  <ales at hakl dot net>

	* src/hash.c (alloc_vector): vector was allocated too large.

	* lib/unix.c (stat_t): stat(2) and struct stat wrappers
	(native_lstat): lstat(2) and fstat(2)

2007-08-21  Ales Hakl  <ales at hakl dot net>

	* src/util.c (dfsch__vsaprintf): sprintf() that allocates output
	buffer

	* src/parse.c (tokenizer_process): ignore shebang

	* lib/unix.c (native_gettimeofday): gettimeofday(2)

	* src/promise.c (dfsch_force_promise): more MT-safe promises

2007-08-18  Ales Hakl  <ales at hakl dot net>

	* lib/unix.c (dir_type): support for directory streams

2007-08-17  Ales Hakl  <ales at hakl dot net>

	* dfsch/lib/regex.h: Documentation comments

2007-08-13  Ales Hakl  <ales at hakl dot net>

	* lib/load.c (dfsch_load): fixed path searching logic.

2007-08-12  Ales Hakl  <ales at hakl dot net>

	* lib/load.c: provide/require mechanism

2007-08-08  Ales Hakl  <ales at hakl dot net>

	* src/object.c: unified exceptions to not-a-class-instance

2007-08-01  Ales Hakl  <ales at hakl dot net>

	* src/parse.c (dispatch_string): ignore escaped newlines

2007-07-29  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_zip): zip function (transposition of nested lists)

	* src/format.c: simple future-proof format implementation,
	currently supporting ~a, ~s and ~*

2007-07-24  Ales Hakl  <ales at hakl dot net>

	* src/pprint.c: placeholder for future pretty printer
	implementation

	* Makefile.am (nobase_include_HEADERS): added weak.h to installed
	headers
	(nobase_include_HEADERS): added lib/unix.h to installed headersd

2007-07-17  Ales Hakl  <ales at hakl dot net>

	* src/object.c: more class acessors for runtime class
	modification.

2007-07-15  Ales Hakl  <ales at hakl dot net>

	* src/object.c: <object> and <delegator> caches for C code.
	(dfsch_object_define_class): helper function for subclasing

	* dfsch/dfsch.h (DFSCH_OBJECT_CACHE): generalized symbol and
	object caching

	* src/hash.c (dfsch_hash_unset): FIXED: now works even for buckets
	that would become empty.
	(dfsch_hash_set_if_exists): hash-set-if-exists! now returns
	boolean value (most code is not affected in any way by this
	change)

	* src/dfsch.c (dfsch_unset): function for unsetting variables in
	environments.

	* src/hash.c (dfsch_hash_unset): hash-unset returns boolean value
	- true if given key existed and false if not.

	* src/object.c (dfsch_object_slots_2_alist): function for getting
	all slots of object
	(dfsch_object_slot_unset): function for removing slots from object.

2007-07-14  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_vector_as_array): conversion of vectors to C
	arrays 
	(dfsch_vector_from_array): Conversion of C arrays to vectors

	* src/weak.c: support for weak refrences (probably working)
	Removed ptr_diff_check_array - gcc hapily alocates array of zero
	items
	(dfsch_make_weak_vector): weak-vector datatype (vector of weak
	references)

	* src/promise.c (dfsch_force_promise): 
	FIXED: object_t -> dfsch_object_t

2007-07-10  Ales Hakl  <ales at hakl dot net>

	* src/promise.c (dfsch_force_promise): more R5RS style semantics
	of promises.

	* src/control.c (native_form_unwind_protect): unwind-protect
	special form

2007-07-09  Ales Hakl  <ales at hakl dot net>

	* dfsch/magic.h (DFSCH_UNWIND): unwind-protect like construction
	for C code.

2007-07-01  Ales Hakl  <ales at hakl dot net>

	* src/repl.c: Transcript support

2007-06-24  Ales Hakl  <ales at hakl dot net>

	* lib/unix.c (native_isatty): isatty() wrapper
	(native_kill, native_killpg): kill and killpg wrappers
	(native_raise): raise wrapper
	(native_sig): signal name to number conversion
	(native_open): open() wrapper
	(native_creat): creat() wrapper
	(native_read): read() wrapper
	(native_write): write() wrapper
	(native_chdir): access() wrapper 
	(native_unlink): unlink() wrapper
	(native_rename): rename() wrapper
	(native_rmdir): rmdir() wrapper

	* src/dfsch.c (dfsch_compare_symbol): symbol-string comparison

	* lib/unix.c (dfsch_unix_register): unix syscall interface (some
	basic IO calls are missing for now) 

2007-06-14  Ales Hakl  <ales at hakl dot net>

	* dfsch/magic.h: added comment describing purpose, use and
	ugliness of this file

	* dfsch/lib/load.h, dfsch/parse.h, dfsch/hash.h, dfsch/number.h:
	added file description

	* dfsch/dfsch.h: removed redundant declaration of dfsch_env_get()

2007-03-06  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_exception_write): removed redundant ew_ctx_t

2007-02-26  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_eval_proc_impl): reset break flag _BEFORE_
	throwing exception

2007-02-24  Ales Hakl  <ales at hakl dot net>

	* scm/test.scm ("object subsystem"): basic tests of object subsystem

2007-02-20  Ales Hakl  <ales at hakl dot net>

	* lib/threads.c (dfsch_channel_create): use finalized
	synchronization primitives

2007-02-20  Ales Hakl  <ales at hakl dot net>

	* src/util.c (dfsch__create_finalized_mutex): finalized mutexes as
	sepparate objects (in order to break finalization cycles)

2007-01-27  Ales Hakl  <ales at hakl dot net>

	* src/object.c (dfsch__object_native_register): slot-set! should
	have bang in name.

2007-01-22  Ales Hakl  <ales at hakl dot net>

	* configure.ac (READLINE_LIBS): probably working support for
	versions without readline

	* TODO: removed object system from todo list

	* Makefile.am: install object.h

2007-01-20  Ales Hakl  <ales at hakl dot net>

	* src/object.c (class_write): correct buffer size
	(class_apply): We don't want send_tr here

	* dfsch/magic.h: exception handling in plain old C (ugly and so on)

	* src/dfsch.c (dfsch_exception_write): handle exceptions

	* src/object.c: object system

	* src/native.c (native_object_2_string): same signature as write
	method for wrappers

2007-01-16  Ales Hakl  <ales at hakl dot net>

	* Makefile.am (libdfsch_la_SOURCES): reflect rename of object.h to
	types.h

	* src/hash.c (dfsch_hash_unset): lower bound on hash table size

	* src/native.c (native_get_type): handle the empty list case

	* src/dfsch.c (type_write): It's not good idea to reuse same buffer
	for two sucessive calls of sl_append()

	* src/native.c (native_get_type): inspect type of given object
	(probably useless for now)

	* lib/load.c (dfsch_read_scm_stream): streams are closed by
	fclose(3) not close(2)
	(dfsch_read_scm_fd/_stream): dont close anything (it's
	responsibility of caller) 

	* dfsch/dfsch.h (dfsch_type_t): more or less first-class types

2007-01-15  Ales Hakl  <ales at hakl dot net>

	* src/types.h: renamed from object.h

	* dfsch/wrapper.h, dfsch/strings.h: added extern "C" for C++

	* src/parse.c (dispatch_string): unicode escapes

	* src/strings.c (escape_table): excape NUL as \x00 and not \0

	* src/parse.c (dispatch_string): simplified hex byte-escape handling
	(dispatch_string): full octal escapes

2007-01-14  Ales Hakl  <ales at hakl dot net>

	* src/strings.c (string_write): removed redundant hexadecimal table.

2007-01-03  Ales Hakl  <ales at hakl dot net>

	* scm/test.scm (test): use when form

2006-12-31  Ales Hakl  <ales at hakl dot net>

	* scm/test.scm: Structured tests

	* src/repl.c: write function

2006-12-08  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_try): finally support

2006-11-24  Ales Hakl  <ales at hakl dot net>

	* src/parse.c (parse_close): check that given state is valid for
	close paren.

2006-11-12  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_make_symbol): moved symbol table initialization 
	here.
	(gsh_check_init): removed locking and other unnecessary code
	(dfsch_eval_impl): propagate thread_info_t when recursing to self
	(eval_list): use dfsch_eval_impl instead of dfsch_eval
	(dfsch_eval_impl): propagate thread_info to eval_list

2006-11-11  Ales Hakl  <ales at hakl dot net>

	* src/hash.c (dfsch_hash_set): Synchronization of hash modifications

2006-11-05  Ales Hakl  <ales at hakl dot net>

	* src/hash.c (get_hash): Default hash function for all objects

2006-11-04  Ales Hakl  <ales at hakl dot net>

	* *: Removed concept of interpreter context

	* src/repl.c (main): -L option

	* lib/load.c (dfsch_load_scm): Searching for source files.

2006-10-26  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_try): restore continuation stack.
	(dfsch_try): removed unnecesary casts

2006-10-24  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_try): invalidate inner continuations
	Removed all occurencies of "volatile" (it's unnecessary)

2006-10-22  Ales Hakl  <ales at hakl dot net>

	* src/number.c (dfsch__number_native_register): derive value of pi
	from math library (pi = 4*arctan 1)
	(native_exp): exp without arguments returns e

2006-10-21  Ales Hakl  <ales at hakl dot net>

	* scm/test.scm (strings): Some tests for strings.
	(*utf8*): utf-8 related tests 

	* src/dfsch.c (dfsch_apply_impl): typeless-value can be applied
	and evaluates to empty list (quite useless feature)
	(dfsch_apply_impl): apply_impl is internal implementation
	function, therefore should be static

	* src/native.c (native_reduce): More Common Lisp like reduce.

2006-10-20  Ales Hakl  <ales at hakl dot net>

	* src/native.c (native_reduce): reduce function

	* src/number.c (dfsch_make_number_from_long): Smallnums allocated
	on heap

	* lib/regex.c (dfsch_regex_substrings): Dereferencing
	uninitialized pointer leads to undefined behavior :)

2006-10-15  Ales Hakl  <ales at hakl dot net>

	* dfsch/dfsch.h (DFSCH_SYMBOL_CACHE): macro for defining symbol
	caching functions

	* src/dfsch.c (dfsch_eval_proc_impl): Added thread specific data 
	caching (I expect some performance gain from this, because
	get_thread_info() is (should be) slow)

2006-10-12  Ales Hakl  <ales at hakl dot net>

	* src/repl.c (main): VERSION -> PACKAGE_VERSION (some versions of 
	something needs this)

2006-10-08  Ales Hakl  <ales at hakl dot net>

	* lib/regex.c: Throw exception when passed () instead of compiled 
	regex

	* src/dfsch.c (dfsch_list_p): list? function

2006-10-07  Ales Hakl  <ales at hakl dot net>

	* src/native.c (native_filter): filter function

2006-10-05  Ales Hakl  <ales at hakl dot net>

	* lib/regex.c (native_regex_substrings_once): removed REG_NOSUB

	* scm/test.scm (substrings-once): Additional test 

	* lib/regex.c: split core from code handling wrapper objects.
	Simple functions without need for compilation

	* scm/test.scm ("Regular expressions"): Tests for regex module

	* lib/regex.c (dfsch_regex_substrings): Fixed buffer overflow

	* src/repl.c (main): integrated regular expressions

	* lib/regex.c (dfsch_regex_substrings): substring matches

2006-10-04  Ales Hakl  <ales at hakl dot net>

	* lib/threads.c (dfsch_threads_register): Fixed prototypes of 
	finalizers

	* lib/regex.c (dfsch_regex_register): Simple (match/no match) regular 
	expression support... and now with code :)
	(regex_finalizer): finalization of regex objects

	* scm/supermarket.scm: Exit after predefined number of iterations, 
	do not loop forever

2006-09-20  Ales Hakl  <ales at hakl dot net>

	* configure.ac (USE_READLINE): Removed redundant chcek for use_readline

	* TODO: Reordered to match priority

	* lib/: Moved standalone libraries to separate directory. 

2006-08-13  Ales Hakl  <ales at hakl dot net>

	* scm/test.scm: Some more tests

2006-08-12  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_eqv_p): Handle the NULL case.

2006-08-06  Ales Hakl  <ales at hakl dot net>

	* src/native_cxr.c: nested accessors for pairs

2006-07-17  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_apply_tr): Optimize tail calls even thru
	custom applicable types
	(dfsch_call_ec): continuations as distinct type
	(continuation_apply): check for continuations passed between threads
	(dfsch_evla_tr): clear break_type after handling it.

	* src/wrapper.c (dfsch_make_wrapper_type): Wraper object for
	building custom data types from scheme code

	* src/dfsch.c (dfsch_apply_tr): reordered checks - primitives are
	provably called more often than closures

	* dfsch/dfsch.h (dfsch_type_t): apply method for user-defined
	applicable objects

2006-07-16  Ales Hakl  <ales at hakl dot net>

	* src/hash.c (dfsch_hash_2_alist): alist->hash

2006-07-15  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_exception_write): Better stacktraces
	(containing processed forms)
	(dfsch_exception_write): Minor formating changes

	* src/threads.c (dfsch_channel_read): Erase readed items from buffer

	* src/dfsch.c (dfsch_break): signal-safe exceptions

	* src/threads.c (dfsch_thread_detach): Aehm... missing assignment

	* scm/supermarket.scm: Some example code for multithreading

	* src/threads.c (dfsch_channel_create): Channels (which seems like
	preferable method of communication between threads)

2006-07-14  Ales Hakl  <ales at hakl dot net>

	* src/threads.c (dfsch_condition_create): Condition variables

2006-07-13  Ales Hakl  <ales at hakl dot net>

	* src/threads.c: Mutexes (non-working)
	(dfsch_mutex_*): added asignments to m (this is why it didn't work) 

	* src/dfsch.c (dfsch_call_ec): Removed volatile (there is no
	reason for it to be there, probably)
	(dfsch_eval_proc_tr): dtto.

	* src/number.c (dfsch_number_to_string): added cast to number_t*

	* src/threads.c: Multithreading support (or something like that)

2006-06-18  Ales Hakl  <ales at hakl dot net>

	* dfsch/*.h: Added documentation comments

2006-06-11  Ales Hakl  <ales at hakl dot net>

	* dfsch/dfsch.h: Added documentation comments to argument macros

	* *: Removed all references of dfsch_make_string() and dfsch_string()

2006-06-07  Ales Hakl  <ales at hakl dot net>

	* dfsch/dfsch.h: Updated doxygen tags

2006-06-04  Ales Hakl  <ales at hakl dot net>

	* dfsch_list_length_check used almost anywhere where makes sense

	* src/strings.c (dfsch_list_2_string): use dfsch_list_length_check

	* src/dfsch.c (dfsch_list_length): Detect infinite lists
	(pair_write): Detect infinite lists
	(dfsch_list_length_check): Function with semantics similar to
	length in scheme - return length of given list, throw exception
	for anything else. Compiles now.
	(dfsch_list_2_vector): use dfsch_list_length_check

2006-06-03  Ales Hakl  <ales at hakl dot net>

	* src/number.c (dfsch_number_to_string): Number-specific write
	function
	(native_.*_2_.*): convert string to number and other way

2006-05-21  Ales Hakl  <ales at hakl dot net>

	* src/number.c: Rounding functions

2006-05-20  Ales Hakl  <ales at hakl dot net>

	* src/strings.c (dfsch_list_2_string): Fixed some warnings

	* src/dfsch.c: Fixed some warnings introduced by GC'd symbols
	Fixed some other warnings

	* src/parse.c (dispatch_atom): Allow numbers with leading +

	* src/dfsch.c: Fixed bug in string_hash
	(symbol_finalizer): GC'd symbols

2006-05-19  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_form_p): form? type predicate

	* dfsch/dfsch.h: Correct declarations in header for new list functions
	Corrected other broken headers.

	* src/dfsch.c (dfsch_reverse): list reversal function
	(dfsch_mem*) Membership checking functions

	* scm/test.scm: More tests

	* src/hash.c (native_make_hash): mode argument was ignored

	* src/number.c, dfsch/number.h: Comparison functions reimplemented 
	(native_max, native_min): max and min functions

	* src/number.c (native_even_p, native_odd_p): even? and odd?
	(dfsch__number_eqv_p): eqv? works correctly

	* scm/test.scm: Naming change

	* src/control.c (native_form_do): do iteration form

2006-05-18  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_obj_write): Better support for platforms with
	>32b word
	(closure_write): dtto.

	* src/number.c (native_acos, native_asin): inverse trigonometrics
	(native_atan): arcus tangent
	(native_sqrt): Square root
	(native_expt): Power (expt)
	(native_zero_p, native_positive_p, native_negative_p): some basic
	predicates

2006-05-17  Ales Hakl  <ales at hakl dot net>

	* src/number.c (native_log): Natural logarithm
	(native_tan, native_cos, native_sin): Trigonometric functions

	* src/strings.c: Added DFSCH_ARG_END to mark ends of argument lists

	* src/number.c (native_abs): Absolute value function
	(native_exp): Exponent

	* NEWS: Release 0.2.0-pre2

2006-05-14  Ales Hakl  <ales at hakl dot net>

	* {dfsch,src}/parse.[hc]: Renamed from stream.[ch] to parse.[ch]

	* src/control.c (native_macro_case): slightly simplified
	when and unless macros

2006-05-13  Ales Hakl  <ales at hakl dot net>

	* scm/lib.scm (define-struct): Defaulting of slot values
	(define-struct): Indicate slot name for unknown slots

2006-05-12  Ales Hakl  <ales at hakl dot net>

	* scm/lib.scm (define-struct): Structures (preliminary)

	* src/native.c: for-each and map functions
	map works

2006-05-08  Ales Hakl  <ales at hakl dot net>

	* src/native.c: string->symbol and symbol->string

	* src/object.h (TYPE_CHECK): check for nil

	* src/native.c: string->object and object->string

2006-05-01  Ales Hakl  <ales at hakl dot net>

	* dfsch/dfsch.h (DFSCH_DISCARD_ARG): Macro for unneeded arguments
	(like env in some macros/forms)

	* src/control.c (dfsch__control_register): split native.c to
	native and control.

	* src/native.c (native_form_let): named-let construct

2006-04-23  Ales Hakl  <ales at hakl dot net>

	* src/stream.c (tokenizer_process): create true object from cache

	* src/dfsch.c: Removed static declaration of ascii_strcasecmp

	* src/stream.c (tokenizer_process): Special case for unreadable objects

	* src/number.c (dfsch_make_number_from_string): At least some
	support for non-decimal numbers

	* src/stream.c (tokenizer_process): support for boolean and
	character escapes
	(tokenizer_process): case insensitive character names
	(dispatch_atom): Signal error on invalid number

2006-04-22  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c: tail escape descriptor should (probably) be
	declared volatile

	* src/strings.c: rename utf8-substring to substring-utf8
	Removed debugging code
	Fixed some warnings

2006-04-19  Ales Hakl  <ales at hakl dot net>

	* src/strings.c (string_write): Better string escaping.
	(dfsch_list_2_string_utf8): list->string-utf8 function
	(utf8_ref_cb): Fixed.

2006-04-18  Ales Hakl  <ales at hakl dot net>

	* src/strings.c: Escape all characters < 32, list->string function

2006-04-17  Ales Hakl  <ales at hakl dot net>

	* src/strings.c (dfsch_string_2_list): string->list function
	(dfsch_string_utf8_2_list): string-utf8->list function

	* src/dfsch.c (string_hash): Slightly simplified
	(lookup_symbol): Faster and locale independent lookup

2006-04-16  Ales Hakl  <ales at hakl dot net>

	* doc/dfsch-repl.1: manpage for dfsch-repl
	Correct formating of SEE ALSO section

2006-04-15  Ales Hakl  <ales at hakl dot net>

	* src/repl.c (interactive_repl): non-readline REPL

	* src/load.c (dfsch_read_scm_stream): last character is
	strlen()-1, strlen() is final NUL

	* src/native.c (native_id): return unique id (memory address) of
	given object

	* configure.ac: Correct handling of arguments (autoconf is magic)

2006-04-09  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_unintern): Compare object pointers, not data 

	* src/number.c (dfsch_make_number_from_long): Internation of small
	numbers 

2006-03-20  Ales Hakl  <ales at hakl dot net>

	* scm/test.scm (exit-func): Better formatting of output (probably)
	(one-test-fail): Works correcrtly

	* src/repl.c (command_print): Less ugly print function

	* scm/test.scm (exit-func): Slightly modified testsuite
	Use strings instead of symbols in output

	* dfsch/number.h: prototypes for arithmetic routines

2006-03-19  Ales Hakl  <ales at hakl dot net>

	* src/number.c: Better formating of numbers

	* many places: Removed old number API calls
	(dfsch_number()/dfsch_make_number())  

	* src/number.c (dfsch_make_number_from_double): New way of parsing
	numbers - discriminate between fixnum and flonum
	(n_equal_p): support for comparing different numeric types
	(NUMBER_BINOP): First try at type-aware numeric operators 
	(native_slash_i): /i function for integer division

	* src/dfsch.c (dfsch_call_ec): Continuations moved to dfsch.c and
	improved a bit.

2006-03-18  Ales Hakl  <ales at hakl dot net>

	* src/number.c: Fixnum support (unused for now)

2006-03-15  Ales Hakl  <ales at hakl dot net>

	* src/stream.c: Support for empty vectors

	* src/dfsch.c: Better formating of exceptions.

2006-03-14  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c: Stack traces
	(closure_write): Print closure's name

2006-03-12  Ales Hakl  <ales at hakl dot net>

	* src/repl.c (sigill_handler_break): Handle SIGILL as exception 
	(BEWARE OF THE HACK)

2006-02-12  Ales Hakl  <ales at hakl dot net>

	* src/strings.c (dfsch_string_utf8_for_each): user selectable
	handling of invalid bytes in utf-8 string

	* dfsch/dfsch.h: Removed remains of DFSCH_THROW

2006-02-11  Ales Hakl  <ales at hakl dot net>

	* src/strings.c (dfsch_string_utf8_length): Length calculation
	function for utf-8 strings 
	(dfsch_string_utf8_length): Fixed bad constant
	(dfsch_string_utf8_ref): string-ref for utf-8 strings
	(dfsch_string_utf8_substring): substring for utf-8 strings
	Better handling of invalid bytes and sequences in utf-8
	(dfsch_string_utf8_for_each): Generalized UTF-8 handling
	(dfsch_string_for_each): Iteration over raw strings
	Fixed some warnings and logic bugs

2006-02-09  Ales Hakl  <ales at hakl dot net>

	* dfsch/dfsch.h: removed DFSCH_THROW

2006-02-08  Ales Hakl  <ales at hakl dot net>

	* dfsch/strings.h (dfsch_string_substring): Added declarations of
	added functions to header file

	* src/strings.c (dfsch_string_length): Return length of list
	(dfsch__string_native_register): Full set of string comparison
	predicates
	(native_substring): substring function

2006-02-07  Ales Hakl  <ales at hakl dot net>

	* dfsch/dfsch.h (DFSCH_GENERIC_ARG): generic argument handling macros 

	* src/strings.c (dfsch_string_list_append): Generic string append
	function.

2006-01-29  Ales Hakl  <ales at hakl dot net>

	* src/repl.c (main): indented option help a bit

	* dfsch/dfsch.h: Added readable parameter (discrimining between
	write and display)

	* src/repl.c (esc): Added last argument to functions defined in
	repl.c 

2006-01-28  Ales Hakl  <ales at hakl dot net>

	* src/repl.c (sigint_handler_break): Handle C-C while evaluating
	as user break.
	(sigint_handler_rl): C-c in readline works in more sane way

2006-01-27  Ales Hakl  <ales at hakl dot net>

	* src/repl.c (noninteractive_repl): Handle input from something
	that is not a terminal gracefuly

	* src/dfsch.c (lambda_extend): Fixed misbehaving lambda_extend for
	functions with variable number of srguments called without any
	arguments 
	(dfsch_raise): Thread safe exception handling
	(dfsch_make_symbol): Thread safe symbols
	(dfsch_eval_tr): Marginal performance hack

	* src/native.c (native_form_defined_p): Fixed defined? to work
	with new wxception system

	* src/hash.c (GET_HASH): Recognize nils as not being valid hash
	table objects

	* src/dfsch.c (dfsch_unintern): uninterning of symbols

	* src/native.c: Removed duplicated code

	* src/number.c: Moved number native functions to number.c

	* src/native.c: escape argument to native functions
	(native_eval): eval, apply and eval-proc are properly tail-recursive
	(native_form_let_seq): Properly tail recursive
	(native_form_letrec): Properly tail recursive
	(native_form_let): Properly tail recursive

	* src/load.c: escape argument to native functions

	* src/promise.c: escape argument to native functions

	* src/hash.c: escape argument to native functions

	* src/dfsch.c (dfsch_apply_tr): Support for tail recursive native
	functions.

	* scm/test.scm (degeneratedList): Test for special case of quasiquote

	* src/dfsch.c (dfsch_append): append accepts empty lists as
	arguments.

	* src/native.c (native_gensym): gensym function

	* src/dfsch.c (dfsch_gensym): gensyms (unique symbols)

2006-01-26  Ales Hakl  <ales at hakl dot net>

	* configure.ac: Do not add -lreadline to LIBS

	* src/strings.c: Fixed some warnings

	* src/promise.c: Fixed some warnings

	* src/hash.c: Fixed some warnings

	* src/dfsch.c: Fixed some warnings
	All warnings fixed

	* scm/test.scm (v): Test for vector manipulation

2006-01-25  Ales Hakl  <ales at hakl dot net>

	* src/native.c (dfsch_native_register): assq, assv in scheme

	* src/dfsch.c (dfsch_assq, dfsch_assv): Other variants of assoc 
	(dfsch_assv): Fixed

	* src/strings.c (string_equal_p): Fixed string comparison function

	* src/hash.c: Multiple options of comparison for hash tables

	* src/promise.c: Moved promise and stream primitives to separate file

	* src/hash.c (dfsch__hash_native_register): Moved hash primitives
	to separate file

	* src/internal.h: Header file for internal functions (i.e. Native
	function registration)

	* src/dfsch.c (dfsch_vector_2_list): Fixed segfaults in list->vector
	(type definitions): Made types' methods static 
	(vector_equal_p): Vector comparison
	(vector_write): Vector writer
	(dfsch_obj_write): Removed unused parts of code
	(dfsch_make_object): Optional logging of object creations

	* New way of handling objects in memory 

2006-01-23  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c: Fixed various warnings about type safety and undefined
	functions

	* dfsch/dfsch.h: Fixed tzpos in argument proocessing macros

	* src/strings.c: New handling of strings is working

2006-01-22  Ales Hakl  <ales at hakl dot net>

	* dfsch/strings.h: We should be able to create empty strings

2006-01-05  Ales Hakl  <ales at hakl dot net>

	* dfsch/strings.h: Some basic idea of API.

	* src/strings.c dfsch/strings.h: Files for new implementation of
	string handling

2005-12-25  Ales Hakl  <ales at hakl dot net>

	* src/native.c (native_hash_unset): hash-unset acessible to scheme
	code 

	* src/hash.c (dfsch_hash_unset): Deleting keys and shrinking of 
	hash-tables

	* src/native.c: Promises avaiable as native functions
	(native_form_cons_stream): Streams avaiable as native functions
	(native_form_stream_*): Renamed to match SRFI 40 

	* dfsch/hash.h: Documentation update

	* src/promise.c: Promises

2005-12-20  Ales Hakl  <ales at hakl dot net>

	* src/object.h: Moved dfsch_object_t definition into separate
	reusable file 

2005-12-19  Ales Hakl  <ales at hakl dot net>

	* configure.ac: Bumped version number to 0.2.0-pre1

2005-12-18  Ales Hakl  <ales at hakl dot net>

	* src/native.c (native_call_ec): Escape continuations
	(native_raise, native_error, native_abort ...): Exception wrappers 

2005-12-17  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c: Removed checks for exception datatype

	* src/repl.c: Adapted for new exceptions.

	* src/dfsch.c (dfsch_raise): Escape continuations based exceptions
	(dfsch_try): Removed debug hooks

	* src/native.c (native_string_append): string-append for arbitrary
	number of arguments

	* src/dfsch.c (eval_proc_impl): Tail recursion support

2005-12-05  Ales Hakl  <ales at hakl dot net>

	* src/native.c (native_eval_proc): eval-proc is avaiable to scheme code
	(native_modulo) modulo (%) operator

2005-11-29  Ales Hakl  <ales at hakl dot net>

	* src/repl.c: Support for logging of executed forms

2005-11-20  Ales Hakl  <ales at hakl dot net>

	* scm/test.scm: Extended test suite 

	* tests/scm-test.sh, Makefile.am: integrated test suite into build
	process  

	* src/native.c (native_vector_length): Fixed bug concerning type
	identification 

	* src/repl.c (main): argv variable

	* src/native.c (native_macro_cond): Support for alternate form
	with "=>"

	* src/dfsch.c (dfsch_assoc): assoc works correctly

	* src/native.c: assoc and listref native functions 

2005-11-19  Ales Hakl  <ales at hakl dot net>

	* src/repl.c (main): Use dfsch_exception_write() consistently

	* src/dfsch.c (dfsch_eval_proc): Propagate exceptions correctly

	* src/stream.c: Cleaned up vector (and other special values) handling

	* src/native.c: Non-comutative number operators behaves correctly

	* scm/test.scm (condAlt): Updated to match dfsch's notion of booleans

2005-11-18  Ales Hakl  <ales at hakl dot net>

	* src/stream.c (dispatch_string): Hexadecimal string escapes.
	
	* src/stream.c, src/util.c: Include correct header for string functions

	* src/native.c (native_vector_length): Test for datatype
	
2005-11-17  Ales Hakl  <ales at hakl dot net>

	* src/load.c (dfsch_read_scm_*): handle invalid syntax correctly

	* src/dfsch.c (dfsch_list_read): handle invalid syntax correctly

	* src/repl.c (main): Evaluate expression from command line, -i option

	* src/dfsch.c (dfsch_obj_write_exception): Pretty-printing exceptions

	* src/load.c (dfsch_read_scm_*): Detect unclosed S-expressions 

	* src/repl.c (main): dfsch-repl is now usable as interpreter in
	shebang 

	* scm/test.scm: Test for interpreter

	* src/dfsch.c (lambda_extend): FIXED: extending new frames behaved
	wildly 

	* src/hash.c (dfsch_hash_2_alist): Routine for converting hash
	tables into association lists

	* src/repl.c (command_print): Ad-hoc printing mechanism in
	commandline interpreter

	* src/native.c (native_macro_case): "case" construct (see 4.2.1 of
	R5RS) 

	* src/dfsch.c (dfsch_eval_proc): Comment describing ways to
	implement tail-recursion

2005-11-16  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_new_frame, dfsch_lookup, dfsch_define,
	dfsch_set): Hash-table based environment frames 

	* src/hash.c (dfsch_hash_set_if_exists): Performance hack:
	hash-set-if-exists! 

	* src/native.c (native_form_let, native_form_letrec, 
	native_form_let_seq): All three variants of let, implemented using
	environment manipulation functions from dfsch.c

	* src/dfsch.c: Moved all (probably) manipulations of environment
	into one place.

	* src/native.c (native_macro_if): Reimplemented "if" to support
	both forms mentioned in R5RS

	* src/hash.c (hash_t): Native representation of hash tables

	* src/native.c (native_form_or, native_form_and): Working forms
	"or" and "and"

	* src/hash.c: Hash implementation on top of scheme objects

	* dfsch/hash.h: Hash data type

	* src/dfsch.c (dfsch_vector): varargs constructor for vectors

	* FIXED various warnings throghout the code.

	* src/dfsch.c (dfsch_make_form, dfsch_make_macro): Cleaned up
	terminology:
	     flow-macro -> macro
	     macro -> special-form

2005-11-15  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_append): Fixed seg-fault when appending nothing.
	(dfsch_define): Fixed growth of top-level env. when redefining

	* src/util.c: Moved utility functions to separate source file

	* src/native.c (dfsch_native_register): Moved native functions
	into separate source file.

2005-11-14  Ales Hakl  <ales at hakl dot net>

	* src/stream.c (parse_vector): Vector support

	* dfsch/dfsch.h (DFSCH_*ARG*): Argument helpers for native functions 

	* src/dfsch.c: In-core representation of vectors 
	Removed expression parser code from dfsch.c
	(dfsch_define): Allow redefining on top-level
	Vector datatype support

2005-11-07  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (string_hash): Another string hashing function

	* bootstrap.sh: Added autoheader

2005-11-06  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_ctx_define): Works like scheme's define
	i.e. fails when variable is already defined in current environment

	* configure.ac: Support for config.h
	
2005-10-30  Ales Hakl  <ales at hakl dot net>

	* src/load.c (dfsch_load_so): Binary modules loading support

2005-09-03  Ales Hakl  <ales at hakl dot net>

	* configure.ac: Added option for profiling (need to be used in 
	conjunction with --disable-shared)

2005-08-16  Ales Hakl  <ales at hakl dot net>

	* src/load.c (dfsch_read_scm_stream): BUGFIX: Correct counting of 
	lines longer then 8KiB

2005-08-14  Ales Hakl  <ales at hakl dot net>

	* Makefile.am (libdfsch_load_la_LIBADD): Explicitly link libdfsch

	* src/dfsch.c: Added eval and apply primitives
	(dfsch_make_context): added top-level-environment function
	(dfsch_make_context): Renamed env to current-environment

	* src/load.c (dfsch_load_scm_fd): Split core from dfsch_load_scm
	into separate function
	(dfsch_load_scm_stream): stdio streams based version (aware of
	line numbers)
	(dfsch_load_scm_...): Better error reporting 
	(load_callback): Generalized the thing - now  it's posible to load
	data by same code as is used for loading code.

	* dfsch/load.h: Added include guard

	* src/repl.c (command_exit): (exit) in interactive interpreter
	(requested by Pavel Kacha)

	* configure.ac: Check for some basic functions in libc
	Check for readline.

	* Makefile.am (dfsch_repl): Name clash between includes directory
	and interpreter binary. 

	* configure.ac: Check for gc.h and -lgc

2005-08-13  Ales Hakl  <ales at hakl dot net>

	* src/dfsch.c (dfsch_obj_write): Write out names of closures.

	* src/stream.c (consume_queue): Added one debugging output

	* src/dfsch.c (make_symbol): Similar problem in symbol handling

	* src/stream.c (dfsch_parser_create): BUGFIX: parser context
	wasn't garbage collected -> various parts of it (esp. input
	buffer) was blown away by collector considering it to be
	unreachable (this shoul hopefully fix some of SEGVs when using
	large heap)

2005-08-11  Ales Hakl  <ales at hakl dot net>

	* ChangeLog: reformated old entries to match style of new ones (to
	some extent)
	
	* README: Added paragraph about interactive interpreter

	* NEWS: Removed contents, it needs to have some system instead of
	current chaos (absolute chaos)

	* ChangeLog: added old entries from svn's ChangeLogs

	* src/repl.c: Added support for loading code on runtime

	* src/load.c: Renamed import to load
	Moved loading of scheme code from repl.c to load.c

	* src/repl.c: Readline TAB completion for scheme symbols
	(main): Cleaned up indentation support a bit

2005-08-10  Ales Hakl  <ales at hakl dot net>

	* Makefile.am: Moved libdfsch specific shared libraries to
	libdfsch_la_LIBADD.

2005-08-06  Ales Hakl  <ales at hakl dot net>

	* src/repl.c: Fixed race condition in SIGINT handling.

2005-08-05  Ales Hakl  <ales at hakl dot net>

	* src/stream.c, src/repl.c: Automatic indenting of interactive
	interpreter prompts

	* src/dfsch.c: Some basic support for features like symbol
	completion

2005-07-10  Ales Hakl  <ales at hakl dot net>
  
	* src/dfsch.c: Calculate hash size correctly from macros
  
  
2005-06-23  Ales Hakl  <ales at hakl dot net>
  
	* Makefile.am: removed targets and dependencies of dsc
  
  
2005-06-23  Ales Hakl  <dfox at users dot sourceforge dot net>
  
	* dsc: Removed from trunk branch (this thing is not interesting) 
  
  
2005-06-23  Ales Hakl  <ales at hakl dot net>
  
	* src/dfsch.c: Added PI constant
  
2005-05-25  Ales Hakl  <ales at hakl dot net>
  
	* Basics of scheme compiler.
  
2005-05-22  Ales Hakl  <ales at hakl dot net>
  
	* First phase of modularization - header for module for 
	importing modules
  
2005-05-22  Ales Hakl  <ales at hakl dot net>
  
	* Removed stream_repl.c
  
2005-05-22  Ales Hakl  <ales at hakl dot net>
  
	* dfsch_ctx_lookup() function
  
2005-05-22  Ales Hakl  <ales at hakl dot net>
  
	* Added missing implementation of dfsch_nil().
	* Tests directory.
  
2005-05-22  Ales Hakl  <ales at hakl dot net>
  
	* Minor cleanups
  
2005-05-15  Ales Hakl  <ales at hakl dot net>
  
	* ...
  
2005-05-15  Ales Hakl  <ales at hakl dot net>
  
	* Removed debugging hooks
  
2005-05-15  Ales Hakl  <ales at hakl dot net>
  
	* Stream parser fixes
  
2005-05-15  Ales Hakl  <ales at hakl dot net>
  
	* Fixed weird behaviour of parser when processing '
  
2005-05-15  Ales Hakl  <ales at hakl dot net>
  
	* reworked REP loop
	* dfsch_ctx_lambda() function
	* DFSCH_RETHROW() macro
  
2005-05-15  Ales Hakl  <ales at hakl dot net>
  
	* BUGFIX: let works correctly now
	* Added some documentation here and there
  
2005-05-15  Ales Hakl  <ales at hakl dot net>
  
	* Reworked error-handling
  
2005-05-15  Ales Hakl  <ales at hakl dot net>
  
	* count_list renamed to list_length
  
2005-05-15  Ales Hakl  <ales at hakl dot net>
  
	* DFSCH_THROW() and dfsch_throw() for better exception handling.
	* dfsch_list_item() and dfsch_count_list()
  
2005-05-14  Ales Hakl  <ales at hakl dot net>
  
	* dfsch_bool()
	* Minor hacks
  
2005-05-14  Ales Hakl  <ales at hakl dot net>
  
	* Fixed configure
  
2005-05-14  Ales Hakl  <ales at hakl dot net>
  
	* Fixed include files
  
2005-05-14  Ales Hakl  <ales at hakl dot net>
  
	* Release 0.1
  
2005-05-14  Ales Hakl  <ales at hakl dot net>
  
	* Minor text files modifications
  
2005-05-14  Ales Hakl  <ales at hakl dot net>
  
	* NEWS and README
  
2005-05-14  Ales Hakl  <ales at hakl dot net>
  
	* Minor pre-dist modifications
  
2005-05-14  Ales Hakl  <ales at hakl dot net>
  
	* Better exception handling
	* New functions
  
2005-05-14  Ales Hakl  <ales at hakl dot net>
  
	* Cleaned it up a bit
  
2005-05-14  Ales Hakl  <ales at hakl dot net>
  
	* Symbol hashing
  
2005-05-03  Ales Hakl  <ales at hakl dot net>
  
	* This works on debian (and probably only on debian)
  
2005-05-02  Ales Hakl  <ales at hakl dot net>
  
	* Usual `buildhere' directory
  
2005-05-02  Ales Hakl  <ales at hakl dot net>
  
	* This should maybe work (libtool is black magic)
  
2005-05-02  Ales Hakl  <ales at hakl dot net>
  
	* Transition to autotools, phase 1.
  
2005-05-02  Ales Hakl  <ales at hakl dot net>
  
	* Minor stability related fixes.
  
2005-04-11  Ales Hakl  <ales at hakl dot net>
  
	* Makefile update for fscking debian
  
2005-03-18  Ales Hakl  <ales at hakl dot net>
  
	* redefining symbol yields error
  
2005-03-16  Ales Hakl  <ales at hakl dot net>
  
	* Removed declaration of dfsch_parser_destroy() - handled by gc now
  
	* Reindented header files
  
2005-03-16  Ales Hakl  <ales at hakl dot net>
  
	* Fixed what was broken by gc update.. etc. etc.
  
2005-03-16  Ales Hakl  <ales at hakl dot net>
  
	* minor gc fixes
  
2005-03-16  Ales Hakl  <ales at hakl dot net>
  
	* Native data support (untested)
  
2005-03-16  Ales Hakl  <ales at hakl dot net>
  
	* minor optimalizations
  
2005-03-16  Ales Hakl  <ales at hakl dot net>
  
	* Boehm's conservative garbage collector instead of that ugly hack.
  
2005-03-16  Ales Hakl  <ales at hakl dot net>
  
	* Minor fixes around gc.
	* Documentation fixes
  
2005-03-15  Ales Hakl  <ales at hakl dot net>
  
	* Error reporting
  
2005-03-15  Ales Hakl  <ales at hakl dot net>
  
	* Eent driven parser is working - but doesn't detect any errors
  
2005-03-14  Ales Hakl  <ales at hakl dot net>
  
	* Event driven tokenizer
  
2005-03-10  Ales Hakl  <ales at hakl dot net>
  
	* Fixed infinite loop in parser code
  
2005-03-06  Ales Hakl  <ales at hakl dot net>
  
	* string-append in standard functions
  
2005-03-06  Ales Hakl  <ales at hakl dot net>
  
	* Morse code example
  
2005-02-26  Ales Hakl  <ales at hakl dot net>
  
	* Fixed fatal bug in try
  
2005-02-26  Ales Hakl  <ales at hakl dot net>
  
	* Bugfix - multiple comments in a row should not cause problems anymore
  
2005-02-26  Ales Hakl  <ales at hakl dot net>
  
	* Exception support
  
2005-02-25  Ales Hakl  <ales at hakl dot net>
  
	* ObjectFramework + accopanying bugfixes
  
2005-02-25  Ales Hakl  <ales at hakl dot net>
  
	* New primitives
  
2005-02-25  Ales Hakl  <ales at hakl dot net>
  
	* C++ support
  
2005-02-24  Ales Hakl  <ales at hakl dot net>
  
	* Removed clutter
  
2005-02-24  Ales Hakl  <ales at hakl dot net>
  
	* Initial import
  
