Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Live coding
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Representation and manipulation of time === The specific affordances of time-based media and live interaction with code has led to a number of novel developments and uses in programming language design. Through mutual embedding of imperative and declarative subsystems, the programming language [[SuperCollider]]<ref>James McCartney (1996), SuperCollider: a new real time synthesis language, ICMC Proceedings, 1996. </ref> permitted to build a library that allows incomplete and provisional specifications which can be rewritten at runtime.<ref>Julian Rohrhuber, Alberto de Campo, and Renate Wieser (2005), Algorithms today - Notes on Language Design for Just In Time Programming, Proceedings of International Computer Music Conference (Barcelona), ICMC, 2005, pp. 455β458.</ref> The [[ChucK]] language introduced an approach to "strongly timed" programming in 2002, embedding precision timing into control flow through a concise syntax. "Temporal recursion" was a term initially coined in relation to the [[Impromptu (programming environment)|Impromptu]] programming environment. Technical elements within a programming environment continue to locate compressors and recursion solutions, but timing had been a major issue. While the general form of a temporal recursion, being any asynchronous function recursion through time, is available to any event driven system, Impromptu has placed a special emphasis on this particular design pattern,<ref>Sorensen, A & Gardner, H (2010) "[http://eprints.qut.edu.au/55712/1/sorensen_ow_2010.pdf Programming With Time: Cyberphysical Programming In Impromptu, In proceedings of the ACM Splash Conference 2010]"</ref> making it the centre piece of the concurrency architecture on that platform. Temporal recursion had repeatedly been used in [[SuperCollider]] and has since been implemented in the [[Fluxus (programming environment)|Fluxus]] environment. Another functional approach to the representation of time is shown in the [[Tidal (livecoding)|Tidal]] pattern [[Domain-specific language|DSL]],<ref>{{cite book|last=McLean|first=Alex|chapter=Making programming languages to dance to: Live Coding with Tidal|url=https://github.com/yaxu/Tidal/blob/master/doc/farm/farm.pdf?raw=true|title=In proceedings of the 2nd ACM SIGPLAN International Workshop on Functional Art, Music, Modelling and Design|year=2014|location=Gothenburg}}</ref> which represents patterns as combinators operating over functions of time, similar to techniques in [[functional reactive programming]].<ref>{{cite web|last=McLean|first=Alex|title=Tidal homepage|work=Alex McLean |url=https://yaxu.org/tidal/|date=2013-08-02}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)