»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by moritz on 3 May 2013.
00:04 btyler joined 00:09 btyler left 00:21 btyler joined 00:36 Chillance joined 00:38 btyler left 00:55 anuby joined 01:03 cognominal left 01:06 FROGGS_ joined 01:10 FROGGS left 01:11 BenGoldberg joined 01:13 ssutch joined
ssutch is there any way to make the panda bootstrap script more explicit, it is failing on one of the subtests (testing panda) and i'd like to debug 01:14
01:15 hypolin joined
timotimo_ you can try installing ufo, then running ufo in the panda dir to get a makefile, then building panda with ufo and running the tests manually with "perl6 -Ilib t/foo.t 01:16
ssutch oh dear 01:17
colomon I don't think you actually need to use ufo to build panda if you run the tests with perl6 -Ilib
timotimo_ oh, that works? good point then. 01:19
ssutch ah ok
timotimo_ i'm going to bed now. good luck! 01:20
ssutch ok, so i ran perl6 -Ilib t/tester.t (which is the file that was failing) 01:21
timotimo_ hehe, the tester fails to test :)
ssutch and it appears to pass, and then die on t/fail.t 01:22
which is not addressed in the command line
timotimo_ oh 01:23
a question
does it end in "ok 2 - what should fail, fails"?
ssutch gist.github.com/samuraisam/5770551
^ output above, it ends with "not ok 2 - what should fail, fails"
timotimo_ hah, wat? it fails, but fails to notice that it failed, so it assumed it succeeded and thus the test to fail failed
ssutch haha 01:24
timotimo_ oh, that may come from the new exception types perhaps, let me check
[Coke] with latest rakudo-java, if I comment out "use v6" in t/01-sanity/*.t, we actually pass 8 files.
ssutch if it was just committed to rakudo, then possibly. i am not running a star release
colomon [Coke]: \o/ 01:25
ssutch nice!
colomon ssutch: the change is actually to panda.
timotimo_ hmm, if the prove returns nonzero, it will "fail 'Tests failed'"
why doesn't it fail according to dies_ok? 01:26
colomon ssutch: I don't see any sign of a fail.t existing now?
ssutch environ: ubuntu 13.04, perl 5.14.2, TAP::harness 3.23
timotimo_ r: sub foo() { fail "tests failed" }; use Test; dies_ok { foo }, "hopefully OK";
camelia rakudo b2072f: OUTPUT«ok 1 - hopefully OK␤»
ssutch rakudo: latest, panda: latest
camelia rakudo b2072f: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/MXExaCWR91:1␤------> latest, panda⏏: latest␤ expecting any of:␤ argument list␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ stat…
timotimo_ fwiw, i cannot reproduce your problem :( 01:27
colomon ssutch: github.com/tadzik/panda/tree/master/t
ssutch colomon: strangely, panda installed on another machine fine, not hours ago 01:28
colomon oh, is this in testmodules/testme2/t/?
timotimo_ yes
ssutch yeah
01:29 rindolf joined
timotimo_ i was going to bed, so that's what i'll do now. good luck! 01:29
colomon github.com/tadzik/panda/blob/maste...2/t/fail.t
is it that file? That's only got one test...
timotimo_ t/fail.t (Wstat: 0 Tests: 1 Failed: 1) Failed test: 1
that's the expected result
the *unexpected* result is that fail not leading to the exception 01:30
colomon ah
timotimo_ and *that* causes not ok 2 - what should fail, fails
# Looks like you failed 1 tests of 2
testception
and bedtime
ssutch hah
colomon: gist.github.com/samuraisam/5770551
(you may've already seen that link)
colomon hold on, I'm going to try it myself. 01:31
01:32 s1n left
ssutch perl6 --version; This is perl6 version 2012.10 built on parrot 4.6.0 revision 0 01:33
colomon hmmm... that's a bit old now.
aha! duplicated your failure. 01:34
ssutch installed from the repo, not sure why it says that
maybe when building from a repo it doesn't embed the correct version
colomon wrong branch, maybe?
perl6 --version
This is perl6 version 2013.05-210-g1d43629 built on parrot 5.2.0 revision RELEASE_5_2_0
that's built from a repo
ssutch yep, you're right, i am pointing at the wrong perl6 binary, strangely 01:36
01:36 lustlife joined
ssutch This is perl6 version 2013.05-236-gc947f78 built on parrot 5.2.0 revision RELEASE_5_2_0 01:36
colomon: how did you repro? 01:38
colomon I got a fresh panda, used the bootstrap code to git the submodules, then did perl6 -Ilib -Iext/File__Tools/lib t/tester.t 01:39
01:39 mrallen1 joined
ssutch colomon: strangely, when using the correct version of rakudo, it installed just fine, so perhaps an error is being masked somewhere? 01:40
colomon I don't know. This is somewhat confusing code. :\
my rakudo is not perfectly fresh, so there's a possibility that's the issue. 01:41
ssutch probably not, i can repro the issue (despite installation working properly) by running the same command as you 01:42
colomon interesting. if I change Tester.pm to die instead of fail, I catch the error.
01:46 GlitchMr left
ssutch what does that imply? 01:46
colomon I wonder if you're seeing nested failures? That is, tester.t fails because Panda::Tester::test has changed errors from die to fail; and then the installer installs it anyway, because Panda does n't notice the fail as a test failure. 01:47
labster try doesn't catch errors thing I ran into yesterday?
colomon labster: I didn't notice that when you posted it (or I've forgotten), can you give us more context? 01:48
01:48 s1n joined
labster sub foo { fail "bar" }; try foo(); #this dies 01:48
colomon is running a huge cad test in the background, as well as systematically downloading video of the 1981 Newfoundland Folk Festival. My input control on my box comes and goes as a result... 01:49
labster because try catches thrown errors, but not failures, and then the failure goes into sink context and gets thrown
01:50 cognominal joined
ssutch hmm 01:50
colomon labster: yes, I'm think this might be a similar issue
colomon is now desperately turning off programs because his Mac is running out of memory. 01:51
01:52 rindolf left
colomon ah, the cad program was using 4.5 gigs of memory. :\ 01:53
01:54 jeff_s1 left, GlitchMr joined 01:55 atroxaper joined
ssutch colomon, labster: is that a bug which needs reported? 01:56
labster Yeah, a specsbug (IMO, anyway)
colomon the immediate problem is a panda bug
(I mean, not labster's thing)
ssutch im not sure what a specsbug is, or how to go about helping, unfortunately 01:57
colomon ssutch: he means it's actually a problem with the perl 6 specification.
labster Don't worry about it, I'll think about it some more :)
What are we trying to fix in panda? 01:58
colomon the panda thing is a more immediate issue though, I'm pretty sure it still won't work even if that bit of the spec and rakudo were fixed the way labster++ wants.
ssutch i see 01:59
colomon let me ponder the best way to report it.
02:01 atroxaper left
ssutch meaning how to describe it in a bug on the GH project? 02:01
colomon ssutch: was pondering fixing it locally and doing a pull request, but probably just submitting the bug is better. 02:02
02:02 benabik joined
ssutch eh, good to get something started 02:02
if you file a bug i can tinker with a fix 02:03
02:03 census2 joined
ssutch i won't be able to describe the problem well enough, or with enough depth 02:03
colomon I'm still trying to figure out if I understand the problem or not. 02:05
stevan__ www.infoq.com/presentations/Thinkin...rogramming << good talk about concurrency and perhaps Perl 6 related 02:07
lizmat: ^ you in particular might be interested in this 02:08
colomon ssutch: huh. looking over everything again, I'm not convinced there is a bug after all. what you were seeing may have been because you were using an obsolete p6 02:12
ssutch true
why might it fail when you run the case individually, then?
colomon I think I might have been misreading the test output then.
gist.github.com/colomon/5770760 looks like the first one I got working 02:13
sorear o/
colomon there's that FAIL, but it's the FAIL for the inner test, not the outer test.
\o, sorear
ssutch haha, you're right: 02:14
ok 2 - what should fail, fails
colomon ssutch: I searched over the code, and it looks to me like it should be trapping fails and converting them to exceptions.
I'm not convinced it's a sane error handling system, but it does look like it should work.
unless $_ = $.tester.test($dir) { 02:15
die X::Panda.new($bone.name, 'test', $_)
}
seems like it's adding a couple of lines of code and a conditional simply to avoid passing the name of the project into the testing code. 02:17
labster anyone convinced of panda's sanity is probably insane himself. 02:19
ssutch hah 02:20
colomon afk # sleep 02:40
Teratogen does perl 6 still use & for functions/subroutines? 02:42
02:43 atroxaper joined
lue r: &say("yes :)") 02:44
camelia rakudo b2072f: OUTPUT«yes :)␤»
Teratogen that's slicker than cum on a gold tooth! 02:45
ssutch r: my $s = &say; $s("plop"); 02:46
camelia rakudo b2072f: OUTPUT«plop␤»
Teratogen I can see Perl 6 is going to be a whole new learning curve for me 02:47
02:48 SamuraiJack joined
lue r: my ¢capture = \(1,2,3); # sadly, we do not still have this sigil :( (S08 says we do, but IIRC that's a bunch of lies) 02:49
camelia rakudo b2072f: OUTPUT«===SORRY!===␤Malformed my␤at /tmp/U0j_rYGsVR:1␤------> my ⏏¢capture = \(1,2,3); # sadly, we do not ␤ expecting any of:␤ scoped declarator␤»
benabik r: my \cap = \(1,2,3)
camelia rakudo b2072f: ( no output )
benabik r: my \cap = \(1,2,3); say cap
camelia rakudo b2072f: OUTPUT«1 2 3␤»
03:00 imIKARi joined 03:03 btyler joined
labster r: my \cap = \(1,2,3); say cap.perl 03:05
camelia rakudo b2072f: OUTPUT«Capture.new( list => (1, 2, 3).list, hash => EnumMap.new())␤»
benabik To be fair, I think you can store them in normal $vars. 03:06
r: my $cap = \(1,2,3); say $cap.perl
camelia rakudo b2072f: OUTPUT«Capture.new( list => (1, 2, 3).list, hash => EnumMap.new())␤»
lue Of course you can. But normal variables don't have a sigil that requires fancier methods to type :) 03:07
(On a US keyboard, anyway) 03:08
atroxaper Good morning, #perl6 ! 03:19
03:22 btyler left
sorear o/ 03:24
03:29 cognominal left, cognominal joined, jercos left, jercos joined 03:38 FOAD left 03:40 btyler joined
pmichaud sorear: sorry I didn't get the CLA printed while in Austin... ended up getting back to room too late each day. 03:43
Teratogen is there a CPAN for Perl 6 yet? 03:44
benabik panda?
sorear it's called panda. look it up.
pmichaud if you email or /msg me a mailing address for you, I'll send you a blank CLA and a return-postage envelope.
Teratogen: modules.perl6.org may be what you're looking for.
03:55 ldthien0 joined 03:59 ldthien0 left, preflex_ joined, ChanServ sets mode: +v preflex_ 04:00 preflex left, preflex_ is now known as preflex 04:02 ldthien0 joined 04:04 ldthien0 left
dalek kudo/nom: 90f3bee | pmichaud++ | src/core/Hash.pm:
Enable Hash[TVal,TKey].new to work (for lizmat++).

This patch updates Hash.new so that it correctly understands how to create typed hashes from a parameterized Hash type object. In particular, `Hash[Str,Int].new` will create a hash constrained to Int keys and Str values.
This patch at least partially addresses
  github.com/perl6/specs/issues/43 .
Note that this doesn't resolve the output of `.perl` on typed hashes; that's a different problem (having to do with the definition of `Hash.perl` and/or `TypedHash.perl`). And `.perl` is due for some redesign as well, see
  github.com/perl6/specs/issues/6 .
04:06
04:07 aindilis joined
sorear pmichaud: \o/ 04:07
pmichaud gist.github.com/pmichaud/5771173 # example run 04:08
it's often nice when the patch description is longer than the patch itself :) 04:09
04:11 BenGoldberg left
pmichaud .tell lizmat creating typed hashes via Hash[TVal,TKey].new now works. 04:11
yoleaux pmichaud: I'll pass your message to lizmat.
pmichaud okay, time to take care of other stuff... be back tomorrow, hopefully
04:16 btyler left 04:22 x2 is now known as vaelxon 04:27 Psyche^ joined 04:30 Patterner left, Psyche^ is now known as Patterner 04:32 FOAD joined, FOAD left, FOAD joined 04:36 mrallen1 left 04:52 birdwindupbird joined
lue Is TVal first because someone who types just Hash[Obj] is more likely to be wanting to constrict value type? 04:53
sorear yes 04:59
all required parameters must come before all optional parameters
04:59 zby_home joined
sorear also this allows Hash[foo] and Array[foo] to both be containers of foo 04:59
05:44 dmol joined, genehack_ is now known as genehack 06:02 Chillance left 06:05 dylanwh left 06:06 dylanwh joined 06:16 PacoAir left, tomyan joined 06:20 zby_home left, dmol left 06:32 FROGGS_ left 06:39 vaelxon left 06:41 zby_home joined 06:43 vaelxon joined 06:46 kaleem joined 06:47 yves joined 06:49 FROGGS_ joined, FROGGS_ is now known as FROGGS
FROGGS o/ 06:49
labster \o FROGGS 06:54
moritz \o *
RedditAnalytics could someone show me a COBOL one-liner to decode a JSON string? 06:57
whoops wrong channel
FROGGS hehe 06:59
not so wrong, I guess here are peeps who'd love to help you there 07:00
Patterner don't say the C-word.
Teratogen back in the late 1990s I saw examples of Cobol CGI and Fortran CGI on the web 07:02
they both looked very painful 07:03
Patterner I saw a "HUNT THE WUMPUS" in COBOL recently
bonsaikitten Teratogen: you say that as if these things were retired now
Patterner I do COBOL nearly every day... it's alive^Wundead.
Teratogen Object Oriented Cobol!
moritz cOObol? 07:04
Patterner OOPSCOBOL
sorear is that anything like CLC OBJECT DISORIENTED INTERCAL 07:05
bonsaikitten: but is cobol still being used *for CGI*? 07:06
07:06 domidumont joined
bonsaikitten sorear: never run a touchy system, or something ;) I mean ... I have some sh-CGI here, and I see no reason to replace it 07:07
Patterner banks and insurance companies normally don't use CGI. 07:11
moritz what do they use? mod_php? 07:12
07:12 zby_home left
Patterner 3270 :) 07:12
sorear does, in fact, have to interface with COBOL for $dayjob 07:14
sorear uses... unsecured ftp dropboxes.
Patterner our customers have to use sftp for delivery :) 07:15
sorear actually that's not quite true. the system uses USER/PASS authentication.
but business data over cleartext tcp gives me the heebie jeebies 07:16
07:16 sqirrel joined
sorear Patterner: that's awesome. $PARTNER doesn't even offer sftp. 07:16
and no X12.58 either 07:17
Patterner "we don't do that" "exclude our liability in writing" "we can do that" 07:19
sorear hmm? 07:20
Patterner when some doesn't want to use sftp 07:21
*someone
sorear ah, when other people want to use plain ftp, you make them sign waivers? 07:22
what kind of business are you running?
Patterner so far everybody complied :) 07:23
converting z/OS Assembly to COBOL
(not running, just a small cog in the big wheel)
07:25 domidumont left 07:26 domidumont joined 07:31 lustlife` joined 07:35 lustlife is now known as Guest33911 07:38 lustlife` left 07:40 lustlife` joined
lizmat pmichaud++ 07:43
yoleaux 04:11Z <pmichaud> lizmat: creating typed hashes via Hash[TVal,TKey].new now works.
07:45 Guest33911 left, lustlife` left 07:50 Tsuki-san joined 07:53 Tsuki-san left
lizmat Stevan__++ 07:53
07:54 lustlife` joined 07:58 imIKARi left 08:00 tomyan left 08:01 Tsuki-san joined 08:02 Tsuki-san left 08:04 lustlife` is now known as lustlife 08:13 fhelmberger joined 08:18 tomyan joined 08:23 tomyan left 08:26 tgt joined 08:29 ssutch_ joined
ssutch_ damn, i like hyper operators or whatever, the >> 08:30
08:32 SmokeMac_ joined, SmokeMachine left 08:34 dakkar joined
moritz yes, they are neat 08:37
masak good antenoon, #perl6 08:40
08:42 kaleem left 08:43 SmokeMac_ left
moritz \o masak 08:45
sorear o/ 08:46
08:46 hypolin left
dalek ast: 11905a8 | (Elizabeth Mattijsen)++ | S02-types/ (2 files):
Fudge some now passing keyset|set tests
08:46
08:46 hypolin joined
sorear moritz: I just realized I haven't seen Ronja in almost a year. Did you successfully train her to avoid keyboards? :) 08:46
ssutch_ what's a good way to get an array of random numbers 08:47
sorear r: say rand xx 5
camelia rakudo b2072f: OUTPUT«0.47205200940104 0.873995257114199 0.0482415071191511 0.820666323078587 0.344253672970794␤» 08:48
08:48 SmokeMachine joined
moritz sorear: for one my laptop is broken, and the desktop keyboard harder to read 08:48
sorear: and I try harder to move the cursor out of the irssi window, thus taking the focus away 08:49
sorear: and finally, growing up, she spends less time on my lap :-)
ssutch_ what if i want integers 1 to 30?
jnthn r: say (1..30).roll(5)
camelia rakudo b2072f: OUTPUT«24 21 10 3 17␤»
moritz sorear: oh, and I work more, so less time at home in front of IRC 08:50
ssutch_ roll?
moritz like rolling dice
ssutch_ yeah, how does (1..30).roll work?
sorear r: say (1..10).pick(7) # or if you want a lottery, that can be done too
camelia rakudo b2072f: OUTPUT«5 4 8 7 9 3 1␤»
sorear ssutch_: 1..30 returns a Range object, pick and roll are methods on that 08:51
ssutch_ ahh
08:51 jlaire joined
sorear moritz: so how much longer until she deliberately seeks out IRC windows? :D 08:51
ssutch_ neato 08:52
08:56 census2 left
moritz sorear: dunno, currently youtube is all the rage, mostly this one here: en.wikipedia.org/wiki/Mole_%28Zden...aracter%29 08:56
and anything related to fire fighters
ssutch_ is it better to turn a float rand into an int or to use Range::roll? 08:58
moritz sorear: Range.roll is more idiomatic 08:59
sorry, meant ssutch_
ssutch_ hokay 09:00
thanks!
is there a way to apply the >> operator to an infix operator such as *
sorear r: say (1..10) <<*>> (1..10) 09:01
camelia rakudo b2072f: OUTPUT«1 4 9 16 25 36 49 64 81 100␤»
sorear r: say (1..10) >>*<< (1..10)
camelia rakudo b2072f: OUTPUT«1 4 9 16 25 36 49 64 81 100␤»
sorear r: say (1..10) >>*>> 5
camelia rakudo b2072f: OUTPUT«5 10 15 20 25 30 35 40 45 50␤»
sorear r: say (1..10) >>*<< 5
camelia rakudo b2072f: OUTPUT«Lists on both side of non-dwimmy hyperop of infix:<*> are not of the same length␤left: 10 elements, right: 1 elements␤ in sub hyper at src/gen/CORE.setting:14157␤ in sub hyper at src/gen/CORE.setting:14145␤ in block at src/gen/CORE.setting:14136␤ in block at …
ssutch_ heh you guys rock 09:03
09:04 kaleem joined, yoleaux left
ssutch_ r: say ((rand xx 10)>>*>>10)>>.floor.join(", ") 09:07
camelia rakudo b2072f: OUTPUT«7, 9, 2, 0, 5, 6, 1, 3, 1, 3␤»
ssutch_ lolz
that's fun
09:08 dpk left
jnthn pmichaud++ # Hash.new fix, and it's almost certainly faster too :) 09:16
Timbus r: (0..9).roll(10).join(", ").say
camelia rakudo b2072f: OUTPUT«8, 8, 2, 6, 2, 8, 6, 0, 9, 9␤»
ssutch_ what if i wanted to turn those each into a list of string "x" 09:17
eg ["xxxxx", "xxxx", "x", "xxxxxxx", ...] 09:18
Timbus map * x "x"
ssutch_ so x multiplied by the integer in the array
Timbus r: say "x" x 5
jnthn r: (0..9).roll(10).map("x" x *).join(", ").say
camelia rakudo b2072f: OUTPUT«xxxxx␤»
rakudo b2072f: OUTPUT«x, xxxxxxxx, xxxx, x, xxxxxxxx, xxxxx, xx, xxxxxx, xxxxx, ␤»
Timbus yeah
ssutch_ nice
what is the *
Timbus "whatever" 09:19
ssutch_ like $_
Timbus basically
ssutch_ cool
Timbus makes a block though
jnthn "x" x * creates a closure like { "x" x $_ }
ssutch_ ahhh, ok 09:20
Timbus r: my $addfive = * + 5; say $addfive(37)
camelia rakudo b2072f: OUTPUT«42␤»
jnthn Well, I guess it doesn't clone over much of anything in this case, though. :)
ssutch_ is there something like .select(* > 1) to filter an array
jnthn .grep(* > 1)
Timbus grep(* > 1)
what is this a race D;
jnthn :) 09:21
ssutch_ fun
lizmat jnthn: wrt pmichaud's changes: I guess all of the [TVal,TKey] work is done in the nqp::create(self) ? 09:22
ssutch_ p: say ((rand xx 10)>>*>>10)>>.floor.grep(* > 1).map("x" x *).join(", ")
camelia pugs: OUTPUT«*** ␤ Unexpected "*>>"␤ expecting term postfix␤ at /tmp/7AisggCMaP line 1, column 20␤»
ssutch_ r: say ((rand xx 10)>>*>>10)>>.floor.grep(* > 1).map("x" x *).join(", ")
camelia rakudo b2072f: OUTPUT«xx, xxxxxxx, xxxxxxx, xxx, xxxx, xxxxxxx, xxxxx, xxxx␤»
lizmat jnthn: or in the %h.STORE(@args) ?
jnthn lizmat: nqp::create(self) creates something of exactly the same type as self 09:23
lizmat: And the [TKey, TValue] are part of the type
lizmat ok, I didn't realize it was that simple
ssutch_ fun times
masak r: say join ", ", map "x" x *, (2..10).roll 09:24
camelia rakudo b2072f: OUTPUT«xxxxx␤»
masak r: say join ", ", map "x" x *, (2..10).roll xx 10
camelia rakudo b2072f: OUTPUT«xxxxx, xxxxxxx, xx, xxxxxx, xxxxxxxx, xxxxxxxxxx, xx, xxxxxxx, xxxxxx, xxxxxxxxxx␤»
ssutch_ nice
masak utilizing listops and not just chaining. 09:25
r: say join ", ", "x" x (2..10).roll xx 10
camelia rakudo b2072f: OUTPUT«xxxxxx, xxx, xxxxxxxxx, xx, xxxxxxx, xxxxxxxxx, xxxx, xxxxxxxxx, xxxxxxxx, xxxxx␤»
masak even better ;)
ssutch_ interesting, listops
masak in the above, 'join' and 'map' were listops. 09:26
effectively it means that they have an invisible '(' and the ')' is also invisible and ends up at the end of the statement.
ssutch_ chaining is clearer, coming from python/java/etc, however listops is prettier 09:27
masak yeah, listops reduce clutter.
jnthn There's also feeds
lizmat r: say ("x" x 10).substr(0,(2..10).roll) for ^10
camelia rakudo b2072f: OUTPUT«xxxx␤xx␤xxxx␤xxxxxx␤xxxxxxxxx␤xxxxxxxxxx␤xxxxxxx␤xxxxxxxxxx␤xxxxxx␤xxx␤»
jnthn r: (2..10).roll(10) ==> map "x" x * ==> join ", " ==> say
camelia rakudo b2072f: OUTPUT«xxxxx, xxxxxxx, xx, xxxxxxxx, xxxx, xx, xxxxxxxx, xxxxxxx, xxxxxxx, xxxxxxxxx␤»
masak so many paradigms! :D
Timbus r: say join ", ", do for ^10 {"x" x (2..9).pick} 09:28
camelia rakudo b2072f: OUTPUT«xxxxxxxx, xxx, xxxxxx, xxxxxxx, xxxxxxxx, xxx, xxxxxx, xxx, xxx, xx␤»
jnthn Which mean you can write things in the order they take place.
ssutch_ masak: if you were to put parens around that, what would it look like?
sorear jnthn: I'm thinking that all frames in a caller-chain should have the same thread context
masak r: say(join(", ", map("x" x *, (2..10).roll xx 10)))
camelia rakudo b2072f: OUTPUT«xx, xxxxx, xxx, xxxxx, xxxxxxxx, xxxxx, xxxxxxx, xxxxx, xxxxxxxxxx, xxxxxxxx␤»
jnthn sorear: Not sure that can be true? I mean, what's the caller of an async? 09:29
09:29 tgt left
jnthn sorear: Or in @stuff>>.() where the invocations get threaded? 09:29
I'd expect $*FOOs to still be visible.
Or are we talking about the dynamic caller chain? 09:30
sorear Right now I'm working on a one-caller model
async sort of wants two-caller
because we absolutely don't want exceptions propagating out 09:31
jnthn True...I'd kinda been thinking that the boundary frame would be "special" in some way
sorear anyway as long as we have a continuation boundary at the async all is good :)
ssutch_ xxxes: gist.github.com/samuraisam/5772440 09:32
jnthn That sounds reasonable. Not having one hurts my not-enough-coffee-yet head :)
sorear async and gather both want to propagate contextuals but not exceptions
masak ssutch_: nice :) 09:35
09:40 ggoebel left 09:42 tgt joined 09:47 cooper left 09:48 ggoebel joined 09:50 yves left
sorear awesome. just got a NRE in org.objectweb.asm.Frame.a 09:54
nwc10 NRE? E is presumably Exception 09:55
sorear null ref
09:56 Timbus left
nwc10 forgive my ignorance, but is that a bug in it, or in user code? 09:56
ie, is it "Should not be possible"?
sorear that's a very good question.
jnthn sorear: Grab a debug version of it, rather than the minified one
09:58 Timbus joined
jnthn sorear: I think what sometimes happens is that there's an unbalanced stack, and it then reports it very badly (e.g. like this) :/ 10:00
10:01 zakalwe_ is now known as zakalwe, kaleem left 10:02 kaleem joined
sorear hmm, seems my labels are getting eaten to 10:02
too
d'oh 10:03
was passing the wrong thing to trycatch
let's see if this fixes it
10:04 daxim joined 10:05 yves joined, ssutch_ left
sorear jnthn: can I assume "has int $!foo" will be initialized to zero? 10:07
jnthn sorear: yes
10:07 anuby left
sorear jnthn: It seems that modifying the compiler to define all the labels I'm jumping to helped a bit 10:09
jnthn sorear: "you don't say" :) 10:10
sorear: Got a more useful error now?
sorear Not really
Which version of the asm.jar am I supposed to get again? 10:11
jnthn aww
I think we're on 4.1
sorear java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: 1
jnthn eek
sorear I'm staring at forge.ow2.org/project/showfiles.php?group_id=23 and I can't see which jars are minified
10:12 ssutch left
jnthn sorear: The .zip files tend to contain a minified and non-minified version. 10:12
sorear: It can also be sometimes helpful to put a e.printStackTrace() in around line 67 or so of JASTToJVMBytecode.java 10:13
sorear found it 10:15
java.lang.ClassFormatError: Illegal class name "Lorg/perl6/nqp/runtime/ThreadContext;" in class file D9375F1865034634DA52C58DF992620B58E5A6CB
wut
10:16 daxim_ joined
jnthn wat 10:16
10:17 daxim left
tadzik Lorg is the new Borg 10:17
masak :) 10:18
the 'L' stands for 'cLass', IIRC.
or at least a reference type, which isn't an array.
10:19 jferrero joined, jferrero left, jferrero joined
sorear oops, I was *also* leaving the stack rather unbalanced 10:22
10:23 jferrero left 10:24 jferrero joined 10:27 rindolf joined
sorear ok, now it's blowing up in a completely different way. 10:28
sqirrel o/ sorear
sorear o/ aq 10:32
o/ sqirrel
10:32 cognominal left 10:34 SamuraiJack left 10:35 daxim__ joined 10:36 daxim_ left 10:37 SamuraiJack joined
sorear ok, the crash depends on COMPUTE_FRAMEWS 10:43
colomon ugh, when I try to install Time::Duration with panda I get 24 test failures. when I run it by hand, I get 0 test failures -- even when I use the pre-compiled module. :( 10:44
jnthn sorear: That tends to mean the stack is unbalanced somewhere. But if you remove it, you get bytecode out and can inspect it at least. 10:46
sorear qb_NNN numbers aren't consequtive and vary from compile to compile? 10:49
jnthn I don't think they vary from compile to compile 10:51
They're consecutive in some sense but probably not ordered in the generated output.
Probably ordered by "when did we first encounter the QAST::Block in question" 10:52
sorear yay! i made it...ONE FILE FURTHER! 10:55
tadzik colomon: wow, that's weird 10:57
colomon tadzik: indeed
tadzik: also, it worked yesterday. 10:58
tadzik :o
jnthn sorear: yay!
lizmat colomon: it's the 13th today? although not a Friday :-) 11:00
colomon tadzik: so it seems like it must have been caused by a Rakudo change yesterday
tadzik that'd make me feel better 11:01
lizmat I think the only one is pmichaud's Hash.new change ?
colomon lizmat: jnthn had two patches yesterday as well
jnthn uh-oh. :) 11:02
lizmat Ah, ok, must have slipped out of my Textual, visible backlog then
colomon backs up his rakudo to 978aeeee24d3d88131695f74568873c29a8de921 and tries again...
jnthn Though, my patches were on JVM stuff, I think. 11:03
lizmat fwiw, I spectestested pmichaud's change without any errors 11:04
so if that *is* the problem, we don't have a test for it
colomon lizmat: that would describe almost every issue with have in the overall module ecosystem. ;) 11:05
11:05 amkrankruleuen joined, amkrankruleuen left 11:06 amkrankruleuen joined 11:07 atroxaper left 11:09 JimmyZ joined
colomon at 978aeeee24d3d88131695f74568873c29a8de921 it works fine 11:09
11:09 amkrankruleuen left
moritz colomon: of course; the errors we have tests for never even make it to the ecosystem 11:10
11:11 dalek left, dalek joined, ChanServ sets mode: +v dalek 11:12 tgt left
sorear cool, it falls apart if I have a function call which needs to be treated as a resume point inside a parameter default value 11:14
lizmat is there an easy way to convert a string such as 'Str' to the type Str without having to resort to eval ? 11:15
sorear ::('Str') 11:16
lizmat sorear++ 11:18
11:18 cooper joined, amkrankruleuen joined 11:19 amkrankruleuen left, amkrankruleuen joined, amkrankruleuen left, amkrankruleuen joined, amkrankruleuen left
masak rn: multi foo(:$d!, *@f) {}; multi foo(*@f) { say "works" }; foo() 11:22
camelia rakudo b2072f: OUTPUT«works␤»
..niecza v24-75-g480a062: OUTPUT«Potential difficulties:␤ $d is declared but not used at /tmp/fldzGYorEm line 1:␤------> multi foo(:⏏$d!, *@f) {}; multi foo(*@f) { say "work␤ @f is declared but not used at /tmp/fldzGYorEm line 1:␤------> multi foo(:$d!, *⏏[…
masak rn: multi foo(*@f, :$d!) {}; multi foo(*@f) { say "works" }; foo()
camelia rakudo b2072f: OUTPUT«Ambiguous call to 'foo'; these signatures all match:␤:(*@f, :d(:$d)!)␤:(*@f)␤ in sub foo at /tmp/ENmRfCy7XE:1␤ in block at /tmp/ENmRfCy7XE:1␤␤»
..niecza v24-75-g480a062: OUTPUT«Potential difficulties:␤ @f is declared but not used at /tmp/1FKU62R8td line 1:␤------> multi foo(*⏏@f, :$d!) {}; multi foo(*@f) { say "work␤ $d is declared but not used at /tmp/1FKU62R8td line 1:␤------> multi foo(*@f, :⏏[3…
masak *sigh*
can we please removed those useless 'is declared but not used' warnings? 11:23
remove*
they're obscuring the result of the program.
lizmat at least in camelia :-)
r: say 'Str'.WHAT; say Str.WHAT # how do I differentiate between 'Str' and Str ?
camelia rakudo b2072f: OUTPUT«(Str)␤(Str)␤»
masak really, we should start thinking of warnings as having (at least) two levels: refactor-time and commit-time. 11:24
sorear wonders if masak is interested in #OK
masak sorear: yes, in the short term. thanks.
jnthn lizmat: .DEFINITE
masak rn: multi foo(*@f, :$d!) {}; multi foo(*@f) { say "works" }; foo() # OK
camelia niecza v24-75-g480a062: OUTPUT«Potential difficulties:␤ @f is declared but not used at /tmp/wCHfjb5uOe line 1:␤------> multi foo(*⏏@f, :$d!) {}; multi foo(*@f) { say "work␤ $d is declared but not used at /tmp/wCHfjb5uOe line 1:␤------> multi foo(*@f, :⏏[3…
..rakudo b2072f: OUTPUT«Ambiguous call to 'foo'; these signatures all match:␤:(*@f, :d(:$d)!)␤:(*@f)␤ in sub foo at /tmp/qaOCMY8Ca9:1␤ in block at /tmp/qaOCMY8Ca9:1␤␤»
masak rn: multi foo(*@f, :$d!) {}; multi foo(*@f) { say "works" }; foo() #OK
camelia niecza v24-75-g480a062: OUTPUT«works␤»
..rakudo b2072f: OUTPUT«Ambiguous call to 'foo'; these signatures all match:␤:(*@f, :d(:$d)!)␤:(*@f)␤ in sub foo at /tmp/x62Ze8yNAL:1␤ in block at /tmp/x62Ze8yNAL:1␤␤»
masak rn: multi foo(:$d!, *@f) {}; multi foo(*@f) { say "works" }; foo() #OK
camelia rakudo b2072f, niecza v24-75-g480a062: OUTPUT«works␤»
masak submits rakudobug
lizmat jnthn++
sorear jnthn: Is it deliberate that function parameter default values are compiled outside the scope of $*BLOCK ? 11:25
11:25 cognominal joined
jnthn sorear: No, that sounds accidental. 11:25
11:26 amkrankruleuen joined, amkrankruleuen left, amkrankruleuen joined
jnthn sorear: Oddly though, "sub foo($x, $y = $x) { say($y) }; foo(1);" works...which I'd kinda not expect to if the wrong $*BLOCK was in scope... 11:27
11:27 rindolf left
sorear nqp-jvm: sub foo($x, $y = $x) { say($y) }; foo(1); 11:34
camelia nqp-jvm: OUTPUT«1␤»
sorear nqp-jvm: my $z := 2; my $x := 3; sub foo($x, $y = $x) { say($y) }; foo(1); 11:35
camelia nqp-jvm: OUTPUT«java.lang.ArrayIndexOutOfBoundsException: 5␤ at org.perl6.nqp.runtime.Ops.getlex_o(Ops.java:473)␤ at A69CBE3FC5DEDECB510AAD35FFAA48063FF8862B.qb_11(<generated>)␤ at org.perl6.nqp.runtime.Ops.invokeInternal(Ops.java:1240)␤ at org.perl6.nqp.runtime.Ops.invoke(Ops.java:1200…
jnthn eek
sorear jnthn: I blame fallback to dynamic lookup
jnthn Yeah, forgot about that.
sorear sorear$ ./nqp -e 'my $z := 2; my $x := 3; sub foo($x, $y = $x) { say($y) }; foo(1);' 11:36
1
colomon okay, it looks like it's the Hash.new changes causing the problem with Time::Duration / Panda. If I rollback just that commit, everything works okay.
afk # walk
dalek p: 4891d23 | sorear++ | src/vm/jvm/ (3 files):
Code generation support for thawing saved frames. Also fixes block scope error on default arguments.
11:37
11:43 rhr left
lizmat colomon: any example of code actually breaking? 11:43
sorear nqp::qlist. Heh.
jnthn: what is "inlinability" in QAST::CompilerJAST? 11:45
jnthn sorear: "can an optimizer inline some block using this op in a plce that calls it" 11:47
*place
I did it as an opt-in thing on Parrot, but most things are inlineable, so pondering switching it to opt-out for Moar. Don't think anything is marked either way just yet. 11:48
11:51 kaleem left
masak .oO( "outlinability"?! ) 11:54
sorear sleep& 11:55
jnthn 'night, sorear 11:56
11:59 gudahtt joined
moritz inlininability 11:59
12:04 yoleaux joined 12:05 ChanServ sets mode: +v yoleaux 12:06 dpk joined 12:07 skids left 12:08 btyler joined
dalek kudo/nom: 948b2b5 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
Get rid of evil eval hack in Any.hash, change type to keytype

The latter was suggested on #perl6 by TimToady, as I recall. Possible thanks to the work of pmichaud on Hash.new.
12:11
lizmat off to the French Perl Workshop& 12:12
12:12 lizmat left 12:13 woolfy left 12:14 crab2313 joined, cognominal left 12:15 crab2313 left
jnthn airport, stuff...be back sometime & 12:18
12:18 konundra joined 12:19 btyler left
masak ditto & 12:19
dalek rl6-roast-data: 722bf4f | coke++ | / (4 files):
today (automated commit)
12:27
[Coke] niecza has 16 failing tests at the moment. (so close) 12:28
dalek kudo-star-daily: fba81ec | coke++ | log/ (5 files):
today (automated commit)
12:35
12:47 atroxaper joined 12:49 spider-mario joined, JimmyZ left 12:53 JimmyZ joined 13:00 Woodi joined
colomon First six tests which fail all are calls to later_exact 13:00
13:03 census joined
timotimo_ hm, what does that do? 13:06
13:07 kaleem joined, PacoAir joined 13:08 JimmyZ left, ajr joined 13:09 ajr is now known as Guest42634, Guest42634 is now known as ajr_ 13:10 kaleem left 13:13 JimmyZ joined, Snowclone is now known as broquaint, broquaint left 13:14 broquaint joined 13:17 atroxaper left 13:21 pecastro left 13:22 rindolf joined, JimmyZ left 13:26 JimmyZ joined 13:30 pecastro joined 13:32 JimmyZ left 13:33 JimmyZ joined, JimmyZ left, konundra left 13:39 btyler joined 13:41 skids joined, btyler_ joined 13:43 cibs_ joined 13:45 konundra joined 13:46 cibs left, bluescreen10 joined 13:52 census left
colomon has finally gotten Panda to run prove --verbose so he can see what the error is: 13:53
# got: '365 days, 22 hours, 59 minutes, and 32 seconds later'
# expected: '1 year, 22 hours, 59 minutes, and 32 seconds later'
13:53 gudahtt left
spider-mario leap year? 13:57
PerlJam saying "365 days" rather than "1 year" 13:58
13:59 xenoterracide joined
colomon ugh, this bug is going to be a nightmare to track down 13:59
xenoterracide is there a comparison interface? like obj.equals( obj ) ? ( and on a more perly note is said interface automagically used under the hood by things like smartmatch 14:03
colomon xenoterracide: there are quite a few comparison operators
and yes, in some cases smartmatch uses them.
xenoterracide let me clarify, by interface, I mean is there specifically a role which defines the interface for equality. 14:06
colomon xenoterracide: nope
ACCEPTS is the standard method to implement smartmatch under the hood, but it's not a role
xenoterracide ok 14:07
on a different note, anyone get rakudo working on windows? 14:08
colomon getting 365 days instead of 1 year requires $this = floor($remainder / (365 * 24 * 60 * 60)); to not work correctly. :\
xenoterracide: has it recently stopped working on windows?
xenoterracide no idea, I've not tried to build it
wasn't sure if it was a supported arch 14:09
colomon xenoterracide: one of our main developers uses it 14:10
as his development platform, I mean.
xenoterracide maybe I should ask him what he uses as a terminal emulator 14:11
PerlJam xenoterracide: See rakudo.org/ btw
14:12 gudahtt joined 14:13 xenoterracide left
colomon r: 3600 * 24 * 366 - 360 -28 14:17
camelia rakudo b2072f: ( no output )
colomon r: say 3600 * 24 * 366 - 360 -28 14:18
camelia rakudo b2072f: OUTPUT«31622012␤»
colomon rn: say floor(31622012 / (365 * 24 * 60 * 60))
camelia rakudo b2072f, niecza v24-75-g480a062: OUTPUT«1␤»
colomon rn: say 31622012 - (365 * 24 * 60 * 60) 14:19
camelia rakudo b2072f, niecza v24-75-g480a062: OUTPUT«86012␤»
colomon rn: say 86012 / 3600 14:20
camelia rakudo b2072f, niecza v24-75-g480a062: OUTPUT«23.892222␤»
colomon rn: say 86012 % 3600
camelia rakudo b2072f, niecza v24-75-g480a062: OUTPUT«3212␤»
colomon rn: say 3212 / 60
camelia rakudo b2072f, niecza v24-75-g480a062: OUTPUT«53.533333␤»
colomon appears to have made a math error somewhere 14:21
14:21 census joined
colomon rn: my $MINUTE = 60; my $HOUR = 60 * $MINUTE; my $DAY = 24 * $HOUR; my $YEAR = 365 * $DAY; say $DAY + - $HOUR + -28 + $YEAR 14:22
camelia rakudo b2072f, niecza v24-75-g480a062: OUTPUT«31618772␤»
colomon rn: say floor(31618772 / (365 * 24 * 60 * 60))
camelia rakudo b2072f, niecza v24-75-g480a062: OUTPUT«1␤»
colomon how does one execute a p6 script which has been translated to pir? 14:27
14:27 xenoterracide joined
colomon afk # promised son I'd play the next level of Lego Star Wars 14:28
moritz colomon: I don't think that's possible right now 14:35
gfldex xenoterracide: rakudo on parrot runs (most of the time) on cygwin 14:36
14:37 xenoterracide left, xenoterracide joined, JimmyZ joined
xenoterracide cygwin is of course not quite native windows 14:42
moritz fwiw jnthn uses the msvcc toolchain to build rakudo 14:44
gfldex what is a good idea
Makefile:772: recipe for target `NQPP5QRegex.pbc' failed
make: *** [NQPP5QRegex.pbc] Segmentation fault (core dumped)
moritz gfldex: find installed copies of nqp, and delete them 14:45
JimmyZ use msvcc to build MoarVM because apr doesn't support strawberry perl 14:46
14:56 census left
BinGOs JimmyZ: do you mean apr doesn't support mingw, rather than Strawberry? 14:57
14:57 jnap joined
JimmyZ BinGOs: the former 14:57
jnap wow, there's a lot of people here 14:58
BinGOs it didn't appear to like Cygwin very much either. But I'll leave that to rurban
PerlJam jnap: just a few :)
gfldex the world waits for perl 6 :) 14:59
jnap is github.com/supernovus/perl6-psgi/ what we have for Perl6 and PSGI? is that recommended? 15:00
I'm asking because I am considering working on a Catalyst like port to Perl6, as a way to help CatalystP5 experiment with possible futures without breaking existing production code 15:02
JimmyZ BinGOs: I guess libuv will replace apr eventually
PerlJam jnap++ (I was just going to ask if you were exploring a perl6y catalyst)
JimmyZ Catalyst? the author of Catalyst creats mojo? 15:03
*created 15:04
jnap PerlJam: I think so, because like I said, maybe if some of us get sick of hacking backcompat all the time :) nice to have a free slate, but something that can co inspire between P5 and P6 Catalyst teams 15:05
15:06 census joined
jnap also maybe I can help try to inspire interest in hacking out the nonblcking support, which seems to not really be around, and is becoming a bigger deal for webdevelopment 15:07
gfldex rakudo build fine on cygwin after rm -r install/ 15:08
15:10 ajr_ left 15:12 ajr joined
timotimo_ oh, nonblocking support? yes, please :) 15:12
15:12 ajr is now known as Guest74130, Guest74130 is now known as ajr_
diakopter japhb: ping 15:12
moritz jnap: you can start by giving moarvm libuv as backend for IO, which supports non-blocking IO very nicely
timotimo_ not even suggesting to bring parrot up to speed? ;) 15:13
JimmyZ timotimo_: that will take another 10 years, me thinks :P 15:14
timotimo_ people keep saying moarvm seems very promising, which gives me hope :)
being non-involved in both the jvm work and the moarvm effort makes it really hard for me to see the progress being made; not enough blogposts ;) 15:15
15:16 domidumont left
jnap I'll look at linuv, but I guess that's going to be c programming, not my thing. I might be better off doing test cases, etc. 15:16
so I guess steps would be (for moarvm at least) integrate libuv with test cases, build a non blocking web server with it, then we can complate the PSGI port... 15:18
diakopter jnap: some of us are working on the libuv thing. not sure about timeline. 15:19
1-2 months to replace apr; 1-2 months to get async IO/events finalized, conservatively 15:20
15:20 ajr_ left
diakopter stevan__: that talk has been discussed several times on this channel :D it's possible they're findable in the clogs 15:20
jnap: optimistically, 2-3 weeks for each of those.. ;) 15:23
chip & I are working on the design doc with jnthn's and others' oversight 15:24
jnap diakopter: for nonblocking? are the docs someplace I can watch?
diakopter anyone else with node/libuv/C/threads experience is very welcome to contribute; we're not at the saturation point of contributors yet 15:25
jnap: yep; PM me a google account ID I can add to the shared drive folder 15:26
jnap I don't actually think we need to have nonblocking baked in to have PSGI as a base for webframeworks. I'm just looking at github.com/supernovus/perl6-psgi/ and not sure
15:26 btyler_ left
diakopter it doesn't need non-blocking if the threads are low-overhead enough, depending on how high concurrency/capacity you intend to serve... I mean... looking at these graphs gives some perspective: 15:27
www.techempower.com/benchmarks/#section=data-r3 15:28
15:29 spider-mario left, btyler left
diakopter oh, I guess there's some more recent rounds linked there from the top 15:30
ah, they added some perl ones by then
dancer, mojolicious 15:31
they're both around 1/25 the capacity of the best
well, on one test anyway 15:32
on another, around 1/2
jnap lol, I don't even want to know what Catalyst would look like on that
diakopter off the charts?
and not in the good direction?
jnap doubt in the good direction, yeah 15:33
the claim here is going to have to be productivity and long term maint over raw speed, at least for Catalyst P5
is my focus anyway
15:33 fhelmberger_ joined 15:34 fhelmberger left 15:36 btyler joined
diakopter I mean, they have Web::Simple on there. 15:37
...
seems Kelp is also a Perl one 15:38
afk&
15:38 fhelmberger_ left 15:41 btyler_ joined
JimmyZ can I watch the docs too? 15:46
15:47 benabik left
timotimo_ i hope there'll be a bit of nice performance to be had with websites and frameworks atop perl6 some day :| 15:47
15:47 cognominal joined 15:53 pochi_ joined 15:54 pochi left 16:03 kaare_ joined 16:04 snearch joined 16:07 JimmyZ left 16:08 lustlife left, crab2313 joined
__sri would be more than happy with perl5-ish performance 16:12
timotimo_ i don't know what perl5-ish performance is like :(
__sri is also very much looking forward to libuv and proper threads in moarvm :) 16:13
16:13 drbean left 16:15 drbean joined
timotimo_ is going to be excited about the deployment possibilities the jvm offers 16:15
perl6 web app: here's your .war, go! 16:16
16:16 Chillance joined
__sri jnap: hopefully we'll not have to make any of the perl5 tradeoffs in perl6 16:16
jnap __sri: I do think the big frameworks ontop of company supported languages are going to have a certain advantage here, since they can spend money on certain types of db and related optimizations 16:17
__sri expects web development in perl6 to be more like in scala... with play framework and the like
jnap I like play and on the JS side angular.js has a lot of neat ideas 16:18
timotimo_ what's special about play?
__sri is going to bring his mongodb driver with him once he starts working on mojolicious6
timotimo_: heavily based on actors 16:19
jnap timotimo_: is pretty approachable for the power you get
__sri imagines perl6 web dev to be about custom web servers with non-blocking i/o and actors 16:20
jnap but for CatalystP6 I think I'd want to be inspired by the current catalyst values of not trying to be a full stack, stay with the ideals of sticking as close as possible to standard syntax, etc
16:21 FROGGS left 16:23 FROGGS[mobile] joined
japhb diakopter, pong 16:24
timotimo_ so, what are the "conservative" and "optimistic" estimates for running something like the cave adventure game or a simple bailador web server or something along those lines on moarvm and/or jvm? 16:27
dalek ecs: 58d18fa | larry++ | S04-control.pod:
a try prefix implies 'use fatal' inside
16:28
diakopter timotimo_: lolz. 16:29
16:30 bluescreen10 left
diakopter those are like 60% confidence intervals. ;) 16:30
timotimo_ well, i'll still take them :P 16:31
16:31 SamuraiJack left 16:36 jnap left 16:40 dmol joined 16:46 birdwindupbird left 16:50 gudahtt left 17:02 dmol left 17:08 dmol joined 17:11 colomon left 17:15 scottp left 17:16 colomon joined 17:19 crab2313 left, scottp joined 17:25 mls joined
[Coke] nieza has 16 failures again today. 17:27
colomon [Coke]: presumably that will be the case until I figure out how to fix the Nil bug. 17:28
dalek c: 0f839d3 | GlitchMr++ | lib/Bool.pod:
Add forgotten dot.
17:28 rafl left, rafl joined
mls Hi guys! 17:30
17:30 cognominal left
mls (just backlogged a bit) 17:31
17:31 Shozan joined, SHODAN left
mls regarding auto-close: that reminds me of parrot patch I did some time ago 17:32
tadzik hi mls!
17:32 daxim__ left
mls It got rid of that "sub->ctx" ponter in parrot. 17:32
17:33 zby_home joined
mls It made nqp and perl6 work with the patch, it was just changing a couple of lines of code. 17:33
(jnthn++ maybe doesn't remember, though) 17:34
Anyway, I didn't merge it into parrot because it is not backward comatible, so I wanted to get the ok from the hll developers first 17:35
[Coke] talks with the rtbugadmins - my bug is fixed in the version we are (eventually) upgrading to.
mls It somehow slipped of my radar, though, so it's still not merged.
The commits are still in the mls/new-autoclose branch in the parrot git repo 17:36
See github.com/parrot/parrot/commits/m...-autoclose 17:37
17:37 snearch left 17:39 lizmat joined
lizmat arrived in hotel in Nancy, France 17:40
17:40 dakkar left
mls .tell jnthn FYI, I wrote a couple of comments about auto-close 17:40
yoleaux mls: I'll pass your message to jnthn.
17:42 domidumont joined 17:45 kaleem joined 17:53 census left 18:02 census joined
lizmat "all our dishes are furnished" 18:04
wow, what google translate will do to your menu :-)
18:07 kaleem left 18:24 rindolf left 18:26 ajr joined
lue hello world o/ 18:26
18:26 ajr is now known as Guest82299 18:27 Guest82299 is now known as ajr_
dalek rl6-roast-data: f4dd3ba | coke++ | / (4 files):
today (automated commit)
18:27
18:33 kst joined 18:40 rindolf joined 18:46 ssutch joined
labster \o hi lue 18:54
18:55 _jaldhar_ left 18:57 tomyan joined 19:08 domidumont left 19:11 tomyan left 19:14 FROGGS[mobile] left 19:17 rhr joined 19:19 tgt joined, tomyan joined
flussence huh... I just noticed the first byte of every UTF-8 codepoint in the Combining Diacriticals block is 0xCC|0xCD. wonder if that was done intentionally as a mnemonic. 19:21
19:25 fgomez left
dalek kudo-star-daily: 1130a81 | coke++ | log/ (5 files):
today (automated commit)
19:29
19:34 sqirrel left
[Coke] anyone know if star is picking the same version of modules each time, or if it's getting HEAD of master each time? 19:35
diakopter I thought the star repo contained snapshots of last known working releases 19:40
dagurval they point to a specific commit in each module 19:49
see for example this commit github.com/rakudo/star/commit/cabe...fa#modules
19:50 rindolf left 19:53 fgomez joined
flussence star uses git submodules last I checked, and those don't auto-update. You have to run a specific `git submodule $something` to do that. 19:53
labster r: my $h = &cwd.wrap( { 'FAKE' } ); say cwd(); say &cwd(); 19:57
camelia rakudo b2072f: OUTPUT«/home/p6eval␤FAKE␤»
labster Am I doing something wrong here?
dalek ecs: 8875a24 | (Dagur Valberg Johansson)++ | S11-modules.pod:
Constants, enums and (our) variables are also exportable (I hope)
20:05
20:08 fgomez left
lue I'm a bit confused by S02:1908. Should it instead be s/short form/method form/ (or similar phrasing)? 20:14
flussence +1 for method 20:17
lue (Of course, I question the validity of mentioning alternate forms of dereferencers in a section called "sigils indicate interference", but oh well)
s/interference/interface/
timotimo_ hehe
20:17 zby_home left
timotimo_ with a barcode sigil you get cancer rays from outer space 20:17
lue I'm wondering if I shouldn't just remove the paragraph I cited. Yes the [], {}, and () were mentioned above, but only in passing. 20:18
flussence that'd kill two problems at once (there's an "s" trying to run away too) 20:20
20:21 bruges_ left 20:23 bruges joined
[Coke] dagurval: danke. (so, I think one thing I have to add the daily star runs is "how many commits behind are we for each module" 20:24
20:25 ssutch left 20:26 konundra left
dalek ecs: b832cbe | lue++ | S02-bits.pod:
[S02] Remove irrelevant sentence.

The operators to which the sentence was referring to were only mentioned in passing in this section ("Sigils indicate interface"). Dereferencers are described in detail elsewhere, along with the dotted method forms.
20:26
[Coke] in my checked out copy of star, those module directories are already ... checked out. how can I edit/get the submodule verison?
*version 20:27
dagurval I wonder if there is a reason for star not following latest commit. It wasn't possible before with submodules, perhaps that is the reason? It's possible now though with a recent version of git.
[Coke] We don't want to fight breakage just before a release. 20:29
I think it's reasonable to stick with "known good" versions. (I'd prefer something like auto-jumping to the next release tag, but our ecosystem doesn't do that)
doc is not the latest version. 20:30
json... jsonrpc, panda, rakudo-debugger, zavolaj - those all have updates not in star. 20:32
If someone bumps those up to latest, we can get some test coverage on the daily run before any release this month.
20:38 fgomez joined
sorear good * #perl6 20:41
20:41 kaare_ left 20:43 kivutar joined
flussence [Coke]: git submodule init; git submodule update # ...I think 20:44
20:44 census left
flussence the versions are in ./.gitmodules IIRC 20:44
20:44 lizmat left 20:45 lizmat joined
[Coke] ./.gitmodules doesn't have a version on it 20:47
(on any of the submodules)
flussence goes to read up on how this *actually works*...
20:48 tomyan left
[Coke] running "git submodule update", I get the expected updates based on my earlier send - but git status shows no difference in the star checkout I have. 20:48
flussence okay, git *does* track the submodule revisions in the parent, just not that file. `git diff` should show they've changed though. 20:49
[Coke] nope. I see no diff. 20:50
flussence hm... maybe I should try poking the repo myself 20:51
[Coke] Danke. 20:54
timotimo_ you have to cd into the submodule, checkout a newer revision, cd out, git add the change and then commit it 20:56
iirc
flussence aha, there's a way to tell git to pull updates for submodules
each one needs submodule.$thing.branch = master in its .gitmodules section, then you just do `git submodule update --remote` 20:57
(want me to commit that?) 20:58
(oh wait, I can't. never mind) 20:59
actually I'm not sure if all of them call the branch "master", but it didn't break anything when I tested just now 21:04
21:07 d4l3k_ joined 21:08 tgt left, dalek left 21:09 d4l3k_ is now known as dalek, skids left, tgt joined 21:18 PacoAir left 21:34 SmokeMac_ joined 21:37 SmokeMachine left 21:38 s1n left 21:48 dmol left 21:53 BenGoldberg joined 21:55 kivutar left 21:56 s1n joined 22:00 Ulti left 22:06 ajr_ left 22:14 s1n left 22:16 donaldh joined 22:23 ssutch joined 22:26 benabik joined 22:35 btyler_ left, btyler left
eternaleye tadzik: I'm finding myself tempted to try making something like Bailador, but with a bit more magic and a bit more syntactic sugar. Mind if I occasionally poke you with questions? (My current thoughts involve a syntax like: get "/foo/bar/*/baz" -> $var #`[ from that asterisk ], :$parameter #`[ CGI-style ?foo=bar params are named params ] { } with coercion to signature-introspected types) 22:36
tadzik eternaleye: no, I won't mind :) Ask whenever you need 22:38
eternaleye Also, dynamically generating a grammar from the paths and using that + actions to dispatch.
22:38 BenGoldberg left
tadzik my exam session is coming to an end, so I'll hopefully have tuits to answer them 22:38
eternaleye Cool, thanks!
tadzik oh, I've tried that once, did you see it?
although it wasn't dynamic
eternaleye tadzik: Mm, no I didn't. It's in the git repo?
tadzik ttjjss.wordpress.com/2010/11/27/gra...p-further/ 22:39
eternaleye Anyway, I just felt that having :name in the path was redundant with Perl 6's signatures, and then I started thinking about type coercion and how well path components = positional and cgiparams = named seemed to work.
tadzik and previous post, linked
eternaleye And then you get :$foo! mandatory stuff and :foo(:f) aliasing for free 22:40
And the Whatever star just seemed to be the placeholder that made the most sense to me. 22:42
(earlier I toyed with the idea of doing something more like given/when, but it ended up ugly kinda fast in my head)
Where you'd have root { path 'foo' { } path 'bar' { get 'baz' -> :$cgiparam { } } } 22:43
22:46 skids joined 22:48 fgomez left
eternaleye tadzik: I'm thinking of naming it Capoeira, since it's Dancer with a plan to kick ass :P 22:49
22:49 tomyan joined
flussence eternaleye: I've considered doing a thing that uses multis, where your example up there would match «sub get('foo','bar',$var,'baz')» 22:49
tadzik eternaleye: :D
eternaleye: sounds good :0
flussence (might get a bit long-winded, but it uses minimal magic :)
eternaleye flussence: I though about it, but last I checked where clauses were expensive in the MMD sense. 22:50
22:51 donaldh left 22:57 xenoterracide left 22:58 xenoterracide joined 23:10 btyler_ joined, btyler joined
ssutch would it be possible to compile EBNF into grammars 23:20
diakopter ssutch: sure 23:23
want to write a grammar for EBNF? :) 23:24
ssutch yeah
i am trying to write a grammar for protocol buffer IDL
and found a protocol buffer EBNF
diakopter I mean, want to write a grammar than can parse EBNF, so that it can be compiled to p6 grammar
sorear slaaaaangs 23:25
ssutch grammars all the way down 23:26
[Coke] is there a better way to write this in nqp these days:? 23:30
token infix:sym<*> { <sym> <O('%multiplicative, :pirop<mul>')> }
23:32 tomyan left, btyler left
[Coke] looks like Rakudo leaves off the pirop entirely (which I can do for the ones that match perl6's defaults, I suppose) 23:34
23:35 adu joined
[Coke] if I remove the pirop mul there, I get the same error. 23:35
23:35 Chillance left
[Coke] gist.github.com/coke/5778345 23:36
23:37 sciurius left 23:38 btyler_ left 23:39 xenoterracide left 23:42 btyler joined 23:47 btyler left 23:49 sciurius joined
sorear NQP uses token infix:sym<*> { <sym> <O('%multiplicative, :op<mul_n>')> } 23:49
[Coke] is the _n needed? 23:55
sorear probably 23:56
I'm not really an expert with this part of NQP
[Coke] ENOCHANGE 23:57
23:57 s1n joined
[Coke] :op<mul> and :op<mul_n> still die with Null PMC access in get_string - presumably I am missing something else. 23:58
23:58 Khisanth left