»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by moritz on 3 May 2013.
lue gets the sickening thought that IE would screw up and add up even numbers instead 00:01
sorear html5 is an umbrella term for a large and constantly changing set of things. freezing it would make no sense. 00:03
00:05 sixn00b joined
sixn00b Does perl6 have threads? 00:06
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:08
sixn00b perl6: say "Do you have threads?" 00:10
camelia rakudo bfd850, niecza v24-46-gcf7d64c: OUTPUT«Do you have threads?␤»
FROGGS sixn00b: net yet implemented 00:12
not*
sixn00b Oh :(
flussence yes it does: github.com/tadzik/Threads/
sixn00b I wanted to use something better than perl5 threads.
flussence they're on par with Python threads right now.
sixn00b Those are green threads? 00:13
FROGGS ohh cool
readme says so
sixn00b :(
flussence useless for performance, but there'll be real threading in due time
sixn00b What about the Haskell perl6, does that have threads? Or separate processes? 00:15
flussence pugs: say fork();
camelia pugs: OUTPUT«*** Unsafe function 'fork' called under safe mode␤ at /tmp/_MnE2IaANa line 1, column 5-11␤»
flussence looks like it might have that
dunno about threads
sixn00b Only fork? 00:16
Not threads?
flussence rakudo has fork in the posix module too
sixn00b I meant fork like Erlang. I guess it's not fork, it would be a green fork :)
flussence I doubt Pugs has any concept of threading since it hasn't been actively developed in years 00:17
00:17 btyler joined
sixn00b I heard about a Java perl6, does that have threads? 00:17
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)
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
sixn00b Oh, so which perl6 should I use now?
FROGGS rakudo
what you call perl6 is just the specification 00:20
sixn00b So rakudo is the best one?
flussence it's the one with most working stuff 00:21
sixn00b So which JVM do I need, I have Java 7.
FROGGS that is the right one 00:22
sixn00b Does it use JNI? Because I could use that if I had to.
FROGGS nqp (the glue between the virtual machine and rakudo) does already work on the JVM, but not yet rakudo itself
sixn00b ??
FROGGS sixn00b: can't tell about JNI 00:23
sixn00b Now I am confused.
Rakudo is the best one but it doesn't run on the JVM but I need Java 7?
FROGGS [02:18] <FROGGS> sixn00b: perl6 (aka rakudo) doesn't run on the JVM yet (but in pretty near future)
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)
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?
lue To use NQP on JVM (and rakudo on JVM once that works), you'll need at least Java 7
[ 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.
I have a program in Perl5 and it uses threads but I am not satisfied with it.
I thought maybe perl6 would be easier because I heard it had better threads.
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.
FROGGS then you might better stick to perl5 for now
00:27 sftp left
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.
Do you think I should not use perl6 raiph? 00:30
00:30 sftp joined
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
sixn00b It is just a side project, it would be okay to spend some weeks on it :) 00:33
I would not be working on it every day, just when work is slow and I have the time.
Most of our work is C++ but we have a lot of Perl. 00:34
raiph how many weeks?
sixn00b ha ha you are asking a programmer for an estimate :) I like you.
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)
What will happen in 10 weeks?
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.
sixn00b Speed is not too bad, I need to use many cores. 00:36
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
sixn00b So come back in 10 weeks? 00:40
Weeks on the calendar or weeks as a programmer counts?
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?
and where perl 5 uses too much memory? 00:42
sixn00b I can not say too much, but we process medical data.
Many gigabytes of text.
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
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
So maybe I assumed?
raiph sixn00b: do you know that neither Perl 6 (as a spec/product) nor Rakudo (an implementation) is complete?
dalek : 8db4538 | (Tobias Leich)++ | lib/Perl5/Actions.nqp:
pull in rakudos changes about our-scoped vars
00:45
: d6448f8 | (Tobias Leich)++ | lib/Perl5/Actions.nqp:
make debugging work (again)
: eec4624 | (Tobias Leich)++ | lib/Perl5/ (3 files):
basic support for open/print/close
sixn00b Yes, I will wait 10 weeks for it to be complete :)
: 1c5460a | (Tobias Leich)++ | rakudo.patch:
update for wip-rakudo patch
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.
diakopter sixn00b: okay I'll rephrase. :) where did you hear that perl6 fixes many things that are not so good in perl5? :)
sixn00b We love NYTProf
flussence yeah, that's the one
lue sixn00b: I think a complete Perl6 will take a few sets of 10 weeks :)
sixn00b Everyone here loves Tim Bunce!
We love DBI too!
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
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
diakopter sixn00b: for what you're describing, it might be performant enough in a year, it might not.
at current resource availability levels.
sixn00b Do not worry, we use the modern Perl5 :)
A year :(
diakopter or 5?
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
sixn00b We always pass with the references.
But in XS we do not pass arrays, only the scalars. 00:49
It is too slow to copy scalars from arrays in XS :)
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.
sixn00b So perl6 is a lot slower?
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.
diakopter labster: sixn00b is describing high-usage software, not one-off shell shortcuts :P
00:51 gdey left
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:51
sixn00b Integration like testing? 00:52
flussence yeah
sixn00b We hired a person especially to help with that :) 00:53
diakopter well, not all continuous testing is integration testing
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
sixn00b Ten minutes is too long to wait! 00:54
flussence it was something like 50 before that :)
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:55
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)
we will surely be here
diakopter marks July 18 00:59
sixn00b I must work now, funny people! 01:01
01:01 raiph left 01:02 hlin_laptop joined
sixn00b Do not fork() yourselves too hard! 01:02
01:02 sixn00b left
diakopter spooning is more fun 01:02
01:03 berekuk left 01:05 guest_____ joined
TimToady we can't fork at all yet... 01:05
FROGGS well, I have two forks, both are sleeping atm 01:06
diakopter pugs can, and rakudo could at one time 01:07
01:08 kurahaupo left
TimToady well, I guess there's rosettacode.org/wiki/Fork#Perl_6 01:08
01:10 kurahaupo joined
TimToady sometimes missed all the standard Unix calls as builtins 😡 01:11
01:11 kingbeast left
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... )
er, *there're
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
01:14 FROGGS_ joined
TimToady is there even a way of getting a file descriptor (integer) from a filehandle yet? 01:15
01:15 anuby joined
diakopter sure! try all of them until you find the right one! 01:15
TimToady 😭 01:16
diakopter .u � 01:17
yoleaux U+FFFD REPLACEMENT CHARACTER [So] (�)
TimToady .u 😭
yoleaux U+1F62D LOUDLY CRYING FACE [So] (😭)
diakopter heh.
01:19 FROGGS left
dalek pan style="color: #395be5">perl6-examples: f059431 | (L. Grondin)++ | rosalind/sgra-grondilu.pl:
first SRGA failure
01:19
pan style="color: #395be5">perl6-examples: ac897af | (L. Grondin)++ | rosalind/sgra-grondilu.pl:
(rosalind) SGRA [correct version after failure]
: 084ddd2 | (Tobias Leich)++ | lib/Perl5/ (2 files):
fix for print with one argument
01:20
01:22 hrbkid_ left 01:34 benabik joined, Axeman joined 01:35 Axeman is now known as Guest91139 01:42 Guest91139 left 01:44 Axemann joined 01:53 grondilu left 01:57 btyler left 02:04 btyler joined 02:05 guest_____ left 02:21 census left 02:22 kurahaupo left 02:23 skids left 02:27 thou joined 02:45 lustlife joined
dalek ecza: 0a84de2 | (Solomon Foster)++ | lib/CORE.setting:
Get rid of last mentions of ucfirst.
02:50
[Coke] rant: I know have to know WHICH version of ack I have installed to use it. 03:04
moritz just install ack2 everyhwere :-) 03:08
03:13 skids joined, kurahaupo joined
moritz fwiw I have set up tina.perlgeek.de/ which is a postgresql-backed version of the irc logs (not yet regularly updated) 03:14
and still slooow 03:15
sorear neat. (forgive my stupid question, why are we switching?) 03:20
dalek ast: 1b01fdd | coke++ | S05-mass/properties-general.t:
pugs fudge
03:22
gs.hs: 5a99ff9 | coke++ | Pugs/src/Pugs/Prim.hs:
track spec change
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:23
sorear: and 3) I want to make ilbot multi-backend (just like rakudo!) 03:26
03:28 btyler left
sorear is tina p6? :) 03:30
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
sorear: same ol' codebase, with the exception of one query
sorear wonders which query 03:36
diakopter moritz: tina seems faster to me 03:37
labster me too
moritz diakopter, labster: at this time we probably just measure cache performance :-) 03:38
diakopter so pre-warm the cache :P
PerlJam seemed slower to me when I loaded the index for #perl6 03:39
(but #dbdi was quite speedy)
03:41 preflex left, preflex_ joined 03:42 preflex_ is now known as preflex
labster Well, the IO :r, :w, and :x filetests are wrong. 03:55
They all test real uid rather than effective uid. 03:56
I guess it's time once again to bug Parrot about implementing IO. 03:59
sorear labster: are they using access(2)? 04:00
labster indeed
int result = access(c_str, R_OK); 04:01
geekosaur guh 04:02
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:12
moritz kurahaupo: no, there are upper-case variants which are supposed to check the real uid/gid 04:13
sorear perldoc -f -X
moritz in analogy to perld... what sorear said :-)
04:16 skids left 04:25 Psyche^ joined 04:26 Chillance left 04:29 Patterner left, Psyche^ is now known as Patterner 04:31 gdey joined 04:37 SamuraiJack joined 04:48 trexy joined
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: bristol.itmegameet.co.uk/#schedule
sorear cool! 04:52
trexy I was hoping to use some examples from Rosetta code to help illustrate
moritz sure, why not?
sorear are you the only perl6er in the group? 04:53
trexy I thought that would be the easiest thing to do
- just starting to learn it - this will be a good excuse for me to learn it
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
(welcome!)
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 Axemann left
trexy had particular favourites from rosettacode 04:55
sorear think TimToady wrote most of the rosettacode examples... 04:57
trexy I'd be interesting in hearing his top 10 or so? 04:58
the plan was to show comparative examples in different languages
- this is how it is done in python -> p6, java -> p6 etc 04:59
the other thing I was hoping to do was describe the main design 'vectors' .... 05:00
whipupitude, Huffman coding, etc ...
Any help from TimToady in the backlog would be much appreciated here 05:03
05:07 snoopy joined 05:08 satyavvd joined 05:15 census joined 05:28 census left 05:32 arlinius left 05:33 frdmn left
dukeleto trexy: many people have written rosettacode examples and TimToady wrote many :) 05:34
trexy yes 05:36
I'm interested in hearing from anyone who has favourite(s) RC examples 05:37
05:37 kaare_ joined
trexy also from those who have been using Perl6 - what does the language seem different at? --- looking at the design vectors 05:39
05:43 raiph joined
raiph trexy: rosettacode.org/wiki/Harshad_or_Niven_series 05:44
trexy yep 05:46
that's intense really ;-) ... 05:47
so much is going on in just that one example laziness, expressibility etc 05:49
raiph yeah, just encountered yesterday 05:52
06:13 frdmn joined 06:16 kaleem joined
raiph trexy: another one i just found that might be good for your purposes: rosettacode.org/wiki/Benford%27s_law 06:19
trexy there's a lot going on in that one too! 06:23
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 ;-)
sorear thinks the fib sequence is cheating, because it can be easilyish proven to satisfy the Benford law 06:28
trexy ok 06:29
tricky - ideally the problem set up should be 5% and discussing language comparisons and highlighting Perl6 syntax and semantics (95%) 06:30
06:32 s1n joined
trexy don't want to spend too much time explaining the problem 06:32
raiph trexy: rosettacode.org/wiki/Detect_division_by_zero 06:43
06:56 cognominal left 06:58 kaare_ left 07:09 kurahaupo left 07:14 FROGGS_ is now known as FROGGS 07:16 sqirrel joined
moritz henryr.github.io/cap-faq/ 07:18
07:19 Gruu_ joined 07:21 chee left 07:26 Gruu_ left 07:39 dayangkun joined 07:55 kaare_ joined
jnthn morning o/ 07:59
moritz \o jnthn 08:02
08:03 kresike joined
kresike hello all you happy perl6 people 08:03
labster morning 08:04
08:04 kivutar joined 08:05 rindolf joined 08:12 snoopy left 08:13 rindolf left
sorear o/o/ 08:14
08:19 donaldh left 08:23 donaldh joined
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
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?
I'm in the area of wondering how many feature requests I should put in for parrot. 08:25
at a time. 08:26
moritz several small ones, each with one or two days inbetween :-) 08:27
so start now with readline :-)
labster I was going to ask for faccessat so IO.r and IO.R can be different. 08:29
moritz or that 08:31
or both; they'll be able to handle the flood of new tickets :-) 08:32
08:38 anuby_ joined 08:39 kaare__ joined 08:41 rom1504_ joined 08:46 kaare_ left, anuby left, rom1504 left
dalek ast: 899d9a7 | dagurval++ | S16-io/quoting-syntax.t:
added tests for examples in S16/IO/Special Quoting Syntax
08:50
ast: 7057702 | dagurval++ | S0 (3 files):
Merge branch 'master' of github.com:perl6/roast
dagurval I have no idea what that "merge commit" is doing o_O 08:52
08:53 ChanServ sets mode: +o diakopter
labster you committed and then git pulled 08:53
08:53 diakopter sets mode: -o diakopter
diakopter (trying to invite a bot) 08:53
08:53 betterwo1ld joined 08:54 clkao_ joined
labster also, dagurval++ for that patch to File::Find::Duplicates. I kept on looking at it like "works for me!". 08:55
08:57 arlinius joined, rindolf joined, Colby` joined
dagurval labster: no problem :) 08:58
08:59 dayangkun left, dukeleto left, Pleiades` left, betterworld left, clkao left, Colby` is now known as Pleiades` 09:00 anuby joined, kaare__ left 09:01 dayangkun joined, dukeleto joined, araujo joined, araujo left 09:02 araujo joined, cognominal joined
masak good antenoon, folks in #perl6 09:03
09:03 anuby_ left
labster masak o/ 09:04
mathw o/ masak 09:05
\o
\o/
masak :)
tadzik \o/
jnthn o/ masak 09:06
bbkr \o/ 09:09
dalek p/rak-jvm-support: 866fe1a | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (5 files):
Initial preparations for container handling.

This rips out the port of a previous approach, stubs the current one that is needed for Rakudo, and updates the serializer for it.
09:10
09:13 anuby_ joined 09:14 nebuchad` joined, sergot_ joined, [Coke]_ joined 09:15 spider-mario joined, shlomif joined, genehack_ joined 09:16 pnu joined, timotimo_ joined 09:17 shachaf_ joined 09:21 anuby left, rindolf left 09:23 nyuszika7h joined, dmol joined 09:29 nebuchad` is now known as nebuchadnezzar 09:30 dayangkun left 09:35 shlomif is now known as rindolf
FROGGS .ask TimToady halp! can you please give me a hint how to properly set up the print-token? gist.github.com/FROGGS/0588a945575387a3bf70 09:42
yoleaux FROGGS: I'll pass your message to TimToady.
09:45 MrMeek joined
FROGGS everyone else with good grammar knowledge is welcome to have a look too :o) 09:45
09:46 MrMeek-afk left
moritz I just know that Perl 5 also allows print { STATEMENTLIST } $value; 09:47
with literal { }
FROGGS yeah, I know.... :/
09:50 berekuk joined
moritz FROGGS: maybe the <!before <infix>> is too broad 09:54
moritz is just guessing, really 09:55
FROGGS ya, me too, that is the problem
10:02 dmol left 10:03 dmol joined, shachaf_ left, shachaf_ joined, shachaf_ is now known as shachaf
dalek p/rak-jvm-support: 2ec1cce | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (6 files):
Flesh out container ops and code_pair cont.

