Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-09-07

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 kst joined #perl6
00:03 Chillance joined #perl6
00:27 thou r: role Foo { method f () returns Int { !!! } }; class MyFoo does Foo { method f () { return 'howdy!' } }; my $foo = MyFoo.new; $foo.f.say;
00:27 p6eval rakudo 341529: OUTPUT«howdy!␤»
00:27 thou is it possible to get an error when defining the MyFoo class this way, since method f() doesn't return an Int?
00:28 M_o_C joined #perl6
00:28 thou r: role Foo { method f () returns Int { !!! } }; class MyFoo does Foo { method f () returns Int { return 'howdy!' } }; my $foo = MyFoo.new; $foo.f.say;
00:28 p6eval rakudo 341529: OUTPUT«Type check failed for return value; expected 'Int' but got 'Str'␤  in method f at /tmp/CimBTKO6rY:1␤  in block  at /tmp/CimBTKO6rY:1␤␤»
00:28 sorear japhb: I'm pretty skeptical of that part of the spec, because comparing signatures for equality is Hard
00:29 sorear japhb: in particular, because many parts of signatures are actually Perl 6 expressions and testing equality of expressions puts us very close to undecidability
00:34 benabik joined #perl6
00:35 japhb sorear, which part of what I said are you skeptical of?  I'm curious where my thinking was broken.
00:35 sorear , it's trivial with the method (just write a  new multi method with the same signature and allow normal method  overriding to work), but
00:36 sorear it's not *your* thinking I'm complaining about, it's @Larry
00:36 japhb Ah.
00:36 sorear although this might have been resolved and I just forgot
00:38 japhb I did gloss over the invocant part of the multi method signature, and of course where constraints ....
00:38 sorear the types also have expression-nature
00:38 sorear multi sub foo(1) { ... }
00:39 japhb But really, the dispatcher "just" has to find a set of matching candidates and find the "better" one.  You can DWIM with several tie-breaking rules before you decide it's undecidable and throw your hands up.
00:40 japhb Which is to say I think this falls under "the general case is undecidable, but most cases aren't that general"
00:41 japhb (Even if you cover only a finite piece of an infinite problem space, if that finite piece happens to be where most programmers spend their time, you win.  :-)
00:42 tokuhiro_ joined #perl6
00:45 * japhb is strongly reminded of Nasrudin tales he read as a child ...
00:50 dayangkun joined #perl6
00:53 M_o_C_ joined #perl6
01:01 replore_ joined #perl6
01:01 M_o_C joined #perl6
01:03 benabik joined #perl6
01:09 FROGGS_ joined #perl6
01:09 scott_ joined #perl6
01:12 hypolin joined #perl6
01:13 FROGGS__ joined #perl6
01:19 xinming_ joined #perl6
01:30 benabik joined #perl6
01:59 raiph joined #perl6
02:04 japhb tadzik, ping
02:20 xinming joined #perl6
02:21 replore joined #perl6
02:26 bluescreen10 joined #perl6
03:06 thou r: my %pow2 = (1, 2, 4 ... 2**1024).pairs; %pow2<160>.say;
03:06 p6eval rakudo 341529: OUTPUT«1461501637330902918203684832716283019655932542976␤»
03:15 drbean joined #perl6
03:28 raiph moritz, masak, pmichaud, anyone. i'm feeling lazy in a perlish way. does https://gist.github.com/3662771 make sense to you? as a simple perl 6 script?
03:29 raiph phenny: tell moritz http://irclog.perlgeek.de/perl6/2012-09-07#i_5968908
03:29 phenny raiph: I'll pass that on when moritz is around.
03:34 TimToady r: my @pow2 = 1,2,4 ... *; say @pow2[160]
03:34 p6eval rakudo 341529: OUTPUT«1461501637330902918203684832716283019655932542976␤»
03:35 xinming joined #perl6
03:39 sorear raiph: the idea is reasonable but I have an (irrational?) dislike of systems that automatically make commits
03:41 raiph sorear: hi. it's not automatic in a couple ways. maybe these make a difference for you. (more)
03:42 raiph 1. clicking pulls up a web form. one has to submit that web form.
03:43 raiph 2. got to be logged in to github
03:43 sorear xsrf?
03:47 raiph sorear: right. i could well imagine i'm being too simplistic.
03:49 raiph to avoid the x/y thing. i'm finding i'm repeatedly doing roughly the same sequence.
03:50 raiph involves the simple cut/paste and twiddling implicit in my gist
03:58 sorear do whatever is easiest for you
04:04 adu joined #perl6
04:25 xinming joined #perl6
04:40 moritz \o
04:40 phenny moritz: 03:29Z <raiph> tell moritz http://irclog.perlgeek.de/perl6/2012-09-07#i_5968908
04:41 moritz sorear: re why the german parliament asked me, there's a perl programmer in one of the working groups, and i happen to to know him a bit. He asked around on IRC for anybody willing to speak in front of the working group, and I volunteered. That's it.
04:46 moritz (and I'm not the only one being asked, so it's about 10 out of 8e7)
04:48 moritz phenny: tell raiph you might be interested in https://github.com/moritz/ilbot/tree/summary
04:48 phenny moritz: I'll pass that on when raiph is around.
04:55 sorear ah.
04:55 raiph moritz: perfect. fwiw now i'm thinking 1) annotate log and 2) parse/render an annotated log.
04:55 phenny raiph: 04:48Z <moritz> tell raiph you might be interested in https://github.com/moritz/ilbot/tree/summary
05:12 kaleem joined #perl6
05:19 xinming_ joined #perl6
05:38 GlitchMr joined #perl6
05:47 GlitchMr http://feather.perl6.nl/~glitchmr/
05:47 phenny GlitchMr: 06 Sep 20:24Z <japhb> ask GlitchMr Was there ever a fix for the "Method 'seek' not implemented for type Socket in method send" bug that Net::IRC::Bot triggers?  Or did you find a workaround for it?
05:47 GlitchMr I've feeling I shouldn't have fun with "touch" in UNIX
05:48 GlitchMr Workaround? Yes. Use 2012.08 instead.
05:48 dayangkun joined #perl6
05:55 erkan joined #perl6
05:55 erkan joined #perl6
06:00 wtw joined #perl6
06:01 replore joined #perl6
06:04 lizmat joined #perl6
06:08 tadzik japhb: pong
06:10 dayangkun_ joined #perl6
06:18 japhb GlitchMr, you mean use 2012.08 instead of HEAD?
06:19 GlitchMr Yes
06:19 GlitchMr Also, https://duckduckgo.com/?q=Str.chop
06:20 japhb tadzik, I was wondering if you had any documentation about what the structure of different Pod objects is expected to be.  For example, why is a Pod::Block's content a twine?  What exactly is the intent of a twine?
06:21 japhb GlitchMr, I fixed that by using $line .= chomp;
06:21 japhb (If I'm thinking of the same parsing bug you are.)
06:22 tadzik japhb: Twine is Text Mixed With Objects
06:22 tadzik the purpose of using this is for mixing Formatting Codes with plain text
06:22 tadzik bbs, commute &
06:23 japhb k
06:25 stepnem joined #perl6
06:25 GlitchMr Anyways, the module is now live, so I guess I can push my blog to server
06:27 GlitchMr http://glitchmr.github.com/
06:28 GlitchMr Also, http://glitchmr.github.com/index.xml
06:36 GlitchMr oh wait
06:36 GlitchMr http://localhost:4000/
06:36 GlitchMr lolno
06:36 GlitchMr I guess I've done something wrongly
06:37 sorear umyeah that link won't work for any of us
06:37 GlitchMr I will fix it, ok?
06:40 GlitchMr <link type="text/html" href="http://glitchmr.github.com/searching-in-p6doc.html"/>
06:40 GlitchMr Good :)
06:41 Edument joined #perl6
06:47 dayangkun joined #perl6
07:03 FROGGS__ joined #perl6
07:04 FROGGS joined #perl6
07:06 tadzik japhb: back online
07:06 brrt joined #perl6
07:14 thou masak: http://ode-to-camelia.tumblr.com/post/31046545127/interactive-fiction-in-perl-6
07:24 tadzik I just now noticed that it's "interactive fiction", not "iterative fiction". Suddenly it makes more sense
07:24 tadzik I thought it's something to generate prose
07:25 Edument left #perl6
07:25 FROGGS gmorning
07:26 tadzik hello
07:26 cognominal joined #perl6
07:45 dayangkun joined #perl6
07:45 GlitchMr Also, http://perlcabal.org/~glitchmr/
07:45 sorear o/ FROGGS
07:45 GlitchMr Fake directory because why not?
07:49 huf you mean a redirect? how novel... :)
07:50 huf hint: those are not directories. webservers fake it for you.
07:53 GlitchMr Well, technically directory exists
07:53 GlitchMr It's empty
07:59 kresike joined #perl6
07:59 kresike good morning all you happy perl6 people
08:02 GlitchMr What is "use MONKEY_TYPING"?
08:03 moritz it's what you do to indicate you'll be augmenting classes, or doing other nasty stuff with global side effects
08:05 GlitchMr Why it has so ugly name?
08:05 moritz because augmenting a class is ugly
08:05 Woodi hi today
08:06 moritz \o Woodi
08:06 Woodi can M_T be disabled somehow ? eg. if I want some classes be not augmentable ?
08:08 moritz 'use final;' is specced, but not yet implemented
08:09 * sorear does not like 'use final'
08:09 sorear well, I think you mean 'use closed'
08:09 sorear but I don't like that either.
08:10 huf hmm, which animal is most likely to do everything properly?
08:10 sorear at some point 'use closed; use final;' is going to be something that everyone puts into their main programs to get good performance
08:10 GlitchMr In JavaScript, you can use Object.seal()
08:10 sorear one of the Apocalypses made the point about things like EXTEND;
08:11 GlitchMr Or perhaps it was Object.freeze()
08:11 GlitchMr Or perhaps Object.preventExtensions()
08:11 sorear seal, freeze, and preventExtensions all do different things
08:12 fhelmberger joined #perl6
08:12 sorear whoever wrote S12 was pretty adamant that Perl 6 will not have any explict way to mark a specific class a non-augmentable
08:12 GlitchMr Those ES5 object methods in JavaScript are confusing
08:12 sorear which... well, Perl 6 may not have such a way, but Niecza is likely to :|
08:13 sorear here's an unportable extension which allows you to get acceptable runtime performance *without* whole-program compilation
08:14 GlitchMr Also, according to GitHub, S12 had 11 contributors
08:16 sorear the specific part of S12 I'm complaining about comes from a commit in Nov 2008 where the synopses were imported... into subversion
08:16 sorear I have no idea where they were hosted before that
08:25 wtw joined #perl6
08:25 Psyche^ joined #perl6
08:27 sorear we can discuss my dislike of languages designed for whole-program optimization later.
08:27 sorear sleep&
08:29 Woodi thanx for answers ppl :) at least I was not wanting/dreaming about something esoteric :) however no detailed use case yet...
08:33 simcop2387 joined #perl6
08:35 hlin_ joined #perl6
08:54 Woodi about my pure-perl redis module: s/bytes/chars/g and all tests passes. will update github soon.
08:55 Woodi is there something telling how many bytes Str have ?
08:55 tadzik r: "łąka".encode.bytes.say
08:55 p6eval rakudo 341529: OUTPUT«6␤»
08:55 tadzik ...6?
08:55 tadzik oh, ok, 6
08:56 tadzik so: .chars for Str, .bytes for Buf
08:56 Woodi dzięki tadziku :)
08:56 tadzik nie ma za co :)
08:58 Woodi hmm, I think s/bytes/encode.bytes/ would do be better patch...
08:58 tadzik I think so
08:59 Woodi and quite automagic :)
09:00 * Woodi drożdżówka
09:00 GlitchMr joined #perl6
09:10 hlin_ joined #perl6
09:19 hlin_ joined #perl6
09:28 simcop2387 joined #perl6
09:35 Woodi ..or maybe not so auto...
09:36 marmay joined #perl6
09:49 scott_ joined #perl6
09:54 daxim joined #perl6
10:00 dayangkun joined #perl6
10:08 nwc10 left #perl6
10:16 Juerd moritz: You're running an apt-get upgrade on feather; could you please complete it so that I can use apt-get again? :)
10:22 sergot hi o/ !
10:22 snearch joined #perl6
10:23 FROGGS hi
10:23 tadzik \o
10:23 FROGGS o\
10:23 tadzik looks like you're shielding yourself from a snowball :)
10:24 tadzik o\   *\o
10:24 FROGGS \o Sir, yes Sir!
10:24 FROGGS o\
10:24 FROGGS o/ \o
10:24 FROGGS en garde!
10:24 tadzik o/ -o
10:24 FROGGS o-- \o
10:25 tadzik o--   ...\o/
10:25 FROGGS o~-o   _
10:25 FROGGS got ya!
10:25 tadzik o--                     *\o
10:25 tadzik oX                       \o
10:25 tadzik haha, hit ya this time
10:26 replore joined #perl6
10:27 FROGGS o--⊖..
10:28 FROGGS \o/   o.
10:28 tadzik quantum story
10:29 FROGGS ohh, would could play chess here: ♕♖♗
10:29 tadzik haha
10:29 FROGGS do you see it too?
10:29 tadzik yes
10:29 FROGGS now we need a perl6 chess bot ;o)
10:29 tadzik I could write one
10:30 tadzik I did it for the Java assignment last sememster and no one beat it yet :)
10:30 FROGGS cool!
10:30 tadzik but that was Torus Chess
10:30 FROGGS whats that?
10:30 tadzik so the bot was the only "person" to wrap its head about wtf is going on
10:30 tadzik long story short, it's the chess with noclip
10:30 tadzik so you can go through walls
10:30 tadzik the repo may be on bitbucket somewhere even, if you want to try it
10:31 FROGGS well, I'm not that good at chess
10:31 FROGGS and not a Java pro even
10:31 tadzik neither am I
10:32 tadzik but alpha-beta is not too hard to implement ;)
10:32 FROGGS if you wanna make a real chess game, that I would like to do it
10:33 tadzik that's gonna be slooow :)
10:33 FROGGS not, should be fast enough
10:33 FROGGS no
10:33 tadzik it was funny how adding threading wasn't really effective, because a linear speed growth is just not enough to be worth the effort
10:34 tadzik the complexity of looking up to nth move was something between O(shit) and O(mygod)
10:35 FROGGS well, it could be a 1 on 1 game, without AI
10:35 tadzik yes
10:36 moritz Juerd: ok, I'm unblocking the upgrade now
10:36 moritz sorry
10:36 Juerd moritz: Thanks :)
10:37 moritz it's just a few hundred packages to update, so shouldn't take too long :-)
10:46 crab2313 joined #perl6
10:58 fgomez joined #perl6
11:17 Circlepuller_ joined #perl6
11:19 moritz Juerd: apt terminated now
11:33 tokuhiro_ joined #perl6
11:50 sirrobert hey
11:54 claes_ joined #perl6
11:54 moritz oh hai
11:54 claes_ left #perl6
12:07 GlitchMr joined #perl6
12:10 am0c joined #perl6
12:17 fgomez joined #perl6
12:37 sirrobert huh
12:37 sirrobert class A { method foo { say "foo" } }; A.new.new.new.foo;
12:37 sirrobert r: class A { method foo { say "foo" } }; A.new.new.new.foo;
12:37 p6eval rakudo 341529: OUTPUT«foo␤»
12:38 * sirrobert glances at JavaScript's prototypal inheritance...
12:39 GlitchMr Isn't .new in object instances a feature?
12:39 sirrobert presumably =)
12:39 sirrobert I haven't seen that pattern before except in JavaScript
12:40 GlitchMr $ version->new(5.2.1)->new(2.5.3)
12:40 GlitchMr v2.5.3
12:40 GlitchMr This would be Perl 5
12:41 sirrobert I wasn't quite counting P5 in this case because of it's object composition nature
12:42 sirrobert at first glance I thought it might be a prototypal inheritance pattern
12:42 sirrobert but apparently it isn't
12:43 sirrobert r: class A { has $.n is rw = 5; }; my $a = A.new; my $b = $a.new; my $c = $b.new; $b.n = 3; say $a.n; say $b.n; say $c.n;
12:43 p6eval rakudo 341529: OUTPUT«5␤3␤5␤»
12:49 * [Coke] blearghs over his coffee.
12:51 * [Coke] wonders how common a name moritz is: http://imgur.com/a/09YRD
12:53 moritz [Coke]: neither too common nor too rare in .de
12:53 moritz there's a famous piece of (IMHO horrible) children's literature "Max und Moritz" which means everybody has heard the name
12:55 tadzik that rings a bell
12:56 xinming joined #perl6
12:59 mattp_ left #perl6
13:03 mule joined #perl6
13:03 mule left #perl6
13:04 * [Coke] opens a few nqp issue so they don't get lost in backscroll.
13:05 moritz [Coke]++
13:06 [Coke] I may myself have already forgotten one. hurm.
13:13 sirrobert r: say "foo-bar" ~~ /\w+/
13:13 p6eval rakudo 341529: OUTPUT«「foo」␤␤»
13:13 sirrobert What should I replace \w with to match the whole "foo-bar"?
13:13 sirrobert is there an existing class that matches something like: alphas, nums, hyphens?
13:14 sirrobert r: say "foo-bar" ~~ /['-' \w]+/
13:14 moritz r: say 'foo-bar' ~~ /<identifier>/
13:14 p6eval rakudo 341529: OUTPUT«「-b」␤␤»
13:14 p6eval rakudo 341529: OUTPUT«No such method 'identifier' for invocant of type 'Cursor'␤  in regex  at /tmp/ru_7mLIoib:1␤  in method ACCEPTS at src/gen/CORE.setting:10040␤  in block  at /tmp/ru_7mLIoib:1␤␤»
13:14 moritz r: say 'foo-bar' ~~ /<ident>/
13:14 p6eval rakudo 341529: OUTPUT«「foo」␤ ident => 「foo」␤␤»
13:14 moritz meh
13:14 moritz sirrobert: I don't think there's a built-in rule
13:14 sirrobert no problem
13:14 sirrobert r: say "foo-bar" ~~ /['-' \w]+/
13:14 p6eval rakudo 341529: OUTPUT«「-b」␤␤»
13:14 sirrobert does [] not delimit char classes anymore?
13:14 GlitchMr No
13:14 sirrobert I should know this... heh
13:14 GlitchMr For that use <[]>
13:15 GlitchMr [] works like (?:) from Perl 5
13:15 sirrobert ohh
13:15 sirrobert r: say "foo-bar" ~~ /[<'-' \w>]+/
13:15 p6eval rakudo 341529: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter < (must be quoted to match literally) at line 2, near "'-' \\w>]+/"␤»
13:15 GlitchMr <[, not [<
13:15 sirrobert r: say "foo-bar" ~~ /<['-' \w]>+/
13:15 p6eval rakudo 341529: OUTPUT«===SORRY!===␤Unsupported use of - as character range; in Perl 6 please use .. for range, for explicit - in character class, escape it or place as last thing at line 2, near "' \\w]>+/"␤»
13:15 moritz r: say 'foo-bar' ~~ / <[\w\-]>+/
13:15 p6eval rakudo 341529: OUTPUT«「foo-bar」␤␤»
13:16 sirrobert heh
13:16 sirrobert trying to learn to do stuff without escapes, but it's hard to remember the particulars =)
13:16 moritz well, in character classes -[]\ and .. have special meanings
13:17 GlitchMr Character classes aren't really Unicode friendly.
13:17 sirrobert ok, thanks-- that helps a lot
13:17 GlitchMr r: say 'foo-bar' ~~ /<alpha>+/
13:17 p6eval rakudo 341529: OUTPUT«「foo」␤ alpha => 「f」␤ alpha => 「o」␤ alpha => 「o」␤␤»
13:18 GlitchMr r: ('foo-bar' ~~ /<alpha>+/)<alpha>.perl.say
13:18 p6eval rakudo 341529: OUTPUT«(Match.new(orig => "foo-bar", from => 0, to => 1, ast => Any, list => ().list, hash => EnumMap.new()), Match.new(orig => "foo-bar", from => 1, to => 2, ast => Any, list => ().list, hash => EnumMap.new()), Match.new(orig => "foo-bar", from => 2, to => 3, ast => Any,…
13:18 GlitchMr r: ('foo-bar' ~~ /<alpha>+/)<alpha>.say
13:18 p6eval rakudo 341529: OUTPUT«「f」␤ 「o」␤ 「o」␤␤»
13:19 GlitchMr r: ('foo-bar' ~~ /<alpha>+/)<alpha>.say
13:19 p6eval rakudo 341529: OUTPUT«「f」␤ 「o」␤ 「o」␤␤»
13:19 GlitchMr oops
13:19 GlitchMr I accidentally used UP arrow
13:19 GlitchMr r: ('foo-bar' ~~ /<alpha+[-]>+/)<alpha>.say
13:19 p6eval rakudo 341529: OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 2, near "+[-]>+/)<a"␤»
13:19 GlitchMr r: ('foo-bar' ~~ /<[-]+alpha>+/)<alpha>.say
13:19 p6eval rakudo 341529: OUTPUT«Any()␤»
13:19 GlitchMr r: ('foo-bar' ~~ /<[-]+alpha>+/).say
13:19 p6eval rakudo 341529: OUTPUT«「foo-bar」␤␤»
13:22 Ulti r: ('blargh[0]' ~~ /<[^]]>+/).say
13:22 p6eval rakudo 341529: OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 2, near "]>+/).say"␤»
13:22 Ulti r: ('blargh[0]' ~~ /<[^\]]>+/).say
13:22 p6eval rakudo 341529: OUTPUT«「]」␤␤»
13:22 FROGGS damn it, hacking in perl5 feels so unnatural now^^
13:22 Ulti :/
13:23 Ulti r: ('blargh[0]' !~ /<[]]>+/).say
13:23 sirrobert heh nod
13:23 p6eval rakudo 341529: OUTPUT«===SORRY!===␤Unsupported use of !~ to do negated pattern matching;  in Perl 6 please use !~~␤at /tmp/0zE6z4ijFE:1␤»
13:23 Ulti r: ('blargh[0]' !~~ /<[]]>+/).say
13:23 p6eval rakudo 341529: OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 2, near "]>+/).say"␤»
13:23 GlitchMr ^ is now -
13:23 GlitchMr If I remember correctly
13:23 moritz r: ('blargh[0]' !~ /<-[\]]>+/).say
13:23 Ulti ok :/
13:23 p6eval rakudo 341529: OUTPUT«===SORRY!===␤Unsupported use of !~ to do negated pattern matching;  in Perl 6 please use !~~␤at /tmp/p9KI4fXklQ:1␤»
13:23 FROGGS whats the goal?
13:23 moritz r: ('blargh[0]' =~ /<-[\]]>+/).say
13:23 p6eval rakudo 341529: OUTPUT«===SORRY!===␤Unsupported use of =~ to do pattern matching;  in Perl 6 please use ~~␤at /tmp/Hhuj2Cv0EZ:1␤»
13:23 Ulti r: ('blargh[0]' !~~ /<[-]]>+/).say
13:23 p6eval rakudo 341529: OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 2, near "]>+/).say"␤»
13:23 moritz r: ('blargh[0]' ~~ /<-[\]]>+/).say
13:23 p6eval rakudo 341529: OUTPUT«「blargh[0」␤␤»
13:23 Ulti why has regex changed so much?
13:24 GlitchMr Ulti: Because old syntax was ugly
13:24 moritz lots of stuff to remember
13:24 GlitchMr And everything was so similar with (? syntax
13:24 Ulti but also ubiquitous and well understood
13:24 moritz so is perl 5 :-)
13:24 sirrobert Ulti:  I think to make "regular" expressions into regular expressions.
13:24 Ulti character classes aren't even a perl thing thats in posix
13:24 huf Ulti: not really well understood
13:25 huf every dialect is already weirdly and subtly different and people often dont understand what they're doing
13:25 GlitchMr What is difference between (?<=) and (?>)
13:25 GlitchMr Regexpes in Perl 5 are rather... cryptic
13:25 huf much like every other dialect ;)
13:25 Ulti yeah but you've made what is standard in any regex implementation cryptic now
13:26 GlitchMr Also, (?: ) was used often
13:26 GlitchMr But it's also long
13:26 GlitchMr So it was moved to [ ]
13:26 moritz I'm sure that if you start from zero, it's easier to learn perl 6 regexes than perl 5 regexes
13:27 GlitchMr (? was hack
13:27 Juerd GlitchMr: (?>x) is a bit like [x]: and (?<=x) is like <after x>
13:27 GlitchMr Juerd: I know
13:27 GlitchMr But when you see those first time, you could get feeling they are similar
13:27 GlitchMr They aren't
13:28 Ulti r: ('blargh[0]' !~~ /<-[]]>+/).say
13:28 p6eval rakudo 341529: OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 2, near "]>+/).say"␤»
13:28 Ulti the minus comes before the []
13:28 GlitchMr Actually, I have feeling it would be better if Perl 5 would use { instead (?
13:28 GlitchMr But well, backwards compatibility
13:28 GlitchMr { was automatically escaped when it wasn't proper repetition operator
13:28 GlitchMr instead of*
13:29 Ulti r: ('blargh[0]' ~~ /<-[]]>+/).say
13:29 p6eval rakudo 341529: OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 2, near "]>+/).say"␤»
13:29 GlitchMr But still, {:20} looks uglier than [20] in Perl 6
13:29 Ulti r: ('blargh[0]' ~~ /<-[\]]>+/).say
13:29 p6eval rakudo 341529: OUTPUT«「blargh[0」␤␤»
13:29 GlitchMr But... (?:20) is more ugly than {:20}
13:29 GlitchMr I don't know...
13:30 Ulti also why - and not ! does that have some other purpose?
13:30 GlitchMr ! is assertion if I remember correctly
13:31 GlitchMr <? and <! are assertions
13:32 PerlJam Ulti: character classes are more list sets and - is more like "set subtraction"
13:32 PerlJam s/list/like/
13:32 arnsholt Also, you can do things like <[a-z]-[aeiou]>
13:32 moritz Ulti: have you read S05?
13:32 Ulti ahhh ok
13:32 Ulti that makes more sense
13:32 moritz arnsholt: <[a..z]-[aeiou]>
13:32 moritz arnsholt: common thinko :-)
13:33 sirrobert There's an error:  Unable to parse blockoid, couldn't find final '}' at line 75, near "my @args ="
13:33 PerlJam luckily perl 6 will tell you about it if you did that in code
13:33 GlitchMr Possibly you forgot semicolon?
13:33 sirrobert most of the time I encounter it is a missed semi-colon on the previous line.
13:33 sirrobert perhaps something like, "Are you missing a semicolon on the previous line?"
13:33 sirrobert just an idea =)
13:33 GlitchMr Well, Rakudo doesn't yet implement most helpful warnings
13:34 moritz sirrobert: STD has that error message, rakudo not yet :(
13:34 sirrobert no rush =)
13:34 Juerd use warnings <helpful>;
13:34 moritz std: 1␤2
13:34 p6eval std b87ea13: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a row (previous line missing its semicolon?) at /tmp/OIxqx1OMvt line 2:â�¤------> [32m<BOL>[33mâ��[31m2[0mâ�¤    expecting any of:â�¤       POSTâ�¤   infix or meta-infixâ�¤    infixed functionâ�¤       postcircumfixâ�¤  postfixâ�¤
13:34 p6eval ..postfix_prefix_meta_oper…
13:34 GlitchMr n: 1␤2
13:34 p6eval niecza v21-1-ga8aa70b: OUTPUT«[31m===[0mSORRY![31m===[0m��Two terms in a row (previous line missing its semicolon?) at /tmp/Qs51_aDsGO line 2:�------> [32m<BOL>[33m�[31m2[0m��Parse failed��»
13:34 GlitchMr r: 1␤2
13:34 p6eval rakudo 341529: OUTPUT«===SORRY!===␤Confused␤at /tmp/ryuF4wbzGr:1␤»
13:34 GlitchMr Niecza is better at error messages
13:34 GlitchMr Currently
13:34 arnsholt moritz: Gah! Haven't been doing enough grammar stuff, apparently =)
13:35 GlitchMr (usually Niecza warnings are more helpful than what Rakudo says)
13:35 Ulti I dunno Rakudo is confused cut it some slack
13:35 Juerd I *love* "My error message is better than yours"-arguments because they tend to really improve the user experience in the end :)
13:36 Juerd But... if you think program $foo has bad error message, PHP will always be worse unless $foo eq PHP ;P
13:36 Ulti why not just make the error messages part of the spec
13:36 Juerd (Google for paamayim nekudotayim)
13:36 GlitchMr https://github.com/perl6/std/blob/master/STD.pm6#L6158
13:36 GlitchMr paamayim nekudotayim?
13:36 GlitchMr I know worse stuff
13:37 mucker joined #perl6
13:37 Ulti I dunno $foo eq C at runtime is p. bad
13:37 GlitchMr glitchmr@strawberry ~> php -r'function blah(string $lol) {} blah("lol");'
13:37 GlitchMr PHP Catchable fatal error:  Argument 1 passed to blah() must be an instance of string, string given, called in Command line code on line 1 and defined in Command line code on line 1
13:37 GlitchMr paamayim nekudotayim isn't that bad with this
13:37 Juerd GlitchMr: Now try something with :: in it. "Unexpected T_PAAMAYIM_NEKUDOTAYIM" is one of my favorite examples of bad error messages.
13:37 Juerd It's only slightly better than "Unknown error"
13:37 GlitchMr I know
13:37 GlitchMr Try...
13:38 GlitchMr empty(future);
13:38 Ulti Seg fault.
13:38 GlitchMr glitchmr@strawberry ~> php -r'empty(future);'
13:38 GlitchMr PHP Parse error:  syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in Command line code on line 1
13:38 Juerd At least it says what it was expecting :)
13:38 GlitchMr It's PHP 5.4
13:39 GlitchMr They have added how token looks to errors
13:39 Juerd Finally!
13:39 Ulti I wonder if there are any languages who's error messages can be forced into valid lines of code in that language
13:39 Juerd Ulti: Javascript comes close with its automatic semicolon injection to repair broken code :P
13:40 Juerd (Some go as far as having "no semicolons anywhere" in their code style guide...)
13:40 sirrobert I like the no-semicolon version
13:40 skids joined #perl6
13:40 GlitchMr I actually write JavaScript without semicolons
13:40 sirrobert me too
13:40 GlitchMr https://github.com/GlitchMr/python-format/blob/master/lib/python-format.js
13:40 sirrobert except the only place I use it is before scoping:
13:40 sirrobert ;(function () { ... })()
13:41 sirrobert when I write a moudle
13:41 moritz well, it works fine...  until it bytes you :-)
13:41 sirrobert module
13:41 Juerd moritz: Have you ever been glyphed? :D
13:41 GlitchMr Well.. technically instead of this semicolon you could use void
13:41 GlitchMr So, void function (){}()
13:41 GlitchMr It isn't that ugly (ok, it is)
13:42 GlitchMr (it's probably worst abuse of useless keyword)
13:42 moritz Juerd: no, just char'red :-)
13:43 GlitchMr Guess how this token looks like: T_SR
13:45 GlitchMr Also, PHP documentation is lol
13:45 GlitchMr http://www.php.net/tokens
13:45 GlitchMr "You're supposed to know what T_SR means."
13:45 FROGGS__ joined #perl6
13:45 FROGGS joined #perl6
13:45 GlitchMr And of course, most pointless PHP feature ever
13:45 GlitchMr (unset)
13:46 GlitchMr It works like void in JavaScript
13:48 stopbit joined #perl6
13:51 stopbit joined #perl6
13:54 stopbit joined #perl6
14:00 FROGGS__ joined #perl6
14:11 FROGGS joined #perl6
14:22 mucker joined #perl6
14:25 [Coke] nqp: my %hash; %hash<a> = b; pir::delete__vPS(%hash, "a"); say(%hash);
14:25 p6eval nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near " b; pir::d"␤current instr.: 'panic' pc 19998 (src/stage2/gen/NQPHLL.pir:7314) (src/stage2/gen/NQPHLL.pm:325)␤»
14:25 [Coke] nqp: my %hash; %hash<a> := b; pir::delete__vPS(%hash, "a"); say(%hash);
14:25 p6eval nqp: OUTPUT«error:imcc:The opcode 'delete_p_s' (delete<2>) was not found. Check the type and number of the arguments␤   in file '(file unknown)' line 146244228␤»
14:25 [Coke] how to specify a key parameter in nqp?
14:27 [Coke] nqp: my %hash; %hash<a> := b; delete %hash<a>; say(%hash);
14:27 p6eval nqp: OUTPUT«Hash[0x8feb944]␤»
14:27 [Coke] nqp: my %hash; %hash<a> := "b"; %hash<b> = "a"; delete %hash<a>; say(keys %hash);
14:27 p6eval nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near " \"a\"; dele"␤current instr.: 'panic' pc 19998 (src/stage2/gen/NQPHLL.pir:7314) (src/stage2/gen/NQPHLL.pm:325)␤»
14:27 [Coke] nqp: my %hash; %hash<a> := "b"; %hash<b> := "a"; delete %hash<a>; say(keys %hash);
14:27 p6eval nqp: OUTPUT«0␤»
14:28 [Coke] nqp: my %hash; %hash<a> := "b"; %hash<b> := "a"; delete %hash<a>; say(%hash<b>); say (%hash<a>);
14:28 p6eval nqp: OUTPUT«Confused at line 2, near "say (%hash"␤current instr.: 'panic' pc 19998 (src/stage2/gen/NQPHLL.pir:7314) (src/stage2/gen/NQPHLL.pm:325)␤»
14:28 [Coke] nqp: my %hash; %hash<a> := "b"; %hash<b> := "a"; delete %hash<a>; say(%hash<b>); say(%hash<a>);
14:28 p6eval nqp: OUTPUT«a␤b␤»
14:28 [Coke] also, why doesn't delete delete?
14:28 moritz nqp: my %hash; %hash<a> := 'b'; say(%hash)
14:29 p6eval nqp: OUTPUT«Hash[0x92058f4]␤»
14:29 moritz nqp: my %hash; %hash<a> := 'b'; say(~%hash)
14:29 p6eval nqp: OUTPUT«Hash[0x98f3b44]␤»
14:29 moritz nqp: my %hash; %hash<a> := 'b'; say(+%hash)
14:29 p6eval nqp: OUTPUT«1␤»
14:30 moritz nqp: my %hash; %hash<a> := 'b'; nqp::deletekey(%hash, 'a'); say(+%hash)
14:30 p6eval nqp: OUTPUT«0␤»
14:30 moritz [Coke]: this seems to have worked
14:32 [Coke] nqp: my %hash; %hash<a> := 'b'; nqp::deletekey(%hash, 'a'); say(%hash<a>);
14:32 p6eval nqp: OUTPUT«␤»
14:32 [Coke] moritz++
14:33 raiph joined #perl6
14:35 raiph hi all. # ignore dwim please DWIM
14:35 PacoAir joined #perl6
14:36 bluescreen10 joined #perl6
14:39 moritz sorear: at your convenience, could you please start dalek, or document how to do it? KTHX
14:39 FROGGS joined #perl6
14:39 FROGGS__ joined #perl6
15:01 shinobicl joined #perl6
15:06 sirrobert anyone have experience with the SCGI module?
15:07 * moritz nto
15:07 moritz *not
15:20 jeffreykegler joined #perl6
15:26 kresike bye folks
15:27 dayangkun joined #perl6
15:28 dayangkun joined #perl6
15:43 japhb tadzik, I was thinking that in order to "design test" my factoring of the Pod::To::* space, I wanted to try doing Pod::To::Pod, which is to say, deep clone a Pod tree "the hard way".  Which means I have to really know the expected structure of each Pod type, so that I can create tests that will find corner cases.  :-)
15:44 xinming joined #perl6
15:47 jeffreykegler joined #perl6
16:06 GlitchMr joined #perl6
16:07 replore joined #perl6
16:10 GlitchMr joined #perl6
16:16 MayDaniel joined #perl6
16:20 tadzik hehe :)
16:20 tadzik sounds like a nice experience
16:34 flussence joined #perl6
16:36 TimToady http://rosettacode.org/wiki/Semordnilap#Perl_6 really makes the other languages look a little sick
16:36 GlitchMr Other languages?
16:36 GlitchMr That's D, Java and tcl... currently
16:37 GlitchMr I'm going to have fun and do it in Python
16:37 GlitchMr Also, "sigilless" ;)
16:38 GlitchMr Isn't \ a sigil too?
16:38 GlitchMr I would like to see my mots, but that probably would be too confusing
16:39 TimToady we would like to keep barewords as types in my declarations
16:40 TimToady I had a version that used constant, and then you can leave out the \
16:40 Celelibi joined #perl6
16:40 TimToady but I'm kinda liking the way that \ makes the declarations stand out to the eye when you want them to
16:40 xinming_ joined #perl6
16:41 TimToady (and no, \ is not a sigil, it's a declaration modifier like * or ! or ?
16:41 TimToady )
16:42 colomon TimToady++
16:43 GlitchMr perl6: my \variable = 42; \variable = 2
16:43 p6eval rakudo 341529: OUTPUT«Cannot assign to a non-container␤  in block  at /tmp/PR6gaB6gKR:1␤␤»
16:43 p6eval ..niecza v21-1-ga8aa70b: OUTPUT«Unhandled exception: Writing to readonly scalar␤  at /tmp/akQdPrSdLn line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4138 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4139 (module-CORE @ 571) ␤  at /home/p6eval/niecza/lib…
16:43 GlitchMr Why I cannot do this?
16:43 colomon nr: my \variable = 42; variable = 2;
16:43 GlitchMr This sigilless style looks nice, but...
16:43 p6eval rakudo 341529: OUTPUT«Cannot assign to a non-container␤  in block  at /tmp/IBx5gKfJT8:1␤␤»
16:43 p6eval ..niecza v21-1-ga8aa70b: OUTPUT«Unhandled exception: Writing to readonly scalar␤  at /tmp/vsFSeZtNfS line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4138 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4139 (module-CORE @ 571) ␤  at /home/p6eval/niecza/lib…
16:44 TimToady because \ does not create a container, merely aliases a parcel (or something like 42 that can be its own parcel)
16:45 TimToady as such, you shouldn't use sigilless style unless you like immutable FP semantics
16:45 rjbs woah, there's a sigilless style?
16:45 GlitchMr Or... PHP
16:45 GlitchMr ok, whatever
16:45 PerlJam Rakudo just needs to grow some sets for that one to work there too looks like
16:45 TimToady my \foo = stuff; is how you can do SSA-style in P6, basically
16:46 rjbs interesting.
16:46 TimToady it says, I just want to give this intermediate result a name without creating a mutable container
16:46 rjbs foo then evaluates to a read-only item, basically?
16:46 rjbs nod
16:46 TimToady so tres chic in FPland
16:46 rjbs right
16:47 TimToady and works nicely in this case
16:47 rjbs That's cool.  I need to rent a few more hours per week to write some more p6.
16:47 PerlJam oh, I guess Rakudo already has sets, but not ∈
16:48 Chillance joined #perl6
16:48 TimToady I think it's really cool to be able to just throw ∈ in there without a 'use'
16:49 GlitchMr unicode: ∈
16:49 TimToady .u ∈
16:49 phenny U+2208 ELEMENT OF (∈)
16:49 GlitchMr That would be 'in' in Python
16:49 GlitchMr ok
16:49 PerlJam TimToady: why'd you use french anyway?
16:49 GlitchMr I'm trying to understand this code, so I will write it in Python
16:50 TimToady because 'mot' means 'word' in french, and 'tom' is 'mot'.flip, whereas 'word'.flip is not a word
16:51 PerlJam ah. of course.
16:51 TimToady mais oui!
16:51 TimToady it's also part of the bit where I fool people into thinking I'm a linguist.  :)
16:55 FROGGS joined #perl6
16:55 FROGGS__ joined #perl6
16:55 TimToady and the ∈ is in there to fool people into thinking I'm a mathematician
17:02 GlitchMr TimToady: https://gist.github.com/3667795
17:02 GlitchMr Probably Python won't win with Perl 6 ;)
17:06 TimToady n: https://gist.github.com/3667795
17:06 p6eval niecza v21-1-ga8aa70b: OUTPUT«[31m===[0mSORRY![31m===[0m��Preceding context expects a term, but found infix = instead at /tmp/JtT8IbbZ7M line 4:�------> [32mdictionary [33m�[31m= set(word.rstrip(os.linesep) for word i[0m��Parse failed��»
17:06 TimToady nope :)
17:06 GlitchMr This isn't Perl 6
17:06 GlitchMr It's Python
17:06 GlitchMr http://rosettacode.org/wiki/Semordnilap#Python
17:07 TimToady I was trying to win with Perl 6
17:07 GlitchMr n: qx<win>
17:07 p6eval niecza v21-1-ga8aa70b: OUTPUT«Unhandled exception: System.ComponentModel.Win32Exception: ApplicationName='win', CommandLine='', CurrentDirectory=''␤  at System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) [0x00000]…
17:07 GlitchMr I guess that feather3 doesn't have Windows installed
17:07 TimToady win with win?
17:07 GlitchMr Win32Exception?
17:08 GlitchMr Win32Exception on Linux?
17:08 GlitchMr ok...
17:08 GlitchMr I won 32 times
17:08 TimToady anyway, yes, I knew it was Python when I did that...
17:09 GlitchMr I just have noticed something
17:09 GlitchMr I could change set(word.rstrip(os.linesep) for word in open('unixdict.txt')) to {word.rstrip(os.linesep) for word in open('unixdict.txt')}
17:10 FROGGS [::-1] reverses string? what the
17:10 GlitchMr Now only if internet would work faste
17:10 GlitchMr r
17:10 GlitchMr FROGGS: well, technically it reverses sequences
17:10 GlitchMr But string is also sequence
17:10 mikemol Hm. That task will come in handy in bobble.
17:10 PerlJam FROGGS: it gives the whole range stepping in increments of -1 (so backwards)
17:11 FROGGS PerlJam: thanks, understand
17:11 TimToady one of the few ways in which Python is more like Lisp than Perl is.
17:11 GlitchMr Perhaps PHP will be better ;)
17:12 GlitchMr In PHP, I can do $dictionary = file('http://www.puzzlers.org/pub/wordlists/unixdict.txt');
17:13 TimToady there aren't terribly many PHP entries in RC; you should certainly add some
17:13 TimToady GlitchMr: and does that refetch it every time?
17:17 * FROGGS .oO( thinks about a cool task to add )
17:17 TimToady GlitchMr: also, if the RC task requests output, one should generally provide it
17:17 GlitchMr I end typing "my" in PHP
17:17 GlitchMr lol
17:19 FROGGS well, I mix up perl5 and six every morning -.-
17:19 FROGGS but it just takes the first "damn it" to get it right
17:19 GlitchMr Probably "$" confuses me
17:19 GlitchMr And I want to predeclare because $
17:20 GlitchMr In Perl, I have to use "my"
17:20 TimToady I almost think that a Perl 6 syntax highlighter should give gather and take their own color
17:20 ruoso joined #perl6
17:21 TimToady actually, I *do* think it
17:21 FROGGS :o)
17:22 FROGGS so take is like push to the ref assigned by gather?
17:22 TimToady except there's no cat
17:22 FROGGS the animal?
17:22 FROGGS what cat?
17:24 TimToady http://answers.google.com/answers/threadview?id=62956
17:25 * FROGGS reads
17:25 * PerlJam wonders about schrodinger without the cat ...
17:26 FROGGS Einstein++
17:26 geekosaur he still has an equation.  in fact THE equation
17:26 FROGGS PerlJam: you cant even say that there is a cat inside the box
17:27 moritz or not :-)
17:27 FROGGS well, basically things that nobody can recognize doesnt exist
17:28 moritz how would you know?
17:28 [Coke] like perl6.
17:28 moritz how could anybody know?
17:28 PerlJam "...inside the box is a vial of poison and no cat.  So, the no cat is simultaneously dead and alive."
17:28 TimToady Like Yogi Berra, I've said many things that I never said.  On the other hand, I've also said a good many things that I did say, and most of 'em aren't in quote files.
17:29 PerlJam If you had a life recording device then everything you say could be in quote files  :)
17:30 GlitchMr http://rosettacode.org/wiki/Semordnilap#PHP
17:30 PerlJam The small talk you have with the dentist while dental instruments are in your mouth ...
17:30 GlitchMr It's still uglier
17:30 GlitchMr I wonder why Perl 6 looks cleaner than this PHP code
17:30 PerlJam Whatever conversations you have with members of your church ...
17:30 PerlJam If you happen to talk in your sleep ...
17:30 TimToady This Was Your Life  --Chick Publications
17:30 FROGGS GlitchMr: because you cant write nice code with php
17:31 FROGGS it will always look ugly
17:31 rjbs I recently threw out my college collection of Chick tracts.  *sniff*
17:31 FROGGS but I dont know exactly why though
17:31 GlitchMr Perhaps... too many parenthesis?
17:31 FROGGS ya, maybe thats it
17:31 GlitchMr And too long function names
17:31 GlitchMr array_fill_keys()? What?
17:31 FROGGS and long function names instead of operators
17:32 * [Coke] hurls http://goo.gl/80zcA for a peek into the wallquotefile.
17:32 GlitchMr That would be map { $_ => 1 } @array in Perl
17:32 GlitchMr Where 1 is value I use to fill
17:32 moritz did you mean  @arr X=> 1  ?
17:32 PerlJam [Coke]: ha!
17:32 GlitchMr Or that in Perl 6
17:32 GlitchMr I meant Perl
17:32 Circlepuller_ joined #perl6
17:32 GlitchMr I know it's even easier in Perl 6
17:33 GlitchMr moritz: also, this thing is hack
17:33 FROGGS at least shorter
17:33 moritz Perl 6 is just as much Perl  as Perl 5 is
17:33 GlitchMr PHP doesn't have hashes
17:33 GlitchMr s/hashes/sets/
17:33 GlitchMr So I have to use associative array instead of set
17:33 GlitchMr In Perl 6, I can use set
17:33 PerlJam Why are atheists advertising on buses in the UK ?
17:33 GlitchMr Similarly in Python
17:33 PerlJam (and what are they advertising?)
17:33 arnsholt moritz: Where's you new $work, BTW? (If I may ask)
17:34 FROGGS PerlJam: dunno, life assurances?
17:34 PerlJam GlitchMr: the dual use of "in" in the python solution I find interesting for some reason.
17:34 [Coke] PerlJam: http://news.bbc.co.uk/2/hi/uk_news/7813812.stm
17:35 moritz arnsholt: perl developer at noris.net
17:35 GlitchMr PerlJam: "in" in "for" loops iterates
17:35 PerlJam GlitchMr: aye, I know.
17:35 GlitchMr Outside "for" loop, it's "contains" operator
17:35 moritz arnsholt: they have two big apps, "kunde" (english "customer"), which is ther command-line customer, domain, IP, password and whatever-administrative tool
17:36 GlitchMr So, "ab" in "abc", 1 in [1, 2], "key" in {"key": "value"}
17:36 moritz arnsholt: and a heavily patched OTRS
17:36 GlitchMr And the usage I have used in this case - "word" in {"set"}
17:37 GlitchMr (except in this case set doesn't have "word")
17:37 GlitchMr Perhaps you will find "not in" and "is not" operators more interesting
17:39 Su-Shee joined #perl6
17:39 Su-Shee good evening.
17:39 PerlJam GlitchMr: only if I can say:  for word not in dictionary: ...   ;-)
17:39 moritz \o Su-Shee
17:39 GlitchMr That would be syntax error
17:39 FROGGS o/ Su-Shee
17:40 GlitchMr Also, in Python you can do stuff like for something in something in something:
17:40 GlitchMr Except "in" returns "boolean", so this will always fail
17:40 * PerlJam is starting to think that GlitchMr is lacking in humor reflex.
17:40 xinming joined #perl6
17:40 arnsholt moritz: Sounds good =)
17:41 FROGGS GlitchMr: so you can do things that will always fail?
17:42 moritz you can do that in every language
17:42 FROGGS ya, I do that every day
17:42 GlitchMr moritz: well, you cannot do that in HQ9+
17:42 PerlJam moritz: I bet we could design a language where you could not do something that will always fail.
17:43 moritz PerlJam: if it's not Turing complete, than that's easy
17:43 sorear good * #perl6
17:43 sorear o/ Su-Shee long time no see.
17:43 PerlJam Even if it's Turing complete is "easy"  You just have to be careful about what "fail" means
17:43 TimToady not halting is not failing :)
17:43 sorear moritz: Where would be a good place to document dalek starting?
17:43 PerlJam s/is/it's/
17:43 moritz sorear: for example in mu/misc
17:44 moritz sorear: or on wiki.perl6.org
17:44 FROGGS hi sorear
17:45 * moritz wonders if Su-Shee promised him truffels for anything, but can't find it in the logs
17:45 GlitchMr http://glitchmr.pl/ also leads to my new site, because why not
17:45 FROGGS moritz: its doesnt exist either if you cant find it on the internet, or in the logs ;o)
17:45 moritz oh yes, found it after all: http://irclog.perlgeek.de/perl6/2011-07-26#i_4170037
17:45 GlitchMr (why I bother making redirects)
17:46 sorear I think they're spelled differently
17:46 FROGGS hmmm, phonetic search would be cool
17:47 FROGGS is there a (smart match) operator for this kinda stuff? that would be pretty cool
17:47 moritz FROGGS: no, but you could implement your own, of course
17:47 FROGGS like just comparing the consonants
17:47 moritz if $haystack ~~ fuzzy($needle) { ... }
17:48 GlitchMr I guess that {} is so overloaded that it simply cannot be set :)
17:48 sorear How many consonants are there in Merijn?
17:48 FROGGS I thought we have already the full unicode range set to crazy operators, no?
17:48 PerlJam FROGGS: https://github.com/thundergnat/Text-Levenshtein/
17:49 FROGGS PerlJam, ya, I know that from php
17:49 FROGGS sorear: 3, no?
17:50 sorear bah.
17:50 sorear it's 3, and I know that because Merijn told me
17:50 FROGGS who is it?
17:51 sorear but my point is that "just compare the consonants" depends on language info
17:51 sorear Tux
17:51 arnsholt sorear: If you're Dutch, three, IIRC =)
17:52 * moritz doesn't count three consonants in "Tux" :-)
17:52 TimToady x is really ks
17:52 FROGGS there are four in Tuchs ;o)
17:52 arnsholt Sure there is. T, k and s =D
17:53 FROGGS really would be Tuchs in german
17:53 sorear but /ch/ is one consonant, a voiceless palatal fricative
17:53 moritz or Tux :-)
17:53 arnsholt Well, ch is just a single consonant O:)
17:53 FROGGS sorear:  O.o
17:53 arnsholt Mmmm. Phonetics
17:53 moritz ch like in 'fuchs' is really spoken like x
17:53 moritz erm, chs
17:54 TimToady except in Munich, where it's alveopalatal
17:54 FROGGS okay, my wife nods, but she said its no consonant because its a fricative
17:54 sorear klaus fuchs?
17:54 FROGGS I guess you ppl understand what she is saying
17:54 moritz phenny: de en 'fuchs'?
17:54 moritz phenny: de en "fuchs"?
17:54 phenny moritz: "fox" (de to en, translate.google.com)
17:54 TimToady well, yes, but that's not how linguists define consonant
17:54 arnsholt FROGGS: I think she's confusing consonants and stops
17:55 moritz FROGGS: if you feel lost now, you're not the only one :-)
17:55 TimToady vowel and consonant are culturally relative concepts, but generally fricatives would be considered consonants
17:55 arnsholt A consonant is anything that's not a vowel (modulo funny business with syllable-carrying liquids and some stuff)
17:56 thou joined #perl6
17:56 TimToady but there's a fricative that can function as a vowel in English; psst!
17:56 PerlJam arnsholt: The trick is picking out the vowels then.  :)
17:57 TimToady and tricky it is
17:57 dalek joined #perl6
17:57 * PerlJam always gets people on words with friends by using words where "w" is the vowel  :)
17:57 TimToady how many syllables does "towel" have?
17:57 arnsholt Yeah. Syllables are hard
17:57 TimToady how about "owl"?
17:58 TimToady in my dialect those rhyme
17:58 TimToady but I still think of towel as 2 syllables, and owl as 1, go figure
17:58 TimToady psychological poisoning from orthography, yum
17:59 sorear Tau el
17:59 sorear Au el
17:59 FROGGS must be fun to study that
17:59 PerlJam TimToady: your pronunciation of "towel" is just wrong ;)
17:59 * sorear transposes to German orthography because eir knowledge of IPA vowels is so broken
18:00 FROGGS my wife studied russian an portuguese
18:00 TimToady Linguistics is not fun to study if you're a dichotomist.  Well, you might think it is, but you'll be wrong.
18:01 sorear FROGGS: where are y'all from, geographically and linguistically
18:01 sorear ?
18:02 arnsholt When explaining to my girlfriend that part of what I was doing for my master's was essentially Aristotelian categorisation of words, the very first thing she said was "But Aristotelian categories don't work!"
18:02 arnsholt Sums up a lot of linguistics quite nicely
18:03 FROGGS sorear: germany/german
18:05 sorear hrm, I need a p6wiki account
18:06 sorear *punt*
18:06 sivoais joined #perl6
18:09 BlueT_ joined #perl6
18:12 FROGGS there is a map somewhere?
18:13 moritz not yet
18:14 dalek mu: b7b631f | sorear++ | misc/dalek-start.txt:
18:14 dalek mu: Add documentation on starting dalek for moritz++
18:14 dalek mu: review: https://github.com/perl6/mu/commit/b7b631f1bb
18:14 moritz sorear++
18:16 xinming joined #perl6
18:16 * sorear notes that meRIJn is pronounced like the Belgian, vincent RIJmen
18:18 [Coke] data point: towel has one syllable and rhymes with owl.
18:21 TimToady how 'bout "fire"
18:23 fgomez joined #perl6
18:23 FROGGS its the same for "like"
18:23 FROGGS you dont speak the e
18:23 TimToady question is whether it's fie-er
18:23 FROGGS hmm, but fire _can_ has two syllables
18:25 FROGGS I guess thats one reason why it is so damn hard to do speech recognition
18:26 FROGGS the other reason is that you have to know what the sentence mean when you just get the half
18:26 TimToady here's another funny one: for the typical English speaker, "prints" and "prince" are pronounced identically, but have different numbers of consonants
18:26 sorear It is a fact not often recognized that no two humans speak the same language
18:27 TimToady sure, but my example is one that is largely agreed up by English speakers :)
18:27 sorear TimToady: interesting, in my dialect "prints" has a stop in the middle and "prince" doesn't
18:27 TimToady they'll even convince themselves that they're saying them differently when they're not :)
18:28 FROGGS hehe
18:28 TimToady you can't get from [n] to [s] without going through [t], in fact
18:29 FROGGS ya, thats right
18:29 FROGGS even if you try, the tongue goes to the t, don't know how to tell in english
18:30 TimToady what happens is the internal cancelling that goes on all the time in everyone's brain
18:30 TimToady your brain actively ignores that [t] when you think you're saying "prince"
18:30 FROGGS ya, its about what you want and what you expect
18:30 fgomez joined #perl6
18:31 FROGGS the brain does much of this stuff, in many situation
18:31 TimToady so we say that those two words are etically identical, but emically different.
18:32 FROGGS like these illusion pictures, you see the one guy taller because your brain expect him to be because it thinks he is far way
18:32 FROGGS s/way/away/
18:33 FROGGS meh, I just cant even google these word
18:33 FROGGS ohh, found it
18:41 xinming joined #perl6
18:48 sorear FROGGS: Ames room
18:48 sorear ?
18:49 sorear https://en.wikipedia.org/wiki/Ames_room
18:51 FROGGS ya right
18:51 FROGGS that video there is pretty cool
18:52 FROGGS yay, I optimized my game
18:52 mcglk joined #perl6
18:52 FROGGS it was to slow so that you cant double click
19:05 cognominal joined #perl6
19:10 Circlepuller__ joined #perl6
19:15 Circlepuller joined #perl6
19:18 larks joined #perl6
19:18 larks joined #perl6
19:20 pmichaud [Coke]: (hash autoviv) -- I think jnthn++ decided not to implement hash autoviv in QAST.  Whether or not it should be there is perhaps an open question.  :-/
19:21 pmichaud well, I guess more directly it's a question of whether hash autoviv belongs in NQP as opposed to QAST.
19:21 pmichaud i.e., QAST doesn't need to support it directly, but NQP could certainly implement it.
19:23 pmichaud it's something I definitely should look into "how to implement", since some languages will want/need it.
19:23 pmichaud afk, kid pickup
19:26 M_o_C joined #perl6
19:28 stopbit joined #perl6
19:29 moritz I wonder if autoviv in NQP could be syntactic
19:31 pmichaud it was before, yes.
19:35 TimToady what's really going on with [nts] is that your tongue is already in the [t] position when you're saying the [n], but you are sending air through your nose, so there's very little back pressure.  A fricative requires more pressure, so in order to pronounce [s] you must close your nasal opening.
19:35 TimToady when you do, you're by definition doing a [t] stop until the increasing pressure allow the [s] to start
19:35 TimToady *allows
19:37 TimToady coincidentally, you stop voicing with your larynx, but that's largely incidental, other than some additional downstream air pressure differential
19:38 xinming_ joined #perl6
19:38 TimToady if English were not English, we might, in fact, analyze the [ts] as an affricate rather than as a stop followed by a fricative
19:39 TimToady but ts is unusual except in borrowed words like 'tsar'
19:40 TimToady I am a linguist, but refuse to play one on TV.
19:42 FROGGS who asked you to play a linguist on tv?
19:43 TimToady nobody; I didn't say I refused, past tense, but "I refuse", a timeless statement
19:44 FROGGS klugscheisser *gg* (sorry too lazy to look it up)
19:45 FROGGS so how come you think someone would ask you? cause if nobody would why do you think about refusing it
19:45 FROGGS damn it, my wife wrote the last three lines, she just doesnt know you ;o)
19:47 FROGGS she corrected me right now, I dont you you either, but I know who you are
19:47 TimToady I deny it.  :)
19:47 FROGGS so you are some sort of nihilist?
19:47 FROGGS dont say no ;o)
19:48 TimToady I'm not myself; I only play myself on TV.
19:48 masak good morning, #perl6
19:48 sorear o/ masak
19:48 FROGGS hi masak
19:48 masak $employer took us to a beer sampling today. $employer++
19:49 sorear FROGGS: were you (either of you) at yapc::eu 2012?
19:49 FROGGS thats nice
19:49 masak tentative conclusion: beer is even better than I thought. :)
19:49 FROGGS sorear: I was, yes
19:50 FROGGS sorear: you too?
19:50 sqirrel joined #perl6
19:50 sorear yes.
19:50 FROGGS didnt read your name on a badge though :/
19:51 FROGGS sqirrel, thats my wife \o/
19:51 sqirrel hi all
19:51 masak hi sqirrel!
19:52 masak welcome to #perl6
19:52 sqirrel hi masak
19:52 masak rn: say "Niecza and Rakudo say hi, too! :)"
19:52 p6eval rakudo 341529, niecza v21-1-ga8aa70b: OUTPUT«Niecza and Rakudo say hi, too! :)␤»
19:52 FROGGS hehe
19:52 sqirrel hi bots *g*
19:52 FROGGS rpn: say 'hi'
19:52 p6eval rakudo 341529, niecza v21-1-ga8aa70b, pugs: OUTPUT«hi␤»
19:53 masak rpn: .say for 10 ... 0; say "liftoff!"
19:53 p6eval rakudo 341529, niecza v21-1-ga8aa70b: OUTPUT«10␤9␤8␤7␤6␤5␤4␤3␤2␤1␤0␤liftoff!␤»
19:53 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "0"␤    expecting operator␤    at /tmp/DLg0rBNL8n line 1, column 17␤»
19:53 FROGGS *g*
19:53 masak hm, does '...' still mean '.. Inf' in Pugs?
19:53 masak p: .say for 5...
19:53 masak seems so.
19:53 p6eval pugs: OUTPUT«(timeout)5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤54␤55␤56␤57␤58␤59␤60␤61␤62␤63␤64␤65␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤78␤79␤80␤81␤82␤83␤84␤85␤86␤
19:54 masak man, that was *ages* ago.
19:54 masak I only remember that because I read "Perl 6 and Parrot Essentials" at some point. ;)
19:54 FROGGS ya, thats like googling for specs, you find stuff from year 2k, you almost cant use it
19:54 colomon masak++
19:55 masak I can't quite put my finger on what was less-than-good about using '...' for that, but I'm glad we changed it to what it means now.
19:55 sorear FROGGS: I have a badge here "YAPC::Europe 2012 / Stefan O'Rear / sorear"... I tended to mostly hang around the folks from Perl
19:55 * colomon bought that book when it came out...
19:55 masak colomon: it was out of date even then ;)
19:56 TimToady either it's an infix without a right argument, which fouls up TTIAR self-clocking, or it's a postfix that can easily be confused with an infix
19:56 TimToady and it's no shorter than 5..*
19:56 masak heh, troo.
19:56 sorear pugs: 5 ...
19:56 p6eval pugs:  ( no output )
19:56 masak not sure how much we used '*' back then, though.
19:56 TimToady so, basically, it just a low-wattage feature, and we try to avoid those
19:56 masak for a sense of "we" which doesn't necessarily include me.
19:57 FROGGS sorear: got a picture somewhere on the web?
19:57 TimToady we had not yet invented Whatever at that point
19:57 masak right. '*' was mostly (or fully?) syntactic.
19:58 masak in my language I'm going to lean towards making some things syntactic that Perl 6 turns into values. I'm definitely gonna make junctions syntactic, for example :)
19:59 TimToady that approach can also easily produce low-wattage features :)
20:00 pmichaud flickr has a picture of sorear++ at the Cafe Extrablatt :-)
20:01 sorear I wasn't _trying_ to be the main attraction in that picture
20:02 sorear I just don't like chairs, and happened to be facing the camera...
20:02 sorear pmichaud, do you have a link handy
20:02 TimToady darn paparazzi
20:02 pmichaud http://www.flickr.com/photos/claudio_ramirez/7846833182/
20:03 FROGGS no way
20:03 FROGGS you are that weird al guy?
20:03 FROGGS I'm sorry, but I like him very much
20:03 FROGGS so its some sort of complement
20:04 * masak wonders how often sorear has that similarity pointed out to him
20:04 sqirrel *lol* froggs showed that pic to me when he came back from yapc being very excited
20:04 BinGOs thanks I nearly spat beer all over my eeepc
20:04 PerlJam sorear doesn't look like Weird Al in that picture.
20:05 FROGGS hi BinGOs
20:05 BinGOs helo
20:05 FROGGS samn, he's quit now ó.ò
20:05 masak sorear: interestingly enough, I never caught on to you not liking chairs, despite having ample indications of that.
20:05 TimToady http://mirrors.develooper.com/perl/history.perl.org/misc/al_wall/
20:05 FROGGS BinGOs: how is everything?
20:06 pmichaud yes, there's certainly ample precedence for weird al in the perl community :-)
20:06 BinGOs it is all satifactorily in the right places
20:06 masak sorear: before I met you, I imagined that you looked like L in "Death Note", who also doesn't like chairs. in a sense.
20:06 TimToady but yeah, in some way sorear looks more like Weird Al than I do...
20:06 pmichaud I used to be mistaken quite frequently for John McEnroe... then (less fortunately) for Richard Simmons  :-/
20:06 FROGGS ya, Larry Wall and Weird Al... almost the same chars
20:07 sqirrel sorear hav you ever spoken to a therapist about not liking chairs?
20:07 PerlJam Weird Wall?
20:07 PerlJam Larry Al?
20:07 FROGGS hehe
20:07 masak sqirrel: I don't like furniture in general, and I consider myself perfectly normal!
20:07 FROGGS lets get Weird Wall shirts!!
20:07 pmichaud I'm not a chair, but I sometimes play one on TV.
20:07 FROGGS and a Peril 6 on the back
20:07 pmichaud is a wall a type of furniture, ooc?  ;-)
20:07 PerlJam pmichaud: You're still Gene Wilder for me  :)
20:08 masak pmichaud: so, I heard the president of your country is invisible.
20:08 sqirrel masak why dont you like furniture? i really do like my bed for instance
20:08 TimToady not in a snowstorm
20:08 pmichaud masak: only to one of our political parties
20:08 masak sqirrel: I threw out my bed in 2003. been sleeping on a mattress on the floor since, basically.
20:08 pmichaud (Gene Wilder)++
20:09 sqirrel well a mattress somehow is furniture too, isnt it?
20:09 pmichaud I'm still looking to acquire a Willy Wonka suit.
20:09 FROGGS masak: a mattress is this girl on a plain, right?
20:09 masak FROGGS: if that is a reference to something, the reference passed me by.
20:09 PerlJam masak: weird people always consider themselves normal!  :)
20:10 FROGGS masak: ohh, thought it was a matelot, but thats on a ship -.-
20:10 FROGGS btw, I had a glas of wine today
20:10 pmichaud it's too bad the convention occurred after the conference... I can imagine a *ton* of lightning talk material coming out of talking to an empty chair.  :-P
20:10 masak PerlJam: perhaps I exaggerated a bit when I said I consider myself perfectly normal. it was hyp... hyperbole.
20:10 sqirrel i had two *g*
20:11 masak pmichaud: I wonder how Clint Eastwood and Steve Ballmer would get along.
20:11 diakopter in darker environments I've several times been mistaken for John Mayer
20:12 sqirrel how dark diakopter?
20:12 thou masak, hi! i blogged! comments on content or anything are welcome. http://ode-to-camelia.tumblr.com/
20:12 masak thou++
20:12 sorear back.
20:12 pmichaud masak: it worries me a bit that Chuck Norris has now entered the fray, too.  1/2  :-)
20:12 diakopter sqirrel: pretty dark.. coffee shop at night or night club
20:12 TimToady I'm weird, and I consider myself weird, but then I'm kinda weird that way...
20:12 thou i started using the internet at school in '93, and this is my first blog post i think.
20:12 sorear FROGGS: I did not quit, just messing with $dayjob stuff
20:13 [Coke] masak: I endorse your tentative conclusion but we need MOAR EVIDENCE.
20:13 masak thou: looks very nice. to do the post full justice, I'll read it tomorrow when I'm more awake.
20:13 sorear I have never met Mr. Al Jankovich (sp?).  I am not him, although I think he's a fine musician
20:13 thou masak, thank you!
20:13 masak thou: kudos for blogging!
20:14 sorear This is, in fact, the 3rd time I have been accused of looking like him
20:14 masak also, nice blog name!
20:14 sorear When I was much much younger people used to say I looked like Harry Potter.  I think Weird Al is quite a step up.
20:14 masak depends if you believe in magic.
20:14 FROGGS hehe
20:15 sqirrel rofl
20:15 FROGGS well, I like both
20:15 [Coke] Yankovic, IIRC.
20:15 thou I regularly put UHF on my top-5 movie list
20:15 FROGGS (we are watching harry potter right now btw)
20:15 thou and i can't defend it rationally
20:15 TimToady Weird Al does not believe in magic, he *is* magic.
20:16 FROGGS he is
20:16 TimToady Welll, and I guess he believes in himself.
20:16 benabik joined #perl6
20:16 thou "I believe in swordfish"
20:16 sqirrel thou its a great film how mor rational can a defending be?
20:16 thou sqirrel: yeah, you're right. it's a reflex in my mind because my wife doesn't get it at all :-)
20:16 BinGOs we don't need no stinking badgers
20:17 FROGGS "Wheel of fish" - no need to say more
20:17 thou she does frequently say "what's in THE BOX!"
20:17 thou not sure she remembers where it's from, though :-)
20:17 * TimToady senses a disturbance in the farce
20:18 FROGGS thou: NOTHING!
20:18 sqirrel NOTHING!!!!
20:18 FROGGS YOU ARE SO STUPID
20:18 thou You so STUPID!
20:18 * PerlJam blames masak
20:18 thou also, whenever i smell the milk carton before pouring a glass, i think of weird al
20:18 * sqirrel loves being with nerds whose seen the same films she did
20:19 masak PerlJam: whatever it was I did, I'm innocent.
20:19 FROGGS You ever tried that vanilla wiener sandwich?
20:19 sqirrel froggs: more wine please
20:19 FROGGS its quiet good, but we dont get these sandwiches here in germany :/
20:20 PerlJam after reviewing my scrollback, I retract my blame of masak and attach it to FROGGS
20:20 TimToady the stress induces narclepsy in /me
20:20 TimToady nap &
20:20 FROGGS ohh, I can live with that
20:20 rhr joined #perl6
20:21 masak PerlJam: that makes more sense. as opposed to me, the innocent one, FROGGS is red-handedly guilty.
20:22 sqirrel and red headed *gg*
20:22 sqirrel sorry sense of humor left with third glass of wine...
20:24 FROGGS masak: you made a game lately? I've seen something on github I believe
20:24 masak rn: my $sense-of-humor = 28; sub drink-wine { $sense-of-humor -= 10 }; drink-wine for ^3; say $sense-of-humor > 0
20:24 p6eval rakudo 341529, niecza v21-1-ga8aa70b: OUTPUT«False␤»
20:24 masak FROGGS: I (re-) wrote an adventure game and blogged about it every day in July.
20:25 [Coke] pmichaud: since it's intentional, I'll change the code to manually setup those hashes.
20:25 FROGGS its text only, right?
20:25 [Coke] Happy to clean it up later if that gets back into the language.
20:25 PerlJam masak: going to make that an annual tradition?  (rewriting the same game over and over again)
20:25 diakopter masak: I'm curious. If you want to write the adventure game again again, but the requirement was to be as terse as possible.. in how many (normal length) lines do you think it could fit?
20:25 masak PerlJam: nah.
20:26 masak diakopter: that seems an odd constraint. :) though I think it could be made quite short.
20:26 masak diakopter: maybe, hm, 400 lines?
20:26 PerlJam sqirrel: wine makes you ginger (how's that for humor :)
20:26 masak that's including everything; code and data.
20:27 masak PerlJam++
20:27 masak "wine offsets the body's humors"
20:27 diakopter masak: at a recruiting fair Google told me it's their constraint for nearly all the JS they host, hence the Closure compiler
20:27 sqirrel perljam...i dont get it
20:27 masak diakopter: aye. that's because JavaScript comes down the chimney, like Santa Claus.
20:27 diakopter 400?
20:28 diakopter how many lines-ish was your June write
20:28 diakopter July
20:28 masak diakopter: last year's was about 1k lines. this year's was about 2k lines. I think.
20:29 masak this is without fact-checking, so take it with a grain of salt.
20:29 FROGGS masak: do you think about adding nice gfx stuff to it?
20:29 raiph .
20:29 masak the 400L estimate is basically guessing that I could compress the 1k lines down to 40% if I really wanted.
20:29 masak FROGGS: no.
20:29 raiph hi all
20:29 masak raiph! \o/
20:29 FROGGS hi raiph
20:30 raiph i'm confused about something on github
20:30 diakopter masak: ha
20:30 diakopter ok, I meant with drastic refactorings
20:30 raiph https://github.com/rakudo/rakudo/commit/d776f087d0
20:31 raiph suggests jnthn removed qast from the roadmap
20:31 replore joined #perl6
20:31 raiph clicking browse code from that commit leads to a 404
20:31 masak diakopter: I did use the length constraint when creating the Animal Farm game. I had 200 lines (for game logic and CLI) as a soft upper limit.
20:32 diakopter ah
20:32 moritz raiph: that's a github bug, IMHO
20:32 masak diakopter: you can see what the code looks like when I optimize for brevity: https://github.com/masak/farm/blob/master/farm.pl
20:32 masak diakopter: that's still not *crazily* compressed. but it's not as verbose as I usually am either.
20:32 masak it's more like, slightly terse.
20:38 xinming joined #perl6
20:42 jnthn evening o/
20:42 masak jnthn! \o/
20:44 sorear jnthn!
20:44 jnthn o/
20:49 FROGGS hi jnthn
21:05 tokuhiro_ joined #perl6
21:07 tadzik good evening #perl6
21:07 FROGGS hi tadzik
21:07 colomon \o
21:08 masak tadzik! \o/
21:08 tadzik \o/
21:08 tadzik anyone having tiny, tiny screwdriver in handy? :)
21:08 colomon yes
21:08 masak tadzik: this sounds like the buildup for a joke.
21:09 colomon for certain definitions of tiny
21:09 tadzik that's a dead phone joke
21:09 masak tadzik: x=-
21:09 tadzik :(
21:09 fgomez joined #perl6
21:16 masak 'night, #perl6
21:16 masak tadzik: hope things work out with your dead phone.
21:18 tadzik good knight masak
21:39 bruges joined #perl6
21:43 xinming joined #perl6
21:43 Circlepuller_ joined #perl6
22:14 sergot pmichaud: thank you very much for comment! :)
22:14 sergot pmichaud++
22:31 diakopter phenny: ask TimToady "you get a fail (note that failures are allowed to violate return type constraints)" - an optimizer can't inline hash lookups as native ints/nums then. ok
22:31 phenny diakopter: I'll pass that on when TimToady is around.
22:35 sorear diakopter: remember that a type like Int includes '0 but True' and a type like Num includes val('0.1234567890123456789') with a bundled string value
22:36 diakopter I didn't think I was talking about Int/Num
22:38 sorear what were you talking about then?
22:38 diakopter hashes of int/num
22:39 sorear I think it's already been established that failures cannot be treated as native types
22:39 sorear failures exist in the intersection of all boxed types
22:39 diakopter I wasn't looking for anything to be established.
22:40 diakopter other than in my own mind.
22:40 diakopter I'm sorry if you thought I was trying to clarify the language for everyone
22:42 diakopter I ask TimToady because there's no inbox in phenny for "@Larry including all implementors"
22:42 diakopter sorear: do you see what I'm saying?  My original question is here: http://irclog.perlgeek.de/perl6/2012-09-03#i_5957117
22:43 diakopter his response is here: http://irclog.perlgeek.de/perl6/2012-09-03#i_5957284
22:43 diakopter sorear: ok?
22:43 diakopter am I still not allowed to ask the question?
22:45 diakopter sorear: if you've decided I'm allowed to ask the question, would you like to answer it?
22:47 sorear diakopter: of course you're allowed to ask the question.
22:47 TimToady to the first approximation, temporary values are all boxed types
22:47 phenny TimToady: 22:31Z <diakopter> ask TimToady "you get a fail (note that failures are allowed to violate return type constraints)" - an optimizer can't inline hash lookups as native ints/nums then. ok
22:48 diakopter ok.
22:48 skids joined #perl6
22:49 TimToady S02:719 kinda indicates this
22:49 TimToady and it's only storing into a storage location that can enforce throwing a failure that doesn't fit, I think
22:51 TimToady S02:640 is trying to talk about that
22:51 Circlepuller joined #perl6
22:51 TimToady of course, if the compiler can prove that the source and destination are both native, boxing/unboxing can be factored out
22:52 diakopter if *all* temporary values are boxed, then a JIT of native operations is basically useless
22:52 TimToady this is just the default; semantics may always be tweaked in a lexical scope
22:52 diakopter that's what I'm asking about - the source being the result of a int hash lookup
22:53 diakopter - an optimizer can't inline hash lookups as native ints/nums then. ok
22:53 diakopter okay, I see what you're saying now about factoring out
22:54 * diakopter rolls eyes at self <ugh>
22:54 sorear the optimizer is allowed to look at a fetch from a native typed hash and say "this is either a native value or a Failure"
22:55 diakopter how would that help the optimizer?
22:56 TimToady the optimizer might find ways of cheating on it, if it has control of both ends
22:56 TimToady but you certainly need some way of indicating that a hash doesn't contain what you are looking for
22:57 TimToady this is not someplace you want a semipredicate problem in the general case
22:57 diakopter don't we still have exists?
22:57 TimToady the internals could do something like Go does, with a separate status value
22:58 TimToady the internals could even turn it into an exception and a try, I suppose
22:59 TimToady anything's fair if you're cheating, as long as you're not caught :)
23:00 diakopter I don't know whether exists exists
23:00 TimToady I mean, morals aside...
23:00 TimToady :exists is officially a modifier on the subscripting operation
23:00 Circlepuller_ joined #perl6
23:01 diakopter ok
23:01 sergot good night ! o/
23:02 sorear the thing that really bugs me about p6 as a language for large programs is the fact that so much data is not available until main program CHECK time
23:02 TimToady there may also be some special support for Nil as a very compact failure value (the OKness proposal considers failures to be Nil plus exception info)
23:02 sorear sub foo(Int $x) { my DateTime $y = $x } # can't carp at parse time because another module might define a class that 'is' both Int and DateTime
23:03 TimToady you keep making the argument for whole-program analysis and hating it :)
23:05 TimToady though that's not the only possible way to make things fast
23:06 TimToady alternate compilations and hotpath analysis also can optimize this sort of thing on the fly
23:07 TimToady druther keep the semantics simple for the user and torment the implementors here
23:07 sorear TimToady: as a user I want things that are broken to fail as soon as possible.
23:08 sorear not at link time
23:08 TimToady then you should be using Haskell instead :)
23:09 diakopter what's that language where everything is broken..
23:10 sorear C++?
23:10 TimToady but to my mind the whole point of the single-dispatch system is to do late binding, not to prove correctness
23:10 TimToady we have our functional dispatch for the things we have to know at compile time
23:10 sorear I'm also talking about gradual types here
23:11 TimToady there needs to be some slop here, or you're not very futureproof
23:11 TimToady you end up making up new names for what is essentially the same thing, if there's not enough slop
23:12 TimToady Haskell tends to suffer from this
23:15 TimToady you have to be able to name partial ideas without having the whole idea, and trust the future a little
23:18 TimToady I do realize this seems a bit contradictory to "Perl must know exactly what language it is at every point."  :)
23:18 TimToady so I guess I'm arguing that some of this should be construed as intentional genericity, not accidental
23:20 * TimToady wonders what Shakespeare would say if you told him people would be setting Romeo and Juliet in a beach town of southern California someday...
23:21 TimToady if I were him, I'd say, "Of course!" even if it was a lie.  :)
23:22 TimToady so I guess I'd just like to say I don't want Perl to become a brittle language
23:23 * TimToady gets off his soapbox, at least temporarily...
23:24 diakopter Shakespeare would first have to be taught extensively about southern California
23:25 TimToady and it's so hard to teach 400-year-olds anything...
23:25 tokuhiro_ joined #perl6
23:26 diakopter I wonder if his English sounded anything like our English
23:26 diakopter hm, I guess it wasn't *that* long ago
23:29 Circlepuller joined #perl6
23:32 sorear consider the extent to which modern German sounds like modern English
23:32 sorear then divide those differences by about 4
23:38 xinming_ joined #perl6
23:40 yarp joined #perl6
23:43 Juerd I had weird screen(1) issues on feather. Perhaps they were related to the Debian upgrade that was done recently by moritz++
23:44 Juerd Fortunately there's a nice tool, reptyr, that I could use to move irssi to a new screen session. In case you need it too, it's in ~juerd/reptyr.
23:51 Circlepuller_ joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo