»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by lichtkind on 5 March 2010.
00:02 meppl left
lichtkind moritz_: and after? 00:04
moritz_ lichtkind: don't know 00:07
you can easily find out yourself, though 00:08
snarkyboojum would be cool to have an autobuild type tool showing spectest pass/fails available on the web somewhere 00:09
phenny snarkyboojum: 07 Mar 14:21Z <masak> tell snarkyboojum that when he wakes up, he might want to take a look at the new code I just pushed to github.com/masak/tardis -- variable assignments now work! \o/
lichtkind moritz_: i have a pugs and parrot repo locally but im not that deep into it to run tests
moritz_ lichtkind: it's not hard, and well described in rakudo's README file 00:11
lichtkind moritz_: i din't doubt that, just not tried yet :)
moritz_ snarkyboojum: that's basically what smolder does 00:16
snarkyboojum moritz_: thought there might be something out there :) what's/where's smolder?
snarkyboojum is quite the newbie
00:17 f00li5h[HireMe] is now known as f00li5h
moritz_ snarkyboojum: it's a generic client/server thing for collecting test information 00:17
moritz_ tries to find the link 00:18
smolder.plusthree.com/app/public_pr...reports/18 00:19
00:20 amenhotep left
snarkyboojum moritz_: oh :) thanks 00:21
rakudo: say ~(1,2,3) 00:23
p6eval rakudo 213974: OUTPUT«3␤»
snarkyboojum rakudo: say (1,2,3).Str
p6eval rakudo 213974: OUTPUT«1 2 3␤»
snarkyboojum rakudo: say (1,2,3).WHAT
p6eval rakudo 213974: OUTPUT«Parcel()␤»
moritz_ that's a very odd one
snarkyboojum rakudo: say (1,2,3).iterator.WHAT 00:24
p6eval rakudo 213974: OUTPUT«List()␤»
snarkyboojum rakudo: say ~((1,2,3).Seq)
p6eval rakudo 213974: OUTPUT«1 2 3␤»
snarkyboojum weird :)
moritz_ rakudo: class A { }; say ~A.new; say A.new; say A.new.Str
p6eval rakudo 213974: OUTPUT«maximum recursion depth exceeded␤current instr.: 'parrot;P6protoobject;VTABLE_name' pc 1296 (runtime/parrot/library/P6object.pir:764)␤»
moritz_ rakudo: class A { }; say A.new; say A.new.Str 00:25
p6eval rakudo 213974: ( no output )
snarkyboojum I was trying to track it down, as a learning exercise
moritz_ wow, things are really more screwed than I thought 00:26
the method Str in Any-str.pm is oh so wrong
rakudo: class A { }; say A.WHICH
p6eval rakudo 213974: OUTPUT«47668155388928␤»
moritz_ rakudo: class A { }; say A.WHERE
p6eval rakudo 213974: OUTPUT«47314470797688␤»
00:27 quester_ joined
moritz_ rakudo: class A { }; say A.new.WHERE 00:27
p6eval rakudo 213974: OUTPUT«47098753465736␤»
moritz_ rakudo: class A { }; say A.new.WHICH
p6eval rakudo 213974: OUTPUT«47956305276616␤»
snarkyboojum found the definition for prefix<~> src/cheats/str-ops.pir, which just returns a 'Str' PMC.. is that right?
moritz_ yes... 00:28
this PIR level conversion calls the get_string vtable method
snarkyboojum so the parcel is stringifying somewhere..
right
moritz_ and then in class Mu there's :.sub '' :vtable('get_string') :method 00:29
(in src/builtins/Mu.pir)
which just calls the .Str() method on the invocant
snarkyboojum so why does (1,2,3).Str work? 00:30
rakudo: say (1,2,3).Str()
moritz_ so it should be a matter of simply installing the correct .Str methods somewhere
p6eval rakudo 213974: OUTPUT«1 2 3␤»
moritz_ rakudo: say Parcel ~~ Mu
p6eval rakudo 213974: OUTPUT«1␤»
moritz_ snarkyboojum: I have no idea; that's where the sneakyness comes in 00:31
rakudo: say (1, 2, 3).^methods.map({~$_}).grep({/Str/}).perl
p6eval rakudo 213974: ( no output ) 00:32
moritz_ says "maximum recursion depth exceeded" locally here 00:33
anyway, time for bed here...
Tene moritz_: vtable overrides don't get inherited properly, afaict. 00:34
00:36 colomon joined, colomon left 00:39 jferrero joined 00:49 yinyin joined 00:51 colomon joined
lichtkind moritz_: thanks 00:52
colomon moritz_ is still awake?! hackathon++! 00:53
00:54 TiMBuS left 00:55 amenhotep joined
snarkyboojum rakudo: say ~(1,) 00:56
p6eval rakudo 213974: OUTPUT«1␤»
snarkyboojum rakudo: say ~()
p6eval rakudo 213974: OUTPUT«0␤»
snarkyboojum rakudo: say ().WHAT
p6eval rakudo 213974: OUTPUT«Parcel()␤»
00:58 jaldhar left
snarkyboojum is that right? stringifying () --> 0? 00:58
00:59 Trashlord left
colomon snarkyboojum: I think it's stringifying to the number of elements in the Parcel, so no. 00:59
snarkyboojum colomon: how would I work out how parcels are stringified? :)
can't see anything in Parcel.pir 01:00
colomon might also check Parcel.pm
snarkyboojum not there either
colomon then look for the base class(es?) of Parcel
parcelproto = p6meta.'new_class'('Parcel', 'parent'=>'parrot;ResizablePMCArray Iterable', 'does_role'=>pos_role) 01:01
So iterable, maybe or ResizablePMCArray(??)
snarkyboojum 'parent'=>'parrot;ResizablePMCArray Iterable'
I take it that's important
:)
colomon doesn't look like Iterable.Str is getting called. 01:02
01:02 wknight8111 joined
colomon unfortunately, that's all the ideas I have.... 01:03
snarkyboojum colomon: cheers - thought I'd have a bash ;)
colomon :) 01:04
snarkyboojum rakudo: say (1,2,3).of 01:05
p6eval rakudo 213974: OUTPUT«Mu()␤»
01:18 snarkyboojum left 01:25 snarkyboojum joined 01:29 jferrero left
colomon so, it looks like the hackathoners took my challenge and ran away with it, going 25,678 passing tests this morning to 26,630 passing tests now, well past the 26,000 I suggested. 01:31
rakudo: say 4063328477 % 65535 01:32
p6eval rakudo 213974: OUTPUT«27407␤»
colomon alpha: say 4063328477 % 65535 01:33
p6eval alpha 30e0ed: OUTPUT«27407␤»
colomon > say 4063328477 % 65535 01:34
27406
kind of disturbed that I'm getting a different answer for that one locally.... 01:35
rakudo: say (4063328477 % 65535).WHAT 01:36
p6eval rakudo 213974: OUTPUT«Int()␤»
01:36 avar left, elmex left, z3ndrag0n left, lisppaste3 left, krunen left, araujo left 01:38 avar joined, elmex joined, z3ndrag0n joined, lisppaste3 joined, krunen joined, araujo joined, hatseflats joined, farmer.freenode.net sets mode: +v lisppaste3
lichtkind good night 01:41
01:41 lestrrat is now known as lest_away
lichtkind use.perl.org/~perl6doc/journal/ 01:41
colomon o/
lichtkind :)
01:42 lichtkind left 01:43 jaldhar joined 01:45 jaldhar left, jaldhar joined 01:48 lue left
diakopter colomon: wow 01:54
colomon I'm getting 50+ fails in arith.t.
diakopter rakudo: say say 4063328477 / 65535 01:55
p6eval rakudo 213974: OUTPUT«62002.4182040131␤1␤»
diakopter rakudo: say 4063328477 / 65535
p6eval rakudo 213974: OUTPUT«62002.4182040131␤»
colomon > say 4063328477 / 65535 01:57
-3534.5818112459
02:00 amenhotep left
colomon > say 4063328477 02:01
-231638819
diakopter ah 02:04
overflow 02:05
02:11 lest_away is now known as lestrrat 02:14 hudnix left 02:15 z3ndrag0n left 02:16 z3ndrag0n joined, hudnix joined 02:17 lue joined, wknight8111 left
diakopter colomon: p6eval is on 64-bit... 02:24
linux
what's yours
colomon diakopter: 32-bit OS X
diakopter suspicious
it's suspect; I'm suspicious 02:25
colomon I should be looking at it more, but I'm very tired.
diakopter :D
colomon It's got to be the 32-bit thing, I reckon.
I mean, 4063328477 == -231638819 is a classic 32-bit int issue.
diakopter sounds like rakudo assumes ints are 64-bit
does parrot have checked arithmetic operations? 02:26
or all unchecked?
colomon I don't know, but Rakudo does.
I think, anyway....
our sub upgrade_to_num_if_needed($test) { 02:27
Q:PIR {
.local num test
$P0 = find_lex '$test'
test = $P0
if test > 2147483647.0 goto upgrade
if test < -2147483648.0 goto upgrade
$I0 = test
.return ($I0)
upgrade:
.return (test)
}
}
.... nope, never even reaches there in these cases. 02:28
problem is maybe in dec_number in Actions.pm? 02:30
quester_ Patched www.perlfoundation.org/perl6/index....evelopment to say bugs and patches going to rt.perl.org should be marked [BUG] and {PATCH], with square brackets. The wiki had turned them into links to pages called BUG and PATCH without visible brackets. ...Well, I either fixed it or made it even more broken. 02:32
02:37 jaldhar left, fridim left 02:40 jaldhar_ joined 03:00 gfx joined 03:33 am0c left 03:38 payload left
lue hello? 03:40
quester_ lue: Hello. I guess no one is watching their screen now. 03:49
quester_ Submitted RT #73418: [PATCH] Fix bug #68752, make perl6 --version more informative (second version of patch, replaces #73148)
03:52 snarkyboojum left 04:02 snarkyboojum joined
lue --afk & 04:03
04:04 rv2733 joined 04:09 athenot_ joined 04:12 athenot left, athenot_ is now known as athenot, fridim joined 04:16 athenot left 04:36 jaldhar_ left 04:40 jaldhar_ joined 04:57 tuxdna joined 05:22 Sarten-X joined 05:30 quester_ left, rv2733 left 05:35 Apocal left 05:36 IllvilJa left 05:38 nihiliad1 left 05:42 am0c joined 05:46 nihiliad joined, vamped joined 05:50 IllvilJa joined 06:26 oracle joined 06:30 payload joined 06:42 OracleOnLog joined 06:43 mst joined
mst I'm not sure who should be told about this 06:43
but k23z__ is spx2/qp_pq - known troll, permanently banned from irc.perl.org for repeated ban evasion, legally banned from use of any shadowcat systems due to repeatedly hassling us 06:44
continued to connect illegally and had his VPS and shell accounts terminated by his service providers as a result
still convinced that I'm evil rather than admitting the possibility he ever did anything wrong
and continues to hassle me in query every 24 hours asking to be unbanned
you guys get to choose whether you still want him in here; if anybody needs more information do contact me. 06:45
jnthn: ^^
pmichaud: ^^
mst vanishes again
06:45 mst left 06:55 kaare joined, kaare is now known as Guest27326 06:56 cx3180 joined 06:57 rgrau left, cx3180 left 07:03 uniejo joined 07:04 OracleOnLog left 07:05 k23z__ is now known as thor_L
vamped lol. 07:06
snarkyboojum heh 07:08
07:10 payload left 07:18 wasmahen joined
wasmahen hi, i have created a url shortener, anyone would want it? 07:18
07:19 JimmyZ joined 07:20 wasmahen left
moritz_ good morning 07:22
vamped guten Tag moritz 07:23
JimmyZ good moring moritz_ 07:26
07:26 Su-Shee joined
moritz_ colomon: feel free to move any failing tests from arith.t into overflow.t 07:26
I'd do it, but I'm kinda lost without knowing which fail 07:27
07:32 nihiliad left 07:33 justatheory left 07:38 snarkyboojum left 07:41 masak joined
masak moritz_: heh. I might have checked on IRC whether you were awake before knocking... :) 07:41
anymoose; good morning, #perl6.
moritz_: breakfast soon? 07:42
moritz_ masak: breakfast after shower... I'll give you a ping
masak shower. goodish idea.
szbalint hah, (irc coordination)++ 07:43
07:44 mikehh left 07:45 mikehh joined 07:49 oracle left
moritz_ speaking of which... is arnsholt still in the hotel? 07:53
masak I think so.
don't know when he was to leave.
shall I text him?
moritz_ yes; maybe he's intersted in joined breakfast too
masak makes it so 07:54
heh. it became a text message in Swedish/Norwegian/English :) 07:56
he replies. he's up for breakfast. 07:57
07:57 eiro joined 07:58 vamped left, xabbu42 joined
moritz_ so am I 07:59
masak as am I.
jnthn wanted to sleep in, no?
moritz_ yes :-)
masak then we'll let him. 08:00
08:19 payload joined 08:24 Toony joined 08:26 payload left
JimmyZ good morning masak 08:37
08:45 iblechbot joined
JimmyZ rakudo: say "hello" 08:47
p6eval rakudo 213974: OUTPUT«hello␤»
08:49 thor_L is now known as k23z__ 09:04 Oracle joined
masak good morning, JimmyZ. 09:15
masak moves down to the lobby area
09:16 masak left
m6locks /j perl6book 09:20
whops
09:22 f00li5h is now known as moar-f00li5h, moar-f00li5h is now known as f00li5h 09:25 payload joined
jnthn oh hai 09:27
oh masak oh masak where hacketh thee?
moritz_ jnthn: in the lounge (close to the elevators)
jnthn cool, will come join you in a moment :-) 09:28
colomon will there be group hacking today as well?
colomon was impressed with yesterday's results.
moritz_ colomon: aye 09:29
colomon \o/
moritz_: good suggestion on moving the tests from arith.t
I take it arith.t is working perfectly on 64-bit platforms?
moritz_ it does
09:29 masak joined
masak backlogs 09:29
colomon I'll take a stab at the reorganization sometime in the next few hours, then. 09:30
(might go back to bed first. :)
moritz_ tries to fix the Parcel stringification bug
colomon moritz_: where do you think it's located? 09:31
masak hack-ish-es on named enums
maybe this article on Scala will interest some people in here: enfranchisedmind.com/blog/posts/pos...onal-scala
moritz_ colomon: I suspect it's because Parcel isa parrot;ResizablePMCArray so it gets the wrong vtable override
and of course method Str() { self } in class Any is Just Wrong[tm] 09:32
jnthn moritz_: (vtable override) I know how to fix that one. :-) 09:33
jnthn is heading down :-)
masak lolitsjnthn!
baest colomon: fyi, I kinda gave up on the float parsing yesterday. I submitted a patch which patrick wasn't too happy about (with valid reasons). The handling seem to be quite wrong. Now it dies parsing long floats and my patch at least fixes that. 09:38
colomon moritz_: with you 100% on Any.Str { self } being wrong wrong wrong. 09:43
moritz_ blames jnthn++
erm, git does :-) 09:44
masak annotates jnthn++
colomon baest: went to bed thinking about this issue last night. Are your code (and pmichaud's comments) posted somewhere? I'd like to look at both when I properly wake up in a few hours. :)
moritz_ it's in a nopaste somewhere in yesterday's backlog
a ticket actually... irclog.perlgeek.de/perl6/2010-03-07#i_2073620 09:46
baest colomon: yes as moritz_ says. The patch is in #73392
colomon thanks guys! see you in the morning...
baest I also did a loop which did * .1 instead of dividing
resulting in same precision. I can attach the diff to the ticket and then you can do whatever :) 09:47
moritz_ conquered the Parcel 09:48
09:48 gfx left
moritz_ waiting for the spectest to finish 09:48
jnthn: github.com/moritz/rmp 09:51
masak how do I use custom operator precedence parsing from within Perl 6? 09:55
moritz_ you don't
it's not specced
masak right. 09:56
shall I go ahead and spec it? :)
moritz_ please do
jnthn masak: EXPR rule in STD
Also in Rakudo master.
masak jnthn: right, but the EXPR is for Perl 6 expressions, no?
what if I want Java expressions?
moritz_ is <a b c> specced to return a Parcel 09:57
dalek kudo: f56934d | moritz++ | t/spectest.data:
we now pass S09-typed-arrays/hashes.t again, arnsholt++
10:00
10:02 barney joined
baest isn't the spectest status updated anymore? 10:03
on rakudo.org
masak baest: pmichaud has always done that manually, I think. 10:04
when he's busy/tied up, it lags.
baest of course
moritz_ more specifically, he updated docs/spectest-progress.csv 10:05
masak hm, yes.
moritz_ and a cron job on rakudo.de would generate the graphic
which rakudo.org just uses inline
dalek kudo: b1fd5d8 | moritz++ | src/builtins/Parcel.pir:
Fix RT #73128, stringifications of Parcel

