YouTube home Comedy Week on YouTube
Upload
Alert icon

Tangible Functional Programming

GoogleTechTalks GoogleTechTalks·1,782 videos
147,380
41,607
Like     Dislike 15

Sign in to YouTube

Sign in with your Google Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to like GoogleTechTalks's video.

Sign in to YouTube

Sign in with your Google Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to dislike GoogleTechTalks's video.

Sign in to YouTube

Sign in with your Google Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to add GoogleTechTalks's video to your playlist.

Uploaded on Nov 20, 2007

Google Tech Talks
November, 7 2007

ABSTRACT

We present a user-friendly approach to unifying program creation and execution, based on a notion of "tangible values" (TVs), which are visual and interactive manifestations of pure values, including functions. Programming happens by gestural composition of TVs. Our goal is to give end-users the ability to create parameterized, composable content without imposing the usual abstract and linguistic working style of programmers. We hope that such a system will put the essence of programming into the hands of many more people, and in particular people with artistic/visual creative style.

In realizing this vision, we develop algebras for visual presentation and for "deep" function application, where function and argument may both be nested within a structure of tuples, functions, etc. Composition gestures are translated into chains of combinators that act simultaneously on statically typed values and their visualizations.


Speaker: Conal Elliott
Most of my research is aimed at supporting the creation of interactive synthetic media content, including computer animation, human-computer interaction, images, 2D and 3D geometry, and programmable shaders. In all cases, I aim to preserve or improve on the flexibility and performance of mainstream programming approaches, while greatly simplifying the creation process.

Synthetic media programs are almost always implemented in sequential, imperative (often object-oriented) languages. My research explores use of declarative languages, resulting in much simpler and more reusable and composable programs. These languages are also more amenable to execution on parallel architectures such as modern graphics processors, because declarative languages abstract away from order of execution, removing the accidental sequentiality found in imperative programs. Even on sequential machines, declarative formulations have much simpler mathematical semantics, which facilitates automatic optimization. They also tend to be spatially and temporally continuous (resolution-independent), allowing them to adapt naturally to machines with different speeds and display resolutions.

After exploring explicit programming of synthetic media content for several years, I'm now also keenly interested in supporting artists. The goal of my new new research agenda is to give artists access to the expressive power of computers and programming languages, while retaining an artist's working style. I mean "artist" in a broad sense, in contrast to the verbal and sequential style of an engineer. (I don't mean to suggest that people fit neatly into these two categories.) My ideal audience includes graphic designers, musicians, and children -- really, the playful and curious in all of us.

This abstract has 2796

This abstract has 2820

Loading icon Loading...

Loading icon Loading...

Loading icon Loading...

The interactive transcript could not be loaded.

Loading icon Loading...

Loading icon Loading...

Ratings have been disabled for this video.
Rating is available when the video has been rented.
This feature is not available right now. Please try again later.

Top Comments

  • xiscorq

    You didn't get it, man

    · 15

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate xiscorq's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate xiscorq's comment.
    in reply to soda18 (Show the comment)
  • audiocreator

    thats some straight forward awesomeness right there

    · 10

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate audiocreator's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate audiocreator's comment.

All Comments (37)

Sign in now to post a comment!
  • Joshua Worman

    I seriously like this guy

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Joshua Worman's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Joshua Worman's comment.
  • Adrian Paleacu

    Conal is one smart guy

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Adrian Paleacu's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Adrian Paleacu's comment.
  • JonnyMataza

    This is brilliant.

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate JonnyMataza's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate JonnyMataza's comment.
  • dhriajbhandari

    Awesome talk! Blew my mind

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate dhriajbhandari's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate dhriajbhandari's comment.
  • CassandraAbbey

    You are brilliant!

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate CassandraAbbey's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate CassandraAbbey's comment.
  • Barend Venter

    I think the whole point here was to divorce "function" from "form". Look at "type TV a = (Out a, a)". An arbitrary value of type "Out a" can be used to visualize the actual underlying value of type "a". The idea here would be that, since function and form are "loosely coupled" you could easily switch around the form without changing the underlying meaning, or function, of the tangible value. For example, a text input, a dial, or a slider bar could represent a number.

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Barend Venter's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Barend Venter's comment.
    in reply to grawful (Show the comment)
  • dj4lch3mi9

    Extensions and Applications of Higher-order Unification <= You are as smart as your best work ... Logic ... I'm right now on the first order logic ... It is a pleasure to meet somebody wiser than I ... even virtually :D

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate dj4lch3mi9's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate dj4lch3mi9's comment.
  • Loading comment...
Loading...
Loading...
Working...
Sign in to add this to Watch Later