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