Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-08-27

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 [Coke] phenny: tell moritz_ that I added tadzik.
00:00 phenny [Coke]: I'll pass that on when moritz_ is around.
00:00 [Coke] masak++
00:02 Psyche^ joined #perl6
00:02 lue I wonder how hard it would be to create a 4D visualizer in P6...
00:05 masak would you need two sets of polarizing glasses to view the result?
00:05 TimToady you just need a single 3-dimensional polarizer
00:05 Patterner left #perl6
00:05 Psyche^ is now known as Patterner
00:07 lue Reason being that I can't find a decent set of pictures of a glome :/
00:08 lue .oO(And I'm out of 4D graph paper)
00:10 lue rakudo: my Set @a = 1,3,2; say @a;
00:10 p6eval rakudo df38ac: OUTPUT«132␤»
00:10 lue rakudo: my Set @a = 1,3,2; say @a.WHAT;
00:10 p6eval rakudo df38ac: OUTPUT«()␤»
00:10 lue rakudo: my Set $a = 1,3,2; say $a.WHAT;
00:10 p6eval rakudo df38ac: OUTPUT«Type check failed for assignment␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/MVjx18DVig␤»
00:11 lue rakudo: my $a = Set.new(1,2,3); say $a.WHAT;
00:11 p6eval rakudo df38ac: OUTPUT«Set()␤»
00:13 lue where's the definition of Set? [the one in S32::Containers contains much less than what's in src/core/Set.pm]
00:18 lue Grr. I'm finding it hard to use Set. (mainly because  my Set @a  doesn't dwim)
00:22 masak lue: it doesn't really make sense to positionally access a Set.
00:22 masak I blogged: http://use.perl.org/~masak/journal/40516
00:23 lue ah. (I think since Sets and Arrays both contain a group of things, I expect an array variable could be a set)
00:25 eternaleye left #perl6
00:25 eternaleye joined #perl6
00:25 masak lue: you don't seem to be alone in that. in fact, the '@' sigil feels like a sort of half-match for the job.
00:28 lue great blog post masak. I actually think it's fun to (freak out|stun|amaze|*) people. :)
00:28 masak me too.
00:28 masak I just didn't expect it in this case. I had to explain to myself why they freaked out.
00:29 masak my tolerance to stacking of Perl 6 concepts has definitely risen :)
00:29 lue In my mind [at least how I'd like it to be :)], $ variables contain single items, @ variables a group of items, and % variables a 'dictionary' of items.
00:31 fod left #perl6
00:31 masak lue: s/group/an ordered collection/
00:34 lue .oO(not like I expect the foundations of the language to change just so my brain feels better :) )
00:34 masak I told you people would like the REPL :) http://twitter.com/jasonnoble/status/22221223964
00:35 masak lue: it's been known to happen. :)
00:35 Italian_Plumber joined #perl6
00:36 lue What bug me with using $ variable for Set (specifically), is that I can't say things like  my Set $a;  , instead  my $a = Set.new();  .
00:37 masak you can say 'my Set $a .= new();'
00:40 lue Alright. .oO(I'll save a detailed discussion of $/@/% for (later&p6l).) Would it be unreasonable to have a powerset method for Set?
00:40 masak I don't see an urgent need for it in core.
00:40 masak then again, I don't see an urgent need for Set (or Bag) in core, either.
00:41 masak depends on the degree to which we want batteries to be included, I guess.
00:41 lue When I saw things like union and intersect in Set.pm, I thought powerset could be included in the core as well.
00:42 drbean joined #perl6
00:42 masak could be.
00:43 masak it is one of those things that when you need it, you really need it.
00:47 bythos joined #perl6
00:51 whiteknight left #perl6
00:52 masonkramer left #perl6
00:52 masonkramer joined #perl6
00:53 masak 'night, #perl6
00:53 masak left #perl6
00:55 lue afk
01:05 lue left #perl6
01:08 alester joined #perl6
01:09 justatheory joined #perl6
01:10 Italian_Plumber left #perl6
01:11 Italian_Plumber joined #perl6
01:11 dduncan joined #perl6
01:12 sekimur__ left #perl6
01:13 dduncan left #perl6
01:19 jaldhar joined #perl6
01:23 jaldhar left #perl6
01:27 ruoso joined #perl6
01:39 tylercurtis joined #perl6
01:56 \xF0 left #perl6
01:57 \xF0 joined #perl6
01:58 masonkramer left #perl6
02:01 justatheory left #perl6
02:11 tylercurtis sorear: based on the backlog, it sounds like you agree that RT #77022 is a bug.
02:12 leprevost joined #perl6
02:18 bjarneh left #perl6
02:20 kid51 left #perl6
02:25 justatheory joined #perl6
02:25 gfldex std: say "{"flap" xx 3}";
02:25 p6eval std 32107: OUTPUT«ok 00:01 117m␤»
02:25 gfldex rakudo: say "{"flap" xx 3}";
02:25 p6eval rakudo df38ac: OUTPUT«flap flap flap␤»
02:26 gfldex perl6++ :)
02:27 alester left #perl6
02:32 TimToady RT #77022 is not a bug, but the explanation given is incorrect
02:32 TimToady all parses start at position A and progress till they return position B
02:32 TimToady there is no scanning implicit in subrules, nor is there any anchoring
02:33 TimToady it *appears* to be anchored to the beginning merely because that's the first position passed to TOP
02:33 TimToady if you want it anchored at the end, you must do so explicitly
02:33 azert0x left #perl6
02:34 TimToady otherwise the grammar will assume that some other grammar wants to take up where it left off
02:34 TimToady the scanning done by higher-level matchers is a function of .match, .subst, m//, etc
02:35 TimToady not a function of the grammar
02:36 tylercurtis Thanks for clearing that up, TimToady++.
02:37 TimToady we played with various other models, but this seems to be the most composable
02:42 agentzh joined #perl6
02:47 jaldhar joined #perl6
03:01 BaggioKwok joined #perl6
03:09 risou joined #perl6
03:09 ash_ left #perl6
03:15 BaggioKwok left #perl6
03:18 ash_ joined #perl6
03:22 justatheory left #perl6
03:22 Italian_Plumber left #perl6
03:37 Italian_Plumber joined #perl6
03:37 Italian_Plumber left #perl6
03:41 alester joined #perl6
03:53 risou left #perl6
03:56 lue joined #perl6
04:04 ash_ left #perl6
04:07 plobsing left #perl6
04:15 fda314925 left #perl6
04:18 patspam left #perl6
04:19 molaf joined #perl6
04:21 [Coke] has anyone familiar with the rakudo's C guts looked at the latest post on TT #1746?
04:22 sftp joined #perl6
04:24 justatheory joined #perl6
04:32 [Coke] phenny: tell moritz to please respond to TT #1613
04:32 phenny [Coke]: I'll pass that on when moritz is around. I'll have to use a pastebin, though, so your message may get lost.
04:33 [Coke] phenny: tell yourself to implode.
04:33 phenny [Coke]: I'll pass that on when yourself is around.
04:36 molaf left #perl6
04:45 zorgnax joined #perl6
04:46 kaare joined #perl6
04:46 kaare is now known as Guest57048
04:51 bythos left #perl6
05:14 tylercurtis Hmm: "say 'Executed successfully' if run('ls');" outputs the output of 'ls', but it doesn't output 'Executed successfully'.
05:19 [Coke] rakudo: say run('ls')
05:19 Tene rakudo: my $a = run('ls > /dev/null'); say $a.perl;
05:19 p6eval rakudo df38ac: OUTPUT«Operation not permitted in safe mode␤  in 'Safe::forbidden' at line 2:/tmp/OGuZDI2JQG␤  in main program body at line 22:/tmp/OGuZDI2JQG␤»
05:19 p6eval rakudo df38ac: OUTPUT«Operation not permitted in safe mode␤  in 'Safe::forbidden' at line 2:/tmp/g18kJS6dHn␤  in main program body at line 22:/tmp/g18kJS6dHn␤»
05:19 [Coke] (it returns 0)
05:21 Tene There's another way to get the output if that's what you're going for, but I don't recall.
05:21 Tene q:x or something?
05:23 TimToady rakudo: sub rot13 ($s) { $s.trans('A..Za..z' => 'N..ZA..Mn..za..m') }; print rot13 $*IN.slurp;
05:23 p6eval rakudo df38ac: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected␤  in 'rot13' at line 22:/tmp/VXhkXJLzqp␤  in main program body at line 22:/tmp/VXhkXJLzqp␤»
05:24 TimToady rakudobug
05:24 TimToady workaround:
05:24 TimToady rakudo: sub rot13 ($s) { $s.trans('A..Za..z' => 'N..ZA..Mn..za..m') }; print rot13 ~$*IN.slurp;
05:24 p6eval rakudo df38ac: OUTPUT«Ynaq qre Oretr, Ynaq nz Fgebzr,␤Ynaq qre Äpxre, Ynaq qre Qbzr,␤Ynaq qre Uäzzre, mhxhasgfervpu!␤Urvzng ovfg qh tebßre Föuar,␤Ibyx, ortanqrg süe qnf Fpuöar,␤ivrytreüuzgrf Öfgreervpu,␤ivrytreüuzgrf Öfgreervpu!␤␤Urvß hzsruqrg, jvyq hzfgevggra␤yvrtfg qrz Reqgrvy qh vazvggra,␤rvarz
05:24 p6eval ..fgnex…
05:24 TimToady slurp is apparently returning something that is not a Perl string
05:25 TimToady rakudo: $*IN.slurp.WHAT.say
05:25 p6eval rakudo df38ac: OUTPUT«Str()␤»
05:25 TimToady rakudo: $*IN.slurp.Parrot.say
05:25 p6eval rakudo df38ac: OUTPUT«Method 'Parrot' not found for invocant of class 'String'␤  in main program body at line 22:/tmp/fcJssxgeKJ␤»
05:25 TimToady rakudo: $*IN.slurp.PARROT.say
05:25 p6eval rakudo df38ac: OUTPUT«String␤»
05:26 [Coke] rakudo: say "goodnight, gracie"
05:27 p6eval rakudo df38ac: OUTPUT«goodnight, gracie␤»
05:27 zag joined #perl6
05:27 tylercurtis [Coke]: it does return 0 on success. But, according to S29, the return value of run in a Boolean context is true for success and false for failure.
05:28 [Coke] tylercurtis: you didn't give it a boolean context.
05:28 [Coke] (not that ?run works either.)
05:28 [Coke] or is "if ..." implicitly boolean?
05:28 [Coke] (which woudl make sense)
05:29 tylercurtis [Coke]: I'd expect if to be boolean context. Even if not,... right, .Bool or ? doesn't work either.
05:29 [Coke] anywayz, zzzz
05:30 diakopter rakudo: say 2 [xx] 5
05:30 p6eval rakudo df38ac: OUTPUT«22222␤»
05:32 diakopter rakudo: say 2 [[x]] 5
05:32 p6eval rakudo df38ac: OUTPUT«22222␤»
05:33 diakopter :/
05:35 TimToady what's the matter with that?
05:36 TimToady or is the problem that it *didn't break?  :)
05:39 shade\ left #perl6
05:41 shade\ joined #perl6
05:49 alester left #perl6
05:57 Guest57048 is now known as kaare_
06:00 wtw joined #perl6
06:01 bpalmer joined #perl6
06:07 moritz_ mornin' 6folks
06:07 phenny moritz_: 00:00Z <[Coke]> tell moritz_ that I added tadzik.
06:13 lue how do I do a left bit rotation? [I remember there being an operator to do it]
06:15 uniejo joined #perl6
06:24 Tene $val ↑↑↓↓←→←→ $howmany
06:29 lue std: 'a' +<< 1
06:29 p6eval std 32107: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unable to parse quote words at /tmp/MDTveqGgpN line 1:␤------> [32m'a' +<[33m⏏[31m< 1[0m␤Couldn't find final '>'; gave up at /tmp/MDTveqGgpN line 1 (EOF):␤------> [32m'a' +<< 1[33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 116m␤»
06:29 TimToady you must be remembering some C variant; there's no such operator in Perl 6
06:30 TimToady or you're remembering @array.rotate
06:30 TimToady there's a :rotate adverb specced for bit shifts, but rakudo doesn't implement adverbs
06:32 lue Well, everything I look at talks about +<< or +< and so on being in Perl 6
06:35 justatheory left #perl6
06:38 lue std: 'a' ~< 1
06:38 p6eval std 32107: OUTPUT«ok 00:01 116m␤»
06:38 lue rakudo: 'a' ~< 1
06:39 p6eval rakudo df38ac: OUTPUT«===SORRY!===␤Confused at line 22, near "'a' ~< 1"␤»
06:39 lue I guess I'll have to ask about all that tomorrow. Goodnight o/
06:44 fxstor joined #perl6
06:45 mberends left #perl6
06:45 fxstor left #perl6
06:53 sftp_ joined #perl6
06:54 sftp left #perl6
07:01 moritz_ masak++ # http://use.perl.org/~masak/journal/40516
07:05 sorear tylercurtis: #77022 has spectests and the reason given for rejecting it is nonsense
07:06 sorear tylercurtis: S05, the prose version, is not completely clear on the issue
07:06 sorear but the tested version is the most useful
07:07 tylercurtis sorear: ooc, which spectests specify that grammars anchor to end of string?
07:09 zulon joined #perl6
07:11 sorear S05-grammar/parse_and_parsefile.t the first couple
07:11 sorear the tests are bad because they test two things at once
07:12 erez joined #perl6
07:14 tylercurtis I don't see how any of the tests there test whether it anchors to end of string. The first one tests relies on Grammar.parse anchoring to either the beginning or the end of the string, but not to both.
07:17 tylercurtis s/The first one tests/The first one/
07:20 ejs joined #perl6
07:22 fda314925 joined #perl6
07:28 zulon left #perl6
07:45 shade\ left #perl6
07:47 shade\ joined #perl6
07:59 daxim joined #perl6
08:11 Mowah joined #perl6
08:11 Mowah left #perl6
08:11 Mowah joined #perl6
08:23 CTAPOMAK joined #perl6
08:36 drbean left #perl6
08:40 thebird joined #perl6
08:42 tylercurtis left #perl6
08:43 dakkar joined #perl6
08:44 PZt left #perl6
08:44 cjk101010 joined #perl6
08:44 smash_ mornin'
08:48 oyse joined #perl6
08:52 yves left #perl6
08:53 Mowah left #perl6
08:54 stepnem left #perl6
08:56 fridim left #perl6
09:09 pnate joined #perl6
09:11 dju left #perl6
09:12 dju joined #perl6
09:12 fridim joined #perl6
09:14 yves_ joined #perl6
09:19 leprevost left #perl6
09:20 leprevost joined #perl6
09:24 fridim left #perl6
09:25 fridim joined #perl6
09:27 * itz laughs at the disk space whine "bug"
09:40 masak joined #perl6
09:40 masak oh hai, #perl6!
09:48 daxim O HAI, exalted one
09:49 bpalmer left #perl6
09:51 meppl joined #perl6
09:51 masak lunch &
09:52 smash_ masak: hi
09:54 whiteknight joined #perl6
09:58 wamba joined #perl6
10:01 zulon joined #perl6
10:05 masonkramer joined #perl6
10:06 pmichaud good morning, #perl6
10:07 dju left #perl6
10:07 dju joined #perl6
10:08 thebzu is now known as m6locks
10:08 smash_ pmichaud: mornin'
10:08 timbunce joined #perl6
10:08 cjk101010 hey guys :) I'd like to get involved with perl6/rakudo. But I don't really know what to do. Any hints? Tips?
10:10 pmichaud cjk101010: we can always use modules and/or applications
10:10 tadzik joined #perl6
10:10 pmichaud cjk101010: those quickly point out areas where things need to be fix (and possibly places that you could start fixing things :-)
10:10 pmichaud *fixed
10:11 cL0h joined #perl6
10:11 cjk101010 hm, my problem is: I'm missing ideas what to write ;-) But ok, I will find something… maybe a fastcgi interface. is there a list of existing perl6 modules?
10:11 pmichaud modules.perl6.org, I believe.
10:12 cjk101010 ah. cool, thanks.
10:12 pmichaud even just fixing up or improving some existing modules is probably a good place to start :-)
10:12 cL0h left #perl6
10:12 leprevost left #perl6
10:12 smash_ pmichaud: still haven't fixed the ABC example, can't find where the Undef rule is coming from
10:13 tadzik oh hello
10:13 phenny tadzik: 26 Aug 22:52Z <masak> tell tadzik that I got json to install again with the latest changes to pls/poc :)
10:13 tadzik masak: taking a look
10:14 pmichaud smash_: it's not an Undef rule, it's an Undef object.  That's the default value of .ast if not set.
10:16 zby joined #perl6
10:16 zag left #perl6
10:16 smash_ pmichaud: right, what i can't figure out is where the Undef object is coming from ?
10:16 smash_ s/from ?/from/
10:16 pmichaud if you can nopaste code/output, I might be able to help.
10:16 tadzik masak: it did install even with my Q&D patch, but good we have a proper solution now
10:19 smash_ pmichaud: http://gist.github.com/553150
10:21 oyse Hi. I am looking at blizkost and trying to find a good concrete task I can work on. Anyone here that provide some good pointers of where to start? I got some tips a few weeks ago, but nothing concrete enough that I can start coding something.
10:22 pmichaud smash_: looking
10:22 patrickas joined #perl6
10:22 smash_ pmichaud: thank you, no hurry
10:24 pmichaud smash_: found it
10:24 pmichaud smash_: since ABC::Actions is inheriting from HLL::Actions, you're also getting the action method for <integer>
10:25 smash_ oh, then i need a make to it
10:25 pmichaud so, you could either leave off the "token integer" from the grammar (and use the one that comes from HLL::Grammar), or add an action method for <integer> (it doesn't have to do anything other than override the existing one)
10:26 pmichaud the integer method you're inheriting is
10:26 pmichaud method integer($/) { make $<VALUE>.ast; }
10:26 pmichaud src/HLL/Actions.pm:124
10:26 pmichaud and the .ast you're getting is from the non-existent $<VALUE>
10:27 * smash_ nods.
10:28 smash_ right
10:33 dalek nqp-rx: 20477be | pmichaud++ | src/NQP/Actions.pm:
10:33 dalek nqp-rx: Refactor 83747bd to avoid the "skip_multi" flag on PAST nodes.
10:33 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/20477be8b7054818655edddf5658ca2d828e9ac4
10:33 tadzik oyse: have you seen the blizkost examples?
10:34 oyse tadzik: no
10:34 oyse tadzik: taking a look now. Do they contain some possible starting points?
10:35 tadzik oyse: see for yourself. Depends on what you want to do
10:37 smash_ pmichaud: all woring perfectly now, thank you
10:37 smash_ nqp-rx++
10:38 oyse tadzik: I want to make blizkost good enough to use in a production setting :) Ok, so that is probably quite far off, but anything that will move in that direction is ok for me.
10:38 smash_ s/woring/working/ # damn keyboard
10:39 oyse tadzik: I made some test for my self and see that returning list values from Perl 5 does not work. But that is probably a bit hard to solve as a first task :)
10:40 oyse tadzik: But working in PIR and Parrot guts is ok for me. Even though I know neither of them.
10:41 tadzik oyse: you'll have to talk to jnthn++ about blizkost, but he's on vacation now. Maybe there is someone with a knowledge about blizkost, I don't know
10:42 oyse tadzik: Ok. When will he be back?
10:42 smash_ pmichaud: also i have set it up with the building script and all: $ perl Configure.pl --gen-parrot && make && ./abc-nqp and everything works great
10:43 tadzik oyse: Week and a half, iir
10:43 tadzik * iirc
10:43 oyse oyse: ok. thanks for the help
10:43 oyse ups
10:43 oyse tadzik: ok. thanks for the help
10:43 tadzik you're welcome
10:45 pnate left #perl6
10:47 Mowah joined #perl6
10:48 rindolf joined #perl6
10:50 sftp joined #perl6
10:50 sftp_ left #perl6
10:56 oyse Does anyone know if there exists an Eclipse plugin for working with .pir files?
10:59 smash_ oyse: there is one for vim under editors/ in parrot repository, not sure if there is something for eclipse
11:03 arnsholt oyse: Not as far as I know. The people in #parrot on irc.perl.org might know though
11:20 azert0x joined #perl6
11:27 Trashlord left #perl6
11:27 masak positive comment from someonw who knows Haskell: http://use.perl.org/comments.pl?sid=45070&amp;cid=72354
11:29 masak s/onw/one/
11:30 masak I'm still considering what to reply to this negative comment: http://use.perl.org/comments.pl?sid=45070&amp;cid=72352
11:30 Trashlord joined #perl6
11:30 masak it basically 'takes the bait' the the article trolls about. :)
11:30 masak s:2nd/the/that/
11:30 x3nU i wonder is anyone going to create r* 8.2010 installer for windows?
11:31 agentzh left #perl6
11:33 masak who did last time? jnthn?
11:34 pmichaud jnthn++ did it last time, and unfortunately he's on break.
11:34 pmichaud I didn't remember that until it was too late.  :-|
11:34 ruoso left #perl6
11:37 pmichaud masak: (negative comment)  I'm not sure it needs a reply.
11:37 stepnem joined #perl6
11:37 masak ok.
11:38 masak can that be argued not only from the perspective of a Sixer, but also from the perspective of a Fiver, who might not yet be convinced Perl 6 hasn't jumped the shark?
11:40 pmichaud I think so (more)
11:41 pmichaud from a p5 perspective, I guess I'd want to know "okay, how could this be expressed better in p5?"
11:41 pmichaud so, thinking about it that way, perhaps the response is to turn it around and ask the question:  how would you express the answer to this problem, then?
11:43 masak can I ask that?
11:43 * masak would like to
11:43 pmichaud I don't know.
11:43 pmichaud But the negative comment says "this is totally readable", so perhaps the question is "how to make it more readable?"
11:43 pmichaud s/totally readable/totally unreadable/
11:44 masak "I'd be interested to see how your ideal solution to this problem would look."
11:44 pmichaud I certainly don't find the Perl answers to Pascal's triangle to be more readable than the p6 one
11:44 masak ooh, I haven't checked them at Rosetta code!
11:44 * masak does it now
11:45 pmichaud another idea kernel I've been having is that Pascal's triangle is inherently from the mathematics domain, it's quite appropriate that p6 provides a mathematical-looking solution
11:45 arnsholt The ideal solution is obviously "my @pascal = pascal_triangle()"
11:45 arnsholt Just like "say do_my_homework()" should obviously be added as well ;)
11:46 arnsholt s/added/work
11:46 masak arnsholt: can't use assignment there, but binding might work.
11:46 pmichaud but just because there's a mathematic-looking solution for ths problem doesn't mean that all p6 answer will be equally mathematical
11:46 masak pmichaud: indeed.
11:46 pmichaud actually, I think we *can* use assignment there -- it's just that some of our internals aren't properly lazy yet
11:46 masak ah.
11:46 arnsholt Quite. Strange how mathematical stuff tends to look like math =)
11:46 masak I think people are being slightly put off by the maths example.
11:47 masak "You optimized Perl 6 for *mathematics*? You bastards!"
11:47 masak "I don't do maths in my job. I do production stuff!"
11:47 masak I think that's the core of the complaint, actually.
11:47 pmichaud answer:  "We optimized Perl 6 for writing mathematical solutions to mathematical problems.  Problems in other domains would look different."
11:48 masak aye.
11:48 pmichaud or, more precisely, "Answers to problems from other domains would look different."
11:48 pmichaud afk for a bit
11:48 masak Answers to problems from other domains would look like the languages people in those domains are used to thinking in.
11:49 pmichaud (have to get kids to school)
11:51 huf i think people are just wedded to their explicit loops
11:51 frettled pmichaud++ — I think that way of putting it would be constructive.
11:52 masak http://nofeed.org/post/1018387893/i-was-thinking-of-using-perl-6-to-write-ruby-2-0
11:52 frettled hee-hee :)
11:54 sftp left #perl6
11:54 sftp joined #perl6
11:56 Italian_Plumber joined #perl6
11:57 envi^home joined #perl6
11:59 masak can't find any such comp.lang.ruby post, though :)
12:00 frettled Me neither, and I've searched.
12:00 frettled Perhaps it was paraphrased, or in an old post.
12:03 zulon left #perl6
12:03 tadzik masak: whose quote is that?
12:04 masak tadzik: we don't know.
12:04 tadzik Maybe it's Matz :P
12:09 jfried joined #perl6
12:09 drbean joined #perl6
12:21 masak :)
12:24 pmichaud my response:  http://use.perl.org/comments.pl?sid=45070&amp;cid=72355
12:26 tadzik left #perl6
12:31 huf srsly, hanging on this channel has taught me how to be nice
12:31 huf in theory at least.
12:31 PZt joined #perl6
12:35 baest pmichaud++ # very good response
12:36 masak huf: :)
12:36 stepnem left #perl6
12:36 huf my natural reaction to that comment would have been biel
12:36 huf bile
12:36 huf which isnt very productive from any standpoint
12:38 Holy_Cow joined #perl6
12:39 stepnem joined #perl6
12:40 pmichaud When people have asked me about making programming languages "more readable", I've often reflected on the fact that there are many non-programming domains that end up adopting specialized symbols and notations.  Aviation, medicine, chemistry, physics, spaceflight, etc. -- all of these end up with "custom languages" that can be quite opaque to newcomers.  (more)
12:40 pmichaud That opacity isn't (usually) a goal; it's just an unfortunate side effect of having more effective communication among experts.
12:41 pmichaud What Perl 6 hopefully allows us to achieve is something that can be usable by newcomers, but more powerful and expressive as they become experts.
12:42 pmichaud (end of soapbox)
12:42 huf yeah, it's useful to have languages that are easy to pick up (for your fist language)
12:42 huf but not all of them *have* to be like that
12:42 timbunce Should my |$retval := callsame; work currently? I'm getting Malformed my at line 60, near "|$retval :"
12:42 pmichaud I'm pretty sure it doesn't work currently.
12:43 huf altho i'm guessing someone will find a consistent subset of p6 that's easy to teach to complete beginners
12:43 huf that, or write one inside p6
12:44 timbunce pmichaud: any workarounds? (I'm trying to use some code jnthn++ gave me http://gist.github.com/552139 and extend it to log the return from a method)
12:45 pmichaud maybe  my $retval = (callsame).Capture ?
12:45 pmichaud I'm not sure.
12:45 zulon joined #perl6
12:45 pmichaud seems like that might work... but I'm a bit rusty when it comes to the specific of the call/return semantics yet
12:46 ruoso joined #perl6
12:47 sftp_ joined #perl6
12:47 [Coke] masak++ # idiotic perl6 post.
12:47 sftp left #perl6
12:47 [Coke] masak++ # idioMAtic perl6 post.
12:48 masak *lol*
12:48 timbunce pmichaud: it compiles, but both return |$retval; and return $retval; cause Method 'executeQuery' not found for invocant of class 'Capture'
12:49 timbunce pmichaud: so do I need something different at the return statement?
12:49 * [Coke] wonders if Tadeusz is like Thaddeus.
12:49 timbunce pmichaud: (ie return is returning the Capture not the thing inside the capture)
12:50 pmichaud I would expect return |$retval to work.
12:50 timbunce pmichaud: that gives me Method 'executeQuery' not found for invocant of class 'Parcel'
12:50 pmichaud right.
12:50 pmichaud that's.... weird.
12:50 pmichaud executeQuery is one of the methods you've written?
12:51 kaare_ left #perl6
12:51 timbunce my rakudo is at least 3 weeks old, in case that's relevant
12:51 timbunce pmichaud: yes, invoked on the return value of the method being wrapped
12:52 pmichaud I'm going to guess we have our wrapping/unwrapping a bit wrong there.  You might try invoking executeQuery on .[0]
12:52 pmichaud (of the returned Parcel)
12:53 cjk101010 is there a way to reduce the startup time of the perl6 binary? real 0m1.898s is somewhat much…
12:53 pmichaud cjk101010: we're working on it.  It's a deep problem.
12:53 timbunce pmichaud: the wrapping has to be transparent or it's not worth using. Any fix needs to be in the wrapping code.
12:53 cjk101010 ok… thanks for the info.
12:53 pmichaud timbunce: the .[0] will still work even after the wrapping is fixed.
12:53 ruoso left #perl6
12:53 masak 'Constants? Perl programmers laugh at them. "Final"? Larry said that's a bad idea. But you will have in Perl6, anyway.' -- http://groups.google.com/group/comp.lang.ruby/browse_frm/thread/7ad20b04f5206e34/bc83ce4e7eb08886?lnk=gst&amp;q=perl+6#bc83ce4e7eb08886 -- always interesting to see Perl 6 with an outsider's eyes.
12:54 pmichaud but I agree that the fix needs to be in the wrapping code... it's just that jnthn++ is the one who normally handles anything dealing with binding and parameter passing, and I'm a bit rusty on it.  :)
12:54 pmichaud perhaps we can golf it down to a smaller issue
12:54 timbunce pmichaud: ok, but I'm wrapping *everything* automatically. I'd rather not have to write .[0] on every method call in the code!
12:54 pmichaud agreed.
12:54 pmichaud I see your point (and in a big way)
12:54 timbunce pmichaud: I can wait.
12:55 pmichaud let me think about it a bit more today and see if I can figure out what's happening.  It's likely to be either trivial or really hairy
12:55 timbunce pmichaud: I'd be happy if there was a way to just log that the method has returned, without caring about the return value. Perhaps something done with control exceptions?
12:57 pmichaud that might work, but I fear our control exception handling may be equally dodgy
12:58 masak today's Dinosaur Comics is on topic for #perl6: http://www.qwantz.com/index.php?comic=1786
12:59 pnu left #perl6
12:59 pmichaud I think it's more likely we'll get return values working before we get exception handling, fwiw.
13:00 timbunce pmichaud: ok, thanks.
13:01 pmichaud What you've provided is enough for me to play with a bit and see if I can figure out what's going on.  I'm planning to work with return values anyway (e.g., for 'take') in the next day or so, so this may fit right into that.
13:01 pnu joined #perl6
13:01 timbunce pmichaud: wonderful, thanks.
13:01 thebird_ joined #perl6
13:02 thebird_ left #perl6
13:03 timbunce pmichaud: the idea of being able to wrap logging around all the methods in a role, trivially and optionally, it great. For DBDI it'll mean driver writers won't have to add their own method entry-exit logging, they'll get it for free, but only when the user asks for it.
13:05 oyse left #perl6
13:09 orafu left #perl6
13:09 orafu joined #perl6
13:11 timbunce left #perl6
13:15 masak I think http://github.com/rakudo/rakudo/blob/master/src/core/Any-list.pm#L90 contains an erroneous assumption: that a comparator only yields -1, 0 and 1.
13:15 masak ditto #L111
13:16 masak also, those two methods could be written a lot shorter if they didn't insist on waiting on the FIRST phaser :)
13:19 colomon masak: errr... can a comparator return something that doesn't numerically evaluate to 1, 0, or 1?
13:19 colomon *-1
13:20 masak maybe I'm thinking of some other language.
13:20 masak in some languages a comparator of strings returns the 'distance' between the differing characters (or lengths).
13:22 colomon in p6, its supposed to return one of the choices in the Ordering enum, but they numify to -1, 0, and 1.
13:22 colomon does FIRST work now?
13:22 pmichaud in general, comparators should follow the "liberal/strict" rule.
13:22 colomon afk
13:22 pmichaud liberal in what they accept, strict in what they produce
13:22 masonkramer left #perl6
13:23 pmichaud so, one should generally make sure a comparator produces -1, 0, +1, but when evaluting the result of a comparator use < 0, == 0, and > 0
13:23 pmichaud also note that in rakudo "0" as a constant is currently *much faster* than -1.  :-P
13:24 pmichaud *evaluating
13:26 * masak patches it up
13:27 pmichaud note that $first-time isn't needed anymore either, I suspect.
13:28 pmichaud well, I guess we can't rely on $cmp($_, -Inf) working for arbitrary $cmp
13:28 pmichaud so, maybe we do need it.
13:28 pmichaud it can certainly be done as:
13:28 pmichaud my $max;
13:28 pmichaud and
13:29 pmichaud $max //= $_;
13:29 pmichaud or something like that
13:29 masak aye.
13:29 masak I'll do that step after the -1 0 1 one.
13:29 Guest23195 joined #perl6
13:29 masak need to spectest both so I don't make a mess :)
13:30 pmichaud my $cmp = $by.signature.params.elems == 2 ?? $by !! { $by($^a) cmp $by($^b) };
13:30 pmichaud also looks weird to me.
13:30 pmichaud I'd think it should just be  $by.count  or $by.arity
13:30 pmichaud instead of .signature.params.elems
13:30 masak aye.
13:30 masak will remember that as well :)
13:31 pmichaud and  $by = { $^a cmp $^b }   is probably much better as   $by = &infix:<cmp>
13:33 masonkramer joined #perl6
13:33 pmichaud heh
13:34 * pmichaud tries to think of a way to use the series operator to compute max/min :-P
13:34 masak ...without any side effects :)
13:35 colomon -1 is slow because it's prefix:<->(1) ?
13:35 pmichaud colomon: yes.
13:36 pmichaud anyway, < 0 is more robust.
13:36 colomon contrawise, I would have thought that  $by = { $^a cmp $^b } would be slower than $by = &infix:<cmp>  ?
13:36 pmichaud ?
13:36 pmichaud I must be misunderstanding the comment.
13:37 pmichaud The code I'm looking at currently has
13:37 pmichaud multi method max($by = { $^a cmp $^b}) {
13:37 pmichaud I'm proposing that it should be
13:37 pmichaud multi method max($by = &infix:<cmp>) {
13:37 masonkramer left #perl6
13:37 pmichaud because &infix:<cmp> should be faster than the indirected block
13:38 colomon ah, so we're on the same page here.
13:40 pmichaud I'd probably eliminate the explicit "die" as well and just put a constraint on $by
13:47 ruoso joined #perl6
13:49 drbean left #perl6
13:51 colomon left #perl6
13:59 ejs left #perl6
14:00 masak Rakudo won't build here.
14:01 masak http://gist.github.com/553401
14:01 uniejo left #perl6
14:01 masak I'm on a clean HEAD, commit df38ac.
14:02 smash_ /usr/local/VERSION !?
14:02 masak I know!
14:02 masak not surprised it doesn't find it...
14:10 ash_ joined #perl6
14:14 * pmichaud tries locally
14:15 cjk101010 left #perl6
14:15 pmichaud you're using an installed parrot, yes?
14:15 pmichaud i.e., not the one from --gen-parrot
14:16 snearch joined #perl6
14:16 masak right.
14:17 pmichaud I'm guessing Parrot opsc bug, around compilers/opsc/src/Ops/File.pm
14:17 pmichaud lines 297-300
14:17 pmichaud I think the _config() function was removed from Parrot recently.
14:18 pmichaud hmm, maybe not
14:18 pmichaud at any rate, that "/usr/local" path definitely looks suspicious
14:19 pmichaud what do you get from   "parrot_config prefix", ooc?
14:19 CTAPOMAK left #perl6
14:19 masak oh btw. PARROT_REVISION says 48628. I'm running against r48693.
14:20 masak pmichaud: /usr/local
14:20 * masak tries downgrading Parrot
14:20 patspam joined #perl6
14:20 pmichaud 65 commits since yesterday?  wow.
14:22 jfried left #perl6
14:23 tadzik joined #perl6
14:23 pmichaud looks like the errors came in with r48691 and r48692
14:23 tadzik hello again
14:23 pmichaud http://trac.parrot.org/parrot/changeset/48691
14:23 pmichaud http://trac.parrot.org/parrot/changeset/48692
14:24 pmichaud shall I file a trac ticket for this?
14:25 masak please do.
14:31 bbkr tadzik: were you inspired by bigos while you compared P6 to food in "language wars" article? :P
14:36 pmichaud masak: http://trac.parrot.org/parrot/ticket/1757
14:37 masak pmichaud++
14:38 pmichaud afk for a short while
14:42 tadzik bbkr: what kind of blogs?
14:43 tadzik I don't think so though
14:43 bbkr not blogs but bigos :)
14:46 tadzik oh
14:46 tadzik no, I wasn't thinking about bigos :)
14:47 tadzik though the language wars seem to resemble bigos a bit, sometimes
14:47 szbalint masak++ # blag, although I'd really be careful about still using use.perl.org. It's going away.
14:48 masak szbalint: I'm looking at migrating. I already have a blog.perl.org account.
14:48 masak szbalint: but I'd really like to build a static web page generator in Perl 6 and use that.
14:50 masak szbalint: I'm not happy with use.perl.org, it's a pain to use and not nice to look at. but so far inertia has been keeping me there.
14:53 Juerd Good summary.
14:54 bbkr tadzik: P6 is pretty much like bigos. 1 - it has many weird operators just as bigos has many weird ingridients. 2 - timtowtdi applies both do p6 code as to bigos recipies. 3 - p6 is getting better with every release just as bigos is getting better after every warming up. I think that bigos should be P6 logo :P
14:54 Juerd Not that I blog, anywhere, but I agree from a blog reader's perspective :)
14:54 Juerd masak: Build Template Toolkit for Perl 6, and use that for blogging? :P
14:54 szbalint yeah. I see your reasons, masak :)
14:55 Juerd How Hard Can It Be?
14:55 masak Juerd: I suffer a bit from not really knowing what TT is... :) I should find out some day.
14:55 masak Juerd: my current plan is to port http://jaspervdj.be/hakyll/ to Perl 6.
14:55 Juerd masak: It's a templating language, module, and toolkit for Perl 5
14:55 szbalint masak: turn inertia into centrifugal force and slingshot it the other way :)
14:55 masak Juerd: it'd be interesting to see how a monad carries over.
14:56 Juerd masak: TT's popular and I've seen it used in many places where I wouldn't have expected it
14:56 Juerd masak: Also, the ttree utility is nice.
14:56 Juerd (Comes bundled with the Template package)
14:56 masak Juerd: from what I've seen of TT, it's really not my bag. but I think I've seen too little of it to have a solid opinion.
14:56 Juerd Basically, TT does variables, loops, conditions and inclusion.
14:56 masak I'm generally not very happy about HTML-and-then-some solutions.
14:57 Juerd One reason for porting TT, or a subset of it, to P6 would be to help users transition
14:58 TimToady .oO(Trac Ticket, Template Toolkit, TimToady...)
14:58 Juerd TimToady: Sorry if I highlighted you
14:59 TimToady I don't highlight on TT :)
14:59 Juerd Okay :)
14:59 masak someone else might find it -Ofun to port (a subset of) Template Toolkit.
14:59 TimToady for that reason :)
14:59 masak I don't think I would.
14:59 Juerd masak: -Omorefun would be to build a template toolkit toolkit, that supports multiple existing template languages by means of grammars :)
15:00 masak spectesting. one test failed in t/spec/S02-magicals/pid.t
15:00 masak Juerd: aye. I'd like that. November started down that road.
15:01 masak also I've never really grokked why we don't do something about the intermittent failures in t/spec/S05-mass/properties-derived.rakudo
15:01 Juerd An Hakyll HTML template with just $foo in it is very similar to a TT template with just [% foo %] in it. (TT can support $foo too, by the way)
15:01 masak I think I'm allergic to that syntax. :(
15:01 Juerd To [% ... %]?
15:01 masak aye.
15:02 masak sorry :(
15:03 masak Juerd: the template example 80% into http://masak.org/carl/yapc-eu-2009-web/talk.pdf is my idea of an near-ideal templating language.
15:03 Juerd Actually I agree
15:04 Juerd I hate [% ... %]
15:04 Juerd But I like TT enough to cope with it. They're configurable but I always try to stick to defaults, syntax-wise.
15:04 huf i dont think templates should be a second-class citizen
15:04 huf it should just be code
15:05 Juerd huf: Templates with limited programming capabilities exist for a very good reason: nobody wants to teach HTML people any real programming.
15:05 huf Juerd: that might work, altho i've never seen it work
15:05 daxim also: guaranteed seperation of concerns
15:06 huf also guaranteed ugly hacks and confused indentation due to multiple languages living in the same file ;)
15:06 Juerd masak: An XML extension? Nah, too purpose-specific
15:06 daxim I like to teach Text::Template first when teaching the concept of templating
15:06 huf free the templates! (like template::declare does)
15:06 masak Juerd: it does ifs and loops, and it's valid XML!
15:06 Juerd masak: It being valid XML is the problem
15:07 Juerd masak: I don't want to learn one templating language for POD, another for XML, yet another for postscript, and again some syntax for automated plain text emails
15:07 Juerd No templating language syntax should ever hijack any existing syntax from an output format.
15:08 Juerd No matter how cute and clean the resulting documents get.
15:08 masak Juerd: the program which that syntax is based off handles both XML and plain text.
15:08 Juerd Sorry, pet peeve :)
15:08 Juerd Also, I hate XML
15:09 Juerd Pretty slides, by the way!
15:10 daxim uuuurgh, kill it with fire
15:11 daxim I was in that talk, I must have totally blanked out at this slide
15:12 Juerd An understandable reaction. It's probably your survival instinct that made you panic and forget it.
15:12 masak people feel strongly about XML.
15:12 masak I generally don't like it too much, but I just happen to like this templating solution.
15:13 masak I spent several years building web applications on top of Apache Cocoon, which I guess taught me the merits of handling data as XML internally.
15:15 masak spectest: one failure each in t/spec/S19-command-line/help.t, t/spec/S29-context/die.rakudo and t/spec/S29-context/exit.rakudo
15:19 PerlJam masak: Could you explain those merits?
15:20 masak I can try.
15:21 masak valid XML causes the content to be very predictable in a way that makes it easy to handle as opposed to, say, HTML tag soup.
15:21 macroron joined #perl6
15:22 masak the generator step can accept any non-XML, and the serializer step can produce any non-XML.
15:22 masak but having things as XML all the way internally is... nice.
15:22 colomon joined #perl6
15:22 masak could be any consistent format, not just XML. but XML is a nice fit.
15:23 masak .eoe
15:24 daxim pugs: <E I> x 2 . <O>
15:24 p6eval pugs: OUTPUT«*** ␤    Unexpected "."␤    expecting operator␤    at /tmp/35SDVyxaoc line 1, column 11␤»
15:24 daxim pugs: <E I> x 2 ~ <O>
15:24 p6eval pugs:  ( no output )
15:24 daxim bleh
15:24 masak rakudo: say <E I> x 2 ~ <O>
15:24 p6eval rakudo df38ac: OUTPUT«E IE IO␤»
15:25 masak rakudo: say <E I>.join x 2 ~ <O>
15:25 daxim ah, forgot the say
15:25 p6eval rakudo df38ac: OUTPUT«EIEIO␤»
15:25 rindolf left #perl6
15:25 tadzik Web.pm sounds awesome
15:26 masak thank you. one day it might be.
15:26 masak the current champion of the idea, oddly, is mberends++
15:26 szbalint templating is such a fuzzy field. It feels like we're trying to work around HTML.
15:26 dual left #perl6
15:27 masak szbalint: we are. or at least trying to abstract it away.
15:27 tadzik Hitomi seemed cute
15:28 masak etymologically, it means something like "cute" :)
15:29 szbalint yeah, which is why it doesn't really work (yet). I think I dislike TT the least, but there isn't a solution I'm feeling comfortable with. That bothers me. I didn't spend enough time thinking about this yet to see why.
15:29 PerlJam templating languages shouldn't care too much about what they are embedded in.
15:30 PerlJam szbalint: I think you summarized my position as well I too "dislike TT the least"
15:32 masak ah, seems "Hitomi" means "doubly beautiful" :)
15:33 _sri "...nobody wants to teach HTML people any real programming..." is so 5 years ago
15:33 TimToady rakudo: <E I> xx 2, <O>
15:33 masak I don't like TT personally, but I respect the fact that people seem to "dislike it the least" and generally get a lot of mileage out of it. I'd like to better understand why.
15:33 TimToady rakudo: say <E I> xx 2, <O>
15:34 p6eval rakudo df38ac:  ( no output )
15:34 p6eval rakudo df38ac: OUTPUT«EIEIO␤»
15:34 _sri every serious designer knows at last javascript
15:34 _sri *least
15:34 masak _sri: you seem to use the term "so 5 years ago" a lot. is the future unevenly distributed?
15:36 zby The thing that TT does right is that it stands out from the text
15:36 whiteknight left #perl6
15:36 patspam left #perl6
15:36 masak zby: at the expense of the reader's eyes.
15:37 patspam joined #perl6
15:37 _sri just stating the obvious, these days designers are programmers too
15:37 daxim I met a butterfly the other day.
15:37 daxim I was just hacking out in my repo, about to merge a branch, when Camelia flew over and landed on my finger.
15:38 daxim I asked her what she wanted.
15:38 daxim And she said: "Bring back 60's Lisp macros."
15:38 daxim I truly feel like I was visited by an angel that day.
15:38 masak _sri: you replied "so five years ago" to chromatic re his web vision in http://www.perl.com/pub/2010/08/rethinking-perl-web.html -- just wondering if there's a single vision you're disappointed the rest of the world doesn't share.
15:38 masak (websockets or HTTP 1.1 or whatever)
15:39 zby if you are templating HTML - then [% %] is a good way to stand out and make it easier for the eyes to find out where is the templating and where the templated text
15:39 _sri masak: just trying to make people aware of the fact that the CGI age is over
15:39 zby then ALL CUPS also stand out in the usual text
15:39 masak _sri: so, I have a CGI script. what do I do?
15:39 _sri masak: chromatic basically discovered rails, 5 years too late
15:40 _sri masak: kill it with fire?
15:40 masak _sri: I can't imagine that he did. but I'll reserve further judgment.
15:40 masak _sri: ok, so I have a *useful* CGI script.
15:40 masak but I"m willing to change it to something more future-proof.
15:40 _sri masak: whats your point?
15:41 masak I think what I'm asking for is a summary of your point. if not CGI, then what instead, and how, and why?
15:42 masak "CGI is old hat" was basically your reaction to the whole of Web.pm a year or so ago, too.
15:42 masak I never got anything more from you.
15:42 _sri something that actually supports modern web technologies such as long polling and websockets
15:42 daxim left #perl6
15:42 * masak takes note of these buzzwords
15:42 _sri rack and wsgi are just as flawed
15:42 masak I see.
15:43 _sri node.js gets it right
15:43 masak and long polling and websockets are better/necessary because...?
15:44 _sri because it's not the 90s anymore? i'm not sure if you're trying to troll me
15:44 masak sorry it seems that way. I'm not.
15:44 _sri do you know what long polling and websockets are used for?
15:44 masak "because it's not the 90s anymore" only refers to the passage of time.
15:44 masak I'm currently reading up on them in order to follow along.
15:44 szbalint websockets are not used for anything atm because the browser support for them are in single digits.
15:45 _sri there are flash based workarounds for browsers that don't support them yet
15:46 _sri http://dev.xantus.org/ # here's a websocket irc client for example
15:46 _sri http://wargamez.mape.me/ # and a glimpse into the future of highly interactive web apps
15:47 bbkr is there any CSV module for P6 or can I write one?
15:47 _sri it's the ajax revolution all over again
15:47 tylercurtis joined #perl6
15:48 masak hugme: show csv
15:48 hugme masak: sorry, I don't know anything about 'csv'
15:48 masak bbkr: http://github.com/masak/csv
15:49 bbkr masak++
15:49 masak _sri: I've heard you say this on Twitter and IRC many times over. I'm earnestly trying to understand what you mean by it.
15:49 masak _sri: I think I'd better take a closer look at node.js and then get back to you.
15:49 _sri masak: just read up on html5
15:49 masak ok.
15:49 lue ohai o/
15:49 masak lue: \o
15:50 _sri masak: http://www.youtube.com/watch?v=-BsB0HpS768 # amazing html5 demos in this video
15:51 masak will watch. thanks.
15:51 lue How can I accomplish a left bit rotation?
15:52 Juerd Rotation? That's shifting with wrapping around?
15:52 masak lue: +< :rotate
15:52 masak lue: but op adverbs aren't implemented in Rakudo yet.
15:53 lue rakudo: 'a' +< 1;
15:53 p6eval rakudo df38ac:  ( no output )
15:53 Juerd a, as a number, is 0
15:53 Juerd +< shifts numbers
15:53 Juerd Shifting strings is done with ~<
15:53 Juerd I'd have expected 2 though.
15:54 Juerd Or wait, never mind that
15:54 Juerd 0 isn't 1
15:54 lue rakudo: say 'a' ~< 1;
15:54 p6eval rakudo df38ac: OUTPUT«===SORRY!===␤Confused at line 22, near "say 'a' ~<"␤»
15:55 lue masak: does :rotate become the rhs ?
15:55 masak lue: no, I wrote it confusingly.
15:56 masak 'a' <~ 1 :rotate
15:56 masak er, ~<
15:57 lue what happens w/o :rotate? [I'd check myself, but it doesn't work]
15:57 [particle] it shifts off the end
15:58 masak lue: what [particle] said. and zeroes shift in through the other end.
15:58 [particle] :rotate takes bits that fell off one end and sticks them on the other
15:59 TimToady for now, you best bet is to turn the number into a list and rotate that
15:59 lue .oO(Curse you, NYI adverbs!)
15:59 TimToady you could implement them
15:59 TimToady whereupon we will deem them a code smell and think of something else
15:59 [particle] std: say 'a' <~ 1 :rotate
15:59 p6eval std 32107: OUTPUT«ok 00:01 117m␤»
16:00 TimToady pity the R metaoperator is taken...
16:00 TimToady C for cyclic maybe
16:01 smash_ is now known as smash
16:02 [particle] or we could add a metametaoperator to give R a different meaning
16:02 TimToady not really a higher-order met though
16:02 TimToady *meta
16:03 rokoteko joined #perl6
16:03 [particle] how do you give a metaoperator an adverb?
16:03 TimToady [particle]: <~ is not parsing teh way you think
16:03 [particle] op adverbs do have a scent, don't they
16:04 TimToady they're an escape valve, like BEGIN and eval
16:04 [particle] std: say 'a' ~< 1 :rotate
16:04 p6eval std 32107: OUTPUT«ok 00:03 117m␤»
16:05 TimToady once I get STD's op defs into the setting's lexical scope, std can check to see if there are any candidates with that named parameter
16:06 tadzik left #perl6
16:06 [Coke] masak: if your parrot-revision is X, but you're using x+N, that means you didn't rebuild.
16:06 masak TimToady: please don't introduce C just for making a small number of ops circular... :/
16:06 [Coke] (if you just svn up && make, you don't get the new revision #.)
16:06 masak [Coke]: one of us has a wrong assumption here.
16:06 masak and it probably isn't me. :)
16:07 masak [Coke]: first: why are you telling me this?
16:07 masak what did I do to deserve it?
16:07 masak so to speak.
16:08 patrickas masak++ blog post from this morning
16:09 masak [Coke]: I have a setop in which I build Rakudo and Parrot separately. for both, I always git/svn-update as much as possible, make realclean, conf, and build.
16:09 masak [Coke]: as such, I never just svn up && make.
16:10 masak the setup I have is a product of being burned many times. :)
16:10 molaf joined #perl6
16:14 justatheory joined #perl6
16:14 timbunce joined #perl6
16:16 molaf left #perl6
16:16 whiteknight joined #perl6
16:17 lue hmm, adverbs ought to be interesting to try...
16:17 masak and heredocs.
16:18 wtw left #perl6
16:19 masak phenny: tell tadzik nice post at http://ttjjss.wordpress.com/2010/08/08/perl-6-%E2%80%93-ready-enough-for-me/ -- typo 'Find::Find', even though such a module would be highly interesting. :)
16:19 phenny masak: I'll pass that on when tadzik is around.
16:20 justatheory left #perl6
16:23 risou joined #perl6
16:25 lue do adverbs need to be added to Grammar.pm and/or Actions.pm ?
16:25 plobsing joined #perl6
16:28 masak yes.
16:29 masak likely both, but start by making it parse.
16:30 sekimura joined #perl6
16:32 lue Grammar first then.
16:33 c9s left #perl6
16:34 dual joined #perl6
16:37 lue afk
16:37 tadzik joined #perl6
16:39 patspam left #perl6
16:40 baest_ joined #perl6
16:41 baest left #perl6
16:43 justatheory joined #perl6
16:43 zulon left #perl6
16:45 colomon left #perl6
16:50 * moritz_ back
16:51 * moritz_ married
16:52 TimToady \o/
16:52 dakkar left #perl6
16:52 moritz_ \o/ indeed :-)
16:52 masak moritz_: wow! congratulations!
16:53 TimToady \o/\o/ rather  :)
16:53 moritz_ lol
16:53 masak infix:<wed>
16:53 moritz_ thanks masak
16:54 TimToady masak: no fear, I'd already decided a meta ops was wrongish.
16:54 masak TimToady: good. just wanted to reinforce that decision :)
16:54 TimToady feels kinda like kicking someone when they're down.  :P
16:54 masak one can never be too careful :P
16:55 * masak suspiciously eyes Sop
16:55 tadzik \o/
16:55 phenny tadzik: 16:19Z <masak> tell tadzik nice post at http://ttjjss.wordpress.com/2010/08/08/perl-6-%E2%80%93-ready-enough-for-me/ -- typo 'Find::Find', even though such a module would be highly interesting. :)
16:55 tadzik moritz_: congratulations!
16:55 moritz_ thanks tadzik
16:55 tadzik moritz_: what are you doing herd nerd, there is a woman waiting for you! :P
16:56 tadzik masak: oh thanks :)
16:56 masak shouldn't that be "Hurd nerd"?
16:57 tadzik duh, should be here
16:57 dalek rakudo: 18189a2 | moritz++ | src/core/Mu.pm:
16:57 dalek rakudo: implement Mu.so
16:57 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/18189a2995c899719978916854a26d01f73e85e8
16:57 tadzik herd gets a weird meaning
16:57 masak \o/
16:57 tadzik tadzik--
16:57 masak moritz_: so, you got married, and implemented Mu.so ? :P
16:58 tadzik autothreading works :)
16:59 smash moritz_: congratulations
16:59 revdiablo left #perl6
17:00 TimToady http://rosettacode.org/wiki/Reduced_row_echelon_form#Perl_6 needs some lovin's, doesn't work with R*
17:00 TimToady but looks like maybe a rakudo issue more than the code's problem
17:01 moritz_ masak: I actually implemented it yesterday, but forgot to push
17:01 moritz_ smash: thanks
17:01 revdiablo joined #perl6
17:02 masak TimToady: I enjoy watching you enjoy yourself at Rosetta Code. :)
17:02 [Coke] masak: I was responding to you saying that you used rev X, but it was claiming X+N.
17:02 [Coke] er, scratch that. reverse it.
17:02 masak [Coke]: that's not what I said.
17:03 tylercurtis moritz_: congratulations.
17:03 masak [Coke]: I'm fully aware that what PARROT_REVISION says isn't what I'm using. that's by design.
17:03 [Coke] masak: ok. then I will stop trying to help out. no worries.
17:03 masak thanks for trying, though. :)
17:03 [Coke] doubtful, but I'll pretend you mean it!
17:03 masak left #perl6
17:03 [Coke] hugme: hug masak, ironically.
17:03 * hugme hugs masak,
17:04 [Coke] ... that's LTU.
17:04 [Coke] TimToady: ok, I used up my snark. You're good to go.
17:05 TimToady hugme: hug [Coke], metaphorically.
17:05 * hugme hugs [Coke], metaphorically.
17:08 [Coke] phenny: ask moritz if he saw the last comment on http://trac.parrot.org/parrot/ticket/1746
17:08 phenny [Coke]: I'll pass that on when moritz is around. I'll have to use a pastebin, though, so your message may get lost.
17:08 [Coke] whoops.
17:09 [Coke] phenny: tell moritz that he can check, but i mis-m'd that.
17:09 phenny [Coke]: I'll pass that on when moritz is around. I'll have to use a pastebin, though, so your message may get lost.
17:09 patrickas TimToady: What should this produce ? (10,11,12,3,4,5,6,7...4) Nil or (10,11,12,3,4)
17:09 [Coke] phenny: ask masak if he saw the last comment on http://trac.parrot.org/parrot/ticket/1746
17:09 phenny [Coke]: I'll pass that on when masak is around.
17:10 [Coke] pmichaud: I'm not sure who the rakudo dev is that can respond to TT #1746 at this point.
17:10 thebird left #perl6
17:10 [Coke] I'd normally say jnthn.
17:10 hsmith joined #perl6
17:10 hsmith can anybody please tell me why I am banned in #perl
17:11 [particle] hsmith: no
17:11 [particle] hsmith: we have no knowledge of what goes on in #perl
17:11 [Coke] that's basically a completely different channel, sorry.
17:12 hsmith oki doki... I really apreciate it. thanks
17:13 sekimura left #perl6
17:14 sekimura joined #perl6
17:16 masak joined #perl6
17:16 masak [Coke]: yes. not sure I can fix it unassisted, though.
17:16 phenny masak: 17:09Z <[Coke]> ask masak if he saw the last comment on http://trac.parrot.org/parrot/ticket/1746
17:16 whiteknight left #perl6
17:17 pm_ joined #perl6
17:19 pm_ hi, has anyone built parrot successfully under mac os 10.6.4?
17:20 masak yes. regularly.
17:20 pm_ oh ;-)
17:20 pm_ well inter::progs in Configure gives the following warning:
17:20 pm_ Determine what C compiler and linker to use...dyld: lazy symbol binding failed: Symbol not found: _main
17:20 pm_ did you have any of that?
17:22 [particle] pm_: is it possible you have a previously installed parrot there?
17:22 [particle] no, that shouldn't do it...
17:22 masak pm_: do you have XCode installed?
17:23 pm_ mhm, I tried to build the 201007 version but also unsuccessfully
17:23 pm_ yes Xcode is on the system
17:23 [particle] right, taht's probably it masak
17:23 [particle] it's not finding the linker
17:23 masak it's usually XCode somehow :)
17:24 pm_ ah so xcode does something strange to the linker?
17:24 [particle] maybe when steve comes out with iCode, it'll Just Work.
17:24 [particle] ...as long as you only want to build things one way.
17:24 pm_ maybe theres an already an app for that..
17:25 pm_ ah sorry.. I had two perl5 installations on the system
17:25 pm_ in /opt/local and in /usr/bin
17:26 pm_ building with /usr/bin/perl seems to work..
17:26 pm_ sorry I should have checked this earlier..
17:27 masak no problem.
17:27 ash_ left #perl6
17:27 [particle] happy to help
17:27 masak it's good to know where people usually run into trouble.
17:27 [particle] yeah... with perl 5.
17:27 ash_ joined #perl6
17:27 pm_ well so long and thanks for the fish.. ;-)
17:28 pm_ left #perl6
17:29 masak to be fair, Perl 5 has some good sides as well.
17:30 [particle] yeah, it's finished ;)
17:30 tadzik http://www.reddit.com/r/perl/comments/d5e1p/pascals_triangle_in_perl_6/c0xuruz -- take a look folks
17:31 masak tadzik: there's already http://svn.openfoundry.org/pugs/docs/Perl6/Perl5/Differences.pod
17:32 masak hm, I hope that one isn't out-of-date...
17:32 tylercurtis \o/ S32-array/kv.t isn't randomly dieing after the 9th test because of my Proc::Status patch!
17:33 fod joined #perl6
17:33 wamba left #perl6
17:33 masak the part about Kwid has to be out-of-date. :/
17:34 zulon joined #perl6
17:37 masak tadzik: nice discussion. in http://www.reddit.com/r/perl/comments/d5e1p/pascals_triangle_in_perl_6/c0xr4ow , seems like a verb is missing near "I can that".
17:38 pmichaud ...that's a reddit discussion?  noway.  Too civil.
17:39 masak the trolls must have gotten bored.
17:39 masak pmichaud: re the last comment on http://trac.parrot.org/parrot/ticket/1746 -- is there any way I could help?
17:40 pmichaud I disagree with the analysis.
17:40 masak oh.
17:40 pmichaud He's correct that the class is changed, but the data structure remains the same.
17:41 pmichaud I'm not sure what is meant by "allocated from the memory pool of the old class" though.
17:41 smash left #perl6
17:41 pmichaud Each class gets its own memory pool?
17:42 pmichaud (put another way ... if this is in fact an issue, we should be seeing the problem far more often than here, since *every* Rakudo object has this reblessing done on it.
17:43 masak so the segfaults originates from somewhere else?
17:43 pmichaud I can't say that for certain.
17:44 pmichaud I just have difficulty believing the conclusion.
17:44 patspam joined #perl6
17:44 pmichaud anyway, if that is indeed the problem, then jnthn++ or someone who deeply understands Parrot object internals is likely the only one(s) who can solve it.
17:45 macroron left #perl6
17:45 pmichaud I still have disagreements with the original code example, as well.
17:46 pmichaud should we move the discussion to #parrot?
17:47 tylercurtis http://nopaste.snit.ch/23176 # patch to make &run's result have the correct boolean value.
17:48 masak pmichaud: we could move the discussion to #parrot, if you want. thought the code is in Perl 6 :)
17:50 pmichaud actually, looking at it further, I think the analysis might be correct.
17:50 pmichaud well, correct-ish.
17:51 Tene rakudo: my $n = 0 but True; say "lol" if $n;
17:51 p6eval rakudo df38ac:  ( no output )
17:51 pmichaud the rebless_subclass opcode gets called in exactly one place.
17:51 Tene rakudo: my $n = 0 but True; say "lol" if ?$n;
17:51 p6eval rakudo df38ac: OUTPUT«lol␤»
17:51 Tene Is that a bug with if?
17:52 pmichaud no, it's a bug with get_boolean vtable, likely.
17:52 Tene tylercurtis: I'd prefer that you just return an int modified as above, instead of making a new class just for this.
17:52 Tene tylercurtis: but, as above, there's an issue with Int get_boolean vtables.
17:53 tadzik masak: thanks, my typo-hunter :)
17:53 pmichaud rakudo:  my $n = 0.Int but True; say 'lol' if $n;
17:53 p6eval rakudo df38ac:  ( no output )
17:54 Tene rakudo: say Int.WHAT
17:54 Tene erm
17:54 p6eval rakudo df38ac: OUTPUT«Int()␤»
17:54 Tene rakudo: say 0.WHAT
17:54 pmichaud I agree -- I don't want the specialized class for this.
17:54 p6eval rakudo df38ac: OUTPUT«Int()␤»
17:54 tadzik where is 'but' documented?
17:55 moritz_ probably S12 or S13
17:55 pmichaud well, we might be able to fix the 'but True' part by a change to 'if'
17:56 pmichaud but it will likely require a change to PCT
17:56 pmichaud and not a pretty one, at that.
17:57 tylercurtis Tene, pmichaud: actually, ignore that patch. Apparently, the exit status really needs to be only for .Int, since the child process's PID is supposed to be the Numeric value.
17:57 pmichaud the .Int and .Numeric are different?
17:57 pmichaud oh, that... is awful.
17:57 tylercurtis pmichaud: according to S29.
17:57 tylercurtis Yeah.
17:57 pmichaud I think S29 needs changing there, then.
17:58 pmichaud That feels like a case of trying to be too clever with overloading existing interfaces.
17:58 tylercurtis I agree. Maybe it should have neither .Int or .Numeric and just require to explicitly do either .exit or .pid.
17:58 zby left #perl6
17:59 pmichaud that makes a heck of a lot of sense.
17:59 tadzik duh, grepping Synopses for 'but' is painful
17:59 patspam1 joined #perl6
17:59 pmichaud tadzik: try '<but>'
18:00 tadzik easier, thanks
18:01 patspam left #perl6
18:01 tylercurtis I'll work on changing S29 and writing a new patch later.
18:01 * tylercurtis goes for a walk.
18:08 mberends joined #perl6
18:09 masak tadzik: I'm thinking I might do a bit more pls/poc module triaging tonight.
18:11 tadzik masak: dependencies are not resolved
18:11 masak indeed. let's tackle that now.
18:12 tadzik a'right
18:12 masak what's a good module with dependencies?
18:12 tadzik Math::Model
18:12 masak right.
18:12 tadzik it has dependencies which have dependencies
18:12 * masak tries it
18:12 masak excellent.
18:12 tadzik it doesn't work
18:12 tadzik but fails for a strange reason
18:12 masak there are tests for that, so this should all work once dependencies are recognized. :)
18:13 tadzik haha, pls is another module which implements its own mkdir-p
18:14 tadzik it's different each time
18:14 masak since yesterday, yes :)
18:14 masak I made it from scratch.
18:14 masak how many other known implementations are there?
18:14 masak might make a fun blog post.
18:14 tadzik neutro has one, File::Tools has another
18:14 masak :)
18:14 pmichaud masak: I think we now know the source of the problem behind TT #1746
18:14 pmichaud (from #parrot)
18:15 masak pmichaud: yes, I'm following along on #parrot
18:15 tadzik not sure if I didn't change neutro's one after stealinig File::Tools solution from moritz++ Module::Starter
18:15 pmichaud something is attempting to compose a role into a Parrot Hash
18:15 masak pmichaud: ouch.
18:15 pmichaud so, more to the point, something is returning a Parrot Hash instead of a Rakudo Hash
18:15 pmichaud Rakudo Hashes are somewhat broken already -- I *really* want to get rid of that silly role Hash
18:16 masak tadzik: poc dies with a stacktrace when a module isn't found. that's non-good.
18:16 pmichaud so maybe the place to start is by fixing Hash
18:16 tadzik masak: I'd like to introduce "my" module names to it
18:16 tadzik so you will be able to install Acme::Meow rather than perl6-Acme-Meow
18:16 tadzik as neutro does it
18:17 masak tadzik: hm.
18:17 masak tadzik: so far, I've been preferring to keep an identity mapping between the name you write to install the module, and the repo.
18:17 masak it's been working out quite well.
18:18 masak changing the mapping would introduce more moving parts, and would in some sense mean taking sides.
18:18 tadzik it's ugly and I didn't like it from the very beginning
18:18 tadzik no parts have to be moved
18:18 tadzik look:
18:19 tadzik http://github.com/tadzik/neutro/blob/master/neutro#L55
18:19 tadzik it can be done another way around
18:20 masak so you have a mapping from the real names to names that you prefer.
18:20 tadzik yep
18:20 masak and that mapping... who maintains it? the package installer developer(s)?
18:20 tadzik actually, another way around
18:20 molaf joined #perl6
18:20 tadzik no, I do. As pls has its poc-projects.list, neutro has modules.list
18:20 masak that work will grow with each new project added to the ecosystem.
18:21 masak I'm afraid I don't see the benefit.
18:21 tadzik I believe that naming by repo names is a temporary solutioni anyway
18:21 masak me too.
18:21 masak but it's a simple one.
18:21 masak yours is one level of indirection more complicated.
18:21 masak and the added benefit is slightly nicer-looking names.
18:21 tadzik the benefit is that when you want to install Math::Model, you install Math::Model instead of wondering "now what is the name of Math::Model in that masterpiece"
18:22 masak they're all listed at modules.perl6.org
18:22 masak along with descriptions and other metadata.
18:22 PerlJam It's too bad modules.perl6.org isn't also a module registry of sorts
18:22 tadzik and you have to look it up every time yourself, I thought programming is about not doing everything yourself
18:22 PerlJam (I guess that's cpan6 territory)
18:23 tadzik is there anything being done with cpan6?
18:23 masak tadzik: we have different goals. that's ok. this is quite a pleasant detail to disagree over.
18:23 tadzik . o O ( maybe that will be the second thing we should do after, or before emmentaller masak )
18:23 masak cpan6 is the cat that all the mice wants a bell to be put on.
18:23 tadzik nice analogy
18:24 zulon left #perl6
18:24 masak I'm not touching it, at least not without backing by the right people from the Perl 5 side, and a decent plan.
18:24 tadzik but I think that if we maintain the modules list ourselves, we can as well maintain it with proper module names
18:24 PerlJam masak++ you are a wise man. :)
18:25 masak call it survival instinct.
18:25 masak tadzik: no, that does not follow.
18:25 masak tadzik: we differ in how much minimalism we persue in building our installers.
18:25 masak tadzik: if I can skip a layer of indirection, I will. every time.
18:26 masak you prefer the added convenience to the user. that's alright.
18:26 pmichaud I think from the outset we need to not assume any unique mappings of module names to repo name.
18:26 tadzik isn't a separate Pls and POC the layer of indirection?
18:26 pmichaud (not that there shouldn't be mappings... but they can't be unique)
18:27 masak tadzik: yes, but that's one that really really hurt not having.
18:27 pmichaud ideally, I'd expect to be able to specify a repo name if I know it or want a specific version, otherwise a module name does a "best match"
18:27 envi^home left #perl6
18:28 masak tadzik: you might not see it now, but that separation of workflow and mechanism is the one single idea which will make pls overtake proto in stability, reliability and usability.
18:28 PerlJam pmichaud: Quick, which is best?  perlpilot/benchmark-perl6  masak/benchmark-p6  moritz/benchmark  tadzik/Benchmark-Perl6
18:28 PerlJam :-)
18:28 tadzik PerlJam: they are equally good, unless you want "Benchmark"
18:29 tadzik masak: probably
18:29 pmichaud PerlJam: I presume that "best match" is based on more than just name.
18:29 PerlJam I wanted the perl 6 benchmark module.
18:29 tadzik I believe the goal isn't to have 4 benchmark modules in the module db
18:29 masak I'll take this as silent admiration: http://twitter.com/dbrock/status/22287574781 :)
18:30 tadzik (although we have 2 Term::ANSIColors)
18:30 pmichaud PerlJam: what is this "*the* perl 6 bench mark module"?
18:30 PerlJam pmichaud: As an end user, I may not know.
18:30 pmichaud PerlJam: exactly
18:31 pmichaud so if you say "benchmark" and the matching algorithm can't figure out what you want with any degree of certainty, it should come back and say "I know about .... did you want one of these?"
18:32 masak PerlJam, tadzik: I think it's important to realize that neither proto, neutro, pls or any other installer we have now, or any system they employ, will survive the next five years. this is all about providing something for users now.
18:32 masak it doesn't have to be perfect. just sane.
18:32 PerlJam masak: good point.
18:32 masak they might also help us by pointing the way to things we want but didn't know we wanted.
18:33 tadzik that's why I'll go for names mappings. It suits "for users" as well as 'not perfect' :)
18:33 masak tadzik: and I totally approve. as long as it's in your project, not mine.
18:33 masak :)
18:33 tadzik and it is :)
18:33 masak I wouldn't even be too grumpy if it turned out to be the "better" equilibrium, all things considered.
18:34 masak after all, people have widely different naming standards.
18:34 masak and this is a way to equalize that.
18:34 masak but don't believe I won't smirk every time I think about all the work you have maintaining that mapping that I don't have. :P
18:35 masak tadzik: installing Math-Model fails with this build log file: ===SORRY!===\nUnable to open filehandle from path 'lib/Math/Model.pm6'
18:35 tadzik yep
18:36 masak that's... odd.
18:36 tadzik ...yep :)
18:36 * masak in·vest·ig·ate·s
18:37 * PerlJam thinks that there's something to be said for having a cpan-a-like that just holds the meta-info and not necessarily the tarballs
18:37 masak PerlJam: well, that description matches proto, neutro and pls.
18:38 tadzik masak: I was able to install Math::Model by going back a commit
18:39 masak good to know.
18:39 masak then it was something I did :)
18:39 pmichaud I am not having a very good/productive day.  :-(
18:39 masak so... why is it trying to open a .pm6 file, when there's only a .pm file there?
18:39 PerlJam masak: yeah, but they have the added burden of proto/neutro/pls  :)
18:39 tadzik but wait, I have all the modules installed anyway :)
18:39 tadzik so I don't know if it installed the dependencies
18:40 masak PerlJam: I've been toying with the idea of moving the projects list out of the proto/pls repo.
18:40 masak PerlJam: and into the Mu repo.
18:40 * pmichaud suggests into perl6/something
18:40 pmichaud or pugs/something
18:40 masak pmichaud: I'd prefer Pugs. then everyone can edit it.
18:40 PerlJam masak: +!
18:40 PerlJam er, +1
18:40 pmichaud everyone can edit in the perl6 repo, also.
18:40 masak oh?
18:41 pmichaud I mean, we'd have to hand out commitbits, but that's easily done via hugme
18:41 masak that's true.
18:41 tadzik masak: funny, removing my ~/.perl6/lib made poc not install anything, but still saying "Math-Model installed."
18:41 masak tadzik: o.O
18:41 PerlJam what about going more "wiki" and forego the commitbits?
18:41 tadzik masak: http://pb.rbfh.de/2HYQhdcEbfwva
18:42 pmichaud PerlJam: that's a possibility also, although I suspect it might not scale well.
18:42 masak PerlJam: such a public wiki would attract spam.
18:42 pmichaud ultimately I suspect we'll want people to provide repo locations and something harvests the metadata
18:42 masak PerlJam: and then you'd have to lock it down.
18:43 masak pmichaud: perl6/ecosystem, then.
18:43 masak pmichaud: if you create it, I'll populate it.
18:43 PerlJam masak: That's a common pattern but I don't take it as a given.
18:44 PerlJam anyway ...  (all you guys)++   :-)
18:44 pmichaud masak: create the repo?
18:44 erez left #perl6
18:44 pmichaud sure thing
18:44 masak PerlJam: it's happened to every wiki I know. I don't understand why it happens less with CVS solutions, but it does.
18:44 tadzik did you mean: VCS? :)
18:44 masak oops. aye. :)
18:45 masak TLA
18:45 * masak .oO( saying CVS rather than VCS was an LTA TLA )
18:45 tadzik LTA? TLA?
18:45 M_o_C joined #perl6
18:45 masak less than awesome. three letter acronym.
18:46 PerlJam tadzik: less that awesome
18:46 PerlJam yeah, what he said :)
18:46 tadzik :)
18:46 masak the former is a local term.
18:46 PerlJam apparently I type slower than normal while paying attention to a presentation
18:46 masak it's over one year old now \o/
18:47 pmichaud masak: http://github.com/perl6/ecosystem
18:47 masak pmichaud++
18:47 pmichaud masak: you already have commit rights
18:47 tadzik so what will be inside? :)
18:48 masak tadzik: a list of modules, in JSON format.
18:48 tadzik ah, I see the description
18:48 pmichaud I'll grant commitbits to whoever else wants them (at least until we get hugme setup)
18:48 tadzik I don't mind having those
18:49 tadzik masak: about sub determine-make-program, couldn't we just use: run "which nmake" blah blah?
18:50 [Coke] Klingon is not part of the Unicode Standard.  (SAD FACE)
18:50 masak tadzik: jnthn wrote that. ask him.
18:50 colomon joined #perl6
18:50 pmichaud I'm pretty sure 'which' is specific to unix.
18:50 masak ok, projects.list is up at http://github.com/perl6/ecosystem
18:51 masak I'll add a little something to the README as well.
18:51 PerlJam I bet "which" works on plan9 and qnx and other non-unixes  :)
18:51 pmichaud okay, I'll rephrase.
18:51 masak we'll basically want to delete poc-projects.list now from the pls branch :)
18:51 pmichaud I'm pretty sure 'which' is not available under Windows (except maybe cygwin)
18:51 [Coke] pmichaud: easy enough to whip up a "which.pl" that does mostly the right thing.
18:51 masak (and replace it by a HTTP GET)
18:51 colomon cygwin has which, yes.
18:52 tadzik I'm pretty sure "nmake /? > nmake.tmp 2>&1" is specific to UNIX too
18:52 [Coke] http://nopaste.snit.ch/23178
18:53 [Coke] *bot, nopaste?
18:57 tadzik . o O (maybe it would be nice to keep the tags in the ecosystem, not only git repo urls. Then it would be more-less guaranteed that there lies something that works)
18:57 [Coke] pmichaud: that nopaste contains a whichalike for win32.
18:57 pmichaud [Coke]: okay.  :-)
18:58 pmichaud tadzik: ...which tags are you referring to?
18:58 Tene tadzik: I'm pretty sure that /? is a windows-ism.
18:58 tadzik pmichaud: git repo tags, as in `git tag 1.0`
18:58 [Coke] as is nmake.
18:58 [Coke] /? is windows for -?
18:59 tadzik hmm, maybe. But it's in poc sources, and works on unix. Maybe it's portable then
18:59 [Coke] (for the generic , not necessarily for help.)
18:59 [Coke] 2>&1 works in command prompt.
18:59 pmichaud it might be worth noting that Rakudo's $*VM<config>  also has a lot of make/perl configuration information auto-detected by Parrot.
18:59 masak wrote a README: http://github.com/perl6/ecosystem
18:59 [Coke] pmichaud: which parrot knows is crap and will eventually not propagate.
19:00 [Coke] ... unless you mean the useful bits!
19:00 tadzik masak: 2057      tadzik | . o O (maybe it would be nice to keep the tags in the ecosystem, not only git repo urls. Then it would be more-less guaranteed that there lies something that works)
19:00 [Coke] (there used to be a ton of /perl5/ config in there, too.)
19:00 tadzik what do you think?
19:00 masak tadzik: I think wait and see.
19:01 tadzik wait for what? :)
19:01 pmichaud I think there should be a mechanism for providing tags, yes.  But I also think it should be "as needed", not "let's engineer every possibilty up front"
19:01 masak if it turns out that your convenience beats my minimalism, then you can move them in there.
19:01 tadzik heh
19:01 masak until then, let's keep it minimal :)
19:01 tadzik making them optional would be nice maybe
19:01 pmichaud fwiw, minimalism needs to also include extensible.
19:01 pmichaud they certainly shouldn't be required.
19:02 pmichaud (not at this stage)
19:02 tadzik well, for now there is a loads of modules from which like half works
19:02 masak I'm proposing that we not introduce an extra layer of indirection at all in projects.list
19:02 tadzik or: is known to work
19:02 masak neutro can do the mapping if it wants. that's fine.
19:03 pmichaud masak: you thikn that projects.list should simply be a list of repos?
19:03 pmichaud *think
19:03 masak yes.
19:03 tadzik neutro is just waiting for pls to be completed, so it can hide in a shade with medals, gallons and stuff
19:03 masak :)
19:04 tadzik then it could be changed to just lines with urls
19:04 pmichaud what tadzik++ said
19:04 tadzik more simplicity, no json, let's dance
19:04 pmichaud why structure it at all then... why not just have urls?
19:04 jaldhar left #perl6
19:04 PerlJam I kind of like the meta-info you get from CPAN:  repo-type, url, version, license, etc.
19:04 patrickas left #perl6
19:04 pmichaud PerlJam: I think that ought to be maintained in the repos, though, not in the central list.
19:05 tadzik I'd personally make it more complex, even if it would require some work from the developers side, it would show which modules are actually alive
19:05 masak pmichaud: that structure comes from a time when not everyone had github repos.
19:05 pmichaud or, more to the point, something should collect that information, as opposed to people adding / maintaining it manually
19:05 masak pmichaud: from that structure, you could basically dispatch on the type of repo to decide how to install the module.
19:05 pmichaud masak: one can do that with url, too.
19:05 masak troo.
19:05 masak it's basically just for hysterical raisins.
19:06 pmichaud tadzik: I'd keep it simple, and have something that collects the metadata and builds the structure
19:06 tadzik so maybe it's a high time to change that :)
19:06 masak and an URL string is less digested than a set of hash entries.
19:06 PerlJam tadzik: what does "alive" mean?
19:06 tadzik pmichaud: and separate the simple list from the actual data?
19:06 pmichaud tadzik: maintain the "actual data" in the repos, not in the central list
19:06 tadzik PerlJam: let's say: works
19:07 masak http://github.com/moritz/modules.perl6.org/blob/master/web/build-project-list.pl#L19 needs changing now. any volunteers? :)
19:07 ash_ so... i know have a working backend for try.rakudo.org and updates to the front end to use it, but its not secure currently, anyone have any suggestions for making the repl more secure?
19:07 PerlJam tadzik: the module works?  or the URL works?
19:07 tadzik PerlJam: the module. I'm talking about the modules in general
19:07 zorgnax_ joined #perl6
19:07 ash_ and now it does use the perl6 repl built in
19:08 tadzik yay!
19:08 tadzik ash_++
19:08 PerlJam tadzik: The module may work for one person but not for another.  Is it "alive"?
19:08 PerlJam .oO(Schrodinger's module?)
19:08 moritz_ rakudo: use FORBID_PIR; pir::printerr__vP('Foo')
19:08 p6eval rakudo 18189a: OUTPUT«===SORRY!===␤pir::op forbidden in safe mode␤␤»
19:09 zorgnax_ This seems a bit unwieldy. Is there a better way to have a character class for anything but a ']'? <-[\]]>
19:09 masak ok, modules.perl6.org is now set to use perl6/ecosystem's project.list instead of the one in the pls branch.
19:09 zorgnax_ actually its not that pad
19:09 ash_ morits: > use FORBID_PIR;
19:09 ash_ _block71
19:09 ash_ > pir::printerr__vP("foo");
19:09 ash_ fooP
19:09 ash_ :-(
19:09 moritz_ ash_: hm, I might be able to fix that
19:10 masak zorgnax_: that's the way I'd write it.
19:10 PerlJam zorgnax_: put it in a grammar and give it an appropriate name :)
19:10 [Coke] PPW folks want to know if we want a rakudo hackathon there.
19:10 ash_ moritz_: i might need to update rakudo, i think its been about a week since i did that, so that might help? maybe not though
19:10 masak token anything_but_the_backslash
19:10 tadzik PerlJam: I'd define "works" as in "Passes its tests", at least on one configuration. My point is, there's plenty of modules in proto db, but tests show that 21-28 actually build/work
19:10 pmichaud I got an email from rblackwell but haven't had a chance to respond yet
19:10 masak er, _the_closing_bracket
19:10 zorgnax_ I was thinking it may be possible to have syntax like <-']'>
19:10 pmichaud I don't know yet if I can make it.
19:11 zorgnax_ nm about that last bit
19:11 [Coke] pmichaud: yes, that's the same email. ;)
19:11 PerlJam tadzik: same question basically.   It passes its tests on system A, but doesn't on system B
19:11 moritz_ ash_: I haven't fixed it yet; I might be able to
19:11 [Coke] TimToady is attending, but not sure if he's going to want hacking time.
19:11 zorgnax_ does metasyntax quoting have any meaning?
19:11 pmichaud tadzik: I think getting into questions of "works / doesn't work" is something beyond a basic module installer at this point.
19:11 [Coke] phenny: ask TimToady if he'd like a perl6 hackathon to happen at PPW.
19:11 phenny [Coke]: I'll pass that on when TimToady is around.
19:12 tadzik pmichaud: I think it's beyond the module db, not the module installer, I mean there are many modules which haven't received any love recently and they don't work with Rakudo now
19:12 PerlJam tadzik: that's the function of the smoker.
19:12 pmichaud tadzik: that's a function of a testing service
19:12 tadzik alright, you have me :)
19:13 pmichaud if you want to write a testing service, great.  But let's not confuse that with module management just yet.
19:13 masak zorgnax_: I don't know. S05 will contain the answer, though.
19:13 pmichaud zorgnax_: there's    / ']' <!> | . /
19:13 pmichaud er, no
19:13 pmichaud zorgnax_: there's    / ']' :: <!> | . /
19:13 pmichaud which doesn't work in rakudo yet
19:13 PerlJam Sounds like we're regrowing all of the CPAN infrastructure
19:14 tadzik pmichaud: I rather thought about, well, filtering the module db a bit. But now that I think a bit, I don't remember why I started thinking about that
19:14 pmichaud PerlJam: ugh, I hate statements like that.
19:14 pmichaud sometimes wheels need reinventing (more)
19:15 pmichaud sometimes it's worth exploring alternate designs just to see what might've been overlooked the first time around
19:15 pmichaud I'm not saying "don't use CPAN", but I do think there's a tendency to say "don't reinvent CPAN" before we really know what we want
19:16 pmichaud (not that you said that... but many people will infer it)
19:16 tadzik oh by the way, what about require pmichaud?
19:16 PerlJam I agree. Though, at this point, I don't see that's we've made any significant deviations in the "design"
19:17 PerlJam (even the design we're just talked about and not implemented)
19:17 PerlJam s/we're/we've/
19:17 pmichaud PerlJam: that may be.
19:17 pmichaud ...but can I create modules without having to upload them?
19:17 pmichaud or do we want our unit of currency to continue to be a tarball?
19:17 ash_ moritz_: i used to use: http://gist.github.com/553994 if that could be contained in a built in module, or use SAFE_MODE or something, that would be nice, if not, i understand, but i am going to have to figure out the right way of doing that from the repl
19:18 tylercurtis left #perl6
19:18 ash_ could i do that, then start the repl after i set it to be 'safe' enough?
19:18 Tene btw, japhb has also spent a lot of time thinking about this kind of stuff for plumage; you might want to interact with him
19:18 PerlJam pmichaud: tarball, zip file, whatever.   The whole point of having the module list so that someone can a) discover a useful module and b) use it :-)
19:19 PerlJam pmichaud: but, I do tend to want to decouple the meta-info from the module storage.
19:19 pmichaud PerlJam: that's been my whole point
19:19 pmichaud is that part of CPAN's current design?
19:19 pmichaud (decoupling)
19:19 PerlJam okay, then we're in violent agreement :)
19:19 pmichaud except for the part of "no significant deviations"
19:19 PerlJam no, the decoupling is not part of CPAN's design.  Ergo, I retract what I said earlier.
19:20 pmichaud okay.  :-)
19:22 ash_ moritz_: actually, for the other parts (the open, run, slurp, etc. ) functions, i can make a script and then call Perl6::Compiler.interactive(); and it blocks all of the open/run/etc. functions, but it still lets pir run
19:23 PerlJam pmichaud: but if someone pipes up with "we need a rating system for the modules" I am going to cringe a little  :)
19:23 moritz_ ash_: I think it's just a question of where to define the $*FORBID_PIR contextual
19:23 moritz_ it's currently defined in comp_unit
19:23 ash_ PerlJam: we need a rating system for modules, :P
19:23 moritz_ which doesn't seem global enough for that purpose
19:24 * PerlJam gives ash_ a hug that's perhaps just a little too tight for comfort
19:24 PerlJam ;>
19:24 PerlJam Wait ... did I just weaponize hugs?
19:24 * moritz_ -> sleep
19:24 * ash_ not serious about the modules
19:25 PerlJam g'night moritz_
19:25 tadzik o/
19:25 ash_ moritz_: alright, thanks for the tip, i'll see if i can find a way to make it possible to have use FORBID_PIR; work the way i need
19:25 * pmichaud growls at T-Mobile.
19:27 zorgnax_ left #perl6
19:29 TimToady I think I've found a binding bug.  http://wall.org/~larry/hamming.p6
19:29 phenny TimToady: 19:11Z <[Coke]> ask TimToady if he'd like a perl6 hackathon to happen at PPW.
19:30 TimToady [Coke]: if there's one during, that's fine, but Glo and I will be flying straight from there to Japan
19:31 masak ooh, the Hammind sequence!
19:32 TimToady I would guess that the *@xtail is not successful in binding to the conjectural part of the @hamming array
19:32 PerlJam TimToady: I didn't think that particular signature syntax worked
19:32 timbunce left #perl6
19:32 [Coke] GAH. jnthn++ ... clicking on that link on my windows box fired off rakudo.
19:32 masak TimToady: any reason why it shouldn't bind?
19:33 TimToady rakudo: sub foo (@x [$xhead, *@xtail]) { say ~@xtail }; foo([1,2,3])
19:33 p6eval rakudo 18189a: OUTPUT«2 3␤»
19:33 masak \o/
19:33 Tene perl6: my @x = 1..5; sub foo(@a [$a, *@atail]) { say "head: $a\ntail: {@atail.perl}"; }; foo(@x);
19:33 p6eval rakudo 18189a: OUTPUT«head: 1␤tail: [2, 3, 4, 5]␤»
19:33 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "[$"␤    expecting "?", "!", trait, "=", default value, "-->" or ")"␤    at /tmp/6hVbwrTvGV line 1, column 26␤»
19:33 TimToady rakudo: sub foo (@x [$xhead, *@xtail]) { say ~@xtail }; foo([1, (2...3)])
19:34 p6eval rakudo 18189a: OUTPUT«2 3␤»
19:35 TimToady rakudo: sub foo (@x [$xhead, *@xtail]) { say ~@xtail[^3] }; foo([1, 'x' xx *])
19:35 p6eval rakudo 18189a: OUTPUT«(timeout)»
19:36 TimToady anyway, hamming is sort of an acid test for laziness, the way man-or-boy is for scoping
19:36 TimToady and currently we flunk...
19:37 huf what does the sub foo(@x [$x, *@y) syntax do?
19:37 huf err, with the ]
19:37 Tene huf: destructure @x
19:37 huf ah
19:38 huf wait, that needs the @x in front?
19:38 masak no, but that adds another name and a Positional constraint.
19:38 stepnem left #perl6
19:38 huf ah
19:39 huf neat
19:39 timbunce joined #perl6
19:41 masak tadzik: just pushed a fix to the .pm6 bug. now we're back on dependencies. :)
19:41 * masak looks forward to poc doing this right
19:42 hsmith left #perl6
19:42 stepnem joined #perl6
19:42 pmichaud file a bug report for hamming, please.  I know enough of the binding code now that I think I might be able to fix it up.
19:43 pmichaud I'd like to see that one work.
19:43 * masak submits rakudobug for hamming
19:43 ash_ pmichaud: do you have any suggestions for getting use FORBID_PIR; to work in rakudo's repl?
19:44 pmichaud ever have one of those days where you're just certain that the planets have entered a new alignment that is causing everything to fail?  That's my day.
19:44 tadzik masak: not me :|
19:44 pmichaud ash_: I'm thinking FORBID_PIR needs to become a lexical var as well as a compile-time constant if it's going to be preserved.
19:44 tadzik I just found out my Linear algebra exam is on 3th, not 9th
19:44 tadzik I'm banning myself from #perl6 since tomorrow
19:45 pmichaud ash_: but the other way we could do it is to provide an option to the compiler that does the equivalent of FORBID_PIR without having to have the use statement.
19:45 ash_ tadzik: at least you didn't found out it was yesterday
19:45 ash_ pmichaud: like a flag for when you call the exe?
19:46 pmichaud yes, or something passed to the repl
19:46 ash_ I am using Perl6::Compiler.interactive() right now
19:46 pmichaud right
19:46 masak tadzik: and you're sure you got my last commit?
19:46 pmichaud it can be an option passed to that.
19:46 ashleydev pmichaud: it'd be nice to load modules with a url like .js
19:46 ashleydev if they're not local
19:46 pmichaud ashleydev: that's a language issue, not an implementation one :-)
19:46 pmichaud (well, it becomes an implementation one at some point... but right now it needs a spec :-)
19:47 ashleydev but the conversation made me think of that
19:47 pmichaud ashleydev: sure.  See S11 for what exists so far.
19:47 tadzik ash_: well, I have one week instead of two
19:47 tadzik masak: just pulling
19:48 ash_ use Remote-Module; use 'google.com/api/perl-libs'; # might be neat but also could be scary
19:49 ashleydev ash_: fun!
19:49 ashleydev ;)
19:49 ash_ i guess you could do something like use Remote-Module 'google.com/api/perl-libs'; without to much headache, and just cache files on your local computer
19:49 ashleydev ash_: I would expect there would need to be come caching by default
19:50 ash_ that doesn't seem to crazy to implement with the current spec, i can't think of any reason it wouldn't work
19:51 pmichaud some form of cache is likely anyway, even for local modules.
19:51 ash_ lol, here would be a fun one, "use lib cpan.perl.com'
19:51 ash_ err
19:51 ash_ use lib cpan.perl.com'
19:51 ash_ grrr, sorry having a retard moment with my return key
19:52 ash_ use lib 'cpan.perl.com'; use Foo; and have it find foo on cpan
19:58 muixirt joined #perl6
20:00 * masak has poc pull its projects.list from perl6/ecosystem
20:01 Italian_Plumber left #perl6
20:01 masak look at this change: http://github.com/masak/proto/commit/61a5869febd506d05cebad90dd7b14c6ac730c0a
20:01 rokoteko left #perl6
20:01 masak I can't decide if it's Perl 6 that's very nice to me, or the pls design, or both. :)
20:02 masak (suggestions for how to do this without 'wget' are welcome, though)
20:02 tadzik LWP::Simple maybe?
20:02 [particle] use curl?
20:02 [particle] scnr
20:02 masak [particle]: I've never figgered out when to use wget and when to use curl :)
20:02 Tene I do have an http client... somewhere...
20:02 masak tadzik: that might be the way, yes. wonder if I can do it without a module, though.
20:02 Tene probably not anywhere online
20:03 Tene masak: HTTP client is very simple.  You should be able to do something that works well enough for most cases in like a couple dozen lines at most.
20:04 masak sounds good.
20:04 Tene write: GET /foo/bar HTTP/1.1\nHost: foo.bar.com\n\n; read off the headers, and then loop read/write
20:05 masak nod
20:05 masak tadzik: if you'll have a look at t/subcommands/build.t, you'll see how dependencies work.
20:06 Tene masak: I'd be glad to help you with that if you need it.
20:06 masak tadzik: there are entries such as :deps<A B> in that hash.
20:06 masak Tene: cool. I'd gladly accept a patch.
20:08 snearch left #perl6
20:11 ash_ do sockets work in perl6?
20:12 Italian_Plumber joined #perl6
20:12 masak yes.
20:12 ash_ only tcp/udp? or can you do unix sockets too?
20:13 Kodi joined #perl6
20:13 Kodi http://gist.github.com/493037 - Latest version of Instants and Durations patch.
20:14 masak tadzik: that hash is put into something called the ProjectsState. in the t/ tests it's already there from the beginning. in the Real World, we have to populate ProjectsState after fetching a project.
20:15 masak tadzik: thinking about it, I suspect that's a job for the logic in App::Pls.
20:16 Italian_Plumber left #perl6
20:18 lue hai o/
20:18 masak o/ hai
20:19 \xF0 left #perl6
20:19 M_o_C left #perl6
20:19 \xF0 joined #perl6
20:20 justatheory left #perl6
20:20 Italian_Plumber joined #perl6
20:21 lue congratulations, moritz_
20:22 IcyBee joined #perl6
20:22 molaf left #perl6
20:26 ejs joined #perl6
20:37 risou left #perl6
20:41 lue rakudo: my $a = 3 :carefully
20:41 p6eval rakudo 18189a: OUTPUT«===SORRY!===␤Confused at line 22, near "my $a = 3 "␤»
20:42 ash_ std: my $a = 3 :carefully
20:42 masak :)
20:42 p6eval std 32107: OUTPUT«ok 00:01 118m␤»
20:42 lue out of curiousity, how would a P6 user define their own adverbs? .oO(sub adverb:<sickly> ?)
20:43 Mowah left #perl6
20:43 Italian_Plumber left #perl6
20:43 lue .oO(Leave it to a linguist to name a language feature an adverb)
20:44 masak lue: you define a new multi of the operator you want to have the adverb, and provide the adverb as a named parameter.
20:46 lue so, if I want to give infix:<+> the adverb :quickly, I'd do  multi sub infix:<+>($a, $b, $quickly) ?
20:46 masak :$quickly
20:46 masak so it still takes two positional parameters. and one named.
20:47 ash_ then how would you call that?
20:47 masak 4 + 5 :quickly
20:47 dalek rakudo: 2740248 | masak++ | src/core/Any-list.pm:
20:47 dalek rakudo: [src/core/Any-list.pm] be more forgiving
20:47 dalek rakudo:
20:47 dalek rakudo: In the min/max/minmax methods, even though we should technically expect to
20:47 dalek rakudo: get only -1, 0, or +1, we'll instead check for negative, zero, and positive.
20:47 dalek rakudo: This due to at least two reasons: (a) Postel's law, (b) it's faster :)
20:47 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2740248e5bec05796f18e44264557684f68e5878
20:47 dalek rakudo: a20e62d | masak++ | src/core/Any-list.pm:
20:47 dalek rakudo: [src/core/Any-list.pm] simplification
20:47 dalek rakudo:
20:47 dalek rakudo: .signature.params.elems can be written .arity just as well. Did that.
20:47 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a20e62d6a3ef7e50396636f4bd848997e608e28b
20:47 ash_ ah, cool
20:48 lue I see now. [must remember operators are just subs with funny syntax]
20:48 whiteknight joined #perl6
20:48 plobsing is there anything like is('traced') for subs? I'm trying to debug some multi-dispatch problems I've found with the Ackerman example on rosettacode
20:50 masak plobsing: you might be able to wrap the sub with debug information.
20:50 masak rakudo: sub foo { say "OH HAI" }; &foo.wrap(sub { say "before"; callsame; say "after" }); foo
20:50 p6eval rakudo 18189a: OUTPUT«before␤OH HAI␤after␤»
20:50 plobsing masak: sure, but I have a sweet tooth.
20:51 masak not aware of any ready-made refined sugare for you, 'fraid.
20:52 ash_ is there a way to get a stack trace in rakudo?
20:54 masak rakudo: sub foo { bar }; sub bar { baz }; sub baz { die "stack trace" }; foo
20:54 p6eval rakudo 18189a: OUTPUT«stack trace␤  in 'baz' at line 22:/tmp/1l5_HJIQaM␤  in 'bar' at line 22:/tmp/1l5_HJIQaM␤  in 'foo' at line 22:/tmp/1l5_HJIQaM␤  in main program body at line 22:/tmp/1l5_HJIQaM␤»
20:54 ash_ can you make one without die? (like something you could assign to a variable?)
20:55 masak not that I'm aware.
20:55 masak sounds like you want the &callframe function of S06.
20:56 ash_ ya, actually, now that you mention, that is what i am after
21:01 plobsing rakudo: multi sub B() { say "multi" }; &B.wrap(sub {say "before"; callsame; say "after"}); B()
21:01 p6eval rakudo 18189a: OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub'␤  in main program body at line 1␤»
21:01 plobsing rakudo: sub B() { say "multi" }; &B.wrap(sub {say "before"; callsame; say "after"}); B()
21:01 p6eval rakudo 18189a: OUTPUT«before␤multi␤after␤»
21:01 plobsing rakudobug?
21:02 ashleydev ash_: it'd be a cool CPAN module that would make use of local::lib that you could just do that use 'cpan.perl.com' and it would do a local::lib build of cpan modules and cache them...
21:03 tadzik rakudo: sub B() { say "curious" }; B.wrap(sub {say "before"; callsame; say "after"}); B()
21:03 p6eval rakudo 18189a: OUTPUT«curious␤Method 'wrap' not found for invocant of class 'Bool'␤  in main program body at line 22:/tmp/BgAvBV0wV0␤»
21:03 tadzik oh right
21:04 masak plobsing: seems so. I'd be surprised if it isn't already known, though.
21:04 * masak checks
21:05 masak rakudo: (sub f { }).wrap(-> { })
21:05 p6eval rakudo 18189a:  ( no output )
21:06 masak rakudo: (sub f { }).wrap(-> { say "OH HAI" }); f
21:06 p6eval rakudo 18189a: OUTPUT«OH HAI␤»
21:06 masak seems http://rt.perl.org/rt3/Ticket/Display.html?id=76420 can be closed.
21:06 masak ...or taken to tests, at least.
21:06 * masak submits wrap/multi rakudobug
21:06 Kodi left #perl6
21:06 masak plobsing++
21:07 ash_ since you can currently construct a backtrace for the error messages when get a fail/die, is there any reason you couldn't construct one for debug purposes?
21:07 masak ash_: no-one has needed it before.
21:07 masak or no-one has asked, at least.
21:08 ash_ but using that, couldn't you set &callframe?
21:08 ash_ also, why is <invizible_frame> part of annotations? is that misspelled on purpose?
21:10 ash_ http://github.com/rakudo/rakudo/blob/f8763b87dcc4b490d7c2ade93f58853bc052a37e/src/Perl6/BacktracePrinter.pm#L12 is what i am talking about btw, the spelling thing
21:10 ash_ it works, so i assume its correct, just odd to me thats all
21:11 * ash_ ponders how hard it would be to implement callframe if we already do it for exceptions
21:11 masak ash_: that's clearly jnthn being lolcat-y.
21:11 ash_ masak: ah, thats fine, just checking :)
21:12 ash_ i know there are some non native english speaks around here, so i was making sure it wasn't a mistake
21:12 masak good :)
21:12 masak jnthn's native language is lolspeak :P
21:12 ash_ lol
21:13 ash_ can haz yarn 'foo'?
21:13 plobsing is there such things as rude lolspeak and very rude lolspeak?
21:13 tadzik OH NOES RUDENESS MAKES KITTEHZ CRY :(
21:14 tadzik there should be a module allowing 'can haz $a' and 'I can haz $a' instead of 'has $.a' and 'has $!a'
21:14 tadzik is it doable at the moment? :)
21:14 ash_ can you make a fail object that isn't going to be thrown?
21:15 ash_ Failure.new 'foo' and fail 'foo' both throw
21:15 tadzik hmm
21:15 lue rakudo: sub I_can_haz($a) { say "$a to you" }; I_can_haz "hello";
21:15 p6eval rakudo 18189a: OUTPUT«hello to you␤»
21:16 Holy_Cow left #perl6
21:16 tadzik rakudo: my $x; try { $x = Failure.new('foo')}; say "alive; {$x.WHAT}"
21:16 p6eval rakudo 18189a: OUTPUT«alive; Failure()␤»
21:16 tadzik ash_: ↑
21:17 ash_ rakudo: my $x = Exception.new: 'boom'; say $x.WHAT;
21:17 p6eval rakudo 18189a: OUTPUT«Exception()␤»
21:18 masak tadzik: don't know if you're still there. I just tried making a change to make dependencies work, and failed miserably. :)
21:18 plobsing http://rosettacode.org/wiki/Ackermann_function#Perl_6 multi-dispatch example fails rather quickly for A(9,6)
21:19 plobsing (I would expect it to take a while to fail)
21:19 masak tadzik: the tests are a harsh judge.
21:19 tadzik masak: still there, but mostly my spirit is there. As I said, the exams hell is approaching madly. I'll be usable again on 4th of Sep., maybe 3th
21:19 masak ok, no worries.
21:19 masak I'm shutting down for tonight, I think.
21:20 masak need to ponder how the deps thing is to be done.
21:20 masak good luck with exams hell.
21:20 masak g'♞, #perl6
21:20 tadzik oh, I'll need that
21:20 tadzik gnite
21:20 masak left #perl6
21:22 IcyBee left #perl6
21:26 alester joined #perl6
21:27 lue where/how does Grammar parse operators? Or is that more in the realm of Actions.pm? [things like  3 + 2]
21:28 ash_ lue: look for token infix
21:28 ash_ infix ops are part of the proto token infix { }
21:31 lue is it token infixish ? [ there is no    proto token infix {} ]
21:35 ash_ err, ya, infixish is it
21:35 ash_ the actual infix sub's are constructed in Actions.pm
21:35 ash_ the reason you can call say:
21:35 ash_ rakudo: say &infix:<+>(1, 2);
21:35 p6eval rakudo 18189a: OUTPUT«3␤»
21:35 ash_ is because the ops are defined as infix:<>
21:38 lue I'm interested in how &infix:<+>(1,2) turns into 1+2, because I think knowing that would help with implementing adverbs
21:39 ash_ do you mean that the other way around?
21:39 ash_ how 1 + 2 gets turned into &infix:<+>(1, 2)?
21:39 ash_ because &infix:<+>(1, 2); is just a sub
21:40 lue erm, yes. How &infix:<+>(1,2) can be written 1+2. [just put the R metaop in front of 'turns into' in my last statement :)]
21:40 ash_ rakudo: say 1 + 2 * 3; say &infix:<+>(1, &infix:<*>(2, 3));
21:40 p6eval rakudo 18189a: OUTPUT«7␤7␤»
21:41 ash_ its how the grammar parses the code and turns it into an AST, then the AST turns it into actual ops in the vm, which are mostly implemented wit subs
21:43 ash_ lue: have you read S05 or the advent calendar yet?
21:44 [particle] left #perl6
21:44 ash_ http://perl6advent.wordpress.com/2009/12/21/day-21-grammars-and-actions/ talks a good bit about grammars, and gives some good examples, if you haven't read that, i'd start there
21:44 lue I am actually going to the advent calendar now (2009)
21:44 ash_ they are all worth reading
21:45 ruoso left #perl6
21:46 timbunce left #perl6
21:46 Ross joined #perl6
21:48 [particle] joined #perl6
21:50 timbunce joined #perl6
21:51 timbunce left #perl6
21:51 tadzik see you in a week guys o/
21:52 tadzik left #perl6
21:53 sekimura left #perl6
21:54 sekimura joined #perl6
21:54 Tene It really makes me happy whenever I see someone recommending that article I wrote. :)
21:54 ash_ Tene++ adventcalenders++
21:56 risou joined #perl6
21:57 [particle] left #perl6
21:58 [particle] joined #perl6
22:02 alester left #perl6
22:03 masonkramer joined #perl6
22:08 perlygatekeeper left #perl6
22:11 perlygatekeeper joined #perl6
22:18 risou left #perl6
22:20 patspam1 left #perl6
22:30 Guest23195 left #perl6
22:31 tylercurtis joined #perl6
22:32 perlygatekeeper left #perl6
22:32 dalek 6model: 1de869a | ++ | java/runtime/ (6 files):
22:32 dalek 6model: [java] compiling but non working addition of 5 more classes into the dependency circle
22:32 dalek 6model: review: http://github.com/jnthn/6model/commit/1de869a74e6e1abf320dc3af6a1057e9a8f0058c
22:32 patspam joined #perl6
22:33 justatheory joined #perl6
22:37 perlygatekeeper joined #perl6
22:43 lue rakudo: say (1,2) «*» (3,4)
22:43 p6eval rakudo 18189a: OUTPUT«38␤»
22:44 lue The REPL fails on that (problem with the «»). Has that been already reported?
22:46 Tene lue: repl doesn't support unicode
22:49 ash_ you can alway use << instead of « so you know
22:51 sorear hello #perl6
22:56 mberends good * sorear
23:03 ejs left #perl6
23:11 lue that seems a bit... archaic [the not support thing]
23:15 Tene lue: feel free to fix it. :)
23:16 Tene It's been a long-standing bug.
23:16 lue I would, but as of yet I have never been able to find the REPL in the source code.
23:17 lue Does anyone know where it is?
23:18 sorear didn't I tell you once?
23:19 sorear oh, no, it was waste I told
23:19 sorear unless that was you
23:20 lue no, it wasn't.
23:20 sorear src/HLL/Compiler.pm in git://github.com/perl6/nqp-rx.git
23:20 tylercurtis left #perl6
23:21 lue thank you, sorear.
23:27 lue amazing how the REPL takes so little code. I can see why it hasn't been fixed yet.
23:28 Ross left #perl6
23:30 sekimura left #perl6
23:32 udait joined #perl6
23:34 sekimura joined #perl6
23:35 lue erm, disregard that last statement. [I forgot to git pull my copy of nqp-rx]
23:36 udait left #perl6
23:40 risou joined #perl6
23:46 risou left #perl6
23:52 muixirt left #perl6
23:54 hercynium joined #perl6
23:54 risou joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo