Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-05-10

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:01 * lue gets the sickening thought that IE would screw up and add up even numbers instead
00:03 sorear html5 is an umbrella term for a large and constantly changing set of things.  freezing it would make no sense.
00:05 sixn00b joined #perl6
00:06 sixn00b Does perl6 have threads?
00:08 cognominal I think that in the html5 (sic) world they have decided to drop the 5. There is an evolving html and that's it.
00:10 sixn00b perl6: say "Do you have threads?"
00:10 camelia rakudo bfd850, niecza v24-46-gcf7d64c: OUTPUT«Do you have threads?␤»
00:11 FROGGS sixn00b: net yet implemented
00:12 FROGGS not*
00:12 sixn00b Oh :(
00:12 flussence yes it does: https://github.com/tadzik/Threads/
00:12 sixn00b I wanted to use something better than perl5 threads.
00:12 flussence they're on par with Python threads right now.
00:13 sixn00b Those are green threads?
00:13 FROGGS ohh cool
00:13 FROGGS readme says so
00:13 sixn00b :(
00:13 flussence useless for performance, but there'll be real threading in due time
00:15 sixn00b What about the Haskell perl6, does that have threads? Or separate processes?
00:15 flussence pugs: say fork();
00:15 camelia pugs: OUTPUT«*** Unsafe function 'fork' called under safe mode␤    at /tmp/_MnE2IaANa line 1, column 5-11␤»
00:15 flussence looks like it might have that
00:15 flussence dunno about threads
00:15 sixn00b Only fork?
00:15 sixn00b Not threads?
00:15 flussence rakudo has fork in the posix module too
00:16 sixn00b I meant fork like Erlang. I guess it's not fork, it would be a green fork :)
00:17 flussence I doubt Pugs has any concept of threading since it hasn't been actively developed in years
00:17 btyler joined #perl6
00:17 sixn00b I heard about a Java perl6, does that have threads?
00:18 sixn00b I looked on perl6.org, it wasn't clear. I like the butterfly though :)
00:18 FROGGS sixn00b: perl6 (aka rakudo) doesn't run on the JVM yet (but in pretty near future)
00:19 flussence the Java thing is only half-working right now, but the idea is that Threads module will use real threads underneath when they become usable
00:19 lue There's currently an effort to port rakudo to the JVM, where among other things we'll be able to work on threads
00:19 sixn00b Oh, so which perl6 should I use now?
00:19 FROGGS rakudo
00:20 FROGGS what you call perl6 is just the specification
00:20 sixn00b So rakudo is the best one?
00:21 flussence it's the one with most working stuff
00:21 sixn00b So which JVM do I need, I have Java 7.
00:21 FROGGS that is the right one
00:22 sixn00b Does it use JNI? Because I could use that if I had to.
00:22 FROGGS nqp (the glue between the virtual machine and rakudo) does already work on the JVM, but not yet rakudo itself
00:22 sixn00b ??
00:22 FROGGS sixn00b: can't tell about JNI
00:22 sixn00b Now I am confused.
00:23 sixn00b Rakudo is the best one but it doesn't run on the JVM but I need Java 7?
00:23 FROGGS [02:18] <FROGGS> sixn00b: perl6 (aka rakudo) doesn't run on the JVM yet (but in pretty near future)
00:23 flussence he was responding to the previous question
00:24 lue For a fully working Rakudo at the moment, you'll need Parrot and NQP (compiled for Parrot)
00:24 FROGGS if you want to try one perl6-implementation then install rakudo for the parrot virtual machine
00:25 raiph sixn00b: is your interest to play, to get something done, or to hack on perl?
00:25 lue To use NQP on JVM (and rakudo on JVM once that works), you'll need at least Java 7
00:26 lue [ So if you have Java 7, you're ready for rakudo's near future :) ]
00:26 sixn00b Everyone is saying different things :( I do not know how to reply.
00:26 sixn00b I have a program in Perl5 and it uses threads but I am not satisfied with it.
00:26 sixn00b I thought maybe perl6 would be easier because I heard it had better threads.
00:27 raiph sixn00b: is your interest to play, to get something done, or to hack on perl?
00:27 sixn00b I want to get something done.
00:27 FROGGS then you might better stick to perl5 for now
00:28 raiph sixn00b: p6 is irrelevant to you if the context is porting a working p5 threads solution with a goal of getting something done that is not A) have fun or B) help develop that aspect of p6
00:29 sixn00b I am going to have to read what you said again, I'm sorry, I don't understand it all.
00:30 sixn00b Do you think I should not use perl6 raiph?
00:30 sftp joined #perl6
00:31 raiph yes if given the parameters you've provided so far and given that i'm erring on the conservative side to save you time
00:31 sixn00b So you say I should only use perl6 if I want to have fun or make perl6?
00:32 raiph if you're goal is a port of a p5 threads solution that you want working in the next few days, yes
00:33 sixn00b It is just a side project, it would be okay to spend some weeks on it :)
00:33 sixn00b I would not be working on it every day, just when work is slow and I have the time.
00:34 sixn00b Most of our work is C++ but we have a lot of Perl.
00:34 raiph how many weeks?
00:34 sixn00b ha ha you are asking a programmer for an estimate :) I like you.
00:34 raiph would it be ok to wait 10 weeks before starting?
00:35 sixn00b Funny person (I don't know if you are man or woman, so I will not be sexist)
00:35 sixn00b What will happen in 10 weeks?
00:35 labster There are a few applications where Perl 6 is much better than Perl 5, like grammars.  You should check those out.  But if you absolutely need speed, look to Perl 5 for now.
00:35 sixn00b Speed is not too bad, I need to use many cores.
00:36 sixn00b C++ is very bad at processing text, but Perl5 uses too much memory and spends too much time making threads :(
00:37 lue I'm guessing raiph's 10 weeks estimate is how long it'll take for either Rakudo to be on JVM or for Rakudo to be on JVM and have threads
00:40 sixn00b So come back in 10 weeks?
00:40 sixn00b Weeks on the calendar or weeks as a programmer counts?
00:41 cognominal here, we use to say Christmas without saying the year.
00:41 labster What kind of application do you have that needs threads, sixn00b?
00:41 labster and where perl 5 uses too much memory?
00:42 sixn00b I can not say too much, but we process medical data.
00:42 sixn00b Many gigabytes of text.
00:43 sixn00b So our program likes to use the algorithm of divide and conquer :) and many cores make the work faster.
00:43 diakopter sixn00b: I'm curious where you heard perl6 had better threads
00:44 sixn00b Well everyone says that perl5 has threads that are not so good, and everyone says that perl6 fixes many things that are not so good in perl5!
00:44 sixn00b So maybe I assumed?
00:44 raiph sixn00b: do you know that neither Perl 6 (as a spec/product) nor Rakudo (an implementation) is complete?
00:44 dalek v5: 8db4538 | (Tobias Leich)++ | lib/Perl5/Actions.nqp:
00:44 dalek v5: pull in rakudos changes about our-scoped vars
00:44 dalek v5: review: https://github.com/rakudo-p5/v5/commit/8db453885d
00:44 dalek v5: d6448f8 | (Tobias Leich)++ | lib/Perl5/Actions.nqp:
00:44 dalek v5: make debugging work (again)
00:44 dalek v5: review: https://github.com/rakudo-p5/v5/commit/d6448f8019
00:44 dalek v5: eec4624 | (Tobias Leich)++ | lib/Perl5/ (3 files):
00:44 sixn00b Yes, I will wait 10 weeks for it to be complete :)
00:44 dalek v5: basic support for open/print/close
00:44 dalek v5: review: https://github.com/rakudo-p5/v5/commit/eec4624232
00:44 dalek v5: 1c5460a | (Tobias Leich)++ | rakudo.patch:
00:44 dalek v5: update for wip-rakudo patch
00:44 dalek v5: review: https://github.com/rakudo-p5/v5/commit/1c5460a7bb
00:45 flussence I've done stuff with GBs of text in p5... multiple processes turned out to be much better than trying to use threads. Using a profiler wouldn't hurt either.
00:45 diakopter sixn00b: okay I'll rephrase. :) where did you hear that perl6 fixes many things that are not so good in perl5? :)
00:45 sixn00b We love NYTProf
00:45 flussence yeah, that's the one
00:45 lue sixn00b: I think a complete Perl6 will take a few sets of 10 weeks :)
00:45 sixn00b Everyone here loves Tim Bunce!
00:45 sixn00b We love DBI too!
00:45 flussence (and then I found out passing arrays in p5 really sucks for performance...)
00:46 raiph sixn00b: i hear different opinions on this channel about when p6 will be ready for roughly the sort of thing you're describing
00:47 labster yeah, what flussence said.  And definitely don't do "for (<$infile>)" if you're processing large files -- learned that the hard way recently.
00:47 raiph sixn00b: in 2009 i estimated end of 2014 or so and i still think that's about right
00:47 diakopter sixn00b: for what you're describing, it might be performant enough in a year, it might not.
00:47 diakopter at current resource availability levels.
00:47 sixn00b Do not worry, we use the modern Perl5 :)
00:47 sixn00b A year :(
00:47 diakopter or 5?
00:48 labster I'd gotten used to Perl 6, where passing arrays is really passing an array container.
00:48 diakopter the regex engine is hundreds to thousands of times slower, last I measured
00:48 sixn00b We always pass with the references.
00:48 sixn00b But in XS we do not pass arrays, only the scalars.
00:49 sixn00b It is too slow to copy scalars from arrays in XS :)
00:49 labster But I would argue the regex engine in Perl 6 uses far less programmer time in writing and maintanence, so it might be faster depending on how the program is used.
00:49 sixn00b So perl6 is a lot slower?
00:50 raiph sixn00b: yes, a year, maybe two, who knows, to be competitive for processing gigabytes of data using threads for code that's going to be mission critical where money is available to throw at the problem
00:50 labster currently slower.  We know, we're working on it.
00:50 diakopter labster: sixn00b is describing high-usage software, not one-off shell shortcuts :P
00:51 flussence and when you're working with GBs of data, having it run fast enough to use a continuous integration setup is a huge benefit
00:52 sixn00b Integration like testing?
00:52 flussence yeah
00:52 sixn00b We hired a person especially to help with that :)
00:53 diakopter well, not all continuous testing is integration testing
00:53 flussence on the thing I worked on I fixed a ton of bugs just by getting it running fast enough that I could run test suites on the entire dataset in ten minutes or so
00:53 sixn00b Ten minutes is too long to wait!
00:54 flussence it was something like 50 before that :)
00:54 sixn00b So you tell me perl5 is not 老不死的 (do not know how to say this sorry)? An old person who stands in your way?
00:56 raiph sixn00b: i gotta run for awhile, but perl5 is a very, very solid product. i wouldn't even call perl6 a product yet, solid or not.
00:56 sixn00b Okay but in 10 weeks... :)
00:57 FROGGS hehe, come back and we'll see :o)
00:57 FROGGS we will surely be here
00:58 * diakopter marks July 18
01:01 sixn00b I must work now, funny people!
01:02 hlin_laptop joined #perl6
01:02 sixn00b Do not fork() yourselves too hard!
01:02 diakopter spooning is more fun
01:04 guest_____ joined #perl6
01:05 TimToady we can't fork at all yet...
01:06 FROGGS well, I have two forks, both are sleeping atm
01:07 diakopter pugs can, and rakudo could at one time
01:08 TimToady well, I guess there's http://rosettacode.org/wiki/Fork#Perl_6
01:10 kurahaupo joined #perl6
01:11 * TimToady sometimes missed all the standard Unix calls as builtins ????
01:11 diakopter I mean, there's no special handling of handles or signals, but yeah
01:11 TimToady *misses
01:12 diakopter .oO( well, there's no signals anyway... )
01:12 diakopter er, *there're
01:14 flussence 2 things I really wish rakudo (or niecza) had built in: fork() and pipe(). That'd make a lot of stuff *possible*
01:14 FROGGS_ joined #perl6
01:15 TimToady is there even a way of getting a file descriptor (integer) from a filehandle yet?
01:15 anuby joined #perl6
01:15 diakopter sure! try all of them until you find the right one!
01:16 TimToady ????
01:17 diakopter .u �
01:17 yoleaux U+FFFD REPLACEMENT CHARACTER [So] (�)
01:17 TimToady .u ????
01:17 yoleaux U+1F62D LOUDLY CRYING FACE [So] (????)
01:17 diakopter heh.
01:19 dalek perl6-examples: f059431 | (L. Grondin)++ | rosalind/sgra-grondilu.pl:
01:19 dalek perl6-examples: first SRGA failure
01:19 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/f059431fa7
01:19 dalek perl6-examples: ac897af | (L. Grondin)++ | rosalind/sgra-grondilu.pl:
01:19 dalek perl6-examples: (rosalind) SGRA [correct version after failure]
01:19 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/ac897afab1
01:20 dalek v5: 084ddd2 | (Tobias Leich)++ | lib/Perl5/ (2 files):
01:20 dalek v5: fix for print with one argument
01:20 dalek v5: review: https://github.com/rakudo-p5/v5/commit/084ddd2a60
01:33 benabik joined #perl6
01:34 Axeman joined #perl6
01:44 Axemann joined #perl6
02:04 btyler joined #perl6
02:20 census left #perl6
02:27 thou joined #perl6
02:45 lustlife joined #perl6
02:50 dalek niecza: 0a84de2 | (Solomon Foster)++ | lib/CORE.setting:
02:50 dalek niecza: Get rid of last mentions of ucfirst.
02:50 dalek niecza: review: https://github.com/sorear/niecza/commit/0a84de2d47
03:04 [Coke] rant: I know have to know WHICH version of ack I have installed to use it.
03:08 moritz just install ack2 everyhwere :-)
03:13 skids joined #perl6
03:13 kurahaupo joined #perl6
03:14 moritz fwiw I have set up http://tina.perlgeek.de/ which is a postgresql-backed version of the irc logs (not yet regularly updated)
03:14 moritz and still slooow
03:20 sorear neat.  (forgive my stupid question, why are we switching?)
03:22 dalek roast: 1b01fdd | coke++ | S05-mass/properties-general.t:
03:22 dalek roast: pugs fudge
03:22 dalek roast: review: https://github.com/perl6/roast/commit/1b01fdd3b9
03:22 dalek Pugs.hs: 5a99ff9 | coke++ | Pugs/src/Pugs/Prim.hs:
03:22 dalek Pugs.hs: track spec change
03:22 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/5a99ff9b60
03:23 moritz sorear: 1) I've developed a general dislike of mysql over the years and 2) I haven't been able get some queries run fast enough on mysql, and i hope to have better success with pg
03:25 moritz sorear: and 3) I want to make ilbot multi-backend (just like rakudo!)
03:30 sorear is tina p6? :)
03:32 diakopter sorear: yes, the whole stack, including the http server, operating system, all supporting libraries, database server, even the CPU design tools. ;)
03:32 moritz sorear: no
03:32 moritz sorear: same ol' codebase, with the exception of one query
03:36 * sorear wonders which query
03:37 diakopter moritz: tina seems faster to me
03:37 labster me too
03:37 moritz diakopter, labster: at this time we probably just measure cache performance :-)
03:38 diakopter so pre-warm the cache :P
03:39 PerlJam seemed slower to me when I loaded the index for #perl6
03:39 PerlJam (but #dbdi was quite speedy)
03:41 preflex_ joined #perl6
03:55 labster Well, the IO :r, :w, and :x filetests are wrong.
03:56 labster They all test real uid rather than effective uid.
03:59 labster I guess it's time once again to bug Parrot about implementing IO.
04:00 sorear labster: are they using access(2)?
04:00 labster indeed
04:01 labster int   result = access(c_str, R_OK);
04:02 geekosaur guh
04:12 kurahaupo labster: isn't that the point of the tests: to see whether the real user would be allowed to perform the operation? (You can see if the effective user is allowed to perform the operation simply by attempting the operation...)
04:13 moritz kurahaupo: no, there are upper-case variants which are supposed to check the real uid/gid
04:13 sorear perldoc -f -X
04:13 moritz in analogy to perld... what sorear said :-)
04:25 Psyche^ joined #perl6
04:31 gdey joined #perl6
04:37 SamuraiJack joined #perl6
04:48 trexy joined #perl6
04:50 trexy Hi
04:50 sorear Hi.
04:51 trexy Later in the month I'm giving a talk on Perl6 to a general programming audience at this:  http://bristol.itmegameet.co.uk/#schedule
04:51 sorear cool!
04:52 trexy I was hoping to use some examples from Rosetta code to help illustrate
04:52 moritz sure, why not?
04:52 sorear are you the only perl6er in the group?
04:52 trexy I thought that would be the easiest thing to do
04:53 trexy - just starting to learn it - this will be a good excuse for me to learn it
04:54 trexy not sure if there will be a perl6 expert present
04:54 sorear so are you here with a specific question or do you just want to hang out and learn by osmosis?  either is fine.
04:55 sorear (welcome!)
04:55 trexy I regularly read the backlog - so am hoping some has gone in via osmosis - just wanted to know if members of the channel
04:55 trexy had particular favourites from rosettacode
04:57 sorear think TimToady wrote most of the rosettacode examples...
04:58 trexy I'd be interesting in hearing his top 10 or so?
04:58 trexy the plan was to show comparative examples in different languages
04:59 trexy - this is how it is done in python -> p6, java -> p6 etc
05:00 trexy the other thing I was hoping to do was describe the main design 'vectors' ....
05:00 trexy whipupitude, Huffman coding, etc ...
05:02 trexy Any help from TimToady in the backlog would be much appreciated here
05:07 snoopy joined #perl6
05:08 satyavvd joined #perl6
05:15 census joined #perl6
05:33 dukeleto trexy: many people have written rosettacode examples and TimToady wrote many :)
05:35 trexy yes
05:36 trexy I'm interested in hearing from anyone who has favourite(s) RC examples
05:37 kaare_ joined #perl6
05:39 trexy also from those who have been using Perl6 - what does the language seem different at? --- looking at the design vectors
05:43 raiph joined #perl6
05:44 raiph trexy: http://rosettacode.org/wiki/Harshad_or_Niven_series
05:46 trexy yep
05:47 trexy that's intense really ;-) ...
05:48 trexy so much is going on in just that one example laziness, expressibility  etc
05:52 raiph yeah, just encountered yesterday
06:13 frdmn joined #perl6
06:16 kaleem joined #perl6
06:18 raiph trexy: another one i just found that might be good for your purposes: http://rosettacode.org/wiki/Benford%27s_law
06:22 trexy there's a lot going on in that one too!
06:27 sorear what, it's not asking for a chi-squared test?
06:27 trexy for this audience a starting point could be "hello world" -> "Factorial" -> ...????? ->  Perl6 Poker ;-)
06:28 * sorear thinks the fib sequence is cheating, because it can be easilyish proven to satisfy the Benford law
06:29 trexy ok
06:30 trexy tricky - ideally the problem set up should be 5% and discussing language comparisons and highlighting Perl6 syntax and semantics (95%)
06:32 s1n joined #perl6
06:32 trexy don't want to spend too much time explaining the problem
06:42 raiph trexy: http://rosettacode.org/wiki/Detect_division_by_zero
07:16 sqirrel joined #perl6
07:18 moritz http://henryr.github.io/cap-faq/
07:19 Gruu_ joined #perl6
07:21 chee left #perl6
07:39 dayangkun joined #perl6
07:55 kaare_ joined #perl6
07:58 jnthn morning o/
08:01 moritz \o jnthn
08:03 kresike joined #perl6
08:03 kresike hello all you happy perl6 people
08:04 labster morning
08:04 kivutar joined #perl6
08:05 rindolf joined #perl6
08:14 sorear o/o/
08:23 donaldh joined #perl6
08:23 labster I was just looking through S16, which is oh, about 10% implemented.  Now, I noticed that parrot doesn't have anything for getpwuid and getpwnam.
08:24 labster Are those the kind of things that we'd expect the VM to implement, or would we do our own system calls in nqp or rakudo?
08:25 labster I'm in the area of wondering how many feature requests I should put in for parrot.
08:26 labster at a time.
08:27 moritz several small ones, each with one or two days inbetween :-)
08:27 moritz so start now with readline :-)
08:29 labster I was going to ask for faccessat so IO.r and IO.R can be different.
08:31 moritz or that
08:32 moritz or both; they'll be able to handle the flood of new tickets :-)
08:38 anuby_ joined #perl6
08:39 kaare__ joined #perl6
08:41 rom1504_ joined #perl6
08:50 dalek roast: 899d9a7 | dagurval++ | S16-io/quoting-syntax.t:
08:50 dalek roast: added tests for examples in S16/IO/Special Quoting Syntax
08:50 dalek roast: review: https://github.com/perl6/roast/commit/899d9a75c1
08:50 dalek roast: 7057702 | dagurval++ | S0 (3 files):
08:50 dalek roast: Merge branch 'master' of github.com:perl6/roast
08:50 dalek roast: review: https://github.com/perl6/roast/commit/70577024eb
08:52 dagurval I have no idea what that "merge commit" is doing o_O
08:53 labster you committed and then git pulled
08:53 diakopter (trying to invite a bot)
08:53 betterwo1ld joined #perl6
08:54 clkao_ joined #perl6
08:55 labster also, dagurval++ for that patch to File::Find::Duplicates.  I kept on looking at it like "works for me!".
08:57 arlinius joined #perl6
08:57 rindolf joined #perl6
08:57 Colby` joined #perl6
08:58 dagurval labster: no problem :)
08:59 anuby joined #perl6
09:00 dayangkun joined #perl6
09:00 dukeleto joined #perl6
09:00 araujo joined #perl6
09:02 araujo joined #perl6
09:02 cognominal joined #perl6
09:02 masak good antenoon, folks in #perl6
09:04 labster masak o/
09:05 mathw o/ masak
09:05 mathw \o
09:05 mathw \o/
09:05 masak :)
09:05 tadzik \o/
09:06 jnthn o/ masak
09:08 bbkr \o/
09:10 dalek nqp/rak-jvm-support: 866fe1a | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (5 files):
09:10 dalek nqp/rak-jvm-support: Initial preparations for container handling.
09:10 dalek nqp/rak-jvm-support:
09:10 dalek nqp/rak-jvm-support: This rips out the port of a previous approach, stubs the current one
09:10 dalek nqp/rak-jvm-support: that is needed for Rakudo, and updates the serializer for it.
09:10 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/866fe1acfe
09:13 anuby_ joined #perl6
09:14 nebuchad` joined #perl6
09:14 sergot_ joined #perl6
09:14 [Coke]_ joined #perl6
09:14 spider-mario joined #perl6
09:15 shlomif joined #perl6
09:15 genehack_ joined #perl6
09:15 pnu joined #perl6
09:15 timotimo_ joined #perl6
09:17 shachaf_ joined #perl6
09:23 nyuszika7h joined #perl6
09:23 dmol joined #perl6
09:42 FROGGS .ask TimToady halp! can you please give me a hint how to properly set up the print-token? https://gist.github.com/FROGGS/0588a945575387a3bf70
09:42 yoleaux FROGGS: I'll pass your message to TimToady.
09:44 MrMeek joined #perl6
09:44 FROGGS everyone else with good grammar knowledge is welcome to have a look too :o)
09:46 moritz I just know that Perl 5 also allows   print { STATEMENTLIST } $value;
09:46 moritz with literal { }
09:47 FROGGS yeah, I know.... :/
09:49 berekuk joined #perl6
09:54 moritz FROGGS: maybe the <!before <infix>> is too broad
09:55 * moritz is just guessing, really
09:55 FROGGS ya, me too, that is the problem
10:02 dmol joined #perl6
10:02 shachaf_ joined #perl6
10:05 dalek nqp/rak-jvm-support: 2ec1cce | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (6 files):
10:05 dalek nqp/rak-jvm-support: Flesh out container ops and code_pair cont.
10:05 dalek nqp/rak-jvm-support:
10:05 dalek nqp/rak-jvm-support: This gets 67-container.t passing on the JVM.
10:05 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/2ec1cce8e5
10:23 kivutar joined #perl6
10:39 masak FROGGS++ # working with v5, it's inspiring to watch
10:41 Ulti how does v5 work?
10:41 Ulti is it mapping perl5 syntax to perl6 at compile time?
10:42 moritz it compiles Perl 5 syntax to QAST
10:43 Ulti neat
10:46 kivutar joined #perl6
10:47 kaare__ joined #perl6
10:59 * moritz reviews the irclog code he wrote in 2007, and starts crying
11:00 FROGGS hehe
11:04 moritz most of the stuff isn't too bad
11:04 moritz but then you get to the output of the actual log pages
11:04 Ulti this graph is depressing http://w3techs.com/pictures/programming_language-1201.png
11:05 Ulti why would anyone pick those top 4 languages over the bottom 3 :Z
11:05 moritz and that's just 600 lines of regexes and post-processing
11:08 GlitchMr w3techs doesn't count
11:08 GlitchMr They simply consider website to use certain technology if the X-Powered-By has name of technology.
11:09 moritz in http headers?
11:09 nwc10 so it's counting the number of mod_perl enabled web servers, etc, not actual users?
11:09 GlitchMr I think so, lol
11:09 moritz that's roughly as stupid as Tiobe's "methodology"
11:10 GlitchMr Their reports are so inaccurate it's stupid.
11:10 GlitchMr The other charts don't seem that bad, but methology of server-side programming languages is so bad.
11:11 dalek rakudo/jvm-support: aea68d2 | jnthn++ | src/ (2 files):
11:11 dalek rakudo/jvm-support: Add nqp::p6init() which initializes runtime.
11:11 dalek rakudo/jvm-support:
11:11 dalek rakudo/jvm-support: Need a mechanism similar to Parrot dynops init for the JVM also.
11:11 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/aea68d287b
11:11 dalek rakudo/jvm-support: a70ab6e | jnthn++ | / (7 files):
11:11 dalek rakudo/jvm-support: Stub in Rakudo container support.
11:11 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/a70ab6e5fc
11:11 dalek rakudo/jvm-support: d7f3d4e | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
11:11 dalek rakudo/jvm-support: Fix thinko in invocation handling.
11:11 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/d7f3d4eb84
11:12 masak Ulti: why would anyone pick PHP over Perl for web? ease of deployment.
11:13 GlitchMr But there is a possibility that people really use PHP.
11:13 GlitchMr I won't lie, it's easy to deploy.
11:13 GlitchMr http://olive.undo.it/log?channel=perl6
11:13 GlitchMr this uses PHP
11:13 GlitchMr Also, WordPress.
11:14 moritz and drupal
11:14 moritz and typo3, iirc
11:14 Ulti working with Drupal is grim though
11:14 GlitchMr Drupal isn't that relevant.
11:14 GlitchMr http://w3techs.com/technologies/overview/content_management/all
11:14 Ulti I wanted to rip my eyes out the whole time I worked with Drupal
11:14 GlitchMr They say that WordPress is used by 17.7% of websites.
11:14 FROGGS you just have to install phpBB or a wiki to end up with php
11:15 tadzik working with drupal was mostly painless fr me
11:15 tadzik joomla, now, that was awful
11:15 GlitchMr WordPress makes stats higher.
11:15 Ulti perl is in most OSs as default though and you can just use one of the self hosting frameworks
11:15 GlitchMr Find a server without WordPress installed.
11:15 mattp__ joined #perl6
11:15 Ulti I guess Windars servers are the problem
11:15 GlitchMr They exist, but well...
11:15 Ulti WAMP is a thing
11:16 GlitchMr Windows isn't even a problem
11:16 GlitchMr http://w3techs.com/technologies/cross/content_management/operating_system
11:16 GlitchMr Everybody uses Linux anyway.
11:17 Ulti :<
11:17 GlitchMr The only exception on this list is "Discuz!", but I guess it's because it was made in China.
11:17 Ulti I guess the version of perl that comes as default is the issue like 5.8 instead of 5.10
11:18 GlitchMr http://w3techs.com/technologies/details/pl-perl/all/all
11:18 GlitchMr They usually say what versions people use.
11:18 GlitchMr But here, well, they just say that 100% of people use Perl 5.
11:19 GlitchMr Oh, I know what methodology they have used. If the server has .cgi or cgi-bin directory, it's Perl.
11:20 GlitchMr Or .pl.
11:22 Ulti yeah think so
11:22 GlitchMr Then again, I have done a check.
11:23 masak all the MediaWiki wikis out there use PHP.
11:23 GlitchMr Hmmm, it seems they only base on headers.
11:23 GlitchMr I asked http://w3techs.com/sites to spider a website full of .php links, but without X-Powered-With header.
11:23 GlitchMr It didn't saw PHP.
11:23 dalek nqp/rak-jvm-support: 9c87ea8 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
11:23 dalek nqp/rak-jvm-support: Stub HLL mapping stuff.
11:23 dalek nqp/rak-jvm-support:
11:23 dalek nqp/rak-jvm-support: Needs properly implementing.
11:23 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/9c87ea826c
11:24 GlitchMr It actually was using PHP, but configured to not show X-Powered-With header.
11:24 jnthn Now up to line 290. )
11:24 GlitchMr Or, if the source code of website looks like one of popular PHP programs.
11:24 GlitchMr Like, uhmmm, WordPress.
11:25 jnthn r: say 290 / 13000
11:25 camelia rakudo bfd850: OUTPUT«0.022308␤»
11:25 jnthn bah :)
11:25 FROGGS hehe, jnthn++ anyway :o)
11:26 GlitchMr They only index domains, but .tk seems to work on this checker.
11:28 GlitchMr Also, some websites stop saying what technology they use in headers.
11:28 GlitchMr Because nobody cares.
11:28 GlitchMr http://w3techs.com/sites/info/dot.tk
11:29 GlitchMr I'm still sure they use Perl.
11:29 GlitchMr And Linux.
11:30 GlitchMr And sometimes they see wrong software.
11:30 GlitchMr http://w3techs.com/sites/info/github.com
11:30 tadzik jnthn: progress! :)
11:30 cognominal GlitchMr, "nobody cares". Except crackers :)
11:30 GlitchMr GitHub Pages? 1. How they could detect that static pages use GitHub Pages. 2. It doesn't use GitHub Pages.
11:31 FROGGS moritz: I've cleaned the token a bit, but it doesnt seem to be the right approach: https://gist.github.com/FROGGS/0588a945575387a3bf70
11:32 GlitchMr cognominal, it's easy to detect PHP even if it doesn't say it's PHP.
11:33 GlitchMr For example, by setting MAX_FILE_SIZE header to value like 432, and sending some file. After you will upload 432 bytes, PHP would stop listening for rest of the file.
11:33 GlitchMr And send output.
11:38 dalek nqp/rak-jvm-support: 05d2aae | jnthn++ | src/vm/jvm/QAST/Compiler.nqp:
11:38 dalek nqp/rak-jvm-support: Implement custom_args.
11:38 dalek nqp/rak-jvm-support:
11:38 dalek nqp/rak-jvm-support: Suppresses the generation of parameter handling code. Used by Rakudo
11:38 dalek nqp/rak-jvm-support: as it has its own binder (which now needs porting to the JVM).
11:38 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/05d2aaeeaa
11:39 kivutar joined #perl6
11:59 census joined #perl6
12:08 kivutar joined #perl6
12:08 donaldh jnthn: 13000 of what?
12:09 donaldh jnthn: Can it be shared?
12:12 jnthn donaldh: The whole of CORE.setting is about 13,000 lines
12:12 jnthn donaldh: The JVM port survives up to about line 290 of parsing it (noting that it has to run bits of it as it parses, such as BEGIN blocks, traits, etc.)
12:13 jnthn The idea is that it'll all be shared, though some bits are not so portable yet.
12:14 donaldh jnthn: I mean can the task of working through the 13000 lines be shared?
12:14 donaldh Or is it a sequential task and that things will move forward in jumps?
12:15 lizmat I think the latter
12:16 nwc10 there were some "low hanging fruits" described at some point, but I'm not sure where
12:16 jnthn donaldh: Well, there's still plenty of pir:: in the setting that will want dealing with.
12:16 woosley1 joined #perl6
12:17 jnthn donaldh: Those don't have to wait for me to get to 'em.
12:18 lizmat jnthn: but you dealt with a lot of them in your branch already, right?
12:18 lizmat so any work on that, would need to be done in that branch, right?
12:18 jnthn lizmat: The only place we're still left with them is in src/core/
12:18 jnthn lizmat: Yes, it's best if they go into the branch
12:18 jnthn Though I'm keeping up to date with master also
12:19 lizmat I'm just sort of worried about duplication of effort
12:19 lizmat and possible merge conflicts
12:20 jnthn *nod*
12:20 donaldh so we should ask here, as we plan to work on something?
12:21 jnthn donaldh: That's probably the best bet.
12:21 jnthn My current Big Task is porting enough of the signature binder to unblock things.
12:23 nwc10 isn't this IRC channel enough to avoid work duplication between people helping remove pir:: ?
12:23 jnthn Woulda hoped so :)
12:23 donaldh nwc10: thats what I said ^^ :-)
12:24 nwc10 oh yes, I see now :-)
12:27 moritz is there any reason that src/core still uses pir::setattribute__0PPsP over nqp::bindattr?
12:27 moritz if not, I'm going to clean that up
12:27 jnthn moritz: The 0
12:28 jnthn Means "returns the object with the attr as the first arg" instead of "returns the value bound"
12:28 SmokeMachine joined #perl6
12:28 moritz oh
12:29 moritz and some of those look like quite hot paths
12:31 jnthn yeah, sounds familiar...
12:31 * jnthn bbiab
12:41 berekuk joined #perl6
12:50 Chillance joined #perl6
12:50 betterworld joined #perl6
12:53 CharellKing joined #perl6
12:54 dayangkun joined #perl6
12:54 * [Coke]_ drinks cofee.
12:54 [Coke]_ oh, f.
12:54 CharellKing left #perl6
12:55 woosley1 left #perl6
13:02 cognominal sounds close to gather/take  :  http://wingolog.org/archives/2013/05/08/generators-in-v8
13:03 ajr joined #perl6
13:06 mtk joined #perl6
13:11 Ulti cognominal: or like generators from Icon... all the cool things come from Icon ;]
13:12 moritz https://gist.github.com/moritz/5554307 # my attempt to automatically generate colors from IRC nicks
13:13 bluescreen10 joined #perl6
13:13 moritz if somebody wants to tweak it, feel free :-)
13:13 * lizmat wonders who lixmat is
13:14 moritz (the idea is to generate colors in HSV space, and avoid low saturation, so that there's some contrast to the background
13:14 mtk joined #perl6
13:14 moritz lizmat: the evil twin standing right behind you :-)
13:14 * lizmat just feels like mini-me now
13:15 Ulti naw moritz I could have hooked you up with my blog post about colour stuff http://blog.mattoates.co.uk/2012/01/generating-perceptually-distinct.html
13:15 Ulti I have a newer version that kind of spirals through HSV space
13:16 pmichaud moritz: what color background will these be on?
13:17 moritz pmichaud: same as http://irclog.perlgeek.de/perl6/2013-05-10
13:17 * jnthn back
13:18 moritz ie white and light gray
13:18 pmichaud the #79fbbc result looks a little too light to me
13:18 PerlJam good morning #perl6!
13:19 Ulti good lunchtime PerlJam
13:22 moritz pmichaud: gist updated with what is hopefully a small improvement
13:23 PacoAir joined #perl6
13:23 moritz or maybe I should just always set the saturation to 1
13:23 pmichaud it's a little better, but still hard to see.
13:24 berekuk joined #perl6
13:24 moritz ... and another udpate
13:25 pmichaud yes, that's good.
13:26 dalek rakudo/jvm-support: 39ea92e | moritz++ | src/core/GatherIter.pm:
13:26 dalek rakudo/jvm-support: get rid of two cases of pir::setattribute__0PPsP
13:26 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/39ea92e9e2
13:26 pmichaud first two entries appear about the same, but I don't know that you'll be able to avoid all visual conflicts
13:26 pmichaud have to run $kid to $school... bbiab
13:27 moritz pmichaud: right, I think it's better to tolerate collisions than not being able to read some of them
13:32 lichtkind joined #perl6
13:34 dalek rakudo/jvm-support: 7bf40c1 | jnthn++ | src/vm/jvm/ (3 files):
13:34 dalek rakudo/jvm-support: Stub in the binder.
13:34 dalek rakudo/jvm-support:
13:34 dalek rakudo/jvm-support: Doesn't actually do anything yet, this just gets the op and some of
13:34 dalek rakudo/jvm-support: the constants in place.
13:34 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/7bf40c1f8c
13:48 btyler joined #perl6
13:48 DarthGandalf joined #perl6
13:49 cosimo joined #perl6
13:57 skids joined #perl6
14:01 Targen joined #perl6
14:13 xinming joined #perl6
14:14 [Coke] i often hate that ColdFusion arrays always start at one, but I do find it tends to avoid having to fix things up when you talk to the user.
14:16 masak unless the user is Edsger Dijkstra.
14:18 [Coke] @aa.kv -> $k, $v    helps. I almost wish for a .kv:ordinal where the $k is by-one.
14:18 shinobicl joined #perl6
14:18 shinobicl left #perl6
14:28 masak rn: use MONKEY_TYPING; augment class List { multi method kv(:$ordinal!) {} }
14:28 camelia niecza v24-47-g0a84de2: OUTPUT«Potential difficulties:â�¤  $ordinal is declared but not used at /tmp/YRGpMeuRgi line 1:â�¤------> [32m; augment class List { multi method kv(:[33mâ��[31m$ordinal!) {} }[0mâ�¤â�¤Â»
14:28 camelia ..rakudo bfd850: OUTPUT«===SORRY!===␤Cannot have a multi candidate for 'kv' when an only method is also in the package 'List'␤»
14:29 masak anyone against me changing 'method kv' in src/core/List.pm to 'multi method kv'?
14:29 masak I'll spectest and everything ;)
14:31 xilo joined #perl6
14:37 jerome joined #perl6
14:38 [Coke] or maybe an IndexStr type that numerically is 0 but stringifies as 1. ;)
14:39 [Coke] (as long as you're listening to the crazy cold fusion programmer)
14:41 masak stringifying to 1 doesn't make sense to me.
14:41 masak the one is a numerical index, too.
14:42 [Coke] hey, if 50% of my ideas make sense to you, you're still in trouble.
14:43 masak ;)
14:50 kaleem joined #perl6
15:03 ajr joined #perl6
15:07 LlamaRider joined #perl6
15:10 shinobicl joined #perl6
15:18 Ulti does perl6 date time stuff let you pass in horrible english descriptions of dates like PHP?
15:19 moritz no
15:19 Ulti something to do then :)
15:19 moritz it only parses ISO-forgotthenumber dates
15:20 moritz and times
15:21 Ulti http://php.net/manual/en/function.strtotime.php if anyone vaguely cares about what I'm talking about
15:25 thou joined #perl6
15:25 clkao joined #perl6
15:26 bruges joined #perl6
15:27 masak git does that with its --since options and so on.
15:28 masak moritz: 8601.
15:28 donaldh there are modules in CPAN for Perl 5 that do this. Would this be core Perl 6 or a module?
15:28 TimToady yes it'd be good to have some date parsing somehow for http://rosettacode.org/wiki/Date_manipulation
15:28 yoleaux 09:42Z <FROGGS> TimToady: halp! can you please give me a hint how to properly set up the print-token? https://gist.github.com/FROGGS/0588a945575387a3bf70
15:28 btyler joined #perl6
15:29 TimToady FROGGS: that's indirect object syntax, which is known to be hard...
15:29 TimToady we will need to reverse engineer the code in toke.c that does that
15:30 masak preferably on a case-by-case basis.
15:30 TimToady (if you can call the original "engineering")
15:30 masak with tests :)
15:30 nwc10 I thought that most engineers didn't use smoke and mirrors
15:30 TimToady well, magical engineers do
15:31 nwc10 it's very effective magic. But I struggle to understand more than 0.1% of it at a time
15:31 masak that's why it's magic, because it's sufficiently advanced technology :P
15:32 rjbs powered by perl5's intuition engine
15:32 TimToady Sufficiently advanced technology is indistinquishable from sufficiently retarded technology.
15:33 masak TimToady: hey, don't speak badly of Perl 5! are you sure you would have done better oh wait
15:33 * masak .oO( any sufficiently advanced math is isomorphic to category theory )
15:33 TimToady I'm sure I wouldn't've done better...
15:33 masak :P
15:33 Ulti oh wow PHP implementation :'( https://github.com/php/php-src/blob/master/ext/date/lib/parse_date.c that is some hairy C code
15:34 diakopter Ulti: that's generated from a compiler compiler :)
15:35 Ulti oh its generated
15:35 Ulti yeah just noticed
15:35 Ulti heh
15:35 Ulti I was thinking it takes a special kind of human to grok that
15:35 donaldh the one that wrote yacc
15:35 moritz it takes a special kind of non-human to grok that :-)
15:36 rjbs My six year-old is working on heiroglyphics right now.
15:36 rjbs Perl must be up next.
15:36 nwc10 and then APL?
15:37 rjbs Oh, come now.  I plan on providing *some* parental guidance.
15:37 Ulti yeah ok forget how PHP does it, can use a grammar in perl6 :)
15:37 geekosaur agda with unicode
15:39 masak yeah, 6yos shouldn't be using APL, they should be using J or K at this point.
15:39 huf they could use a .pl
15:40 gdey joined #perl6
15:40 gdey joined #perl6
15:40 donaldh Ulti: that would be a lovely grammar demo
15:41 Ulti donaldh yeah and quite useful... I should really write my PhD thesis first though >:3
15:48 TimToady wow, having one's eyes dilated does not improve the reading of toke.c
15:48 TimToady .oO(My Eye Glaze Under)
15:48 TimToady *Eyes
15:49 grondilu joined #perl6
15:50 grondilu n: say "f" ~~ /<*foo>/
15:50 camelia niecza v24-47-g0a84de2: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Action method assertion:sym<*> not yet implemented at /tmp/FtxVG8xcaJ line 1:â�¤------> [32msay "f" ~~ /<*foo[33mâ��[31m>/[0mâ�¤â�¤Unhandled exception: Unable to resolve method oplift in type Anyâ�¤  at /home/p6eval/niecza/src/RxO…
15:50 sizz joined #perl6
15:50 grondilu r: say "f" ~~ /<*foo>/
15:50 camelia rakudo bfd850: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter < (must be quoted to match literally)�at /tmp/ypdS_IffBC:1�------> [32msay "f" ~~ /<[33m�[31m*foo>/[0m�Unrecognized regex metacharacter * (must be quoted to match literally)�at /tmp/ypdS_IffBC:1�--…
15:54 masak enums in Python: http://www.python.org/dev/peps/pep-0435/ -- just got accepted, it seems.
15:55 masak I bet there are things we can learn from that PEP.
16:03 PerlJam Hmm.   "Given two members A and B with the same value (and A defined first), B is an alias to A."  and  "Iterating over the members of an enum does not provide the aliases"   seems weird
16:04 masak why?
16:04 TimToady stored as dictionary or list of 3 => Wed maybe
16:05 TimToady or the iterator extracts unique .values
16:06 TimToady but probably forward is hash Wed => 3, and backwards just an array 3 => Wed
16:06 PerlJam masak: I guess because I don't see another way for introspection yet.
16:06 TimToady and the iterator runs over the array
16:07 PerlJam (and if I put in 5 things, I expect to get 5 things our somehow)
16:07 PerlJam s/our/out/
16:09 PerlJam oh, I totally glossed over __members__
16:09 * PerlJam needs to retrain his eyes.
16:09 rafl joined #perl6
16:09 pmichaud PerlJam: yeah, go for a semigloss next time.
16:12 TimToady We don't try to prevent Wed * 2
16:12 hoelzro do any enterprising Perl 6 contributors feel like helping out with the Perl 6 support in Vim? =)
16:13 Vlavv` joined #perl6
16:13 grondilu How can I test if a variable is [] if the variable is not even necessarily an array?
16:14 PerlJam grondilu: the question doesn't make enough sense for me.
16:14 TimToady ah, enumeration is in declaration order
16:14 masak pmichaud! \o/
16:14 grondilu rn: my $x = "foo"; say $x ~~ Array and $x.elems == 0;
16:15 camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«False␤»
16:15 grondilu rn: my $x = []; say $x ~~ Array and $x.elems == 0;
16:15 camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True␤»
16:15 grondilu ^ I guess that will do
16:15 masak rn: my $x; say $x ~~ []
16:15 camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«False␤»
16:15 masak er.
16:15 masak rn: my $x = []; say $x ~~ []
16:15 camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True␤»
16:16 grondilu rn:  my $x = {}; say $x ~~ []
16:16 camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True␤»
16:17 masak rn: my $x = {}; say $x ~~ [] & Array
16:17 camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«False␤»
16:17 masak rn: my $x = []; say $x ~~ [] & Array
16:17 camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True␤»
16:18 masak rn: my $x = []; say $x ~~ 0 & Array
16:18 camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True␤»
16:19 TimToady I wouldn't use 0
16:19 TimToady it would force calculation of the length of the array
16:19 TimToady which maybe you don't want to do
16:20 pmichaud .elems will force calculating the length of the array also
16:20 PerlJam grondilu: if you want to ask "is this thing an array and is the array empty", then your first solution seems to be the best way.
16:20 TimToady rn: my $x = []; say $x ~~ .so & Array
16:20 camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«False␤»
16:20 TimToady rn: my $x = []; say $x ~~ .not & Array
16:20 camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True␤»
16:21 masak grondilu: what PerlJam said.
16:21 grondilu ok
16:22 TimToady use a boolean test to be sure to avoid calculating the length
16:23 sjohnson joined #perl6
16:23 TimToady and maybe you want Positional instead of Array?
16:24 arlinius joined #perl6
16:27 PerlJam Using a boolean test to avoid accidental eagerness is subtle enough that it may end up in a "Perl 6 Best Practices" or a FAQ or something.
16:29 masak aye.
16:31 TimToady one almost wants a special infix:<==>(Array,Num) that optimizes for that
16:31 TimToady "Nope, I'm not 0"
16:32 TimToady er, more like (List,Int) I suppose
16:32 pmichaud multi sub infix:<==>(List $l, $n) { $l.gimme($n+1) == $n }
16:34 pmichaud although maybe it'd be better as infix:<cmp>
16:34 LylePerl joined #perl6
16:34 pmichaud since people will write  @array > 0   also
16:38 masak LylePerl! \o/
16:38 masak ...or not :/
16:38 grondilu wow, I solved a rosalind suffix-tree problem in a neat way!
16:39 dalek perl6-examples: 8da517c | (L. Grondin)++ | rosalind/suff-grondilu.pl:
16:39 dalek perl6-examples: (rosalind) SUFF
16:39 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/8da517cb8d
16:39 grondilu ^check it out
16:41 berekuk joined #perl6
16:42 TimToady what's with the parens around the conditionals?
16:43 grondilu lol, I've been coding a bit P5 lately :)
16:44 TimToady the rest of it looks more like Lisp :)
16:45 arnsholt Oooh, suffix tree
16:46 * TimToady wishes it were just a bit easier to treat pairlists as normal lists
16:46 masak indentation seems busted. something to do with tab characters?
16:46 TimToady look at it as a normal file and it's better
16:48 grondilu masak: I forgot to filter it through expand before commiting
16:49 dalek perl6-examples: 22ef363 | (L. Grondin)++ | rosalind/suff-grondilu.pl:
16:49 dalek perl6-examples: minor style rewrite
16:49 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/22ef363102
16:57 frdmn joined #perl6
16:58 bluescreen100 joined #perl6
17:55 berekuk joined #perl6
17:59 rindolf joined #perl6
18:20 dagurval r: say IO::Spec.catfile("c:\\tmp", "42");
18:20 camelia rakudo bfd850: OUTPUT«c:\tmp/42␤»
18:21 dagurval should it not be c:\tmp\42 ?
18:21 geekosaur if the bot were running on a windows system, maybe
18:22 dagurval r: say IO::Spec::Win32.catfile("c:\\tmp", "42");
18:22 camelia rakudo bfd850: OUTPUT«C:\tmp\42␤»
18:22 dagurval ok, so IO::Spec has behaviour relative to its environment
18:23 geekosaur one would hope so. what if I had a unixy filename that just happened to look windowsy?
18:23 geekosaur or vice versa
18:24 grondilu rn: my @key = <foo bar>; my @c = <01 10>; say .perl given my @ = map { hash @key Z=> .comb }, @c
18:24 camelia rakudo bfd850: OUTPUT«["foo" => "0", "bar" => "1", "foo" => "1", "bar" => "0"]␤»
18:24 camelia ..niecza v24-47-g0a84de2: OUTPUT«["foo" => "0", "bar" => "1", "foo" => "1", "bar" => "0"].list␤»
18:25 * grondilu was expecting a list of two hashes, not a list of four pairs :/
18:25 grondilu pugs: my @key = <foo bar>; my @c = <01 10>; say .perl given my @ = map { hash @key Z=> .comb }, @c
18:25 camelia pugs: OUTPUT«*** ␤    Unexpected " ="␤    expecting formal parameter␤    at /tmp/P_PW3vmOXs line 1, column 59␤»
18:27 geekosaur worse... you have word processing files created by a user, with names like "[SGB]Mumble". autoswitch to vms mode?
18:28 labster dagurval:  you probably should be using IO::Path instead
18:29 labster r: say IO::Path::Win32.new("c:\\temp").child("42")
18:29 camelia rakudo bfd850: OUTPUT«IO::Path::Win32<c:\temp\42>␤»
18:29 labster huh.  There should be an easy way of making that with Str.path.  Maybe I should add an OS parameter.
18:30 labster r: $*TMPDIR.path.child("42").say
18:30 camelia rakudo bfd850: OUTPUT«IO::Path</tmp/42>␤»
18:32 TimToady rn: my @key = <foo bar>; my @c = <01 10>; say .perl given my @ = map({ hash @key Z=> .comb }, @c).lol
18:32 camelia niecza v24-47-g0a84de2: OUTPUT«Unhandled exception: Unable to resolve method lol in type List␤  at /tmp/ZWHzg8xC1a line 1 (mainline @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4327 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4328 (module-CORE @ 582) ␤  at /home/p…
18:32 camelia ..rakudo bfd850: OUTPUT«[ListIter.new()]␤»
18:32 shinobicl hello.... is there some ORM system for perl6 in development yet?
18:35 TimToady rn: my @key = <foo bar>; my @c = <01 10>; say .perl for map({ hash @key Z=> .comb }, @c).lol
18:35 camelia niecza v24-47-g0a84de2: OUTPUT«Unhandled exception: Unable to resolve method lol in type List␤  at /tmp/8u7zTKXXgu line 1 (mainline @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4327 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4328 (module-CORE @ 582) ␤  at /home/p…
18:35 camelia ..rakudo bfd850: OUTPUT«ListIter.new()␤»
18:35 TimToady r: my @key = <foo bar>; my @c = <01 10>; .say for map({ hash @key Z=> .comb }, @c).lol
18:35 camelia rakudo bfd850: OUTPUT«ListIter.new()␤»
18:37 dagurval labster: ah, great!
18:37 TimToady r: my @key = <foo bar>; my @c = <01 10>; .say for map { hash( @key Z=> .comb ).item }, @c
18:37 camelia rakudo bfd850: OUTPUT«("foo" => "0", "bar" => "1").hash␤("foo" => "1", "bar" => "0").hash␤»
18:38 TimToady nr: my @key = <foo bar>; my @c = <01 10>; .say for map { $%( @key Z=> .comb ) }, @c
18:38 camelia niecza v24-47-g0a84de2: OUTPUT«[31m===[0mSORRY![31m===[0m��Unsupported use of $% variable; in Perl 6 please use Form module at /tmp/n_e61oHCIW line 1:�------> [32mbar>; my @c = <01 10>; .say for map { $%[33m�[31m( @key Z=> .comb ) }, @c[0m��Parse failed��»
18:38 camelia ..rakudo bfd850: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of $% variable; in Perl 6 please use Form module�at /tmp/5q47y8WQRi:1�------> [32mbar>; my @c = <01 10>; .say for map { $%[33m�[31m( @key Z=> .comb ) }, @c[0m�»
18:38 TimToady hmm
18:39 TimToady std: $%( %*ENV )
18:39 camelia std b33d8e0: OUTPUT«ok 00:00 43m␤»
18:39 jeffreykegler joined #perl6
18:40 grondilu std: for lines { .say }
18:40 camelia std b33d8e0: OUTPUT«[31m===[0mSORRY![31m===[0m�Function 'lines' needs parens to avoid gobbling block at /tmp/x5nVVlgcVD line 1:�------> [32mfor lines[33m�[31m { .say }[0m�Missing block (apparently gobbled by 'lines') at /tmp/x5nVVlgcVD line 1:�------> [32mfor lines { .say }[33…
18:41 grondilu ^this error message is more useful than what rakudo gives
18:41 grondilu r: for lines { .say }
18:41 camelia rakudo bfd850: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Missing blockâ�¤at /tmp/fSJA3wkQm8:1â�¤------> [32mfor lines { .say }[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        method argumentsâ�¤        postfixâ�¤        statement endâ�¤        statement modifierâ�¤        statement modifier loopâ�¤   …
18:41 moritz agreed
18:41 moritz welcome to the wonderful world of higwater marks, or whatever they are called :-)
18:49 labster Oh yeah, I kinda snuck $*TMPDIR in with the path stuff.  Is that something we'd like to spec?  It's just a call to IO::Spec.tmpdir in more convenient form.
18:51 grondilu TimToady: so you recommend I use the .item method?  Will it be easier to make a list of hashes in the future?
18:52 FROGGS TimToady: thanks, will look at toke.c
18:52 Vlavv joined #perl6
18:55 ajr joined #perl6
18:57 TimToady in the future you'll be able to use $%(...) but nobody parses it yet except STD, and my local niecza :)
18:58 FROGGS local++ :P
18:58 FROGGS TimToady: please tell me that I dont have to under stand that part: https://github.com/mirrors/perl/blob/blead/toke.c#L6499
19:00 cognominal joined #perl6
19:03 dalek niecza: 1d127e4 | larry++ | src/STD.pm6:
19:03 dalek niecza: allow $% and $@ itemizers to align with STD
19:03 dalek niecza: review: https://github.com/sorear/niecza/commit/1d127e411e
19:04 japhb_ joined #perl6
19:05 TimToady FROGGS: no, you have to understand several parts, including that one
19:05 FROGGS \o/
19:06 TimToady or wait for me to rewrite that part of STD_P5, which might happen sooner or later
19:07 FROGGS hmmm
19:07 berekuk joined #perl6
19:07 FROGGS I'll see what else would makes sense to do now...
19:11 [Coke] hoelzro: p6 vim - alester had a good start on that.
19:11 TimToady nr: say $%*ENV
19:11 camelia rakudo bfd850: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of $% variable; in Perl 6 please use Form module�at /tmp/8a9pPqKCV0:1�------> [32msay $%[33m�[31m*ENV[0m�»
19:11 camelia ..niecza v24-48-g1d127e4: OUTPUT«{"HOME" => "/home/p6eval", "LANG" => "en_US.UTF-8", "LD_LIBRARY_PATH" => "/usr/local/mono-2.10.1/lib", "LOGNAME" => "p6eval", "LS_COLORS" => "rs=0:di=01;34:ln=01;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=3…
19:12 TimToady okay, that's now officially a rakudobug, since niecza does it :)
19:12 FROGGS *g*
19:12 alester [Coke]: hoelzro is a contributor on vim-perl.  He's been goin' to town on prepping for vim 7.4
19:12 * masak submits rakudobug
19:13 [Coke] ah, good.
19:13 TimToady n: say +[%*ENV, 42]
19:13 camelia niecza v24-48-g1d127e4: OUTPUT«25␤»
19:13 FROGGS masak: please link that patch too: https://github.com/sorear/niecza/commit/1d127e411e
19:13 TimToady n: say +[$%*ENV, 42]
19:13 camelia niecza v24-48-g1d127e4: OUTPUT«2␤»
19:13 TimToady and it does, in fact, itemize it
19:14 TimToady n: say +[$%( :a, :b, :c ), 42]
19:14 camelia niecza v24-48-g1d127e4: OUTPUT«2␤»
19:14 TimToady n: say +[%( :a, :b, :c ), 42]
19:14 camelia niecza v24-48-g1d127e4: OUTPUT«4␤»
19:14 TimToady \o/
19:15 berekuk joined #perl6
19:15 masak FROGGS: oh, will do.
19:15 FROGGS thanks
19:16 chee joined #perl6
19:16 grondilu std:  ${ foo => "bar }
19:16 camelia std b33d8e0: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of ${ foo => "bar }; in Perl 6 please use $( foo => "bar ) at /tmp/bIRmzIgMAf line 1:�------> [32m${ foo => "bar }[33m�[31m<EOL>[0m�Parse failed�FAILED 00:00 41m�»
19:17 grondilu std:  ${ foo => "bar" }
19:17 camelia std b33d8e0: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of ${ foo => "bar" }; in Perl 6 please use $( foo => "bar" ) at /tmp/9WVj2dZ5Rs line 1:�------> [32m${ foo => "bar" }[33m�[31m<EOL>[0m�Parse failed�FAILED 00:00 41m�»
19:17 grondilu std:  $({ foo => "bar" })
19:17 camelia std b33d8e0: OUTPUT«ok 00:00 44m␤»
19:17 FROGGS std:  $( foo => "bar" )
19:17 FROGGS std:  $( foo => "bar" )
19:17 camelia std b33d8e0: OUTPUT«ok 00:00 43m␤»
19:17 camelia std b33d8e0: OUTPUT«ok 00:00 43m␤»
19:17 FROGGS r: say 'hello'
19:17 camelia rakudo bfd850: OUTPUT«hello␤»
19:18 FROGGS :o)
19:18 grondilu n: say .WHAT for $({ foo => "bar" }), $( foo => "bar" )
19:18 camelia niecza v24-48-g1d127e4: OUTPUT«(Hash)␤(Pair)␤»
19:19 TimToady n: say .WHAT for $%( foo => "bar" ), $( foo => "bar" )
19:19 camelia niecza v24-48-g1d127e4: OUTPUT«(Hash)␤(Pair)␤»
19:20 TimToady saves one char :)
19:21 jeffreykegler joined #perl6
19:22 TimToady n: my $pair = foo => "bar"; say .WHAT for $%$pair, $pair
19:22 camelia niecza v24-48-g1d127e4: OUTPUT«(Hash)␤(Pair)␤»
19:22 grondilu pugs: my @key = <foo bar>; my @c = <01 10>; say .perl given my @ = map { my $ = hash @key Z=> .comb }, @c
19:22 camelia pugs: OUTPUT«*** ␤    Unexpected " ="␤    expecting formal parameter␤    at /tmp/n2fyREX12n line 1, column 59␤»
19:22 grondilu r: my @key = <foo bar>; my @c = <01 10>; say .perl given my @ = map { my $ = hash @key Z=> .comb }, @c
19:22 camelia rakudo bfd850: OUTPUT«[{"foo" => "0", "bar" => "1"}, {"foo" => "1", "bar" => "0"}]␤»
19:23 grondilu ^I forgot this could work as well
19:24 TimToady n: my @key = <foo bar>; my @c = <01 10>; .perl.say for map { $%( @key Z=> .comb ) }, @c
19:24 camelia niecza v24-48-g1d127e4: OUTPUT«{"bar" => "1", "foo" => "0"}␤{"bar" => "0", "foo" => "1"}␤»
19:24 TimToady that's what I was wanting to work earlier, except it didn't...
19:31 Grrrr joined #perl6
19:32 brrt joined #perl6
19:37 Moukeddar joined #perl6
19:52 Moukeddar evenin' #perl6 o/
19:53 btyler joined #perl6
19:56 dalek rakudo/jvm-support: 1a2fcbd | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
19:56 dalek rakudo/jvm-support: Fix some incorrect array access ops.
19:56 dalek rakudo/jvm-support:
19:56 dalek rakudo/jvm-support: JVM is stricter. Unbusts the multi-dispatcher somewhat.
19:56 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/1a2fcbd08e
19:56 dalek rakudo/jvm-support: 111de52 | jonathan++ | src/vm/jvm/ (2 files):
19:56 dalek rakudo/jvm-support: Ensure CSD is updated.
19:56 dalek rakudo/jvm-support:
19:56 dalek rakudo/jvm-support: Means that the multi-dispatcher sees the args it's meant to.
19:56 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/111de52e38
20:03 masak Moukeddar! \o/
20:04 sqirrel joined #perl6
20:11 lizmat hello #perl6!
20:12 dalek nqp/rak-jvm-support: dcc4c3e | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
20:12 dalek nqp/rak-jvm-support: Implement nqp::captureposprimspec on JVM.
20:12 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/dcc4c3ea69
20:12 dalek nqp/rak-jvm-support: 863ea92 | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
20:12 dalek nqp/rak-jvm-support: Fix an op name.
20:12 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/863ea92c3a
20:12 lizmat I was just wondering: with grammar being the equivalent of "module/class" but for regexes
20:12 lizmat shouldn't grammar allow for "auth" / "ver" / "name" setting as well ?
20:14 jnthn I suspect it already Just Works to the degree any of that stuff works in Rakudo
20:14 dalek perl6-roast-data: def708b | coke++ | / (4 files):
20:14 dalek perl6-roast-data: today (automated commit)
20:14 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/def708bd74
20:14 jnthn GrammarHOW is just a subclass of ClassHOW
20:14 jnthn And so has name/ver/auth slots
20:14 lizmat indeed, but nothing of that is specced afaik
20:14 [Coke] niecza has been dirty for 297 days. pugs has been clean for 1 day. rakudo has been dirty for 6 days.
20:15 masak lizmat: does the spec even mention ClassHOW?
20:15 jnthn I'd assume any package type is fine enough.
20:16 lizmat S04:1476 states "This feature is awaiting further exploration by means of a C<ClassHOW> extension."
20:17 lizmat S12:2517: Custom meta objects mentions ClassHOW
20:20 masak oh, good.
20:24 lizmat anyway, my short term goal is sort of condensed in: https://gist.github.com/lizmat/5557120
20:24 japhb_ jnthn, can a built nqp-parrot and nqp-jvm coexist within a single nqp tree, or do I need to make two clones if I want to compare them?
20:24 jnthn japhb_: I think the nqp clean's may stomp on things that matter to one or the other...
20:25 lizmat it errors out with "Redeclaration of symbol Foo at file:6"
20:25 jnthn japhb_: Maybe not, though
20:25 jnthn I didn't try it.
20:25 jnthn japhb_: I didn't do anything to make it not work, at least :)
20:33 jeffreykegler joined #perl6
20:35 japhb_ jnthn, Similarly (assuming 'make clean' is fixed to be careful) do you think it likely to be able to build rakudo-parrot and rakudo-jvm in the same tree?
20:35 TimToady http://rosettacode.org/wiki/Repeated_string#Perl_6 would be even shorter if we could say <*$0> instead of the assertion
20:35 japhb_ .oO( Gentle nudges, TimToady style:  "I could golf this very nicely if you implemented this feature ...." )
20:36 japhb_ .oO( The new dance fad: TimToady Style )
20:36 * TimToady dances the Golf Swing
20:38 jnthn japhb_: Oh...just realized
20:38 jnthn they both produce the final executable thing with the same name on non-Windows. :)
20:38 japhb_ Heh
20:38 jnthn That's solvable.
20:39 japhb_ nodnod
20:39 lizmat jnthn: that would only be a pb with "make install", no?
20:39 jnthn lizmat: If you build both in the same directory you get the issue I think too.
20:40 jnthn I suspect having the ability to have them all built at once is interesting from a dev perspective.
20:41 japhb_ I agree
20:41 lizmat jnthn++
20:41 jnthn tc.gc
20:41 jnthn oops
20:42 japhb_ (For my particular use case, I can work around it with local-FS clones, but it does seem to make sense to be able to build all VM variants in one tree, yes.)
20:44 TimToady rn: say 1001110011 ~~ /^ (.+) $0+ @([\~] $0.comb)? $ /
20:44 camelia niecza v24-48-g1d127e4: OUTPUT«「1001110011」␤ 0 => 「10011」␤␤»
20:44 camelia ..rakudo bfd850: OUTPUT«No such method 'comb' for invocant of type 'Any'␤  in regex  at /tmp/OHj0MG5jaw:1␤  in method ACCEPTS at src/gen/CORE.setting:10370␤  in method ACCEPTS at src/gen/CORE.setting:683␤  in block  at /tmp/OHj0MG5jaw:1␤␤»
20:45 * TimToady thinks rakudo is running the innards of @() too soon
20:45 japhb_ jnthn, Was nqp-jvm in the main NQP repo and self-building in time for the NQP 2013.04 release?  I've lost track of when that happened ....
20:46 jnthn japhb_: No, .05 was first one thing it, iirc
20:46 jnthn Oh, or was it...
20:46 * masak submits TimToady's rakudobug
20:46 jnthn I dunno, I just code this stuff. There's git for remebering stuff :P
20:47 TimToady rn: say 1110111011 ~~ /^ (.+) $0+ @([\~] $0.comb)? $ /
20:47 camelia niecza v24-48-g1d127e4: OUTPUT«「1110111011」␤ 0 => 「1110」␤␤»
20:47 camelia ..rakudo bfd850: OUTPUT«No such method 'comb' for invocant of type 'Any'␤  in regex  at /tmp/ZzX4wNNCLi:1␤  in method ACCEPTS at src/gen/CORE.setting:10370␤  in method ACCEPTS at src/gen/CORE.setting:683␤  in block  at /tmp/ZzX4wNNCLi:1␤␤»
20:47 jnthn TimToady, masak: I doubt it's about "too early" so much as $/ not being up to date enough.
20:47 TimToady (btw, that's a short implementatoin of <*$0> there...)
20:47 TimToady probably not very speedy, but still
20:47 jnthn To test that hypothesis, but a {} before the @(...)
20:48 TimToady rn: say 1110111011 ~~ /^ (.+) $0+ {} @([\~] $0.comb)? $ /
20:48 camelia rakudo bfd850, niecza v24-48-g1d127e4: OUTPUT«「1110111011」␤ 0 => 「1110」␤␤»
20:48 jnthn Yup, it's that.
20:48 TimToady huh
20:48 jnthn masak: There's already an RT ticket about $/ stuff.
20:49 jnthn masak: So may want to add it (or ref it)
20:50 jnthn TimToady: I think it's just that @foo only used to interpolate and not have the chance to run code.
20:50 masak jnthn: ok, gotcha.
20:51 jnthn TimToady: In Rakudo, Match is constructed from the stack of captures Cursor collects.
20:52 TimToady then how does the first $0 work, if $/ is delayed?
20:53 jnthn TimToady: iirc, $0 is parsed explicitly as a back-reference and handled separately.
20:53 masak jnthn: can't find such an RT ticket.
20:54 jnthn masak: I think the title of the ticked used the word "published" and "match variables", maybe not $/
20:54 TimToady well, the main point of reversing the meaning of $foo in regex was so that $0 could be treated like a normal variable, and vice versa...
20:54 jnthn TimToady: May still be performant to treat them separately.
20:54 jnthn TimToady: Certainly is in the Rakudo engine, anyway.
20:55 TimToady :)
20:55 TimToady errand &
20:58 FROGGS hmmm, lets see if irclog has some timeouts built in for search queries :/
20:59 brrt left #perl6
21:00 masak found the RT ticket. jnthn++ :)
21:00 * masak adds today's musings
21:00 * lizmat is trying to grok S05:354: "C<< <.ws> >> can't decide what to do until it sees the data. It still does the right thing.  If not, define your own C<< ws >> and C<:sigspace> will use that."
21:01 jnthn lizmat: Which bits are you unsure about?
21:01 lizmat so what is the difference between <.ws> and my own <ws>
21:01 lizmat note the .
21:01 jnthn <.ws> means "don't capture"
21:01 jnthn <ws> will capture
21:01 jnthn Which is pointless
21:01 masak lizmat: . just means "don't cap" what jnthn said.
21:01 jnthn When it was "define your own ws" it means the token name is ws
21:01 lizmat wonder where that is specced….  must have read over that subtle difference
21:01 jnthn *says
21:02 FROGGS r: say "abc" ~~ / 'a' <ident> 'c' /
21:02 camelia rakudo bfd850: OUTPUT«Nil␤»
21:03 FROGGS r: say "abc" ~~ / 'a' <alpha> 'c' /
21:03 camelia rakudo bfd850: OUTPUT«「abc」␤ alpha => 「b」␤␤»
21:03 FROGGS r: say "abc" ~~ / 'a' <.alpha> 'c' /
21:03 camelia rakudo bfd850: OUTPUT«「abc」␤␤»
21:03 FROGGS maybe it is too late but I had expected that ident will match
21:03 FROGGS but I can't deny that I am tired
21:04 lizmat <ident> implies word boundary on either side, no?
21:04 FROGGS ahh, makes sense, yeah
21:05 lizmat identifier boundary, I guess, as in this context - and ' are also part of the allowable characters
21:05 lizmat if I'm not mistaken  :-)
21:06 FROGGS yeah, I think you are right
21:22 grondilu r: say "foo" ~~ /^ <ident> $/
21:22 camelia rakudo bfd850: OUTPUT«「foo」␤ ident => 「foo」␤␤»
21:22 dalek nqp/rak-jvm-support: 9ad904b | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/ (4 files):
21:22 dalek nqp/rak-jvm-support: Serialize HLL related info.
21:22 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/9ad904bea8
21:22 dalek nqp/rak-jvm-support: dffacb2 | jonathan++ | src/ (2 files):
21:22 dalek nqp/rak-jvm-support: Mark HLL roles on various types.
21:22 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/dffacb2e03
21:23 lizmat r: say "foo" ~~ /^ <.ident> $/
21:23 camelia rakudo bfd850: OUTPUT«「foo」␤␤»
21:23 lizmat I understand it now, I'm just still wondering where this is specced
21:24 lizmat because if it isn't, it should be  :-)
21:26 [Coke] the .?
21:26 lizmat making <ident> non capturing with <.ident>
21:30 lizmat gnight #perl6!
21:30 colomon o/
21:33 timotimo_ tell lizmat it's specced in S05, the text is "A leading . explicitly calls a method as a subrule; the fact that the initial character is not alphanumeric also causes the named assertion to not capture what it matches (see "Subrule captures". For example:
21:35 masak 'night, lizmat
21:36 berekuk joined #perl6
21:39 dalek rakudo/jvm-support: 380909f | jonathan++ | src/vm/jvm/runtime/org/perl6/rakudo/ (2 files):
21:39 dalek rakudo/jvm-support: Start translating the binder code.
21:39 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/380909f00d
21:58 TimToady note that the reason / 'a' <ident> 'b' / doesn't work has little to do with anchoring; <ident> is defined as a token, so it won't backtrack into any quantifiers
21:58 TimToady since token implies :ratchet
22:00 masak oh, I thought that was it when I first saw it.
22:08 jnthn Didn't I...oh, no, I dodn't say anything :)
22:08 dalek nqp/rak-jvm-support: 2a01b7d | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/ (2 files):
22:08 dalek nqp/rak-jvm-support: Start storing HLL mapping config.
22:08 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/2a01b7d37d
22:08 dalek nqp/rak-jvm-support: 6396b9e | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
22:08 dalek nqp/rak-jvm-support: Get HLL mapping mostly in place.
22:08 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/6396b9eb73
22:17 donaldh joined #perl6
22:17 FROGGS TimToady: so, to get it right: it doesnt match because <ident> already matched more than one char?
22:18 jnthn yes
22:18 FROGGS cool, good to know
22:18 FROGGS (and it is a bit obvious now)
22:19 FROGGS gnight pals
22:20 grondilu Where are set operators specced?
22:20 * grondilu can't find them in S03
22:21 TimToady S32/Containers:1102
22:21 TimToady well, except for the operators :)
22:21 donaldh jnthn: can you give any tips for debugging nqp?
22:22 grondilu r: say set(<foo bar>) (|) set(<foo>)
22:22 camelia rakudo bfd850: OUTPUT«set(foo, bar)␤»
22:22 grondilu r: say set(<foo bar>) (^) set(<foo>)
22:22 camelia rakudo bfd850: OUTPUT«set(bar)␤»
22:23 grondilu r: say set(<foo bar>) (&) set(<foo>)
22:23 camelia rakudo bfd850: OUTPUT«set(foo)␤»
22:23 grondilu that will do
22:23 jnthn donaldh: I was about to say that looking at where it went wrong is a good hint, but I fear you're working on the stuff that tells us exactly what went wrong ;)
22:23 jnthn (that is, the line number stuff...)
22:23 TimToady I guess STD's CORE.setting has the protos anyway
22:23 donaldh :-)
22:25 donaldh jnthn: Trying to learn the QAST and JAST nodes by inspection. But failing miserably. Any hints?
22:26 jnthn donaldh: QAST is somewhat documented in docs/qast.markdown
22:26 jnthn JAST is...well, there's just JASTNodes.nqp :)
22:26 snoopy joined #perl6
22:27 jnthn JAST is really just an representation of JVM bytecode, really.
22:27 jnthn *a
22:27 jnthn uh, and one too many really :)
22:27 donaldh guess I should try using nqp::say($node.dump()); ?
22:28 jnthn That can probably give some info
22:28 jnthn --target=qast # lets you see the QAST tree some NQP program produces
22:29 donaldh oh, of course. I did that back when I was working on asm
22:29 dalek rakudo/jvm-support: 395f577 | jonathan++ | src/vm/jvm/runtime/org/perl6/rakudo/Ops.java:
22:29 dalek rakudo/jvm-support: Implement nqp::p6parcel on JVM.
22:29 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/395f577d4f
22:29 jnthn :)
22:29 jnthn The asm work was great, btw. We use invokedynamic in various places now :)
22:30 donaldh Yeah, I'm trying to find the time to poke into how you're using invokedynamic
22:31 jnthn IndyBootstrap.java is at the heart of it
22:31 jnthn There's more that we can do there too
22:32 jnthn I want to get the return value handling wired up to it at some point. But for now, getting Rakudo to run is my main focus :)
22:33 jnthn Don't mind if somebody task steals the return handling stuff, of course :)
22:35 donaldh Is that why we get unknown return type in stack traces?
22:36 jnthn "unknown return type"?
22:37 jnthn At the moment the NQP-handled stack traces just show routine name
22:37 jnthn but if you look at a Java one then yeah, it's all void and the return handling is out of band.
22:38 donaldh Yep, at breakpoint in Java debugger.
22:39 jnthn One other indy task is to get the multi-dispatch cache to participate in it.
22:40 jnthn That's likely gonna be fiddly, but probably rather worth it.
22:40 donaldh I'm guessing that will be a big win
22:40 jnthn Well, maybe, but the guardWithTest combinator doesn't appear to be as well optimized as I had expected so far.
22:44 donaldh jnthn: Am I right in thinking we want to eliminate JASTToJVMByteCode at some point? I.e. go directly from JAST without intermediate string representation.
22:45 jnthn donaldh: Certainly.
22:45 jnthn donaldh: The text was mostly a "we have a process boundary here" thing.
22:45 jnthn Now there's no real reason for it.
22:45 donaldh Yep. It was always going to be a problem before self hosting
22:46 jnthn Yeah. But now we're self hosted, it's just a needless bunch of text generation and parsing.
22:49 donaldh yup
22:50 * donaldh realises the entire modern world crosses process boundaries in text
22:51 * donaldh o O ( internet )
22:56 masak text is the ultimate process boundary crosser, though.
23:04 skids joined #perl6
23:10 kivutar joined #perl6
23:14 jnthn time to head home and to sleep...'night, #perl6
23:15 TimToady o/
23:21 masak 'nght, jnthn
23:27 donaldh 'night all
23:29 xilo joined #perl6
23:30 Vlavv_ joined #perl6
23:34 Vlavv_ joined #perl6
23:36 xilo joined #perl6
23:40 Vlavv_ joined #perl6
23:55 Vlavv_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo