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 14:57:05 +0200 Message-ID: <87ppf7eggu.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> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1410094651 504 80.91.229.3 (7 Sep 2014 12:57:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 7 Sep 2014 12:57:31 +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 14:57:24 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 1XQc1w-0006ay-UI for guile-user@m.gmane.org; Sun, 07 Sep 2014 14:57:21 +0200 Original-Received: from localhost ([::1]:38156 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XQc1w-0007O0-4N for guile-user@m.gmane.org; Sun, 07 Sep 2014 08:57:20 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48435) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XQc1n-0007Nv-Gu for guile-user@gnu.org; Sun, 07 Sep 2014 08:57:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XQc1m-000368-H0 for guile-user@gnu.org; Sun, 07 Sep 2014 08:57:11 -0400 Original-Received: from mail-lb0-x231.google.com ([2a00:1450:4010:c04::231]:59400) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XQc1m-000364-90 for guile-user@gnu.org; Sun, 07 Sep 2014 08:57:10 -0400 Original-Received: by mail-lb0-f177.google.com with SMTP id l4so2991279lbv.36 for ; Sun, 07 Sep 2014 05:57:08 -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=vFU56TYjwhIhY5Fu20/Ga59rEiQNHkWqlJh5305IspU=; b=UfdfsHMHIxLwQPDx/Bv9KejF7+5h1VsAUn02OquSvc9jOO8INotkLmdxYmCurhywNQ 6sxabqxsJFVshutsDwETJ0rm6dFcJDgw+/8DunihN2PBmgLv1EUnbolrENGElbEAse8Y 125di3ndzQmf9Q1NiYD18seeeekCnxO7if+OtFwKtypZY3/bBnlHozqLhWtFJI/GdOxL v0EUFxnEarqUIZHwv/kmXT2XVFOLx7VTyRxfV7BWyrHF5NHmjmdsfSAs57VfzbH/fOnx qUGqZTbAyUFfuxRQIbLPbhb6flQzftLOvnu5QCoAR+IIFsosYJWdmWM1GO6KXK1W7lWL s8QA== X-Received: by 10.152.88.97 with SMTP id bf1mr22911693lab.58.1410094628147; Sun, 07 Sep 2014 05:57:08 -0700 (PDT) Original-Received: from taylan.uni.cx (p200300514A1DE4F70213E8FFFEED36FB.dip0.t-ipconnect.de. [2003:51:4a1d:e4f7:213:e8ff:feed:36fb]) by mx.google.com with ESMTPSA id l2sm2574903lbd.48.2014.09.07.05.57.06 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 07 Sep 2014 05:57:07 -0700 (PDT) In-Reply-To: <87egvoffh7.fsf@elektro.pacujo.net> (Marko Rauhamaa's message of "Sun, 07 Sep 2014 03:20:52 +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::231 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:11482 Archived-At: Marko Rauhamaa writes: > [...] However, since Scheme can do everything C can without static > type information, the principal justification for its existence is > performance. [...] I think that's a wrong way to look at it. Scheme has a type system too; a dynamic/run-time one. The "default" situation would be to have no type system at all, where you can add 5 to "foo" and use the result in a floating-point operation where it counts as 1.8142093e-316. That's confusing if you do it by accident, so we use type systems to prevent us from it, which is the principal justification for their existence. The choice between a static and a dynamic one is then influenced by their performance characteristics, the time at which they can tell you your mistake (compile time vs. run time), how readable they make the code (some say manifest types make code clearer), etc. Sorry for being pedantic. :) Taylan