From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Taylan Ulrich Bayirli/Kammer Newsgroups: gmane.lisp.guile.user Subject: Re: A couple of questions about goops method parameters Date: Sun, 07 Sep 2014 18:46:44 +0200 Message-ID: <87d2b7e5u3.fsf@taylan.uni.cx> References: <1409905923.9245.5.camel@Renee-desktop.suse> <871trpridm.fsf@izanagi.i-did-not-set--mail-host-address--so-tickle-me> <871trpkdbf.fsf@elektro.pacujo.net> <87bnqtiukx.fsf@elektro.pacujo.net> <878ulxgfa4.fsf@elektro.pacujo.net> <87egvoffh7.fsf@elektro.pacujo.net> <87ppf7eggu.fsf@taylan.uni.cx> <87ppf7edlw.fsf@elektro.pacujo.net> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1410108434 19425 80.91.229.3 (7 Sep 2014 16:47:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 7 Sep 2014 16:47:14 +0000 (UTC) Cc: Carlos Pita , David Thompson , "guile-user@gnu.org" To: Marko Rauhamaa Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sun Sep 07 18:47:07 2014 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XQfcJ-0005jm-40 for guile-user@m.gmane.org; Sun, 07 Sep 2014 18:47:07 +0200 Original-Received: from localhost ([::1]:38888 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XQfcE-0001Vf-M5 for guile-user@m.gmane.org; Sun, 07 Sep 2014 12:47:02 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46570) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XQfc1-0001VM-7I for guile-user@gnu.org; Sun, 07 Sep 2014 12:46:50 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XQfc0-00049p-9V for guile-user@gnu.org; Sun, 07 Sep 2014 12:46:49 -0400 Original-Received: from mail-lb0-x230.google.com ([2a00:1450:4010:c04::230]:56842) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XQfbz-00049X-VR for guile-user@gnu.org; Sun, 07 Sep 2014 12:46:48 -0400 Original-Received: by mail-lb0-f176.google.com with SMTP id z11so2384585lbi.21 for ; Sun, 07 Sep 2014 09:46:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=b48oy3E9QpCM+LMgFhT550i+qZs++0sITFEduqpVdOo=; b=czG9YLPAW7adRLv4YFt36UqwAoTu3ezEf1b/2uRl6Oj3WMhEO8CD70xdMG5lwa2Dnf vTRKeSI5aKUHkcKQAbndiusLs7I6fNC/k+gOVlJueQ9Wjaj6FJzLnpytTgtw3MmYAprE IOMWu4RJsfC22/OaEpZSruLLqkTsunHqSCIdZiCby+dSyinBrxAy8C/h9vxhznb10V2K gkvAw4JuNmIap+vfO9jkTBaaa5vOVqaHKMwnr7rtq6fEgjleT5noUPxmBQ5iy0DSZob3 ZpioIOnyP9teaJK2I5mVsjDWuXysxnrt6ubgUKt0nHSvrPCWbHJiKl/jVbgB58Mkm5sK cSbg== X-Received: by 10.152.9.170 with SMTP id a10mr3158862lab.79.1410108406300; Sun, 07 Sep 2014 09:46:46 -0700 (PDT) Original-Received: from taylan.uni.cx (p200300514A1DE4E60213E8FFFEED36FB.dip0.t-ipconnect.de. [2003:51:4a1d:e4e6:213:e8ff:feed:36fb]) by mx.google.com with ESMTPSA id bt9sm2730505lbd.47.2014.09.07.09.46.45 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 07 Sep 2014 09:46:45 -0700 (PDT) In-Reply-To: <87ppf7edlw.fsf@elektro.pacujo.net> (Marko Rauhamaa's message of "Sun, 07 Sep 2014 16:58:51 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c04::230 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:11485 Archived-At: Marko Rauhamaa writes: > It's perfectly fine to avoid errors by generalizing semantics so I > wouldn't mind if you did what you propose. However, the dynamic type > system is necessary for the simple fact that you will need to define > runtime semantics. Oh, I was rather looking at things from a low-level perspective. E.g. the "foo" string in my example was meant as a pointer, whose numeric value plus 5 resulted in an integer whose underlying byte sequence is then interpreted as an IEEE double. In other words I was suggesting that "by default" there are only byte sequences, and type systems help to work with these conveniently. > No, the primary objective is not to prevent errors but to have > well-defined semantics. Scheme, Python, C or Java would function > perfectly well without any type error checking, static or dynamic. The > results could be undefined or a burning computer, that doesn't matter. > What matters is that you know what a well-defined program is supposed > to do. I think I understand your viewpoint, and it also makes sense: types might not be essential to bit-crunching, but they are to abstract models of computation. > However, in my extensive practical experience, a static type system, > > [...] Does that experience cover languages like SML, Ocaml, and Haskell? (Not a rhetorical question, though I suspect it doesn't; at least not as much as languages like C, C++, and Java.) Taylan