This gets 67-container.t passing on the JVM.
10:05
10:12 hlin_laptop left 10:13 kivutar left 10:16 anuby_ left 10:24 kivutar joined 10:37 thou left
masak FROGGS++ # working with v5, it's inspiring to watch 10:39
Ulti how does v5 work? 10:41
is it mapping perl5 syntax to perl6 at compile time?
moritz it compiles Perl 5 syntax to QAST 10:42
Ulti neat 10:43
10:45 kivutar left 10:46 kivutar joined 10:48 kaare__ joined 10:53 sqirrel left
moritz reviews the irclog code he wrote in 2007, and starts crying 10:59
FROGGS hehe 11:00
moritz most of the stuff isn't too bad 11:04
but then you get to the output of the actual log pages
Ulti this graph is depressing w3techs.com/pictures/programming_la...e-1201.png
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
GlitchMr w3techs doesn't count 11:08
They simply consider website to use certain technology if the X-Powered-By has name of technology.
moritz in http headers? 11:09
nwc10 so it's counting the number of mod_perl enabled web servers, etc, not actual users?
GlitchMr I think so, lol
moritz that's roughly as stupid as Tiobe's "methodology" 11:10
GlitchMr Their reports are so inaccurate it's stupid.
The other charts don't seem that bad, but methology of server-side programming languages is so bad. 11:11
dalek kudo/jvm-support: aea68d2 | jnthn++ | src/ (2 files):
Add nqp::p6init() which initializes runtime.

Need a mechanism similar to Parrot dynops init for the JVM also.
kudo/jvm-support: a70ab6e | jnthn++ | / (7 files):
Stub in Rakudo container support.
kudo/jvm-support: d7f3d4e | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Fix thinko in invocation handling.
masak Ulti: why would anyone pick PHP over Perl for web? ease of deployment. 11:12
GlitchMr But there is a possibility that people really use PHP. 11:13
I won't lie, it's easy to deploy.
olive.undo.it/log?channel=perl6 11:14
this uses PHP
Also, WordPress.
moritz and drupal
and typo3, iirc
Ulti working with Drupal is grim though
GlitchMr Drupal isn't that relevant.
w3techs.com/technologies/overview/c...gement/all
Ulti I wanted to rip my eyes out the whole time I worked with Drupal
GlitchMr They say that WordPress is used by 17.7% of websites. 11:15
FROGGS you just have to install phpBB or a wiki to end up with php
tadzik working with drupal was mostly painless fr me
joomla, now, that was awful
GlitchMr WordPress makes stats higher.
Ulti perl is in most OSs as default though and you can just use one of the self hosting frameworks
GlitchMr Find a server without WordPress installed.
11:15 mattp__ joined
Ulti I guess Windars servers are the problem 11:15
GlitchMr They exist, but well...
Ulti WAMP is a thing
GlitchMr Windows isn't even a problem 11:16
w3techs.com/technologies/cross/cont...ing_system
Everybody uses Linux anyway.
Ulti :< 11:17
GlitchMr The only exception on this list is "Discuz!", but I guess it's because it was made in China.
Ulti I guess the version of perl that comes as default is the issue like 5.8 instead of 5.10
GlitchMr w3techs.com/technologies/details/pl-perl/all/all 11:18
They usually say what versions people use.
But here, well, they just say that 100% of people use Perl 5.
Oh, I know what methodology they have used. If the server has .cgi or cgi-bin directory, it's Perl. 11:19
Or .pl. 11:20
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.
GlitchMr Hmmm, it seems they only base on headers.
I asked w3techs.com/sites to spider a website full of .php links, but without X-Powered-With header.
It didn't saw PHP.
dalek p/rak-jvm-support: 9c87ea8 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
Stub HLL mapping stuff.

Needs properly implementing.
11:24
GlitchMr It actually was using PHP, but configured to not show X-Powered-With header.
jnthn Now up to line 290. )
GlitchMr Or, if the source code of website looks like one of popular PHP programs.
Like, uhmmm, WordPress.
jnthn r: say 290 / 13000 11:25
camelia rakudo bfd850: OUTPUT«0.022308␤»
jnthn bah :)
FROGGS hehe, jnthn++ anyway :o) 11:26
GlitchMr They only index domains, but .tk seems to work on this checker.
11:26 kivutar left
GlitchMr Also, some websites stop saying what technology they use in headers. 11:28
Because nobody cares. 11:29
w3techs.com/sites/info/dot.tk
I'm still sure they use Perl.
And Linux.
And sometimes they see wrong software. 11:30
w3techs.com/sites/info/github.com
tadzik jnthn: progress! :)
cognominal GlitchMr, "nobody cares". Except crackers :)
GlitchMr GitHub Pages? 1. How they could detect that static pages use GitHub Pages. 2. It doesn't use GitHub Pages.
FROGGS moritz: I've cleaned the token a bit, but it doesnt seem to be the right approach: gist.github.com/FROGGS/0588a945575387a3bf70 11:31
GlitchMr cognominal, it's easy to detect PHP even if it doesn't say it's PHP. 11:32
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
And send output.
dalek p/rak-jvm-support: 05d2aae | jnthn++ | src/vm/jvm/QAST/Compiler.nqp:
Implement custom_args.

Suppresses the generation of parameter handling code. Used by Rakudo as it has its own binder (which now needs porting to the JVM).
11:38
11:40 kivutar joined 11:50 kivutar left 11:59 census joined 12:00 satyavvd left 12:08 betterwo1ld left, kivutar joined
donaldh jnthn: 13000 of what? 12:08
12:09 benabik left
donaldh jnthn: Can it be shared? 12:09
jnthn donaldh: The whole of CORE.setting is about 13,000 lines 12:12
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.)
The idea is that it'll all be shared, though some bits are not so portable yet. 12:13
donaldh jnthn: I mean can the task of working through the 13000 lines be shared? 12:14
Or is it a sequential task and that things will move forward in jumps?
lizmat I think the latter 12:15
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:17
12:17 woosley1 joined
jnthn donaldh: Those don't have to wait for me to get to 'em. 12:17
lizmat jnthn: but you dealt with a lot of them in your branch already, right? 12:18
so any work on that, would need to be done in that branch, right?
jnthn lizmat: The only place we're still left with them is in src/core/
lizmat: Yes, it's best if they go into the branch
Though I'm keeping up to date with master also 12:19
lizmat I'm just sort of worried about duplication of effort
and possible merge conflicts 12:20
jnthn *nod*
donaldh so we should ask here, as we plan to work on something? 12:21
jnthn donaldh: That's probably the best bet.
My current Big Task is porting enough of the signature binder to unblock things.
nwc10 isn't this IRC channel enough to avoid work duplication between people helping remove pir:: ? 12:23
jnthn Woulda hoped so :)
donaldh nwc10: thats what I said ^^ :-) 12:24
nwc10 oh yes, I see now :-)
12:27 SmokeMachine left
moritz is there any reason that src/core still uses pir::setattribute__0PPsP over nqp::bindattr? 12:27
if not, I'm going to clean that up 12:28
jnthn moritz: The 0
12:28 berekuk left
jnthn Means "returns the object with the attr as the first arg" instead of "returns the value bound" 12:28
12:28 SmokeMachine joined
moritz oh 12:29
and some of those look like quite hot paths 12:30
jnthn yeah, sounds familiar... 12:31
jnthn bbiab
12:41 berekuk joined 12:50 berekuk left, Chillance joined 12:51 betterworld joined 12:53 CharellKing joined 12:54 dayangkun joined
[Coke]_ drinks cofee. 12:54
oh, f.
12:54 [Coke]_ is now known as [Coke], CharellKing left 12:55 woosley1 left 13:02 mtk left
cognominal sounds close to gather/take : wingolog.org/archives/2013/05/08/ge...tors-in-v8 13:03
13:04 ajr joined, ajr is now known as Guest936 13:06 mtk joined 13:10 mtk left
Ulti cognominal: or like generators from Icon... all the cool things come from Icon ;] 13:11
moritz gist.github.com/moritz/5554307 # my attempt to automatically generate colors from IRC nicks 13:13
13:13 frdmn left, bluescreen10 joined
moritz if somebody wants to tweak it, feel free :-) 13:13
lizmat wonders who lixmat is
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
13:14 mtk joined
moritz lizmat: the evil twin standing right behind you :-) 13:14
lizmat just feels like mini-me now
Ulti naw moritz I could have hooked you up with my blog post about colour stuff blog.mattoates.co.uk/2012/01/genera...tinct.html 13:15
I have a newer version that kind of spirals through HSV space
pmichaud moritz: what color background will these be on? 13:16
moritz pmichaud: same as irclog.perlgeek.de/perl6/2013-05-10 13:17
jnthn back
moritz ie white and light gray 13:18
pmichaud the #79fbbc result looks a little too light to me
PerlJam good morning #perl6!
Ulti good lunchtime PerlJam 13:19
moritz pmichaud: gist updated with what is hopefully a small improvement 13:22
13:23 PacoAir joined
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
moritz ... and another udpate 13:25
pmichaud yes, that's good. 13:26
dalek kudo/jvm-support: 39ea92e | moritz++ | src/core/GatherIter.pm:
get rid of two cases of pir::setattribute__0PPsP
pmichaud first two entries appear about the same, but I don't know that you'll be able to avoid all visual conflicts
have to run $kid to $school... bbiab
moritz pmichaud: right, I think it's better to tolerate collisions than not being able to read some of them 13:27
13:32 lichtkind joined
dalek kudo/jvm-support: 7bf40c1 | jnthn++ | src/vm/jvm/ (3 files):
Stub in the binder.

