Skip to content
0:00 / 0:00

#perl6#raku#quantumcomputing

2016 - On The Shoulders Of Giants - Damian Conway

The Perl and Raku Conference - Greenville, SC 2026

3.7K subscribers • 5 videos on Hallway

YouTube
  • Recommended by 4 people: 4 on Hacker News.
  • A classic. People kept recommending it from 2016 to 2021.
  • Presented by Damian Conway

Intermediate. Assumes working knowledge.

11K views10 years ago4 recommendations

Programming languagesComputer scienceLanguage design and type systemsFunctional programmingAlgorithms

Damian Conway demonstrates Perl 6 features, history, and algorithms, including building a quantum math operator using grammars.

The uploader added no description.

Why it's here

4 people recommend this

What people say. Highly recommended for its brilliant and hilarious delivery of advanced programming language concepts and quantum computing basics.

Moments people linked to

xaduhaon Hacker News • Recommends

On “Interview with Larry Wall”

With all due respect to Larry Wall he shouldn't be a source of info or inspiration when it comes to Perl6. Watch this instead, it's pretty damn great link to this video

raiphon Hacker News • Recommends

On “Ask HN: Is Perl 5 or Perl 6 still worth learning in 2019?”

…s". A conference keynote. An hour, or 15 minutes if you're in a hurry. Damian Conway is brilliant and hilarious. If you've never seem him, you're in for a treat. I strongly recommend the full hour. You will not be disappointed. The first link below is for the full hour, the second jumps to the closing 15 minute "crash course on quantum computing". link to this video [VID…

raiphon Hacker News • Recommends

On “To compute a constant of calculus (2019)”

…ation.0 (Btw, if you care about programming and appreciate a combination of total technical and geek mastery with standup comic delivery, the whole thing is like watching a great movie, whether you watch it from the "start" at the 5 minute mark, or skip forward to the 45 minute mark for the 15 minute Quantum Computing For Beginners section.) 0 link to this video…

VLMon Hacker News • Recommends

On “Ask HN: What's your favorite tech talk?”

Aside from the typical, I watched Damian Conway "Standing on the shoulders of giants" from YAPC 2016 last week and found it interesting. Always fun to see a modern feature full language collide with history and algorithms. link to this video

zoffix222on Hacker News • Recommends

On “Ask HN: Why hasn't Perl 6 taken off yet?”

…superb object model. On a more advanced spectrum, with grammars and slangs, you can craft your own mini-languages for a specific domain where they would fit better; there's a nice little presentation by Damian Conway where he crafts an operator for quantum mechanical math that looks and functions just like the proper mathematical symbol functions: link to this video As for the langs you mentioned: I find a lot of similarities between Rust and Perl 6, although in some areas it seems Perl 6 folks did more thinking (like the .match stuff). They are however in different domains, Rust being a systems language; but you can use Rust libraries in Perl 6 via NativeCall if you compile them for C calling conventi…

u/raiphin r/ProgrammingLanguages • Mentions

On “What are some cool/wierd features of a programming language you know?”

* Frank's effect handling. "A strict functional programming language with a bidirectional effect type system designed from the ground up around a novel variant of Plotkin and Pretnar's effect handler abstraction. ... Frank \is different from other PLs with effect type systems in that it is based on\ generalising the basic mechanism of functional abstraction itself. A function is simply the special case of a Frank operator that interprets no commands. Moreover, Frank's operators can be multihandlers which simultaneously interpret commands from several sources at once, without disturbing the direct style of functional programming with values. Effect typing in Frank employs a novel form of ef…
39View on Reddit

u/raiphin r/ProgrammingLanguages • Mentions

On “[x-post /r/perl] What are your thoughts on sigils?”

Perls also use sigils to create namespaces. And likewise, they make it a lot easier to skim code once you know what to look for. Also, interpolation into strings -- "foo is $foo". Etc. Are you aware of the Perl 6 project? It's an 18 year old project started with the ambition of reinventing Perl, without the conventional regard for backward compatibility that makes most language updates rather tame (the poster child being Python 3 which didn't really tackle major issues like real Unicode characters or multicore). It's really a very different language. For example, in P6 the scalar/array/hash distinction is indeed handled by the type system. One can easily write scalar, array, and hash code…
9View on Reddit

u/raiphin r/ProgrammingLanguages • Mentions

On “Which n languages would expose someone to the largest breadth of paradigms/features?”

