»ö« 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.
lichtkind does enyone knows if i can use extends inside the class with MooseX::Declare? 00:09
sorear 1. Try it and see 00:19
2. #moose on MAGnet (they will tell you #1, I am sure)
dalek blets: 0f970bf | (Herbert Breunung)++ | docs/ (2 files):
some small fixes
00:41
blets: 2056009 | (Herbert Breunung)++ | docs/appendix- (2 files):
adding table for constants
[Coke] stackoverflow.com/questions/1052230...separately 01:46
[Coke] # 05/09/2012 - rakudo++ (22021); niecza (92.56%); pugs (41.41%) 02:29
dalek gs.hs: 6272950 | coke++ | / (3 files):
remove referencess to LC_ALL

You get references to bad utf8 data without it on linux, but with it on OS X you get an error on each invocation.
02:48
moritz \o 05:30
TimToady o/
japhb_ o/ 05:31
sorear o| 05:42
jnthn mornin' 06:50
moritz wow, I've got spam advertising silicon wavers 07:01
sorear sic? 07:03
jnthn o.O
moritz not quite the usual consumer good :-)
tadzik hello 07:11
sorear hi. 07:13
dalek kudo/nom: 128e996 | moritz++ | / (2 files):
implement rindex with parrots new rindex opcodes

