[Chicken-users] Gazette issue 12
_/_/_/ _/_/_/ _/_/_/_/ _/_/_/ _/ _/ _/_/_/_/_/ _/_/_/ _/ _/_/_/ _/_/_/_/ _/_/ _/_/_/ _/ _/_/ _/_/_/_/ _/_/_/ _/_/ _/_/_/_/ _/_/_/_/_/ _/_/ --[ Issue 12 ]- G A Z E T T E brought to you by the Chicken Team == 0. Introduction Welcome to issue 12 of the Chicken Gazette, live from icebound rural England! == 1. The Hatching Farm * Moritz Heidkamp added link shortcuts to hyde * Peter Bex released a fix to charset encoding rules for fragment in uri-common. * Christian Kellermann merged in upstream changes to linenoise, and provided an input port usable in csi. * Kon Lovett added posix-utils, which currently provides some environment access routines, but he hopes to add more miscellaneous POSIX routines in due course. * Kon Lovett also moved the variable tools from moremacros into its own extension, variable-item. * Kon Lovett, clearly on a roll by now, continued the programme of improvements to srfi-29 with "package per thread" support. * Felix Winkelmann released v0.8 of the bind egg, but neglected to put anything in the changelog so the consequences are a mystery to us all! * David Krentzlin released log5scm, a logging library based on CL's log5 library * Jim Ursetto updated sql-de-lite to SQLite v0.5.2 and fixed `fold-rows*` * David Krentzlin released his eagerly awaited nomads SQL database migration tool * Moritz Heidkamp updated scss and then updated hyde to use it (along with another minor improvement) == 2. Core development Other than the usual fixing of minor bugs, it has been decided that the ability to statically build eggs is not worth maintaining; the first step, removing documentation for this facility, has now been done. But the big news is that version 4.6.3 has been tagged. Here's the changelog: - Peter Bex has cleaned up the makefiles heavily, making the build more maintainable and easier to modify; thanks to all who helped testing this new build - renamed the makefile to `GNUmakefile' to catch using the a make(3) other than GNU make - `-fwrapv' is disabled on OpenBSD, since the default compiler does not support this option (thanks to Christian Kellermann) - on Solaris `gcc' is used by default, override `C_COMPILER' to use the Sun compiler instead - added the new foreign type `size_t' (suggested by Moritz Heidkamp) - added the missing `unsigned-integer64' foreign type (thanks to Moritz for catching this) - added support for proxy-authentification to `chicken-install' (thanks to Iruata Souza) - `define-record' now allows defining SRFI-17 setter procedures for accessing slots - removed the stub definition for `define-macro' - added new foreign type `pointer-vector' which maps to `void **' and provided a low-level API in the `lolevel' library unit for manipulating pointer vectors - declaring a function `notinline' will prevent direct-call optimization for known procedure calls - when compiling in C++ mode, the compiler will be called with the `-Wno-write-strings' option - the expansion of DSSSL lambda-lists uses now `let-optionals*' internally instead of `let-optionals' and so allows back-references to earlier formal variables; this also results in faster and more compact code for argument-list destructuring (thanks to Alan Post) - Peter Bex has contributed various bugfixes and performance enhancements to the `irregex' library unit - fixed bug in `getter-with-setter' that modified the first argument if it already had a setter procedure attached - added a SRFI-17 setter to `list-ref' - control-characters in symbol-names are now properly escaped if the symbol is printed readably (thanks to Alaric Snell-Pym Blagrave for pointing this out) - added literal blob syntax ("#{ ... }") - `delete-directory' now optionally deletes directories recursively - fixed incorrect size of internal data vector used in `time' (thanks to Kon Lovett) - `list-tail' gives now a better error message when passed a non-list argument - deadlock in the scheduler now terminates the process instead of attempting to throw an error - added some sanity checks to the scheduler - when installing from a local directory `chicken-install' now removes existing `*.so' files in that location to avoid stale binaries when the `make' syntax is used in setup scripts The source code for the development snapshot may be had from http://code.call-cc.org/dev-snapshots/. Since 4.6.3 was tagged off, work has continued on the experimental and main branches, in preparation for 4.6.4; further work on automatic
Re: [Chicken-users] current-time on 32-bit hardware
From: Nicolas Pelletier Subject: Re: [Chicken-users] current-time on 32-bit hardware Date: Mon, 15 Nov 2010 10:47:36 +0900 > Hello, > > On Fri, Jul 30, 2010 at 21:13, Felix > wrote: >> >> If you are adventurous, you can try out the "flonum-milliseconds" >> branch in the git repository, where I made all the necessary changes >> (quite a lot, in fact). Feedback would be great, since I don't have >> decent testing code for multithreading. > > It's been quite a while since this message... I have backported the > flonum-milliseconds code for my 4.3.0 installation and used it since > the beginning of August. I also added a patch to runtime.c to use > times() to compute dates instead of gettimeofday(). The two > multi-threaded applications I have that use Chicken include each a > handful of threads, finite state automatons, timers, and mutexes. They > spawn several other processes, talk to them through sockets and pipes, > parse their output, filter/modify/group log messages and events > (maximum 1 event every 2 ms), throw and catch some exceptions and also > use dynamic-wind and call/cc. > > While 1 event per 2 ms max is not exactly blindingly fast, these > applications have passed soak tests for a hundred hours each, and are > deployed at several customers' sites since the beginning of September, > with nobody complaining so far. So I vote for the inclusion of the > flonum-milliseconds patch :-) > Very good. It has been included for a while now. Thanks for testing this. cheers, felix ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users