the one defined in Mu. Another vtable override fixes that.
10:06
10:07 yinyin left
baest moritz_: could that cronjob not run the spectest and update the csv file? Or is too much work for the server 10:07
moritz_ baest: it needs to go into the repo somehow anyway, and I won't set up a cronjob that commits to the repo 10:08
baest moritz_: no, that wouldn't be very good. Ok, it's not that important
moritz_ and I think pmichaud prefers to do it manually, to give him a feeling for what's going on 10:09
masak in theory and at a distance, thinks always look smooth and uncomplicated. when you actually realize things and build them in the World of Stuff, they get all knobbly and gnarly, sometimes with irreducible uglinesses or horrible corners that you didn't anticipate. I like that.
arnsholt masak: That's exactly the reason a friend of mine gives for Scheme not being useful in the real world =) 10:11
masak Lisp and Scheme have a fairly low preparedness for the world being gnarly. 10:12
dalek kudo: df743fe | moritz++ | t/spectest.data:
run the new parcel.t file
moritz_ rakudo: say sprintf '%x', [].WHERE
p6eval rakudo 213974: OUTPUT«2b8c1815f398␤»
arnsholt He also thinks that Common Lisp is very good at handling gnarly =)
masak hm :)
moritz_ low-hanging fruit: sprintf exists in rakudo master, but printf doesn't
masak CLOS certainly has a gnarlyish quan to it. 10:13
s/quan/qwan/
arnsholt CLOS is one of his prime examples, actually 10:14
masak aye.
masak loves the metaobject protocol
arnsholt He's also introduced me to the writings of Naggum, which was an interesting experience
masak googles
arnsholt: cpansearch.perl.org/src/PODMASTER/A...cme/MJD.pm 10:16
moritz_ arnsholt: perl.plover.com/IAQ/IAQlist.html 10:17
masak baest: you should see this: perl.plover.com/IAQ/IAQlist.txt -- the question 'How do I convert a string to a number?'. look familiar? :P 10:19
10:21 sunnavy left
moritz_ rakudo: class A { }; say A.WHAT.substr(0, -2) 10:23
p6eval rakudo f56934: OUTPUT«A␤»
moritz_ alpha: class A { }; say A.new
p6eval alpha 30e0ed: OUTPUT«A()<0x2b9ba4a70490>␤»
moritz_ works on RT #73410 (in case that wasn't obvious... ) 10:25
baest masak: heh, yes. Also that it doesn't handle overflow at all :) But Perl 6 version handles 1_000 numbers
1_000 style numbers 10:26
10:27 orafu left, orafu joined
masak baest: :) 10:28
diakopter is not amused [by something OT]
10:30 JimmyZ left
masak std: my enum foo <a b c> 10:34
p6eval std 29993: OUTPUT«ok 00:01 107m␤»
moritz_ rakudo: say 5.Str.What
p6eval rakudo f56934: OUTPUT«Method 'What' not found for invocant of class 'Str'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
masak std: anon enum foo <a b c>
p6eval std 29993: OUTPUT«ok 00:01 105m␤»
moritz_ rakudo: say 5.Str.WHAT
p6eval rakudo f56934: OUTPUT«Str()␤»
masak std: state enum foo <a b c>
p6eval std 29993: OUTPUT«ok 00:01 105m␤»
masak o.O
moritz_ rakudo enum <foo bar>; 10:37
rakudo: enum <foo bar>;
p6eval rakudo f56934: ( no output )
moritz_ rakudo: enum <foo bar>; say bar
p6eval rakudo f56934: OUTPUT«Could not find non-existent sub &bar␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
baest I'm replying to a rt ticket (email), but my reply doesn't appear on the ticket. Weird. I'm including the [] stuff
moritz_ baest: it might take some time
baest moritz_: more than 2 hours? 10:38
moritz_ baest: usually not
10:38 am0c left
baest ok, I haven't received any rejection or something like that 10:38
moritz_: ok, maybe I have spammed two tickets then 10:40
masak S32-setting-library/Abstraction.pod talks about Abstraction as a role, and then the classes Class, Role, Module, Package and Grammar doing that role.
which is all good and well, but it doesn't have much support in the rest of the spec, such as S02.
as far as I recall, the Class and Role classes have actually gone away over time from the spec. 10:41
moritz_ std: Class, Role, Abstraction, Module, Package
p6eval std 29993: OUTPUT«ok 00:01 105m␤»
masak huh.
jnthn :-)
masak std: Enumeration
moritz_ std: Foo, Bar
p6eval std 29993: OUTPUT«Undeclared name:␤ 'Enumeration' used at line 1␤ok 00:01 104m␤»
std 29993: OUTPUT«Undeclared names:␤ 'Bar' used at line 1␤ 'Foo' used at line 1␤ok 00:01 105m␤»
10:41 Sarten-X left
jnthn rakudo: Class 10:42
p6eval rakudo f56934: OUTPUT«Could not find non-existent sub &Class␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
jnthn rakudo: Role
p6eval rakudo f56934: ( no output )
moritz_ masak: the Abstraction role is what the :: sigil constraints to
masak moritz_: yes, I know.
moritz_: and do you agree that Enumeration should be an Abstraction?
moritz_ masak: I don't have the slightest idea 10:44
rakudo: my %h; say %h.perl 10:46
p6eval rakudo df743f: OUTPUT«{}␤»
moritz_ rakudo: my @a = 1..20; say @a[*-1] 10:47
p6eval rakudo df743f: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
masak moritz_: I think it should, because nowadays it's sorta kinda a package. I'll go and read S12 in this light to see what falls out. 10:48
hm. it's Enum, it seems. 10:49
std: Enum
p6eval std 29993: OUTPUT«ok 00:01 104m␤»
masak rakudo: say Enum ~~ Abstraction
p6eval rakudo df743f: OUTPUT«0␤»
masak S12: "[...] it presents itself to the user's namespace as a typename package containing a set of constant declarations." 10:50
oh, it's not only Enum, but Enumeration, too. 10:52
10:52 Sarten-X joined 10:53 am0c joined
lisppaste3 moritz_ pasted "attempt to fix stringification of Any; for jnthn++" at paste.lisp.org/display/96090 11:04
moritz_ annotated #96090 "error message" at paste.lisp.org/display/96090#1 11:07
11:09 lestrrat is now known as lest_away 11:10 am0c left 11:17 sunnavy joined 11:25 TiMBuS joined
moritz_ rakudo: say ?{} 11:30
p6eval rakudo df743f: OUTPUT«1␤»
moritz_ calls BUG
moritz_ hilights masak
jnthn nqp: my $x := 'ee'; say $beer ~~ /$x/; 11:31
p6eval nqp: OUTPUT«Confused at line 1, near "say $beer "␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤»
jnthn nqp: my $x := 'ee'; say($beer ~~ /$x/); 11:32
p6eval nqp: OUTPUT«Symbol '$beer' not predeclared in <anonymous>␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
baest jnthn: beer always seem to confuse nqp :)
jnthn nqp: my $x := 'ee'; say('beer' ~~ /$x/);
p6eval nqp: OUTPUT«␤»
masak submits rakudobug
I'm sure this comic can be related to Perl 6 in some way: abstrusegoose.com/249 11:33
moritz_ method Bool() { 11:43
?pir::getattribute__PPs(self, '$!storage');
}
masak: www.youtube.com/watch?v=YY6kElOYcd8 11:45
11:45 eswara joined 11:46 eswara left, fridim left 11:47 ruoso joined
moritz_ rakudo: say { a => 3, b => 5).pairs 11:54
p6eval rakudo df743f: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
moritz_ rakudo: say { a => 3, b => 5}.pairs 11:55
p6eval rakudo df743f: OUTPUT«a 3b 5␤»
11:55 dakkar joined, payload left
masak rakudo: say { a => 3, b => 5 }.kv 11:57
p6eval rakudo df743f: OUTPUT«a3b5␤»
12:00 Chillance joined, lest_away is now known as lestrrat
masak lunch & 12:02
12:02 masak left
dalek kudo: 393fcd4 | moritz++ | src/ (4 files):
fix stringification of Any, and thus RT #73410
12:06
kudo: bd7c6f5 | moritz++ | src/core/Hash.pm:
implement method Bool in Hash
12:06 Oracle left 12:08 Oracle joined 12:10 Oracle left 12:14 Oracle joined 12:15 eiro left, eiro joined 12:18 cls_bsd left 12:22 Oracle left 12:24 Oracle joined
colomon For a brief moment there, my still sleep-addled brain thought moritz_++ had reimplemented the Bool type as a Hash... 12:47
pmichaud good morning, #perl6 13:00
I can only stay a minute or two at the moment 13:01
mathw hi
13:02 takadonet joined
pmichaud things have gotten very "interesting" here over the last 24h 13:02
takadonet morning all
colomon \o 13:03
colomon hopes that's interesting in a practical sense, and not interesting in a ancient fake Chinese proverb sense...
pmichaud both.
but also generally positive senses 13:04
anyone heard anything from the copenhagen hackers this morning? 13:05
colomon yes, they've been posting all morning.
colomon was talking to them at 4:30 am... 13:06
pmichaud okay. I'll have to read the scrollback a bit later 13:07
I hope to be back on in ~3h
colomon Don't know how much you backlogged, but it looks like they got about 1000 tests running yesterday.
pmichaud haven't backlogged at all yet
will have to do it later
colomon There's a lot. :)
pmichaud anyway, hope things are going well, will bbiaw
13:13 cls_bsd joined 13:28 Jedai left
mathw 1000 more tests? nice. 13:28
colomon 1000 more passing tests. nice! :)
mathw treats himself to a new book 13:34
baest yeah, it must be a lot more than 1000 new tests. 13:35
13:42 rv2733 joined 13:43 bluescreen joined 13:47 betterworld left 13:52 nihiliad joined, karthi joined
karthi hi guys 13:52
colomon o/
13:52 k23z__ left
takadonet hey 13:53
karthi so wats the big deal with perl 6..??
13:57 karthi left 13:58 mberends joined
mberends ahoj #perl6 13:58
colomon o/
14:01 betterworld joined 14:02 iblechbot left, SmokeMachine joined
mberends travel induced sleep deprivation is having a funny effect at $work today - the skull can feel that there's a brain in there, but the brain does not seem to feel that there's a mind inside ;-) 14:03
14:08 lichtkind joined 14:11 TiMBuS left, TiMBuS joined 14:14 athenot joined 14:21 ignacio_ joined 14:23 masak joined
masak arnsholt: perlcabal.org/~nothingmuch/harrorth/ 14:24
14:25 krr joined 14:26 athenot left, athenot joined
lichtkind masak: hej 14:28
masak lichtkind: moin
lichtkind :) 14:31
masak is trying to understand what to do next in trying to get named enums to work
pugssvn r29994 | moritz++ | [t/spec] new file S02-builtin_data_types/parcel.t 14:32
r29995 | moritz++ | [t/spec] work on context-forcers.t: use stricter comparison; test that Int.Str returns STr
14:34 nihiliad left 14:41 Oracle left
colomon is trying out some PIR to maybe fix int constant handling. (sort of) 14:42
14:42 Oracle joined 14:45 TiMBuS left 14:46 TiMBuS joined
mathw masak: I would suggest writing the code that makes them work :P 15:01
masak mathw: I'll take that into serious consideration.
colomon mathw: actually had good reason to play five different whistles in public yesterday, which I think may be a personal record. 15:05
arnsholt std: /<?![abc]>/ 15:06
p6eval std 29995: OUTPUT«ok 00:01 108m␤»
arnsholt std: /<!![abc]>/
p6eval std 29995: OUTPUT«ok 00:01 105m␤»
arnsholt Should that be legal? 15:07
TimToady std: /<!!!!!!!!!!!!!!!!!!!!!![abc]>
p6eval std 29995: OUTPUT«===SORRY!===␤Unable to parse metachar__S_478Lt_Gt; couldn't find final '>' at /tmp/JxcoLXpXal line 1:␤------> /<!!!⏏!!!!!!!!!!!!!!!!!!![abc]>␤FAILED 00:01 105m␤»
TimToady std: /<!!!!!!!!!!!!!!!!!!!!!![abc]>/
p6eval std 29995: OUTPUT«===SORRY!===␤Unable to parse metachar__S_478Lt_Gt; couldn't find final '>' at /tmp/axbw9b3Px6 line 1:␤------> /<!!!⏏!!!!!!!!!!!!!!!!!!![abc]>/␤FAILED 00:01 105m␤»
moritz_ is not sure how the second ! is parsed
TimToady std: /<!!!!!!!!!!!!!!!!!!!!!!foo>/
p6eval std 29995: OUTPUT«===SORRY!===␤Unable to parse metachar__S_478Lt_Gt; couldn't find final '>' at /tmp/nENV53UcPR line 1:␤------> /<!!!⏏!!!!!!!!!!!!!!!!!!!foo>/␤FAILED 00:01 105m␤»
TimToady hmm
15:07 Oracle left
TimToady it's supposed to just be recursive 15:07
arnsholt std: /<?!?![abc]>
p6eval std 29995: OUTPUT«===SORRY!===␤Regex missing terminator at /tmp/Ni40AtpV6B line 1 (EOF):␤------> /<?!?![abc]>⏏<EOL>␤FAILED 00:01 105m␤»
arnsholt std: /<?!?![abc]>/ 15:08
p6eval std 29995: OUTPUT«ok 00:01 105m␤»
TimToady maybe there's a prohibition on !!! n there somewhere
*in
masak by the way, why is <!!before ...> used in some places in STD.pm, rather than <?before ...> ?
arnsholt At least for the ! metaop, !!op is explicitly forbidden
TimToady S05:1452 15:09
and the problem is that !!! means something
masak TimToady: thanks.
TimToady but yeah, LTM ignores !! and continues looks for token after it 15:10
*looking
15:10 alester joined
TimToady while ? is considered the rest of the LT, and ignores what comes after 15:10
masak ah. 15:11
TimToady seems kinda strange, but that's how STD ended up working out
masak :)
one day I will recline in my chair, safe in the knowledge that I truly grok LTM. that day is not today.
TimToady I guess the alternative would have been to provide some way of saying which you want, but this way is pretty handy 15:12
moritz_ rakudo: say ().min 15:14
p6eval rakudo bd7c6f: OUTPUT«Inf␤»
moritz_ rakudo: say ().max 15:15
p6eval rakudo bd7c6f: OUTPUT«-Inf␤»
moritz_ rakudo: say ().min.defined
p6eval rakudo bd7c6f: OUTPUT«1␤»
dalek kudo: d183ebe | moritz++ | t/spectest.data:
enable context-forcers.t
diakopter oh. it's morning. 15:17
15:17 TiMBuS left
masak lolitsdiakopter! 15:17
mberends perl6.org/community/ lacks conferences and hackathons, which I tried to show someone today. I'll add something later today, unless someone (tm) beats me to it
jnthn mberends++ # good idea :-) 15:18
mberends: Survived day of training?
15:18 TiMBuS joined, nihiliad joined
TimToady it's pretty easy to type ™ with the compose key, actually... :) 15:19
at least on my machine, I suppose I should hedge it...
a little harder to remember how to do ® 15:20
I suppose that's appropriate :)
15:21 zostay joined
diakopter remembers again why I switched away from C#/CLR 3 or 4 times ago... it's just as difficult to debug generated code that's generated by code I can't debug because it's generated at runtime as well. 15:22
15:22 mssm joined
baest dk 15:23
whoops
diakopter: as I remember it, it is difficult enough to debug one level of code generation
diakopter I got that figured out (finally)
masak can type ® and © with the TeX input mode in Emacs but not ™ 15:24
15:24 tuxdna left
diakopter but I neglected to finish my sentence.. 15:24
oops :)
to finish it:
mberends jnthn: sort of. the lights were on, but at times it looked like nobody was at home ;-)
15:24 PacoLinux joined
jnthn ;-) 15:24
15:24 jonafk joined
jnthn Glad you got there, anyways. 15:25
15:25 iblechbot joined, jonafk is now known as jonasbn
jnthn Hope you can get adequete sleep tonight. 15:25
diakopter ... as it is to debug generated JavaScript from generated JavaScript... and .. hmm.
jonasbn jnthn: hai
TimToady hugme: Hug Trolls™
jnthn jonasbn: oh hai 15:26
mberends how to type (tm) better on webchat.freenode.net in Firefox on Windows XP? Ugh...
masak diakopter: you remember the given/when idea for implementing gotos that I stole from you?
15:26 TimToady sets mode: +vvvv buubot dalek hugme iblechbot, TimToady sets mode: +vv ilogger2 IRSeekBot, TimToady sets mode: +vvv lisppaste3 p6eval phenny
masak diakopter: well, moritz_ took one look at it and said "you should use a hash of closures instead" :) 15:26
jonasbn the OSD ppl just called me back
diakopter masak: I didn't remember you stealing it from me..
masak diakopter: and then he went away to benchmark the two variants.
dalek kudo: 54c983e | jonathan++ | src/ (3 files):
Start to be a tiny bit smarter about :auth and :ver - now we treat them as not just part of the name, but also something you can introspect on the meta-class.
kudo: 8f90546 | jonathan++ | (2 files):
Translate much of moritz++'s prototype implementation of module location in NQP. Untested and unused so far.
jonasbn jnthn: the hotel should be figured out
masak diakopter: guess what? hashes and closures are not significantly faster in Rakudo :P
diakopter sigh 15:27
oh wait
thought you wrote "slower"
jnthn jonasbn: oh oops...see what I wrote in pm...
diakopter are they about the same?
masak diakopter: no, it's just that his speedup was not more than 10% or something.
not enough for me to switch.
diakopter hm
why would they be faster 15:28
masak diakopter: because there are far fewer string comparisons?
baest masak: the greater the number of whens the greater the speedup should be, right? Personally I prefer lookups
masak baest: yes.
mberends rakudo: my @a=1,2; my @b=3,4; my @c=@a,@b; @c.perl.say # hoping for something that doesn't flatten 15:29
p6eval rakudo bd7c6f: OUTPUT«[1, 2, 3, 4]␤»
TimToady that would depend on whether the switch was optimized
baest maybe there is something to gain in the hash implementation though
TimToady: creating a lookup behind the scene?
TimToady The way Perl 5 optimized switches, it could be faster than a hash
*4
esp if all your strings started with a different char 15:30
basically turned into a jump straight to the correct case
moritz_ I don't think rakudo does any of those optimizations yet
TimToady nor does Perl 5, last I heard :) 15:31
15:31 payload joined, pmurias joined
moritz_ perl 4 had switches? I never new that :-) 15:31
pmurias hi
TimToady it became more politically interesting to encourage people to use a dispatcher at that point, I guess
baest TimToady: but how would you do that when you could have a regex or a number of even a hash as when target?
pmurias moritz_: you mean command line switches?
TimToady well, you don't, for anything mutable 15:32
moritz_ pmurias: no, switch statements
15:32 k23z__ joined
TimToady a regex is immutable, though, and many regexen are anchored and know their first char 15:32
baest true
TimToady p4 made use of that info, if available
baest cool
pmurias moritz_: what was the syntax?
TimToady despite the fact that there was no syntax
mberends rakudo: my @a=1,2; my @b=3,4; my @c=\@a,\@b; @c.perl.say 15:33
p6eval rakudo bd7c6f: OUTPUT«[Capture.new(), Capture.new()]␤»
jonasbn when are ppl leaving Copenhagen tomorrow?
TimToady instead, it would optmimize any conditional structure as if it were a switch
diakopter masak: wait, which given/when idea for implementing gotos did you steal?
moritz_ pmurias: I don't know anyhting about them
jnthn jonasbn: Afternoonish I think.
jonasbn I work just next to the hotel, so I could invite the remains for lunch
moritz_ remains until Wednesday morning - train leaves at 7:45 AM 15:34
15:34 Psyche^ joined
TimToady otoh, hashes with common short strings can also be optimized 15:34
jnthn
.oO( the remains of the Perl 6 hackers... )
jonasbn jnthn: leftovers?
15:34 ignacio_ left
masak diakopter: the state loop in the generated regex code. 15:35
jonasbn let me know if you want to come by for lunch, it is a five minute walk by the harbour
jnthn jonasbn: those who are left
jonasbn: I'm in for lunch. :-)
moritz_ jonasbn: I'd love to
jonasbn masak: what about you? 15:36
jnthn we'll drag him along :-) 15:37
jonasbn super
15:37 Patterner left, Psyche^ is now known as Patterner
jonasbn which one is the pastebot in here? 15:38
moritz_ paste.lisp.org/new/perl6 -> lisppaste3
15:40 justatheory joined
lisppaste3 jonasbn pasted "map to jonasbn@work" at paste.lisp.org/display/96106 15:40
jonasbn arnsholt: you still in Copenhagen?
moritz_ jonasbn: he just left us for the airport 15:41
jonasbn ah
okay
moritz_ (actually first meeting a friend, then airport)
masak jonasbn: I'm more distracted than usual. yes, lunch together would be grand. 15:42
jonasbn masak: sounds good, go back to your distractions :) 15:43
15:45 iblechbot left
k23z__ do extended Perl5-type regexes that allow code in the "replace" part exist in p6 also ? 15:45
mathw colomon: All in different keys? High and low? Four's not bad for one session given the lack of key range we usually get. 15:46
masak k23z__: yes. if you mean s/.../.../
k23z__ masak, yes that's what I mean
masak k23z__: there's also an assignment form s[...] = "new substring"
it's in S05 if you crave the exact details. 15:47
k23z__ takes a look
masak (also, neither of these syntaxes are implemented in Rakudo currently)
k23z__ I was just wondering if one has a variable in the replace part if the regex is still immutable
masak hm. 15:48
k23z__ per what TimToady said above <TimToady> a regex is immutable, though, and many regexen are anchored and know their first char
moritz_ k23z__: if variables were immutable, you'd call them constants
rakudo: my %h = (a => 3, b => 5); say %h.keys 15:49
masak in the case of .subst, one has to closurize any $/-related variables to get the ones from the substring match.
p6eval rakudo 8f9054: OUTPUT«ab␤»
diakopter masak: but... I never suggested using given/when
colomon mathw: from top to bottom, high D, C, A, G, and low D.
moritz_ rakudo: my %h = (a => 3, b => 5); say keys(%h)
p6eval rakudo 8f9054: OUTPUT«ab␤»
masak diakopter: no, you used switch in JS, I think.
moritz_ rakudo: my %h = (a => 3, b => 5); say sort keys(%h)
p6eval rakudo 8f9054: OUTPUT«Could not find non-existent sub &sort␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
masak diakopter: or if/else if/else? I don't recall...
moritz_ rakudo: <b a c d>.sort.say 15:50
p6eval rakudo 8f9054: OUTPUT«abcd␤»
diakopter I was using switch/case in JS and CIL, which are translated to jump tables, because I used a continuous range starting from 0
baest k23z__: I think the immutable only refers to the search part, not the replacement
k23z__ baest, ah, then yes
masak pugs: my $a = 'foor'; $a ~~ s/foo/bar/; say $a
p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.14/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped by operat…
k23z__ but if I have a variable in the search part, it will interpolate once and the regex be constructed with that value right ? 15:51
baest would think so
masak pugs: say 'compiled OK'; s[foo] = 'bar';
p6eval pugs: OUTPUT«compiled OK␤Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.14/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapp…
masak Pugs implements both syntaxes, but is currently broken WRT regexes.
at least on the evalbot server.
moritz_ rakudo: Callable
p6eval rakudo 8f9054: ( no output )
PerlJam greetings 15:52
moritz_ l\o/litsperljam!
PerlJam heh
15:52 uniejo left 15:53 ignacio_ joined
PerlJam you don't think the \ and / make good ell substitutes? 15:53
moritz_ I was just being verbose
erm, charbose
TimToady oh noes, a new productive suffix
masak suffbose. 15:54
why's it called 'suffix' in linguistics but 'postfix' in Perl 6?
moritz_ because a postfix is syntactically distintict 15:55
TimToady though I suppse, technically, it should be -ose, since "verb" is the root
moritz_ so the lexer can easily find it
TimToady suffix technically is in the same word
but it's mostly arbitrary anyway 15:56
and for parallelism
masak nod.
TimToady most people don't think of sur as the opposite of pre
masak .oO( subfix ) 15:57
TimToady resumably short for super or some such
*pre
mberends rakudo: my @a=1,2; my @b=3,4; my @c=[@a,@b]; @c.perl.say
p6eval rakudo 8f9054: OUTPUT«[[1, 2, 3, 4]]␤»
mberends rakudo: my @a=1,2; my @b=3,4; my @c=[@a],[@b]; @c.perl.say
PerlJam TimToady: does that mean a prefeit is the opposite of a surfeit?
p6eval rakudo 8f9054: OUTPUT«[[1, 2], [3, 4]]␤»
15:57 am0c joined
masak mberends: maybe a parfait is. 15:58
TimToady ah, glo has looked it up in the amher, and it's from sub, not super
PerlJam amher?
oh. never mind.
TimToady American Heritage dictionary 15:59
PerlJam yeah, I got it belatedly
TimToady which, despite its name, is very good at etymology
diakopter jaxenter.com/gilad-bracha-java-is-b...10456.html
15:59 mberends left
moritz_ rakudo: say (3 xx 5).perl 15:59
masak the 'su-' of 'suffix' is short for 'sub'? that's... unexpected.
p6eval rakudo 8f9054: OUTPUT«[3, 3, 3, 3, 3]␤»
TimToady glo blames the french, they don't have "post" as a prefix in french
linguistic affixes often mutate the nearby sounds 16:00
masak that's actually an inaccuracy in my talk from day before yesterday, then. I said it means 'on', I think.
TimToady and sometimes it even depends on the meaning, hence the field of "morphophonemics" 16:01
we try to avoid those kinds of things in Perl 6; variant sigils were are arguably a form of that 16:02
moritz_ TimToady: do we really want p5chomp as currently specced, being a method on a list?
TimToady the purpose of p5chomp os to do whatever p5's chomp does, that's all 16:03
*is
moritz_ then I don't see why it needs to exist as a method at all
TimToady I suppose one can interpret "do" on more than one level though
I envision it more at the syntactic level for someone translating p5 code to p6 who doesn't want to think 16:04
moritz_ accepts and shuts up
lisppaste3 colomon pasted "Failed attempt at getting Rakudo to properly handle integer overflow..." at paste.lisp.org/display/96107
16:05 payload left
TimToady given that i/o handles autochomp, and that chomp in p5 uses a naughty global variable, I don't see then need to push it deep into p6's guts 16:06
*the need
moritz_ rakudo: multi a(&a) { }; multi a(&a) { }; a { }; 16:13
p6eval rakudo 8f9054: OUTPUT«No applicable candidates found to dispatch to for 'a'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ rakudo: multi a(&a) { }; multi a(&a) { }; a {; };
p6eval rakudo 8f9054: OUTPUT«No applicable candidates found to dispatch to for 'a'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ rakudo: multi a(&a) { }; multi a(&a) { }; a sub { };
p6eval rakudo 8f9054: OUTPUT«Ambiguous dispatch to multi 'a'. Ambiguous candidates had signatures:␤:(&&a)␤:(&&a)␤␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
masak submits rakudobug
colomon woah. perlcabal.org/syn/S32/IO.html hasn't regenerated since mid-February? 16:14
moritz_ ooops 16:15
16:15 k23z__ left
colomon It changed last Friday, I believe. 16:16
S03 is up-to-date there...
moritz_ runs the update-syn script manually to see if it gives any helpful output 16:17
masak has a new job title: 'statistics whore' :)
lisppaste3 moritz_ pasted "update from update-syn" at paste.lisp.org/display/96108 16:18
moritz_ it doesn't enlighten me. 16:19
colomon Doesn't even look like it's trying to do S32?
japhb Tene, any luck with 'use OpenGL :from<parrot>;' this weekend?
jnthn doesn't look into directories, perhaps?
colomon Is something in S22 breaking the process?
pugssvn r29996 | moritz++ | [t/spec] numerous unfudges for rakudo
masak jnthn: sounds plausible.
colomon but (judging by that) S26, S28, S29, and S31 are not getting processed either.... 16:20
*that paste
moritz_ actually it's S26 that contains defn blocks 16:22
masak ah.
S26 is the odd one, of course.
it's in Pod.
not POD.
moritz_ rakudo: say Array ~~ Seq 16:24
p6eval rakudo 8f9054: OUTPUT«1␤»
moritz_ it's odd how hard it is to add the sub form of sort()
colomon moritz_: what's the issue? (issues?) 16:25
jnthn moritz_: iirc in alpha we looked to see if the first thingy that was passed was a block rather than relying on multi-dispatch. 16:26
diakopter patft.uspto.gov/netacgi/nph-Parser?.../6,368,227
jnthn I don't see why multi-dispatch shouldn't handle it though.
moritz_ nopaste.snit.ch/19879
colomon rakudo: sub foo(*@a) { say @a.WHAT }; foo(1, 2, 3) 16:27
p6eval rakudo 8f9054: OUTPUT«Array()␤»
colomon rakudo: sub foo(*@a) { say @a[0] }; foo(1, 2, 3) 16:28
p6eval rakudo 8f9054: OUTPUT«1␤»
colomon rakudo: sub foo(*@a) { say @a.sort }; foo(1, 2, 3)
p6eval rakudo 8f9054: OUTPUT«No applicable candidates found to dispatch to for 'postcircumfix:<[ ]>'␤current instr.: '!postcircumfix:<[ ]>' pc 10640 (src/builtins/Role.pir:90)␤»
colomon Indeed.
diakopter the S32s are ... hmm 16:29
colomon That error seems vaguely familiar to me, actually, now that I think about it. I know for sure I've had frustrations with *@a arguments.
moritz_ rakudo: say grep { $_ !% 3 }, 1..5 16:30
p6eval rakudo 8f9054: OUTPUT«3␤»
moritz_ looks to see how grep does it 16:31
TimToady grep doesn have to handle "grep 1,2,3"
*'t
moritz_ that's not the point
the definition above wouldn't accept any ordering closure
colomon our proto sub grep($test, @values) { @values.grep($test); }
moritz_ 17:28 < colomon> rakudo: sub foo(*@a) { say @a.sort }; foo(1, 2, 3)
rakudo: say grep { $_ !% 3 }, 1 16:32
TimToady it's just a positional argument, I'd think
p6eval rakudo 8f9054: OUTPUT«␤»
moritz_ why does it work with @values even if 1 is not Positional?
colomon rakudo: say grep { $_ !% 3 }, 1, 2, 3
p6eval rakudo 8f9054: OUTPUT«Too many positional parameters passed; got 4 but expected 2␤current instr.: 'grep' pc 246943 (src/gen/core.pir:6658)␤»
moritz_ oh.
masak submits rakudobug
colomon max and min seem to work, though... 16:33
TimToady well, ~~ 1 is perfectly valid...
colomon our proto sub min($by, *@values) { @values.min($by); }
rakudo: min({ $^a <=> $^b }, 1, 2, 3) 16:35
p6eval rakudo 8f9054: ( no output )
colomon rakduo; say min({ $^a <=> $^b }, 1, 2, 3)
rakudo 16:36
TimToady and :
colomon rakudo: say min({ $^a <=> $^b }, 1, 2, 3)
p6eval rakudo 8f9054: OUTPUT«1␤»
colomon rakudo: sub foo($str, *@a) {say $str; say @a.sort }; foo("hello", 1, 2, 3) 16:37
p6eval rakudo 8f9054: OUTPUT«hello␤No applicable candidates found to dispatch to for 'postcircumfix:<[ ]>'␤current instr.: '!postcircumfix:<[ ]>' pc 10640 (src/builtins/Role.pir:90)␤»
colomon just checking
seems like it might actually be a bug in .sort?
moritz_ rakudo: say (@(1, 2, 3)).sort 16:39
TimToady it would be useful if "No applicable candidates" would tell you the nearest misses
p6eval rakudo 8f9054: OUTPUT«123␤»
colomon S03-operators/context-forcers.rakudo aborted 69 test(s) ?
jnthn TimToady: Heh. Then it's just deciding on what "nearest" means. :-)
moritz_ did I forget to push something?
colomon ok 24 - + context forcer works (5)
Use of type object as value
is what I get when I run the test by itself 16:40
(I mean, minus 23 passing tests.)
moritz_ colomon: are you on latest spectests?
colomon oh, dear heavens, no.
how did that many tests get changed already this morning?
dalek kudo: e533f86 | moritz++ | t/spectest.data:
three more test files that we pass now that parcels stringify correctly
16:41
masak TimToady: I've been thinking the same thing at times. right now it just says "no, you're doin' it wrong", which can be frustrating sometimes.
[particle] (thundering herd)++
colomon works fine after svn up
TimToady it's one of those LTA things that is slowing people down but is unlikely to be on anyone's roadmap
moritz_ colomon: we've been hackathoning for about 7 hours (with a lunch pause inbetween), and I've split my time between test suite and rakudo
colomon has been thinking that TimToady has the same syllable pattern as "Caldonia"... 16:42
moritz_: hackathon++
TimToady "Something's wrong near line 1000, give or take a few hundred" 16:43
16:43 ash_ joined
jnthn Patches welcome. ;-) 16:44
masak TimToady: that's still better than 'something's wrong'... :/
jnthn Even from me. :-)
moritz_ TimToady: I just agreed with jnthn++ that listing all candidates which accept the right number of arguments would be a big win already
16:44 jonasbn left
TimToady at this point, too much info would be better than too little 16:44
it can always be cut down later 16:45
once we have a working sort :)
moritz_ lol
masak *lol*
colomon :)
ash_ nqp-rx is a LALR type parser right? or is it just an LR parser?
colomon we do have a mostly working sort, though. You just have the invoke it with the right magic. 16:46
TimToady eh? It's more like LL, with ribbons
masak also, it's two parsers.
TimToady only bottom up in the operator precedence parser
the rest is top down
just like STD
masak with lookahead/lookbehind, custom actions, and backreferences... 16:47
TimToady and the opp is neither LR nor LALR
[particle] what about string processing?
TimToady +1
I like string processing 16:48
[particle] :)
moritz_ too
masak I can get fed up with it sometimes.
moritz_ it's why I switchted from qbasic to perl :-)
TimToady that's string *cheese* processing
masak 哈哈 16:49
colomon ah, qbasic....
16:49 Psyche^ joined
[particle] why are you whispering? 16:49
QBASIC! 16:50
TimToady masak: re 哈, if it fits in your mouth, you're not sufficiently fed up yet
moritz_ [particle]: QBasic actually
masak actually, QBasic.
:)
jnthn OH NO
ash_ why would it do LL instead of LR?
[particle] urk, some languages have no respect for their predecessors
TimToady because LL is top down, but it's not really LL either
jnthn Parrot's stat opcode...throws exceptions on file not found. :-/ 16:51
moritz_ colomon: the other day after $hackathon we remembered that qbasic used MID() instead of substr... how very intuitive :-)
TimToady it's just recursive descent, with most of the left-recursive issues solved by inserting a bottom-up parser in the middle
colomon moritz_: I actually did a couple of years of quasi-professional programming in QBasic, right at the beginning of my career...
TimToady that's pretty much all basic, not just qbasic
[particle] jnthn: there's been no design consistency enforced for parrot op error condition reporting mechanisms
it's a headache, for sure
colomon well, during high school, at any rate. 16:52
jnthn hopes that the "does the file exist" mode won't return an exception on file not found too :-) 16:53
16:53 Patterner left, Psyche^ is now known as Patterner
colomon jnthn: I was wondering about that. Should we change the filetest operations to fail more gracefully when the file is not found? 16:53
jnthn colomon: I think so :-) 16:54
colomon oh other wise ones: what do you think?
jnthn We certainly shouldn't throw an exception in response to "is this thingy a directory". 16:55
Not existing is a perfectly valid way of not being a directory.
TimToady parrot's braindamaged exception happiness must be hidden behind p6's more consistent model 16:56
ash_ TimToady: when you say "inserting a bottom-up parser in the middle" you mean for operator precedence, right?
TimToady yes
but it could be any bottom-up parser
as long as it's guaranteed to advance at least one token, you fix left recursion 16:57
you could throw a yacc grammar in the middle too, but it would be differently flexible
ash_ is it possible to express p6 in a bottom-up parser?
masak the horror.
TimToady yes, but you'd be rerunning yacc every time the language tweaks itself, which is all over the place 16:58
and you still have to make sure all your rules reach sequence points where the language shifts
ash_ well, i am only trying to parse nqp, which is a fairly limited subset
TimToady or you'll have yacc guessing from information that is outside of what it should know via unwarranted lookahead 16:59
yes, reducing p6 to a subset makes it easier
especially if it isn't a mutable subset
but then you're not gonna have macros or new operators or... 17:00
ash_ my current goal is not a mutable subset, i mainly wanted to implement just basic control structures, single dispatch, classes and grammars, both of those being restricted to what nqp can handle 17:01
TimToady well, p5 uses a yacc grammar
moritz_ and an insane lexer 17:02
TimToady indeed, yacc is one of the reasons for that :)
ash_ i am starting to think i probably shouldn't use yacc
it looks like i might have to make my own LL-ish parser
TimToady yacc is one of those hammer things, which work pretty well on nails
PerlJam ash_: It seems to me that yacc would be fine if you were re-inventing NQP 17:03
masak ash_: what is your ultimate goal in reimplementing nqp?
TimToady but some of your nails are thumbnails
pmurias TimToady: would there be any benefits in parsing Perl 6 bottom up?
moritz_ pmurias: can you even do that?
I mean, predictively as it's specced to parse 17:04
ash_ masak: learning, i am doing an indepedant study at my college, i just choose nqp because it looked like enough of a challenge that i'd learn something, but also it seemed possible (at the time)
dalek kudo: 49749c0 | masak++ | src/core/Signature.pm:
[Signature.pm] removed extra '&' for params in .perl
TimToady pmurias: do you consider useless Syntax error messages to be a benefit? :)
masak ash_: in Tardis, I hope to get a small Perl 6 runtime going. I implemented very simple assignment yesterday :)
TimToady "Something's wrong near line 42" is pretty much all the help you get from yacc 17:05
ash_ Tardis? (other than a reference to doctor who)
jnthn wow...masak fixed a bug as well as reporting it!
masak ash_: time-travelling debugger.
pmurias TimToady: got enough of those from python today ;)
masak ash_: github.com/masak/tardis
TimToady yes, well, that was state of the art for a couple decades 17:06
masak jnthn: Swedish proverb: "Undrens tid är inte förbi." -- "The time of wonders is not yet over." Meaning "Expect odd things at times."
moritz_ std: ( }
p6eval std 29996: OUTPUT«===SORRY!===␤Unable to parse parenthesized expression; couldn't find final ')' at /tmp/jAIWIQYWff line 1:␤------> ( ⏏}␤ expecting semicolon list␤FAILED 00:01 106m␤»
jnthn :-)
TimToady and bits of parrot still think that a car with a single "?" indicator will be sufficient to tell the user that he should figure out what's wrong.
I prefer my computer to work a little harder at telling me what's wrong. 17:07
ash_ kinda like clang's error messages? 17:08
moritz_ ash_: those are really good
17:08 skeptical_p joined
moritz_ ash_: showing both expanded and unexpanded macros is such a great idea for C++, I wonder why nobody else thought of it earlier 17:08
(probably because compiler writers were glad not to touch the preprocessor...) 17:09
ash_ i'd say because of how daunting of a task it is to make a compiler
masak that's a good idea to remember for Perl 6 as well.
TimToady It's always easy to treat user-oriented engineering and Someone Else's Problem 17:10
jnthn oh heh. Parrot's stat op claims that "./" is not a directory and does not exist. :-/ 17:11
ash_ umm 17:12
TimToady s/and/as/
ash_ that sounds like stat didn't dwim
colomon jnthn: ./ isn't, is it?
it's just . 17:13
[particle] yeah, i'd argue that the trailing slash is incorrect there
jnthn how helpful.
moritz_ rakudo: say ?{}
p6eval rakudo e533f8: OUTPUT«0␤» 17:14
masak \o/
ash_ in bash, ls can take ./, also stat ./ works just fine 17:15
the trailing / might not be useful, but it seems valid to me
moritz_ ash_: jnthn is on windows
TimToady SysV actually treated '' as equivalent to . for just that reason
moritz_ where everything is weird[tm] 17:16
ash_ moritz_: i know, but doesn't parrot try to handle some of the differences in the fs layout?
moritz_ I don't really know
ash_ i guess that may be something thats hard to figure out then? /shrug
colomon jnthn: I'll try to take a look at making filetests not choke if the file doesn't exist this afternoon.
jnthn colomon: Cool
colomon: I'm akshually working on module location/loading atm rather than those. 17:17
17:17 quietfanatic joined
jnthn But ran into same issue there. 17:17
17:18 am0c left
colomon I can try to bang it out in the next couple of minutes if it would be useful to you. (Been working on moving failing arith.t tests to overflow.t.) 17:18
masak colomon: if it doesn't exist in the morning, it's fine? :P 17:19
colomon masak: in the morning, who cares if your code crashes? :p
masak I love the smell of crashes in the morning :) 17:20
TimToady in that case, they're already swearing at you tomorrow in Japan 17:21
17:22 Trashlord joined, lisppaste3 left, lisppaste3 joined 17:23 payload joined
colomon jnthn: so, for :z (is file zero length?) does it return true or false if the file does not exist? 17:25
moritz_
.oO( yes )
17:26
jnthn Hmm, that's maybe a trickier one. :-)
Well, could return an undefined value I guess 17:27
colomon A fail, or Mu, or Bool() ?
moritz_ undefined but True?
17:27 barney left
moritz_ colomon: we don't usually use Mu anymore, more likely Any 17:27
masak NaB 17:29
colomon NaB?
masak Not a Bool :P
colomon rakudo: say Bool()
p6eval rakudo e533f8: OUTPUT«Could not find non-existent sub &Bool␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon rakudo: say Bool
p6eval rakudo e533f8: OUTPUT«Bool()␤»
masak hm. 17:30
strange error.
moritz_ it is kind of funny
jnthn why?
colomon jnthn: does rakudo have directory test operators yet? if so, where? 17:32
moritz_ rakudo: say '/' ~~ :d 17:34
p6eval rakudo e533f8: OUTPUT«Method 'd' not found for invocant of class 'Perl6Str'␤current instr.: 'perl6;Enum;ACCEPTS' pc 362070 (src/gen/core.pir:50271)␤»
17:35 meppl joined 17:37 pmurias left
moritz_ rakudo: [[]].perl.say; [[]].''().perl.say 17:39
p6eval rakudo e533f8: OUTPUT«[[]]␤[]␤» 17:40
jnthn colomon: I think so
masak rakudo: Code.'' 17:41
p6eval rakudo e533f8: OUTPUT«Quoted method name requires parenthesized arguments at line 11, near ""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
masak rakudo: Code.''()
p6eval rakudo e533f8: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14523 (src/builtins/Seq.pir:77)␤»
masak rakudo: Code.new.''()
p6eval rakudo e533f8: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤current instr.: 'perl6;Code;new' pc 12663 (src/builtins/Num.pir:58)␤»
masak rakudo: Code.new.''(Code.new)
p6eval rakudo e533f8: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤current instr.: 'perl6;Code;new' pc 12663 (src/builtins/Num.pir:58)␤»
masak rakudo: Code.new.''(Code.new, Code.new)
p6eval rakudo e533f8: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤current instr.: 'perl6;Code;new' pc 12663 (src/builtins/Num.pir:58)␤»
masak :)
colomon rakudo: say 'etc' ~~ :d
p6eval rakudo e533f8: OUTPUT«Method 'd' not found for invocant of class 'Perl6Str'␤current instr.: 'perl6;Enum;ACCEPTS' pc 362070 (src/gen/core.pir:50271)␤»
masak Perl6Str? o.O 17:42
colomon rakudo: say '/etc/passwd' ~~ :d
p6eval rakudo e533f8: OUTPUT«Method 'd' not found for invocant of class 'Perl6Str'␤current instr.: 'perl6;Enum;ACCEPTS' pc 362070 (src/gen/core.pir:50271)␤»
colomon rakudo: say '/etc/passwd' ~~ :e
p6eval rakudo e533f8: OUTPUT«1␤»
colomon masak: pay not attention to the type behind the curtain
masak colomon: :)
colomon: 'Objectivist C is a "dynamically typed" language, which means that you can type in whatever you damn well like.' 17:43
moritz_ rakudo: my Int (Str $x); say $x.WHAT
p6eval rakudo e533f8: OUTPUT«Int()␤»
dalek kudo: 9978b34 | jonathan++ | src/ (4 files):
Need to set up @*INC by BEGIN time, othrewise we'll not be able to use it in module loading. Kinda switch on new module locator code; gets us looking through @*INC again and should handle loading Foo::Bar style things.
17:44
moritz_ rakudo: $0
p6eval rakudo e533f8: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''␤current instr.: '!postcircumfix:<[ ]>' pc 10640 (src/builtins/Role.pir:90)␤»
colomon implementing :d now....
17:45 krr left
TimToady remember we're likely taking .d etc away from strings and making the user do the .IO cast 17:45
moritz_ rakudo: sub foo($x where { $x == $y }, $y) { }; foo(1,2)
p6eval rakudo e533f8: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14523 (src/builtins/Seq.pir:77)␤»
masak yes, I think that's sane.
even though already that little piece of sanity hurts conciseness compared to Perl 5. 17:46
TimToady but $x.IO ~~ :r & :w & :x factors it out to some extent 17:47
also qp{/etc/passwd} probably makes something IOish
colomon is :z gone altogether, then? 17:48
TimToady yes
colomon argh. hard to keep up.
TimToady makes for too many double negatives :)
masak std: sub foo($x where { $x == $y }, $y) { }
p6eval std 29996: OUTPUT«===SORRY!===␤Variable $y is not predeclared at /tmp/UwCqbZKpPp line 1:␤------> sub foo($x where { $x == $y⏏ }, $y) { }␤ expecting any of:␤ POST␤ postfix␤ postfix_prefix_meta_operator␤FAILED 00:01 109m␤»
masak std: my $y; sub foo($x where { $x == $y }, $y) { }
p6eval std 29996: OUTPUT«ok 00:01 107m␤»
masak TimToady: shouldn't STD.pm complain that I use both an outer $y and declaring an inner one? 17:49
TimToady ya'd think
masak so, STD-bug.
17:50 payload left
TimToady std: my $y; sub foo ($x where $x == $y, $y) { } 17:51
p6eval std 29996: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix = instead at /tmp/zRaprddxcN line 1:␤------> my $y; sub foo ($x where $x =⏏= $y, $y) { }␤ expecting any of:␤ an infix operator with precedence tighter than chaining␤
..constraint␤ p…
masak This Uncyclopedia article reminds me of the discussion with lichtkind yesterday about side effects: uncyclopedia.wikia.com/wiki/Nonfunc...rogramming
TimToady hmm
std: my $y; sub foo ($x where ($x == $y), $y) { } 17:52
p6eval std 29996: OUTPUT«===SORRY!===␤Lexical symbol '$y' (from line 1) is already bound to an outer scope implicitly␤ and must therefore be rewritten explicitly as 'OUTER::<$y>' before you can␤ unambiguously declare a new '$y' in the same scope at /tmp/SbS1EUG74u line 1:␤------>
..m…
masak 'found infix ='?
TimToady it's the fact that you use the $y in its own little lexical scope that hides it
masak aye.
I realized that.
perhaps that even makes it OK.
TimToady mebbe, mebbenot
masak right.
still thinking about it :) 17:53
17:53 Toony left
TimToady and yes, the found infix message is LTA 17:54
colomon rakudo: say "/etc".IO
p6eval rakudo 49749c: OUTPUT«Method 'IO' not found for invocant of class 'Perl6Str'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
masak std: my $a; sub foo { say "OH HAI": { say $a }; my $a }
p6eval std 29996: OUTPUT«ok 00:01 107m␤»
masak I'd consider that not OK.
17:55 ignacio_ left
TimToady might not be a difficult fix 17:55
17:55 uniejo joined
masak \o/ 17:55
17:56 cdarroch joined, cdarroch left, cdarroch joined 17:58 perpetrator joined 17:59 mberends joined
moritz_ is actually happy with the current behaviour 18:00
because in my book the $y actually belongs to the scope of the block of the sub 18:01
so it's not the same scope as the outer $y, thus no warning necessary
masak hm.
I don't have a strong argument for either view. 18:02
moritz_ signatures are the exception to the usual rule that scope = block
18:02 ash_ left
masak I just remembered that we once had a type of statement called 'nothing' in the spec. we could write things like 'repeat nothing while some-condition();' 18:03
TimToady I guess it depends on whether you think the inner scope is asking the intermediate scope for its definition of $y as a go-between
masak std: sub some-condition() {}; Whatever while some-condition();
p6eval std 29996: OUTPUT«ok 00:01 108m␤» 18:04
TimToady in any case, it could result in the same sort of confusion
masak troo.
TimToady so I'm still inclined to make someone say OUTER::OUTER::<$y> in that case
moritz_ would use Nil instead of Whatever for that
TimToady seems like Nil would be fine
masak moritz_: aye, shorter and more exact.
TimToady: I also think it's the same case from the perspective of the confusion it creates. 18:05
TimToady user-oriented-engineering++
18:05 payload joined
TimToady it's not *quite* as easy a fix as I hoped, because I can't install OUTER aliases until I know what I'm aliasing to, so it takes another loop 18:06
or recursion
recursion is probably correcter
masak std: Nil until Whatever;
p6eval std 29996: OUTPUT«ok 00:01 104m␤»
moritz_ rakudo: say ?* 18:07
p6eval rakudo 49749c: OUTPUT«!whatever_dispatch_helper␤»
masak rakudo: say +?*
p6eval rakudo 49749c: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
masak hm.
alpha: say +?*
p6eval alpha 30e0ed: OUTPUT«get_number() not implemented in class 'Sub'␤in Main (file <unknown>, line <unknown>)␤» 18:08
masak rakudo: say ?Whatever
p6eval rakudo 49749c: OUTPUT«!whatever_dispatch_helper␤»
18:11 abra joined, ignacio_ joined, athenot left 18:13 uniejo left
moritz_ rakudo: say (4...^5).perl 18:14
p6eval rakudo 49749c: OUTPUT«GatherIterator.new()␤»
moritz_ rakudo: say 6 >== 2 18:15
p6eval rakudo 9978b3: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 16825 (src/builtins/Junction.pir:373)␤»
18:16 quietfanatic left 18:25 hercynium left
colomon t/01-sanity/99-test-basic.t failing for me? 18:25
moritz_ tests
colomon Wynne:rakudo colomon$ ./perl6 t/01-sanity/99-test-basic.t 18:26
stat failed: No such file or directory
colomon looks at jnthn...
jnthn :-/ 18:27
It works on Win32.
Looing at it with moritz++ here. 18:28
colomon could be my changes, but I'd be surprised at that error message...
moritz_ colomon: nope, jnthn++ has worked on module loading
colomon moritz_: right, but I've just rewritten rakudo's file tests locally... 18:29
moritz_ colomon: I get that error too 18:30
colomon which could conceivably be the problem (if you...
moritz_ colomon: I have local changes too, but they are completely unrelated
colomon well, then, make jnthn fix it. :)
18:31 ignacio_ left 18:32 Salada345 joined 18:33 quietfanatic joined 18:35 Salada345 left 18:37 ignacio_ joined
jnthn masak: PAST::Op.new( :pirop('get_namespace P') ) 18:38
colomon: moritz_++ has got to the bottom of it, I think. 18:44
colomon \o/
jnthn It's finding an installed Test.pm over the local one 18:45
But then expects that to have been pre-compiled.
I don't have any installed though.
So never hit the issue.
colomon hmmmm
where would it be looking?
moritz_ /home/moritz/rakudo/parrot_install/lib/2.1.0-devel/languages/perl6/lib/Test.pm
jnthn @*INC
colomon ah 18:47
jnthn nqp: my $match := "lol.123.pm" ~~ /^(<[\w\-\_]>)+\.\d+\.pm$/; say $match;
p6eval nqp: OUTPUT«Confused at line 1, near "say $match"␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤»
jnthn nqp: my $match := "lol.123.pm" ~~ /^(<[\w\-\_]>)+\.\d+\.pm$/; say($match);
p6eval nqp: OUTPUT«␤»
colomon it's in parrot
mberends rakudo: .say for @*INC # we discussed moving '.' to the top of the list
p6eval rakudo 9978b3: OUTPUT«/home/p6eval/.perl6/lib␤/home/p6eval//p1/lib/parrot/2.1.0-devel/languages/perl6/lib␤lib␤.␤»
jnthn nqp: my $match := "lol.123.pm" ~~ /^(<[\w\-_]>)+\.\d+\.pm$/; say($match);
p6eval nqp: OUTPUT«␤»
jnthn nqp: my $match := "lol.123.pm" ~~ /^(\w+\.\d+\.pm$/; say($match); 18:48
18:48 ignacio__ joined
p6eval nqp: OUTPUT«Confused at line 1, near "my $match "␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤» 18:48
jnthn nqp: my $match := "lol.123.pm" ~~ /^\w+\.\d+\.pm$/; say($match);
p6eval nqp: OUTPUT«lol.123.pm␤»
colomon suggested solution? (for test.pm) 18:49
moritz_ colomon: git pull 18:50
colomon \o/
18:50 ignacio_ left
masak nom & 18:52
18:52 masak left
dalek kudo: e4e1a0d | (Jaume Martí)++ | src/Perl6/Grammar.pm:
Rewrite of parse_name in NQP
18:52
kudo: e66c48d | moritz++ | src/ (4 files):
Merge branch 'master' of github.com:rakudo/rakudo
kudo: 086bed5 | moritz++ | src/Perl6/Compiler.pir:
fix using Test.pm by putting the . as the first entry in @*INC

than not running any tests when there's a Test.pm installed
19:04 xomas_ is now known as xomas, rindolf joined
rindolf Hi all. 19:04
colomon o/
rindolf \o 19:05
19:05 ShaneC joined
rindolf rakudo: [1 .. 10].reverse 19:09
p6eval rakudo 9978b3: ( no output )
19:10 hercynium joined
colomon rakudo: say [1..10].reverse 19:11
p6eval rakudo 9978b3: OUTPUT«10987654321␤»
19:17 hercynium left
Tene japhb: I got frustrated by what's there right now and how much I needed to put back together again, and by complaints about the API pmichaud replaced what was there before with, and didn't actually make any commits. I pretty much know the order I need to go in now, though. 19:20
colomon woah, still massive test fail here. 19:25
...and they work when I run them by themselves?! 19:26
colomon is getting annoyed at how hard it is being to spectest his relatively simple changes....
19:29 ash__ joined
Tene colomon: obviously the problem is that your changes are too simple. Try something more-complex, and I bet testing becomes easier. That's what the waterbed theory says, right? 19:29
mberends colomon: 'perl tools/test_summary.pl' is making more sense than 'make spectest' at the moment
colomon mberends: really?
mberends colomon: try it :-)
colomon but I'm halfway through a spectest run....
make spectest, that is. 19:30
I have been loving test_summary for finding LHF to work on, mind you.
mberends ok, they should be able to run concurrently in different shells
test_summary is going to get microbenchmarks very soon
colomon yes, but my poor laptop will beg for mercy if I do that 19:31
mberends heh
colomon I'm just logged into the quad core downstairs and I'm building rakudo there at the moment... 19:32
lichtkind mberends: still on that conference? 19:34
mberends lichtkind: no, back in .nl since this morning 19:35
19:35 abra left
colomon so is make spectest just hosed? it looks like it's reporting a bunch of failures which aren't actually happening.... 19:37
mberends the error message here is that the test script is returning a non 0 exit code after outputting all the right 'ok' lines... 19:38
19:39 jaldhar_ left
ash__ so... i just saw the new file docs/S11-Modules-proposal.pod, some umm interesting things in it, for instance, all parts of the path are considered, so the order of the parts of the lookup path doesn't matter anymore... that seems interesting, but kinda scary... if you have a Foo.pm in your library folder and in the system library with the exact same version information it says it will arbitrarily pick one, which seems like an od 19:41
19:42 rindolf left
mberends ash__: it seemed easier at the time to scare the programmer into writing different version numbers into the various copies of the file. 19:45
we don't want to make it harder than necessary to implement versioning in Rakudo *, by adding even more rules for ambiguities. 19:46
ash__ yeah, that does seem like an easy way to resolve the ambiguity, but when you say your arbitrarily choosing things it seems like there should be some sort of "better way" but that better way may be to scare the programmer into using a version number 19:47
mberends the "arbitrary" is a threat, indeed
19:47 iblechbot joined
ash__ are they supposed to be 2 part or 3 part versions? or has that been decided? 19:48
mberends we forgot to discuss that, but the examples were all 3 part
as long as the v-strings are not run through Google we should be ok ;) 19:49
ash__ i know some projects get some really wacky naming convetions with versions, like 1.2.3_r123b
vs 1.2.3_r123c
mberends omg pleez no 19:50
ash__ yeah, those seem overly crazy IMO, why not 1.2.124 or something, but hey, i don't make those rules, it would be kinda nice to have some sort of standard, possibly extendable, speced out
mberends 1.2.124 is a great format, certainly good enough for Rakudo *. We really need to keep it simple enough that the implementation goes quickly and well. 19:52
ash__ CPAN seems to be mostly 2 part, Major.Minor or something, but i don't know if thats what you want to do for Rakudo * 19:53
19:53 payload left
mberends there is probably very little extra coding to go from 2 part to 3 part, and that matches Parrot, so should be worth it. A fourth part, otoh, does not improve the system very much. 19:54
dalek kudo: f0a5552 | (Solomon Foster)++ | src/ (2 files):
Remove obsolete Str.z and Str.filebytes functions. Add Str.d, Str.f, and Str.s functions.
19:56
kudo: d928a86 | (Solomon Foster)++ | src/Perl6/ (2 files):
Merge branch 'master' of [email@hidden.address]
kudo: 45b806a | (Solomon Foster)++ | src/builtins/Str.pir:
Port :l from alpha.
mberends colomon++
quietfanatic I thought perl's handling of version strings was specced somewhere. 19:58
colomon oh, bother, didn't push the right version of :l 19:59
mberends yes, it's in S11: Anything matching v? [\d+ '.']* \d+ is treated as a version number 20:00
dalek kudo: ec9b0df | (Solomon Foster)++ | src/builtins/Str.pir:
Tweaks to :l to make it work (more or less).
20:02
quietfanatic Ah. I remember a while back there was some specification for dealing with versions that had alphabetic characters in them, but it must not be there anymore.
quietfanatic It was basically: assume a . between numbers and letters, and sort letters before numbers. 20:03
It was years ago I read it though.
20:13 ash__ left 20:14 ash__ joined
m6locks what's that imcc in Compiler.pir 20:24
caused an error while building rakudo
lichtkind mberends: like posted most of my edits are now not visible, i just wanted addk you if you help translate of write this other implementation article ? 20:30
mberends lichtkind: ok, which article URL? 20:31
20:32 ignacio__ left
lichtkind mberends: i ments the one you wanted write, i think elf or so 20:32
mberends: or what you asking for?
mberends lichtkind: I was asking what you were asking me to help translate 20:33
lichtkind mberends: i made polish of www.perlfoundation.org/perl6/index....tro_tablet and the other stuff will coe in now 20:34
s/coe/come/
20:37 krr joined
pugssvn r29997 | lwall++ | [STD] rebound OUTER::OUTER:: variables can also make their OUTER:: ambiguous 20:37
mberends ah. well, I'm not feeling awake enough to write a new description of Elf, because I would need to research the details as well.
lichtkind mberends: great
mberends: and maybe a line more on www.perlfoundation.org/perl6/index....in_berends 20:38
mberends lichtkind: I hope we can support the wiki idea of people not editing articles about themselves. I don't mind answering questions that another editor may wish to ask, though. 20:40
20:41 skeptical_p left
lichtkind mberends: i understood that already but some people see that pages as personal space :) 20:41
mberends lichtkind: ok, that is obviously not the way I look at it :) 20:43
lichtkind mberends: social wiki lacks a userspace
one of the reasons i proposed to develope november into a replacement
but no devs for it now
mberends lichtkind: what is your attitude to the page about yourself?
lichtkind mberends: you think its toomuch on it? 20:44
TimToady std: my $y;␤sub foo ($x where {$x == $y},␤$y) { } 20:45
p6eval std 29996: OUTPUT«ok 00:01 109m␤»
lichtkind mberends: my attitude is that the page is somewhat owned by the person written about, just in case abandoned written by others 20:47
20:48 ignacio__ joined
mberends lichtkind: your page is just the right size to fill a netbook browser window without starting to need scrolling. Therefore I think the amount of information is just right. 20:49
20:50 ash__ left
mberends lichtkind: your page describes your Perl 6 related work in a good, neutral-point-of-view way. It's well written. 20:52
lichtkind thank you 20:53
20:56 ash__ joined
lichtkind mberends: excuse if i ask twice , you didnt found missing itmes in timeline 20:57
20:57 bluescreen left
mberends lichtkind: I like the timeline a lot already. Nothing obvious seems missing, but I'll give it another careful look now :) 20:59
20:59 krr left 21:02 masak joined 21:03 ruoso left
mberends masak: haz u eated nom? 21:03
masak saluton, #perl6!
mberends: I haz. we all haz.
mberends \o/
masak mberends: jnthn is asking 'why is mberends awake?' ;) 21:04
mberends bio-clock FAIL
pmichaud good afternoon, #perl6
21:04 meppl left
masak good evening, pmichaud. 21:05
mberends good afternoon pmichaud
jnthn oh hai all
ash__ has anyone else ever wondered why apachectl uses -k for commands? I feel like i am using a fake russian accent or something , "Kommand"
masak ash__: it's actually not short for "command" at all, but for "off topic"... 21:06
;)
ash__ yup, i know :P
masak (which is relatively OK here, as you also know)
jnthn oh hai, pmichaud
21:11 mssm left
Tene I reas "OK" as "Off Topic" the first few times I read that comment, masak. 21:11
21:13 ignacio__ left, ned left
masak Tene: you're thinking of "Off Koptic". that's when diakopter does his evalbot thing... :P 21:13
TimToady std: my $y;␤sub foo ($x where {$x == $y},␤$y) { } 21:14
p6eval std 29997: OUTPUT«===SORRY!===␤Lexical symbol '$y' is already bound to an outer symbol (see line 1);␤ the implicit outer binding at line 2 must be rewritten as OUTER::OUTER::<$y>␤ before you can unambiguously declare a new '$y' in this scope at /tmp/PvpjsoCGCz line 3:␤------>
..[3…
masak TimToady++ 21:15
TimToady: I'm starting to understand why you don't need an RT for STD.pm. you have very nice bug-to-fix turnaround.
ash__ ooo, fancy error messages are fancy is that an error or a warning?
masak of course, it helps not being encumbered by a runtime... :P 21:16
ash__: error.
ash__: when it starts with 'SORRY!', it's a syntax error.
ash__ got ya
masak or at least a parse-time error.
moritz_ fsvo "syntax" :-)
masak right.
lichtkind hello pmichaud 21:17
masak just noticed how awesomely awesome that error message is
TimToady++
TimToady it took a while to get all the line numbers straight, and to get the actual name that it needed in the inner scope, not just the scope where it found the collision 21:18
masak std: my $y; { say 1; { my $y }; $y }
p6eval std 29997: OUTPUT«ok 00:01 105m␤»
jnthn std: my $y; {{{{{{{{{{ sub bar(($x where {$x == $y}) { } }}}}}}}}}}
p6eval std 29997: OUTPUT«===SORRY!===␤Unable to parse signature; couldn't find final ')' at /tmp/G9IAKphMBI line 1:␤------> {{{{{{{{{ sub bar(($x where {$x == $y}) ⏏{ } }}}}}}}}}}␤ expecting any of:␤ constraint␤ param_sep␤ trait␤FAILED 00:01 108m␤»
jnthn std: my $y; {{{{{{{{{{ sub bar($x where {$x == $y}) { } }}}}}}}}}}
p6eval std 29997: OUTPUT«ok 00:01 108m␤» 21:19
masak :/
TimToady that's fine
you didn't redeclare it
masak :P
jnthn std: my $y; {{{{{{{{{{ sub bar(($x where {$x == $y}, $y) { } }}}}}}}}}}
p6eval std 29997: OUTPUT«===SORRY!===␤Lexical symbol '$y' is already bound to an outer symbol (see line 1);␤ the implicit outer binding at line 1 must be rewritten as OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::<$y>␤ before you can unambiguously
..d…
masak *lol*
jnthn Yes, that's what I was after. :-)
masak jnthn++
STD.pm++ 21:20
Tene (++)++
PerlJam insane
pmichaud std: insane 21:21
ash__ is there a way to jump to the outer most layer? i suppose if you did module foo; then did foo::<$y> ?
p6eval std 29997: OUTPUT«Undeclared routine:␤ 'insane' used at line 1␤ok 00:01 104m␤»
PerlJam ash__: my $tmp = $y; ... where { $x == $tmp }
TimToady std: my $y; {{{{{{{{{{ sub bar(($x where {$x == UNIT::<$y>}, $y) { } }}}}}}}}}} 21:22
p6eval std 29997: OUTPUT«===SORRY!===␤Unable to parse signature; couldn't find final ')' at /tmp/zBXtyxuJVk line 1:␤------> b bar(($x where {$x == UNIT::<$y>}, $y) ⏏{ } }}}}}}}}}}␤ expecting any of:␤ constraint␤ param_sep␤ trait␤FAILED 00:01 108m␤»
ash__ PerlJam: i was more wondering if there was if maybe ::<$y> worked or something
moritz_ ash__: modules and lexicals are orthogonal
TimToady std: my $y; {{{{{{{{{{ sub bar($x where {$x == UNIT::<$y>}, $y) { } }}}}}}}}}}
p6eval std 29997: OUTPUT«ok 00:01 108m␤»
21:22 Su-Shee left
ash__ UNIT seems to be the missing thing i was searching for, cool 21:22
TimToady mind you, it's not actually doing UNIT lookups correctly there
ash__ oh 21:23
std: my $y; {{{{{{{{{{ sub bar($x where {$x == ::<$y>}, $y) { } }}}}}}}}}}
p6eval std 29997: OUTPUT«ok 00:01 108m␤»
TimToady doesn't do OUTER:: lookups right yet either--I'm working on that
PerlJam ash__: but "outer most scope" isn't always the one you want anyway :)
TimToady most of your scopes will generally have a name 21:24
21:24 mssm joined
ash__ doesint :: infront of the package name make it go to the outer most scope? 21:25
TimToady no, that's p5-think
ash__ ah, okay 21:26
TimToady it's GLOBAL:: or some such if you really want global
or some named lexical scope 21:27
UNIT, SETTING, CORE, or some inner package name
(all the inner package names are in fact aliased lexically as well)
ash__ so, if you did class Foo; class Bar::Foo; and did ::Foo it wouldn't always give you the first Foo, right? 21:28
TimToady it would search outward for the first Foo it could find
one can always say GLOBAL::Foo to force it to the global package 21:29
ash__ gotya
21:29 ShaneC left
ash__ is there a like *Foo (thinking of the twigil) way of calling it? 21:29
TimToady well, $*Foo::x could probably be made to look for a dynamic package Foo containing x 21:30
doubt that works at the moment
ash__ i suppose you could say my $a = &*Foo::new; if i wanted a new GLOBAL::Foo 21:31
err, &*Foo.new
TimToady well, not unless Foo is declared dynamic
but mostly we're trying to discourage global names 21:32
when you say 'use Foo', it imports a Foo alias into your current lexical scope
that's what Foo::bar usually finds
most of the long names have auths and versions anyway
21:33 ShaneC joined
TimToady so you want the short name in your lexical scope to be bound to something more specific outside of it 21:33
ash__ yeah, that makes sense
21:34 hercynium joined
TimToady bbl & 21:36
21:39 xabbu42 left
moritz_ masak, jnthn: I'm afraid I'm too tired for hacking already :( 21:42
masak moritz_: 's ok.
jnthn moritz_: No worries.
moritz_ but I look forward to another session tomorrow :-)
jnthn Sleep well :-)
masak moritz_: are you up for a walk to the top floor? we're thinking of making one to admire the view.
if not, that's fine too. 21:43
Tene roofhacking? 21:45
masak got roof?
m6locks hmm t/spec/S32-io/file-tests.t fails 21:47
also t/spec/S32-str/uc.rakudo 21:48
moritz_ m6locks: uc.rakudo fails and passes fairly randomly here 21:49
m6locks aye
21:52 TiMBuS left
colomon sorry, I forgot to commit the changes to file-tests.t 21:52
one sec.
pugssvn r29998 | colomon++ | [t/spec] Change to be a little bit closer to the spec. 21:53
moritz_ happened so often to me these past days...
colomon uc.t has been randomly todo passing here... it never seems to fail, but sometimes it has todo passes and sometimes it doesn't. 21:54
21:56 SmokeMachine left
masak loliblogged! use.perl.org/~masak/journal/40232 22:01
mathw \o/ 22:02
masak ...therefore, I propose we rename the language to Perl 68. 22:04
22:04 Guest27326 left
ash__ 2068, its from the future 22:04
masak will we make it till then?
sounds a bit rushed. 22:05
Tene I keep reading "loli" as en.wikipedia.org/wiki/Lolita_fashion whenever you say that, masak.
masak Tene: don't think you can shock me; I'm Swedish. :)
ash__ masak: i think we might have just enough to release 'Rakudo' ** 68
22:05 cotto_work joined
Tene I don't understand what you'd think was implied as shocking. 22:06
colomon Rakudo ** 68 is the April 1st release, right? ;)
masak Tene: hm. maybe it isn't. I actually havn't clicked the link to investigate what Lolita fashion is. 22:07
ash__ i wonder how you raise a string to a power...
masak Tene: I'm just extrapolating from what I know of that cluster of terms.
Tene masak: well, it really just reminded me of that cluster of terms, so close enough.
I chose one randomly from the WP disambiguation page.
masak Tene: ISTR there's a "Lolicon" in relation to that.
Tene Yes. 22:08
masak s/con/Con/
masak relents and clicks on the link 22:09
pmichaud unless things go all haywire here (as they have for the last two^Wfour^Weight days) I should be around tomorrow during any hacking sessions (up until about 11am CST) 22:10
colomon \o/ 22:11
pmichaud ...but I think I'm betting on "haywire". :-\ 22:13
masak Tene: actually, finding out that the subculture has nothing to do with the eponymous book by Nabokov (something that I just had assumed until now) makes the whole subculture seem very non-shocking.
jnthn pmichaud: If you are able to make it, that's when we'll be around too. If not, no worries - I'm sure we'll continue to be productive and pun relentlessly. 22:16
masak we've been and done so thus far.
just for reference, we've renamed "metaphor" into "moving van".
jnthn pmichaud: Quick question. What's the easiest way to do a parse but associate it with different Actions?
(parse with Perl6::Grammar, that is) 22:17
22:18 quietfanatic left
colomon rakudo: say 0.14285714285714 22:18
p6eval rakudo ec9b0d: OUTPUT«0.14285714285714␤»
colomon > say 0.14285714285714
2.36232865590783
oh bother, another 32-bit issue? 22:19
moritz_ 32bit ints vs. 64bit ints
yes
arnsholt jnthn: The usual .parse($text, :actions($actions)) doesn't work?
mberends jnthn: if you're thinking of parsing every module.pm with Grammar.pm just to obtain :auth and :ver, I humbly think that massively expensive overkill. You can't stop it descending all the way down :(
colomon feels his sanity slowly slipping away...
masak is there a way to abort a whole parse successfully from within an action method? 22:20
jnthn Yes, throw an exception.
mberends: What do you propose instead?
masak jnthn: doesn't just an exception propagate upwards out of the .parse method?
jnthn (Keeping in mind that in the future we'll be able to populate a cache.)
mberends jnthn: a teeny grammar
jnthn masak: Yes, and we catch it in the module locator.
masak jnthn: you're not planning to use an exception to return normally, are you? 22:21
jnthn Yes. :-P
masak jnthn: that's a mortal sin, you know...
jnthn Kill me now!
mberends: But that may miss all kinds of things. :-/
mberends jnthn: getting :auth and :ver is all you want for candidate selection 22:22
masak jnthn: no, 'kill me now' is the modus operandi that caused you to choose exceptions for this in the first place. :P
moritz_ "Backtracking over a C<< <commit> >> assertion causes the entire match
to fail outright, no matter how many subrules down it happens"
masak moritz_: but we want it to succeed outright. 22:23
moritz_: and from within an action method.
moritz_ succeed. Oh.
that's.... not very gramary
jnthn mberends: If we don't parse using the proper Perl 6 grammar, it'll not be long before somebody finds a way confuse it.
masak moritz_: true.
moritz_ for aborting when you found the first module definition?
jnthn glances over at masak
masak moritz_: yes.
22:23 IllvilJa left
mberends jnthn: doctor, it hurts when I do this... ;) 22:24
moritz_ masak: for such an exceptionally evil thing using an exception is just appropriate
masak :)
p'haps.
mberends jnthn: once the correct module file has been chosen, parse it with the main Perl/Grammar.pm
masak moritz_: it's a bit as if in Prolog there was a construct for saying "oh well, just skip the rest of the details and declare a match here" :) 22:25
jnthn mberends: Yes, but how do you construct said teeny grammar and have any confidence it'll not get upset over full Perl 6?
mberends jnthn: I was guessing it would be simple, in the same way Perl6/Grammar.pm skips all of Pod. 22:26
pmichaud sorry, was away for a moment 22:27
moritz_ Pod doesn't need so much predictive parsing as Perl 6 does
pmichaud associate with different actions is simply provide another :actions object to .parse
jnthn moritz_: Yes, that's kinda my concern. 22:28
pmichaud one can fail a match outright by using :::<!>
pugssvn r29999 | colomon++ | [t/spec] Move tests that have 32-bit overflow issues from arith.t to overflow.t.
pmichaud oh, wait
that'd be <commit> <!>
Tene pmichaud: are you going to be around in about 3 hours?
pmichaud Tene: hard to say.
jnthn I dunno, I just got a very bad feeling about making another "fake" Perl 6 grammar.
Tene nods.
masak pmichaud: yes, but one cannot succed a match outright, because that (almost) doesn't make sense.
mberends jnthn: ok. I did write (how?) for a reason... ;)
jnthn We might as well do a regex like /[class|role].../ :-) 22:29
masak jnthn: if you make a "fake" Perl 6 grammar, I *will* break it.
mberends jnthn: that was another thought, yes
Tene jnthn: set the desired :auth and :ver in a dynamic var, and have the grammar throw an exception containing the detected :auth and :ver when found if they don't match.
jnthn mberends: masak WILL break that.
mberends so?
jnthn Tene: Yes, that's kinda my plan.
masak accidentally a sledgehammer 22:30
moritz_ mberends: it basically contradicts the Perl 6 philosphy too deeply to be acceptable
Tene The *whole* sledgehammer‽
mberends forget trying to make things masak proof
masak Tene: a sledgehammer.
Tene: I take back everything I took back about you saying shocking things :P 22:31
pmichaud I agree with Tene's answer, for the moment.
jnthn pmichaud: About ver and auth, or sledgehammers?
pmichaud set the desired :auth/:ver somewhere, and have the grammar throw an exception when it reaches the module/class/whatever statement and they don't match. 22:32
masak what's not to agree with about sledgehammers?
jnthn pmichaud: +1
masak as long as we all agree that it's evil to communicate through the call stack using explicit exceptions like that.
jnthn Evil can be beautiful. 22:33
moritz_ we agree, and do it anyway
pmichaud I'm not sure I agree to that.
masak exceptions are made for *exceptional* circumstances. hence the name.
this is a normal return.
pmichaud Seems to me that much of Perl 6 is being designed to use exceptions to communicate through the call stack.
masak a continuation would have been fine.
pmichaud even normal returns are exceptions.
so I'm not so sure that the exception mechanism is all that exceptional.
mberends then that's a terminological fail 22:34
masak and a break in tradition.
it's a sort of cargo non-culting.
Tene finally clues in that you guys are talking about library loading, and that he might want to pay attention to avoid stepping on toes when working on HLL library interop. 22:35
pmichaud in particular, the way that a called routine communicates to its stack of calling routines is by throwing exceptions 22:36
because the notion of "exception" is very context sensitive
things that should be fatal in one context are "business as usual" in another context.
moritz_ Tene: you might want to look at docs/S11-Modules-proposal.pod in the rakudo repo
Tene moritz_: I read it, yes.
moritz_ Tene: and if you happen to implement lexical imports, that would be very welcome :-) 22:37
masak pmichaud: do we pass along the extracted values with the exception?
Tene moritz_: I'm more concerned right now with getting rakudo able to load parrot libraries, and other HLL interop.
masak: yes.
masak Tene: jnthn has another plan here, it seems. 22:38
22:38 kensanata joined
TimToady I think exceptions have turned into hammers here 22:38
masak Tene: just set attributes in the action class, and then throw the exception.
TimToady: we should rename them 'hammers'. sort of parallel to 'phasers'. 22:39
"And then we just throw a hammer..."
see? it works!
colomon throw a brick.
jnthn And failures are just like thos foam hammers.
soft.
colomon unless we're all Thor or something...
moritz_ Thor really threw a boomerang in disguise
Tene moritz_: no, Mjolnir is just a resumable hammer. 22:40
masak moritz_: I'm sure there's a pun in there somewhere.
oh, look. there was.
colomon (Actually, there is a hammer toss in the highland games, isn't there?)
moritz_ thought they were throwing trees, not hammers. Could be wrong, though
masak colomon: the trick is to throw from the High Lands, so that it lands on those in the Low Lands.
moritz_: no, tree throwing is a Druid tradition. 22:41
not Vikings.
22:41 IllvilJa joined
moritz_ what have trees got to do with your board game? 22:41
masak moritz_: I would explain, but it would blow the pun stack. 22:42
jnthn
.oO( I knew we should adopt Continuation Punning Style )
22:43
masak in CPS, you never 'return', you just 're-pun'.
using a continuation pointing to the puns not yet executed. 22:44
22:48 wknight8111 joined 22:54 iblechbot left, dakkar left 22:55 mberends left 22:59 rv2733 left 23:05 Limbic_Region joined
Limbic_Region f00li5h - ping 23:05
23:13 ash__ left 23:14 meteorjay left
Tene masak: not sure if you saw it, but irclog.perlgeek.de/perl6/2010-03-08#i_2075199 might be of minor interest to you. 23:17
masak Tene: thanks. yep, saw it.
lichtkind goodnight 23:19
23:19 lichtkind left
masak I told k23z__ I wasn't sure he was not a troll. since then he's threatened never to come back, and then recanted a bit and instead vowed never to express opinions on the channel. 23:19
then we hugged, and after that he has even expressed tendencies to fit in. 23:20
so the development so far is better than mst's experience.
Tene Yeah, I saw that. I was there. 23:22
23:22 payload joined
TimToady the most redemption response to oppositional behavior is not always to be oppositional yourself. :) 23:24
*redemptive 23:25
masak I sometimes think about how to scale a culture like Perl 6's.
one of my nightmares is to wake up one day, and to see the channel flooded with newbies, and with no regulars left who can give sensible answers to newbie questions. :P 23:26
so all the answers given are wrong or cargo-culted in some way.
TimToady well, sometimes new wine needs new wineskins... 23:27
masak aye.
I guess what I'm saying is that it's hard to extract what good aspects of the Perl 6 culture are due to it having a small graph radius, and what good aspects are due to the members being wholecloth people. 23:29
23:30 mssm left
masak s/wholecloth/wholesome/ :) 23:31
masak is not a native English speaker
23:39 daemon left 23:40 daemon joined 23:44 wallberg joined
masak wallberg: hello there. 23:46
pugssvn r30000 | lwall++ | [STD] remove mention of *.notdef in favor of :!defined 23:47
r30000 | change some debugging says to use the more official .deb method
masak TimToady++ # *.notdef gone
23:48 nihiliad left
masak wallberg: are you perchance a colleague of viklund's? 23:50
pmichaud (notdef gone) \o/ 23:51
masak .oO( you don't need to shout, I'm notdef )
jnthn *groan* 23:52
23:54 synth left