bump NQP revision to something that requires a new enough parrot
07:20
kudo/nom: d61049f | moritz++ | src/core/Rat.pm:
improved Rat.Str by TimToady++
p: eee0fa5 | (Arne Skjærholt)++ | / (4 files):
First cut of handling explicitly managed strings.
07:22
p: abef7b9 | (Arne Skjærholt)++ | src/6model/reprs/CStr.c:
Handle encoding parameter for CStr representation.
p: 6df554d | moritz++ | / (4 files):
Merge remote branch 'origin/cstr'
p: 17cc549 | moritz++ | tools/build/PARROT_REVISION:
bump parrot revision to get rindex ops
dalek ast: c99e10b | moritz++ | S04- (2 files):
test interactions between fail() and let/UNDO/KEEP
07:38
ast: f7639b1 | moritz++ | S32-str/rindex.t:
RT #112818, rindex with non-Latin-1 strings
dalek ast: d2a6d88 | moritz++ | S32-num/complex.t:
rakudo unfudge
07:42
tadzik t/spec/S02-names-vars/perl.rakudo and t/spec/S32-str/indent.rakudo now fail without ICU 09:08
masak yo morning, #perl6 09:12
mikec__ yo
frettled good yo, masak! 09:17
tadzik oh shark 09:22
masak yo shark 09:24
dalek blets: c052884 | (Herbert Breunung)++ | docs/appendix- (2 files):
cut out some fat, A can be more precise and sparce, lengths is domain of G and tablets
09:27
sorear yo yo masak YO 09:28
masak pulls out his yo-yo 09:30
masak Perl 6 day today! \o/ 09:46
daxim url?
masak what, to my work schedule? :)
I'm going to focus on p6cc/t4 until jnthn wakes up. then I'm going to focus on QAST. 09:47
daxim ah, you get a googley day, nice
masak yeah, a bit like that. 09:49
bbkr std: e.{}
p6eval std 8632387: OUTPUT«ok 00:00 40m␤»
dalek blets: ce239bd | (Herbert Breunung)++ | docs/appendix- (3 files):
trim translateration and quasiquoting stuff in A and B, start to mark the pure methods with a leading dot
10:13
jnthn masak: wtf, until I wake up? I got up at 7am! :P 10:24
masak oh right!
...hope the teaching is going well... :) 10:25
jnthn :P
Yeah. Higher Order Programming section of the course this afty. ;-)
masak ooh!
anyway, I'm having fun doing t4 benchmarks right now. might do that for a while more before I switch over.
jnthn ok
masak r: dir() 10:33
p6eval rakudo d61049: ( no output )
masak r: say dir()[0]
p6eval rakudo d61049: OUTPUT«star␤»
masak r: say dir()[0].^name
p6eval rakudo d61049: OUTPUT«Str␤»
masak this was discussed before, with ingy++ 10:34
no conclusion was reached.
there's something that feels wrong with dir of a directiory that's not '.'
you only get Strs, the pathless filenames of the files in that dir.
and so you have to go append the path yourself.
masak every. single. time. 10:35
suggestion: have dir() return IO objects instead. they're free to stringify to the pathless file name, if people like that.
but there should be some way to get to the absolute path of the file from the IO object. maybe even a relative path based on the current $*CWD 10:36
mikec__ jnthn: you're teaching now? 10:39
jnthn mikec__: yeah
mikec__ cool!
jnthn tends to teach a couple of classes a month :)
flussence r: .say for "{cwd}/" X~ dir
p6eval rakudo d61049: OUTPUT«/home/p6eval/star␤/home/p6eval/src␤/home/p6eval/.bashrc␤/home/p6eval/nom-inst1␤/home/p6eval/test3.pl␤/home/p6eval/.profile␤/home/p6eval/t␤/home/p6eval/nom-inst2␤/home/p6eval/nom-inst␤/home/p6eval/examples␤/home/p6eval/Makefile␤/home/p6eval/.gitignore␤/home/p6eval/l…
mikec__ where's that? you're in Lund, right? 10:40
tadzik I think it makes sense to return IO objects in dir() and friends 10:41
masak \o/ 10:44
jnthn mikec__: Live in Lund, teach in various cities. Currently doing it in Malmo.
mikec__ ah nice
mikec__ i went to Malmo after yapc Copenhagen 10:45
jnthn We had Noridc Perl Workshop in Malmo last year :)
mikec__ so lucky!
Malmofestivalen was on at the same time, which was a nice surprise 10:46
i got ill from eating there, every day
jnthn oh noes! 10:47
mikec__ i think it was worth it :) 10:48
jnthn Hope you enjoyed the festival otherwise :)
mikec__ it's a cool city. i meant to visit Lund too but there was too much to do there already 10:49
masak seems to be a tradition here in Malmö to eat at the festival, and get ill from it. 11:14
mikec__ masak: haha. too much tasty food :( 11:19
lichtkind is there a method alias to ms// ? 11:52
flussence .match(//, :s) probably 11:53
colomon .match(/ /, :s), I believe
lichtkind thanks 11:54
so no direct method, i need it for a table in index B
flussence ms// is only a shortcut to m:s// anyway, it doesn't make much sense to have a long version of a shortcut :) 11:56
lichtkind yes :)
tablets.perl6.org/appendix-b-groupe...uoting-ops 12:00
therefore
and i know there are bugs
its alread y fixed
colomon n: say "abc" ~~ Q:match/b/ 12:09
p6eval niecza v17-3-gdaf09af: OUTPUT«===SORRY!===␤␤Unrecognized quote modifier: match at /tmp/aBO7VJifSz line 1:␤------> say "abc" ~~ Q⏏:match/b/␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1364 (die @ 3) ␤ at /h…
lichtkind colomon: is :match gone or not implemented? 12:11
colomon r: say "abc" ~~ Q:match/b/
p6eval rakudo d61049: OUTPUT«===SORRY!===␤Colons may not be used to delimit quoting constructs at line 1, near ":match/b/"␤»
colomon lichtkind: darned if I know 12:12
flussence std: 'abcde' ~~ Q:match/abcd/ 12:14
p6eval std 8632387: OUTPUT«===SORRY!===␤Unrecognized quote modifier: match at /tmp/OVxQqo7XkR line 1:␤------> 'abcde' ~~ Q⏏:match/abcd/␤Check failed␤FAILED 00:00 41m␤»
masak r: my $a = 42; sub foo { let $a = "this will never stick"; say $a; fail }; say $a; foo; say $a 12:18
p6eval rakudo d61049: OUTPUT«42␤this will never stick␤42␤»
masak \o/
masak TimToady: my $v = 1; loop { let $v = 2; last }; say $v # what will this print? S04/Definition of Success doesn't seem to say. 12:28
jnthn That doesn't feel like a failed exit... 12:32
saying "I've done enough" isn't saying "I've gone wrong" 12:33
dalek blets: 34c00c0 | (Herbert Breunung)++ | docs/appendix- (2 files):
polish B
12:34
flussence for (@ARGV) { pod2usage() when not $regex }; # bah, I just tried to do this in perl5 and it didn't DWIM :( 12:38
masak jnthn: right. 12:39
jnthn: I'm also leaning towards "that's not failed". but the way that part of S04 is worded, it makes it sound like every block either propagates an error exception, or returns a parcel to somewhere. next/last/redo do neither. 12:40
flussence r: for (1, 2, 'a', False) { .say when not /\d/ } # just ooc 12:42
p6eval rakudo d61049: OUTPUT«Method 'match' not found for invocant of class 'Any'␤ in method Bool at src/gen/CORE.setting:9007␤ in sub prefix:<not> at src/gen/CORE.setting:2144␤ in block <anon> at /tmp/PLqpyNep8O:1␤␤»
flussence r: for (1, 2, 'a', False) { next when /\d/; .say }
p6eval rakudo d61049: OUTPUT«a␤False␤»
flussence ok, maybe I *am* a little crazy :)
masak superstitious parentheses. 12:43
I don't see offhand why 'when not /\d/' shouldn't work. 12:44
flussence
.oO( maybe we need a "when't" keyword )
12:45
mikec__ haha
whent?
flussence n: for 1, 2, 'a', False { .say when not /\d/ } 12:46
p6eval niecza v17-3-gdaf09af: OUTPUT«Use of uninitialized value in string context␤ at /home/p6eval/niecza/lib/CORE.setting line 1224 (warn @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 235 (Mu.Str @ 10) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting…
masak flussence: I defined one in a talk once: masak.org/carl/osd-2010-parse-perl/talk.pdf
dalek blets: d08d55b | (Herbert Breunung)++ | docs/appendix-a-index.txt:
polish map entry
12:47
mikec__ oh yes, whenn''t
mikec__ great slides 12:48
masak thanks. 12:49
lichtkind TimToady: is there still a Q :match // ? 12:50
jnthn masak: Yeah, it's a curious case. Nothing has made be feel it's obvious it should be one way or the other. 12:51
s/be/me 12:52
masak: I'm gonna vote for "whatever Rakudo does now" :P
tadzik polish map entry. I have no idea what does it have to do with Perl :) 12:53
masak a regex in boolean context matches on $_ -- so why doesn't the 'when not /\d/' case work? 12:54
jnthn r: my $_ = 'hotdog'; say $_ 12:56
p6eval rakudo d61049: OUTPUT«===SORRY!===␤Redeclaration of symbol $_␤at /tmp/OA8m4KKYcC:1␤» 12:57
jnthn argh
r: $_ = 'hotdog'; say ($_ ~~ not /weiner/)
p6eval rakudo d61049: OUTPUT«Method 'match' not found for invocant of class 'Any'␤ in method Bool at src/gen/CORE.setting:9007␤ in sub prefix:<not> at src/gen/CORE.setting:2144␤ in block <anon> at /tmp/gujr1zPgfo:1␤␤»
[Coke] jnthn: is the teaching part of $DAYJOB? 12:57
jnthn [Coke]: Yes. :)
[Coke] nifty. 12:58
jnthn Teaching and writing courses probably makes up more than half of what I do for $dayjob these days :)
masak read that as "teaching and writing curses" 12:59
mikec__ teaching, writing and inflicting curses 12:59
grondilu perl6: say (class Foo {}).bless([]).WHAT; 13:00
p6eval pugs: OUTPUT«*** No such subroutine: "&class"␤ at /tmp/VQ9Y0N98yB line 1, column 6-18␤»
..niecza v17-3-gdaf09af: OUTPUT«Foo()␤»
..rakudo d61049: OUTPUT«Array()␤»
PerlJam but Perl 6 doesn't /need/ hex.
;)
grondilu bless is not yet implemented on rakudo??
tadzik it is
you blessed [] as Foo
r: say my $a = (class Foo {}).bless([]); say $a ~~ Foo; say $a ~~ Array; 13:01
p6eval rakudo d61049: OUTPUT«␤False␤True␤»
tadzik n: say my $a = (class Foo {}).bless([]); say $a ~~ Foo; say $a ~~ Array;
p6eval niecza v17-3-gdaf09af: OUTPUT«Foo.new(...)␤True␤False␤»
tadzik or something
r: say (class Foo {}).WHAT 13:02
p6eval rakudo d61049: OUTPUT«Foo()␤»
masak I'm with Niecza on this one, I believe.
grondilu I tried to make something like class Foo is Int {}; sub somefoo returns Foo { Foo.bless: 13 } and it complained that the returned object was not a Foo. 13:03
(thus my attempt above) 13:04
grondilu r: class Foo is Int {}; sub somefoo returns Foo { Foo.bless: 13 }; say somefoo.WHAT; 13:08
p6eval rakudo d61049: OUTPUT«Type check failed for return value␤ in sub somefoo at /tmp/42g2EnvfAS:1␤ in block <anon> at /tmp/42g2EnvfAS:1␤␤»
grondilu see?
lichtkind is there no data type for junctions? 13:09
grondilu niecza: class Foo is Int {}; sub somefoo returns Foo { Foo.bless: 13 }; say somefoo.WHAT;
p6eval niecza v17-3-gdaf09af: OUTPUT«Foo()␤»
PerlJam lichtkind: Junction 13:11
grondilu just sent rakudobug 13:12
PerlJam r: my $x = 1|2|3; say $x.WHAT
p6eval rakudo d61049: OUTPUT«Junction()␤»
flussence r: multi sub infix:<~eq>(Str $a, Str $b) { uc $a eq uc $b }; say 'Foo' ~eq 'foo' 13:13
p6eval rakudo d61049: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&eq' called (line 1)␤»
tadzik probably gets parsed as 'Foo' ~ eq('foo') 13:15
PerlJam sounds like a failure of LTM
tadzik aye
masak it does. 13:16
r: multi sub infix:<$$$>($a, $b) {}; 1 $$$ 1
p6eval rakudo d61049: ( no output )
masak r: multi sub infix:<$$$>($a, $b) {}; say 1 $$$ 1
p6eval rakudo d61049: OUTPUT«Nil␤»
masak hm, seems that Rakudo recognizes new infix operators without a problem. 13:17
masak r: multi sub infix:<+->($a, $b) { 42 }; say 1 +- 1 13:17
p6eval rakudo d61049: OUTPUT«0␤»
tadzik LTA LTM 13:17
masak but longest doesn't win if it's user-defined.
masak submits rakudobug
PerlJam flussence: Were you using ~eq to mean "approximately equal"? 13:19
tadzik r: multi sub infix:<mleq>(Str $a, Str $b) { uc $a eq uc $b }; say 'Foo' mleq 'foo' 13:20
p6eval rakudo d61049: OUTPUT«FALSE␤»
tadzik ...huh?
oh
r: multi sub infix:<mleq>(Str $a, Str $b) { uc($a) eq uc($b) }; say 'Foo' mleq 'foo'
p6eval rakudo d61049: OUTPUT«True␤»
PerlJam wait ... why is it "FALSE" and not "False"? 13:21
tadzik uc($a eq uc $b)
PerlJam oh, duh 13:22
I got the precedence problem, but didn't follow it through
lichtkind PerlJam: thatnks but not seen that 13:24
and can be ! used also junctive?
PerlJam lichtkind: what do you mean by "used junctive"? 13:26
masak it's not an infix op, if that's what you're asking. 13:28
pugs: say 1 ! 2 ! 3 13:29
p6eval pugs: OUTPUT«*** ␤ Unexpected "!"␤ expecting operator, ":" or ","␤ at /tmp/LLMTQPVLeq line 1, column 7␤»
masak maybe it was once upon a time. I have a vague memory it might once have meant none(), but don't quote me on that. 13:29
PerlJam yeah, I was thinking that too
masak r: say 1 ^ 2 ^ 3 13:30
p6eval rakudo d61049: OUTPUT«one(1, 2, 3)␤»
lichtkind r: say 'w' ~~ 3 ! 4 ! 5;
p6eval rakudo d61049: OUTPUT«===SORRY!===␤Confused␤at /tmp/bmAXi4AG6V:1␤»
lichtkind looks like answer is no
masak lichtkind: the answer is no. 13:30
lichtkind r: say 'w' ~~ (3 ! 4 ! 5);
p6eval rakudo d61049: OUTPUT«===SORRY!===␤Confused␤at /tmp/v6EDMcgAUC:1␤»
lichtkind thanks
and is junction mutable or immutable type?
dalek blets: fc2a1b5 | (Siddhant Saraf)++ | docs/tablet-2-basic-syntax.txt:
link fixes
13:31
blets: 6970725 | (Siddhant Saraf)++ | docs/tablet-2-basic-syntax.txt:
more link fixes
blets: c228e93 | (It's secret to everybody)++ | docs/tablet-2-basic-syntax.txt:
Merge pull request #6 from Siddhant/master

Link fixes
dalek blets: 913d92a | (Herbert Breunung)++ | docs/ (4 files):
add table for junctions
13:33
blets: c31381b | (Herbert Breunung)++ | docs/tablet-2-basic-syntax.txt:
Merge branch 'master' of github.com:perl6/tablets
lichtkind i suppose immutable
masak I suppose so too. 13:34
jnthn r: say my $a = (class Foo {}).bless([]); say $a.WHAT 13:36
p6eval rakudo d61049: OUTPUT«␤Array()␤»
jnthn That is exactly correct. 13:37
The first argument to bless is the candidate to bless.
masak first argument... after the invocant.
so you're saying the above is to be read as "bless the type object Foo as this instance of Array"? 13:38
that makes no sense.
jnthn masak: Right, the code is erroneous. 13:42
You only get away with it because BUILDALL doesn't find any attributes in Foo to build, I suspect.
So BUILDALL is a no-op and bless returns the candidate and they you go. 13:43
jnthn r: my $a = (class Foo { has $.a }).bless([], :a(42)); say $a.WHAT 13:43
p6eval rakudo d61049: OUTPUT«Array()␤»
jnthn Hm :)
I wonder if it looks at the candiate's types rather than the invocant too :)
er, candidates atts rather.
*attrs 13:44
Either way, it's erroneous code. It will either error out at some point, give an array, or just do something useless
dalek blets: 067b4c0 | (Herbert Breunung)++ | docs/appendix- (3 files):
add junction and each type
lichtkind masak: no it was undefined :) 13:45
jnthn We could in theory sanity check it. But clutter up a hot path like object instantiation with a check for something terribly unlikely to happen unless you're being obtuse? No. Some things are just gonna be erroneous.
moritz lichtkind: when people submit pull requestions for any of the perl6 projects, I usually hand them a commit bit immediately
lichtkind: should I do the same thing for pull requests to the tablets? 13:46
masak jnthn: agreed.
moritz (I think that's closest to the "wiki" style of collaborating, and has worked well for us in the past) 13:47
benabik "Thank you for submitting a pull request. You are now part of the perl6 organization. You may celebrate by merging your request." 13:48
lichtkind moritz: yes unless it looks odd 13:49
moritz: thank you
wee came nice along since 3 weeks ago :) dont you thin
k
lichtkind im really pleased with the shape the tablets are in now 13:55
masak r: class A { has @.array = [] }; say A.new.array.elems 14:04
p6eval rakudo d61049: OUTPUT«1␤»
masak Timbus: lib/Net/IRC/Bot.pm:21 -- is this the default you intend for @channels -- for the array to have an empty array as its only element? 14:05
masak also, the twigil-less style was confusing at first, because everyone else seems to use twigils. 14:06
lichtkind moritz: are you mrglitch? 14:09
tadzik github.com/TiMBuS/Net--IRC/blob/ma...ell.pm#L46 14:14
this probably wants to be a module
dalek blets: 0bde7c4 | (Siddhant Saraf)++ | docs/tablet-2-basic-syntax.txt:
more broken link fixes
14:18
blets: 0666c63 | (It's secret to everybody)++ | docs/tablet-2-basic-syntax.txt:
Merge pull request #7 from Siddhant/master

More broken links fixed
goraki tadzik: that wants to be a date/time tempting module (when it grows up to be big and strong)
mikec__ i want to be a perl6 module when i grow up 14:19
tadzik :)
masak p6: say round 4/5
p6eval pugs, rakudo d61049, niecza v17-3-gdaf09af: OUTPUT«1␤»
tadzik goraki: tempting?
gfldex lichtkind: tablet-2-basic-syntax.txt ~~ s/thatswhy/that's why/ 14:20
goraki tempting / formatting, as in you define the format (or name a predefined format) and it gives it to you.
tadzik oh, I see
PerlJam "templating" 14:21
?
goraki PerlJam: yes! that's the word I wanted to type...
goraki oh, right. it's OS X's auto-correct. 14:21
it doesn't like "templating"
PerlJam silly computer! ... thinking it knows more than its human 14:22
masak far too common a problem.
masak software consists of memories, guesses, and apologies. 14:22
but programmers generally don't teach their software to apologize properly.
PerlJam apologies are for the weak! 14:23
goraki masak: too true. 14:24
PerlJam: or those with too many other things to do.
PerlJam After 2001: A Space Odyssey, a computer saying "I'm sorry" has had a bit of a stigma attached to it :) 14:25
masak PerlJam: I disagree on both counts.
apologies are for the robust, including software. 14:26
and HAL just followed his programming, which was clearly wrong in retrospect.
HAL had a set of goals, and he used available resources to fulfill those. 14:27
geekosaur 2010 the book had some stuff about that... think it ended up being one throwaway line in the movie 14:28
masak something like that.
but I like this part of it. HAL did bad things not because he "went rogue" or some other unlikely happenstance. he did bad things because he was programmed to. 14:29
that's very much the line of thinking of much of Asimov's robot stories, too.
geekosaur yep 14:30
PerlJam masak: Nothing you've said so far has sounded like disagreement with my second statement :) 14:34
masak PerlJam: hm, true. 14:35
PerlJam: I for one wouldn't mind having my computer say "I'm sorry". :)
PerlJam and I should have put some sort of sarcasm (?) markers around my first statement.
parody maybe?
masak I understood it as such.
I just have an annoying habit of not replying to sarcasm qua sarcasm. how do you do that, anyway? how to respond to sarcasm? :) 14:36
"yeah. heh! the opposite of what you said is, like, so true."
PerlJam IRC just needs more bandwidth so that you can get inflection and tone
masak so what you're saying is, IRC really needs rage faces. 14:37
sisar always finds it a bit difficult to detect sarcasm in chats/emails :|
phenny sisar: 09 May 16:34Z <tadzik> tell sisar yes, you need to recompile ALL THE THINGS
sisar well, unless someone says "yeah, right" ... thats _always_ sarcasm, right ? 14:38
PerlJam sisar: yeah, right.
tadzik hehe
masak right.
yeah.
sisar :) was just expecting that
tadzik yeah, sure
masak really. 14:39
mikec__ haha
masak sure you did.
dalek osystem: 872b125 | jonathan++ | META.list:
Correct META.info URL for shinobicl++'s Date::WorkdayCalendar module.
gfldex .o(Why is there no Q :sarcasm ?)
PerlJam goraki: because you haven't created it yet!
er, gfldex even
sisar gfldex: +1
mikec__ that would be really useful
masak yeah, right. 14:40
sisar LOL
tadzik q:sarcasm/yeah, I'll use it all the time/
mikec__ haha
masak mikec__: *you're* really useful :)
masak .oO( it's 2012-05-10, and sarcasm has infected #perl6. implosion underway. ) 14:41
sisar yay! rosettacode is back !
masak fantastic. 14:41
mikec__ haha
masak :P
gfldex there is a typo on modules.perl6.org ~~ s/Date:WorkdayCalendar/Date::WorkdayCalendar/;
tadzik must be a typo in META.info 14:42
sisar dang :/ another sarcasm-detection failure
gfldex and the link goes to 404
tadzik how suprising.
jnthn I just commited an updated link. 14:43
But modules.perl.org probably not updated yet
sisar .oO ( have I increased sarcasm on #perl6 ? classic backfire :| )
PerlJam sisar: depends on where the arrow of sarcasm points and its magnitude 14:44
goraki in perl 6, how do you match the inverse of a set (like perl 5's [^\s\-_] for instance)? 14:45
PerlJam goraki: <-[a..z]>
goraki PerlJam: that makes sense. thanks!
mikec__ goes to write some sarcastically apologetic error messages
tadzik . o O ( "Your program does not compile. What a shame" )
mikec__ "Yeah, like /that's/ going to work." 14:46
tadzik Acme::SarcasticCompiler
jnthn That module is possible today. Just monkey-patch all of the X class .message methods :D 14:47
tadzik I was wondering if that'd work
jnthn Of course it won't!
timotimo because X classes are compiled into rakudo? 14:48
jnthn timotimo: My "Of course it won't" was sarcasm :P
timotimo ah
mikec__ hahaha
geekosaur rakudo insults mode?
tadzik I was wondering which sentence was sarcastic
masak jnthn: you seem to really get sarcasm there, buddy.
PerlJam masak: autopun?
mikec__ can't understand anyone anymore
tadzik why, I can
PerlJam well, I guess it's not auto
masak PerlJam: could be. too confused right now :)
tadzik I understand everyone _perfectly_ 14:49
PerlJam more like recursive
masak PerlJam: preferably it should be one single unit. the use and mention shouldn't stray too far from each other.
PerlJam tadzik: really?!? Could you please explain my wife to me? :)
masak right, it's very easy to mix up recursion and autopuns.
or self-reference and autopuns.
they're all related, but not identical. autopuns have this interesting "self-healing" property that the other two don't have. 14:50
like, it doesn't have to be an exact match for it to be funny.
PerlJam: I wanted to make a joke about shoehorns, but I couldn't figure out a way to insert it into a conversation. 14:51
PerlJam heh
masak .oO( Some people, when faced with a problem, think "I know! I'll make an autopun!" Now they have a snowclone and a problem. ) 14:59
TimToady snowclone quineme cometclone 15:00
masak :P 15:01
TimToady s:random/ '' /man/
[Coke] fails to get "snowclone".
masak [Coke]: en.wikipedia.org/wiki/Snowclone 15:02
PerlJam
.oO( snowclown? )
TimToady it's a sad clown
colomon masak++ 15:03
TimToady masak: let doesn't make much sense in a loop in any case, so I'm inclined to leave loop goto's as "success" 15:05
PerlJam TimToady: I still don't understand your statement "snowclone quineme cometclone" because I keep reading snowclone and cometclone as quoting constructs :)
masak TimToady: sounds fine.
TimToady PerlJam: that's how they were intended, except for the other half of the quine 15:06
masak everyone knows that snowman and comet are matching delimiters :)
PerlJam you're in a maze of twisty linguistics, all alike
TimToady s/ic// 15:07
PerlJam (better than a maze of twisty linguists, for sure!)
masak .oO( you're in a maize or twisty linguinis, all tasty )
of* 15:08
PerlJam masak++ x 2 for that one!
masak must be dinnertime soon.
PerlJam What's the term for a search phrase for which google has no results? 15:09
It's almost like a googlewhack, but better
TimToady when't is just none 15:10
masak ooh 15:12
mikec__ :(
TimToady well, 'when none'
masak I mean, "well, that's just great".
mikec__ hometime. see you tomorrow, #perl6 15:15
(i'll miss you a lot.) 15:16
tadzik yeah, sure
masak right.
mikec__ :D
gfldex std: sub s(){ class A {} };
masak hey! we'll miss you too!
p6eval std 8632387: OUTPUT«ok 00:00 41m␤»
gfldex r: sub s(){ class A {} };
p6eval rakudo d61049: ( no output )
PerlJam btw, we should be careful. Sarcasm (even delivered humorously) tends to foster negative vibes. We don't want to end up like efnet #perl (or some of the other #perl) 15:18
masak PerlJam: I think about that a lot. 15:19
masak not just about sarcasm, but about mechanisms that make a community feel less warm and accomodating. 15:19
masak in my AFK life, I have a default tone of voice that lends itself well to sarcasm. I sometimes felt it was a challenge *not* to be interpreted sarcastically. 15:20
masak the best antidote I've found so far is to emphasize a first utterance by repeating or enforcing it with a second, similar one. 15:21
that seems to cancel out any suspicions of sarcasm.
mikec__ PerlJam: yeah, true. i figured everyone listening was already in on the sarcasm thing
PerlJam mikec__: probably they were. But you don't know who's listening :) 15:22
huf masak: yeah, right :) 15:23
masak :P
PerlJam for instance, there have been several conversations oboth here and on #parrot that generated tweets from chromatic where he wasn't participating in the discussion (or even apparently on-channel)
s/obo/bo/
masak aye.
chromatics is probably reading *these very words*. o.O
mikec__ oh no! 15:24
masak c*
PerlJam I wonder if we say chromatic enough, if he'll be summoned.
masak nah.
PerlJam chromatic chromatic chromatic
masak for that, we'd have to psychoanalyze his writing :)
TimToady Do Not Taunt HappyFunBall 15:25
gfldex std: sub test() { class A {} }; class A {};
p6eval std 8632387: OUTPUT«===SORRY!===␤Illegal redeclaration of symbol 'GLOBAL::<A>' (from line 1) at /tmp/pPKBD4uNZY line 1:␤------> sub test() { class A {} }; class A ⏏{};␤Check failed␤FAILED 00:00 41m␤»
sisar i seem to have somehow inverted my mouse's scrolling. Downscrolling is actualling upscrolling & vice-vesa. Any idea how i can fix it? (Ubuntu)
gfldex std: sub test() { my class A {} }; class A {}; 15:26
p6eval std 8632387: OUTPUT«ok 00:00 41m␤»
goraki sisar: you're on Lion?
sisar: maybe Ubuntu is trying to be Lion? 15:27
benabik Lion doesn't invert mouse wheels, only trackpad scrolling.
sisar goraki: how is that even possible?
goraki benabik: my mouse wheel is inverted...
benabik: you do have to turn it on though. 15:28
TimToady turn it over and it should be fine
sisar :) 15:28
sisar channel #ubuntu is so crowded, its difficult to get any answers... 15:29
dalek blets: 2254b54 | (Herbert Breunung)++ | docs/appendix- (2 files):
fixing format
blets: b604a28 | (Herbert Breunung)++ | docs/tablet-2-basic-syntax.txt:
Merge branch 'master' of github.com:perl6/tablets
goraki sisar: this tells you how to set it up, might serve for getting rid of it: www.andybarratt.co.uk/lion-like-scr...g-on-linux 15:30
TimToady hopes we split #perl6 before that happens
TimToady pictures two #perl3 channels...
sisar goraki: ah, thanks. 15:30
TimToady: +1
TimToady or maybe three #perl2 channels... 15:31
goraki #perl2, #perl3 (division into primes)
factoring!
geekosaur it's not difficult to do that swap, scrollwheel is buttons 4 and 5. xmodmap can swap them 15:32
geekosaur probably xinput too 15:32
sisar .oO ( This inversion is growing one me. Weird ... ) 15:33
s/one/on
goraki sisar: if you've got a fancy touch phone you get used to having scrolling work the same way on your desktop pretty quickly. 15:34
TimToady you could also just turn the monitor upside down
or wear those glasses that un-invert the world
PerlJam what I can't get used to is the same buttons on my tv remote that move up and down a channel at a time switch directions when you're looking at the "guide" view with 5 channels at a time. 15:35
TimToady brain plasticity is a wonderful thing
sisar goraki: yeah, exactly. But then the scrollbars feel weird
TimToady we need to come up with a replacement for 'scroll up' and 'scroll down' 15:38
lichtkind gfldex: thanks
TimToady scroll earlier/later or some such 15:39
sisar show lower/ show upper ?
TimToady except the lower line numbers are at the top :) 15:40
sisar oh
TimToady and 'scroll' is not the problem, the ambiguous orientation of the up/down metaphor is the problem 15:41
sisar aye 15:41
TimToady at least we agree on zoom in/out
goraki more / less
that will never be confusing...
TimToady though why zoom in is a + I don't know 15:42
goraki + magnification
sisar I was confused with the + too
TimToady but the size of what you're seeing goes smaller
well, at least they usually put the + at the top, so as not to confuse the up/down metaphor too 15:43
goraki TimToady: the area is smaller, but the size of it on your screen is bigger.
TimToady no, the bits that were on the screen are now not on the screen at all :) 15:44
sisar you can argue either ways 15:44
TimToady anyway, there's a general principle at work here about flippable metaphors 15:44
which is why we now talk about tighter or looser precedence
much like we don't 'zoom up/down' 15:45
sisar TimToady: what was the problem with higher/ lower precedence ?
TimToady half the precedence charts in the world are printed with the lower precedence at the top
sisar oh, yeah ! 15:46
TimToady and "precedence" is an abstract enough concept that you have to stop and translate that in your head to "is tighter" anyway
TimToady of course, 'tight' is also a metaphor 15:47
sisar was perl6 the first language to talk in terms of tighter and looser precedence ? 15:48
TimToady no
perl5 was :)
sisar perl++
TimToady and the perl4 Camel had the precedence table upside-down, oops... 15:49
PerlJam I still don't fully grok "is tighter" and "is looser" (I mean, I understand them fine, but I have to think about it each time still) 15:50
sisar any other programming languages who have adopted this terminology ? 15:51
TimToady sisar: dunno 15:52
sisar i'll try to find out
TimToady PerlJam: think of it chemically, as which operators hold onto their operands with tighter/looser chemical bonds 15:53
KyleHa Hugs.
spider-mario 1+1 * 2
vs. 1 + 1*2
sisar hugme hug KyleHa 15:54
hugme hugs KyleHa
KyleHa :)
spider-mario the first one might suggest that (1+1)*2 is performed because + holds 1s tighter
TimToady "I'm not really bad--I'm just drawn that way." --Jessica Rabbit
sisar spider-mario: if you write that on paper, maybe yeah. But for programming languages, not so 15:55
TimToady there are many ways of writing misleading code
obfuscation is not always done by removing whitespace 15:56
spider-mario relevant remark
sisar spider-mario: actually, it would be a nice experiment to try define operator precedence based on whitespace around them :) 15:58
is thee any prior art for that ?
TimToady whitespace as syntax, yum! 16:00
</sarcasm>
KyleHa Tastes like chicken. 16:01
sisar thanks for the sarcasm pointer !
gfldex i found the right vehicle to better perl6 promotion: www.heise.de/bilder/151970/0/1
('use v6','go deaf').pick(1); 16:02
spider-mario r: ('use v6','go deaf').pick.say 16:02
p6eval rakudo d61049: OUTPUT«use v6␤»
spider-mario :D
sisar gfldex: now we just need to convince someone to drive _that_ :p
TimToady I assume the canister recharges from your pedalling... 16:03
*pedaling
dalek blets: 1b6b5a7 | (Herbert Breunung)++ | docs/ (5 files):
polish modulo and div ops; new format do alwas line brake after &mdash; unless you want hint incomplete answer
gfldex it's fairly safe too
in case you get close to a collision you activate the horn to stop your speed 16:04
TimToady retrorockets, yum!
but I hope the cannister if full of H2O2, and the horns have a platinum screen 16:05
*is full
otherwise I don't think there will be enough thrust 16:06
gfldex it's a scuba diver tank and the horns are used by tains and ships
a british came up with this design
TimToady I note that with dual rocket engines you don't need vernier rockets to control your roll axis 16:07
see the Gemini project
TimToady and we all know that rolling is very important for a bicycle 16:08
dalek blets: 326497f | (Herbert Breunung)++ | docs/appendix-a-index.txt:
polish div
16:11
jnthn decommutes...and hopes he'll find a tuit or two for later :) 16:13
sergot hi o/ 16:26
jnthn o/ 16:56
dalek rlito: f79354c | (Flavio S. Glock)++ | / (3 files):
Perlito5 - parser: fix regex escape
17:02
masak sergocie! \o/ 17:09
dalek blets: ce08eb9 | (Herbert Breunung)++ | docs/appendix- (2 files):
fix format of match object methods table
17:11
dalek blets: c85a5e0 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
precise junction description in Table
18:14
spaceships script 19:00
masak spaceships: yes. 19:01
r: say "OH HAI, I'm a script!"
p6eval rakudo d61049: OUTPUT«OH HAI, I'm a script!␤»
adu who was interested in perl6 => go compiler? 19:10
PerlJam adu: that would be you :) 19:13
adu no I heard someone else was interested too
anyways, I'm interesting in rewriting my go project in perl6 19:14
adu but first I should probably start with simpler things, like a rot13 tool, or a small lib 19:15
adu anyways, I found a link for whoever was interested: golang.org/src/pkg/runtime/runtime.h 19:16
PerlJam that makes me wonder if anyone has contemplated C-style unions in Perl 6 19:18
adu ew gross
adu There are many things better than untagged unions, for example: tagged unions, and interfaces 19:19
they're both sum-types
I wouldn't call untagged unions sum-types tho, because they're not very mathematical 19:20
how does perl6 do sum-types? 19:22
Celelibi Why would you need that? 19:25
masak adu: you can do it with a where clause, I guess.
adu: enums also soak up some of the use cases. 19:26
adu well, I suppose in dynamic languages, every variable is an infinite sum-type 19:27
masak that sentence sounds like it mixes levels in some way. 19:28
adu heh
probably
masak r: enum Foo <a b c d>; multi bar(Foo) { say "generic" }; multi bar(Foo::b) { say "specific" }; bar c; bar b
p6eval rakudo d61049: OUTPUT«generic␤specific␤»
masak \o/
masak there are plenty of opportunities to dispatch on enums the way you'd dispatch on sum types in FP languages. 19:29
Celelibi thoughts of the day: If you've never graded student's papers, you don't know how boring this is. 19:30
adu heh 19:34
masak: interesting 19:35
wait
I thought you had to say "multi sub"?
[Coke] Celelibi: I imagine that's even worse than coming up with a syllabus. 19:38
adu masak: you wrote ::Web? 19:38
Celelibi [Coke]: actually I don't know what is a syllabus. 19:39
[Coke] plan of study for a semester. 19:41
adu [Coke]: I heard you've been smoking rakudo
Celelibi hum... Well, i'm only a teaching assistant, I don't do the lecture nor the syllabus-equivalent. These are left to the real teacher. :)
spider-mario masak, how to attach data to the different members of the sum type? 19:42
[Coke] adu: Hai. 19:43
spider-mario e.g. in OCaml: type expression = Add of expression * expression | Value of int
adu hello
[Coke] adu: see gist.github.com/1476841
masak adu: I wrote large parts of Web.pm, yes. 19:44
adu [Coke]: why are there no persentages after rakudo? 19:45
masak spider-mario: good question. enums aren't ADTs, and this is one case where that shows.
spider-mario ok
Scala does that with “case classes” 19:46
masak I've sometimes dreamt of developing an ADT module for Perl 6. maybe the time for that draws near.
spider-mario for that example, Expression would have been the super class of Add and Value
masak it would hook nicely into the type system (AbstractDataTypeHOW?), and given/when statements, and signatures.
spider-mario and Add and Value would have had their additional data as class members
masak spider-mario: yes, I know. it's quite neat how it works.
adu # 02/12/2012 - niecza at 101.07% -- does this mean in Feb niecza passed more tests than rakudo?
spider-mario is it not? :) 19:47
masak spider-mario: we could sit down some day and sketch out how it'd all look in Perl 6.
spider-mario: there are nice things that can be done there with signatures, for sure.
adu: aye.
spider-mario certainly
adu cool
are perl6 roles similar to golang interfaces?
spider-mario btw, I’ve been wondering how easy it was to require a function parameter to implement several interfaces, in Go. 19:48
in Haskell for typeclasses, it’s quite easy
(Num a, Read a) => a […] 19:49
masak adu: somewhat. they fill the same niche, certainly. 19:49
adu: but golang interfaces can't contain an implementation; roles can. 19:50
and I've seen nothing to correspond to parameterized roles in go.
adu sounds closer to C++ templates or Haskell typeclasses 19:51
masak they do a number of different things. but all of them having to do with re-use of behavior. 19:54
[Coke] adu: (no percent) 100% is implied there. 20:34
[Coke] adu: niecza at 101.07%, yes. For a brief time niecza was running more spectests. 20:34
I changed the comments layout a few times, but the raw data is the same layout since I started.
(all generated from t/spec/test_summary) in roast. 20:35
masak 'night, #perl6 20:45
[Coke] ¡buenos sueños! 20:49
adu sweet 20:51
[Coke] "Impl", "pass","fail","todo","skip","plan","spec" 20:55
# 05/10/2012 - rakudo++ (22026); niecza (92.45%); pugs (35.34%)
"niecza", 20364, 28, 762, 1456, 22610, 24127
"pugs" , 7784, 1880, 3063, 1298, 14025, 23988
"rakudo", 22026, 30, 705, 1903, 24664, 24137
I seem to have injured pugs with my LC commit. Will have to double check that.
dalek blets: 0d9424d | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
link from match var to match var methods
20:56
benabik [Coke]: Someone really needs to look into how Pugs is doing UTF8. I highly suspect that GHC is doing decoding before it hits the decodeUTF8 function.
[Coke] benabik: if I knew any haskell at all, I would totally do that. ;)
benabik [Coke]: Fair enough. But the multiple decodings are what's causing the issue. Linux only works if it's set one way and OS X the other. :- 20:57
:-/
[Coke] I swear I tried this yesterday and it worked fine. 21:18
(on both mac & linux)
so, I suspect my default env has something set that cron doesn't.
geekosaur check your ghc version and $LANG/$LC_ALL 21:28
older ghc didn't do UTF8 and required you to use the utf8-string package to decode/encode; newer ghc's runtime does it and you'll end up double encoding/decoding if you use utf8-string. newer ghc also checks $LANG / $LC_ALL to see whether (and how) to encode/decode, while utf8-string assumes a UTF8 locale. 21:29
Araq er ... so ghc's behaviour depends on a env var and is not referentially transparent? o.O 21:30
that's ... really amusing
geekosaur what? it's all in IO, of course it isn't referentially transparent 21:31
Araq oh ok, I misunderstood
sergot 'night o/ ! 21:44
dalek ecs: efa4c18 | (Matthew Wilson)++ | S05-regex.pod:
missing
21:45
diakopter hmm, dalek forgot my username 21:46
diakopter TimToady: is rule bar {<foo>} LTM if foo is? 21:51
sorear good * #perl6 22:52
diakopter o/ 22:54
sorear o/ diakopter 23:01
diakopter niecza: repeat { foo: say(3); bar: say(4) } while 0; goto bar; 23:05
p6eval niecza v17-3-gdaf09af: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'bar' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1364 (die @ 3) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33) ␤ at /home/…
diakopter oh well 23:06
nqp: say("alive") 23:21
p6eval nqp: OUTPUT«alive␤»
sisar r: gist.github.com/2656561 23:30
p6eval rakudo d61049: OUTPUT«5 6 5 7 4␤»
sisar n: gist.github.com/2656561
p6eval niecza v17-3-gdaf09af: OUTPUT«4 5 6 5 7 ␤»
sisar ^ nieczabug (?)
sorear probably 23:38
but use .rotate