[00:06] *** envi_|2 joined [00:07] *** eviltwin_b joined [00:09] *** tokuhirom left [00:10] *** geekosaur left [00:12] *** plutoid left [00:13] *** whiteknight joined [00:19] *** allbery_b joined [00:22] *** eviltwin_b left [00:25] *** eviltwin_b joined [00:25] *** lestrrat left [00:25] *** lestrrat joined [00:26] *** fgomez joined [00:27] *** allbery_b left [00:29] *** thelazydeveloper left [00:33] *** geekosaur joined [00:34] *** eviltwin_b left [00:35] *** eviltwin_b joined [00:38] *** allbery_b joined [00:38] *** geekosaur left [00:41] *** eviltwin_b left [00:42] *** tokuhirom joined [00:42] *** tyatpi left [00:46] *** PacoAir left [00:57] *** eviltwin_b joined [01:00] *** allbery_b left [01:03] *** geekosaur joined [01:06] *** eviltwin_b left [01:10] *** spaceships joined [01:13] *** tokuhirom left [01:18] *** eviltwin_b joined [01:20] *** geekosaur left [01:24] *** cognominal left [01:31] *** whiteknight left [01:32] *** havenn joined [01:40] *** geekosaur joined [01:41] *** Chillance left [01:43] *** eviltwin_b left [01:47] *** havenn left [01:50] tablets: ef83e04 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt: [01:50] tablets: explaining smartmatch and lol and adding some other term dummies [01:50] tablets: review: https://github.com/perl6/tablets/commit/ef83e04893 [01:51] 'morning [01:51] tadzik: 30 Apr 22:04Z tell tadzik regarding popolnik, maybe you were looking for http://pastebin.com/hmjcndwB [01:51] TimToady: had nothing to do with your ponderings :) [01:52] *** eviltwin_b joined [01:52] *** icwiener left [01:53] *** geekosaur left [01:54] phenny: tell sisar Thanks, that's more than I remembered :) [01:54] tadzik: I'll pass that on when sisar is around. [01:55] tadzik: sleepless too? [01:56] *** allbery_b joined [01:56] moritz: not really, just came from a party [01:57] tadzik: oh, that's a much nicer reason to be awake at this time of night [01:57] I slept through most part of Alice in Wonderland :) [01:57] * moritz tries to sleep again [01:57] in particular, I don't remember anything between getting in a rabbit hole and getting out of it [01:58] but I do remember some quote saying "you won't remember anything". Which is kind of ironic [01:59] *** eviltwin_b left [02:00] *** JimmyZ_ joined [02:00] *** oiig_ joined [02:02] *** geekosaur joined [02:05] *** eviltwin_b joined [02:05] *** allbery_b left [02:08] *** geekosaur left [02:16] *** ponbiki joined [02:18] *** allbery_b joined [02:19] *** eviltwin_b left [02:22] *** JimmyZ_ left [02:22] *** wolfman2000 joined [02:23] *** eviltwin_b joined [02:26] *** allbery_b left [02:29] *** cognominal joined [02:30] *** allbery_b joined [02:32] *** eviltwin_b left [02:38] *** tyatpi joined [02:40] *** jaldhar joined [02:42] masak++ [02:43] *** orafu left [02:43] *** orafu joined [02:52] *** uvtc joined [02:55] *** LylePerl left [03:02] *** allbery_b left [03:05] *** allbery_b joined [03:12] *** mmol_saffron joined [03:13] *** mmol_saffron is now known as mikemol [03:17] *** JimmyZ joined [03:23] *** Su-Shee_ joined [03:27] *** Su-Shee left [03:32] *** allbery_b left [03:33] *** mikemol left [03:36] *** allbery_b joined [03:39] *** uvtc left [03:41] *** allbery_b left [03:42] *** allbery_b joined [03:57] *** lestrrat left [03:58] *** lestrrat joined [03:58] *** eviltwin_b joined [04:00] tablets: 3f58f27 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt: [04:00] tablets: refining some bits especially the subroutine entry [04:00] tablets: review: https://github.com/perl6/tablets/commit/3f58f2778f [04:01] *** allbery_b left [04:03] *** lichtkind left [04:07] *** allbery_b joined [04:09] *** eviltwin_b left [04:13] *** fgomez left [04:13] *** fgomez joined [04:13] *** cognominal_ joined [04:17] *** cognominal left [04:24] *** tyatpi left [04:36] *** NamelessTee joined [04:38] *** cognominal_ left [04:38] *** cognominal_ joined [04:41] *** spaceships left [04:41] *** skids left [04:44] *** eviltwin_b joined [04:44] *** fgomez left [04:46] *** JimmyZ left [04:46] *** allbery_b left [04:50] *** REPLeffect left [04:51] *** REPLeffect joined [05:09] *** allbery_b joined [05:12] *** eviltwin_b left [05:30] *** cognominal_ left [05:31] *** itz left [05:31] *** cognominal joined [05:32] *** itz joined [05:32] *** lestrrat left [05:34] *** lestrrat joined [05:34] *** geekosaur joined [05:35] *** allbery_b left [05:43] *** noam left [05:43] *** eviltwin_b joined [05:44] *** noam joined [05:45] *** wolfman2000 left [05:46] *** geekosaur left [05:46] *** allbery_b joined [05:49] *** eviltwin_b left [05:51] *** eviltwin_b joined [05:54] *** allbery_b left [05:57] *** geekosaur joined [05:58] *** allbery_b joined [06:00] *** eviltwin_b left [06:01] *** allbery_b left [06:01] *** geekosaur left [06:02] *** geekosaur joined [06:09] *** eviltwin_b joined [06:11] *** geekosaur left [06:18] *** geekosaur joined [06:21] *** eviltwin_b left [06:27] *** geekosaur left [06:28] *** geekosaur joined [06:30] *** NamelessTee left [06:43] *** jerome_ joined [06:48] *** noam left [06:49] *** noam joined [06:50] *** thou left [06:59] *** sftp left [06:59] *** sftp joined [07:00] *** ponbiki left [07:17] *** brrt joined [07:33] *** fglock joined [07:42] *** bjarne joined [07:53] *** JimmyZ joined [07:59] *** cognominal left [07:59] *** cognominal joined [08:25] *** cognominal_ joined [08:28] *** cognominal left [08:28] oh shark [08:28] it's quiet in here today [08:28] \o [08:29] Well, labour day is for not working, no? =) [08:30] right [08:30] which means, by definition, hanging out in IRC :-) [08:31] Troo, troo [08:34] * moritz accidentally deleted his parrot [08:36] good morning [08:42] moritz: So now you get to compile Rakudo all over again. Congrats =) [08:44] tadzik: fwiw the 'smoker' script in emmentaler should probably be executable [08:44] *** cognominal joined [08:45] tadzik: and the README says that neutro is a dependency [08:45] that should probably be panda [08:47] *** cognominal_ left [08:54] *** dakkar joined [08:55] \o/ what is the way/library for command switch processing? [08:57] Just the MAIN sub I think [08:58] yes [08:58] it covers some of the common cases [08:58] though arguably in the long run we'll need something more sophisticated [09:00] thx [09:04] tadzik: https://gist.github.com/2566601 failure while bootstrapping panda [09:04] I have done a fresh clone of panda, and no local changes [09:10] moritz: oh, interesting [09:11] moritz: can you try removing ~/.panda/? [09:11] you may have some local changes there, ie ~/.panda/src/panda [09:15] *** eviltwin_b joined [09:15] *** geekosaur left [09:19] *** allbery_b joined [09:19] *** cognominal_ joined [09:20] Perlito: ad3b918 | (Flavio S. Glock)++ | / (6 files): [09:20] Perlito: Perlito5 - javascript: implement $AUTOLOAD variable [09:20] Perlito: review: https://github.com/fglock/Perlito/commit/ad3b918ccd [09:21] labour day is a working day in the Netherlands :P [09:22] *** eviltwin_b left [09:23] *** cognominal left [09:25] good antenoon, #perl6 [09:25] *** Su-Shee_ is now known as Su-Shee [09:28] TimToady: we have a non-smartmatch topicalizer. [09:31] *** PacoAir joined [09:35] *** eviltwin_b joined [09:37] yes, but it's verbosish [09:40] *** allbery_b left [09:40] It's the first of May, first of May! [09:40] ...good morning, #perl6 :) [09:40] good antenoon, jnthn :-) [09:40] tadzik: works after removing ~/.panda [09:40] :P [09:45] good lunchtime! [09:46] *** eviltwin_b left [09:48] *** eviltwin_b joined [09:50] *** GlitchMr joined [09:59] good noon! [10:00] nqp: 480d22d | (Arne Skjærholt)++ | src/6model/reprs/CArray.c: [10:00] nqp: [CArray] Refactor bind_pos_boxed/at_pos_boxed. [10:00] nqp: [10:00] nqp: Since we've added child_objs, we can cache the generated String objects as [10:00] nqp: well, and eliminate the need for at/bind_pos_complex. [10:00] *** dalek left [10:00] *** dalek joined [10:00] *** ChanServ sets mode: +v dalek [10:01] Durr? I didn't just push that commit I think... [10:01] *** daemon left [10:01] arnsholt: oh, I'm sorry [10:01] arnsholt: I had locally merged that branch, and never meant to push it [10:02] arnsholt: and then I did another commit, forgot it, and pushed [10:02] :( [10:02] arnsholt: should I revert the merge? [10:02] do a git push --force [10:02] *** daemon joined [10:02] it's only been 2 minutes. [10:02] ok [10:03] masak++ arnsholt++ [10:03] Oh, right [10:04] nqp: 0dde8f3 | moritz++ | tools/lib/NQP/Configure.pm: [10:04] nqp: [configure] automatically configure push urls [10:04] nqp: [10:04] nqp: when cloning NQP or Parrot, automatically add an ssh-based pushurl, [10:04] nqp: to make contributions easier for those with commit bits [10:04] nqp: review: https://github.com/perl6/nqp/commit/0dde8f3dd0 [10:04] I think the commit is good [10:04] arnsholt: it wasn't just that commit, it was the whole branch. dalek just reported one [10:04] I was just a bit confused by me committing something while working on something else =) [10:04] arnsholt: I'll let you do the merge once you decide it's time for it [10:05] note to self: make a different branch for testing local merges [10:05] I recently fixed git push to only push the current branch [10:06] *** timotimo left [10:07] *** timotimo joined [10:08] well, that doesn't help when I locally merge your branch into master for testing :-) [10:08] Right ^_^ [10:10] http://corte.si/posts/code/pathod/announce0_1.html # that looks quite cool [10:10] emmentaler: 90ae502 | tadzik++ | / (21 files): [10:10] emmentaler: Remove obsolete files [10:10] emmentaler: review: https://github.com/tadzik/emmentaler/commit/90ae502dff [10:10] emmentaler: b7843aa | tadzik++ | smoker (2 files): [10:10] emmentaler: Make smoker executable [10:10] emmentaler: review: https://github.com/tadzik/emmentaler/commit/b7843aa6e2 [10:10] emmentaler: 01a2fb5 | tadzik++ | formatter (2 files): [10:10] emmentaler: Rename formatter, make it executable [10:10] emmentaler: review: https://github.com/tadzik/emmentaler/commit/01a2fb5d4a [10:10] emmentaler: d51daf8 | tadzik++ | README: [10:10] emmentaler: Update README [10:10] emmentaler: review: https://github.com/tadzik/emmentaler/commit/d51daf8a04 [10:10] *** allbery_b joined [10:11] *** cognominal joined [10:11] .oO( I'm not for smoking, but it's executing smokers a little harsh? ) [10:11] *isn't [10:11] moritz: nice. [10:12] jnthn: they're only being made executable. [10:12] masak: I know but the temptation it'll unleash... :P [10:12] like a craving. [10:13] *** eviltwin_b left [10:14] *** cognominal_ left [10:18] Let's see if I can't unbreak my NQP [10:18] *** havenn joined [10:18] oh noes, you broke it? [10:18] Well, only locally =) [10:19] But ever since I tried to add my CStr repr to the build process, it complains about not being able to locate the nqp_dyncall_ops shared lib [10:19] Hm [10:19] That's...very odd. [10:19] arnsholt: what to paste the diff to Makefile.in? [10:19] *** allbery_b left [10:20] Yeah. I'm thinking that it's not actually a failure to locate but a failure to load [10:20] I'm trying to rebuild without the CStr repr right now. I'll come back with the diff if it's still broken [10:22] anyone out there understand how #?DOES is supposed to work in fudge? [10:22] *** allbery_b joined [10:22] colomon: there are two ways it can work [10:23] colomon: you can put it in front of a block, and do a #?impl skip 'reason'. Then it will skip as many tests as the number after #?DOES [10:23] colomon: or you can put it in front of a function. In which case fudge considers that function a normal test function like ok() or is(), and that it runs the specified number of tests [10:24] does t/spec/S02-magicals/env.t pass on current rakudo? [10:25] what I'm running into at the moment is that the value (at least using niecza's fudgeandrun) appears to be sticky [10:25] Not here, but I thought that may be Windows specific. [10:25] that is, I say #?DOES 3 before a block, and every skip after that is getting marked as 3 tests. [10:25] There, I fixed it [10:26] Combination of two errors. One brain-dead copy-pasta, and one line I forgot to update in Makefile.in [10:26] jnthn: do Test::Util based tests run on windows now? [10:27] moritz: yeah [10:27] \o/ [10:27] I have vastly less failures these days [10:27] jnthn: what failures remain? [10:27] rakudo/nom: 5552804 | moritz++ | docs/ChangeLog: [10:27] rakudo/nom: fill in some ChangeLog entries [10:27] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5552804f58 [10:28] moritz: Mostly ones in the pod tests due to \r\n related parse issues [10:28] moritz: never mind, deleting the #?DOES commands I'd added and switching to the function version made it work beautifully. [10:28] colomon: good [10:28] moritz: Can do a run now to see the full list [10:29] jnthn: BTW, after some thought I'm not sure I'm happy with manually-manage(). What do you think about explicitly-manage? [10:29] roast: 4d31087 | (Solomon Foster)++ | S03-operators/short-circuit.t: [10:29] roast: Add proper #?DOES for accumtest, unfudge test that now works in Niecza. [10:29] roast: review: https://github.com/perl6/roast/commit/4d31087f4c [10:29] It's not manually managing memory in the sense of malloc/free, after all [10:30] keep-alive(...) :) [10:30] Heh. That makes me think of HTTP =) [10:30] Yeah, that was kinda deliberate. [10:31] Instead of a re-marshall for every call, we marshall once and re-use that every call. :) [10:31] Point, point [10:31] It's probably a "you think it's cute today" name though :) [10:31] *** eviltwin_b joined [10:31] Does have that potential, yeah [10:33] r: say %*ENV.defined [10:33] rakudo 2da78a: OUTPUT«True␤» [10:33] *** havenn left [10:33] tadzik: ^^ that's a regression from your patches [10:33] r: say %*ENV.WHAT [10:33] rakudo 2da78a: OUTPUT«Str()␤» [10:34] r: say %*ENV.perl [10:34] rakudo 2da78a: OUTPUT«""␤» [10:34] tadzik: at least I think so [10:34] moritz: it would seem so, yes [10:34] *** allbery_b left [10:35] it may be that from a system's POV there's no difference between an unset variable and a variable set to "" [10:35] will investigate [10:35] there is, I think [10:36] 4, 5, 9 and 15 from env.t fail here [10:36] * tadzik investigates [10:36] tadzik: I'm fudging the tests for now [10:36] okay, thanks [10:36] roast: f5b0e56 | moritz++ | S02-magicals/env.t: [10:36] roast: [env.t] redo tests for child process %*ENV with Test::Util [10:36] roast: [10:36] roast: Also re-fudge for rakudo [10:36] roast: review: https://github.com/perl6/roast/commit/f5b0e569aa [10:37] moritz: Do you have a failure in S10-packages/basic.t? [10:38] jnthn: no [10:38] Oddness. [10:39] jnthn: which one fails? [10:39] 47 [10:39] may it be that get_string_keyed VTABLE always returns a string, even ""? [10:39] And it looks like a really weird failure to be Windows-specific... [10:39] * tadzik tries a patch [10:40] tadzik: You can nqp::existskey to check for existence and do soemthing different. [10:40] right [10:41] what should an unset var return, a Str type object? [10:42] r: my %h; say %h.perl [10:42] rakudo 2da78a: OUTPUT«Any␤» [10:42] tadzik: sound sensible [10:42] Got it [10:43] *** geekosaur joined [10:45] *** eviltwin_b left [10:47] *** Guest33435 is now known as xenu [10:53] *** geekosaur left [10:56] *** geekosaur joined [11:04] jnthn: any idea how I could implement the -I (search path) command line option? [11:04] *** geekosaur left [11:04] jnthn: the question is, where do we store the additional search paths, and when do we stuff them into @*INC? [11:04] moritz: Guess it wants similar handling to PERL6LIB? [11:05] *** brrt left [11:05] *** cognominal_ joined [11:06] jnthn: ok, that answers the "when" [11:06] moritz: It all happens in term.pm [11:06] jnthn: but where do we store it? in the Perl6::Compiler object? [11:06] or HLL::Compiler, for that matter? [11:06] Oh, you mean where is it kept? [11:06] *** geekosaur joined [11:07] yes [11:07] between parsing it and the run time of the setting [11:08] You're in the dynamic context of the compiler when the setting is being loaded. [11:08] *** eviltwin_b joined [11:08] In Actions.pm to find the --setting=... we do %*COMPILING<%?OPTIONS> [11:08] *** cognominal left [11:08] oh [11:08] You'll need to use nqp::atkey(...) blah in the setting though [11:08] so I can just access %*COMPILING<%?OPTIONS> [11:08] e.g. not do Perl 6 style keying... [11:08] Yeah [11:09] hm, I thought it worked [11:09] You can always try it out in a BEGIN block to figure out how to get hold of it. [11:09] because of how we marshal parrot stuff to Perl 6 types [11:09] We marshall return values from method calls. [11:09] Don't think we marshall contextual lookups. [11:09] bbi10, eating brunch :) [11:10] *** oiig_ left [11:11] *** allbery_b joined [11:11] *** cognominal_ left [11:11] *** cognominal_ joined [11:11] *** oiig_ joined [11:11] *** geekosaur left [11:14] *** eviltwin_b left [11:16] nqp: 480d22d | (Arne Skjærholt)++ | src/6model/reprs/CArray.c: [11:16] nqp: [CArray] Refactor bind_pos_boxed/at_pos_boxed. [11:16] nqp: [11:16] nqp: Since we've added child_objs, we can cache the generated String objects as [11:16] nqp: well, and eliminate the need for at/bind_pos_complex. [11:16] *** dalek left [11:16] Hmm. I think dalek needs some kind of rate limiting [11:16] *** dalek joined [11:16] *** ChanServ sets mode: +v dalek [11:19] But now the write-barrier stuff is in master [11:21] *** eviltwin_b joined [11:22] zavolaj: 3b4926f | (Arne Skjærholt)++ | t/07-writebarrier. (2 files): [11:22] zavolaj: Add tests for write-barriering of CArray and CStruct types. [11:22] zavolaj: review: https://github.com/jnthn/zavolaj/commit/3b4926f5c8 [11:23] *** allbery_b left [11:23] *** geekosaur joined [11:23] *** spider-mario joined [11:24] arnsholt++ [11:24] *** benabik left [11:24] FETCH cannot return Any? [11:25] it seems to segfault rakudo when I do it in the setting [11:25] *** eviltwin_b left [11:25] * jnthn doesn't see why it couldn't [11:26] hm [11:28] https://gist.github.com/2567462 [11:30] alive3 [11:30] I don't see taht in the code? [11:30] oh [11:30] it's the third "alive" [11:31] tadzik: uh [11:31] must've undoed something accidentaly [11:31] YOu're returning [11:31] so it blows up on "return Any" [11:31] "return" [11:31] Yeah [11:31] YOu don't want to do taht. [11:31] That returns from the at_key [11:31] oh [11:31] Not from the closure you're FETCHing. [11:31] FETCH => { [11:31] That's just a closure, so it's transparent to return. [11:31] I just have to mention that I <3 git [11:32] Just remove the return statements. [11:32] I think it's the second time I stumble upon this :) [11:32] Perlito: 000df64 | (Flavio S. Glock)++ | / (2 files): [11:32] Perlito: Perlito5 - javascript: implement infix:<**> [11:32] Perlito: review: https://github.com/fglock/Perlito/commit/000df646a9 [11:32] thanks jnthn [11:32] Make WIP commit on branch, do stuff in a couple other branches, come back to original branch, reset HEAD^ and pick off where I left [11:32] No idea what I'd done if this were svn [11:33] I usually use stash for this [11:33] Yeah, it's essentially a manual stash [11:34] But I had some new source files I wanted to get out of the way since I was going to merge my feature branch into master [11:34] *** eviltwin_b joined [11:34] Which would be git stash -u, I see now that I bother to read the docs again O:) [11:35] arnsholt: to be fair, svn makes working with dirty trees much easier than git [11:36] *** fgomez joined [11:36] Dirty tree yes, but I'm starting to quite like the pattern of temporary WIP commits to get things out of the way [11:36] *** geekosaur left [11:40] *** eviltwin_b left [11:40] *** geekosaur joined [11:48] *** ponbiki joined [11:50] *** benabik joined [11:58] nqp/toqast: 07ab3c7 | jnthn++ | src/QAST/ (2 files): [11:58] nqp/toqast: Sketch out 'bind' op; since it's sensitive to the variable type, the real work on this will be done by the QAST::Var processor. [11:58] nqp/toqast: review: https://github.com/perl6/nqp/commit/07ab3c752a [11:58] nqp/toqast: d8fd160 | jnthn++ | src/QAST/Compiler.nqp: [11:58] nqp/toqast: Implement lookup of and binding to locals; handles natively typed ones right off (which PAST never did). [11:58] nqp/toqast: review: https://github.com/perl6/nqp/commit/d8fd160af3 [11:58] nqp/toqast: b67c3b8 | jnthn++ | t/qast/qast.t: [11:58] nqp/toqast: Some very basic tests for binding to a local of the various native types, and ensuring a bind works as an rvalue too (e.g. we return the bound value). [11:58] nqp/toqast: review: https://github.com/perl6/nqp/commit/b67c3b812b [11:58] * jnthn -> store, hope it's open! [11:59] jnthn: good luck with that [11:59] mayday is pretty important here in the nordics :) [12:04] jnthn: fwiw I noticed that nqp::shift can be both shifting off an RPA or off an iterator [12:04] jnthn: i guess for compatibilty with other ops we might want an nqp::itershift or so [12:06] * moritz has a working prototype for -I lib [12:07] nice: http://www.utf8everywhere.org/ [12:08] aye, though I think some parts of it are technically not well done [12:08] for one they focus quite a bit on C++ [12:08] * sjn writes a hackathon report [12:08] anyone here want to give me some ideas of what worked and what didn't so much? :) [12:09] and then they don't actually tell you how to do some operations (like substr) on the Codepoint or character leven with UTF-8 [12:09] sjn: worked: nice location, good information upfront, good food, good hacking [12:10] sjn: not worked: discussing all the topics you guys suggested up front [12:10] "unicode everywhere" might be more palatable [12:10] moritz: yep, good point [12:11] since it's not obvious to everyone that utf8 is preferable over alternatives [12:14] roast: 353a80c | tadzik++ | S02-magicals/env.t: [12:14] roast: Untodo passing %*ENV tests [12:14] roast: review: https://github.com/perl6/roast/commit/353a80c7c6 [12:15] rakudo/nom: e9d0bbb | tadzik++ | src/core/terms.pm: [12:15] rakudo/nom: Fix %*ENV regressions [12:15] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e9d0bbb8a0 [12:16] sjn: My local coop seems pretty immune to red days :) [12:16] *** cognominal_ left [12:16] *** cognominal_ joined [12:19] sjn: Venue was great and easy to work undistracted, good supply of coffee and nom, well organized everything, good balance of hacking/socializing. [12:21] jnthn: local coop doesn't respect May 1? Bloody commies! oh wait :P [12:21] masak: If they're not supporting a *red* day, how are they... :P [12:21] and it's a *co-op*! [12:21] *** brrt joined [12:21] rakudo/nom: 4c241c8 | moritz++ | / (3 files): [12:21] rakudo/nom: implement -I command line option [12:21] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4c241c86e2 [12:22] I guess they've been corrupted by soulless profiteering or something. [12:22] sjn: As moritz mentioned, we didn't manage to discuss all the topics suggested up front... I wonder if there's some degree to which if you put a bunch of people who already have a bunch of interesting problems to work together though, they'll reliably and quite happily self-organize without needing a theme. [12:23] * sjn notes that the Swedes are slowly turning into American Capitalist Pigs :) [12:24] jnthn: how about friday? [12:24] * sjn has no clue what you guys spent your time on, on friday [12:24] sjn: We discussed stuff and hacked on stuff. [12:24] that day kinda became a "bonus day" [12:25] sjn: Getting us a place to be able to do so was a big win. [12:25] jnthn: so when you "good balance of hacking/socializing", you took friday into account [12:26] you said* [12:26] sjn: Yes. [12:26] sjn: Friday was productive in the day and social in the evening :) [12:26] *** geekosaur left [12:26] *** geekosaur joined [12:26] (For those of us around early enough to hack on Friday, that is.) [12:29] sjn: as a summary, I for one was very happy with the hackathon [12:31] Same. I was only sad on Monday, when I realized that the hackathon had come to an end. :) [12:31] And thought "gee, why can't all days be that much fun?" :) [12:35] I thought "what if every day at work at clients were like this?" i.e. brimming with creativity around a table, people just exchange information freely when they need to, and everyone gets a lot done on whatever they want. and somehow lunch just materializes. :P [12:36] it didn't materialize; krunen++ usually was involved with preparing it :-) [12:36] I know... :) [12:36] krunen++ [12:36] sjn++ krunen++ frettled++ [12:36] I agree on the Friday being a big win. the hackathon still felt short, but the Friday sure helped to gear into it. [12:37] *** eviltwin_b joined [12:38] *** cogno joined [12:38] <[Coke]> seen ambs? [12:38] ambs was last seen in #parrot 139 days 1 hours ago joining the channel. [12:39] <[Coke]> I didn't see any perl6 submissions for grants this quarter! [12:40] <[Coke]> (granted, I forgot to squawk about it here...) [12:40] *** geekosaur left [12:41] oh darn, I still didn't file my final report for my current one! [12:43] jnthn: what's blocking you? [12:44] masak: Finding it more fun to write code than to write prose :P [12:44] (So basically, nothing besides getting around to it.) [12:45] <[Coke]> does anyone have any thing they'd work on if only someone would pay them to? [12:46] well, if one could start in July... [12:46] * masak .oO( drinking pina coladas on an idyllic beach in Thailand... ) [12:47] oh, "work"... :P [12:47] I'd work on a microbrewery tour? [12:47] :) [12:47] *** Chillance joined [12:47] * jnthn will actually file a grant after this to do compact arrays and other S09 goodness. [12:47] *after this one [12:47] *** JimmyZ_ joined [12:47] \o/ [12:48] [Coke]: money and tuits aren't fungible. Even if TPF has money to give, it's the tuits that are the real problem. [12:48] still, asking doesn't hurt. [12:48] Aye [12:48] indeed [12:48] *** JimmyZ left [12:48] *** JimmyZ_ is now known as JimmyZ [12:50] It would be neat if TPF had a "make a wish" kind of grant where TPF takes care of whatever details are required to obtain the appropriate tuits for you to work on some Perl thing. [12:50] :-) [12:50] [Coke]: I might. But I'm still working on that exceptions grant [12:51] *** oiig joined [12:53] *** cogno left [12:54] *** oiig_ left [12:54] nqp/toqast: 28c8f73 | jnthn++ | t/qast/qast.t: [12:54] nqp/toqast: Make sure simple lookups of locals work too. [12:54] nqp/toqast: review: https://github.com/perl6/nqp/commit/28c8f73aad [13:00] *** ponbiki left [13:03] *** leprevost joined [13:08] *** eviltwin_b left [13:13] *** geekosaur joined [13:15] *** tokuhirom joined [13:15] *** eviltwin_b joined [13:19] *** geekosaur left [13:30] *** c1sung joined [13:43] *** eviltwin_b left [13:46] *** eviltwin_b joined [13:48] *** mikemol joined [13:50] tablets: a3c24a0 | (Herbert Breunung)++ | docs/report.pl: [13:50] tablets: regularize report script [13:50] tablets: review: https://github.com/perl6/tablets/commit/a3c24a0947 [13:50] tablets: 56dfda4 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt: [13:50] tablets: small format fixe [13:50] tablets: review: https://github.com/perl6/tablets/commit/56dfda45d1 [13:57] Segfault! \o/ [13:57] \o/ [13:57] always funy [13:58] Perlito: b44f592 | (Flavio S. Glock)++ | / (2 files): [13:58] Perlito: Perlito5 - TODO update [13:58] Perlito: review: https://github.com/fglock/Perlito/commit/b44f5925ae [13:58] Yeah. Also, it means that I managed to get my new NQP C code to run from Perl 6 =) [14:01] Oh, dang. I forgot to set debug flags in my Parrot [14:02] *** sergot joined [14:02] hi o/ [14:02] hi fs [14:02] aw. hi sergot [14:07] * colomon is trying out emmentaler locally.... [14:10] o rekin, sergocie. [14:11] masak: why 'rekin'? :) [14:11] * masak .oO( when they dissect masak's brain in 2076, and discover that he knows the vocative of "shark" in Polish really well, but almost no other Polish... ) [14:11] sergot: you asked that yesterday! [14:12] I said you should check the backlog, but apparently I chose a word that means "to-do list". [14:12] so you probably never did :) [14:12] masak: Oh, ok. :) [14:14] sergot: the explanation is that "hai" means "shark" in a couple languages, and tadzik realized this and started saying "oh shark" instead of "oh hai". [14:16] *** cogno joined [14:16] *** skids joined [14:17] :) [14:17] *** birdwindupbird joined [14:19] *** Chillance left [14:20] tablets: dca1063 | (Herbert Breunung)++ | docs/report.pl: [14:20] tablets: report now includes all tablets [14:20] tablets: review: https://github.com/perl6/tablets/commit/dca1063688 [14:21] tadzik: perl-5.14 required? [14:21] * colomon turns back on his perlbrew... [14:21] colomon: uh, shouldn't be [14:21] that reminds me to write the Perl 5 dependencies [14:21] I suppose even 5.8 will do [14:22] *** allbery_b joined [14:22] tadzik: formatter, line 2: use 5.014; [14:23] right [14:23] it's just a habit of mine, so I have say() and all this [14:23] I'm now sanitizing this file a little bit [14:23] sure, 5.14 is cool [14:23] \o/ [14:24] successfully generated my own emmentaler HTML page. [14:24] yay! [14:24] now to hack it to run under niecza... ;) [14:24] well, actually, now to $work, and p6 hacking for later [14:25] *** birdwind1pbird joined [14:25] *** eviltwin_b left [14:25] .oO( would be nice for my $dayjob stuff if I could write "use $specific-perlbrew-install-alias;"... ) [14:25] *** Chillance joined [14:27] emmentaler: d6058c1 | tadzik++ | formatter: [14:27] emmentaler: Simplify formatter [14:27] emmentaler: review: https://github.com/tadzik/emmentaler/commit/d6058c14d3 [14:27] emmentaler: e12a40a | tadzik++ | README: [14:27] emmentaler: Note Perl 5 dependencies in README [14:27] emmentaler: review: https://github.com/tadzik/emmentaler/commit/e12a40a8c2 [14:28] *** NamelessTee joined [14:29] *** cogno left [14:31] *** fgomez left [14:36] *** JimmyZ left [14:44] *** cogno joined [14:45] * tadzik frowns at http://perlcabal.org/syn/S02.html#Double-underscore_forms [14:46] in particular at having a separate variable for every POd block type [14:47] well, it would feel a bit silly to have a = twigil just to get $=pod [14:47] that too ;) [14:48] =begin DATA [14:48] didn't we lower-case 'DATA' to 'data'? [14:48] i.e. shouldn't S02 play catch-up with S26 there? [14:49] should [14:49] *** tokuhirom left [14:50] hmm, that shouldn't be too hard to implement, maybe [14:50] *** leprevost left [14:51] *** drbean left [14:51] oh, and '=begin END' is '=begin finish' now. [14:51] the prose says it, but the table doesn't. [14:52] *** geekosaur joined [14:52] *** NamelessTee left [14:53] * masak wonders if we have a spectest to make sure that '=end finish' is treated as verbatim text, not a directive [14:53] <[Coke]> ... begin finish? [14:53] *** drbean joined [14:53] [Coke]: usually just =finish [14:53] [Coke]: Perl 6's __END__ [14:53] <[Coke]> just read funny. [14:53] <[Coke]> (no funnier than begin end, I suppose. ;) [14:54] no :) [14:54] and =end is problematic [14:54] so =finish it became. [14:54] it's good 'cus its dual noun/verb. [14:54] *** allbery_b left [14:55] *** eviltwin_b joined [14:55] *** cogno left [14:55] <[Coke]> I would have preferred "stop", I think. [14:55] <[Coke]> but, close enough. ;) [14:55] that reads wrong to me. [14:56] sure, the Perl 6 parser stops caring, but the Pod parser is just getting warmed up! :) [14:56] whereas "finish" has connotations of "and now, the big finish!" [14:56] (especially =begin finish) [14:57] *** geekosaur left [14:57] * PerlJam thinks finale would work better there :) [14:58] sure, but it's just noun-y. [14:58] I kinda like finale, though. [15:04] *** NamelessTee joined [15:04] *** mucker joined [15:11] *** cogno joined [15:14] *** birdwindupbird left [15:17] p6: s[ish] = 'ale' given my $directive = 'finish'; say $directive [15:17] rakudo 4c241c, niecza v17-2-gb8fcf85: OUTPUT«finale␤» [15:17] ..pugs: OUTPUT«␤» [15:17] * masak still thinks that syntax is awesome sauce [15:18] how does one iterate over a hash in nqp? [15:18] * masak .oO( very carefully ) [15:18] for %hash { } [15:18] and I get a pair inside? [15:18] for %hash { say($_.key); say($_.value) } [15:18] okay, thanks [15:19] pzh [15:19] *** MContagious joined [15:19] *** noam left [15:19] jnthn: In case you wondered, 6model isn't happy if a REPR forgets to implement the initialize method O:) [15:19] *** cogno left [15:19] arnsholt: er, I imagine not, no :) [15:19] *** geekosaur joined [15:20] masak: for half a second I was confused about how you were accessing the "ish" element of the s array ;) [15:20] Oh, I just saw "ale" in the code and assumed it must be awesome code. [15:20] heh [15:20] *** noam joined [15:22] *** eviltwin_b left [15:23] *** kaare_ joined [15:23] *** thou joined [15:23] r: constant s = (1, 2, 3); s[ish] = 'ale' given my $directive = 'finish' [15:23] rakudo 4c241c: ( no output ) [15:23] r: constant s = (1, 2, 3); s[ish] = 'ale' given my $directive = 'finish'; say $directive [15:23] rakudo 4c241c: OUTPUT«finale␤» [15:24] PerlJam: seems s[] is almost as much a special form in Perl 6 as in Perl 5 [15:24] in Perl 5 it's kinda tricky to invoke a 'sub s'... :) [15:24] r: sub s { "yes?" }; say s() [15:24] rakudo 4c241c: OUTPUT«yes?␤» [15:25] If $x does ARole, $x ~~ ARole, right? [15:25] yes. [15:25] infix:<~~> is a kind of mechanism-agnostic type checker. [15:25] works on classes, roles, subtypes, and things we haven't thought of yet ;) [15:27] good morning, #perl6 [15:28] pmichaud! \o/ \o/ [15:28] Yeah, that's what I thought, but I had a moment of doubt =) [15:29] okay, I got stuff like $=DATA working. The problem is, the optimizer catches their usage before I construct them, so I have to do eval '$=DATA' :) [15:29] *** MContagious1 joined [15:29] r: class ReallyGrumpyType { method ACCPETS($) { False } }; say ReallyGrumpyType.new ~~ ReallyGrumpyType [15:29] rakudo 4c241c: OUTPUT«True␤» [15:29] *** MContagious left [15:29] dang :) [15:29] jnthn: Any particular reason the various DYNCALL_ARG_* constants are all even numbers? [15:29] r: class ReallyGrumpyType { method ACCPETS($self:U: $) { False } }; say ReallyGrumpyType.new ~~ ReallyGrumpyType [15:29] rakudo 4c241c: OUTPUT«===SORRY!===␤invoke() not implemented in class 'Capture'␤» [15:30] tadzik: then the optimizer is wrong. [15:30] masak: probably. It's funny, for it doesn't catch $=pod this way [15:30] r: class ReallyGrumpyType { method ACCEPTS($self:U: $) { False } }; say ReallyGrumpyType.new ~~ ReallyGrumpyType [15:30] rakudo 4c241c: OUTPUT«===SORRY!===␤invoke() not implemented in class 'Capture'␤» [15:31] Oh, not that. [15:31] *** fglock left [15:33] rakudo/named_pod_vars: a2db837 | tadzik++ | src/Perl6/ (2 files): [15:33] rakudo/named_pod_vars: First attempt at implementing Pod variables like $=data, $=SYNOPSIS etc [15:33] rakudo/named_pod_vars: review: https://github.com/rakudo/rakudo/commit/a2db83712a [15:33] jnthn: Never mind. I see it [15:34] Hey how can I help? [15:34] *** eviltwin_b joined [15:34] hello MContagious1! What would you like to do? [15:35] I am basically Perl5 developer and can help you on testing with perl6 code [15:36] are you interested in compiler development, or module development? [15:36] module dev [15:37] *** geekosaur left [15:37] MContagious1: hiya! welcome. [15:37] *** goraki joined [15:37] we have a module repository, see http://modules.perl6.org/ Modules are in various stages of workingness, see http://tjs.azalayah.net/new.html You may want to look at some code, possibly revive some outdated module or write a new one [15:37] masak:thank you [15:38] tadzik:checking them [15:38] we also have a list of Most Wanted Modules, https://github.com/perl6/ecosystem/wiki/Most-Wanted-Modules [15:38] MContagious1: we're currently expanding in web, databases, and irc bots. pick whatever pleases you and dig in. [15:38] tadzik++ [15:38] MContagious1: you'll know you're on the right track when people start to ++ you ;) [15:39] :) [15:40] *** Tudetus joined [15:41] *** Tudetus left [15:43] *** Tudetus joined [15:44] *** Tudetus left [15:48] *** Psyche^ joined [15:48] *** Patterner left [15:49] *** Psyche^ is now known as Patterner [15:51] *** cogno joined [15:55] *** NamelessTee left [15:57] colomon: do you have some fresh results.json lying around? [15:58] er, yes, but there's absolutely nothing special about them [15:58] if there are generated they are fine for me, I have a limited bandwith right now to run the script, but I need them for some experimenting. Can you paste them somewhere? [16:01] *** cogno left [16:01] *** lichtkind joined [16:02] *** mucker left [16:02] what is the difference between term an expression? [16:03] Mmm. Cargo-culting code [16:04] lichtkind: a term is one "thing" in the code. like 42 or "OH HAI" or [1, 2, 3] [16:04] lichtkind: an expression is a well-formed sequence of terms and operators. [16:05] lichtkind: terms are nouns, operators are verbs, expressions are sentences (sorta) :-) [16:05] Hi there, can someone tell me the best way to read stdin line by line (e.g. process each line as the user hits return) in perl 6? [16:05] mayhap I stretch the analogy [16:05] terms are tightest-precedence in the op precedence table because they're like the "atoms" of code [16:05] goraki: for $*IN.lines should be fine [16:05] *** brrt left [16:06] goraki: or just 'for lines() { ... $_ ... }' [16:06] r: for $*IN.lines -> $line { say $line.uc } [16:06] *** sftp left [16:06] rakudo 4c241c: OUTPUT«LAND DER BERGE, LAND AM STROME,␤LAND DER ÄCKER, LAND DER DOME,␤LAND DER HÄMMER, ZUKUNFTSREICH!␤HEIMAT BIST DU GROSSER SÖHNE,␤VOLK, BEGNADET FÜR DAS SCHÖNE,␤VIELGERÜHMTES ÖSTERREICH,␤VIELGERÜHMTES ÖSTERREICH!␤␤HEISS UMFEHDET, WILD UMSTRITTEN␤LIEGST DEM ERDTEIL DU IN… [16:06] both work. don't remove those parens, though :) [16:06] tadzik: there's no need to schaut... :) [16:06] oh, sorry; [16:06] r: for $*IN.lines -> $line { say $line.lc } [16:06] rakudo 4c241c: OUTPUT«land der berge, land am strome,␤land der äcker, land der dome,␤land der hämmer, zukunftsreich!␤heimat bist du großer söhne,␤volk, begnadet für das schöne,␤vielgerühmtes österreich,␤vielgerühmtes österreich!␤␤heiß umfehdet, wild umstritten␤liegst dem erdteil du inmi… [16:06] If you prefer recursive definitions: a term is the smallest (atomic) expression, while an expression in genereal maybe composed of many smaller expressions with the help of operators [16:07] aye. [16:07] the terms are the stuff and the operators are the glue. together, they form expressions. [16:07] tadzik: masak: when I run either I don't get any output until I hit ctrl-d to "end" the input. [16:08] goraki: let my try locally. [16:08] my gosh, you're right! [16:08] masak: ta. [16:08] * masak submits rakudobug [16:08] masak: (-: [16:08] goraki: your request has been filed. thank you for noticing. [16:08] wait... that's a bug? [16:08] sure. [16:08] sure [16:09] lines() is supposed to be lazy. [16:09] masak: no worries. [16:09] *** spaceships joined [16:09] masak: thanks for listening. [16:10] that we're happy to do. [16:10] let us know if you notice something else that's odd. [16:11] will do. [16:11] your request can now be followed at https://rt.perl.org/rt3/Ticket/Display.html?id=112716 [16:12] *** sftp joined [16:13] *** thelazydeveloper joined [16:14] *** geekosaur joined [16:14] * TimToady is starting to think we should scrap =begin finish and just replace it with something like ======================= [16:15] TimToady: I still like "=begin finale" :-) [16:15] this whole business of allowing a special exemption for an unbalanced =begin or =end just stinks [16:15] * sjn is a fan of markdown :) [16:16] all we're doing is turning off the Perl 6 parser [16:16] and the Pod parser (almost) doesn't care about that [16:17] tadzik: The...optimizer is whining at you about undeclared variables? [16:17] and the reason it was END before was so that it would stand out visually [16:17] tadzik: I didn't think it did that :) [16:17] * TimToady is not a fan of lowercasing it [16:17] jnthn: yeah, it does :) [16:17] *** eviltwin_b left [16:17] but =================== stands out visually [16:17] *** MayDaniel joined [16:17] tadzik: --optimize=off makes the issue go away? [16:17] *** unobe joined [16:18] TimToady: how many = is that again? :P [16:18] jnthn: https://gist.github.com/2569314 on pod_named_vars branch, or however I named it [16:18] jnthn: dunno, let me recompiler [16:18] more than N, where N is negotiable [16:18] named__pod_vars [16:18] TimToady: I vote N = 4 then [16:18] well, N=3 for "more than" [16:19] and it has to be where a pod directive is expected, I suppose [16:19] tadzik: When is $=DATA being declared? [16:19] jnthn: POd parser declares it [16:19] Before we'd parse the say $=DATA ? [16:19] TimToady: I agree about the stink. [16:20] jnthn: er, I don't think so [16:20] in that sense __END__ was an improvement on its successors [16:20] it installs the lexical symbol after we're done parsing the file [16:20] same for $=pod [16:20] ===== could also be a merge garbage marker, but I guess we catch it at '<<<', so that should be fine. [16:21] well, we could require more of 'em [16:21] tadzik: Then it's too late. [16:21] tadzik: It's not the optimizer [16:21] tadzik: It's the same thing that catches: [16:21] r: say $a; my $a; [16:21] rakudo 4c241c: OUTPUT«===SORRY!===␤Variable $a is not declared␤at /tmp/ZXr8utD5lR:1␤» [16:21] I see [16:21] still, why does it work for $=pod just fine? [16:21] TimToady: +1 [16:22] tadzik: no eye deer [16:22] :) [16:22] tadzik: er [16:22] tadzik: I think I can guess actually and this is disgusting :) [16:22] :P [16:22] tadzik: It's because CORE.setting ends up with a $=pod [16:22] :P [16:22] go ahed, I'll pour me some juice [16:23] And thus is in the outer lexical scope :) [16:23] noooooo [16:23] how is it possible [16:23] re: RT #112716 I suspect the problem isn't that lines() isn't lazy, but rather that the for statement isn't running in sink context [16:24] The $=pod installation is not conditional. [16:24] pmichaud! \o/ [16:24] nqp/cstr: eee0fa5 | (Arne Skjærholt)++ | / (4 files): [16:24] nqp/cstr: First cut of handling explicitly managed strings. [16:24] nqp/cstr: review: https://github.com/perl6/nqp/commit/eee0fa501f [16:24] oh, I see now [16:24] pmichaud: Nice to see you :) [16:24] TimToady: or we could use a slightly more complicated token that starts with = [16:24] gosh. I though we put my $=pod at the end of the setting to prevent this issue [16:24] tadzik: No, it's not quite *that* bad :) [16:25] tadzik: Things are working a little too accidentally at the moment though :) [16:25] TimToady: =!!!= [16:25] okay. Could we turn of the undefined variable worning for $= vars? [16:25] oh, maybe not. [16:25] (for instance) [16:25] jnthn: Could you take a look at that NQP commit and see if something appears to be completely insane? [16:25] . o O ( good worning ) [16:25] =ö= [16:25] TimToady: :-) [16:25] I've got a simple test in Zavolaj that passes, but I'm still not entirely convinced I did it right =) [16:25] tadzik: Yeah [16:26] *** eviltwin_b joined [16:26] jnthn: I'll try to do that [16:26] tadzik: So long as $=FLYING-CARROT doesn't blow up in an excessively bad way :) [16:26] still, the spec for those $=vars is ... what? [16:27] I dunno. Is it a closed set, or...? :) [16:27] my carrots usually fly after they blow up... [16:27] no, it's potentially infinite [16:27] you are free to write a =begin FLYING-CARROT block [16:27] masa, PerlJam thanks [16:27] but I see what you mean [16:27] masak++, PerlJam++ thanks [16:28] Well, I was angling for a name that nobody would ever declare, but now somebody probably is going to go and do that one in their module docs :P [16:28] *** geekosaur left [16:29] jnthn: you've just created another Perl 6 meme! ;) [16:29] I'm commiting that to Acme::Meow right now [16:29] Acme::Flying::Carrots [16:30] oops :P [16:30] https://github.com/tadzik/perl6-Acme-Meow/commit/1562be0e66d [16:31] I wonder what the Pod renderer will do with that [16:31] tadzik: :P [16:31] ha, it does nothing. Cool! [16:31] I'll now put it everywhere [16:31] better than flying sharks, with frigging lasers on their heads. [16:32] I'm now commiting that to panda [16:33] ;) [16:33] > ./perl6 -e 'say $=FLYING-CARROT' [16:33] Null PMC access in find_method('gist') [16:33] yeah :/ [16:34] r: say $=FLYING-CARROT [16:34] rakudo 4c241c: OUTPUT«===SORRY!===␤Variable $=FLYING-CARROT is not declared␤at /tmp/v3FQHfDkpM:1␤» [16:34] \o/ [16:35] that's not too good either [16:35] r: =begin FLYING-CARROT␤bl bla␤=end FLYING-CARROT␤say $=FLYING-CARROT [16:35] rakudo 4c241c: OUTPUT«===SORRY!===␤Variable $=FLYING-CARROT is not declared␤at /tmp/cDUAeKuX7t:4␤» [16:36] What's the scoping on pod variables? [16:36] they're file scoped [16:37] there's not some magic POD package they all live in? [16:37] nope [16:38] tadzik: sorry for the delay! https://gist.github.com/2569482 # didn't name it, but that's my results.json [16:38] thanks :) [16:39] wow, that's a fast machine [16:41] tadzik: ? [16:43] colomon: 10 minutes, about twice as fast as mine :) [16:44] oh, the 607 is the run time in seconds? [16:44] re: #112716 --- lines() itself is sufficiently lazy [16:44] when run from the REPL, it's in sink context though [16:44] tadzik: it's a fairly nice MacBook Pro [16:44] sorry [16:45] when run from the REPL, it's not in sink context [16:45] ==END== [16:45] optionally [16:45] ==END== ==END== ==END== ==END== ==END== ==END== ==END== [16:45] *** birdwind1pbird left [16:46] that's...visible... [16:46] TimToady: +1 [16:46] colomon: aye [16:46] TimToady: but not ===END== or ==END=== or ==END========= or ==END==END==END== ? [16:47] colomon: formatter prints that at the bottom of the html file [16:47] tadzik++ [16:47] *** allbery_b joined [16:47] allowing those would be just Too Darn Fancy [16:48] *** MayDaniel left [16:48] *** sivoais left [16:48] but if we match / '==END==' \N* / then we can have: [16:48] ==END====END====END====END====END== [16:48] *** MContagious1 left [16:48] * [Coke] wishes github had a "display formatted json" option for json files. [16:48] or ==END==anythingelse [16:49] TimToady: right. and that seems reasonable to me. [16:49] well, the p6 part of the parser just stops at the first ==END==, so it only matters what Pod thinks of that line [16:50] *** MContagious joined [16:50] *** eviltwin_b left [16:51] but a weird singleton pod directive feels rightish to me, and also resonates with the old __END__ [16:52] indeed. [16:53] http://gist.github.com/2569584 # lines() is lazy, it's .map that is batching things up [16:54] *** MContagious left [16:55] my $munched := $!list.munch($argc * $count); [16:55] that's the problem line. [16:56] That's also the line that made iteration performance in the "for 1..10000 { ... }" case an order of magnitude better, fwiw. [16:56] right [16:56] but obviously it's making .map not lazy [16:56] Well, not lazy enough for this case, at least. :) [16:57] (this is at least one of the bugs I alluded to in the sunday afternoon "lists" session at the hackathon, fwiw. :-) [16:57] *nod* [16:57] *** dakkar left [16:57] Now we just need a way that's (a) lazy enough and (b) keeps the performance win ;) [16:57] the solution is to fix .munch [16:57] ok. [16:57] I can work on that today, I think. [16:57] ooh :) [16:57] if not today then tomorrow [16:58] ++pmichaud [16:58] pmichaud: Any idea when the mark_commit tuits may appear? [16:58] sadly, no. [16:58] OK. [16:58] it's still on my mental "I really need to get that done" list [16:59] Yeah, it's a pain point, for Rakudo and also for qbootstrap. [16:59] yes, I understand. I'm not comfortable with letting it remain in the May release, if that's worth anything. [16:59] So, upper-bound is two weeks. [16:59] wfm [16:59] I've slowly chipping away at QAST. [17:00] jnthn++ [17:00] It already does at least one thing PAST never did. :) [17:00] (natively typed register vars) [17:01] One question I had. Do we use floating point anywhere in NQP? [17:02] At the moment it seems everything gets done with Float PMCs. [17:02] basically all of the arithmetic and numeric relops use the __NN opcodes [17:03] because .... those are the only ones available that can understand floating point :) [17:03] Hm. [17:04] Things are gonna get icky there, I fear. [17:04] I'm not exactly comfortable with saying that NQP should be an integer-only language [17:04] or even that it should default to ints [17:04] I'm not exaclty proposing it :) [17:05] It's more that we'll have a "my int $a" and "my num $b" distinction. [17:05] anyway, since parrot's notion of number tends to be "num" or "Float", that's what NQP generally ends up with [17:05] We already do for natively typed attributes. [17:05] Yeah, I'm worrying about "beyond Parrot" at this point. :) [17:06] When I did the early NQP on the CLR port, I actually had it multiple-dispatching the operators. [17:06] well, it would be okay with me if NQP had a way of translating operators like + - * / into typed instructions [17:06] I'm not sure I want to go there either though. [17:06] I guess I'd be OK with static overloading. [17:07] Taht is, if we see it's an int + and int, we just say "oh, use add_i" [17:07] at the time I was writing NQP, though, always using num was a way to avoid having to do a lot of type analysis in PAST and/or NQP [17:07] Doing type analysis is easier once you have a type system. :) [17:07] (especially since it was going to be som..... exactly.) [17:08] Anyway, making NQP an integer-only language felt odd to me, so if it doesn't feel right to you that probably confirms it's the wrong way. :) [17:10] *** eviltwin_b joined [17:12] *** ponbiki joined [17:13] *** allbery_b left [17:14] http://tjs.azalayah.net/mpo.html -- thoughts? [17:15] good * #perl6 [17:15] masak++ [17:15] hello sorear [17:15] tadzik: Lingua::EN::Numbers::Ordinal overlaps its description on my machine [17:15] colomon: same here [17:15] Same here. [17:15] Same here [17:16] \o/ [17:16] and same on modules.perl6.org, fwiw [17:16] write once, overlap everywhere! [17:16] \o/ [17:17] modules.perl6.org/test_results: e511f1e | tadzik++ | web/ (4 files): [17:17] modules.perl6.org/test_results: Add badges for smoketesting results [17:17] modules.perl6.org/test_results: review: https://github.com/perl6/modules.perl6.org/commit/e511f1e4ee [17:17] tadzik: put the module name at the top and the description below it? [17:17] patches welcome [17:17] PerlJam: maybe, I don't know, I'm no HTML wizard :) [17:18] me either [17:18] I only added those smoke testing badges [17:19] sorear: thanks. again :) [17:19] sorear: you're right, it was easy. [17:20] TimToady++ spotted an URL that I hadn't tested properly, but that was the only real mishap. [17:21] Why is Smart::Match on the Perl 6 module wish list? [17:22] I think I put it there [17:23] I think it [17:23] *** allbery_b joined [17:23] 's quite nice, utilities like contains(), positive(), more_than() or whatnot [17:24] *** oiig left [17:24] maybe there are better ways, but it seemed nice when I looked at it [17:26] *** MContagious joined [17:26] can I know how to use perl -e (perl onliners) to import module like in perl5 ? [17:26] *** eviltwin_b left [17:27] what do you mean? Like perl6 -e 'use Foo; something()'? [17:28] we need to import modules in the actual code.. Is there a flag to import modules like -AM in perl5 ? [17:28] sorry '-M' [17:29] MContagious: you want the perl6 equivalent to perl -MFoo -e '...' ?? [17:29] yeah [17:29] I'm afraid there isn't any [17:29] perl6 -e 'use Foo; ...' is it [17:29] tadzik: positive is just * > 0 in p6, more_than is * > $cutoff [17:30] Though, moritz++ implemented -I earlier today. -M should be possible too :) [17:30] colomon: okay, feel free to remove it then [17:30] *** leprevost joined [17:30] tadzik: still not sure it's completely useless, mind you. :) [17:31] :) [17:32] clearly not the Most Wanted thing [17:32] jnthn:It will be cool if -M supported :) [17:33] MContagious: I could easily write a shell script for you that emulates that ;) [17:34] hey, it was supposed to be easier to port a shell than a shell script ;) [17:35] also, it's particulary nice for perl -MCarp::Always::Color script.pl [17:36] tadzik:yes [17:38] it will be helpful to make modules like ExtUtils::Command [17:41] http://tjs.azalayah.net/mpo.html updated [17:41] \o [17:41] ExtUtils should be quite possible, as an extension of Shell::Command or something [17:41] hello moritz [17:43] ecosystem: e21e4a6 | tadzik++ | META.list: [17:43] ecosystem: Remove Digest-sum, it's gone from Github [17:43] ecosystem: review: https://github.com/perl6/ecosystem/commit/e21e4a6da8 [17:50] masak: I'm a little suprised you were about to upload the zip file [17:51] s/about/able/ [17:52] really, why? [17:55] * moritz thinks that lines() is lazy, but that 'for' is overly eager [18:03] could be. [18:04] is there any experiment that would yield support for this hypothesis? [18:04] pmichaud's gist I suppose [18:05] Yeah, pmichaud++'s gist showed it up pretty well [18:05] *** cognominal___ joined [18:08] *** cognominal_ left [18:10] *** envi_|2 left [18:11] *** envi_ joined [18:14] *** localhost joined [18:15] *** xinming_ left [18:15] *** Transformer joined [18:15] *** Transformer left [18:16] *** uvtc joined [18:16] *** xinming joined [18:18] phenny, tell sjn I'm a fan of markdown too. I haven't read S26 too carefully, but it would be nice if I could just do =begin markdown ... =end markdown and write all my docs in markdown. [18:18] uvtc: I'll pass that on when sjn is around. [18:19] zavolaj/cstr: 8619523 | (Arne Skjærholt)++ | lib/NativeCall.pm6: [18:19] zavolaj/cstr: Add vim modeline to NativeCall.pm6. [18:19] zavolaj/cstr: review: https://github.com/jnthn/zavolaj/commit/8619523b9a [18:19] zavolaj/cstr: e94f45c | (Arne Skjærholt)++ | / (3 files): [18:19] zavolaj/cstr: Tests and support functions for explicitly managing strings. [18:19] zavolaj/cstr: review: https://github.com/jnthn/zavolaj/commit/e94f45ca4d [18:19] uvtc: hey [18:20] hi taddy [18:20] Erp! tadzik. [18:20] :) [18:20] uvtc: how does your colour-blindness react to http://tjs.azalayah.net/mpo.html ? [18:20] moritz: Could you try that branch and nqp/cstr with your sqlite stuff? Hopefully it works now [18:21] uvtc: if that was you, I'm not sure [18:21] Ooooh, ahhh... I like the gemstone-looking check-boxen! Though, they don't go well with the other badges. [18:21] tadzik, no, not me. [18:21] yeah, in the end we'll probably need something else than icons stolen from KDE :P [18:21] hmm, someone was telling me not to leave things just coloured, but also with symbols [18:21] Hah. I'm not a KDE user. Didn't recognize them. There's gotta be some good free icons around. [18:22] Right. Symbols for those with trouble seeing color, but color as well. Sounds good. [18:22] To me, the graphics on the badges aren't all that recognizable. [18:24] Are there any residents on this channel who do a little web design? [18:24] *** noam left [18:24] *** birdwindupbird joined [18:25] My web design skills only go up to: "make it gray, but a box around it, add an , there --- looks good". [18:25] *** noam joined [18:26] *** fglock joined [18:27] why is the logo for "commits in the last 90 days" a cut-open citrus fruit? [18:27] It's fresh =) [18:27] it's fresh, it's so fresh [18:27] exciting [18:29] tadzik: najs! # http://tjs.azalayah.net/mpo.html [18:29] :) [18:30] maybe clicking the smoke badges could redirect to an appropiate emmentaler page [18:30] sounds appropriate. [18:31] that'll need some emmentaler extending too [18:31] we'll see to taht [18:31] two suggestions, and do with them what you will. [18:31] go ahead [18:32] (1) make the green checkmark boxes slightly less colorful. they're "uninteresting" in that they mark "everything's fine". [18:32] right. The icons are temporary, or I hope so [18:32] I quite like them, actually. [18:33] (2) perhaps suppress further red cross checkboxes after the first one? [18:33] the second one would be nice, indeed [18:33] gives a bit of a spatial clue saying "we only really got this far". [18:33] emmentaler: 2cb8081 | (John Gabriele)++ | template.tt: [18:33] emmentaler: added legend [18:33] emmentaler: review: https://github.com/tadzik/emmentaler/commit/2cb80812fc [18:33] that'll require some HTML::Template fu [18:33] actually, I thought someone will contribute (hint hint) ;) [18:33] not really. there's three boxes: green, red, and blank :) [18:34] heh [18:34] and there's also True, False and DontCare :) [18:34] this is similar to that, yes. True, False, and N/A. [18:34] uvtc++ [18:34] rakudo/named_pod_vars: eee338b | tadzik++ | src/Perl6/Actions.pm: [18:34] rakudo/named_pod_vars: Remove some leftover debugging output [18:34] rakudo/named_pod_vars: review: https://github.com/rakudo/rakudo/commit/eee338bb85 [18:34] rakudo/named_pod_vars: 641e6b7 | tadzik++ | src/Perl6/Actions.pm: [18:34] rakudo/named_pod_vars: Make the compiler not whine about undeclared $= variables, and vivify them to Any [18:34] rakudo/named_pod_vars: review: https://github.com/rakudo/rakudo/commit/641e6b7e46 [18:35] what’s wrong with Oxygen icons? [18:35] I like them :) [18:37] rakudo question, is it correct that there must be whitespace between 'else' and the block that follows it? e.g. else{ … } causes an error? [18:37] uvtc: fwiw, I don't think "Implemented" describes "Yes, the tests have passed". Maybe something like "Everything Okay" / "Something's wrong" would be better? [18:37] it may be [18:37] r: if 0 { say('') } else{ say "foo" } [18:37] rakudo 4c241c: OUTPUT«===SORRY!===␤Confused␤at /tmp/sJAnsL98AE:1␤» [18:37] std: if 0 { say('') } else{ say "foo" } [18:37] std fab64fc: OUTPUT«===SORRY!===␤Whitespace required after keyword at /tmp/ZaA9Z7C1b_ line 1:␤------> if 0 { say('') } else⏏{ say "foo" }␤Parse failed␤FAILED 00:00 41m␤» [18:38] goraki: there you go [18:38] tadzik, Oh, whoops. I just copied what I saw below. Will change that. [18:38] uvtc: thanks [18:38] *** NamelessTee joined [18:38] tadzik: right, fair enough. thanks. [18:39] *** tokuhirom joined [18:39] tadzik, Actually. Not sure what should go with those. I just wanted the legend there so the camelia logo wouldn't interfere with the far-right column in the table below. [18:40] hehe, fair enough :) [18:41] just go for something that clearly indicates the meaning, even if it's "OK", "Not OK", "No eye deer" :) [18:41] *** sisar joined [18:42] it's wonderful to see these developments. [18:42] std: if 1 { } else{ 0 [18:42] std fab64fc: OUTPUT«===SORRY!===␤Whitespace required after keyword at /tmp/VDM28zGwX_ line 1:␤------> if 1 { } else⏏{ 0␤Parse failed␤FAILED 00:00 40m␤» [18:42] * moritz replies to stale backscroll [18:42] *** eviltwin_b joined [18:44] tadzik, where is the code for http://tjs.azalayah.net/mpo.html ? [18:44] sisar: 01:54Z tell sisar Thanks, that's more than I remembered :) [18:44] sisar: https://github.com/perl6/modules.perl6.org/tree/test_results [18:44] * sisar looks [18:45] * tadzik moves inside [18:46] *** allbery_b left [18:47] *** cognominal___ left [18:47] *** wolfman2000 joined [18:48] *** cognominal joined [18:48] tadzik, the webpage looks (maybe) broken at the end. The last module in the list is Digest::SHA256 ? [18:49] *** mdupont left [18:50] looks good to me [18:50] sisar: ^ [18:51] that's what I see: http://i.imgur.com/EWLIN.png [18:51] the list is complete [18:52] *** geekosaur joined [18:52] masak: now that I think of it, maybe modules.perl6.org wants only one indicator, saying "doesn't build", "tests fail" or so [18:52] huh, let me get a screengrab... [18:53] emmentaler: 7a267f3 | (John Gabriele)++ | template.tt: [18:53] emmentaler: changed the legend, made it a
to make it a bit taller, thus more room for camelia to fly around [18:53] emmentaler: review: https://github.com/tadzik/emmentaler/commit/7a267f3d76 [18:53] tadzik: well, yes and no. [18:54] tadzik: the visitor is only really interested in one bit of information. "how far did it get?" but three columns form a progress bar of sorts, which is suggestive. [18:54] tadzik: removing visual clutter is admirable, though. [18:54] masak: I'm just suprised that non-sorear people can add downloads to sorear/.*/downloads [18:54] *** eviltwin_b left [18:54] masak: I think that maybe a visitor to mpo wants only to know if something is outright broken [18:55] sorear: that right comes along with commit bits [18:55] if he/she really wants all these information, he/she'll visit emmentaler [18:55] .u ☺ [18:55] U+263A WHITE SMILING FACE (☺) [18:56] emmentaler, n. Something which makes something else mental. [18:56] sorear: oh! but I'm a contributor. the only rights I don't have are what's under the "Admin" tab. [18:57] tadzik, here is what I see http://imgur.com/rdbZc (Firefox). Ditto for Chromium. [18:57] tadzik, feel free to change that smiley. Seemed appropriate, but tastes vary. [18:58] When class Foo does Role[$param], is there a licenced way to dig out the $param again? [18:58] *** leprevost left [18:59] I think I like seeing the checkboxen all the way across. Lots of green checkboxes == good, lots of red boxes with X's == bad, hover mouse over box if you forget what it's supposed to indicate. [18:59] arnsholt: make an accessor for it in Role [18:59] role Roles[$param] { method param() { $param } } [18:59] Right. That was my other option [19:00] tadzik, Oh, wait, that doesn't really go well with "commits in the last 90 days" though, since it will make any slightly older modules look bad. [19:00] *** localhost left [19:01] sisar: hee, odd [19:01] aye [19:01] what does the page source say? [19:01] tadzik, maybe "commits in the last 90 days" should just be something extra (simply absent if project not touched in last 90 days). [19:01] uvtc: remember that perfect is the enemy of good [19:02] moritz, also, sorry for the bikeshedding. [19:02] *** pochi left [19:02] uvtc: I'm leaning towards removing the three badges from mpo, and leaving just a warning saying "well, tests fail" [19:02] nqp: 446badf | moritz++ | src/PAST/NQP.pir: [19:02] nqp: nqp::die as alias for pir::die [19:02] nqp: review: https://github.com/perl6/nqp/commit/446badfc49 [19:02] nqp: d498216 | moritz++ | / (2 files): [19:02] nqp: allow single-letter command line options without spaces between option and value [19:02] nqp: [19:02] nqp: also allow grouping of options that take arguments. Now -Ilib and -pes/// should work [19:02] nqp: review: https://github.com/perl6/nqp/commit/d49821658c [19:02] if someone wants to know more, he/she can click and go to emmentaler [19:03] moritz++ [19:03] r: say('foo' != all('a', 'b', 'c')); [19:03] rakudo 4c241c: OUTPUT«False␤» [19:04] r: say('foo' ne all('a', 'b', 'c')); [19:04] rakudo 4c241c: OUTPUT«True␤» [19:04] :) [19:04] Durr. [19:04] I've been doing too much Python lately >.< [19:05] hugme: hug arnsholt [19:05] * hugme hugs arnsholt [19:05] Was experimenting with file IO, and got a weird error from this: https://gist.github.com/2570536 [19:05] "Variable $line is not declared" [19:05] But that's commented out. [19:05] huh [19:05] perl6 is wearing its x-ray specs [19:06] (seeing through comment markers) [19:06] r: https://gist.github.com/2570536 [19:06] tadzik, the page source ends abruptly at the SHA256 block... maybe its my internet connection. Will try again later and let you know. [19:06] rakudo 4c241c: OUTPUT«===SORRY!===␤Variable $line is not declared␤at /tmp/GvhcUy3zPf:10␤» [19:06] uvtc: the problem is $whole_enchilada<<< [19:07] uvtc: that starts to parse a postcircumfix:<> [19:07] uvtc: and inside it, # are not comments [19:07] I was going to say, it gets better. When I remove the commented out code completely, I get a different errer. [19:07] s/errer/error/ [19:08] ===SORRY!=== [19:08] Missing << or >> [19:08] std: https://gist.github.com/2570536 [19:08] std fab64fc: OUTPUT«===SORRY!===␤Variable $line is not predeclared at /tmp/7xtvI59y68 line 9:␤------> # for @lines -> ⏏$line {␤Unable to parse statement list; couldn't find right brace at /tmp/7xtvI59y68 line 11 (EOF):␤------> # }⏏ I wonder if those errors hould be deferred to CHECK time, just so that we can see other syntax errors too [19:09] *** wolf2k_away joined [19:09] r: say("foo" ne all("foo", "bar")) [19:09] rakudo 4c241c: OUTPUT«True␤» [19:10] moritz, The reason I was putting ">>>these<<<" around the text in the string was because I wanted to see what was happening with any newlines present. Just a nice visual marker. [19:10] Am I being silly again? [19:10] moritz, should I file/email a bug report? [19:11] uvtc: It's parsed as the start of a $var syntax, which is why it explodes [19:11] arnsholt: "foo" isn't equal to "bar" [19:11] moritz, oh, I see what you mean. [19:11] arnsholt: So it's true that it's not equal to all of them. [19:11] whoops. s/moritz/arnsholt/ [19:11] jnthn: Being silly again, of course. I want eq any() [19:11] r: say("foo" eq all("foo", "bar")) [19:11] rakudo 4c241c: OUTPUT«all(True, False)␤» [19:12] hehe [19:12] r: say(so "foo" eq all("foo", "bar")) [19:12] rakudo 4c241c: OUTPUT«False␤» [19:12] True! and False! [19:12] tadzik: ne collapses the junction by negating [19:12] *** xinming_ joined [19:12] yeah [19:12] *** wolfman2000 left [19:15] jnthn: Getting the CStr repr going was quite pleasant BTW. 6model is nice =) [19:16] *** xinming left [19:17] arnsholt: fwiw negated ops are supposed to autothread differently from normal ops [19:17] ie $a ne $b works like not $a eq $b [19:18] and then the eq autothreads [19:18] *** brrt joined [19:18] arnsholt: yay :) [19:18] moritz, jnthn , filed a bug for what I was just asking about. [19:19] moritz: Right. Did you see the cstr branches in nqp and zavolaj BTW? Should be relevant to sqlite [19:20] uvtc: it's not a bug, as I tried to explain [19:20] uvtc: at least not in rakudo [19:21] uvtc: the <<< introduces a postcircumfix, which you never close. inside it, # does not introduce comments [19:21] uvtc: so it's OK to complain about undeclared variables in there [19:21] it's the same as [19:21] r: my $a; $a<< foo $bar baz >>; [19:21] rakudo 4c241c: ( no output ) [19:21] erm, that one should complain [19:21] std: my $a; $a<< foo $bar baz >>; [19:22] std fab64fc: OUTPUT«===SORRY!===␤Variable $bar is not predeclared at /tmp/VYDgntPMKy line 1:␤------> my $a; $a<< foo ⏏$bar baz >>;␤Check failed␤FAILED 00:00 42m␤» [19:22] std: my $a; $a<< foo # $bar baz >>; [19:22] std fab64fc: OUTPUT«===SORRY!===␤Variable $bar is not predeclared at /tmp/ZSecueKnDh line 1:␤------> my $a; $a<< foo # ⏏$bar baz >>;␤Check failed␤FAILED 00:00 42m␤» [19:22] uvtc: that's what you are doing, basically [19:22] moritz, Ah, sorry, I misunderstood. [19:23] *** fgomez joined [19:24] *** mdupont joined [19:25] moritz, thanks for the explanation. [19:30] *** goraki left [19:31] *** alester joined [19:31] Added this page to the mostly harmless docs: http://wiki.perl6.org/Mostly%20Harmless%20Docs/Files%20and%20IO . It uses the wiki's Perl 5 syntax highlighter. [19:31] Also added a note to the front page about getting better Perl 6 syntax highlighting for the wiki. [19:33] alester, I see the mostly harmless docs on the wiki http://wiki.perl6.org/Mostly%20Harmless%20Docs/Main as being somewhat similar to your http://perl101.org/ . [19:34] (though, they're not nearly finished) [19:36] *** birdwindupbird left [19:37] *** Su-Shee left [19:41] phenny, tell alester http://irclog.perlgeek.de/perl6/2012-05-01#i_5525866 [19:41] uvtc: I'll pass that on when alester is around. [19:42] I'm here [19:42] alester: 19:41Z tell alester http://irclog.perlgeek.de/perl6/2012-05-01#i_5525866 [19:42] I have email, too. [19:42] gotcha. [19:42] I haven't done anything on perl101 in forever. [19:43] Right. But when I saw your nick, I thought of perl101 and then made the connection. [19:43] I'm not sure I ever will. But who know. [19:44] I just had phenny ping you because I figured, if I don't hear back from someone, it probably won't hurt to have phenny let them know when they get back. [19:44] understood. [19:47] *** Su-Shee joined [19:50] How do I "shell out"? `this` doesn't work. [19:50] qx [19:51] moritz, Hm. Not working for me: `my $date = qx/date/;` ... [19:52] *** fgomez left [19:52] moritz, nor qx[date] [19:52] uvtc: in what way is it not working for you? [19:53] ===SORRY!=== [19:53] Confused [19:53] at ./foo.pl:1 [19:53] are you using literal ` in there? [19:53] r: my $date = qx/date/; [19:53] https://gist.github.com/2570898 [19:53] rakudo 4c241c: OUTPUT«qx, qqx is disallowed in safe mode␤ in sub restricted at src/SAFE.setting:2␤ in sub QX at src/SAFE.setting:9␤ in block at /tmp/Nctt_jdPxT:1␤␤» [19:54] Oh heck. It's the `say`. [19:54] It didn't like the hashes in there. [19:54] * moritz wonders why not [19:55] <[Coke]> comment! [19:55] o.O [19:55] std: my $date = qx[date]; [19:55] I was trying to put something harmless in there, and didn't want to use >>>these<<<. [19:55] std fab64fc: OUTPUT«ok 00:00 41m␤» [19:55] <[Coke]> r: say "#what#" [19:55] rakudo 4c241c: OUTPUT«#what#␤» [19:55] <[Coke]> or not. ;) [19:55] <[Coke]> though it really looks like ColdFusion when you do that. [19:55] std: my $date = qx[date]; say "#$date#" [19:55] std fab64fc: OUTPUT«ok 00:00 42m␤» [19:55] *** snearch joined [19:55] r: my $date = "now" say "#$date#" [19:55] rakudo 4c241c: OUTPUT«===SORRY!===␤Confused␤at /tmp/q2fwiF7nbN:1␤» [19:55] r: my $date = "now"; say "#$date#" [19:55] rakudo 4c241c: OUTPUT«===SORRY!===␤Confused␤at /tmp/PavkFBzTMh:1␤» [19:55] r: my $date = "now"; say "#$date" [19:55] rakudo 4c241c: OUTPUT«#now␤» [19:56] r: my $date = "now"; say "$date#" [19:56] rakudo 4c241c: OUTPUT«===SORRY!===␤Confused␤at /tmp/9P9KzO9pWC:1␤» [19:56] *** unobe left [19:56] Interpolation fail, maybe? [19:56] oh, it's the old unspace-after-interpolation parse error :/ [19:56] r: my $date = "now"; say "$date." [19:56] rakudo 4c241c: OUTPUT«now.␤» [19:56] r: my $date = "now"; say "$date.(" [19:56] rakudo 4c241c: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2␤» [19:56] that one [19:57] <[Coke]> r: my $date = "a" && say "${date}(" [19:57] rakudo 4c241c: OUTPUT«===SORRY!===␤Non-variable $ must be backslashed at line 1, near "${date}(\""␤» [19:57] {$date} [19:57] <[Coke]> arglebargle. "except in perl 6" [19:58] *** fglock left [19:58] *** fgomez joined [19:58] * jnthn wonders if we have a rule somewhere there should be a token, thus it goes off parsing whitespace and finding the comment. [19:58] std: say q]hop!] [19:58] std fab64fc: OUTPUT«===SORRY!===␤Use of a closing delimiter for an opener is reserved at /tmp/bkFuI3KXVC line 1:␤------> say q⏏]hop!]␤ expecting any of:␤ argument list␤ prefix or term␤Parse failed␤FAILED 00:00 40m␤» [19:58] :P [19:58] also, phew. :) [20:08] nqp/cstr: abef7b9 | (Arne Skjærholt)++ | src/6model/reprs/CStr.c: [20:08] nqp/cstr: Handle encoding parameter for CStr representation. [20:08] nqp/cstr: review: https://github.com/perl6/nqp/commit/abef7b968b [20:08] zavolaj/cstr: 216d11c | (Arne Skjærholt)++ | lib/NativeCall.pm6: [20:08] zavolaj/cstr: Pass encoding parameter to CStr representation. [20:08] zavolaj/cstr: review: https://github.com/jnthn/zavolaj/commit/216d11cb48 [20:11] How do I print to stderr? I tried `say $*ERR $err-msg;` but that's not it... [20:12] uvtc: 'note $err-msg' [20:12] uvtc: or '$*ERR.say($err-msg)' [20:12] Oooh. I think I saw "warn" mentioned somewhere as well. [20:12] uvtc: or '$*ERR.say: $err-msg' [20:12] Ok. [20:13] uvtc: &warn throws a resumable exception, which then gets printed to STDERR when caught. [20:13] or rather, when nothing catches it and silences it :) [20:13] *** xinming joined [20:14] I see that `warn` gives me the line number. [20:14] Whereas `note` doesn't.e [20:15] s/doesn't.e/doesn't/ [20:15] masak, thanks. [20:15] r: say $?LINE [20:15] rakudo 4c241c: OUTPUT«===SORRY!===␤Variable $?LINE is not declared␤at /tmp/nDbA0gB39H:1␤» [20:15] n: say $?LINE [20:15] niecza v17-2-gb8fcf85: OUTPUT«1␤» [20:16] r: say "hi"; warn "ouch!"; say "bye" # should never get to "bye"? XXX [20:16] rakudo 4c241c: OUTPUT«hi␤ouch! in block at /tmp/hHEPJmg5vn:1␤␤bye␤» [20:16] How can I make `say` "hot"? [20:17] *** xinming_ left [20:17] yes, it should get to bye, and it does. [20:18] *** brrt left [20:18] masak, I only ask, because you mentioned "resumable exception", but I never caught any exception. [20:18] the runtime catches it, and resumes it. [20:18] that's what warnings are: milder forms of error after which stuff continues on. [20:19] Ok, will get back to understanding that better after learning about p6 exceptions. [20:19] thanks, masak. [20:19] * masak kowtows [20:20] Is there any way to make `say` non-buffered? That is, write directly to stdout, without delay. [20:20] *** NamelessTee left [20:22] it already is non-buffered [20:23] theoretically, $*OUT.autoflush = True [20:26] *** brrt joined [20:26] *** eviltwin_b joined [20:27] Thanks, masak. Using `note` sounds great. [20:28] *** geekosaur left [20:29] I dimly remember a script or module that lets you search for unicode codepoints by name [20:29] Oh, and `die "no!!!!"` also seems to write to stderr as well. (of course, then exists the script) [20:29] something p5ish [20:30] can somebody tell me its name? [20:30] http://shapecatcher.com/ [20:30] moritz: App::Uni [20:30] name, not shape [20:30] masak: thanks [20:30] it's one of the first CPAN modules I install on any new Unix box of mine :) [20:31] *** alvis` left [20:33] *** GlitchMr left [20:36] *** wolf2k_away left [20:39] *** ponbiki left [20:41] *** tokuhirom left [20:48] moritz: If TimToady doesn't know, ask tchrist; he's bound to know. [20:49] oops, /me was scrolled up [20:49] there should be a warning for scrollback staleness. [20:50] *** REPLeffect left [20:51] *** REPLeffect joined [20:51] 'course, I use one of my own that is rather simpler than App::Uni [20:52] https://gist.github.com/2571294 [20:52] *** kaare_ left [20:53] *** allbery_b joined [20:56] *** eviltwin_b left [20:57] What's the difference between `leg` and `cmp`? [20:58] *** brrt left [20:59] .oO( We have both kinds, country *and* western. ) :) [21:00] uvtc: `leg` coerces to Str, `cmp` compares anything as best it can [21:01] Ah, thanks, masak. [21:01] *** eviltwin_b joined [21:02] (`leg` is to `le` and `ge` as `<=>` is to `<=` and `>=`) [21:02] masak, right. [21:03] though the corresponding `cmp` comparison operators aren't called `cm` and `pm`, they're `before` and `after` :) [21:03] heh [21:04] *** cognominal_ joined [21:04] *** mucker joined [21:04] *** allbery_b left [21:04] *** skids left [21:04] so maybe `cmp` should be renamed `befsameaft` :P [21:05] or `before===after` [21:06] What is `eqv`? [21:06] data structure equivalence. [21:06] *** cognominal left [21:06] p6: say [1, 2, 3] eqv [1, 2, 3] [21:07] pugs: OUTPUT«1␤» [21:07] ..rakudo 4c241c, niecza v17-2-gb8fcf85: OUTPUT«True␤» [21:07] *** ponbiki joined [21:07] those are two different array references, but they are eqv to each other. [21:07] *** Su-Shee left [21:07] *** geekosaur joined [21:07] masak, you mean, it ripples through a data structure, recursively, checking corresponding pieces for equality? [21:07] p6: say [1, 2, { foo => 'bar' }] eqv [1, 2, { foo => 'bar' }] [21:07] rakudo 4c241c, niecza v17-2-gb8fcf85: OUTPUT«True␤» [21:07] ..pugs: OUTPUT«␤» [21:07] uvtc: yes. [21:08] Interesting. I'd've guessed that it would check if two objects are the same object. [21:08] *** eviltwin_b left [21:08] that's part of what === does. [21:08] Does eqv use eq or ==? [21:08] Oh, wait. ===? [21:08] :) [21:09] p6: say 42 eqv "42" [21:09] Ok, so, like cmp doing the best with what you give it, [21:09] rakudo 4c241c, niecza v17-2-gb8fcf85: OUTPUT«False␤» [21:09] ..pugs: OUTPUT«␤» [21:09] seems eqv uses === underneath. [21:09] What does `===` do? [21:09] compares reference identity. [21:10] unless it's been told the thing is a value object (like numbers and strings and stuff), then it compares values. [21:10] *** geekosaur left [21:10] What does eqv use when comparing one item in one data structure to the corresponding item in the other d-s? eq or ==? [21:11] *** geekosaur joined [21:11] === [21:11] which boils down to reference comparison, eq, or ==, depending. [21:12] masak, regarding using ===, I don't see how that would work, unless the implementation is sharing fragments of data structures behind the scenes. [21:12] p6: class A { has $.a } say A.new(a => 1) eqv A.new(a => 1) [21:13] niecza v17-2-gb8fcf85: OUTPUT«===SORRY!===␤␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/WvZUIjBcAy line 1:␤------> class A { has $.a }⏏ say A.new(a => 1) eqv A.new(a => 1)␤␤Parse failed␤␤» [21:13] ..rakudo 4c241c: OUTPUT«===SORRY!===␤Confused␤at /tmp/oo34y3viO1:1␤» [21:13] ..pugs: OUTPUT«␤» [21:13] p6: class A { has $.a }; say A.new(a => 1) eqv A.new(a => 1) [21:13] rakudo 4c241c: OUTPUT«False␤» [21:13] ..niecza v17-2-gb8fcf85: OUTPUT«Unhandled exception: Cannot use value like A as a number␤ at line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 261 (Any.Numeric @ 5) ␤ at line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 0… [21:13] ..pugs: OUTPUT«␤» [21:13] uvtc: well, it does work, whether you see how or not ;) [21:13] That's good. :) [21:14] doy: custom types need to tell infix: how to recurse, otherwise they'll be treated as leaves. [21:14] masak: makes sense to me, i was just making sure [21:14] (: [21:15] p6: class A { has $.a }; sub infix:(A $l, A $r) { $l.a eqv $r.a }; say A.new(a => 1) eqv A.new(a => 1) [21:15] niecza v17-2-gb8fcf85: OUTPUT«Unhandled exception: Nominal type check failed in binding '$l' in 'infix:'; got Int, needed A␤ at /tmp/JLOuricC7d line 0 (infix: @ 1) ␤ at /tmp/JLOuricC7d line 1 (infix: @ 5) ␤ at /tmp/JLOuricC7d line 1 (mainline @ 5) ␤ at /home/p6eval/ni… [21:15] ..rakudo 4c241c: OUTPUT«Nominal type check failed for parameter '$l'; expected A but got Int instead␤ in sub infix: at /tmp/Rhy2OKhnyh:1␤ in sub infix: at /tmp/Rhy2OKhnyh:1␤ in block at /tmp/Rhy2OKhnyh:1␤␤» [21:15] ..pugs: OUTPUT«*** No such method in class Int: "&a"␤ at /tmp/pEOxFPXNBS line 1, column 52-66␤» [21:15] oops. [21:15] p6: class A { has $.a }; multi infix:(A $l, A $r) { $l.a eqv $r.a }; say A.new(a => 1) eqv A.new(a => 1) [21:15] pugs: OUTPUT«*** No such method in class Int: "&a"␤ at /tmp/Gpc_J6Bdhp line 1, column 54-68␤» [21:15] ..niecza v17-2-gb8fcf85: OUTPUT«Unhandled exception: Cannot call &infix:; none of these signatures match:␤ A, A␤ at /tmp/nA7WqWdd01 line 1 (infix: @ 5) ␤ at /tmp/nA7WqWdd01 line 1 (mainline @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3840 (ANON @ 3) ␤ at /home/p6e… [21:15] ..rakudo 4c241c: OUTPUT«True␤» [21:15] *** pani joined [21:15] *** pani left [21:15] sorear: ^^ that looks... interesting. [21:16] *** uvtc left [21:17] *** xinming left [21:17] *** eviltwin_b joined [21:18] *** xinming joined [21:20] *** geekosaur left [21:20] 'night, #perl6 [21:21] *** allbery_b joined [21:24] *** eviltwin_b left [21:31] *** mikemol left [21:41] *** sivoais joined [21:41] *** alvis joined [21:44] *** wolfman2000 joined [21:46] *** ponbiki left [21:56] *** snearch left [21:58] *** jferrero left [21:58] *** alester left [22:01] *** sergot left [22:07] *** eviltwin_b joined [22:08] good night [22:09] * jnthn -> sleep [22:11] *** allbery_b left [22:13] *** allbery_b joined [22:15] *** eviltwin_b left [22:15] good night [22:15] *** geekosaur joined [22:15] anyone awake who knows exactly what an expressionis? [22:18] *** PacoAir left [22:18] *** allbery_b left [22:31] *** eviltwin_b joined [22:34] *** geekosaur left [22:36] *** allbery_b joined [22:38] *** allbery_b left [22:39] *** geekosaur joined [22:39] *** eviltwin_b left [22:41] *** sftp_ joined [22:45] *** Woodi left [22:45] *** sftp left [22:49] *** skids joined [22:50] *** flussence_ joined [22:54] *** szbalint_ joined [22:54] *** broquain1 joined [22:54] *** sivoais left [22:55] *** mikec__ joined [22:56] *** bjarne left [22:56] *** Khisanth left [22:56] *** mikec_ left [22:56] *** flussence left [22:56] *** szbalint left [22:56] *** cosimo left [22:56] *** broquaint left [22:56] *** thou left [22:56] *** silug left [22:56] *** REPLeffect left [22:56] *** envi_ left [22:56] *** timotimo left [22:56] *** araujo left [22:56] *** eternaleye left [22:56] *** plobsing left [22:56] *** ashleydev left [22:56] *** mucker left [22:56] *** MContagious left [22:56] *** Patterner left [22:56] *** colomon left [22:56] *** tadzik left [22:56] *** odoacre_ left [22:56] *** kcwu left [22:56] *** Juerd left [22:56] *** wolfman2000 left [22:56] *** Util_ left [22:56] *** domidumont left [22:56] *** huf left [22:56] *** Timbus left [22:56] *** ocharles left [22:56] *** Tene left [22:56] *** sunnavy left [22:56] *** shachaf left [22:56] *** takesako left [22:56] *** au left [22:56] *** sorear left [22:56] *** charsbar___ left [22:56] *** geekosaur left [22:56] *** orafu left [22:56] *** bruges left [22:56] *** xdbr left [22:56] *** Guest36035 left [22:56] *** betterworld left [22:56] *** pyrimidine left [22:56] *** pmichaud left [22:56] *** xinming left [22:56] *** thelazydeveloper left [22:57] *** simcop2387 left [22:57] *** frettled left [22:57] *** Bucciarati left [22:57] *** `patch` left [22:57] *** LoRe left [22:57] *** jtpalmer left [22:57] *** risou left [22:57] *** sisar left [22:57] *** plobsing joined [22:57] *** benabik left [22:57] *** krunen joined [23:00] *** simcop2387 joined [23:00] *** REPLeffect joined [23:00] *** bjarne_ joined [23:00] *** timotimo joined [23:00] *** wolfman2000 joined [23:00] *** mucker joined [23:00] *** envi_ joined [23:00] *** MContagious joined [23:00] *** Patterner joined [23:00] *** thou joined [23:00] *** Util_ joined [23:00] *** domidumont joined [23:00] *** huf joined [23:00] *** colomon joined [23:00] *** tadzik joined [23:00] *** Timbus joined [23:00] *** ocharles joined [23:00] *** odoacre_ joined [23:00] *** Tene joined [23:00] *** sunnavy joined [23:00] *** shachaf joined [23:00] *** ashleydev joined [23:00] *** takesako joined [23:00] *** au joined [23:00] *** charsbar___ joined [23:00] *** sorear joined [23:00] *** rhr joined [23:00] *** Gothmog_ joined [23:00] *** yves_ joined [23:00] *** ingy joined [23:00] *** felher joined [23:00] *** kranius joined [23:00] *** PZt joined [23:00] *** prammer joined [23:00] *** cxreg joined [23:00] *** silug joined [23:00] *** Juerd joined [23:00] *** kcwu joined [23:00] *** cosimo joined [23:01] *** eviltwin_b joined [23:01] *** Woodi_ joined [23:01] *** orafu joined [23:01] *** bruges joined [23:01] *** xdbr joined [23:01] *** Guest36035 joined [23:01] *** betterworld joined [23:01] *** pyrimidine joined [23:01] *** pmichaud joined [23:01] *** apejens joined [23:01] *** Grrrr joined [23:01] *** Yappo___ joined [23:02] *** xinming joined [23:02] *** thelazydeveloper joined [23:02] *** bonsaikitten joined [23:02] *** doy joined [23:02] *** frettled joined [23:02] *** Bucciarati joined [23:02] *** `patch` joined [23:02] *** LoRe joined [23:02] *** jtpalmer joined [23:02] *** risou joined [23:05] *** araujo joined [23:13] *** eviltwin_b left [23:15] *** geekosaur joined [23:16] *** Khisanth joined [23:17] *** benabik joined [23:17] <[Coke]> not much of a change on spec test comparison in teh past week: [23:17] <[Coke]> "Impl", "pass","fail","todo","skip","plan","spec" [23:17] <[Coke]> # 05/01/2012 - rakudo++ ; niecza (94.34%); pugs (42.24%) [23:17] <[Coke]> "niecza", 20384, 2, 761, 1499, 22646, 24155 [23:17] <[Coke]> "pugs" , 9127, 1, 3341, 1555, 14024, 24016 [23:17] <[Coke]> "rakudo", 21605, 30, 708, 1855, 24198, 24165 [23:23] *** Gruber joined [23:23] *** bruges_ joined [23:23] *** Yappo_____ joined [23:24] *** infosophy joined [23:24] *** infosophy is now known as Guest46584 [23:25] *** pmichaud_ joined [23:27] *** eviltwin_b joined [23:27] *** xdbr__ joined [23:27] *** orafu left [23:27] *** orafu joined [23:29] *** geekosaur left [23:29] *** Woodi joined [23:30] *** Chillance left [23:30] *** geekosaur joined [23:31] *** thou left [23:32] *** Woodi_ left [23:32] *** bruges left [23:32] *** xdbr left [23:32] *** Guest36035 left [23:32] *** betterworld left [23:32] *** pyrimidine left [23:32] *** pmichaud left [23:32] *** apejens left [23:32] *** Grrrr left [23:32] *** Yappo___ left [23:33] *** betterworld joined [23:33] *** eviltwin_b left [23:37] *** sftp joined [23:38] *** havenn joined [23:39] *** mmol_saffron joined [23:50] *** ilogger2_ joined [23:50] *** BlueT_ left [23:50] *** ilogger2 left [23:50] *** HarryS joined [23:51] *** HarryS left [23:51] *** HarryS joined [23:53] [Coke]: do you know exactly what an expression is ? [23:55] *** whiteknight joined [23:58] *** sivoais joined