Doesn't actually do anything yet, this just gets the op and some of the constants in place.
13:35
13:35 DarthGandalf left 13:48 btyler joined, kresike left, DarthGandalf joined 13:49 cosimo joined 13:57 skids joined 14:01 Guest936 is now known as ajr_, Targen joined 14:09 xilo left, berekuk left 14:12 xinming left 14:14 xinming joined
[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:14
masak unless the user is Edsger Dijkstra. 14:16
[Coke] @aa.kv -> $k, $v helps. I almost wish for a .kv:ordinal where the $k is by-one. 14:18
14:18 shinobicl joined, shinobicl left 14:23 jerome left
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:␤------> ; augment class List { multi method kv(:⏏$ordinal!) {} }␤␤»
..rakudo bfd850: OUTPUT«===SORRY!===␤Cannot have a multi candidate for 'kv' when an only method is also in the package 'List'␤»
masak anyone against me changing 'method kv' in src/core/List.pm to 'multi method kv'? 14:29
I'll spectest and everything ;)
14:30 gdey left 14:31 xilo joined 14:32 kaleem left 14:37 jerome joined
[Coke] or maybe an IndexStr type that numerically is 0 but stringifies as 1. ;) 14:39
(as long as you're listening to the crazy cold fusion programmer)
masak stringifying to 1 doesn't make sense to me. 14:42
the one is a numerical index, too.
[Coke] hey, if 50% of my ideas make sense to you, you're still in trouble.
masak ;) 14:43
14:50 kaleem joined 15:02 btyler left, ajr_ left 15:03 ajr joined 15:04 ajr is now known as Guest8208 15:07 LlamaRider joined 15:11 shinobicl joined
Ulti does perl6 date time stuff let you pass in horrible english descriptions of dates like PHP? 15:19
moritz no
Ulti something to do then :)
moritz it only parses ISO-forgotthenumber dates 15:20
and times
Ulti php.net/manual/en/function.strtotime.php if anyone vaguely cares about what I'm talking about 15:21
15:22 bruges left 15:25 clkao_ left, thou joined, clkao joined 15:26 bruges joined
masak git does that with its --since options and so on. 15:27
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?
TimToady yes it'd be good to have some date parsing somehow for rosettacode.org/wiki/Date_manipulation
yoleaux 09:42Z <FROGGS> TimToady: halp! can you please give me a hint how to properly set up the print-token? gist.github.com/FROGGS/0588a945575387a3bf70
15:29 btyler joined
TimToady FROGGS: that's indirect object syntax, which is known to be hard... 15:29
we will need to reverse engineer the code in toke.c that does that 15:30
masak preferably on a case-by-case basis.
TimToady (if you can call the original "engineering")
masak with tests :)
nwc10 I thought that most engineers didn't use smoke and mirrors
TimToady well, magical engineers do
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
rjbs powered by perl5's intuition engine 15:32
TimToady Sufficiently advanced technology is indistinquishable from sufficiently retarded technology.
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 )
TimToady I'm sure I wouldn't've done better...
masak :P 15:34
15:34 kaleem left
Ulti oh wow PHP implementation :'( github.com/php/php-src/blob/master...rse_date.c that is some hairy C code 15:34
diakopter Ulti: that's generated from a compiler compiler :)
Ulti oh its generated 15:35
yeah just noticed
heh
I was thinking it takes a special kind of human to grok that
donaldh the one that wrote yacc
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.
Perl must be up next.
nwc10 and then APL? 15:37
rjbs Oh, come now. I plan on providing *some* parental guidance.
Ulti yeah ok forget how PHP does it, can use a grammar in perl6 :)
geekosaur agda with unicode
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
15:40 gdey joined, gdey left, gdey joined
donaldh Ulti: that would be a lovely grammar demo 15:40
Ulti donaldh yeah and quite useful... I should really write my PhD thesis first though >:3 15:41
TimToady wow, having one's eyes dilated does not improve the reading of toke.c 15:48
.oO(My Eye Glaze Under)
*Eyes 15:49
15:50 grondilu joined
grondilu n: say "f" ~~ /<*foo>/ 15:50
camelia niecza v24-47-g0a84de2: OUTPUT«===SORRY!===␤␤Action method assertion:sym<*> not yet implemented at /tmp/FtxVG8xcaJ line 1:␤------> say "f" ~~ /<*foo⏏>/␤␤Unhandled exception: Unable to resolve method oplift in type Any␤ at /home/p6eval/niecza/src/RxO…
15:50 sizz joined
grondilu r: say "f" ~~ /<*foo>/ 15:50
camelia rakudo bfd850: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter < (must be quoted to match literally)␤at /tmp/ypdS_IffBC:1␤------> say "f" ~~ /<⏏*foo>/␤Unrecognized regex metacharacter * (must be quoted to match literally)␤at /tmp/ypdS_IffBC:1␤--…
15:50 kivutar left 15:51 sizz_ left 15:54 arlinius left
masak enums in Python: www.python.org/dev/peps/pep-0435/ -- just got accepted, it seems. 15:55
I bet there are things we can learn from that PEP.
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:03
masak why? 16:04
TimToady stored as dictionary or list of 3 => Wed maybe 16:05
or the iterator extracts unique .values
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.
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)
s/our/out/
16:09 donaldh left
PerlJam oh, I totally glossed over __members__ 16:09
PerlJam needs to retrain his eyes.
16:10 rafl joined
pmichaud PerlJam: yeah, go for a semigloss next time. 16:10
16:10 rindolf left
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
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.
TimToady ah, enumeration is in declaration order
masak pmichaud! \o/
grondilu rn: my $x = "foo"; say $x ~~ Array and $x.elems == 0; 16:15
camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«False␤»
grondilu rn: my $x = []; say $x ~~ Array and $x.elems == 0;
camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True␤»
grondilu ^ I guess that will do
masak rn: my $x; say $x ~~ []
camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«False␤»
masak er.
rn: my $x = []; say $x ~~ [] 16:16
camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True␤»
grondilu rn: my $x = {}; say $x ~~ []
camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True␤»
masak rn: my $x = {}; say $x ~~ [] & Array 16:17
camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«False␤» 16:18
masak rn: my $x = []; say $x ~~ [] & Array
camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True␤»
masak rn: my $x = []; say $x ~~ 0 & Array
camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True␤»
TimToady I wouldn't use 0 16:19
it would force calculation of the length of the array
which maybe you don't want to do
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.
TimToady rn: my $x = []; say $x ~~ .so & Array
camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«False␤»
TimToady rn: my $x = []; say $x ~~ .not & Array
camelia rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True␤»
masak grondilu: what PerlJam said. 16:21
grondilu ok
TimToady use a boolean test to be sure to avoid calculating the length 16:22
16:23 sjohnson left, sjohnson joined
TimToady and maybe you want Positional instead of Array? 16:23
16:25 arlinius joined
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:27
masak aye. 16:29
TimToady one almost wants a special infix:<==>(Array,Num) that optimizes for that 16:31
"Nope, I'm not 0"
er, more like (List,Int) I suppose 16:32
pmichaud multi sub infix:<==>(List $l, $n) { $l.gimme($n+1) == $n } 16:33
although maybe it'd be better as infix:<cmp> 16:34
16:35 LylePerl joined
pmichaud since people will write @array > 0 also 16:35
16:38 LylePerl left
masak LylePerl! \o/ 16:38
...or not :/
grondilu wow, I solved a rosalind suffix-tree problem in a neat way! 16:39
dalek pan style="color: #395be5">perl6-examples: 8da517c | (L. Grondin)++ | rosalind/suff-grondilu.pl:
(rosalind) SUFF
grondilu ^check it out
16:42 berekuk joined
TimToady what's with the parens around the conditionals? 16:43
grondilu lol, I've been coding a bit P5 lately :)
TimToady the rest of it looks more like Lisp :) 16:44
arnsholt Oooh, suffix tree 16:46
TimToady wishes it were just a bit easier to treat pairlists as normal lists
masak indentation seems busted. something to do with tab characters?
TimToady look at it as a normal file and it's better
grondilu masak: I forgot to filter it through expand before commiting 16:48
dalek pan style="color: #395be5">perl6-examples: 22ef363 | (L. Grondin)++ | rosalind/suff-grondilu.pl:
minor style rewrite
16:50
16:55 trexy left 16:57 frdmn joined 16:58 bluescreen100 joined 16:59 Guest8208 left, bluescreen10 left, bluescreen100 is now known as bluescreen10 17:23 berekuk left 17:38 Vlavv` left 17:46 lichtkind left 17:55 berekuk joined 17:58 LlamaRider left 17:59 rindolf joined
dagurval r: say IO::Spec.catfile("c:\\tmp", "42"); 18:21
camelia rakudo bfd850: OUTPUT«c:\tmp/42␤»
dagurval should it not be c:\tmp\42 ?
geekosaur if the bot were running on a windows system, maybe
dagurval r: say IO::Spec::Win32.catfile("c:\\tmp", "42"); 18:22
camelia rakudo bfd850: OUTPUT«C:\tmp\42␤»
dagurval ok, so IO::Spec has behaviour relative to its environment
geekosaur one would hope so. what if I had a unixy filename that just happened to look windowsy? 18:23
or vice versa
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"]␤»
..niecza v24-47-g0a84de2: OUTPUT«["foo" => "0", "bar" => "1", "foo" => "1", "bar" => "0"].list␤»
grondilu was expecting a list of two hashes, not a list of four pairs :/ 18:25
pugs: my @key = <foo bar>; my @c = <01 10>; say .perl given my @ = map { hash @key Z=> .comb }, @c 18:26
camelia pugs: OUTPUT«*** ␤ Unexpected " ="␤ expecting formal parameter␤ at /tmp/P_PW3vmOXs line 1, column 59␤»
geekosaur worse... you have word processing files created by a user, with names like "[SGB]Mumble". autoswitch to vms mode? 18:27
labster dagurval: you probably should be using IO::Path instead 18:28
r: say IO::Path::Win32.new("c:\\temp").child("42") 18:29
camelia rakudo bfd850: OUTPUT«IO::Path::Win32<c:\temp\42>␤»
labster huh. There should be an easy way of making that with Str.path. Maybe I should add an OS parameter.
r: $*TMPDIR.path.child("42").say 18:30
camelia rakudo bfd850: OUTPUT«IO::Path</tmp/42>␤»
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…
..rakudo bfd850: OUTPUT«[ListIter.new()]␤»
shinobicl hello.... is there some ORM system for perl6 in development yet?
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…
..rakudo bfd850: OUTPUT«ListIter.new()␤»
TimToady r: my @key = <foo bar>; my @c = <01 10>; .say for map({ hash @key Z=> .comb }, @c).lol
camelia rakudo bfd850: OUTPUT«ListIter.new()␤»
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
camelia rakudo bfd850: OUTPUT«("foo" => "0", "bar" => "1").hash␤("foo" => "1", "bar" => "0").hash␤»
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«===SORRY!===␤␤Unsupported use of $% variable; in Perl 6 please use Form module at /tmp/n_e61oHCIW line 1:␤------> bar>; my @c = <01 10>; .say for map { $%⏏( @key Z=> .comb ) }, @c␤␤Parse failed␤␤»
..rakudo bfd850: OUTPUT«===SORRY!===␤Unsupported use of $% variable; in Perl 6 please use Form module␤at /tmp/5q47y8WQRi:1␤------> bar>; my @c = <01 10>; .say for map { $%⏏( @key Z=> .comb ) }, @c␤»
TimToady hmm 18:39
std: $%( %*ENV )
camelia std b33d8e0: OUTPUT«ok 00:00 43m␤»
18:40 jeffreykegler joined
grondilu std: for lines { .say } 18:40
camelia std b33d8e0: OUTPUT«===SORRY!===␤Function 'lines' needs parens to avoid gobbling block at /tmp/x5nVVlgcVD line 1:␤------> for lines⏏ { .say }␤Missing block (apparently gobbled by 'lines') at /tmp/x5nVVlgcVD line 1:␤------> for lines { .say }[33…
grondilu ^this error message is more useful than what rakudo gives 18:41
r: for lines { .say }
camelia rakudo bfd850: OUTPUT«===SORRY!===␤Missing block␤at /tmp/fSJA3wkQm8:1␤------> for lines { .say }⏏<EOL>␤ expecting any of:␤ method arguments␤ postfix␤ statement end␤ statement modifier␤ statement modifier loop␤ …
moritz agreed
welcome to the wonderful world of higwater marks, or whatever they are called :-) 18:42
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:50
18:51 SmokeMachine left
grondilu TimToady: so you recommend I use the .item method? Will it be easier to make a list of hashes in the future? 18:51
FROGGS TimToady: thanks, will look at toke.c 18:52
18:52 Vlavv joined 18:55 ajr joined 18:56 ajr is now known as Guest72973
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
TimToady: please tell me that I dont have to under stand that part: github.com/mirrors/perl/blob/blead/toke.c#L6499
18:59 cognominal left 19:00 cognominal joined
dalek ecza: 1d127e4 | larry++ | src/STD.pm6:
allow $% and $@ itemizers to align with STD
19:03
19:04 berekuk left, japhb_ joined
TimToady FROGGS: no, you have to understand several parts, including that one 19:05
FROGGS \o/
TimToady or wait for me to rewrite that part of STD_P5, which might happen sooner or later 19:06
FROGGS hmmm 19:07
19:07 berekuk joined
FROGGS I'll see what else would makes sense to do now... 19:08
[Coke] hoelzro: p6 vim - alester had a good start on that. 19:11
TimToady nr: say $%*ENV
camelia rakudo bfd850: OUTPUT«===SORRY!===␤Unsupported use of $% variable; in Perl 6 please use Form module␤at /tmp/8a9pPqKCV0:1␤------> say $%⏏*ENV␤» 19:12
..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…
TimToady okay, that's now officially a rakudobug, since niecza does it :)
FROGGS *g*
alester [Coke]: hoelzro is a contributor on vim-perl. He's been goin' to town on prepping for vim 7.4
masak submits rakudobug
[Coke] ah, good. 19:13
TimToady n: say +[%*ENV, 42]
camelia niecza v24-48-g1d127e4: OUTPUT«25␤»
FROGGS masak: please link that patch too: github.com/sorear/niecza/commit/1d127e411e
TimToady n: say +[$%*ENV, 42]
camelia niecza v24-48-g1d127e4: OUTPUT«2␤»
TimToady and it does, in fact, itemize it
19:14 berekuk left
TimToady n: say +[$%( :a, :b, :c ), 42] 19:14
camelia niecza v24-48-g1d127e4: OUTPUT«2␤»
19:14 SamuraiJack left
TimToady n: say +[%( :a, :b, :c ), 42] 19:14
camelia niecza v24-48-g1d127e4: OUTPUT«4␤»
TimToady \o/ 19:15
19:15 berekuk joined
masak FROGGS: oh, will do. 19:15
FROGGS thanks
19:16 chee joined
grondilu std: ${ foo => "bar } 19:16
camelia std b33d8e0: OUTPUT«===SORRY!===␤Unsupported use of ${ foo => "bar }; in Perl 6 please use $( foo => "bar ) at /tmp/bIRmzIgMAf line 1:␤------> ${ foo => "bar }⏏<EOL>␤Parse failed␤FAILED 00:00 41m␤»
grondilu std: ${ foo => "bar" } 19:17
camelia std b33d8e0: OUTPUT«===SORRY!===␤Unsupported use of ${ foo => "bar" }; in Perl 6 please use $( foo => "bar" ) at /tmp/9WVj2dZ5Rs line 1:␤------> ${ foo => "bar" }⏏<EOL>␤Parse failed␤FAILED 00:00 41m␤»
grondilu std: $({ foo => "bar" })
camelia std b33d8e0: OUTPUT«ok 00:00 44m␤»
FROGGS std: $( foo => "bar" )
std: $( foo => "bar" )
camelia std b33d8e0: OUTPUT«ok 00:00 43m␤»
FROGGS r: say 'hello' 19:18
camelia rakudo bfd850: OUTPUT«hello␤»
FROGGS :o)
grondilu n: say .WHAT for $({ foo => "bar" }), $( foo => "bar" )
camelia niecza v24-48-g1d127e4: OUTPUT«(Hash)␤(Pair)␤»
TimToady n: say .WHAT for $%( foo => "bar" ), $( foo => "bar" ) 19:19
camelia niecza v24-48-g1d127e4: OUTPUT«(Hash)␤(Pair)␤»
TimToady saves one char :) 19:20
19:20 jeffreykegler left 19:21 jeffreykegler joined
TimToady n: my $pair = foo => "bar"; say .WHAT for $%$pair, $pair 19:22
camelia niecza v24-48-g1d127e4: OUTPUT«(Hash)␤(Pair)␤»
grondilu pugs: my @key = <foo bar>; my @c = <01 10>; say .perl given my @ = map { my $ = hash @key Z=> .comb }, @c 19:23
camelia pugs: OUTPUT«*** ␤ Unexpected " ="␤ expecting formal parameter␤ at /tmp/n2fyREX12n line 1, column 59␤»
grondilu r: my @key = <foo bar>; my @c = <01 10>; say .perl given my @ = map { my $ = hash @key Z=> .comb }, @c
camelia rakudo bfd850: OUTPUT«[{"foo" => "0", "bar" => "1"}, {"foo" => "1", "bar" => "0"}]␤»
grondilu ^I forgot this could work as well
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"}␤»
TimToady that's what I was wanting to work earlier, except it didn't... 19:25
19:31 Grrrr joined 19:32 brrt joined 19:38 Moukeddar joined 19:50 btyler left
Moukeddar evenin' #perl6 o/ 19:52
19:53 btyler joined
dalek kudo/jvm-support: 1a2fcbd | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Fix some incorrect array access ops.

JVM is stricter. Unbusts the multi-dispatcher somewhat.
19:57
kudo/jvm-support: 111de52 | jonathan++ | src/vm/jvm/ (2 files):
Ensure CSD is updated.

Means that the multi-dispatcher sees the args it's meant to.
masak Moukeddar! \o/ 20:03
20:04 sqirrel joined
lizmat hello #perl6! 20:11
dalek p/rak-jvm-support: dcc4c3e | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
Implement nqp::captureposprimspec on JVM.
20:12
p/rak-jvm-support: 863ea92 | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
Fix an op name.
lizmat I was just wondering: with grammar being the equivalent of "module/class" but for regexes
shouldn't grammar allow for "auth" / "ver" / "name" setting as well ?
jnthn I suspect it already Just Works to the degree any of that stuff works in Rakudo 20:14
dalek rl6-roast-data: def708b | coke++ | / (4 files):
today (automated commit)
jnthn GrammarHOW is just a subclass of ClassHOW
And so has name/ver/auth slots
lizmat indeed, but nothing of that is specced afaik
[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?
jnthn I'd assume any package type is fine enough.
lizmat S04:1476 states "This feature is awaiting further exploration by means of a C<ClassHOW> extension." 20:16
S12:2517: Custom meta objects mentions ClassHOW 20:17
20:19 jeffreykegler left
masak oh, good. 20:20
lizmat anyway, my short term goal is sort of condensed in: 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?
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"
jnthn japhb_: Maybe not, though
I didn't try it.
japhb_: I didn't do anything to make it not work, at least :)
20:31 kaare__ left 20:33 jeffreykegler joined
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 rosettacode.org/wiki/Repeated_string#Perl_6 would be even shorter if we could say <*$0> instead of the assertion
japhb_
.oO( Gentle nudges, TimToady style: "I could golf this very nicely if you implemented this feature ...." )
20:36
.oO( The new dance fad: TimToady Style )
TimToady dances the Golf Swing 20:37
jnthn japhb_: Oh...just realized 20:38
they both produce the final executable thing with the same name on non-Windows. :)
japhb_ Heh
jnthn That's solvable. 20:39
japhb_ nodnod
lizmat jnthn: that would only be a pb with "make install", no?
jnthn lizmat: If you build both in the same directory you get the issue I think too. 20:40
I suspect having the ability to have them all built at once is interesting from a dev perspective.
japhb_ I agree 20:41
lizmat jnthn++
jnthn tc.gc
oops
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:42
TimToady rn: say 1001110011 ~~ /^ (.+) $0+ @([\~] $0.comb)? $ / 20:44
camelia niecza v24-48-g1d127e4: OUTPUT«「1001110011」␤ 0 => 「10011」␤␤»
..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␤␤»
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 ....
jnthn japhb_: No, .05 was first one thing it, iirc 20:46
Oh, or was it...
masak submits TimToady's rakudobug 20:47
jnthn I dunno, I just code this stuff. There's git for remebering stuff :P
TimToady rn: say 1110111011 ~~ /^ (.+) $0+ @([\~] $0.comb)? $ /
camelia niecza v24-48-g1d127e4: OUTPUT«「1110111011」␤ 0 => 「1110」␤␤»
..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␤␤»
jnthn TimToady, masak: I doubt it's about "too early" so much as $/ not being up to date enough.
TimToady (btw, that's a short implementatoin of <*$0> there...)
probably not very speedy, but still 20:48
jnthn To test that hypothesis, but a {} before the @(...)
TimToady rn: say 1110111011 ~~ /^ (.+) $0+ {} @([\~] $0.comb)? $ /
camelia rakudo bfd850, niecza v24-48-g1d127e4: OUTPUT«「1110111011」␤ 0 => 「1110」␤␤»
jnthn Yup, it's that.
TimToady huh
jnthn masak: There's already an RT ticket about $/ stuff.
masak: So may want to add it (or ref it) 20:49
20:49 jeffreykegler left
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.
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.
masak jnthn: can't find such an RT ticket.
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...
jnthn TimToady: May still be performant to treat them separately. 20:55
TimToady: Certainly is in the Rakudo engine, anyway.
TimToady :)
errand & 20:56
FROGGS hmmm, lets see if irclog has some timeouts built in for search queries :/ 20:58
20:59 brrt left
masak found the RT ticket. jnthn++ :) 21:00
masak adds today's musings
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."
jnthn lizmat: Which bits are you unsure about? 21:01
lizmat so what is the difference between <.ws> and my own <ws>
note the .
jnthn <.ws> means "don't capture"
<ws> will capture
Which is pointless
masak lizmat: . just means "don't cap" what jnthn said.
jnthn When it was "define your own ws" it means the token name is ws 21:02
lizmat wonder where that is specced…. must have read over that subtle difference
jnthn *says
FROGGS r: say "abc" ~~ / 'a' <ident> 'c' /
camelia rakudo bfd850: OUTPUT«Nil␤»
FROGGS r: say "abc" ~~ / 'a' <alpha> 'c' / 21:03
camelia rakudo bfd850: OUTPUT«「abc」␤ alpha => 「b」␤␤»
FROGGS r: say "abc" ~~ / 'a' <.alpha> 'c' /
camelia rakudo bfd850: OUTPUT«「abc」␤␤»
FROGGS maybe it is too late but I had expected that ident will match
but I can't deny that I am tired 21:04
21:04 skids left
lizmat <ident> implies word boundary on either side, no? 21:04
FROGGS ahh, makes sense, yeah
lizmat identifier boundary, I guess, as in this context - and ' are also part of the allowable characters 21:05
if I'm not mistaken :-)
FROGGS yeah, I think you are right 21:06
21:17 btyler left 21:21 sqirrel left
grondilu r: say "foo" ~~ /^ <ident> $/ 21:22
camelia rakudo bfd850: OUTPUT«「foo」␤ ident => 「foo」␤␤»
dalek p/rak-jvm-support: 9ad904b | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/ (4 files):
Serialize HLL related info.
p/rak-jvm-support: dffacb2 | jonathan++ | src/ (2 files):
Mark HLL roles on various types.
lizmat r: say "foo" ~~ /^ <.ident> $/ 21:23
camelia rakudo bfd850: OUTPUT«「foo」␤␤»
lizmat I understand it now, I'm just still wondering where this is specced
because if it isn't, it should be :-) 21:24
21:24 rindolf left
[Coke] the .? 21:26
lizmat making <ident> non capturing with <.ident> 21:27
gnight #perl6! 21:30
colomon o/
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:33
21:35 berekuk left
masak 'night, lizmat 21:36
21:36 berekuk joined
dalek kudo/jvm-support: 380909f | jonathan++ | src/vm/jvm/runtime/org/perl6/rakudo/ (2 files):
Start translating the binder code.
21:39
21:47 Vlavv left 21:49 dmol left 21:51 bluescreen10 left
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
since token implies :ratchet 21:59
masak oh, I thought that was it when I first saw it. 22:00
22:02 lustlife left
jnthn Didn't I...oh, no, I dodn't say anything :) 22:08
dalek p/rak-jvm-support: 2a01b7d | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/ (2 files):
Start storing HLL mapping config.
22:09
p/rak-jvm-support: 6396b9e | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
Get HLL mapping mostly in place.
22:13 Moukeddar left 22:17 donaldh joined
FROGGS TimToady: so, to get it right: it doesnt match because <ident> already matched more than one char? 22:18
jnthn yes
FROGGS cool, good to know
(and it is a bit obvious now)
gnight pals 22:19
grondilu Where are set operators specced? 22:20
grondilu can't find them in S03 22:21
TimToady S32/Containers:1102
well, except for the operators :) 22:22
donaldh jnthn: can you give any tips for debugging nqp?
grondilu r: say set(<foo bar>) (|) set(<foo>) 22:23
camelia rakudo bfd850: OUTPUT«set(foo, bar)␤»
grondilu r: say set(<foo bar>) (^) set(<foo>)
camelia rakudo bfd850: OUTPUT«set(bar)␤»
grondilu r: say set(<foo bar>) (&) set(<foo>)
camelia rakudo bfd850: OUTPUT«set(foo)␤»
grondilu that will do
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 ;)
(that is, the line number stuff...)
TimToady I guess STD's CORE.setting has the protos anyway 22:24
donaldh :-)
jnthn: Trying to learn the QAST and JAST nodes by inspection. But failing miserably. Any hints? 22:25
jnthn donaldh: QAST is somewhat documented in docs/qast.markdown 22:26
JAST is...well, there's just JASTNodes.nqp :)
22:26 snoopy joined
jnthn JAST is really just an representation of JVM bytecode, really. 22:27
*a
uh, and one too many really :) 22:28
donaldh guess I should try using nqp::say($node.dump()); ?
jnthn That can probably give some info
--target=qast # lets you see the QAST tree some NQP program produces
donaldh oh, of course. I did that back when I was working on asm 22:29
dalek kudo/jvm-support: 395f577 | jonathan++ | src/vm/jvm/runtime/org/perl6/rakudo/Ops.java:
Implement nqp::p6parcel on JVM.
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
jnthn IndyBootstrap.java is at the heart of it 22:31
There's more that we can do there too
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:32
Don't mind if somebody task steals the return handling stuff, of course :) 22:33
donaldh Is that why we get unknown return type in stack traces? 22:35
jnthn "unknown return type"? 22:36
At the moment the NQP-handled stack traces just show routine name 22:37
but if you look at a Java one then yeah, it's all void and the return handling is out of band.
donaldh Yep, at breakpoint in Java debugger. 22:38
jnthn One other indy task is to get the multi-dispatch cache to participate in it. 22:39
That's likely gonna be fiddly, but probably rather worth it. 22:40
donaldh I'm guessing that will be a big win
jnthn Well, maybe, but the guardWithTest combinator doesn't appear to be as well optimized as I had expected so far.
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.
donaldh: The text was mostly a "we have a process boundary here" thing.
Now there's no real reason for it.
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.
donaldh yup 22:49
donaldh realises the entire modern world crosses process boundaries in text 22:51
donaldh o O ( internet )
masak text is the ultimate process boundary crosser, though. 22:56
23:05 skids joined 23:10 kivutar joined 23:14 Targen left
jnthn time to head home and to sleep...'night, #perl6 23:15
TimToady o/
23:17 xilo left
masak 'nght, jnthn 23:21
23:27 FROGGS left
donaldh 'night all 23:27
23:29 xilo joined 23:30 Guest72973 left 23:31 Vlavv_ joined 23:33 Vlavv_ left 23:34 xilo left, Vlavv_ joined 23:36 xilo joined 23:37 donaldh left 23:38 Vlavv_ left 23:40 Vlavv_ joined 23:45 Vlavv_ left 23:46 spider-mario left 23:55 Vlavv_ joined