»ö« 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:02 cognominal_ joined 00:05 cognominal left 00:08 cognominal_ left 00:10 cognominal_ joined 00:37 dayangkun joined 00:44 Chillance left 00:52 anuby joined 00:56 tokuhiro_ joined 01:17 ilogger2 joined, ChanServ sets mode: +v ilogger2 01:51 aloha joined 01:56 am0c joined 02:19 firelord joined, firelord left 02:37 fgomez joined 03:01 Vlavv` joined 03:07 gootle joined
dalek ast: bab341d | (Solomon Foster)++ | S03-operators/eqv.t:
Unfudge.
03:15
ast: 224c4bb | (Solomon Foster)++ | S04-phasers/rvalue.t:
Unfudge.
03:34 flightrecorder joined 03:36 plobsing joined
am0c n: say "hi" 03:37
p6eval niecza v22-16-g4c016f5: OUTPUT«hi␤»
03:41 cognominal_ joined
am0c I have heard that P5 Moose is a back-ported stuff from Perl 6. I'm wondered why there is no <around before after> roles in Perl 6. I think there would be a reason, but cannot figure out. 03:46
role cute { method { nextsame; say "meow!" } }; class Cat does cute { method grr { say "grr..." } }; Cat.new.grr; 03:47
r: role cute { method { nextsame; say "meow!" } }; class Cat does cute { method grr { say "grr..." } }; Cat.new.grr;
p6eval rakudo 0a320a: OUTPUT«grr...␤»
sorear am0c: becuase perl 6 people refuse to beleive it's needed 03:51
I've given up on convincing them. maybe you can give it a try?
doy for what it's worth, the moose people don't really believe it's needed anymore either (p5-mop doesn't have them) 03:52
sorear doy: interesting 03:53
am0c I see.. :3
skids Not being a Moose user, and looking at them, how are they functionally different than accessors and/or wrap? 03:55
sorear skids: they are structured overriding 03:56
skids So, for introspective purposes?
sorear class A is B { before foo () { say "hi" } } is like method foo() { say 'hi'; nextsame }
has nothing to do with introspection 03:57
at all
skids Well, what's so special about them being "structured" then?
sorear they're easier to use and harder to misuse
doy the main reason they are useful in moose is that p5's equivalent to nextsame is pretty broken 03:58
benabik r: role cute { method grr { nextsame; say "meow!" } }; class Cat does cute { method grr { say "grr..." } }; Cat.new.grr;
sorear doy: do you still have before/after/around for classes?
p6eval rakudo 0a320a: OUTPUT«grr...␤»
doy sorear: meaning?
am0c yey, I found the information. github.com/stevan/p5-mop/wiki
doy moose still has method modifiers
sorear doy: did you get rid of method modifiers entirely or?
benabik r: role cute { method grr { say "meow!" } }; class Cat does cute { method grr { nextsame; say "grr..." } }; Cat.new.grr;
p6eval rakudo 0a320a: OUTPUT«grr...␤»
doy but p5-mop doesn't have them at all 03:59
sorear doy: oh, you just mean that _roles_ no longer support them
doy no
both roles and classes support them in moose, and neither do in p5-mop
(although they'd be pretty trivial to write as an extension in p5-mop) 04:00
but that's kind of the point
skids r: class cute { method grr { say "meow!" } }; class tiger is cute { method grr { callsame; say "grr..." } }; tiger.new.grr 04:03
p6eval rakudo 0a320a: OUTPUT«meow!␤grr...␤»
sorear also, I'm not a fan of my \r = callsame; do-more-stuff(); r; 04:04
04:07 fgomez left 04:17 raiph joined
raiph am0c: here's what larry had to say about before/around/after in 2010: irclog.perlgeek.de/perl6/2010-04-07#i_2205584 04:20
phenny raiph: 05 Nov 07:46Z <azawawi> tell raiph 1. very old chrome version, F6 at the moment does not do anything when there is no error. Try it with some errors in it. You can install Farabi6 to test it on your machine and set FARABI6_UNSAFE=1
am0c raiph: wow, thanks very very much! 04:21
sorear wow, TimToady completely failed to get it 04:23
04:24 fgomez joined, clkao joined
sorear doy: are you at all familiar with perl 6's "wrap"? 04:30
raiph contrast with audrey's take from 2007: "before/around/after is just sugar; can be ported easierly with callwith/nextwith; but I do find before/around/after easier to explain to an audience" : near irclog.perlgeek.de/perl6/2007-05-17#i_18912
sorear raiph: audrey Gets It. 04:31
raiph (I see stevan say he took an idea from BETA; first time I've ever seen a reference to that lang outside its own world) 04:33
sorear raiph: moose also has augment/inner 04:37
raiph sorear: yeah, those were the things stolen from BETA
goodnight #perl6 04:39
04:40 raiph left
am0c oh audreyt's say in a chatlog are all colored red? 04:41
r: say #<does> "work"
p6eval rakudo 0a320a: OUTPUT«␤»
benabik r: say #`<does> 'work' 04:42
p6eval rakudo 0a320a: OUTPUT«work␤»
am0c ah..
sorear n: say #<does> "work" 04:43
p6eval niecza v22-16-g4c016f5: OUTPUT«===SORRY!===␤␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/n8f4Iw3r2d line 1:␤------> say⏏ #<does> "work"␤␤Potential difficulties:␤ Embedded …
sorear n: #<does> "work" 04:44
p6eval niecza v22-16-g4c016f5: OUTPUT«Potential difficulties:␤ Embedded comment seems to be missing backtick at /tmp/zVnhPF1m2M line 1:␤------> #<does>⏏ "work"␤␤»
doy sorear: i am not 04:47
also, another thing about method modifiers: method modifiers in roles are really more a form of macro, or implicit parameterization, than a simple translation to something with nextsame 04:50
and that asymmetry is kind of annoying, and leads to weird interactions
sorear doy: wrap works like this: Str.^find_method('chars').wrap({ say "moo"; nextsame }); say "hello".chars # moo\n5\n 04:51
how do I convince people that wrap is not a viable replacement for method modifiers?
the two concepts seem completely unrelated in my miond
wrap modifies existing Code objects 04:52
doy well 04:53
sorear it doesn't interact with the class system at all, except insofar as methods are Code objects
doy StrSubclass.^add_method('chars', Str.^find_method('chars').clone.wrap({...})) 04:54
doy handwaves a bunch
it is a bit roundabout though
benabik r: role cute { method grr { say "meow!" } }; class Cat does cute; Cat.^find_method('grr').wrap({say "grr..."; nextsame}); Cat.new.grr; 04:55
p6eval rakudo 0a320a: OUTPUT«===SORRY!===␤Too late for semicolon form of $*PKGDECL definition at line 2, near "Cat.^find_"␤»
benabik r: role cute { method grr { say "meow!" } }; class Cat does cute {}; Cat.^find_method('grr').wrap({say "grr..."; nextsame}); Cat.new.grr;
p6eval rakudo 0a320a: OUTPUT«grr...␤meow!␤Attempt to return outside of any Routine␤ in block at src/gen/CORE.setting:541␤ in block at /tmp/eF6fidP2gP:1␤␤»
sorear interesting bug 04:56
benabik I don't see what's trying to return. 04:57
Wrapping a method from a role seems to require doing it wholly outside the class definition. That's LTA 04:58
sorear r: return 04:59
p6eval rakudo 0a320a: ( no output )
sorear r: eval 'return'
p6eval rakudo 0a320a: ( no output )
05:13 odoacre joined 05:27 obra joined
skids sorear: you convince people by pointing out that wrap is subject to HardRoutine limitations. 05:33
callsame with straight overrides/accessors is actually what competes. 05:38
05:59 am0c left, kaleem joined
TimToady I haven't made the wrap argument in ages; I'm fine with callsame semantics, but it still seems like something a module could do 06:01
06:28 odoacre_ joined 06:29 odoacre_ left, odoacre_ joined 06:30 hash_table joined, odoacre_ left 06:41 gootle1 joined, risou_ left, risou joined, gootle left 06:49 SamuraiJack joined 06:55 flightrecorder left
Woodi morning ppls :) 07:08
I wondered how to code "aspects", eg. adding logging, adding checking to code. And before some-method can help. however it looks like event mechanism like in onClick="..." 07:11
on some-event do-something()
irc programming use this... 07:12
and "ON" is nicely hufmanized. but me think "on" have bad history in languages development... eg. few days ago seen ON ... GOTO ... in BASIC 07:13
07:24 am0c joined 07:30 hash_table left
moritz it's one week into 2012-11, and the changelog for the November release already looks mightily impressive 07:35
jnthn++
07:38 colbseton joined 07:39 colbseton left 07:41 flightrecorder joined 07:45 sorenso joined
jnthn Method modifiers in roles seem like an especially bad idea to me. They seem cute today, then tomorrow you have roles that are so tightly coupled to classes that you might as well have used inheritance. 07:56
teaching & 08:02
08:21 domidumont joined 08:25 domidumont left, azawawi joined
azawawi hi 08:25
08:30 fhelmberger joined 08:31 plobsing left 08:48 azawawi left 08:49 FROGGS joined 08:57 sorenso left 09:09 au left, c1sung joined, sorenso joined 09:11 Pleiades` joined, domidumont joined 09:15 au joined 09:20 jlaire joined 09:27 domidumont left 09:32 VXZ joined
dalek ecza: f43fe40 | sorear++ | lib/ (6 files):
Top removal: iterators, variables, vivihooks
09:37
ecza: eafdf64 | sorear++ | lib/ (5 files):
Top removal: Parameter & Signature
ecza: d874a8e | sorear++ | lib/ (2 files):
Top removal: iterators, substrings
09:40 sorenso left, am0c left 09:46 GlitchMr joined
bbkr__ r: [1,2,3]>>.say 09:49
p6eval rakudo 0a320a: OUTPUT«3␤1␤2␤»
bbkr__ why output is not in correct order? 09:50
09:50 dakkar joined
tadzik >> autothreads and doesn't preserve order 09:51
moritz any order is correct.
bbkr__ thanks 09:53
10:06 sorenso joined 10:17 cognominal_ left 10:20 VXZ left 10:24 grondilu joined, cognominal_ joined
grondilu Isn't rosettacode.org/wiki/Trigonometric_...ions#Perl6 totally wrong? 10:25
cotto seems to be 10:26
grondilu rn: say sin 60 * Degrees
p6eval niecza v22-19-gd874a8e: OUTPUT«===SORRY!===␤␤Undeclared name:␤ 'Degrees' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1437 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤ at /hom…
..rakudo 0a320a: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&Degrees' called (line 1)␤»
moritz grondilu: it uses a very ancient version of Rakudo 10:27
10:30 imarcusthis joined
grondilu r: sub postfix:<°> { $^a * pi/180 }; say sin 60° 10:32
p6eval rakudo 0a320a: OUTPUT«0.86602540384322␤»
cotto What 10:36
's the correct spelling of (1 .. 100)􏿽xBB.&fizzbuzz.join("\n").say;
rosettacode.org/wiki/FizzBuzz#Perl_6
moritz .map(&fizzbuzz).join("\n")
cotto looks like it was just an issue with using the repl 10:39
grondilu r: say enum { <foo bar> } 10:47
p6eval rakudo 0a320a: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&enum' called (line 1)␤»
grondilu ?
rn: say enum { <foo bar> } 10:48
p6eval rakudo 0a320a: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&enum' called (line 1)␤»
..niecza v22-19-gd874a8e: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'enum' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1437 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤ at /hom…
grondilu n: enum abc { <a b c> }; say my abc $ = a;
p6eval niecza v22-19-gd874a8e: OUTPUT«===SORRY!===␤␤Malformed my at /tmp/M8FzJKSkaW line 1:␤------> enum abc { <a b c> }; say my⏏ abc $ = a;␤␤Undeclared routines:␤ 'abc' used at line 1␤ 'enum' used at line 1␤␤Parse failed␤␤»
grondilu rn: say enum <foo bar>; 10:50
p6eval niecza v22-19-gd874a8e: OUTPUT«Use of uninitialized value in string context␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1289 (warn @ 5) ␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 266 (Mu.Str @ 15) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/src/N…
..rakudo 0a320a: OUTPUT«EnumMap.new("foo", 0, "bar", 1, )␤»
grondilu r: say my enum Days <mon tue wed etc>; 10:54
p6eval rakudo 0a320a: OUTPUT«Days()␤»
grondilu r: say my enum TrigBase Radians => 1, Degrees => pi/180; 10:55
p6eval rakudo 0a320a: OUTPUT«===SORRY!===␤Malformed my␤at /tmp/6jFLldx0kG:1␤»
grondilu I don't get it
r: say my enum TrigBase «:Radians(1) :Degrees(pi/180)»; 10:57
p6eval rakudo 0a320a: OUTPUT«===SORRY!===␤Type error in enum. Got 'Num' Expected: 'Int' at line 2, near ";"␤»
grondilu but that's pretty much how S32/Numeric wants to define TrigBase. Something's wrong. 10:59
r: enum TrigBase is export (Radians => 1, Degrees => (pi/180)); say "ok" 11:00
p6eval rakudo 0a320a: OUTPUT«===SORRY!===␤Type error in enum. Got 'Num' Expected: 'Int' at line 2, near "; say \"ok\""␤»
11:04 domidumont joined 11:05 domidumont left, domidumont joined 11:11 am0c joined 11:19 brrt joined
moritz r: my Cool enum TrigBase «:Radians(1) :Degrees(pi/180)»; 11:23
p6eval rakudo 0a320a: OUTPUT«===SORRY!===␤P6opaque only supports type changes where the MRO of the original type is a suffix of the MRO of the new type␤»
11:27 sorenso left 11:35 sorenso joined 11:42 brrt left 11:59 sorenso left 12:08 am0c left 12:09 bluescreen10 joined 12:11 sorenso joined 12:34 Psyche^ joined 12:38 gootle1 left, Psyche^ is now known as Patterner 13:04 chee joined, chee is now known as Guest75822 13:08 Guest75822 left, Guest75822 joined, Guest75822 is now known as chee 13:18 jaldhar joined 13:27 azawawi joined
azawawi hi #perl6 13:27
moritz \o 13:30
chee hi azawawi
13:49 brrt joined
sergot hi o/ 13:51
13:52 domidumont left
tadzik oh hey :) 13:52
13:53 dakkar left 13:54 benabik joined 13:56 plobsing joined
azawawi jnthn: ping 13:58
14:01 brrt left 14:02 kaleem_ joined, kaleem left 14:05 brrt joined
[Coke] finds coffee. 14:08
14:09 flightre1 joined 14:10 sorenso left, flightrecorder left, flightre1 left, flightrecorder joined, FROGGS left 14:12 flightrecorder left 14:13 flightrecorder joined 14:16 benabik left 14:20 PacoAir joined 14:24 FROGGS joined 14:26 bowtie joined 14:28 atrodo joined, dakkar joined 14:31 atrodo left 14:32 atrodo joined 14:35 brrt left 14:48 plobsing left 14:49 bluescreen10 left
jnthn azawawi: Gotta decommute, but will be home in a bit...will pong you then Ö= 14:54
[Coke] muppet smiley! 14:56
azawawi jnthn++ # perl6-debug :) 14:57
15:05 bluescreen10 joined, azawawi left 15:17 domidumont joined, alester joined 15:23 stopbit joined 15:24 skids joined 15:45 kaare_ joined 15:52 kaleem_ left
jnthn home :) 16:00
aza...pong fail :) 16:01
16:06 sorenso joined 16:13 domidumont left, domidumont joined 16:18 SmokeMachine joined 16:25 Gothmog_ joined 16:41 SmokeMachine left 16:42 SmokeMachine joined 16:44 azawawi joined
azawawi jnthn: ping pong 16:44
jnthn: i had to go home also :)
[Coke] will be happier when the polls close tonight in the states. Oy. 16:45
PerlJam [Coke]: happier just because it's over?
azawawi task finished... :)
[Coke] PerlJam: yes. 16:47
16:50 benabik joined 16:55 flightrecorder left, FROGGS left 16:59 pmurias joined
jnthn o/ azawawi 17:01
17:02 fgomez left
azawawi takes a look at github.com/jnthn/rakudo-debugger 17:04
17:05 SamuraiJack left
jnthn :) 17:05
17:05 SamuraiJack joined
[Coke] is it a goal to have all our spec tests not complain about, say, unused variables? 17:06
(niecza highlights this; I'm sure STD will also have a lot more complaints if that is ever setup to run.) 17:07
PerlJam [Coke]: sounds like a reasonable goal to me.
azawawi feather.perl6.nl:8080/ # initial dummy implementation of editor tabs .. brb... firefix still crashes it lol :) 17:08
17:08 azawawi_ joined, azawawi left 17:10 sorenso left 17:12 havenn joined
PerlJam azawawi_: What does "ENV{FARABI6_UNSAFE} is not enabled" mean? 17:13
azawawi_ PerlJam: since i dont have a sandboxed perl6, that option is disabled by default... 17:14
17:14 azawawi_ is now known as azawawi
PerlJam azawawi_: I'm also surprised that perlito5 actually outputs something other than "wrong perl version" on that default program. 17:15
azawawi yeah me 2...
PerlJam anyway ... very nice! azawawi++
17:16 MayDaniel joined
azawawi PerlJam: one of the problems that a web app faces when emulating a desktop is shortcuts... 17:17
PerlJam: e.g. if i try to bind to CTRL-N (for new file). Chrome does not 100% allow it. Same for Ctrl-O (Open) on IE9+
PerlJam: i need to think in another way... maybe central popup menu list where you can autocomplete commands... 17:18
PerlJam: that way you dont need to learn new shortcuts and at the same the most recently used are display first 17:19
sorear was also thinking that day of the possibility of running niecza code under silverlight which can be run right away under farabi6 17:20
and it is already sandboxed
PerlJam that would be cool
azawawi Perlito is nice also in a sense that could use what JS can do.. which means a Perlito 6 can access canvas, audio,...etc API 17:23
azawawi starts hacking at perl6-debugger... web-based API
dalek ast: e0e0034 | jnthn++ | S06-other/introspection.t:
Eliminate tests depending on non-spec Multi type.

Also, a Rakudo unfudge.
17:38
kudo/nom: da339d2 | jnthn++ | src/core/ (2 files):
Turn candidates_matching into cando.

Turns out we had a non-spec method that was really close to doing what a spec'd method needed. Small refactor, including to the thing that depended on it.
kudo/nom: d3b16b0 | jnthn++ | t/spectest.data:
Run S06-other/introspection.t.
17:44 cognominal_ left, rurban joined 17:46 brrt joined 17:53 BillySeth joined 17:56 benabik left
sorear o/ 18:00
18:04 dakkar left
jnthn o/ 18:06
PerlJam that method makes me think of "fugue for the tinhorns" from Guys and Dolls 18:07
(the first verse anyway) 18:08
TimToady one of the few classic musicals I've never been involved with... 18:09
TimToady earned grocery money once upon a time by being concertmaster in a musical comedy troupe in Seattle 18:11
18:12 arlinius joined 18:15 grondilu_ joined
TimToady (and backup conductor from time to time) 18:16
((not to be confused with a conductor of backups)) 18:18
18:18 grondilu left
sorear TimToady's past only gets interestinger and interestinger. 18:19
.oO( We want to put in a backup conductor so that there won't be issues next time someone screws up in Yuma )
18:20
TimToady is wearing a red-white-and-blue shirt today, in order to trick all the Orange County residents into thinking I'm a true-red Republican, who seem to think only Republicans are allowed to wear flag shirts. Me, I wish there were more white states to go with the red and blue states... 18:22
was hopin' to wear the shirt to Disneyland today, but that's postponed till tomorrow 18:23
sorear Orange County eh 18:24
TimToady not the Orange County with hanging chads... 18:25
we're near Newport Beach, actually 18:26
dalek rl6-roast-data: 7c50a25 | coke++ | / (3 files):
today (automated commit)
18:27
TimToady the tsunami would have to be over 200' tall to reach us
18:27 sftp joined
TimToady fortunately the time of day for asteroids is nearly over now 18:28
18:31 brrt left
[Coke] looks like another 24 passing tests for rakudo. 18:33
TimToady and most of the faults are strike-slip here, so mostly we only need to worry about undersea landslides... :)
18:33 brrt joined
jnthn [Coke]: Now and then, stuff improves... :) 18:33
18:35 fhelmberger left, rindolf joined
rindolf Hi all. 18:35
azawawi: here?
azawawi rindolf: yeah 18:36
rindolf azawawi: thanks for solving my problems with Farabi. 18:38
azawawi: what's up?
azawawi rindolf: im trying to fix the firefox bug... apparently firefox keep the connection alive and keeps sending and neither HTTP::Server::Simple nor HTTP::Easy support that 18:40
18:40 benabik joined
azawawi rindolf: s/keep/keeps/ 18:40
rindolf azawawi: OK.
azawawi: good luck with that.
tadzik azawawi: what happens if you send it Connection:Close explicitely? 18:42
azawawi tadzik: should work
18:43 spider-mario joined
azawawi tadzik: where can i find documentation about IO::Socket::INET 18:43
18:43 spider-mario_ joined, spider-mario left 18:44 Chillance joined
tadzik azawawi: I thought of doc.perl6.org/, but apparently not :) 18:44
dalek kudo/nom: 5f588e4 | jnthn++ | src/ (2 files):
Add nqp::p6setfirstflag to replace a pir:: op.
18:45
kudo/nom: 069b2d2 | jnthn++ | src/Perl6/World.pm:
Pull phaser run code gen out into a method.
kudo/nom: 0c0419e | jnthn++ | src/Perl6/Actions.pm:
Support FIRST/NEXT/LAST in non-for loops.

Already has worked in for loops for quite a while; now should work in the various other kinds of loop.
jnthn store & 18:46
18:46 sorenso joined 18:47 SamuraiJack left 18:48 SamuraiJack joined, xinming joined 18:52 azawawi left 18:57 benabik left 19:02 benabik joined
masak hi, #perl6! 19:06
19:06 spider-mario_ is now known as spider-mario
[Coke] guten abend, masak-san. 19:07
masak diakopter: "VVDKVMLRSNCD" gives exactly one hit on Google now :P
tadzik awesome :) 19:08
19:09 havenn left
masak (though I probably just destroyed that) 19:09
19:09 havenn joined
dalek ast: d381550 | jnthn++ | S04-phasers/next.t:
Unfudges.
19:10
rindolf masak: meow. 19:11
masak: what's up?
dalek atures: 5a33ed9 | jnthn++ | features.json:
FIRST/NEXT/LAST no longer limited to for loops.
masak rindolf: roof. rain. clouds. 19:12
rindolf masak: ah, it's raining?
masak au++ # "easierly" :) 19:13
rindolf: yes. on my roof.
rindolf masak: nice.
benabik masak: Better than raining through your roof.
19:14 havenn left
masak oh, don't get me wrong. as long as I'm under it, I'm fine with rain falling on my roof. 19:14
19:15 fgomez joined
PerlJam Now I'm reminded of Gene Kelly. 19:17
dalek kudo/nom: c5f8d7e | jnthn++ | docs/ROADMAP:
Remove completed ROADMAP item.
[Coke] I see "Correct type smiley support" in the roadmap - current versions of tht are wrong? 19:20
(for rakudo)
jnthn Yea
h
'cus the spec got changed right after I implemented them, and now NQP and Rakudo's codebases use them all over as they used to be...
Well, maybe not "right after" 19:21
benabik Type smiley? :D :U :A ? 19:22
jnthn Yeah
[Coke] happy, vomit, and crooked. 19:23
jnthn We use :U and :D to mean...whatever the others are.
I can't even remember the.
*them
PerlJam I thought :U and :D remain unchanged ? 19:24
jnthn The original idea was meant to be that :U and :D represented some low-level definedness (really, is it a type object or not).
oh... 19:25
Hm, huh...
Int:D Allow only defined (concrete) Int values 19:26
Int:U Allow only undefined (abstract or failure) Int values
Int:T Allow Int only as a type object
PerlJam right
jnthn So now I don't understand what U means at all :)
[Coke] I am wondering why you'd want Int:U - is it just there for completeness?
tadzik :T or Failure?
19:27 jlaire left
jnthn tadzik: But Failure !~~ Int 19:27
tadzik I know :|
jnthn Unless it means something more like Int:T | Failure
PerlJam [Coke]: Maybe you'd want a :U type because you're going to turn it into a :D type. 19:29
jnthn "(The default new method has a prototype whose invocant is :T instead, so all new methods all default to allowing type objects.)" # This bit doesn't make much sense to me either...
PerlJam also, I suppose it's a way to distinguish between SomeType.new.foo and SomeType.foo 19:30
jnthn Anyway, seems Rakudo gets :D right. 19:32
And the current :U is really :T
19:34 havenn joined
cotto :_ is also in S12 19:37
19:38 raiph joined
raiph the features comparison matrix shows "Logic cascade (andthen, orelse)" as unimplemented. Shouldn't that be at least partially implemented? 19:40
(for Rakudo)
[Coke] r: say "no" andthen "what"; 19:41
p6eval rakudo 0c0419: OUTPUT«no␤»
jnthn raiph: We can probably have partially implemented, yes. 19:42
TimToady r: say ("no" andthen "what")
p6eval rakudo 0c0419: OUTPUT«what␤» 19:43
jnthn Is the precedence right there? :)
19:43 havenn left, havenn_ joined 19:44 ttime2u joined, benabik left 19:45 ttime2u left
raiph r: my @a = 1,2; say "@a[]" # the matrix also suggests Rakudo is only doing scalar variable interpolation 19:46
p6eval rakudo 0c0419: OUTPUT«1 2␤»
jnthn raiph: I think you're looking at the regexes section. 19:47
raiph d'uh. thanks.
19:48 brrt left
raiph So that's about turning arrays and hashes into | or || alternates, or something like that, right? 19:49
19:50 havenn_ left
jnthn don't think hashes interpolate at all but yes, the | and || is the tricky thing. 19:50
Well, the | is the really tricky one
afk, nomming 19:51
19:51 havenn joined 19:54 havenn_ joined
masak jnthn: yes, the precedence is right. 'andthen' is as loose as 'and', so 'say "no"' gets grouped into one subexpression. 19:56
19:57 havenn left
dalek atures: 343a4f6 | jnthn++ | features.json:
Rakudo partially does logical cascades.

  moritz++ for implementing, raiph++ for noticing features claimed not
at all implemented.
20:03
sorear o/ masak 20:04
masak \o sorear 20:05
colomon \o/ masak & sorear!
masak colomon! \o/ 20:08
20:09 domidumont left
sorear o/ colomon 20:10
colomon: I think you're a USian. Wink wink. 20:11
20:12 jlaire joined
sorear just got back... 20:13
20:13 havenn_ is now known as havenn
colomon is finally recovering from the cold he picked up on the way back from Switzerland... 20:14
sorear not an excuse :p 20:15
20:16 kurahaupo joined
jnthn colomon: Hope Switzerland was enjoyable aside from catching the cold. 20:17
20:17 wamba joined
colomon jnthn: it was mildly nightmarish until I got settled in, then it was quite awesome. 20:18
colomon does not adjust well to overseas flights yet
20:19 SamuraiJack left
jnthn Ah, yeah...that can be annoying. 20:19
Gets easier with practice. Sorta. :)
TimToady you're expecting this to improve with time? o_O
colomon TimToady: well, I've only done it twice (once each direction), so I was hoping.... 20:20
TimToady one learns a few tricks, I suppose, but getting older isn't one of them...
mostly, take red-eyes eastward, walk in bright sunlight in the mornings 20:21
skids r: ([andthen] "Ohai".say, Int, fail("Onoes")).perl.say
p6eval rakudo c5f8d7: OUTPUT«Ohai␤»
colomon It was completely fogged over every morning I was there. In fact, after the first afternoon I only saw the sun the afternoon we went to the top of the mountain. 20:22
20:22 flightrecorder joined
sorear the sun is usually visible at 41000' 20:22
TimToady well, whatever light is available in the morning
cloudy light still has the blue component, which is most important, apparently 20:23
going the other way, just pretend that a day normally has two naps or so...
mind you, this is advice more for an 8-hour difference, not a 5-hour difference, or whatever it was 20:24
sorear ponders the value of indoor tanning lamps (high intensity violet) for manipulating sleep cycles
TimToady in some ways a 12-hour difference is easier than 8 hours, since one can just swap naptime with nighttime :)
sorear where I live they put us on a 1-hour difference twice a year just to keep us all on edge 20:25
universal jetlag time
colomon The biggest problem was that I arrived in St. Gallen at what was 6am in my internal clock, with less sleep in the previous 48 hours than I'd get in a normal night, and was whisked off to a meeting. 20:27
Once I had showered, eaten, and slept 11 hours, I felt a bit more human. 20:28
TimToady *if* you can arrange a down day when you arrive, being sleep-deprived can sometimes help you adjust faster
sorear a meeting, eh?
colomon Once I discovered I could get fresh roasted chestnuts from a street vendor in walking distance from my hotel I did fine. ;)
sorear: a meeting.
$work, even 20:29
TimToady sorear: the sun is usually visible at 41000' only if you define "usually" as minutely more than 50% 20:30
it's only more than 50% for three reasons
1) the horizon is slightly below eye-level at altitude 20:31
2) the sun is not a point source
3) the atmosphere refracts light downward
clouds on the horizon will take away some of that time too 20:33
oh, and the occasional eclipse :)
20:36 azawawi joined 20:37 fgomez left
rindolf TimToady: hi. 20:39
sorear now, if you set up at L1 you can get a bit more than 50% :D
depending on whether you count transits of venus as occlusions
masak would like to set up at L1 at some point 20:40
jnthn somebody set up us L1 20:41
masak :P
[Coke] home, home on... nevermind. 20:44
sorear or you could spend half the year at the North Pole, then, on the autumnal equinox, catch a flight south 20:48
masak .oO( bipolar researcher ) 20:49
20:51 supernovus joined
supernovus Quick question, if you "augment class Any" would that not make any methods you added available to all defined classes? 20:52
masak all except the ones that !~~ Any 20:53
like Mu, or Junction.
also, depends what you mean by "available". the method could still be shadowed by same-named methods in deriving classes. 20:54
supernovus masak: that's what I thought. I'm probably missing something super simple.
r: use MONKEY_TYPING; augment class Any { method hello { say "woot"; } }; "hi".hello; 20:57
p6eval rakudo c5f8d7: OUTPUT«No such method 'hello' for invocant of type 'Str'␤ in block at /tmp/_H_vJIBsA8:1␤␤»
20:57 GlitchMr left
TimToady looks around for an L1 at 41000'... 20:58
supernovus Interesting. 21:00
n: use MONKEY_TYPING; augment class Any { method hello { say "woot"; } }; "hi".hello; 21:01
p6eval niecza v22-19-gd874a8e: OUTPUT«woot␤»
masak supernovus: yes, that could be considered a rakudobug.
jnthn Hm. I suspect the method caching changes I did a while back that helped grammars a load are to blame.
And the spectests didn't catch it.
masak supernovus: feel free to report it.
supernovus Sure thing. I wish Rakudo used the Github bug tracker rather than RT. Anyway, reporting bug. 21:03
jnthn Fixing it will need me to do a chunk of stuff I've been putting off for a while, I guess... 21:04
21:04 flightrecorder left
supernovus Bug submitted. 21:09
masak supernovus++
azawawi supernovus: hi 21:11
supernovus azawawi: hello
rurban Q from the peanut gallery: Is anybody using perl6 for "production" already? november or such?
masak
not November, but strangelyconsistent.org/ is a static site running entirely on Perl 6. 21:12
azawawi supernovus: i need to use HTTP::Easy again. The last commits made Farabi6 stuck at / so i switched to HTTP::Server::Simple...
supernovus: and firefox seems to send null requests...
supernovus: bad requests
supernovus rurban: depends on your definition of production. I use it for all sorts of things. A script written in Perl 6 generates the supernovus.github.com/ page for instance. 21:13
flussence azawawi: HTTP::Easy got broken by a bugfix for something else a few days back. Used to not have POST requests, now it's GET that won't work... 21:14
21:14 bluescreen10 left
supernovus Hmm. I will do some testing to see what's going on. 21:14
jnthn rurban: I've used it for some $dayjob tasks. 21:15
rurban But no companies yet, right?
21:15 Chillance left
flussence supernovus: IIRC IO::Socket.read was broken, they fixed that, and now it gets confused with certain types of request because it tries to read a request body that isn't there and blocks indefinitely 21:17
azawawi flussence: who fixed it? 21:18
masak rurban: oh, I've used it for $dayjob quite a lot, too.
'night, #perl6
21:18 BillySeth left
rurban good to know, thanks 21:18
flussence azawawi: github.com/rakudo/rakudo/commit/34...253166e7ce
wait, no 21:19
supernovus flussence: ugh. I remember IO::Socket being broken, which prevented me from testing some library changes in HTTP::Easy, HTTP::Client and FastCGI. I didn't realize it had been fixed. Is there a good work around for the issue?
flussence that's something else, one sec
github.com/rakudo/rakudo/commit/72...f9874f1c10
supernovus: no idea :( 21:20
supernovus I will have to play with it when I have time. Sigh. My lunch break is just about over, I'll commit Method::Modifiers to github (with the optional augment version non-functional in Rakudo due to the previously discovered bug), then it's back to $dayjob. 21:21
flussence starts playing around with it 21:22
azawawi supernovus: paste.debian.net/207045/ # Farabi6 with HTTP::Easy... Unknown HTTP method error with firefox 21:23
supernovus: chrome works fine
supernovus azawawi: interesting, I'll modify the error to include the method that it didn't understand so we can track down the bug better. 21:24
21:24 MayDaniel left
azawawi supernovus: basically it is empty... let me enable :debug 21:25
supernovus: paste.debian.net/207048/ # null request from firefox... strange right? 21:26
pjcj Hello Perl6 people - we're wanting to run the Google Code-In again this year 21:27
We'd love to see Perl6 get involved, but don't have any Perl6 tasks yet
azawawi supernovus: i think you need to ignore that bad http request
pjcj Time is short if The Perl Foundation is to be accepted into the programme this year 21:28
so if you'd like to see Perl6 involved, please add tasks to wiki.enlightenedperl.org/gci2012 ASAP
thanks very much!
supernovus The empty request seems very unusual.
[Coke] pjcj: danke!
pjcj bitte
21:30 sftp left
supernovus Here's another question. The 'augment' feature if I remember correctly, changes the base class everywhere, including outside the current scope, which is why it's considered dangerous. Does the Classname.^add_method() feature have the same caveats or is it working withing a certain scope? 21:32
jnthn Same caveats, since augment is really syntactic sugar for that.
supernovus Ah okay. I have noticed that the MOP version doesn't require "use MONKEY_TYPING;" unlike the augment statement. 21:33
jnthn Correct. 21:34
Actually .^add_method is how methods are added to initial class definitions in the first place :)
supernovus Then again, most people who know how to use ^add_method() probably have a good idea of what they are doing. So there's less of a chance of a monkey typing ;-) 21:35
21:35 tokuhiro_ joined
azawawi supernovus: is there any chance that you can fix that annoying bug so i can use http::easy again? :) 21:39
supernovus: please :)
flussence I might take a look at it, it's kinda blocking some stuff I was working on too 21:41
supernovus azawawi: I will update HTTP::Easy to handle errors more gracefully rather than crashing.
bowtie cool
tadzik pjcj: will there be translation tasks this year? 21:42
supernovus Technically, it should be returning status 400 for a null request. 21:43
I will make it configurable. 21:44
azawawi supernovus: github.com/supernovus/perl6-http-e...d6a8b9c477 works (does not block after first request is served) 21:45
supernovus: i already handle that inside my PSGI handler :) 21:46
21:48 kaare_ left
supernovus azawawi: Okay, so the blocking bug is separate from the empty request bug. Gotchya. I'll fix both. 21:48
azawawi supernovus: confirmed github.com/supernovus/perl6-http-e...8850454e40 # is the bug
supernovus: i'll push farabi6 + http::easy changes for you to test it if you want... 21:50
21:51 nyuszika7h joined
pmurias hi 21:53
pjcj tadzik: no, no translations this year, but your expertise in other areas would be much appreciated :) 21:54
azawawi supernovus: pushed http::easy changes to github.com/azawawi/farabi6 . You can test it with { panda install Farabi6 }. 21:55
tadzik pjcj: okay, I'm in :)
if there were those, I'll probably flee in terror :P 21:56
pjcj haha
tadzik they were quite a surprise last year
pjcj to all of us, I think
tadzik right 21:57
azawawi tadzik: what about panda installing files other than p6 files? :)
tadzik oh-oh
yes, I'll at least add a test today :)
pjcj tadzik: please sign yourself up when you get a moment, and add any tasks you can think of - and thanks! 21:58
tadzik pjcj: I shall, thanks :)
azawawi supernovus: :debug is cool. but what about HTTP_EASY_DEBUG=1 instead? 21:59
supernovus what version of HTTP::Easy were you getting the "unknown HTTP method" error in? That error went away in the Oct 12 commit.
22:00 sorenso left
azawawi latest produces that "unknown http error" 22:00
supernovus Well that is interesting, as "grep -R unknown *" in the HTTP::Easy source tree reveals that there is no matching string anymore. 22:01
yeah, that error went away here: github.com/supernovus/perl6-http-e...3db2d81045 22:02
azawawi supernovus: yeah that was really something... :)
maybe i have an old http::easy...
tadzik: btw.. panda install something sometimes does not force install... 22:03
tadzik what do you mean, force install?
supernovus Does the copy of HTTP::Easy bundled with Rakudo Star override the version installed by Panda by chance?
azawawi tadzik: i had a strange case today... i was testing with a local http-server-simple and i did a {panda install .} <- dot... 22:04
tadzik: and then what ever i did panda install HTTP::Server::Simple... kept an older version
tadzik: so i removed ~/.perl6 and panda install worked again 22:05
tadzik hum
22:07 skids left
supernovus gah, when I try to "panda install Farabi6" it dies while trying to compile File::Spec's lib/File/Spec/Unix.pm with a "Couldn't find terminator $stop at line 23, near "]+[\\/|$]] " 22:07
azawawi clears ~/.panda and ~/.perl6 again...
supernovus I have pushed the change to disable the body reading when there is no CONTENT_LENGTH 22:08
azawawi supernovus: doing a fresh { panda install Farabi6 } 22:10
supernovus: still that unknown http error with firefox... 22:13
supernovus: but otherwise the blocking is not there... restarting browser just in case...
tadzik try RAKUDO_MODULE_DEBUG=1 or whatsitsname
you'll see which HTTP::Easy gets loaded
azawawi perl6-debug bin/farabi6 22:15
supernovus: paste.debian.net/207068/ 22:16
22:18 bapa joined
supernovus it still isn't showing which copy of HTTP::Easy is being run. Any version since Oct. 12th has not had that error message. I don't know what version is included in Rakudo Star though, as I don't use Star (I know, blasphemy, I use a daily-compiled bare Rakudo checkout with my own selection of modules installed via Panda.) 22:19
azawawi supernovus: stupid rakudo... paste.debian.net/207069/ # i think it is loaded the older one bundled with rakudo star 2012.10 22:20
and since we have no version info... :)
azawawi starts dancing...
supernovus I'm going to start marking my modules with a :ver tag again, not that I know if we can query that info yet... 22:21
flussence perl6: module A:ver<1.2.3>; 22:22
p6eval rakudo c5f8d7, niecza v22-19-gd874a8e: ( no output )
flussence oh cool, that works in everything now
azawawi tadzik: so a quick question... if i panda install XYZ with dependency on ZYX which is already with rakudo star... which one gets loaded first?
tadzik azawawi: well, depends on order of @*INC 22:23
panda will install all dependencies because it's not aware of those installed by star
azawawi the curse of the core star module.. :) 22:24
tadzik well, you can always install --nodeps 22:25
that should work
sorear cute. it's like #perl6 is discovering dual life modules
azawawi paste.debian.net/207071/ # rakudo gets installed first
sorear: yup... 22:26
dalek nda: ec22a1e | tadzik++ | t/panda/installer.t:
Add a test for installing non-perl files
tadzik azawawi: I'll try to get myself to fix that this week, but please poke me once in a while :) 22:27
supernovus I'm not personally a fan of distributions that include modules other than "Test" and whatever is required to make "panda" work. For me, the perfect distribution would be Rakudo + Panda (and any requirements) and nothing else. Let all the other modules be installed via Panda.
azawawi pokes tadzik :)
tadzik (:
supernovus: I had an idea of panda-driven star 22:28
azawawi i agree
tadzik I think all the prerequisites are even implemented
azawawi smaller core... install the rest...
tadzik there's still the problem of shared ~/.panda/state
supernovus azawawi: exactly!
tadzik or is there
well, after custom-lib the parrot installation lib has to be writable, I worry 22:29
I didn't think of that before
moritz: ^ am I right?
azawawi "... ~/.perl6/lib will go away from the default include path (@*INC). Instead %*CUSTOM_LIB now holds paths to four library locations: perl Rakudo installs its core modules here vendor OS-level package managers should install their modules here site for local module installations (e.g. with panda or ufo) home like site, but always under the user’s home directory. fallback if site isn’t writable..."
tadzik fallback, right
azawawi from rakudo star 2012.10 announcement
supernovus That's why I use my own Rakudo Moon distribution, which is just Rakudo from-git, then Panda-bootstrap-from-git.
tadzik and per-user by default 22:30
yes, yes
azawawi so basically rakudo star is not a star after all? :)
tadzik well, Moon's not a star :)
geekosaur it's still a protoplanetary system, I think. hopefully will take less than a few million years to ignite fully :) 22:31
supernovus I originally included Blizkost in Moon too, but I'm not sure if its even an active project anymore. 22:32
azawawi supernovus: any chance we could have an environment variable instead of :debug? it is more handy to test HTTP::Easy 22:35
supernovus azawawi: I was actually adding support for that right now (in addition to :debug) 22:36
22:36 fgomez joined
azawawi supernovus: cool thanks 22:37
supernovus++ # for http::* and having a cool name 22:38
tadzik++ # for creating panda
tadzik that was an accident :P 22:39
22:41 Vlavv` left
supernovus a beautiful accident 22:42
azawawi: just for you (and anyone else using HTTP::Easy) -- github.com/supernovus/perl6-http-e...2d76d5f48b 22:44
azawawi supernovus: thx 22:45
22:46 sftp joined
azawawi feather.perl6.nl:8080/ # Running using HTTP::Easy... bye bye HTTP::Server::Simple... bye bye Firefox crash :) 22:46
supernovus Did you figure out a way to force it to use the newer version? 22:48
azawawi supernovus: yup 22:49
github.com/azawawi/farabi6/commit/...aec03f7be9 22:50
now i can support POST again... 22:51
sjohnson diakopter: ping 22:54
supernovus Okay, I must say, Farabi6 is one of the coolest looking web apps in the history of, well, ever. 22:55
huf it doesnt seem to break with my browser settings.
rare. :) 22:56
22:56 snarkyboojum left
flussence it breaks with my defaults, but I expected that :) 22:56
huf no js? 22:57
flussence yeah
huf currently the only weird thing i have is rather large minimum fonts, and forcing my own font faces
flussence wow, this feels faster than running rakudo locally...
huf but since practically all of the web is pixel-counted boxes manually adjusted to pixel-sized fonts...
so perl6.org breaks, for instance 22:58
22:58 snarkyboojum joined
huf not unexpectedly 22:58
azawawi the main advantage so far in farabi6... is the under-the-line error annotations using ~/std/viv -c (F6) 22:59
supernovus I'm guessing it doesn't actually "run" without JS enabled.
azawawi nop
it is js enabled
huf now to build a vim plugin that can use this via http to write perl6 ...
sorear one web pixel (CSS unit of 1px) is defined to be 0.0213 degrees. despite the name, they do not generally correspond to the picture elements of raster displays
azawawi since it also needs that for Perlito 6/5 runtime 23:00
supernovus Didn't think so. I develop a lot of web apps for $dayjob, and JS is pretty much a necessity.
huf sorear: in implementations? or in the standard?
23:00 spider-mario left, chee left
sorear huf: both 23:00
azawawi huf: i can enable vim bindings btw... codemirror js editing component supports that... in a limited way
huf huh. because i've yet to see any place on the web where a 10x10 image isnt the same size as a 10px x 10px div 23:01
flussence (a few months ago I was wondering if I could hack tryrakudo into working using plain old HTTP... I guess it's technically doable, but it'd be a pain)
sorear huf: that's because images are scaled too
huf but at least non-integral pixel sizes make sense now.
23:01 PacoAir left
huf sorear: :( 23:01
sorear implementations are encouraged to round the display pixel/logical pixel ratio to a small ratio of whole numbers 23:02
23:02 alester left
sorear 1:1 is the most common 23:02
23:02 chee joined
sorear the new "Retina" macs have a 2:1 ratio 23:02
azawawi feels sleepy... a lot... sleep &
it is been fun... thanks everyone
azawawi good night &
23:03 chee left, chee joined
huf sorear: so that's how they waste the dpi :) 23:03
23:03 azawawi left
diakopter sjohnson: yes? 23:03
sjohnson diakopter: when you run Windows 8, does it look much different than Windows 7 on a desktop pc?
cause we're gonna stick it on my computer tomorrow, and i'm worried it's gonna look like the ads for the tablet OS i see on TV. 23:04
huf sorear: regardless, forcing minimum fontsize to 16pt or so breaks stuff.
that comes out to some larger virtual pixel size, dont quite know how large
23:08 fgomez left
supernovus Anyway, have a good * #perl6. I need to run. 23:08
flussence pt is a physical unit that works out to 72 per inch IIRC, so it scales up to about 133% pixels 23:09
(on an OS that assumes 96dpi, which is everything on a desktop...)
dalek osystem: 40f38a8 | (Timothy Totten)++ | META.list:
Added Method::Modifiers
23:09 supernovus left 23:16 rindolf left
sjohnson diakopter: ... was it something I said? :) 23:21
diakopter well, to answer your question I would have to google stuff to find an explanatory article, or type a bunch 23:22
sjohnson a simple "ya, it looks like win7. nothing to worry about" will do 23:24
diakopter but what if that's not the case? :) 23:26
sjohnson uh oh's 23:27
ah, if you still use it, how bad can it be? 23:28
diakopter I don't find a need/reason to use the new interface, so I don't; it's as simple as that. I never reboot (I just sleep or hibernate the laptop), so the new interface never reappears, unless I accidentally bump the Start key on the keyboard. 23:29
23:29 stopbit left
diakopter (and then it's just another press of the Start key to go back to Desktop) 23:29
(but yes, the new tablet/phone-y interface comes up by default upon booting. 23:30
)
(but there's a button for Desktop)
sjohnson cool, thanks 23:31
dalek p: b0a8080 | jnthn++ | src/HLL/Grammar.pm:
Update EXPR to cope with 'fake' infixes.

This is the mechanism used to parse operator adverbs.
23:32
23:32 cognominal joined
dalek kudo/nom: aaa0cad | jnthn++ | tools/build/NQP_REVISION:
Get an NQP build with fake infix support.
23:33
kudo/nom: 52d708d | jnthn++ | src/Perl6/ (2 files):
Handle parsing/code-gen for operator adverbs.

Maybe not perfect, but seems fairly close, at least.
ast: aeb200d | jnthn++ | S03-operators/adverbial-modifiers.t:
Fudge test for Rakudo.

Curiously, needed fudging in just the same places as Niecza. :-)
23:36
23:42 fgomez joined
dalek kudo/nom: 56203b7 | jnthn++ | t/spectest.data:
Run S03-operators/adverbial-modifiers.t.
23:43
kudo/nom: 64c26fe | jnthn++ | docs/ROADMAP:
Update ChangeLog.
kudo/nom: 5dd878b | jnthn++ | docs/ChangeLog:
Update ChangeLog.
23:46 skids joined
jnthn 'night, #perl6 23:56
tadzik gnight jnthn