From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Thompson Newsgroups: gmane.lisp.guile.user Subject: Re: A couple of questions about goops method parameters Date: Fri, 05 Sep 2014 16:50:54 -0400 Message-ID: <87lhpxpz9t.fsf@izanagi.i-did-not-set--mail-host-address--so-tickle-me> References: <1409905923.9245.5.camel@Renee-desktop.suse> <871trpridm.fsf@izanagi.i-did-not-set--mail-host-address--so-tickle-me> <87ppf9g76m.fsf@taylan.uni.cx> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1409950294 3755 80.91.229.3 (5 Sep 2014 20:51:34 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 5 Sep 2014 20:51:34 +0000 (UTC) Cc: Carlos Pita , "guile-user@gnu.org" To: "Taylan Ulrich Bayirli\/Kammer" , Panicz Maciej Godek Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Fri Sep 05 22:51:28 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 1XQ0Tc-0002Y6-ON for guile-user@m.gmane.org; Fri, 05 Sep 2014 22:51:24 +0200 Original-Received: from localhost ([::1]:60171 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XQ0Tc-0008Ie-B0 for guile-user@m.gmane.org; Fri, 05 Sep 2014 16:51:24 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44900) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XQ0TM-0008Hg-MT for guile-user@gnu.org; Fri, 05 Sep 2014 16:51:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XQ0TF-0002aF-S0 for guile-user@gnu.org; Fri, 05 Sep 2014 16:51:08 -0400 Original-Received: from na3sys009aog117.obsmtp.com ([74.125.149.242]:42633) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XQ0TF-0002a1-Kc for guile-user@gnu.org; Fri, 05 Sep 2014 16:51:01 -0400 Original-Received: from mail-qa0-f51.google.com ([209.85.216.51]) (using TLSv1) by na3sys009aob117.postini.com ([74.125.148.12]) with SMTP ID DSNKVAoiMq/Bdsuoch/r85wzFPkjRMi3s98H@postini.com; Fri, 05 Sep 2014 13:51:00 PDT Original-Received: by mail-qa0-f51.google.com with SMTP id j7so11360149qaq.38 for ; Fri, 05 Sep 2014 13:50:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references :user-agent:date:message-id:mime-version:content-type; bh=FNjDyCpk/wIllu0ohNu1Zi4CLNds2asrUAtTJqXGoo0=; b=KvqxobEQLhy2rf6nfurdZtvu777pcg3z8GCoKOJD9+XfpwPhr3UugYFMsq+VCsOqEK PEsOg2tRrFdH1p+KK+k4CVouele9AUB4EeLJxX5BZ+R0bZJ3cJdp21me/lCiZwXS+c7d SXDqdYnU6xyEvQYYSwKceP2qFXOUNZqmwTj/2rMQp80WBYT8vCIVZgA3o061m1mg+y1u Ps8KboUmNGwFflcR3YyCbEEdDd9nSTaP5QLVqq6hj+3+4+BuUsn8/Xhrd9cAxiBAKRC+ PbBSO4qpkEEev2X51x4b/o/Sz11L2WXhFpVMRIYcn/hxIsjyGZDp12fD9q6wewW7jncf YEhQ== X-Gm-Message-State: ALoCoQn12u9obZsn0vWpX4M45CFQhx1siog2R+tm6QWpkTo4aCPHq29RN/v7W/kj0dG6aiw7hPRxYA5xF/ZtwkM7Egqwa36FeQXlFzhotcqTqTIi5S3gYkSPrUq1j+kxo4bJK8O8bvg5XrFKyT0m8Qwrw8lqI1fZxg== X-Received: by 10.140.98.196 with SMTP id o62mr16746784qge.0.1409950256760; Fri, 05 Sep 2014 13:50:56 -0700 (PDT) X-Received: by 10.140.98.196 with SMTP id o62mr16746769qge.0.1409950256658; Fri, 05 Sep 2014 13:50:56 -0700 (PDT) Original-Received: from izanagi (209-6-40-86.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com. [209.6.40.86]) by mx.google.com with ESMTPSA id d8sm1689537qam.46.2014.09.05.13.50.55 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 05 Sep 2014 13:50:56 -0700 (PDT) In-Reply-To: <87ppf9g76m.fsf@taylan.uni.cx> User-Agent: Notmuch/0.18.1 (http://notmuchmail.org) Emacs/24.3.1 (x86_64-pc-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x X-Received-From: 74.125.149.242 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:11468 Archived-At: "Taylan Ulrich Bayirli/Kammer" writes: > Panicz Maciej Godek writes: > >> [...] it's hard for me to see the advantage of FRP over OOP in >> practical systems (e.g. windowed applications with buttons and so >> on). [...] > > An off-topic remark: > > I don't know about *functional* reactive programming but from my > experience so far as an iOS developer, I've been *longing* for a > reactive programming system that automates state changes even if not > fully hiding them. It would be invaluable being able to say > "button2.leftEdge = button1.rightEdge + 20px" and have this equation be > held automatically on changes to the layout of button1 (which might > happen because it itself reacts to other layout changes), or to be able > to say "button.disabled = condition1 or condition2" and have the > disabled status of button update automatically as the truthiness of the > conditions changes. (The former use-case is actually covered by "layout > constraints", but that's strictly limited to layouting.) > In my reactive programming system, you could say: (define-signal button2-left-edge (signal-map (cut + <> 20) button1-right-edge)) Which is, of course, more verbose than your example. I want to explore creating a macro that would abstract away the unboxing of signals so I could simply write... (define-signal button-2-left-edge (+ button1-right-edge 20)) ... and it would DTRT. Racket's FrTime can do this, which is neat. > Declarative programming FTW. > Agreed. :) -- David Thompson Web Developer - Free Software Foundation - http://fsf.org GPG Key: 0FF1D807 Support the FSF: https://fsf.org/donate