From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Marius Vollmer Newsgroups: gmane.lisp.guile.user Subject: Re: SCM_LENGTH ??? Date: Mon, 10 Jan 2005 18:26:42 +0100 Message-ID: References: <41DEC762.765FDC9F@veritas.com> <41DED481.AEF0CABB@veritas.com> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1105378797 4705 80.91.229.6 (10 Jan 2005 17:39:57 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 10 Jan 2005 17:39:57 +0000 (UTC) Cc: guile-user@gnu.org, mckelvey@users.sourceforge.net Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Jan 10 18:39:24 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1Co3Vj-0000nh-00 for ; Mon, 10 Jan 2005 18:39:23 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Co3hE-0002wN-OT for guile-user@m.gmane.org; Mon, 10 Jan 2005 12:51:16 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Co3eC-00015g-F0 for guile-user@gnu.org; Mon, 10 Jan 2005 12:48:08 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Co3e8-00013x-Gi for guile-user@gnu.org; Mon, 10 Jan 2005 12:48:05 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Co3e8-0000tt-Bo for guile-user@gnu.org; Mon, 10 Jan 2005 12:48:04 -0500 Original-Received: from [129.217.163.1] (helo=mail.dt.e-technik.uni-dortmund.de) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Co3JV-00062n-Is for guile-user@gnu.org; Mon, 10 Jan 2005 12:26:45 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by mail.dt.e-technik.uni-dortmund.de (Postfix) with ESMTP id 144DE4DEE8; Mon, 10 Jan 2005 18:26:44 +0100 (CET) Original-Received: from mail.dt.e-technik.uni-dortmund.de ([127.0.0.1]) by localhost (krusty [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 16207-01-2; Mon, 10 Jan 2005 18:26:43 +0100 (CET) Original-Received: from troy.dt.e-technik.uni-dortmund.de (troy.dt.e-technik.uni-dortmund.de [129.217.163.17]) by mail.dt.e-technik.uni-dortmund.de (Postfix) with ESMTP id 745BC4DEE6; Mon, 10 Jan 2005 18:26:43 +0100 (CET) Original-Received: by troy.dt.e-technik.uni-dortmund.de (Postfix, from userid 520) id 048E6B98F; Mon, 10 Jan 2005 18:26:42 +0100 (CET) Original-To: bkorb@veritas.com In-Reply-To: <41DED481.AEF0CABB@veritas.com> (Bruce Korb's message of "Fri, 07 Jan 2005 10:27:13 -0800") User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux) X-Virus-Scanned: by amavisd-new at dt.e-technik.uni-dortmund.de X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.user:4036 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:4036 Bruce Korb writes: > Marius Vollmer wrote: > >> We are! In fact, SCM_LENGTH is already deprecated in 1.6, but not in >> a very verbose way. > > That is wrong. A comment in an obscure document somewhere > is insufficient notice. You must do something to get someone's > attention. Yes, true. In 1.7 it was deprecated in a verbose way, but I removed it completely when redoing the string implementation because, well, sometimes I just don't want to have that stuff in there any longer and can't constrain myself properly... I have brought back SCM_LENGTH, SCM_CHARS, and SCM_UCHARS. The recommended way to check for deprecated features is to compile a version of Guile with --disable-deprecated and compile/link/test against that. > I cannot control my clients. They will use whatever is installed. Which is not always going to work, period. Programs do have reqirements that must be honored by the clients of these programs. The less requirements there are, the better, but it is unrealistic to aim for zero requirements. Requiring Guile 1.6 is very reasonable in my view, especially since it is still maintained. Guile 1.4 is also still around (if not 'officially' whatever that means). > They could (and do) still use 1.4. Are these scm_c_*_length functions > available in 1.6 (let alone 1.4)? No. > DO NOT DISCARD INTERFACES WITHOUT A _VERY_ LONG TRANSITION and > please supply a bridge: > > # define SCM_LENGTH(e) \ > (gh_string_p(e) ? scm_c_string_length(e) : scm_c_vector_length(e)) We had this in 1.7 for a long time, and yes, I should not have removed it. It is back now. >> This version is guaranteed to contain serious bugs, and the publically >> visible interfaces will almost certainly change before 1.8 is >> released. The 1.7 releases might be termed "selected snapshots". > > A disappearing interface is certainly a bug. No, if the interface itself is buggy, I'd say removing it is a feature. :-) >> We are releasing it anyway to start testing the new features, and to >> get feedback about how difficult or tedious it is to switch from Guile >> 1.6 to this series. > > It is not possible to migrate released software. You are not supposed to. Just use 1.6 for the old releases and require 1.8 for the new ones, if you see a benefit. > Please ensure that *ALL* legacy interfaces are maintained. Unfortunately, the legacy interfaces of Guile are problematic. Traditionally, Guile has exposed lots of its internal implementation details (such as the fact that strings, symbols, and vectors stored their length in the same way), and because of the lack of clean alternatives and also lack of proper documentation, people have made use of these internals in their programs. We try to slowly fix this situation. So, SCM_LENGTH is definitely deprecated and you need to stop using it eventually. The alternatives are hopefully much better and will stay around much longer. > P.S. please forgive my crankiness. It's been a long week....Sorry. No problem, posts like yours do make a difference. Please keep them coming! _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user