Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-03-20

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 uasi joined #perl6
00:16 labster joined #perl6
00:38 am0c joined #perl6
00:50 tokuhiro_ joined #perl6
01:00 anuby joined #perl6
01:09 rindolf joined #perl6
01:20 benabik joined #perl6
01:29 chinaXing joined #perl6
01:30 chinaXing left #perl6
01:37 jdv79 left #perl6
01:42 hypolin joined #perl6
02:23 xinming joined #perl6
02:24 fgomez joined #perl6
02:29 fgomez joined #perl6
02:43 cognominal joined #perl6
03:12 noxgirl joined #perl6
03:22 uasi joined #perl6
03:23 uasi_ joined #perl6
03:25 sevin joined #perl6
03:39 Ulti joined #perl6
03:44 lustlife joined #perl6
03:57 OuLouFu joined #perl6
04:14 sivoais joined #perl6
04:40 preflex_ joined #perl6
04:44 Cynede joined #perl6
04:44 Cynede hey #perl6 people!
04:45 diakopter ahoy
04:50 * diakopter watches http://www.youtube.com/watch?v=pzwL-IOOLVE over and over
05:13 cognominal joined #perl6
05:20 diakopter r: say 1.HOW.WHY
05:20 p6eval rakudo e0ce08: OUTPUT«No such method 'docs' for invocant of type 'NQPClassHOW'␤  in method WHY at src/gen/CORE.setting:711␤  in block  at /tmp/65ljJ1TsFl:1␤␤»
05:20 diakopter o_o_
05:48 fgomez joined #perl6
06:00 diakopter r: any all one .WHO.WHAT.WHERE.WHY.WHICH.HOW.say
06:00 p6eval rakudo e0ce08: OUTPUT«Perl6::Metamodel::ClassHOW.new()␤»
06:04 diakopter r: say *^^*
06:04 p6eval rakudo e0ce08: OUTPUT«Nil␤»
06:04 diakopter rn: say *^^*
06:04 p6eval rakudo e0ce08: OUTPUT«Nil␤»
06:04 p6eval ..niecza v24-35-g5c06e28: OUTPUT«{ ... }␤»
06:05 diakopter rn: say *^^^*
06:05 p6eval rakudo e0ce08: OUTPUT«Nil␤»
06:05 p6eval ..niecza v24-35-g5c06e28: OUTPUT«{ ... }␤»
06:06 diakopter rn: say *^^^ ^!^!\!\\^ ^*
06:06 p6eval rakudo e0ce08: OUTPUT«Nil␤»
06:06 p6eval ..niecza v24-35-g5c06e28: OUTPUT«{ ... }␤»
06:07 diakopter rn: say (*^^^ ^!^!\!\\^ ^*)(1)
06:07 p6eval niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤  at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] in <file…
06:07 p6eval ..rakudo e0ce08: OUTPUT«No such method 'Nil' for invocant of type 'Int'␤  in block  at /tmp/fTlDLx9ccM:1␤␤»
06:07 diakopter hm, my heart isn't in it
06:09 cognominal what's the diff between a VMArray and a CArray?
06:12 xilo joined #perl6
06:13 diakopter the VMArray supports things like push,pop,shift,unshift; the CArray can be passed to NativeCall callsites
06:14 Heather left #perl6
06:14 diakopter oh, and "CArray may only contain native integers and numbers, strings, C Structs or C Pointers"
06:16 kaleem joined #perl6
06:16 diakopter VMArray can contain only native ints/nums or 6model object pointers, I'm almost certain
06:17 cognominal joined #perl6
06:18 diakopter cognominal: seems you missed my 3 replies
06:18 cognominal diakopter, will read the log as usual
06:19 cognominal thx
06:27 Heather joined #perl6
06:28 Heather suggest me good way to parse config file
06:28 Heather something alike ConfigParser in python
06:28 diakopter .ini? java .properties? .xml? macos .plist? .csv?
06:29 Heather diakopter with ini-alike structure
06:29 Heather or even custom structure
06:30 Heather .conf
06:31 Heather diakopter something alike this: https://github.com/Heather/dotfiles/blob​/master/.nensha/etc/conf.d/repolist.conf
06:33 diakopter well, do you want to use Perl 6 or something else?
06:33 Heather diakopter yes perl6 )
06:39 kivutar joined #perl6
06:39 vaelxon joined #perl6
06:40 diakopter well, kindof a heavyweight/heavyhanded (but somewhat more readable) approach is to write a grammar, but any structured file can also usually be parsed with successively granular regexes doing split or comb
06:42 Heather I see...
06:44 Heather maybe json...
06:45 rindolf joined #perl6
06:46 Heather here is project https://github.com/moritz/json
06:46 cognominal joined #perl6
06:53 rindolf joined #perl6
07:04 rindolf joined #perl6
07:07 wtw joined #perl6
07:10 cognominal joined #perl6
07:10 fgomez joined #perl6
07:20 rindolf joined #perl6
07:26 uasi joined #perl6
07:31 cognominal joined #perl6
07:37 cognominal joined #perl6
07:40 jerome joined #perl6
07:42 nebuchadnezzar joined #perl6
07:45 cognominal joined #perl6
07:47 wk joined #perl6
08:01 FROGGS joined #perl6
08:03 domidumont joined #perl6
08:10 jerome joined #perl6
08:19 sizz_ joined #perl6
08:22 cognominal joined #perl6
08:32 domidumont joined #perl6
08:36 sqirrel joined #perl6
08:41 daxim joined #perl6
08:47 daxim joined #perl6
08:57 Heather what difference between %ENV and %*ENV
08:57 Heather r: say %*ENV<PREFIX>
08:57 p6eval rakudo e0ce08: OUTPUT«(Any)␤»
08:58 FROGGS r: say %*ENV
08:58 p6eval rakudo e0ce08: OUTPUT«("PERLBREW_VERSION" => "0.42", "MAIL" => "/var/mail/p6eval", "USER" => "p6eval", "SHLVL" => "1", "HOME" => "/home/p6eval", "OLDPWD" => "/home/p6eval", "PERLBREW_ROOT" => "/home/p6eval/perl5/perlbrew", "PERLBREW_MANPATH" => "/home/p6eval/perl5/perlbrew/perls/perl-5.…
08:58 FROGGS r: say %ENV
08:58 p6eval rakudo e0ce08: OUTPUT«[31m===[0mSORRY!​[31m===[0m�Variable '%ENV' is not declared�at /tmp/3VLpK2oQ83:1�------> [32msay %ENV[33m�[31m<EOL>[0m�    expecting any of:�        postfix�»
08:58 FROGGS that's the difference
08:58 Heather FROGGS ?
08:58 Heather I don't get it
08:58 Heather FROGGS what is %ENV ?
08:59 Heather I see... it's declared in rakudo...
08:59 FROGGS %*ENV gives you the environment vars
09:00 moritz r: say %*ENV.keys
09:00 p6eval rakudo e0ce08: OUTPUT«PERLBREW_VERSION MAIL USER SHLVL HOME OLDPWD PERLBREW_ROOT PERLBREW_MANPATH LOGNAME _ TERM PATH PERLBREW_HOME PATH_WITHOUT_PERLBREW PERLBREW_BASHRC_VERSION LANG LS_COLORS PERLBREW_PATH SHELL PERLBREW_PERL PWD MANPATH MANPATH_WITHOUT_PERLBREW␤»
09:02 hoelzro well, now I know that p6eval runs under perlbrew =)
09:09 Heather p5eval say %*ENV.keys
09:09 Heather p5eval: say %*ENV.keys
09:09 p5eval Heather: ERROR: syntax error at (eval 7) line 1, near "%*ENV"
09:10 Heather p5eval: say %ENV
09:10 p5eval Heather: HOME/rootSSH_CLIENT192.168.1.3 58296 22SSH_CONNECTION192.168.1.3 58296 192.168.1.42 22MAIL/var/mail/rootPWD/rootLANGen_US.UTF-8USERroo​tLOGNAMErootWINDOW0STY294.pts-0.p5evalSHLVL2_/usr/​bin/irssiPATH/usr/local/sbin:/usr/local/bin:/usr/s​bin:/usr/bin:/sbin:/binLS_COLORSrs=0:di=01;34:ln=0​1;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:​cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41​:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*
09:10 moritz p5eval: [keys %ENV]
09:10 p5eval moritz: ["HOME","SSH_CLIENT","SSH_CONNECTION","​MAIL","PWD","LANG","USER","LOGNAME","WI​NDOW","STY","SHLVL","_","PATH","LS_COLO​RS","SHELL","TERM","TERMCAP","SSH_TTY"]
09:10 Heather oh...
09:10 moritz p5eval: $ENV{SSH_CONNECTION}
09:10 p5eval moritz: 192.168.1.3 58296 192.168.1.42 22
09:11 hoelzro yikes
09:11 Heather that's not even ENV...
09:11 moritz why not?
09:12 Heather ok, maybe it's ENV
09:12 Heather but
09:12 Heather moritz how can I set it?
09:13 moritz where?
09:13 Heather moritz when I want eval perl5 with special ENV set
09:15 moritz well, you can't on IRC
09:15 moritz except for
09:15 moritz p5eval: BEGIN { $ENV{ABC} = 'blah' }; # rest of your program goes here
09:15 p5eval moritz: No output
09:15 Heather no need on irc :)
09:15 Heather I need it from bash
09:16 moritz well, you know how to set environment variables, no?
09:16 moritz export KEY=VALUE
09:16 Heather moritz but they doesn't look the same :S
09:16 moritz don't look the same as what?
09:16 Heather at least p6 eval and p5 eval show different env-s
09:16 Heather as ENV
09:17 moritz yes, because they run as different users on different machines
09:17 Heather e.g. %ENV
09:17 moritz so they have totally different environments
09:17 Heather hm...
09:18 diakopter p5eval: use threads;
09:18 p5eval diakopter: ERROR: Can't locate threads.pm in @INC (@INC contains: /lib) at (eval 7) line 1.BEGIN failed--compilation aborted at (eval 7) line 1.
09:18 diakopter p5eval: use forks;
09:18 p5eval diakopter: ERROR: Can't locate forks.pm in @INC (@INC contains: /lib) at (eval 7) line 1.BEGIN failed--compilation aborted at (eval 7) line 1.
09:19 diakopter p5eval: use Modern::Perl
09:19 p5eval diakopter: ERROR: Can't locate Modern/Perl.pm in @INC (@INC contains: /lib) at (eval 7) line 3.BEGIN failed--compilation aborted at (eval 7) line 3.
09:21 Heather r: use Panda::Installer
09:21 p6eval rakudo e0ce08: OUTPUT«===SORRY!===␤Could not find Panda::Installer in any of: /home/p6eval/nom-inst/lib/parrot/4.1​0.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/4.10​.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/​4.10.0-devel/languages/perl6/l…
09:23 Heather r: dir('/home/p6eval/nom-inst/lib/parrot/4.1​0.0-devel/languages/perl6/site/lib').say
09:23 p6eval rakudo e0ce08: OUTPUT«Failed to get the directory contents of '/home/p6eval/nom-inst/lib/parrot/4.1​0.0-devel/languages/perl6/site/lib': readdir failed: No such file or directory␤  in block  at src/gen/CORE.setting:7937␤  in sub dir at src/gen/CORE.setting:7933␤  in block  at /tmp/OcE6P6…
09:23 moritz star: use Panda::Installer;
09:23 p6eval star 2013.02:  ( no output )
09:23 Heather wow
09:25 Heather star: use Json::Tiny;
09:25 p6eval star 2013.02: OUTPUT«===SORRY!===␤Could not find Json::Tiny in any of: /home/p6eval/star/lib/parrot/4.​10.0/languages/perl6/site/lib, /home/p6eval/star/lib/parrot/4.1​0.0/languages/perl6/vendor/lib, /home/p6eval/star/lib/parrot​/4.10.0/languages/perl6/lib, /home/p6eval/.perl6/2013.02.1/lib…
09:25 moritz star: use JSON::Tiny;
09:25 p6eval star 2013.02:  ( no output )
09:25 Heather aha
09:25 moritz helps to spell it correctly :-)
09:25 Heather I was going to correct ) thx
09:25 moritz star: use JSON::Tiny; say to-json { a => [1, True, "abc", Any] }
09:25 p6eval star 2013.02: OUTPUT«{ "a" : [ 1, true, "abc", null ] }␤»
09:26 Heather moritz cool
09:37 kivutar joined #perl6
09:38 fhelmberger joined #perl6
09:47 kivutar joined #perl6
09:48 dakkar joined #perl6
09:53 kivutar joined #perl6
10:00 jnthn Heather: If you're still looking to parse INI files, there's a Config::INI module.
10:01 Heather star: use Config::INI;
10:01 p6eval star 2013.02: OUTPUT«===SORRY!===␤Could not find Config::INI in any of: /home/p6eval/star/lib/parrot/4.​10.0/languages/perl6/site/lib, /home/p6eval/star/lib/parrot/4.1​0.0/languages/perl6/vendor/lib, /home/p6eval/star/lib/parrot​/4.10.0/languages/perl6/lib, /home/p6eval/.perl6/2013.02.1/li…
10:01 Heather jnthn for perl5?
10:02 Heather I see https://raw.github.com/tadzik/pe​rl6-Config-INI/master/META.info ?
10:02 eternaleye joined #perl6
10:04 jnthn Heather: No, on modules.perl6.org
10:04 jnthn yes, there
10:04 Heather interesting it support sections alike [DEFAULT]
10:04 jnthn Should be panda-installable
10:05 Heather seems like yes
10:11 SamuraiJack joined #perl6
10:15 kivutar joined #perl6
10:16 Liz_ joined #perl6
10:27 hoelzro ahoy #perl6 folk
10:27 colomon \o
10:27 Heather hoelzro hey
10:28 hoelzro I hate to keep bothering everyone, but could someone check out my latest changes to NQP? https://github.com/hoelzro/nqp
10:28 hoelzro I want to make sure it makes it into tomorrow's release
10:29 Heather tomorrow's release?
10:30 hoelzro yeah
10:30 hoelzro (there *is* an NQP release tomorrow, yes?)
10:31 Heather git tag? =)
10:47 FROGGS hoelzro: did you send a pull request yet? (but keep in mind that I am not the right guy to merge it in)
10:47 hoelzro FROGGS: not yet; I want to clean up the commits a bit before it gets merged
10:48 cognominal joined #perl6
10:56 erkan joined #perl6
11:14 masak good just-past-noon, #perl6
11:14 colomon o/
11:14 jnthn o/ masak
11:14 * masak is on a train!
11:15 * colomon wishes he had gone nom shopping last night...
11:15 masak I'm like, "how cool is this? I'm typing stuff into IRC *while moving*."
11:16 nwc10 does it work in tunnels?
11:16 FROGGS masak: why are you on train on a daily basis?
11:16 masak FROGGS: $work.
11:17 nwc10 (not a silly question. I expected it to fail, but my 3G connection held out through every one of the 9 tunnels between Cambridge and King's Cross)
11:17 masak FROGGS: apparently, we're living in a time where it makes more sense to *transport* me to places to teach, rather than to telecommute/Skype/IRC me.
11:18 masak I expect that equation to change, as teleconf options grow less sucky, and the cost of travel/transportation goes up, in the next decade or two.
11:19 nwc10 masak: does this train offer you power?
11:19 masak yes.
11:19 masak very important.
11:19 nwc10 cool
11:20 masak they also offer me wifi, but I ditch it and tether my phone instead. more stability.
11:20 nwc10 oh, not had that
11:20 jnthn yeah, those trains have reliable power
11:20 nwc10 have had table service which will bring beer to my seat
11:20 nwc10 (not compatible with laptops)
11:20 jnthn I find my phone doesn't handle the tunnels too well, but the wifi on the train may do a bit better
11:20 masak they also offer coffee/tea, fruit, and small chocolate biscuits. for free. and a daily newspaper.
11:20 masak I could live here :)
11:20 sorear I've been following the news out of LPSC2013, it's interesting that they've had to turn half of the speakers into telepresence because of NASA budget issues, and the reactions thereto
11:21 masak sorear: what've been the reactions thereto?
11:21 sorear masak: mostly frustration over the issues themselves
11:22 sorear (LPSC = lunar planetary sci. conf., half of the stuff being presented was done by NASA)
11:23 sorear (for those of you blissfully ignoring US politics, our clown legislators decided to cut every discretionary program by 8% two weeks ago; NASA's initial response was to eliminate travel expensing)
11:24 masak the course I taught Mon-Tue had three people in the room, and three people in a room across the country. lag isn't a problem. occasional noises are less than ideal, but by no means a show-stopper. as a teacher I feel that the big problem is that those other people are not getting 100% value-for-money, because being in the room means being more involved.
11:25 * jnthn really dislikes teaching with people on remote
11:25 masak the general stance from the infrastructure company is "we have to do remote -- that equipment was very expensive and has to pay for itself"
11:25 jnthn Never feel I engage with them in the same way, or that I can feel how well they're grokking stuff.
11:25 masak yeah, 'xactly.
11:25 sorear s/eliminate/drastically restrict/
11:26 jnthn masak: "It was expensive so we must use it"...yeah, you probably hit the nail on the head. :)
11:27 nwc10 sorear: I have been observing all the daftness in the US, mainly by reading bloomberg news. The relative crazy between the US, the Eurozone and the UK affects the exchange rates, and hence how much I get paid.
11:27 nwc10 Not massively. But not zero either
11:28 * masak .oO( "this positive number is between 0 and Intfy" )
11:28 masak \Infty*
11:28 jnthn nwc10: Well, the idiocy over Cyprus is probably weakening the euro some...
11:29 sorear [i]nfty?
11:29 tadzik hello hello
11:29 sorear Intify
11:29 masak tadzik! \o/
11:29 diakopter nifty
11:29 masak tinfy.
11:29 nwc10 jnthn: yes. That's the current bit of stupid. There's so much stupid to choose from :-(
11:29 masak what did Cyprus do? did they actually take money from people's savings accounts?
11:30 nwc10 masak: they've voted not to go with that plan.
11:30 jnthn masak: People didn't seem to like the idea so now they're having crisis meetings.
11:30 sorear sleep&
11:31 nwc10 and the banks are shut until (IIRC) Thursday.
11:31 masak wow.
11:31 masak good nifty, sorear. dream of intified infinities.
11:31 nwc10 the UK government has flown 1 million euros (cash) to keep UK troops and employees afloat
11:32 nwc10 UK government is keeping very quiet about the fact that Cyrpus is an ex-British colony
11:57 dvj_ joined #perl6
11:57 dvj_ r: my $a = "b"; <a $a>.say
11:57 p6eval rakudo e0ce08: OUTPUT«a $a␤»
11:58 jnthn use shell words to interpolate
11:58 moritz r: my $a = "b"; <<a $a>>.say
11:58 dvj_ shell words?
11:58 jnthn r: my $a = "b"; <<a $a>>.say
11:58 p6eval rakudo e0ce08: OUTPUT«a b␤»
11:58 p6eval rakudo e0ce08: OUTPUT«a b␤»
11:58 jnthn It's strangely consistent with 'a $a' vs "a $a" :)
12:00 masak I'm studying category theory presently. they *formalize* notions of "strangely consistent"! (but they don't call it that)
12:01 dvj_ nice :)
12:03 pmichaud good morning, #perl6
12:03 fgomez joined #perl6
12:04 masak pmichaud! \o/
12:04 masak cf especially https://en.wikipedia.org/wiki/Universal_property
12:05 masak the only frustrating thing about Wikipedia articles on category theory is that you read the intro blurb, and then you're no wiser :)
12:07 sizz joined #perl6
12:07 moritz isn't that true for nearly all articles on category theory?
12:08 pmichaud jnthn: I worked on the container issues a bit overnight... I have some interim conclusions.  (You may have figured these out already.)
12:09 jnthn Even if I have, it's good to be on the same page. :)
12:09 pmichaud first, our array and hash declarations are likely going to need containers that aren't "scalar containers" -- i.e., we need some way for "my @a;"  to leave @a undefined.  Operationally, we need a container that doesn't suppress flattening.
12:10 jnthn That implies nqp::iscont is going to need to change/be split up or something
12:11 SmokeMachine joined #perl6
12:11 pmichaud second, some assignment operations are just going to involve executing Perl 6 (HLL) code -- I'm thinking of Hash assignment in particular.
12:12 masak moritz: well, I found http://arxiv.org/pdf/1302.6946.pdf which I rather enjoy. very approachable.
12:13 pmichaud moreso, I don't think we can statically detect all such assignments.  That means that our assignop either involves the possibility of inferior runloop, or we have to do runtime checking of the target prior to invoking the assignop in those cases where we can't statically detect things.
12:14 jnthn Note that this check could go into infix:<=> and we send all the uncertain cases through that.
12:14 SmokeMachine joined #perl6
12:15 jnthn some_guard(cont) ?? low_level_assign(cont, value) !! cont.STORE(value) # ish
12:16 masak tadzik: did you see the panda email on p6l?
12:16 pmichaud it might also be the case that we can't do "some_guard(cont)" easily; that what we need is   cont.STORE(...)   that can forward to low_level_assign
12:17 diakopter pass the fallback callback to STORE ?
12:17 moritz masak: looks interesting
12:17 jnthn pmichaud: How we do .VAR is also worth considering amongst all of this
12:17 pmichaud I think jnthn is wanting to eliminate the fallback.  Do we have fallbacks in other ops?
12:18 rindolf joined #perl6
12:18 diakopter by fallback, I just meant whatever you meant by "forward to low_level_assign"
12:18 pmichaud ah
12:19 jnthn pmichaud: The odd one, but this is on a hot-path
12:19 pmichaud how about .Numeric?
12:19 JimmyZ joined #perl6
12:19 pmichaud maybe that one isn't so hotpath-ish
12:19 masak moritz: I'm third-way through it so far. it fills in a lot of blanks for me.
12:19 jnthn Only if we do it through get_number, which should be very rare these days.
12:19 pmichaud right
12:19 pmichaud okay, I have to do kid carpool... bbi20
12:19 jnthn k
12:20 diakopter bbi240 &
12:20 tadzik masak: yeah
12:20 tadzik prolly a proxy problem of some sort
12:21 moritz yes, thought so too
12:21 moritz or firewall
12:24 masak I've seen in movies that you can break through firewalls by typing frenetically on your keyboard. Preferably while looking young and hip.
12:24 hoelzro pmichaud, jnthn: do either of you have the time to look over my NQP changes?
12:25 hoelzro I'd like to make sure they make it into tomorrow's release?
12:26 moritz hoelzro: have you opened a pull request?
12:26 hoelzro not yet; I want to make sure my changes make sense, then clean up the commits
12:36 pmichaud hoelzro: I needed a url or something to look at the changes.
12:36 pmichaud (still do)
12:36 hoelzro oh, sure thing
12:36 hoelzro https://github.com/hoelzro/nqp
12:36 pmichaud it's generally easier to see the changes in a pull request, fwiw.
12:37 pmichaud or some sort of patch/diff file
12:40 pmichaud reading diff now
12:40 census joined #perl6
12:41 pmichaud do we still need the errno_values hash?
12:41 [Coke] masak: I think swordfish is probably one of the more egregious in that genre.
12:41 * Heather is UFO fun. that's all...
12:41 pmichaud (I think the errno_values hash shouldn't be needed.)
12:42 pmichaud same for the nqperrnovalues opcode
12:42 pmichaud er, nqp_posixerrnovalues op
12:43 hoelzro oops, I forgot to remove the errnovalues code
12:43 pmichaud erg, the diff includes a stage0 diff
12:43 pmichaud (sigh)
12:46 FROGGS jnthn: if I have 'say(1)', that is just an EXPR, right? and within EXPR it calls postcircumfix which invokes the methodcall?
12:46 pmichaud https://github.com/hoelzro/nqp/blob/​master/tools/build/Makefile.in#L665   has a POSIX_PASM that should probably be POSIX_PIR
12:47 hoelzro ah, true
12:47 masak [Coke]: haven't seen that one, though I remember when it came.
12:48 masak [Coke]: do you recommend it?
12:48 moritz if you like action movies, it's not bad IMHO
12:48 moritz one shouldn't expect much realism from the "hacking" part though :-)
12:49 [Coke] not as a serious movie, no. but it has 4 actors that in lots of stuff I like, and things blow up.
12:50 pmichaud posix.pir probably needs to be installed somewhere.
12:51 pmichaud otherwise HLL::Backend::Parrot won't be able to find it.
12:51 [Coke] that *are* (wolverine, storm, iron patriot, chili palmer)
12:53 pmichaud if not too much trouble, we should change the name of "posix.pir" to be "nqp_posix.pir" to avoid potential collisions with a parrot-provided "posix" module in the future.
12:53 pmichaud (this can happen post-merge, though)
12:54 pmichaud also nqp_posix.pir would make it clearer that it's something coming from nqp and not parrot
12:54 hoelzro pmichaud: ok, I'll add that as well
12:56 pmichaud actually, I wonder if it should just be   nqp_const.pir
12:56 pmichaud in case we ever put other non-posix constants in there
12:57 pmichaud I like that better, I think.
12:57 jnthn hoelzro/pmichaud: There's no need to do a bootstrap update with this patch afaict
12:57 pmichaud jnthn: I agree, bootstrap update not needed.
12:58 jnthn FROGGS: EXPR calls termish, which parses the term and the postcircumfix there
12:58 kivutar joined #perl6
12:59 hoelzro ok, cool; I'll remove it from my branch
12:59 hoelzro ok, so nqp_const.pir, then?
12:59 pmichaud hoelzro: yes, please.
13:00 hoelzro ok
13:00 FROGGS jnthn: so it looks like 'termish' doesn't get called
13:06 pmichaud bbiab
13:07 dvj_ joined #perl6
13:08 uasi joined #perl6
13:09 cognominal joined #perl6
13:10 * masak .oO( 'termish' doesn't even get calledish )
13:10 FROGGS yaish :/
13:12 [Coke] so, a whish, then.
13:15 bluescreen10 joined #perl6
13:16 woosley1 joined #perl6
13:17 Heather star: use IO::Socket;
13:17 p6eval star 2013.02: OUTPUT«===SORRY!===␤Could not find IO::Socket in any of: /home/p6eval/star/lib/parrot/4.​10.0/languages/perl6/site/lib, /home/p6eval/star/lib/parrot/4.1​0.0/languages/perl6/vendor/lib, /home/p6eval/star/lib/parrot​/4.10.0/languages/perl6/lib, /home/p6eval/.perl6/2013.02.1/lib…
13:18 FROGGS star: say IO::Socket.new
13:18 p6eval star 2013.02: OUTPUT«Could not find symbol '&Socket'␤  in method <anon> at src/gen/CORE.setting:10522␤  in  at src/gen/Metamodel.pm:2488␤  in any find_method_fallback at src/gen/Metamodel.pm:2476␤  in any find_method at src/gen/Metamodel.pm:925␤  in  at src/gen/BOOTSTRAP.pm:883␤  in any…
13:18 FROGGS star: say IO::Socket
13:18 p6eval star 2013.02: OUTPUT«Could not find symbol '&Socket'␤  in method <anon> at src/gen/CORE.setting:10522␤  in  at src/gen/Metamodel.pm:2488␤  in any find_method_fallback at src/gen/Metamodel.pm:2476␤  in any find_method at src/gen/Metamodel.pm:925␤  in  at src/gen/BOOTSTRAP.pm:883␤  in any…
13:18 FROGGS hmmm, I thought it is built in?
13:18 Heather I don't know.
13:19 Heather star: socket.new
13:19 p6eval star 2013.02: OUTPUT«[31m===[0mSORRY![​31m===[0m�Undeclared routine:�    socket used at line 1��»
13:19 moritz IO::Socket is built-in, but p6eval removes some IO stuff for security reasons
13:19 pmichaud Rakudo has my role IO::Socket {
13:19 moritz so, try it locally
13:19 pmichaud ah, makes sense.
13:20 FROGGS ahh
13:20 FROGGS right
13:20 FROGGS I always forget that
13:20 Heather ah, ok... I was planning to run irc bot
13:21 pmichaud maybe RESTRICTED.setting should declare IO::Socket also :)
13:22 pmichaud star: say IO
13:22 p6eval star 2013.02: OUTPUT«IO()␤»
13:22 pmichaud star: say IO.new
13:22 p6eval star 2013.02: OUTPUT«IO.new()␤»
13:23 pmichaud star: say IO.new.whatever;
13:23 p6eval star 2013.02: OUTPUT«IO is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:2␤  in block  at src/RESTRICTED.setting:18␤  in  at src/gen/Metamodel.pm:2488␤  in any find_method_fallback at src/gen/Metamodel.pm:2476␤  in any find_method at src/gen/Metamodel.pm…
13:26 daxim joined #perl6
13:27 moritz it creates a new class IO which has this message as catch-all method
13:27 pmichaud yeah, I'm reworking that a bit.
13:29 pmichaud and I'm realizing that I really want --target=pbc to work soon :)
13:35 hoelzro ok, official cleaned up pull request: https://github.com/perl6/nqp/pull/86
13:37 jnthn pmichaud: the --target=pbc should be easier now
13:40 pmichaud jnthn: yeah; I just have to wait for the Parrot branch to merge, and for it to be safe for us to bump PARROT_REVISION :)
13:41 jnthn pmichaud: Probably after the release tomorrow then ;)
13:41 pmichaud maybe.
13:41 pmichaud Parrot's having some release issues this month.
13:42 jnthn oh?
13:43 pmichaud http://lists.parrot.org/pipermail/​parrot-dev/2013-March/007433.html
13:43 moritz something with IO stuff failing
13:45 jnthn .oO( not an IOta of surprise there... )
13:46 pmichaud how about something like https://gist.github.com/pmichaud/5204740 for handling restricted types ?
13:48 jnthn pmichaud: Looks reasonable.
13:50 [Coke] (io) looks like the release will probably rollback to before that mergeback.
13:50 pmichaud ...which mergeback?
13:53 [Coke] pull request?
13:53 [Coke] there was an io pull request between releases.
13:53 * [Coke] points over in #parrot/#parrotsketch at Util's note.
13:55 pmichaud I'm lost on the details, but I don't feel a strong need to be found, either.
13:55 cognominal joined #perl6
13:58 PacoAir joined #perl6
14:00 dalek rakudo/nom: 337fcee | pmichaud++ | src/RESTRICTED.setting:
14:00 dalek rakudo/nom: Refactor handling of RESTRICTED classes such as IO and IO::Socket.
14:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/337fceeafb
14:01 masak signs you've been teaching Perl 5: trying to use 'bless' as a sub.
14:01 pmichaud I couldn't get the fallback thingy to work -- maybe someone can add that back in.
14:01 masak Undeclared routine: bless used at line 17. Did you mean '&elems'?
14:01 masak NO I DID NOT MEAN &elems
14:01 masak :P
14:01 jnthn It is levensteinly closely
14:01 jnthn *close
14:01 masak was gonna say.
14:01 pmichaud sub bless(|) { say "masak, I think you meant &elems"; }
14:01 masak :P
14:01 pmichaud or even better
14:02 pmichaud sub bless($x) { $x.elems }
14:02 masak I acutally meant self.bless
14:02 masak pmichaud: you're evil :P
14:02 pmichaud r: say IO.new
14:02 p6eval rakudo e0ce08: OUTPUT«IO.new()␤»
14:02 pmichaud r: say IO.new.xyz
14:02 p6eval rakudo e0ce08: OUTPUT«IO is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:2␤  in block  at src/RESTRICTED.setting:18␤  in  at src/gen/Metamodel.pm:2501␤  in any find_method_fallback at src/gen/Metamodel.pm:2489␤  in any find_method at src/gen/Metamodel.p…
14:03 pmichaud r: say IO.new.perl
14:03 p6eval rakudo e0ce08: OUTPUT«IO.new()␤»
14:03 pmichaud r: say CORE::IO.new.perl   # just sayin
14:03 p6eval rakudo e0ce08: OUTPUT«IO.new(ins => 0, chomp => Bool::True, path => Any)␤»
14:03 pmichaud bbiab
14:03 jnthn pmichaud: Mostly it's "must be a least *this* Perl 6 skilled to do evil" :)
14:04 pmichaud my CORE is RESTRICTED;   :-P
14:04 pmichaud I wonder how much breaks if RESTRICTED declares CORE
14:04 moritz that's why it's called RESTRICTED and not SAFE :-)
14:07 Exodist joined #perl6
14:07 skids joined #perl6
14:07 kivutar joined #perl6
14:09 woosley1 left #perl6
14:21 moritz r: say IO::Socket::INET
14:21 p6eval rakudo 337fce: OUTPUT«Could not find symbol '&INET'␤  in method <anon> at src/gen/CORE.setting:10615␤  in  at src/gen/Metamodel.pm:2501␤  in any find_method_fallback at src/gen/Metamodel.pm:2489␤  in any find_method at src/gen/Metamodel.pm:937␤  in block  at /tmp/hH9nEUNo1B:1␤␤»…
14:21 moritz r: say IO::Path.new
14:21 p6eval rakudo 337fce: OUTPUT«Could not find symbol '&Path'␤  in method <anon> at src/gen/CORE.setting:10615␤  in  at src/gen/Metamodel.pm:2501␤  in any find_method_fallback at src/gen/Metamodel.pm:2489␤  in any find_method at src/gen/Metamodel.pm:937␤  in block  at /tmp/zdBYUHf2fl:1␤␤»…
14:23 Psyche^ joined #perl6
14:23 cognominal joined #perl6
14:34 dalek rakudo/nom: 9be4cce | pmichaud++ | src/RESTRICTED.setting:
14:34 dalek rakudo/nom: Add FALLBACK method to RESTRICTED.  FALLBACK from S12 is NYI, but when
14:34 dalek rakudo/nom: it is implemented this will magically catch the undeclared method calls.
14:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9be4cce4b6
14:34 lichtkind joined #perl6
14:35 lichtkind moritz: in erlangen we had about 80visitors?
14:36 moritz lichtkind: context?
14:36 lichtkind german perl workshop
14:38 uasi joined #perl6
14:38 pmichaud TimToady: S12:613 (FALLBACK) is worded a little confusingly; it says "If your class defines a method with the special name <FALLBACK>, that method will be called if all other attempts to locate a method of that name fail, ..."
14:39 moritz the "of that name" should be removed, I think
14:39 pmichaud TimToady: the "locate a method of that name" seems confusing (antecedent)
14:39 pmichaud I agree, "of that name" could be removed.
14:40 fgomez joined #perl6
14:41 jnthn +1
14:44 pmichaud I'm afk for a bit
14:44 masak yes, remove "of that name".
14:44 masak +1
14:45 * pmichaud removes.
14:46 dalek specs: 7371e2e | pmichaud++ | S12-objects.pod:
14:46 dalek specs: [S12] Remove spurious "of that name" qualifier from description of FALLBACK.
14:46 dalek specs: review: https://github.com/perl6/specs/commit/7371e2ed8e
14:47 SmokeMachine joined #perl6
14:56 xilo joined #perl6
14:59 lichtkind moritz: was that a no?
15:00 moritz lichtkind: I don't remember exact numbers, but between 80 and 90 sounds about right
15:00 dakkar joined #perl6
15:01 lichtkind thanks i just write about berlin and wanted to put it in context, btw berlin was fantastic even the p6 to get back on topic was recieved very well
15:01 lichtkind i just had an error when it comes to inheriting roles
15:02 lichtkind when joined to classes they get inherited
15:02 sqirrel joined #perl6
15:03 moritz lichtkind: it's well worth your time to run the code in slides before the talk :-)
15:04 lichtkind moritz: i run a lot of examples
15:04 moritz and it also puts Perl 6 in a better light if you can say "none of this is speculative. All of the code runs"
15:05 moritz lichtkind: then do ss/a lot off/all/ and be done :-)
15:05 lichtkind but like you know i couldnt compile rakudo so i could not test the few cases i didnt thought about beforehand
15:05 lichtkind at home under linux all is well
15:07 moritz I don't know that you can't compile rakudo
15:07 moritz I can't keep track of everybody and their rakudo status in my head
15:07 lichtkind no but i filed it and you commented so i know you know
15:09 moritz I knew, and RT knows. I don't keep track of all that stuff in my head
15:11 PacoAir joined #perl6
15:16 LlamaRider joined #perl6
15:21 JimmyZ 'night
15:23 lichtkind moritz: hast aber recht hätte für den talk genausoviel testen können wie für den in chemnitz
15:32 masak lichtkind: why can't you compile Rakudo?
15:32 masak (I also didn't know this) :)
15:32 jnthn lichtkind can't compile Rakudo?!
15:33 lichtkind because it exits during compilation with a heap of errors but yesterday i updated to macos 10.8.3 maybe should try one more time
15:33 jnthn .oO( is a heap of errors messier than a stack of errors? )
15:34 masak you can't deallocate a heap of errors as easily.
15:35 moritz well, by killing the process
15:36 moritz lichtkind: also since you saw that I replied to your ticket, you could have been so kind to reply in turn
15:37 cognominal joined #perl6
15:37 lichtkind I did that
15:37 lichtkind i had 187 gig free
15:37 lichtkind sent you that with mail and said it froggs too
15:37 moritz lichtkind: well, since a ticket, you should reply to the ticket
15:38 benabik left #perl6
15:38 moritz otherwise others that work on the ticket don't have the same information
15:47 masak lichtkind: when did Rakudo compilation start failing on your box? was it connected to some change or upgrade? have you tried cloning from scratch and building? how far back do you have to go in git history for it to build? could you perhaps bisect for us?
15:47 masak lichtkind: any answer to the above questions would be helpful.
15:47 lichtkind it never worked it was my first attempt under my new macbook
15:48 lichtkind yes it was a fresh clone
15:48 lichtkind run configure with perl 5.14
15:49 lichtkind i do a fresh run now
15:50 lichtkind maybe i had perlbrew on but a 5.16 should do no harm
15:55 alester joined #perl6
15:58 moritz it would be really helpful if you could use strace (or your platform's equivalent) to find out what the reason for 'Cannot open output file blib/Perl6/Actions.pbc' is
15:59 masak lichtkind: aha. "my new macbook". I immediately suspect a case-insensitive HFS drive.
16:00 gdey joined #perl6
16:01 * FROGGS .oO( case-insensitive clod )
16:04 moritz if compilation works on windows, it should work on case-insensitive HFS too
16:05 masak hm.
16:05 SunilJoshi joined #perl6
16:07 geekosaur it works here and I'm using case insensitive on my primary drive (per apple recommendations; I think it may still refuse to install os x on a case sensitive hfs+)
16:12 lichtkind i think problem is alsewhere its pages over pages errors again i have to redirect that output in a file
16:12 moritz well, usually only the first error is actually interesting
16:12 lichtkind exactly
16:14 masak there should be like a tool that keeps track of dependencies between tasks and stops after the first error.
16:14 masak I see a big market for this.
16:14 lichtkind but looks like all warnings real error is in multi_dispatch.c:89:9 error void function 'add_to_cache' should return a value [-Wreturn-type] return NULL;
16:15 masak lichtkind: I'm pretty sure warnings of that kind aren't causing your current problem.
16:16 jnthn Hm, I already fixed that one
16:17 masak not on lichtkind's box :P
16:17 jnthn there should be like a tool that keeps a central copy of fixes to code so others can get hold of them P
16:18 lichtkind i did a fresh git clone 20 min ago
16:18 jnthn oh...that code is in NQP...
16:18 lichtkind allright more later gotta eat and post office is closing in 40 min
16:21 masak fare well, dear friend of run-on sentences :)
16:21 hoelzro what time does the release go out tomorrow?
16:22 * masak .oO( how should I know? ask the release manager! ) :P
16:22 * hoelzro .oO( who's the release manager? )
16:23 masak hoelzro: I'll likely cut it in the evening. a few hours + 24 h hence.
16:23 PerlJam .oO( whoever steps up! :)
16:23 hoelzro masak: ok
16:23 hoelzro I cleaned up my NQP work and stuffed it in a pull request
16:24 hoelzro https://github.com/perl6/nqp/pull/86
16:25 masak hoelzro: nice.
16:25 * masak looks
16:26 * PerlJam would *really* like to see github properly highlight Perl 6 code
16:26 PerlJam IF only to get $var-name highlighted correctly.
16:26 moritz masak: remember that there's already a skeleton for the release announcement (because we've switched it to markdown)
16:26 masak PerlJam: that's easy :) just provide them with a nice STD-based parser in some language they're prepared to run.
16:26 masak *grin*
16:26 hoelzro PerlJam: almost there!
16:27 bluescreen100 joined #perl6
16:27 hoelzro https://bitbucket.org/hoelzro/pygments-main
16:27 masak moritz: ok. thanks. is that in the release guide? it probably should be.
16:27 hoelzro I only have about three issues left
16:27 hoelzro they all revolve around regexes =/
16:27 moritz masak: no, it's a one-time thing
16:27 PerlJam hoelzro: need any help?
16:28 moritz masak: ie next month you'll just be using the announcement from March as a template, which then will be markdown
16:28 hoelzro PerlJam: now that I'm almost done you ask ;)
16:28 masak moritz: ah, ok.
16:28 hoelzro PerlJam: honestly, just test it out
16:28 stevan__ joined #perl6
16:28 hoelzro I know how I'm going to solve 2/3 bugs I have left
16:28 hoelzro bug 3 is correctly highlighting <[...]> + <[...]> or <[...]> - <[...]>
16:29 hoelzro so if you can figure that out, that'd be amazing
16:29 hoelzro also, the filetype detection is very primitive
16:29 hoelzro it looks for a perl6 shebang line or 'use v6'
16:29 hoelzro so I need to improve that
16:29 PerlJam hoelzro: let me clone the repo and see what I can do  :)
16:29 hoelzro great!
16:31 FROGGS hoelzro: well, class, token, role, method declarations could also trigger that
16:32 FROGGS but I believe a shebang and/or 'use v6' is pretty fine tii
16:32 FROGGS too
16:32 PerlJam FROGGS: only if they happen before any "use" line.  Perl 5 can have role, class, token, method, etc. declarations if they've used the appropriate syntax modulating module.
16:33 fgomez joined #perl6
16:33 hoelzro FROGGS: I have some ideas, they just haven't been high priority to fix =)
16:33 grondilu joined #perl6
16:33 FROGGS PerlJam: ahh okay, never used Moose and friends...
16:33 grondilu rn: my $_ = "BROWN"; s:p(1):g/O/A/; .say
16:33 p6eval rakudo 9be4cc: OUTPUT«Potential difficulties:�    Redeclaration of symbol $_�    at /tmp/7d1GWLaswU:1�    ------> [32mmy $_ [33m�[31m= "BROWN"; s:p(1):g/O/A/; .say[0m�BROWN�»
16:33 p6eval ..niecza v24-35-g5c06e28: OUTPUT«Potential difficulties:�  Useless redeclaration of variable $_ (see  line 0) at /tmp/xyDsEhChoX line 1:�------> [32mmy $_ [33m�[31m= "BROWN"; s:p(1):g/O/A/; .say[0m��BROWN�»
16:33 FROGGS hoelzro: correctly, it has a minor priority
16:34 grondilu rn: $_ = "BROWN"; s:p(1):g/O/A/; .say
16:34 p6eval rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«BROWN␤»
16:35 PerlJam btw, hoelzro++ for pygments
16:35 grondilu rn: $_ = "BROWN"; s:c(1):g/O/A/; .say
16:35 hoelzro FROGGS: yeah, it's the last thing I intend to do
16:35 p6eval rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«BRAWN␤»
16:35 PerlJam and again hoelzro++ for POSIX stuff
16:35 PerlJam :)
16:35 hoelzro \o/
16:36 hoelzro is there something in the spec for detecting v5 vs v6?
16:36 hoelzro I thought I remember reading that somewhere
16:36 hoelzro decommute & # I'll read the backlog
16:36 PerlJam S01:107
16:37 PerlJam or there abouts
16:43 grondilu joined #perl6
16:43 grondilu rn: $_ = "foooo"; s/(.) ** 2 .. */$0; .say;
16:43 p6eval rakudo 9be4cc: OUTPUT«[31m===[0mSORRY!​[31m===[0m�Malformed replacement part; couldn't find final $stop�at /tmp/BVoZeXq8VO:1�------> [32m$_ = "foooo"; s/(.) ** 2 .. */$0; .say;[33m�[31m<EOL>[0m�    expecting any of:�        postfix�»
16:43 p6eval ..niecza v24-35-g5c06e28: OUTPUT«[31m===[0mSORRY![3​1m===[0m��Spaces not allowed in bare range at /tmp/QrlfZGCPO8 line 1:�------> [32m$_ = "foooo"; s/(.) ** 2 ..[33m�[31m */$0; .say;[0m��Parse failed��»
16:43 grondilu rn: $_ = "foooo"; s/(.) ** 2 .. */$0/; .say;
16:43 p6eval niecza v24-35-g5c06e28: OUTPUT«[31m===[0mSORRY![3​1m===[0m��Spaces not allowed in bare range at /tmp/139Ul6EYTF line 1:�------> [32m$_ = "foooo"; s/(.) ** 2 ..[33m�[31m */$0/; .say;[0m��Parse failed��»
16:43 p6eval ..rakudo 9be4cc: OUTPUT«f o␤»
16:44 grondilu rn: $_ = "foooo"; s/(.) ** 2..*/$0/; .say;
16:44 p6eval rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«f o o o o␤»
16:47 steven___ left #perl6
16:48 masak grondilu: the $0 is a list of matches. stringify it, and you get spaces.
16:48 kaare_ joined #perl6
16:48 masak rn: $_ = "foooo"; s/(.) ** 2..*/$0.join/; .say;
16:48 p6eval rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«f o o o o.join␤»
16:49 masak er :)
16:49 masak rn: $_ = "foooo"; s/(.) ** 2..*/$0.join()/; .say;
16:49 p6eval rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«foooo␤»
16:49 SmokeMachine joined #perl6
16:52 masak hoelzro: looks good. I'll merge this.
16:53 masak done.
16:53 dalek nqp: 42611bf | (Rob Hoelz)++ | src/ (2 files):
16:53 dalek nqp: Add nqp::x_posixerrno
16:53 dalek nqp: review: https://github.com/perl6/nqp/commit/42611bf0d1
16:53 dalek nqp: 9918925 | (Rob Hoelz)++ | t/nqp/67-errno.t:
16:53 dalek nqp: Add test for nqp::x_posixerrno and pir::const::POSIX_*
16:53 dalek nqp: review: https://github.com/perl6/nqp/commit/9918925b79
16:53 dalek nqp: c76de5a | (Rob Hoelz)++ | tools/build/generate-constants.pl:
16:53 dalek nqp: Add script to generate list of errno value macros
16:53 dalek nqp: review: https://github.com/perl6/nqp/commit/c76de5a6f0
16:53 dalek nqp: 0e42959 | (Rob Hoelz)++ | tools/build/Makefile.in:
16:53 dalek nqp: Generate nqp_const.pir as dependency for building NQP
16:53 dalek nqp: review: https://github.com/perl6/nqp/commit/0e42959249
16:53 dalek nqp: f2e0aa1 | (Rob Hoelz)++ | src/HLL/Compiler.pm:
16:53 dalek nqp: Include nqp_const.pir in registered constants
16:56 Chillance joined #perl6
17:13 grondilu masak: thanks
17:14 wtw joined #perl6
17:29 FROGGS joined #perl6
17:33 dalek rakudo/tmp_highfive: 9b75a65 | (Tobias Leich)++ | / (5 files):
17:33 dalek rakudo/tmp_highfive: just for testing purposes
17:33 dalek rakudo/tmp_highfive: review: https://github.com/rakudo/rakudo/commit/9b75a65aef
17:34 dwoldrich joined #perl6
17:35 FROGGS jnthn: if you have time to have a glimpse at that branch ---^ it would be super sweet
17:35 FROGGS jnthn: compare -e 'say(1)' with -e 'use v5; say(1)'
17:36 FROGGS I have no idea right now what piece of the puzzle is missing
17:42 jnthn I know! It's the part you missed! :P
17:43 jnthn nqp::rebless($/.CURSOR, %*LANG<Perl5>);
17:44 jnthn That looks weird
17:44 FROGGS hmmm, within the Perl6::Grammar it is: nqp::rebless($/.CURSOR, %*LANG<MAIN>);
17:44 jnthn Yeah, but %*LANG<MAIN< will always be a subclass of what the cursor currently is.
17:44 FROGGS ahh, ohh
17:45 jnthn I'm pretty sure Grammar::Perl5 ain't a subclass of Grammar::Perl6 :)
17:45 FROGGS so I should change that
17:45 jnthn yeah, I'm surprised it doesn't explode.
17:45 FROGGS *g*
17:45 FROGGS it explodes silently though...
17:46 jnthn Is it reached?
17:46 FROGGS reached what?
17:46 jnthn does the say("P6 use v5"); run, for example?
17:47 FROGGS it is switching to Perl6::P5Grammar, and yes, this statement gets printed
17:47 jnthn OK
17:47 jnthn Oh...
17:47 jnthn You didn't add anything to the action method for this rule, though?
17:47 FROGGS errr, no
17:47 FROGGS ó.ò
17:48 jnthn If you update the statement_control:sym<use> grammar rule to parse something else, then the action method needs updating to say what to do with it.
17:49 jnthn I think at the moment no branch in the statement_control:sym<use>($/) action method is being hit, so there's no "make" statement executed, so its .ast is not set, so the next thing up is in trouble.
17:49 jnthn elsif $<statementlist> { make $<statementlist>.ast; } # or so
17:53 FROGGS kk
18:00 diakopter rn: use v3.14159; say 'alive'
18:00 p6eval rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«alive␤»
18:01 diakopter p: use v3.14159; say 'alive'
18:01 p6eval pugs: OUTPUT«alive␤»
18:02 fgomez joined #perl6
18:05 diakopter r: use v9; BEGIN say 'alive9'; use v10; BEGIN say 'alive10';
18:05 p6eval rakudo 9be4cc: OUTPUT«alive9␤===SORRY!===␤Could not find v10 in any of: /home/p6eval/nom-inst/lib/parrot/4.1​0.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/4.10​.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/​4.10.0-devel/languages/perl6/lib, /h…
18:06 diakopter so.. how is there a v9 but not a v10
18:07 spider-mario joined #perl6
18:08 jnthn std: use v9; BEGIN say 'alive9'; use v10; BEGIN say 'alive10';
18:08 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot locate module v9 at /tmp/6ELjvcsXmT line 1:�------> [32muse v9[33m�[31m; BEGIN say 'alive9'; use v10; BEGIN say[0m�Cannot locate module v10 at /tmp/6ELjvcsXmT line 1:�------> [32muse v9; BEGIN say 'alive9'; use v10[33m�[31…
18:08 jnthn Hm, curious :)
18:09 jnthn I seem to recall there being something interesting going on with LTM there between a module name and a version
18:09 jnthn token version:sym<v> {
18:09 jnthn 'v' <?before \d> :: <vnum> +% '.' '+'?
18:09 jnthn That goes some way to explaining it :)
18:10 jnthn dinner; bbiab
18:16 shinobicl joined #perl6
18:16 xilo joined #perl6
18:19 pmichaud (nqp_errno):  I think the nqp_const.pir file needs to be installed somewhere on "make install"  The patch doesn't show that being done.
18:19 dalek perl6-roast-data: 2a026d7 | coke++ | / (3 files):
18:19 dalek perl6-roast-data: today (automated commit)
18:19 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/2a026d76d4
18:19 dalek perl6-roast-data: 8e24a9f | coke++ | / (3 files):
18:19 dalek perl6-roast-data: today (automated commit)
18:19 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/8e24a9f4af
18:19 lichtkind jnthn: allright have first warning
18:20 lichtkind jnthn: its in nqp_ops.c:3391::33
18:22 pmichaud nqp_ops.c has lots of warnings on linux-ish boxes that can be safely ignored.
18:22 lichtkind jnthn: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
18:22 FROGGS lichtkind: I guess this one can be ignored
18:23 lichtkind if ((var->vtable->base_type ==smo_id)) {
18:23 SamuraiJack joined #perl6
18:23 lichtkind yes buts the first one that lead to compile error
18:23 lichtkind iposted the error too so i did my duty
18:23 pmichaud posted where?
18:23 lichtkind 2h ago in this list
18:24 lichtkind realistically i dont have time for that should write something else
18:25 FROGGS lichtkind: I dont see a link
18:25 [Coke] rakudo test clean 3 days in a row again.
18:25 lichtkind sure but fails on darwin
18:27 FROGGS lichtkind: there is no link within today's irclog
18:28 lichtkind but i wrote:  multi_dispatch.c:89:9 error void function 'add_to_cache' should return a value [-Wreturn-type] return NULL;
18:29 lichtkind there really my compilation ends
18:29 diakopter rnp: my $a = []; my $b := $a[1]; push $a, 5, 6; say $b; $b = 7; say $a.perl
18:29 p6eval rakudo 9be4cc: OUTPUT«(Any)␤[5, 7]␤»
18:29 p6eval ..niecza v24-35-g5c06e28: OUTPUT«(Any)␤[Any, 7, 5, 6]␤»
18:29 p6eval ..pugs: OUTPUT«␤\\(undef, 7, 5, 6)␤»
18:30 ggoebel joined #perl6
18:30 wk joined #perl6
18:30 pmichaud rn:  my $a = [];  my $b := $a[1];  say $a.elems;  $b = 7;  say $a.elems
18:30 p6eval niecza v24-35-g5c06e28: OUTPUT«2␤2␤»
18:30 p6eval ..rakudo 9be4cc: OUTPUT«0␤2␤»
18:32 diakopter rnp: my $a = []; my $b := $a[1]; unshift $a, 5, 6; say $b; $b = 7; say $a.perl
18:32 p6eval pugs: OUTPUT«␤\\(5, 6, undef, 7)␤»
18:32 p6eval ..rakudo 9be4cc: OUTPUT«(Any)␤[5, 7]␤»
18:32 p6eval ..niecza v24-35-g5c06e28: OUTPUT«(Any)␤[5, 6, Any, 7]␤»
18:33 diakopter I can perhaps understand rakudo putting the 7 where it does, but why does it then say Any for $b at first
18:33 pmichaud because it's an uninitialized variable.
18:34 diakopter there's not a 6 there?
18:34 pmichaud no.
18:35 pmichaud $b is tied to the container at $a[1], it isn't tied to position 1 of $a.
18:35 diakopter they how does the 7 overwrite the 6
18:35 pmichaud oh, wait.
18:35 pmichaud oh
18:36 pmichaud because $b := $a[1] doesn't vivify $a[1], we instead get a scalar that will attempt to vivify $a[1] when it's assigned to
18:36 pmichaud when we assign to $b, we see that $a[1] has already been vivified, so we assign to that instead of binding the unused one.
18:38 pmichaud that's so that the following succeeds:
18:38 diakopter why doesn't $b read 6 at first then
18:38 zby_home_ joined #perl6
18:38 pmichaud rn:  my $a = [];  my $b := $a[1];  my $c := $a[1];  $b = 6;  say $c;
18:38 p6eval niecza v24-35-g5c06e28: OUTPUT«6␤»
18:38 p6eval ..rakudo 9be4cc: OUTPUT«(Any)␤»
18:38 pmichaud er
18:38 pmichaud ick.
18:38 pmichaud yeah
18:39 pmichaud anyway, the reason $b doesn't read 6 is because it's not bound to the $a[1] that was created by the unshift
18:40 pmichaud worse might be
18:40 pmichaud rn: my $a = [];  my $b = $a[1];  $a.unshift(5,6);  $b = 7;  say $a.perl;  say $b.perl;
18:40 p6eval rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«[5, 6]␤7␤»
18:41 pmichaud oops
18:41 pmichaud rn: my $a = [];  my $b := $a[1];  $a.unshift(5,6);  $b = 7;  say $a.perl;  say $b.perl;
18:41 jeffreykegler joined #perl6
18:41 p6eval rakudo 9be4cc: OUTPUT«[5, 7]␤7␤»
18:41 p6eval ..niecza v24-35-g5c06e28: OUTPUT«[5, 6, Any, 7]␤7␤»
18:41 pmichaud okay, that works for some reason.
18:41 diakopter rnp: my $b := []; $b = 7; say $b.perl
18:41 p6eval niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: Writing to readonly scalar␤  at /tmp/XBp1omJ62V line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4300 (module-CORE @ 583) ␤  at /home/p6eval/niecza/li…
18:41 p6eval ..pugs: OUTPUT«\(7,)␤»
18:41 p6eval ..rakudo 9be4cc: OUTPUT«7␤»
18:42 diakopter rnp: my $b := [0]; say $b.WHAT; $b = 7; say $b.perl; say $b.WHAT
18:42 p6eval rakudo 9be4cc: OUTPUT«(Array)␤7␤(Int)␤»
18:42 p6eval ..pugs: OUTPUT«Array()␤\(7,)␤Array()␤»
18:42 p6eval ..niecza v24-35-g5c06e28: OUTPUT«(Array)␤Unhandled exception: Writing to readonly scalar␤  at /tmp/NxrkqHKGUX line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4300 (module-CORE @ 583) ␤  at /home/p6eval/n…
18:44 diakopter rnp: my $b := \[0]; say $b.WHAT; $b = 7; say $b.perl; say $b.WHAT
18:44 p6eval niecza v24-35-g5c06e28: OUTPUT«(Capture)␤Unhandled exception: Writing to readonly scalar␤  at /tmp/5KO1Y8GFRe line 1 (mainline @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4300 (module-CORE @ 583) ␤  at /home/p6eval…
18:44 p6eval ..rakudo 9be4cc: OUTPUT«(Capture)␤Cannot modify an immutable value␤  in block  at /tmp/E9YLCq5spu:1␤␤»
18:44 p6eval ..pugs: OUTPUT«Array()␤\(7,)␤Array()␤»
18:44 diakopter ok..
18:51 pmichaud hoelzro: did you see my note about needing to install nqp_const.pir ?
18:52 pmichaud (release)  Are we going to stay with minimum Parrot 4.10 for the 2013.03 release?
18:53 diakopter r: my $b := sub { $b }; say $b()()()()()()()()()()()()()()()()()()
18:53 p6eval rakudo 9be4cc: OUTPUT«sub() { ... }␤»
18:53 diakopter heh
18:53 * pmichaud guesses "yes" to sticking with PARROT_RELEASE at 4_10_0 for this month.
18:55 diakopter r: my Positional @b := @b[0];
18:55 p6eval rakudo 9be4cc: OUTPUT«Type check failed in binding; expected 'Positional' but got 'Positional'␤  in block  at /tmp/zr_GxU3uIn:1␤␤»
18:55 diakopter _o_o
18:56 diakopter rakudo, which Positional is the evil twin?
18:56 xilo joined #perl6
19:04 * masak hands diakopter a Y combinator
19:05 masak I'm tempted to rakudosubmit the 'my Positional @b := @b[0]' one
19:05 fgomez joined #perl6
19:11 moritz what should happen?
19:14 * diakopter has no idea
19:14 diakopter but *something*'s wrong ;)
19:18 jnthn It's an error reporting fail that is already RT'd, iirc
19:19 jnthn One of those should be Positional[Positional]
19:19 masak ah, yes.
19:19 masak that one is reported.
19:21 masak ooh, I have a heisenbug here.
19:22 masak add debug statements: "no, of course nothings wrong". remove them: "something's wrong".
19:22 masak :/
19:24 * masak tries to golf it
19:25 masak rn; say; say "alive"
19:25 masak rn: say; say "alive"
19:25 p6eval niecza v24-35-g5c06e28: OUTPUT«[31m===[0mSORRY![31m=​==[0m��Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/7l9JxqYH06 line 1:�------> [32msay[33m�[31m; say "alive"[0m��Unhandled exception: Check failed��  Ã¢â‚¬Â¦
19:25 p6eval ..rakudo 9be4cc: OUTPUT«␤alive␤»
19:25 masak is this one difficult to fix?
19:26 masak Rakudo's had it basically since the nom branch.
19:27 jnthn If not forever...
19:28 jnthn I don't think it's too hard. Just find where STD does it and see if it's a simple copy/paste
19:31 fgomez joined #perl6
19:33 masak no, not forever.
19:33 masak we did it sufficiently far back.
19:33 masak I'll see what I can do.
19:33 masak just found my heisenbug :)
19:33 masak yeah, this is a weird one.
19:35 diakopter run it?
19:35 masak rn: my $c = [[1]].map({ [ @$_ ] }); $c.push( 42 ); say $c.perl
19:35 bluescreen100 joined #perl6
19:35 p6eval rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«([1], 42).list.item␤»
19:35 masak rn: my $c = [[1]].map({ [ @$_ ] }); $c.unshift( 42 ); say $c.perl
19:36 p6eval rakudo 9be4cc: OUTPUT«(42,).list.item␤»
19:36 p6eval ..niecza v24-35-g5c06e28: OUTPUT«(42, [1]).list.item␤»
19:36 * masak submits rakudobug
19:37 jnthn masak: I think before we may have caught it at runtime.
19:38 masak possibly.
19:38 masak but we did catch it.
19:38 masak ...which is like 1000% better than printing empty lines ;)
19:39 masak rn: my $c = [[1], [2], [3]].map({ [ @$_ ] }); $c.unshift( 42 ); say $c.perl
19:39 p6eval niecza v24-35-g5c06e28: OUTPUT«(42, [1], [2], [3]).list.item␤»
19:39 p6eval ..rakudo 9be4cc: OUTPUT«(42,).list.item␤»
19:41 jnthn That's a weird one...
19:41 masak rn: my $c = [[1], [2], [3]]; $c.unshift( 42 ); say $c.perl
19:41 p6eval rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«[42, [1], [2], [3]]␤»
19:41 masak and the deep-cloning is part of it.
19:41 masak *phew* -- at least it wasn't a lexical bug! :D
19:44 jnthn my $c = [[1], [2], [3]].map({ [ @$_ ] }).eager; $c.unshift( 42 ); say $c.perl
19:44 jnthn r: my $c = [[1], [2], [3]].map({ [ @$_ ] }).eager; $c.unshift( 42 ); say $c.perl
19:44 p6eval rakudo 9be4cc: OUTPUT«(42, [1], [2], [3]).list.item␤»
19:45 jnthn I'm wondering if it's a mishandling of $!nextiter
19:45 jnthn pmichaud: ^^ if you have a moment.
19:48 diakopter r: my $c = [[1], [2], [3]].map({ say $_.WHAT; [[ @$_ ]] }).eager; $c.unshift( 42 ); say $c.perl
19:48 p6eval rakudo 9be4cc: OUTPUT«(Array)␤(Array)␤(Array)␤(42, [[1]], [[2]], [[3]]).list.item␤»
19:49 masak r: my $c = [[1], [2], [3]].map({ [ @$_ ] }).eager; $c.unshift( 42 ); say $c.perl
19:49 p6eval rakudo 9be4cc: OUTPUT«(42, [1], [2], [3]).list.item␤»
19:49 masak so ".eager" seems to make the difference. hmm.
19:49 masak and .unshift only wants the beginning, and .push wants the end. hmm hmm.
19:49 masak oh man. this may not even be a bug :(
19:50 diakopter just so I'm clear, what did youthink the problem was
19:50 jnthn masak: It feels like a bug to me, fwiw.
19:50 masak r: my $c = [[1], [2], [3]].map({ say $_.WHAT; [[ @$_ ]] }).eager; $c.unshift( 42 ); say $c.perl
19:50 p6eval rakudo 9be4cc: OUTPUT«(Array)␤(Array)␤(Array)␤(42, [[1]], [[2]], [[3]]).list.item␤»
19:50 masak rn: my $c = [[1]].map({ [ @$_ ] }); $c.unshift( 42 ); say $c.perl
19:50 p6eval rakudo 9be4cc: OUTPUT«(42,).list.item␤»
19:50 p6eval ..niecza v24-35-g5c06e28: OUTPUT«(42, [1]).list.item␤»
19:50 masak diakopter: the bug is that rakudo doesn't behave like niecza there.
19:50 masak i.e. it loses my [1]
19:52 jnthn I'm guessing a good bit here, but $!items is the currently reified stuff, potentially with an iterator at the end, and $!nextiter is a thing we can use to get more elements, and making $!items exist hides the $!nextiter.
19:53 jnthn *If* that's the case, I don't know if the bug is that $!nextiter isn't moved into $!items, or that it's not seen later on.
19:56 pmichaud back again
19:56 diakopter rn: my $c = [66]; $c.=map({ [ @$_ ] }); $c.unshift( 42 ); say $c.perl  # ha!
19:56 p6eval rakudo 9be4cc: OUTPUT«(42,).list.item␤»
19:56 p6eval ..niecza v24-35-g5c06e28: OUTPUT«(42, [66]).list.item␤»
19:56 diakopter rn: my $c = [[66]]; $c.=map({ [ @$_ ] }); $c.unshift( 42 ); say $c.perl  # ha!
19:56 p6eval rakudo 9be4cc: OUTPUT«(42,).list.item␤»
19:56 p6eval ..niecza v24-35-g5c06e28: OUTPUT«(42, [66]).list.item␤»
19:57 wk joined #perl6
19:57 diakopter rn: my @c = [66]; @c.=map({ [ @$_ ] }); @c.unshift( 42 ); say @c.perl
19:57 p6eval rakudo 9be4cc: OUTPUT«Array.new(42, [66])␤»
19:57 p6eval ..niecza v24-35-g5c06e28: OUTPUT«[42, [66]].list␤»
19:57 diakopter rn: my @c = [[66]]; @c.=map({ [ @$_ ] }); @c.unshift( 42 ); say @c.perl
19:57 p6eval niecza v24-35-g5c06e28: OUTPUT«[42, [[66]]].list␤»
19:57 p6eval ..rakudo 9be4cc: OUTPUT«Array.new(42, [[66]])␤»
19:57 diakopter heh
19:57 pmichaud I'm having trouble following the syntax, or what is expected.  Just a sec
19:57 diakopter (see more backlog)
19:58 jnthn pmichaud: The examples before diakopter started throwing stuff at p6eval are more informative ;)
19:58 pmichaud ETOOMUCHBACKLOG
19:58 masak there's also an RT ticket ;)
19:58 pmichaud can I just look at the ticket?
19:58 masak https://rt.perl.org/rt3/Tic​ket/Display.html?id=117235
19:58 diakopter note the @c does fine
19:58 pmichaud rn: my $c = [[1],[2],[3]].map({ [ @$_ ]});  say $c.perl;
19:58 p6eval rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«([1], [2], [3]).list.item␤»
19:59 eiro /wg #soul9
19:59 pmichaud rn: my $c = [[1],[2],[3]].map({ [ @$_ ]});  say $c.perl;  $c.unshift(42);  say $c.perl
19:59 p6eval rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«([1], [2], [3]).list.item␤(42, [1], [2], [3]).list.item␤»
19:59 eiro oops sorry
19:59 eiro hello all
19:59 masak heiro! \o/
19:59 jnthn o/ eiro
19:59 eiro :) what's up ?
20:00 masak eiro: you're up!
20:00 eiro haha :)
20:00 pmichaud ...what am I missing?
20:00 jnthn pmichaud: http://irclog.perlgeek.de/​perl6/2013-03-20#i_6610221 is my best guess
20:00 masak pmichaud: it's as if .unshift causes an unfinished iterator to forget where it is.
20:01 jnthn pmichaud: Note that putting the $c.perl *before* the unshift actually hides teh bug.
20:01 masak right.
20:01 masak because .perl eats it all.
20:01 masak but .map doesn't.
20:01 jnthn s/eats/reifies/
20:01 pmichaud rn: my $c = [[1],[2],[3]].map({ [ @$_ ]});  $c.unshift(42);  say $c.perl
20:01 p6eval niecza v24-35-g5c06e28: OUTPUT«(42, [1], [2], [3]).list.item␤»
20:01 p6eval ..rakudo 9be4cc: OUTPUT«(42,).list.item␤»
20:01 masak jnthn: right.
20:02 diakopter watch this:
20:02 diakopter rn: my $c = [[1]].map({ [ @$_ ] }); $c.unshift( 42 ); say $c.perl
20:02 p6eval rakudo 9be4cc: OUTPUT«(42,).list.item␤»
20:02 p6eval ..niecza v24-35-g5c06e28: OUTPUT«(42, [1]).list.item␤»
20:02 diakopter rn: my $c = [[1]].map({ [ @$_ ] }); say $c.perl; $c.unshift( 42 ); say $c.perl
20:02 p6eval niecza v24-35-g5c06e28: OUTPUT«([1], ).list.item␤(42, [1]).list.item␤»
20:02 p6eval ..rakudo 9be4cc: OUTPUT«([1],).list.item␤(42, [1]).list.item␤»
20:03 diakopter true heisenbug
20:03 jnthn Not really.
20:03 pmichaud it just has to do with eagerness.
20:03 jnthn It's very repeatable. :)
20:03 jnthn Yeah.
20:03 masak pmichaud: surely .unshift destroying items is wrong? :(
20:03 diakopter I meant in the sense that observing it mutated it
20:04 jnthn diakopter: oh, then yes, good point :)
20:04 pmichaud masak: I'm looking.  method unshift is clearly wrong in List
20:04 masak \o/
20:05 pmichaud well, maybe not.
20:06 pmichaud yes, something is wrong.
20:07 pmichaud rn: my $c = [[1],[2],[3]].map( { $_ } ); $c.unshift(42);  say $c.perl;
20:07 p6eval niecza v24-35-g5c06e28: OUTPUT«(42, [1], [2], [3]).list.item␤»
20:07 p6eval ..rakudo 9be4cc: OUTPUT«(42,).list.item␤»
20:08 diakopter is the problem not just that unshift doesn't .eager it first?
20:08 pmichaud is unshift supposed to be eager?
20:08 jnthn No
20:09 pmichaud the problem is in .map or ListIter
20:09 jnthn I think the problem is that .map populates $!nextiter in the resulting List
20:09 jnthn And that nqp::p6listitems(self); then binds an RPA to $!items
20:09 jnthn (at the start of unshift)
20:09 jnthn And that RPA doesn't include what was in $!nextiter, so is essentially "lost"
20:10 jnthn I may be misunderstanding the model here, though.
20:10 pmichaud that seems like a correct analysis
20:10 diakopter how could unshift get away with not being eager?
20:10 pmichaud simple
20:10 pmichaud my @a = 1..*;   @a.unshift(0);
20:10 pmichaud do we have to evaluate all of 1..* before doing the unshift?
20:11 masak no.
20:11 jnthn diakopter: You're putting things on the start of the list. That doesn't depend on evaluating anything else.
20:11 pmichaud we know the result ends up being  0, 1..*
20:11 jnthn push, otoh... :)
20:11 pmichaud push is eager, yes.
20:11 * masak .oO( sometimes even a bit pushy... )
20:12 pmichaud jnthn: the $!items RPA never includes lazily evaluated elements, though.
20:12 pmichaud $!items is only for those things that are already reified
20:12 jnthn pmichaud: Oh.
20:13 diakopter rn: my @a = 1..20; say shift @a; say @a.perl
20:13 p6eval niecza v24-35-g5c06e28: OUTPUT«1␤[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20].list␤»
20:13 p6eval ..rakudo 9be4cc: OUTPUT«1␤Array.new(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)␤»
20:13 diakopter then why is shift eager
20:13 pmichaud shift isn't eager there, assignment is.
20:13 pmichaud my @a = 1..20;  fully populates @a
20:14 pmichaud rn: my @a = 1..*;  say shift @a;  say @a.perl
20:14 p6eval niecza v24-35-g5c06e28: OUTPUT«(timeout)»
20:14 p6eval ..rakudo 9be4cc: OUTPUT«(timeout)1␤»
20:14 pmichaud huh
20:14 masak diakopter: there's a real difference between @a assignment and $a assignment
20:14 pmichaud rn: my @a = 1..*;  say shift @a;
20:15 p6eval niecza v24-35-g5c06e28: OUTPUT«(timeout)»
20:15 p6eval ..rakudo 9be4cc: OUTPUT«1␤»
20:15 masak diakopter: in terms of eagerness, I mean.
20:15 pmichaud r: my @a = 1..*;  say shift @a; say @a.gist
20:15 p6eval rakudo 9be4cc: OUTPUT«1␤2 3 4 5 ...␤»
20:15 pmichaud better.
20:15 jnthn r: my @a = 1..*;  say shift @a; say @a
20:15 GlitchMr But, I thought you can assign infinite lists to @ variables.
20:15 GlitchMr r: my @a = 1 .. Int;
20:15 GlitchMr r: my @a = 1 .. Inf;
20:15 GlitchMr fail
20:15 pmichaud GlitchMr: you can.  I just did, above.
20:15 p6eval rakudo 9be4cc: OUTPUT«1␤2 3 4 5 ...␤»
20:15 p6eval rakudo 9be4cc: OUTPUT«Parameter '' requires an instance, but a type object was passed␤  in method Real at src/gen/CORE.setting:3053␤  in method new at src/gen/CORE.setting:5309␤  in method new at src/gen/CORE.setting:5289␤  in sub infix:<..> at src/gen/CORE.setting:5480␤  in block  at /…
20:16 p6eval rakudo 9be4cc:  ( no output )
20:16 japhb_ joined #perl6
20:17 pmichaud jnthn/masak:  all I can conjecture at this point is that the $!nextiter chain is being lost somewhere.
20:18 pmichaud r: my $c = [[1],[2],[3]].map( { $_ } ); nqp::p6listitems($c); say $c;
20:18 p6eval rakudo 9be4cc: OUTPUT«Can not get attribute '$!items' declared in class 'List' with this object␤  in block  at /tmp/yulP9dv0oJ:1␤␤»
20:18 pmichaud r: my $c = [[1],[2],[3]].map( { $_ } ); nqp::p6listitems(nqp::p6decont($c)); say $c;
20:18 p6eval rakudo 9be4cc: OUTPUT«1 2 3␤»
20:18 diakopter r: my $a = [1..*]; say $a.elems; say shift $a; say $a.elems
20:18 p6eval rakudo 9be4cc: OUTPUT«Inf␤1␤Inf␤»
20:19 shinobicl left #perl6
20:19 jnthn r: my $c = [[1],[2],[3]].map( { $_ } ); nqp::unshift(nqp::p6listitems(nqp::p6decont($c)), 4); say $c
20:19 p6eval rakudo 9be4cc: OUTPUT«4 1 2 3␤»
20:19 pmichaud yeah.
20:19 jnthn hm, why doesn't that expose it...
20:20 pmichaud I'm guessing it might be a problem with $!items ?
20:20 pmichaud is that cached somehow in a register or something?
20:20 Liz joined #perl6
20:20 pmichaud because nqp::p6listitems() will rebind $!items
20:21 jnthn No, I don't think we do any caching of attribute lookups
20:21 jnthn a $!items compiles to a getattrbiute
20:21 pmichaud doublecheckng p6listitems to see what it does
20:22 dalek rakudo/nom: 88ea890 | jnthn++ | tools/build/NQP_REVISION:
20:22 dalek rakudo/nom: Bump to NQP_REVISION with a build fix.
20:22 dalek rakudo/nom:
20:22 dalek rakudo/nom: Was just a warning fix in theory, but may be an error for some.
20:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/88ea8905b8
20:22 lichtkind jnthn: the fix of the nqp problem you talked about, it is in main branch?
20:23 lichtkind looks like the answer :)
20:24 jnthn lichtkind: It was in the main branch of NQP. Somehow, probably 'cus of all the multi dispatch work I'd been doing in the Rakudo repo, I didn't think to update NQP_REVISION also.
20:24 jnthn Rakudo used to have its own multi cache, but that bit of infrastruture is reused now.
20:25 pmichaud r: my $c = [[1],[2],[3]].map( { $_ } ); $c.unshift(42).perl.say
20:25 p6eval rakudo 9be4cc: OUTPUT«(42, [1], [2], [3]).list␤»
20:25 lichtkind jnthn: your main goal i till jvm port?
20:25 pmichaud I wonder if the problem is related to sink context.
20:26 pmichaud r: my $c = [[1],[2],[3]].map( { $_ } ); $c.unshift(42).say
20:26 p6eval rakudo 9be4cc: OUTPUT«42 1 2 3␤»
20:26 pmichaud $c.unshift(42); is being evaluated in sink context.
20:26 moritz that might be it
20:26 yoleaux joined #perl6
20:26 pmichaud r: my $c = [[1],[2],[3]].map( { $_ } ); $c.unshift(42) + 1;  say $c.perl;
20:26 p6eval rakudo 9be4cc: OUTPUT«WARNINGS:␤Useless use of "+" in expression ".unshift(42) + 1" in sink context (line 1)␤(42, [1], [2], [3]).list.item␤»
20:26 pmichaud yup.
20:26 jnthn oh, wow
20:27 * jnthn shouldn't have guessed that one...
20:27 pmichaud r: my $c = [[1],[2],[3]].map( { $_ } ); $c.unshift(42).sink;  say $c.perl;
20:27 p6eval rakudo 9be4cc: OUTPUT«(42,).list.item␤»
20:27 pmichaud there ya go.
20:27 moritz niecza doesn't implement sink context
20:27 masak huh.
20:27 Liz_ joined #perl6
20:27 pmichaud maybe this is the point where I try to figure out what you all have done to scre.... implement sink context  :-)
20:28 * FROGGS did nothing wrong this time
20:28 pmichaud r: my $c = [[1],[2],[3]].map( { $_ } ); $c.sink;  say $c.perl;
20:28 p6eval rakudo 9be4cc: OUTPUT«().list.item␤»
20:28 moritz pmichaud: c4083c42f2e63c97254b7a215a858913c4ff4a44 is the relevant merge commit
20:28 pmichaud golfed.
20:29 jnthn r: my @c = [[1],[2],[3]].map( { $_ } ); @c.sink; say @c.perl
20:29 p6eval rakudo 9be4cc: OUTPUT«Array.new([1], [2], [3])␤»
20:29 jnthn r: my @c := [[1],[2],[3]].map( { $_ } ); @c.sink; say @c.perl
20:29 p6eval rakudo 9be4cc: OUTPUT«().list␤»
20:30 pmichaud I'll have to look at it later (i.e., maybe tomorrow), though; I have to prepare for a meeting in 60 mins.
20:30 jnthn pmichaud++ # golfing
20:30 pmichaud I don't know if that bug is big enough to warrant holding up the release.  My initial thought is "yes"
20:31 pmichaud although perhaps it's been there for several months already (i.e., since 2013.01)
20:31 moritz it has
20:31 moritz star: my @c := [[1],[2],[3]].map( { $_ } ); @c.sink; say @c.perl
20:31 p6eval star 2013.02: OUTPUT«().list␤»
20:31 jnthn Was gonna say, it's been in a previous release.
20:31 fgomez joined #perl6
20:32 jnthn Which doesn't mean we shoudln't try to make sure it's fixed in the upcoming one.
20:32 jnthn Though that may be a Star issue more than a compiler one.
20:32 pmichaud pmichaud@kiwi:/zip/perl/rakudo-star-2012.12$ ./perl6
20:32 pmichaud > my $c = [[1], [2], [3]].map( { $_ } ); $c.unshift(42); say $c;
20:32 pmichaud 42 1 2 3
20:32 masak \o/
20:32 pmichaud well, it's been in the 2013.* releases, undoubtedly.
20:32 pmichaud checking.
20:33 lichtkind got to make phase  tons of warnings but still looking good
20:33 pmichaud anyway, I won't be able to work on it until tonight.
20:33 pmichaud or late tomorrow.
20:33 pmichaud I'll let you all decide how to handle the release.
20:34 masak oki
20:35 dalek rakudo/tmp_highfive: c8a0d35 | (Tobias Leich)++ | src/Perl6/ (4 files):
20:35 dalek rakudo/tmp_highfive: MAIN is always the current language; add P5/P6 to debug output
20:35 dalek rakudo/tmp_highfive: review: https://github.com/rakudo/rakudo/commit/c8a0d3571b
20:36 FROGGS jnthn: sometimes it is funny that you can change hundrets of essential lines, and nothing changes...
20:36 dalek rakudo/nom: 8fea533 | jnthn++ | docs/ChangeLog:
20:36 dalek rakudo/nom: A couple of ChangeLog entries.
20:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8fea533d9c
20:37 FROGGS but I believe it is as you said, I changed token which dont fit to the action methods anymore
20:37 jnthn FROGGS: Yes, the set of things you capture in your grammar rule is kind of the API the actions depend on.
20:38 mikess joined #perl6
20:39 moritz fwiw I'm not sure the unshift thing above is actually a bug
20:40 moritz .sink emptying lists is how we can avoid building huge result lists for   for 1..10_000 { .say }  in sink context
20:40 pmichaud .sink should never empty something held in a scalar container, however.
20:40 pmichaud which $c obviously is.
20:41 moritz is that specced somewhere? :-)
20:41 pmichaud my @c = [1], [2], [3].map({$_});  @c.unshift(42); say @c.perl;
20:41 pmichaud r: my @c = [1], [2], [3].map({$_});  @c.unshift(42); say @c.perl;
20:41 p6eval rakudo 9be4cc: OUTPUT«Array.new(42, [1], [2], 3)␤»
20:41 pmichaud r: my @c := [[1], [2], [3].map({$_})];  @c.unshift(42); say @c.perl;
20:41 p6eval rakudo 9be4cc: OUTPUT«Array.new(42, [1], [2], 3)␤»
20:41 pmichaud hmm.
20:42 pmichaud r: my @c := [[1], [2], [3]].map({$_})];  @c.unshift(42); say @c.perl;
20:42 p6eval rakudo 9be4cc: OUTPUT«[31m===[0mSORRY![​31m===[0m�Unexpected closing bracket�at /tmp/Lm3s5ZOWAV:1�------> [32mmy @c := [[1], [2], [3]].map({$_})[33m�[31m];  @c.unshift(42); say @c.perl;[0m�»
20:42 moritz ok, why doesn't that expose the bug?
20:42 pmichaud r: my @c := [[[1], [2], [3]].map({$_})];  @c.unshift(42); say @c.perl;
20:42 p6eval rakudo 9be4cc: OUTPUT«Array.new(42, [1], [2], [3])␤»
20:42 pmichaud bad parens.
20:42 pmichaud I'd have to check it out further.  But I'm quite certain that .sink should not empty out a scalar array.
20:42 pmichaud an unbound array can be emptied, yes, but not a bound one.
20:43 moritz but in general we don't know inside the array if it's bound somewhere
20:43 moritz if it's in a scalar container, we happen to know that
20:43 pmichaud agreed, that's been a common problem with laziness and lists
20:43 moritz we could also change the spec not to return the invocant from List.unshift
20:43 pmichaud then we can't do things like  @a.unshift(42).say
20:44 pmichaud that seems wrong.
20:44 moritz well, we can say (42, @a).say
20:44 moritz if that's what you want
20:44 pmichaud that doesn't change @a
20:44 moritz yes, I know
20:45 kurahaupo joined #perl6
20:45 yoleaux joined #perl6
20:46 pmichaud I think sink context *has* to be smarter than "throw away items for whatever I find", otherwise there's just too much surprise
20:46 timotimo .o(... i am the man who arranges the bugs ...)
20:46 pmichaud as seen in the discussion above, and the fact that it took so long to identify sink context as the culprit.
20:46 moritz fwiw sofar this has been the only surprise from throwing away stuff
20:46 pmichaud ...that we know of.
20:46 moritz so it can't be *that* pervasive
20:47 pmichaud but I'll go with "fair enough" for the moment.
20:47 moritz but in general I'm not very happy with it
20:47 moritz IMHO it would make stuff much more transparent if is simply gave up the "for is an alias for map" doctrine
20:47 moritz and say that 'for' is always eager
20:48 moritz and map is lazy
20:48 moritz and be done with it
20:48 moritz and then we don't need sink context for listy stuff anymore
20:48 moritz just for blowing up Failure objects returned in sink context
20:49 moritz it'd also solve the problem that the exception escapes in   try { for 1..3 { die "foo" } }
20:49 moritz to fix that with the old sink context semantics, we have to propagate the context inwards
20:50 jnthn Yeah, true
20:50 moritz something which isn't trivial in all runtimes
20:50 moritz and I also thought we'd said goodbye to propagating context inwards
20:50 pmichaud no, but TimToady has expressed a few times that sink context is something that propagates inwards.  :)
20:50 jnthn moritz: Me also.
20:51 moritz pmichaud: I know he did
20:51 jnthn It's counter to the usual flow of context in Perl 6, is all.
20:51 moritz pmichaud: but I'm not convinced it's necessary if we simply say that 'for' isn't lazy
20:51 jnthn 'for' being lazy *does* catch people out.
20:51 moritz and 'for' being lazy is more surprising than anything
20:52 jnthn Decalring it eager or sinky will catch people out in the case they write sub foo() { for @blah { ... } }
20:52 moritz so we jump through hoops to make it eager again
20:52 jnthn Which will build up a throw-away result list.
20:52 pmichaud I don't have an argument with that.  'for' seems like an imperative statement, much like 'while', 'loop', 'if', 'do', etc.
20:52 moritz so, my official proposal: make 'for' eager.
20:52 masak +1
20:52 moritz keep 'map' lazy.
20:52 pmichaud what happens in the case of
20:53 pmichaud (building)
20:53 pmichaud oh, do we no longer have a map function?
20:53 pmichaud rakudo: say map
20:53 p6eval rakudo 9be4cc: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'map' will never work with no arguments (lines 1, 1)␤    Expected any of:␤    :(&code, *@values)␤»
20:54 jnthn r: say map { 2 * $_ }, 1, 2, 3
20:54 p6eval rakudo 9be4cc: OUTPUT«2 4 6␤»
20:54 pmichaud is the sub form of map lazy, too?
20:55 moritz why shouldn't it be?
20:55 moritz "yes"
20:55 jnthn Should be; I think it just delegates to the method.
20:55 pmichaud map { say $_+1 }, @a
20:55 pmichaud is a p5-ish idiom.
20:55 moritz "doctor, it hurts"
20:55 pmichaud how about grep?
20:56 pmichaud grep { .say }, @a
20:56 pmichaud or even
20:56 moritz "doctor, it hurts"
20:56 pmichaud really?
20:56 jnthn Wait, in sink context those two are fine?
20:56 moritz currently, yes
20:56 yoleaux joined #perl6
20:56 pmichaud yes, that's part of the point of sink context.  It makes lazy things eager.
20:56 pmichaud and not just 'for'
20:57 moritz pmichaud: fwiw I've never seen either of those used in Perl 5 code, except to demonstrate anti-pattern
20:57 moritz *patterns
20:57 masak pmichaud: you have a point.
20:57 pmichaud it makes lazy Failures eager, it makes lazy iterators eager.
20:58 pmichaud I'm fine with saying 'for' is eager by default, but I don't think it resolves the issues with sink context.
20:58 * masak is exhausted
20:58 jnthn Indeed.
20:58 masak 'night, #perl6
20:58 FROGGS gnight masak
20:59 jnthn iiuc, the bug we're seeing here is that we can't distinguish a bound thing from an unbound thing.
20:59 pmichaud I went down that path in 2010, fwiw.
20:59 pmichaud that's what led us to immutable iterators.
21:00 dalek rakudo/tmp_highfive: b68b046 | (Tobias Leich)++ | src/Perl6/P5Actions.pm:
21:00 dalek rakudo/tmp_highfive: Perl 5 sub is called now, even if the param is borken
21:00 dalek rakudo/tmp_highfive: review: https://github.com/rakudo/rakudo/commit/b68b046a49
21:01 FROGGS jnthn: ./perl6 -e 'use v5; say(7)'
21:01 FROGGS 0
21:01 pmichaud I'm not opposed to revisiting that path... but... gosh.
21:01 jnthn pmichaud: Given how well the immutable iterator model is serving us otherwise, imho...
21:02 jnthn pmichaud: I'd be rather reluctant to reconsider *that* bit...
21:02 pmichaud I suspect the immediate problem is with List.sink -- it sending the :sink option to .gimme to say "hey! throw away my contents" and it shouldn't do that.
21:02 pmichaud List.sink doesn't have enough information to do that, nor is that consistent with the immutable iterator model for doing things.
21:02 jnthn OK. That bit was probably my doing.
21:03 pmichaud if you just change  method sink to      method sink() { eager() }
21:03 pmichaud then masak++'s bug probably goes away.
21:03 pmichaud (at the possible cost of keeping long lists around, but that's where we were before sink context anyway)
21:03 jnthn It probably does. Sadly, so does...yes, that.
21:03 jnthn Part of the reason for sink context was to be able to not do that.
21:03 pmichaud (and the "don't keep long lists around" involves other changes to List which I was working on before tuit interruptus)
21:04 moritz is there any place that has enough information to say "iterate eagerly and throw the results away"?
21:04 pmichaud "throw the results away" is supposed to happen via gc
21:05 pmichaud i.e., the results are thrown away because nothing needs them any longer
21:05 pmichaud that's the core of immutable cursors and immutable iterators
21:05 tadzik whatwat
21:05 jnthn So the core fail hear is that it tries to avoid ever keeping them?
21:05 jnthn *here
21:05 tadzik FROGGS, FROGGS, is that what I think it is?
21:06 jnthn When it should just build smaller pieces and let them before unreferencd more readily?
21:06 pmichaud the core fail here is that List and Map aren't quite sophisticated enough to not keep things around too long
21:06 FROGGS tadzik: well, depends *g*
21:06 pmichaud there are ways to improve the communication among the lists... I just haven't had a chance to implement them yet :-/
21:07 moritz pmichaud: how does one debug such stuff?
21:07 jnthn pmichaud: Ah, and then I tried to make up for it by doing something that I now realize goes against the grain of the model.
21:07 FROGGS tadzik: but dont expect too much, I just spent four days on it so far
21:07 pmichaud well, it's a common mistake - I had a :sink option in earlier versions of List which I never fully eliminated, too.
21:08 pmichaud so it's easy to be misled :)
21:09 pmichaud sink context and flattening context for lists are something that MapIter, List, and ListIter have to be intimately aware of in order to be efficient (both speed and memory)
21:09 pmichaud and we don't have a solid enough API to do that yet.
21:09 pmichaud and that's mostly due to my inaction at this point, I suspect.
21:10 supernovus joined #perl6
21:10 pmichaud and figuring that out is partially why I hadn't gone too far on sink context :)
21:10 pmichaud but I'm very happy for the pieces we have now.
21:11 pmichaud we just need to keep the eagerness aspect of sink context and ignore the "throw stuff away" part of it for the moment.
21:11 mtk joined #perl6
21:11 supernovus Good * all you (happy|sad|mad|insane) Perl 6 people! :-)
21:11 * pmichaud doesn't feel that he fits that particular disjunction.
21:12 tadzik FROGGS: you're a hero gotham deserves
21:12 tadzik hey supernovus!
21:12 diakopter conflicted|unknown|complex|rapidly-cycling
21:12 supernovus Let's see, lead developer of a Perl 6 compiler, certainly should fit you into the insane category ;-)
21:12 * lizmat agrees with tadzik
21:13 pmichaud although "disjunction" and "dysfunction" are only about four bits away from each other.
21:13 * FROGGS blushes
21:16 supernovus tadzik: as per our previous discussions about merging Bailador and Web::App::Ballet, I've started some refactoring on the latter, adding in some features that Bailador had but it didn't. I also borrowed your template engine abstraction technique, and have template engine adapters for four of the five Perl 6 template engines I could see on modules.perl6.org.
21:17 lichtkind jnthn: consider it solved after shitload of warnings it still compiled under 10.8.3
21:18 supernovus Oh, and for anyone who cares about such things, as of a couple hours ago, HTTP::Easy works again, currently using a rather hackish workaround until IO::Socket::INET.get() doesn't stall on blank lines.
21:19 lizmat lichtkind: do you mean to say that OS X 10.8.3 Xcode messed with Rakudo's compiling?
21:19 lichtkind hai liz
21:19 lichtkind no i ment to say that the just fixed nqp bug prevented compiling
21:19 lizmat aha… ok  *phew*
21:20 jnthn lizmat: So far as I can tell, lichtkind was ending up with some compiler flag that made a certain warning (for most people) into an error.
21:20 * lizmat just upgraded to 10.8.3
21:20 lizmat ack
21:26 tadzik supernovus: wow, awesome
21:27 tadzik supernovus: I'll try to look at Ballet architecture this week, if tuits permit, and possibly hack something up too
21:27 pmichaud since nqp (and rakudo) get their compiler flags from parrot, which in turn gets them from perl, it could be very much to do with the fact that lichtkind had a slightly different perl than standard OSX (a perlbrew, iirc)
21:28 lichtkind yes but i tried std 5.12 too
21:28 lichtkind it think its not that
21:29 supernovus I'll be refactoring the Web::App library (included in the 'Web' distribution) to support a "mock" transport, and to have a testing library like your Bailador::Test, so that anything built upon Web::App or Web::App::Dispatch will be able to have simple tests that don't require a running daemon.
21:30 lichtkind supernovus++
21:33 Sifr joined #perl6
21:37 supernovus I will likely refactor common bits of Web::App::Ballet and Web::App::MVC into separate libraries, so there is even less duplication between projects. The template engine abstraction layer for instance seems like something that can be shared.
21:52 raiph yapcna request: more perl6 talks please
21:52 labster joined #perl6
21:54 raiph (the weekly yapcna planning call just wrapped; i said i'd convey this request)
21:56 acheche joined #perl6
21:58 * lizmat hopes she'll be able to do her "Is Perl 6 'Perl'" lightning talk at the Swiss Perl Workshop
21:58 lizmat (and then why not at YAPC::NA ?  :-)
21:59 tadzik lizmat: how about at Polish Perl Workshop? :)
22:00 jnthn lizmat: You'll be at YAPC::NA?
22:00 lizmat jnthn: yes
22:00 lizmat tadzik: yes, we'll most likely be there
22:00 tadzik \o/ great!
22:01 jnthn lizmat: nice :)
22:01 lizmat tadzik: as long as I can do my presentation in English
22:01 lizmat :-)
22:01 tadzik lizmat: sure :)
22:02 lizmat found some nice quotes from TimToady from 1994 that are very applicable now
22:08 * lizmat is wondering whether there is some easy ~ 5 point list of improvements of perl 6 over perl 5
22:09 lizmat enough to put in one slide (it is a lightning talk, after all)
22:12 xilo joined #perl6
22:13 lizmat how about:
22:13 lizmat - types that work
22:14 lizmat - objects that work
22:14 lizmat - introspection that works
22:14 sjn joined #perl6
22:14 lizmat - laziness that works
22:15 lizmat - roles that work
22:16 lizmat - grammars that work
22:16 lizmat - sets, bags and junctions that work
22:18 lizmat - operators that work
22:18 tadzik subroutine signatures
22:19 tadzik this is a hot topic :)
22:19 lizmat tadzik++
22:20 lizmat maybe: - operator overloading that works
22:21 census joined #perl6
22:25 dalek rakudo/tmp_highfive: f283d43 | (Tobias Leich)++ | src/Perl6/Actions.pm:
22:25 dalek rakudo/tmp_highfive: silence debug output
22:25 dalek rakudo/tmp_highfive: review: https://github.com/rakudo/rakudo/commit/f283d430f3
22:25 dalek rakudo/tmp_highfive: 4934854 | (Tobias Leich)++ | src/Perl6/P5Actions.pm:
22:25 dalek rakudo/tmp_highfive: make <term> within method termish
22:25 dalek rakudo/tmp_highfive: review: https://github.com/rakudo/rakudo/commit/4934854268
22:25 dalek rakudo/tmp_highfive: fd0d899 | (Tobias Leich)++ | src/Perl6/P5Grammar.pm:
22:25 dalek rakudo/tmp_highfive: borrow token integer from Perl 6, say(42) and say(3.14) is working now
22:25 dalek rakudo/tmp_highfive: review: https://github.com/rakudo/rakudo/commit/fd0d89994e
22:25 tadzik aww yiss
22:27 grondilu joined #perl6
22:27 * lizmat highfives FROGGS
22:27 FROGGS o/
22:30 * lizmat is running low on battery in Mannheim (on the way to Berne) and wishes #perl6 goodnight
22:30 FROGGS gnight lizmat
22:30 dalek ecosystem: 24b5f4b | (Timothy Totten)++ | META.list:
22:30 dalek ecosystem: Added Web::Template, a template engine abstraction layer.
22:30 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/24b5f4bfad
22:30 jnthn 'night, lizmat
22:31 tadzik good night lizmat
22:42 kivutar joined #perl6
22:48 skids joined #perl6
22:55 supernovus There, now both Web::App::MVC and Web::App::Ballet share the same template abstraction layer. Less code duplication ftw.
23:06 FROGGS supernovus++
23:10 sizz joined #perl6
23:11 dalek rakudo/tmp_highfive: f1d69ae | (Tobias Leich)++ | src/Perl6/P5 (2 files):
23:11 dalek rakudo/tmp_highfive: make say("abc") work
23:11 dalek rakudo/tmp_highfive: review: https://github.com/rakudo/rakudo/commit/f1d69ae933
23:12 kivutar joined #perl6
23:39 jnthn 'night, #perl6
23:39 FROGGS gnight
23:44 countley joined #perl6
23:47 cognominal joined #perl6
23:54 daniel-s_ joined #perl6
23:55 daniel-s__ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo