[Chicken-users] Gazette issue 12

2010-11-15 Thread Alaric Snell-Pym


 _/_/_/  _/_/_/
  _/_/_/_/  _/_/_/  _/  _/  _/_/_/_/_/
 _/_/_/  _/  _/_/_/  _/_/_/_/  _/_/
_/_/_/  _/  _/_/  _/_/_/_/
 _/_/_/  _/_/  _/_/_/_/  _/_/_/_/_/  _/_/

--[ 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

2010-11-15 Thread Felix
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