Re: [livecode] The Many Faces of a Temporal Recursion

From: <andrew_at_moso.com.au>
Date: Sun, 26 May 2013 21:33:54 +1000 (EST)

Hi James, Sorry, I should have had a shout out to SC. Indeed the paper that I referenced at the top of the post includes a temporal recursion written in sc-lang - although the example I wrote will look a little strange to SC users as the 'style' was attempting to match Impromptu rather than idiomatic SC code.  However, I wasn't aware of the SC 1 usage, so thanks for digging around in the archives for that one. I think you are in the majority in relation to a preference for declarative approaches to timing. Personally I'm of the opposite persuasion, but as the saying goes, let a thousand paradigms bloom! sc-lang certainly seems to belong to the perl school of syntactic abundance.  Possibly a little terse for my tastes, but I do have some sympathy for that approach.  However, syntax aside, the redundancy you mentioned seems to be more related to the abstraction level, rather than to anything inherently closure related. I guess again we are back at a difference of opinion on the merits of a more or less declarative approach. Cheers, Andrew. -----Original Message----- From: "James McCartney" <asynth_at_gmail.com> Sent: Sunday, 26 May, 2013 3:24am To: "livecode_at_toplap.org" <livecode_at_toplap.org> Cc: "livecode_at_toplap.org" <livecode_at_toplap.org>, "extemporelang_at_googlegroups.com" <extemporelang_at_googlegroups.com> Subject: Re: [livecode] The Many Faces of a Temporal Recursion I just checked SuperCollider version 1 and see that it used temporal recursion as well. So that was 1996. player1 { instr1; [0.2 + 0.2.rand, thisFunc].sched; } player1 calls instr1 and then schedules itself .2 to .4 seconds into the future. James McCartney --- iPhone On May 25, 2013, at 9:54 AM, James McCartney <asynth_at_gmail.com> wrote: > in response to your request for other uses of temporal recursion.. > > SuperCollider version 2 used this method of scheduling in the Spawn object. I have since found I prefer more declarative ways of dealing with time. > > Also, SuperCollider version 1 modeled unit generators as closures resulting in code that looks nearly the same as Extempore. I found the pattern of having to separately create and then call the unit generator to be tedious and redundant, so I switched to encapsulating them in objects in SuperCollider version 2. Unit generators then need only appear once in an expression. > > > James McCartney --- iPhone > > > On May 25, 2013, at 2:12 AM, andrew_at_moso.com.au wrote: > >> I've had a few questions recently about temporal recursions and so put together a blog post by way of responding. I thought some people here might also be interested. >> >> http://extempore.moso.com.au/temporal_recursion.html >> >> Cheers, >> Andrew. >> >>
Received on Sun May 26 2013 - 11:34:54 BST

This archive was generated by hypermail 2.4.0 : Sun Aug 20 2023 - 16:02:23 BST