Junctions, Perl 6, Haskell, …

Perl 6 introduces the concept of junctions: values that are composites of other values. [24] In the earliest days of Perl 6′s design, these were called “superpositions”, by analogy to the concept in quantum physics of quantum superpositions — waveforms that can simultaneously occupy several states until observation “collapses” them. A Perl 5 module released in 2000 by Damian Conway called Quantum::Superpositions [25] provided an initial proof of concept. While at first, such superpositional values seemed like merely a programmatic curiosity, over time their utility and intuitiveness became widely recognized, and junctions now occupy a central place in Perl 6′s design.

(Source: http://en.wikipedia.org/wiki/Perl_6)

Keywords: junctions, composite value, superposition, Perl 6, design


Since the action of joining or being joined is evidently one of the central issues of this blog, a definition of junction might be useful (definition understood as communicative act to describe a phenomenon).

WordNet 2.1 Synonyms Only says:

/noun./ spot, topographic point, place, unification, union, connexion, link, connection, connective, connector, connecter, joining,

. …

The Quantum::Superpositions module provides a new scalar data structure: the superposition. In a metaphor drawn from quantum mechanics, superpositions store a collection of values by overlaying them in parallel superimposed states within a single scalar variable.
. …

A junction is a superposition of data values pretending to be a single data value.
. …

junction – the shape or manner [sic!] in which things come together and a connection is made
. …

Advertisement

One thought on “Junctions, Perl 6, Haskell, …

  1. Pingback: How this blog did in 2010 « /rgb

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s