What about multiple paradigm languages? Especially ones that can be arbitrarily extended to support any and all languages/paradigms? \---- A recent article called P6 "the world's worst ML", referring to P6 emulating ML family languages like Haskell. In response a P6 designer who has in the past demoed P6 emulating lisp and haskell doing quicksort wrote: >I think that we’re pretty happy with \P6\ being the “World’s Worst ML”, so long as it can also (simultaneously) be: the “World’s Worst Smalltalk”, the “World’s Worst Lisp”, the “World’s Worst Snobol”, the “World’s Worst QCL”, the “World’s Worst Erlang”, the “World’s Worst Prolog”, the “World’s Worst Python”, the “World’s Worst C”, and…
9View on Reddit

u/raiphin r/ProgrammingLanguages • Mentions

On “Do you know of any languages that don't allow 1 letter identifiers?”

You are of course free to have things the way you want them in your language. :) There are countless formula in mathematics that are well known published results that can be, and routinely are, translated directly to computer code. Many of them use single and two letter variables. Being able to directly transcribe means it's easier (one can often just cut/paste and then massage to fit the programming language) and less error prone. And having the result still use the same variables as the published formula means it's much easier to check or correct if running the code doesn't get the same results as it is supposed to. At a guess, if you disallow single letter variables in your language…
7View on Reddit

u/raiphin r/ProgrammingLanguages • Mentions

On “Logic Programming Languages?”

It's possible to dress up logic programming in all sorts of ways and make it useful and easy to understand for mere mortals. Some are not only useful and easy to understand but fun too. I love Damian Conway's "Quantum computing for beginners". This 19 minute segment is the closing piece of a one hour long presentation he delivered in 2016.^1 It ends with this code: sub random-prime-factors (\n) { my \factor = any-of 2 .. sqrt n; my \modulus = n % factor; required modulus: 0; required factor: &is-prime; solve-for factor; } `any-of` is an entangled quantum superposition of the values that follow it. (As far as I know this is the only direct l…
6View on Reddit

u/raiphin r/ProgrammingLanguages • Mentions

On “Term for a value which acts like multiple values”

>The one major thing that's different is that (1 | 2) in my language would not be of type Junction, but actually of type Number, and something like (1 | 2 | "abc" | true) would be of type Number, String, and Boolean depending on the value being operated on. For the built in junctions, the values of a junction know their types, or at least the compiler and run-time does, but user code is not allowed to know anything about them. Aiui this is for CS theoretical reasons; the intent is that the compiler is going to pull some fancy tricks some time in the next few years that require this opacity. Damian has written a module for P6 that adds a probability distribution to the values of a superp…
5View on Reddit

u/raiphin r/ProgrammingLanguages • Mentions

On “If an Interface in C# is like a contract... What are some of the best analogies you've come across to describe topics of programming?”

The difference between parallelism, concurrency, and asynchrony (for the pictures). A convolution is a mapping of a tuple of sequences into a sequence of tuples. Say what? Ah, OK, gotchya (picture). It's a logic programming blind ternary. Huh? Ah, OK, gotchya (video).
5View on Reddit

u/wean_irdehin r/ProgrammingLanguages • Mentions

On “rant: Are there any programming languages that don't suck?”

Not even Perl 6? It's not even backward compatible with Perl 5. It has massive backlash because of it. Some people even demand name change because it's not the original "Perl" anymore or whatever. If you have spare time you might want to watch this: "Quantum computing for beginners"
4View on Reddit

u/raiphin r/ProgrammingLanguages • Mentions

On “What's Happened to Enums?”

PLs wanted to introduce both fancy enums and sum types. I focus on Raku. Part of its design philosophy was that simple things are best kept simple and familiar, harder things less hard than they typically are in other PLs, and useful but "impossible" things should be such that mere mortals can pull those off too. So for enums it's: enum Foo <A B C>; say Foo::A; # A say A =:= Foo::A; # True enum <A B C>; # "Redeclaration of symbol 'A, B and C'" #say A; # "Cannot directly use poisoned alias 'A'" say A =:= Foo::A; # False enum « D :E(9) F »; # Skip to integer 9 as value associated with `E` s…
4View on Reddit

u/raiphin r/ProgrammingLanguages • Mentions

On “What are some interesting language features that may not be well known?”

15 minutes on quantum computing for beginners. I'm not aware of any other programming language supporting the feature Damian demos. To be clear, it's not a joke. It works. It's useful. It's powerful. (The link is to the closing section of an hour long video introducing a new language at The Perl (5) Conference in 2016. If you decide you want to watch more -- it's well worth it if you like powerful programming languages and Damian's sense of humor -- I recommend you skip the first 5 minutes of the video.)
3View on Reddit

u/raiphin r/ProgrammingLanguages • Mentions

On “String Concatenation Syntax?”

Right. It's awkward for me too. Fortunately P6 has interpolation so Damian gets to say "you'll never use the concatenation operator again" and get applause from a Perl crowd. :) I hear you about no one talking about P6. That'll change but it might take a decade.
3View on Reddit