Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-04-15

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:16 kbaker_ joined #perl6
00:27 bjz joined #perl6
00:35 mhr joined #perl6
00:40 mhr Hey guys, I don't want to inflame anyone with this question, but if I want to start using Perl as my goto programming language (I've never used Perl 5 or Perl 6 before), should I go straight to Perl 6, or should I start with Perl 5 and wait? I really, really like the features I see in Perl 6, but I'm uncertain.
00:44 retupmoca mhr: what are you going to be making?
00:45 leontopod Perl 5
00:45 dayangkun joined #perl6
00:45 mhr I'd be using Perl to automate repetitive nix tasks.
00:45 mhr Maybe other things, but mostly just straight-up scripting
00:48 retupmoca perl 5 is going to be the safe bet. It'll probably be doable in perl6, but perl6 won't be the simple "Use the language to do this task" way as much
00:48 retupmoca there aren't as many libraries, there are still a few compiler bugs/not yet implemented features, etc
00:49 TimToady depends on which APIs you need; P5 has more support for just about any API, but P6 will end up cleaner
00:50 TimToady for things that are not CPU-bound, however, p6 on MoarVM is pretty responsive
00:50 TimToady and if you need concurrency, you definitely want P6 rather than P5
00:51 mhr I neglected to mention that I might be doing some networking stuff with Perl, by the way. So concurrency. Hmm.
00:51 retupmoca I like perl6's way of handling unicode / character encoding in general a lot better as well
00:51 mhr retupmoca: You can't reuse Perl 5 modules in Perl 6?
00:52 retupmoca not at this point. There is at least one project I know of to do that, but it's not coming very soon
00:53 retupmoca if you need a perl 5 module at this point, it's really either use perl 5 or write the perl 6 version of the module
00:53 retupmoca (I've been doing the "Write a perl 6 version" thing recently)
00:53 mhr You mean you write both?
00:54 retupmoca no, I just write the perl 6 module generally
00:54 retupmoca but I find a perl 5 module I want in perl 6 and write a perl 6 version
00:54 telex joined #perl6
00:54 retupmoca I ported Email::MIME and such, for example
00:55 mhr It would be cool if there was a perl-fix tool like Go has to update Perl 5 code to Perl 6.
00:55 mhr It's definitely a dealbreaker that I can't reuse Perl 5 stuff, I want to be able to use the CPAN without, you know, rewriting an entire module, particularly since I'm a newbie. I guess I'll just have to learn Perl 5 and keep a close eye on Perl 6.
00:56 mhr How insurmountable would it be to create a perl-fix tool like I'm thinking about?
00:56 retupmoca mhr: have you seen http://modules.perl6.org/ ?
00:57 retupmoca I think that kind of a tool would essentially be a perl 5 to perl 6 compiler - and I'm really not the right person to ask about creating a compiler
00:59 BenGoldberg p56: use strict; my $foo = 4; print ++$foo;
00:59 camelia p5-to-p6 : OUTPUT«# use strict␤my $foo = 4;␤print(++$foo)␤»
00:59 BenGoldberg p56: print $_ for 1..20;
00:59 camelia p5-to-p6 : OUTPUT«print($_)␤    for 1 .. 20␤»
00:59 mhr BenGoldberg: Ah! So it exists!
00:59 mhr Awesome!
01:01 BenGoldberg In addition to whatever is used by p56, I'm fairly sure that perlito can compile perl5 to perl6
01:02 mhr Fantastic! Well then, I can reuse all that's used in CPAN (is it CPAN or _the_ CPAN?). Now the only issue in the way of me starting with Perl 6 is efficiency.
01:03 BenGoldberg However, perlito isn't being maintained, afaik, so it might be out-of-date with respect to perl6's ever-changing specifications
01:03 TimToady and won't handle XS
01:04 leontopod if you are just going to be writing scripts to handle admin tasks perl 5 is fine
01:04 mhr leontopod: But I want to have the best language, and Perl 6 is the better language.
01:04 leontopod I'd say wait until Perl 6.0.0 is released
01:04 leontopod until then use Perl 5
01:04 TimToady well, there's not one dimension to "better"
01:05 mhr In terms of features and elegance of the language, I meant.
01:05 TimToady well, "running XS modules" is a kind of feature :)
01:05 BenGoldberg perl6 is cooler ;)
01:05 mhr what are XS modules?
01:05 leontopod Perl 6 is a cool language, but Perl 5 is also pretty cool
01:05 mhr ah, FFI
01:05 TimToady the ones that interface to C or C++ libraries, by and large
01:06 retupmoca mhr: are there any specific modules that you need in perl6, ooc?
01:07 BenGoldberg Also, even without dealing with libraries, XS allows people to write parts of their code in C or C++ for speed, or because they want to fiddle with perl's internals.
01:07 _sri realistically, even if everything works out perfectly for perl6 from now on and 6.0.0 is released tomorrow... bootstrapping a healthy eco system takes about 3 years these days (judging by node.js and npm)
01:07 xenoterracide joined #perl6
01:08 mhr retupmoca: I don't know which modules I want because I haven't done any kind of unix scripting before, I'm very new to this sort of thing. But I've read that with lots of Perl 5 hackers, many times they can just search for something they need on CPAN, and it's probably there.
01:08 _sri so perl5 is a pretty safe bet for any new project atm.
01:11 leontopod I think Perl 5 has a lot more modules (via CPAN) available than there are for Perl 6
01:12 leontopod but that will change
01:12 mhr BenGoldberg: I think that p56 is the same thing as perlito, from my scant research. p56 was created by "fglock", and if you search for p56 and fglock together, it brings you to fglock's perlito repository, http://perlcabal.org/~fglock/perlito6.html.
01:12 _sri leontopod: i think there are more perl5 modules uploaded each day than exist for perl6 :)
01:15 mhr leontopod: but if p56 works properly, CPAN shouldn't be a problem.
01:18 _sri mhr: that won't work for CPAN though, pretty much everything has XS dependencies
01:19 _sri that fact already has stopped many attempts at creating alternative perl5 implementations
01:19 telex joined #perl6
01:19 leontopod what C compiler does Strawberry Perl use to compile XS C
01:20 SHODAN joined #perl6
01:21 klapperl joined #perl6
01:21 mhr Okay. Damn it. Yeah... I'll just use Perl 5.
01:23 leontopod for now
01:23 mhr for now, yes
01:24 mhr I suppose this is the big question, but when do you guys think Perl 6 will be ready?
01:24 leontopod depends on what you mean by ready
01:24 telex joined #perl6
01:24 leontopod what flavor of ready?
01:24 * TimToady has used it for Real Stuff for two or three years now
01:25 mhr Ready meaning lots of CPAN[6] modules, fast enough to replace Perl 5 for most tasks.
01:29 telex joined #perl6
01:34 telex joined #perl6
01:36 jnap1 left #perl6
01:36 _sri mhr: just look at comparable new languages and how much time it took for them to bootstrap their eco system
01:37 _sri Go is another good example
01:37 _sri they're slowly getting there, but it takes a lot of time
01:37 erdic joined #perl6
01:39 _sri and i doubt the bootstrapping process can even start before perl6 has something equivalent to http://perldoc.perl.org/perlpolicy.html
01:45 erdic joined #perl6
01:47 mhr How many Perl 6 features are available as libraries for Perl 5? I know that Perl 5's Moose object system has been taken from Perl 6 ideas, for instance.
01:47 erdic joined #perl6
01:48 hoverboard joined #perl6
01:48 _sri anyway, has this been posted here yet? :) https://www.youtube.com/watch?v=eT6yjrLe4_U
01:52 erdic joined #perl6
01:53 lustlife joined #perl6
01:57 erdic joined #perl6
02:02 btyler joined #perl6
02:02 erdic joined #perl6
02:07 telex joined #perl6
02:09 xenoterracide joined #perl6
02:19 Sqirrel joined #perl6
02:29 xragnar_ joined #perl6
02:31 xragnar_ joined #perl6
02:43 xenoterracide joined #perl6
02:43 lue _sri: the closest thing we have to perlpolicy at the moment is S01, and I doubt we need anything more than that :)
02:45 _sri lue: i'm specifically referring to backwards compatibility
02:45 * lue infers you mean 6.x -> 6.y, because S01 covers 5 -> 6
02:46 * _sri nods
02:50 lue Yeah, that's something S01 should cover too. We're only just starting to occasionally think about "6.1", so it might take a little while to figure that out. :)
02:50 * lue imagines it involves a fair number of C<is DEPRECATED>s
02:54 * _sri thinks having a version of perl6 that can be in bugfix-only mode for 2 years would be a good indicator for "production ready"-ness
03:02 TimToady is "running too slow" a bug?  :D
03:02 xiaomiao yes
03:03 * xiaomiao prefers to not need a warehouse of CPUs to do simple tasks
03:03 Mouq joined #perl6
03:03 Mouq doop
03:03 yoleaux 14 Apr 2014 07:50Z <moritz> Mouq: are there tests for RT 109874?
03:03 mhr left #perl6
03:05 Mouq moritz: There are many sigspace tests, and a single "ok" that deals with the same issue. Maybe more should be added; I forgot about tests because there are/were so many sigspace bug tickets
03:06 Mouq (bad Mouq)
03:07 lue r: say "\x[10FFFB, 10FFFC, 10FFFD]" ~~ /\s+/; # TimToady, apparently you're the one to talk to about moar's unicode stuff?
03:07 camelia rakudo-moar a75d82: OUTPUT«「????????????」␤␤»
03:07 camelia ..rakudo-parrot a75d82, rakudo-jvm a75d82: OUTPUT«Nil␤»
03:07 Mouq lizmat++ # all kinda Rakudo stuffs
03:08 Mouq timotimo++ # weekly blog! :D
03:11 lue I don't think those characters should be seen as whitespace, but admittedly I'm not _too_ familiar on how Unicode handles PUA characters.
03:17 woosley joined #perl6
03:21 Mouq lue++ # stuffing the Unicode envelope
03:21 Mouq TimToady++ # pushing it
03:21 Mouq # or something like that
03:21 Mouq ####
03:22 lue .oO(I should probably commit that lingering S15 change already)
03:30 dalek roast: dea6de8 | Mouq++ | S05-modifier/sigspace.t:
03:30 dalek roast: Add (more) tests for RT #109874
03:30 dalek roast: review: https://github.com/perl6/roast/commit/dea6de8d53
03:30 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=109874
03:32 cooper joined #perl6
03:32 xinming joined #perl6
03:41 jk_ joined #perl6
03:45 Mouq $ perl6 -e'chr'
03:45 Mouq ===SORRY!=== Error while compiling -e
03:45 Mouq Calling proto of 'chr' requires arguments (if you meant $_, please use .chr or use an explicit invocant or argument)
03:45 Mouq Seem good?
03:45 dalek specs: 4cd0e7c | lue++ | S15-unicode.pod:
03:45 dalek specs: [S15] Add section for identifier and numeric literals.
03:45 dalek specs:
03:45 dalek specs: The identifier literals is effectively a reiteration of what's already
03:45 dalek specs: in S02. The numeric literals a newer concept to Perl 6, and hopefully
03:45 dalek specs: the details will be ironed out in short order :) .
03:45 dalek specs: review: https://github.com/perl6/specs/commit/4cd0e7cb6e
03:47 lue Mouq: perhaps "Please use .chr to operate on $_" or similar instead, but otherwise good.
03:48 Mouq lue: I worded it like that because it's cheating
03:49 lue I just feel that there's an infinitive missing between "meant" and "$_", that's all.
03:49 Mouq Ohh
03:49 Mouq I agree
03:50 lue (perhaps "meant to operate on $_" ?)
03:50 Mouq lue: That's just what I used :)
03:50 lue :)
03:53 dalek rakudo/nom: 08f0ade | Mouq++ | src/core/Exception.pm:
03:53 dalek rakudo/nom: Make error message for, e.g., chr() more helpful for vvi-ers
03:53 dalek rakudo/nom:
03:53 dalek rakudo/nom: Note say() and print() are still LTA compared to STD.pm6
03:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/08f0ade153
03:55 Mouq lue: What exactly does capital ẞ mean?
03:56 xiaomiao Mouq: it's a rarely used german letter
03:56 Mouq xiaomiao: I thought it was a ligature for Ss?
03:56 lue not "rarely"; it's the long-missing uppercase of ß
03:57 Mouq And if ß is a ligature for Ss, what is ẞ a ligature for?
03:57 Mouq Sꜱ? :P (small caps)
03:57 lue Mouq: ß is really a letter in its own right nowadays, more than a ligature.
03:58 lue (kinda like how & is historically a ligature for 'et', but no-one thinks of it as such anymore)
03:59 Mouq lue: Ok
03:59 djanatyn1 joined #perl6
03:59 lue Relevant: http://opentype.info/blog/2011/01/24/capital-sharp-s/
04:00 bonsaikitten joined #perl6
04:00 lue Most interesting from that is the quote from Duden in 1919, which indicates that we haven't had a capital ẞ for the last 100 years because typographers couldn't agree on its design, like they did for ß :) .
04:01 xiaomiao a funny one, that ... ligature of s-z that got bent totally out of shape
04:01 thou joined #perl6
04:01 pdcawley joined #perl6
04:01 Alina-malina joined #perl6
04:02 cooper joined #perl6
04:02 lue Some would insist that it's an ss ligature, not sz :)
04:05 * lue would really like for Unicode to change its uppercase mapping for ß ...
04:06 * Mouq is going to beeeed
04:06 Mouq 'night #perl6
04:06 Mouq the visit was nice :)
04:06 DrEeevil lue: historically, from the written form, it's an sz ... only the swiss insist on ss
04:07 lue ? I'm pretty sure it's always been a ligature of ſs
04:08 lue Looking again, it appears the exact origin is a bit wobbly.
04:21 SamuraiJack joined #perl6
04:24 klapperl_ joined #perl6
04:45 TimToady m: say "\x[10FFFB, 10FFFC, 10FFFD]" ~~ /\s+/;
04:45 camelia rakudo-moar 08f0ad: OUTPUT«「????????????」␤␤»
04:46 TimToady this looks like a leaking debug statement to me
04:46 TimToady note the extra newline
04:46 TimToady and it doesn't do it on my machine...
04:46 TimToady m: say "\x10FFFB" ~~ /\s+/;
04:46 camelia rakudo-moar 08f0ad: OUTPUT«「????」␤␤»
04:47 TimToady m: say so "\x10FFFB" ~~ /\s+/;
04:47 camelia rakudo-moar 08f0ad: OUTPUT«True␤»
04:47 segomos is there an easy way to in p6 regex to match \w+ but NOT a certain string?  i'm certain there is but i'm not finding it in S05 or elsewhere
04:48 lue m: say "   " ~~ /\s+/
04:48 camelia rakudo-moar 08f0ad: OUTPUT«「   」␤␤»
04:48 TimToady (\w+) <?{ $0 ne 'foo'>
04:48 lue TimToady: that extra newline is just part of the formatting
04:49 TimToady m: say uniprop("\x10FFFB",'gc')
04:49 camelia rakudo-moar 08f0ad: OUTPUT«Co␤»
04:49 TimToady should be Cn
04:49 TimToady I think
04:49 TimToady m: say unimatch("\x10FFFB",'Z')
04:49 camelia rakudo-moar 08f0ad: OUTPUT«True␤»
04:49 lue m: say uniprop($_.chr,'gc') for 0x10FFFB..0x10FFFD
04:49 camelia rakudo-moar 08f0ad: OUTPUT«Co␤Cn␤Zl␤»
04:49 TimToady and something in C shouldn't match Z anyway
04:50 TimToady I suppose it must be some kind of 32-bit damage
04:50 TimToady Zl ?!?
04:50 lue TimToady: IIRC, I found that all three of those should be Cn, and the problem is (obviously) in moar. I don't yet understand the generated unicode source or its generator though :)
04:50 TimToady I think there's only one Zl character
04:51 lue Ironically, in the code where this problem came up, 10FFFD was the only one not replaced with a space by the Pod rules of the grammar.
04:51 TimToady m: say uniprop("\c[LINE SEPARATOR]",'gc')
04:52 camelia rakudo-moar 08f0ad: OUTPUT«Zl␤»
04:52 TimToady that should be the only Zl
04:52 lue Oh, looks like behavior changed recently (at least in a toy example, have yet to run syngen again); 10FFFD is just as affected now.
04:53 TimToady on your local system, or here?
04:53 TimToady and if local, are you 32 or 64?
04:53 lue r: my $a = "\x10FFFB foo \x10FFFC bar \x10FFFD"; $a ~~ s:g/\s+/ /; say $a;
04:53 camelia rakudo-moar 08f0ad: OUTPUT« foo bar ␤»
04:53 camelia ..rakudo-parrot 08f0ad, rakudo-jvm 08f0ad: OUTPUT«???? foo ???? bar ????␤»
04:53 lue local is 64-bit, let me run the above snippet there.
04:54 lue Locally, moar leaves 10FFFD alone, but replaces 10FFFB and *C
04:55 TimToady leaves them all alone here
04:56 hoverboard joined #perl6
04:56 TimToady same on my other machine
04:58 lue The only seemingly-potentially-relevant commit between what version of moar I have installed and the latest pull is 551786d4be2c24273f16bbd7d3494c0b1ebc7d72
04:58 * lue updates his moar to see if things change
05:00 lue Just updated moar (but not nqp or rakudo), and I still get all-but-10FFFD
05:00 TimToady m: say $*VM<config><ccoptiflags>
05:00 camelia rakudo-moar 08f0ad: OUTPUT«-O1 -DNDEBUG␤»
05:02 TimToady m: say $*VM<config><cc>
05:02 camelia rakudo-moar 08f0ad: OUTPUT«gcc␤»
05:03 lue At the moment I'm trying to run uniprop($str, 'gc') on every codepoint, with the hope that I won't run out of memory in the process :P
05:04 TimToady m: say $*VM<config><cflags moarlib moardll>
05:04 camelia rakudo-moar 08f0ad: OUTPUT« -O1 -DNDEBUG  -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC libmoar.a libmoar.so␤»
05:04 TimToady m: say $*VM<config><osvers>
05:04 camelia rakudo-moar 08f0ad: OUTPUT«3.2.0-37-generic␤»
05:06 TimToady m: say $*VM<config><config>
05:06 camelia rakudo-moar 08f0ad: OUTPUT«--optimize --prefix=/home/p6eval/rakudo-inst-1 --make-install␤»
05:07 TimToady m: say $*VM<config><mtobjects>
05:07 camelia rakudo-moar 08f0ad: OUTPUT«3rdparty/tinymt/tinymt64.o␤»
05:08 TimToady bizarre, can't see any difference with my local machines
05:08 telex joined #perl6
05:08 lue could it be some external dependency MoarVM uses that might differ across machines?
05:12 TimToady seems kinda unlikely, unless it's just leaving different garbage in memory that the unicode stuff shouldn't be accessing
05:12 TimToady usually you get segv when you do that...
05:13 TimToady and doesn't explain why I get the correct Cn
05:13 TimToady unless I just got lucky somehow
05:13 TimToady what's your compiler version?
05:14 lue gcc version 4.8.1 (Gentoo 4.8.1-r1 p1.2, pie-0.5.7)
05:14 TimToady hmm, 4.7.3 here
05:15 TimToady Linux Mint
05:15 TimToady overagressive optimizer?
05:16 TimToady Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.7.3-1ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --en
05:16 lue Configured with: /var/tmp/portage/sys-devel/gcc-4.8.1-r1/work/gcc-4.8.1/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.8.1 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.8.1 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.8.1/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.8.1/info --with-gxx-inclu
05:16 lue de-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/include/g++-v4 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.8.1/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.8.1-r1 p1.2, pie-0.5.7' --enable-libstdcxx-time --enable-shared --enable-threads=pos
05:16 lue ix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-altivec --disable-fixed-point --enable-targets=all --disable-libgcj --enable-libgomp --disable-libmudflap --disable-libssp --enable-lto --without-cloog
05:16 lue I think gentoo adds a few options over your distribution :)
05:17 TimToady well, *obviously* one of those options is wrong :P
05:17 DrEeevil lue: if you find issues feel free to yell at me
05:17 DrEeevil I'm your resident gentoo perl6-maintainer :)
05:17 segomos TimToady: duh, thank you (re: regex)
05:18 TimToady must be the --with-python-dir  :)
05:23 havenwood joined #perl6
05:25 lue Hm. I get a segmentation fault trying to read the gc of U+100A63 (as well as 100A64)
05:25 DrEeevil TimToady: or something newer than gcc 3.4 ;)
05:25 * DrEeevil would now usually make a joke about debian oldstale ;)
05:25 lue Scratch that, 100A67 is the next failure
05:28 bjz_ joined #perl6
05:30 TimToady looks to me like the gc's are kinda random around there
05:31 TimToady so probably just trying to interpret random memory somewhere
05:31 lue Yeah, I'm running a modified version of my one-liner to bypass the segvs right now :)
05:32 TimToady gonna have to redownload my UNIDATA; something blew it away, like a realclean maybe
05:35 lue TimToady: where do you get it, by the way? The only links I found would necessitate me creating a dir named UNIDATA (or renaming one to such) manually.
05:37 leontopod UNIVAC
05:38 leontopod 1108
05:48 jdv79 left #perl6
05:52 TimToady yes, you have to create UNIDATA and unzip UCD.zip in it
05:53 lue OK, I'll remember that for when I touch moar's generator again.
06:07 lue #perl6 o/
06:08 LordV joined #perl6
06:12 anaeem1_ joined #perl6
06:14 kaleem joined #perl6
06:23 salv0 joined #perl6
06:27 LordV joined #perl6
06:35 vendethiel joined #perl6
06:37 Teratogen joined #perl6
06:41 moritz \o
06:42 moritz the amount of anonymous Perl 6 hate on perlmonks has reached a new peak
06:42 * moritz is sorry for feeding the trolls for so long
06:46 Teratogen why the Perl 6 hate?
06:46 Teratogen it's going to be a great language
06:46 moritz because people were/are disappointed
06:46 moritz it actually is a great language
06:46 Teratogen That Perl 6.0.0 can't be pushed out?
06:46 moritz which is kinda an important distinction that people don't get
06:47 moritz Teratogen: well, I guess there are several layers of disappointment involved
06:47 Teratogen maybe the Perl 6 team should freeze development and push a Perl 6 Version 1 out
06:47 moritz Teratogen: some of them are disappointed by the long time; others by personal time investments not being honored, or not leading to fast success
06:48 moritz some being disappointed that the road taken isn't the one they would have chosen
06:49 thou joined #perl6
06:50 moritz and no, freezing the spec and giving it a certain name fixes none of the problems
06:52 DrEeevil I guess a part of the frustration is that it took, like, 10 years to not even get a "1.0" release
06:52 DrEeevil but then I look at Python3 and think "so what"
06:58 darutoko joined #perl6
06:59 denis_boyun joined #perl6
06:59 tokuhirom joined #perl6
07:05 nwc10 p6: say $]
07:05 camelia rakudo-parrot 08f0ad, rakudo-jvm 08f0ad, rakudo-moar 08f0ad: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Unsupported use of $] variable; in Perl 6 please use $*PERL_VERSIONâ�¤at /tmp/tmpfile:1â�¤------> [32msay [33mâ��[31m$][0mâ�¤    expecting any …»
07:05 camelia ..niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Non-declarative sigil is missing its name at /tmp/tmpfile line 1:�------> [32msay [33m�[31m$][0m��Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or …»
07:05 nwc10 p6: say $*PERL_VERSION
07:05 camelia rakudo-parrot 08f0ad: OUTPUT«Dynamic variable $*PERL_VERSION not found␤  in method gist at gen/parrot/CORE.setting:12600␤  in method gist at gen/parrot/CORE.setting:1056␤  in sub say at gen/parrot/CORE.setting:13534␤  in block  at /tmp/tmpfile:1␤␤»
07:05 camelia ..rakudo-moar 08f0ad: OUTPUT«===SORRY!===␤Dynamic variable $*PERL_VERSION not found␤»
07:05 camelia ..rakudo-jvm 08f0ad: OUTPUT«Dynamic variable $*PERL_VERSION not found␤  in method gist at gen/jvm/CORE.setting:12579␤  in sub say at gen/jvm/CORE.setting:13492␤  in block  at /tmp/tmpfile:1␤␤»
07:05 camelia ..niecza v24-109-g48a8de3: OUTPUT«(Any)␤»
07:05 nwc10 that's less than awesome
07:06 nwc10 is there a bug for that?
07:06 nwc10 specifically the "don't do this, do that" followed by "oh, that doesn't work either"
07:09 jnthn p6: say $*PERL
07:09 camelia rakudo-parrot 08f0ad: OUTPUT«{"compiler" => {"codename" => "", "build-date" => "2014-04-15T05:23:06Z", "release-number" => "", "ver" => "2014.03.01-162-g08f0ade", "name" => "rakudo"}, "name" => "rakudo"}␤»
07:09 camelia ..rakudo-jvm 08f0ad: OUTPUT«{"compiler" => {"name" => "rakudo", "codename" => "", "ver" => "2014.03.01-162-g08f0ade", "build-date" => "2014-04-15T04:10:41Z", "release-number" => ""}, "name" => "rakudo"}␤»
07:09 camelia ..rakudo-moar 08f0ad: OUTPUT«{"compiler" => {"release-number" => "", "name" => "rakudo", "codename" => "", "ver" => "2014.03.01-162-g08f0ade", "build-date" => "2014-04-15T05:17:36Z"}, "name" => "rakudo"}␤»
07:09 camelia ..niecza v24-109-g48a8de3: OUTPUT«(Any)␤»
07:09 jnthn I guess it should refer to something in there...
07:10 zakharyas joined #perl6
07:14 Ven joined #perl6
07:18 FROGGS joined #perl6
07:22 lizmat good *, #perl6!
07:22 sergot o/
07:23 jnthn o/ lizmat, sergot
07:24 FROGGS morning
07:24 jnthn FROGGS: Still on vacation, or back from it? :)
07:24 FROGGS I am back since Sunday evening
07:25 jnthn aha
07:34 dmol joined #perl6
07:35 nwc10 FROGGS: this is a "dear lazyIRC" question - any idea roughly what proportion of the Perl 5 code on http://benchmarksgame.alioth.debian.org/ V5 can parse?
07:41 lizmat .oO( the answer is lazy :-)
07:42 dalek rakudo/nom: 7814401 | (Elizabeth Mattijsen)++ | src/core/Capture.pm:
07:42 dalek rakudo/nom: Re-imagine Capture.perl
07:42 dalek rakudo/nom:
07:42 dalek rakudo/nom: Make it nicer if now positionals and/or no named parameters.
07:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7814401b72
07:43 lizmat *no  (*sigh*)
07:48 Rounin I don't quite get what that benchmark is for anymore... It used to measure how fast programming languages were and how much memory they used, but now it's measuring how fast its benchmark programs are, which isn't something I want to know
07:48 Rounin Maybe they decided that averaging the results of all the benchmarks wasn't meaningful
07:52 pdcawley joined #perl6
07:53 FROGGS nwc10: perhaps the sqrt, use constant or regex modifier (s and e) do not work yet
07:53 FROGGS nwc10: but should be easy to make it work
07:58 nwc10 FROGGS: I'd be curious to see how they compare with running them on the real Perl 5
07:58 nwc10 and whether the spesh and JIT games make them go fast(er)
07:58 FROGGS nwc10: I'll let you know how it works out :o)
07:59 nwc10 cool, thanks
08:14 dalek specs: fabf7b2 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
08:14 dalek specs: Elaborate on how to give a thread a name
08:14 dalek specs: review: https://github.com/perl6/specs/commit/fabf7b2d53
08:14 dalek specs: 8ffd387 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
08:14 dalek specs: Thread.new only takes named parameters
08:14 dalek specs:
08:14 dalek specs: Why make it easier to create threads manually?  We don't really want this to
08:14 dalek specs: be the easiest way to do concurrency in Perl 6.
08:14 dalek specs: review: https://github.com/perl6/specs/commit/8ffd387068
08:17 Ven lizmat: it shouldn't be "the easiest way", but doesnt it have its place in a synopse ?
08:19 lizmat yes, it does: I only removed the spec that would allow you to start a Thread with Thread.new( {...} );
08:19 lizmat instead of Thread.new( :code( {... } ) )
08:19 lizmat since the current implementation doesn't support the latter
08:20 lizmat so I changed the spec rather than the implementation  :-)
08:20 nwc10 lizmat: I think you mean "doesn't support the former" or "only supports the latter" (but your point is clear)
08:21 lizmat indeed, yes... former / latter  what's the difference  :-)
08:22 lizmat .oO( latter is so much easier to type )
08:22 FROGGS ---/+++, what's the difference?
08:25 lizmat left / right, who cares  :-)
08:26 lizmat afk for a few hours&
08:42 dakkar joined #perl6
08:45 havenwood joined #perl6
08:52 pecastro joined #perl6
08:53 sqirrel_ joined #perl6
08:56 jnthn Thread.start({...}) is the convenient way anyway
08:57 jnthn Thread.new(...) is a way to get an unstarted Thread that you can run later.
09:15 snarkyboojum joined #perl6
09:17 denis_boyun_ joined #perl6
09:20 petercommand joined #perl6
09:20 anaeem1 joined #perl6
09:23 snarkyboojum hi guys, does rakudo on moarvm work with the perl6 module ecosystem and panda?
09:23 tadzik yes
09:24 tadzik I think it's even Star-capable
09:24 snarkyboojum tadzik, so I'm doing something wrong when I try and run rakudo-m outside the install directory... cool.
09:24 tadzik snarkyboojum: did you try rakudobrew? :)
09:24 snarkyboojum nup :)
09:24 * snarkyboojum googles
09:25 jnthn snarkyboojum: You did, I assume, "make install" and run the installed one?
09:25 snarkyboojum jnthn, I think so
09:25 jnthn Just trying to run the perl6-m in the build directory almost certainly won't work out from elsewhere.
09:25 jnthn Probably not on any backend.
09:26 snarkyboojum jnthn, ok - will check
09:26 jnthn ok. time to take @student for lunch :)
09:26 jnthn bbl
09:30 anaeem1 joined #perl6
09:31 snarkyboojum tadzik, 'and add symlinks/aliases for convenience.' could be clearer :)
09:32 tadzik hehe :)
09:32 tadzik true
09:32 tadzik but you really only need ~/.rakudobrew/bin in PATH
09:32 tadzik maybe it even has rakudobrew env, or so
09:32 virtualsue joined #perl6
09:32 tadzik or maybe pandabrew had that
09:35 snarkyboojum tadzik, ~/.rakudobrew/bin is PATH doesn't help me... will have a deeper look in a bit. thanks for the tips!
09:35 tadzik :o
09:35 tadzik weird
09:36 snarkyboojum I'm sure I'm being dense... rakudobrew doesn't seem to know about any of my rakudo installs.. I'll stop being lazy and have a look
09:36 tadzik but I hear more and more complaints about it, maybe I should try instaling it on a fresh user account and seeing for myself
09:36 tadzik it only knows about the ones it installed itself
09:37 tadzik but it can autorebuild panda after updates
09:38 snarkyboojum ahh.. hehe @ 'Building is NYI. Well volunteered!'
09:38 tadzik hehe
09:39 snarkyboojum tadzik, was going by the help messages.. which only showed parrot usage ;) I was serious about being lazy
09:39 tadzik hm, then the help messages are wrong :P
09:39 tadzik I need usertests
09:39 snarkyboojum or patches!
09:39 tadzik yep :)
09:39 * Ven is trying to use rakudobrew while he's on a mac
09:43 snarkyboojum and how's that working out for you?
09:44 snarkyboojum I'm trying it on a clean Ubuntu 13.10 server install (i think)
09:45 Ven It's cloning right now :p
09:45 Ven github is really slow or I only download small files, since I dl at 150KiB/s
09:46 snarkyboojum oh noes! I've just built moar with it
09:48 * Ven doesnt have admin rights on this comp though ..
09:51 Ven "sh: ~/.rakudobrew/parrot-HEAD/install/bin/parrot: no such file or directory"
09:51 tadzik :<
09:51 tadzik rakudobrew rehash?
09:52 Ven after it's done cloning its stuff :)
09:52 tadzik I didn't build parrot for a while though, it may be a bit broken
09:52 tadzik ah
09:52 tadzik but does it keep building?
09:52 Ven it keeps cloning ._.
09:52 tadzik hmm
09:54 moritz retupmoca++ # fixing repossesion stuff in MoarVM
09:59 Ven Command failed (status 256): git checkout RELEASE_6_1_0 Failed running perl Configure.pl --backends=parrot --gen-parrot --gen-nqp at bin/rakudobrew line 26.
09:59 Ven tadzik: ^
10:00 rindolf joined #perl6
10:03 Ven tadzik: https://gist.github.com/Nami-Doc/f7f0282c3c55adfc0569
10:04 havenwood joined #perl6
10:08 AW3i joined #perl6
10:12 donaldh joined #perl6
10:14 virtualsue joined #perl6
10:16 donaldh joined #perl6
10:23 dalek specs: 1ec306f | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
10:23 dalek specs: Amplify the difference between Thread.(start|new)
10:23 dalek specs:
10:23 dalek specs: Which I completely missed earlier today :-(
10:23 dalek specs: review: https://github.com/perl6/specs/commit/1ec306f749
10:30 denis_boyun_ joined #perl6
10:30 snarkyboojum tadzik, lazy patch ideas - https://gist.github.com/snarkyboojum/10721059 and https://gist.github.com/snarkyboojum/10721124
10:32 snarkyboojum complete with rakudo-y anachronisms!
10:33 snarkyboojum btw, rakudobrew is good :)
10:35 tadzik :) good to hear
10:41 Ven tadzik: Configuration FAIL. You can try to salvage the generated Makefile. Command failed (status 256): perl Configure.pl --optimize --prefix=~/.rakudobrew/moar-HEAD/install --make-install Command failed (status 7424): perl Configure.pl --prefix=~/.rakudobrew/moar-HEAD/install --backends=moar --make-install --gen-moar=master Failed running perl Configure.pl --backends=moar --gen-moar=master --gen-nqp=master at bin/rakudobrew line 26.
10:43 dalek roast: a2ef583 | (Elizabeth Mattijsen)++ | S17-concurrency/thread.t:
10:43 dalek roast: Priming the hash stops it from segfaulting
10:43 dalek roast: review: https://github.com/perl6/roast/commit/a2ef583d14
10:44 tadzik Ven: oh, it's not my fault :o
10:45 tadzik that's parrot failing, not rakudobrew
10:45 tadzik snarkyboojum++ #patches applied :)
10:45 Ven tadzik: that's "build moar"
10:45 Ven oh you mean the gist ? yeah that too
10:45 tadzik oh, that last one
10:45 tadzik weird
10:45 tadzik can you build moar otherwise?
10:46 Ven Is there an install guide or smth ?
10:46 tadzik just https://github.com/rakudo/rakudo/blob/nom/README.md#configuring-rakudo-to-run-on-moarvm
10:47 Ven so I clone (deep) rakudo and do that
10:48 tadzik yep
10:49 Ven I literally don't know why cloning is so slow. I have like 400mb/s down and I can only get 150ko/s from github ?
10:51 Ven "/objects/pack: Authentication error" welp.
10:51 Teratogen Perl is the most powerful computer language ever devised by the mind of man
10:52 Ven .oO(or is man the most powerful computer language devised by perl ?)
10:55 snarkyboojum_ joined #perl6
10:57 lizmat https://xkcd.com/224/
10:59 lizmat .oO( just to show Perl is more of a mindset than a language :-)
11:02 * lizmat just realizes that array slice assignments could be made parallel as well
11:11 colomon m: say (1, 1, *+* … *)[32]
11:11 camelia rakudo-moar 781440: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/mNONrIT_jwâ�¤Two terms in a rowâ�¤at /tmp/mNONrIT_jw:1â�¤------> [32msay (1, 1, *+* [33mâ��[31m… *)[32][0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or …»
11:12 colomon :\
11:12 colomon stupid ...
11:13 colomon Localy, my first attempt to use "is cached" just worked brilliantly
11:13 colomon lizmat++
11:19 lizmat colomon: yw  :-)
11:20 LLamaRider joined #perl6
11:21 perl007 joined #perl6
11:21 LLamaRider A colleague in my office just now: "If Perl6 gets faster than Scala I would switch." (as evident, he's using Scala at the moment)
11:24 lizmat s/if/when  ???
11:24 lizmat s/would/will  ???
11:24 lizmat :-)
11:25 jnthn Scala runs on the JVM and was designed for it. :) That's quite a tough thing to be shooting at. :)
11:26 AW3i joined #perl6
11:27 LLamaRider It's also quite similar to P6 in more ways than most languages, so it tends to pop up when I enumerate P6 features. And there's the old joke - http://perl8.org/
11:29 jnthn lizmat: spec patch looked reasonable
11:30 perl007 i have a function name in a string, how to run it?
11:31 moritz m: sub f() { say 42 }; my $name = 'f'; &::($name)()
11:31 camelia rakudo-moar 781440: OUTPUT«42␤»
11:31 moritz perl007: see above
11:34 perl007 works
11:36 LLamaRider moritz: isn't EVAL($name) nicer?
11:37 moritz LLamaRider: no
11:37 moritz LLamaRider: if the name comes from somewhere else, you need to validate it first
11:37 jnthn Plus it's a LOT more expensive.
11:37 moritz LLamaRider: also, no need to start a whole compiler
11:37 jnthn and you'd need to put an & on the start
11:37 moritz when you can just look it up in the symbol table
11:38 jnthn oh, not to call it though
11:38 jnthn I'd estimate &::(...) could be 100 times cheaper or so :)
11:38 moritz EVAL is a tool of last resort
11:38 moritz m: sub f() { say 42 }; my $name = 'f'; &::($name)(); say time - BEGIN time
11:38 camelia rakudo-moar 781440: OUTPUT«42␤1␤»
11:39 LLamaRider I see. Maybe one can invent some syntactic sugar (not in the core but in our own libraries) to avoid the &::($name)() syntax
11:39 moritz m: sub f() { }; my $name = 'f'; for ^100 { &::($name)() }; say now - BEGIN now
11:39 camelia rakudo-moar 781440: OUTPUT«0.314756␤»
11:39 moritz m: sub f() { }; my $name = 'f'; for ^100 { EVAL $name }; say now - BEGIN now
11:39 camelia rakudo-moar 781440: OUTPUT«1.9474594␤»
11:39 moritz LLamaRider: why? symbolic lookup isn't needed all that often
11:39 jnthn wow...not so different after all
11:40 lizmat m: sub f() { }; my $name = 'f'; for ^100 { &::($name)() }; say now - CHECK now
11:40 camelia rakudo-moar 781440: OUTPUT«0.3942260␤»
11:41 lizmat m: sub f() { }; my $name = 'f'; for ^100 { EVAL $name }; say now - CHECK now
11:41 camelia rakudo-moar 781440: OUTPUT«1.81675111␤»
11:41 lizmat m: sub f() { }; my $name = 'f'; for ^100 { &::($name)() }; say now - CHECK now
11:41 camelia rakudo-moar 781440: OUTPUT«0.3073113␤»
11:41 lizmat m: sub f() { }; my $name = 'f'; for ^100 { EVAL $name }; say now - CHECK now
11:41 camelia rakudo-moar 781440: OUTPUT«1.905779␤»
11:41 LLamaRider moritz: because I find the syntax unwieldy &::( in particular
11:41 lizmat well, quite some noise on there
11:41 LLamaRider r: perl6 -e 'sub f() { say 42 }; sub invoke(Str $name) {&::($name)();}; invoke("f"); '
11:41 jnthn LLamaRider: It's *meant* to be. You're doing soemthing nasty. It shoudl look nasty. :)
11:41 camelia rakudo-jvm 781440: OUTPUT«(timeout)»
11:41 camelia ..rakudo-parrot 781440, rakudo-moar 781440: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32mperl6 -e [33mâ��[31m'sub f() { say 42 }; sub invoke(Str $nam[0mâ�¤    expecting any of:â�¤        postfixâ�¤ …»
11:41 LLamaRider r: sub f() { say 42 }; sub invoke(Str $name) {&::($name)();}; invoke("f");
11:42 camelia rakudo-parrot 781440, rakudo-jvm 781440, rakudo-moar 781440: OUTPUT«42␤»
11:43 LLamaRider sorry for pasting the wrong thing. jnthn: I remember watching a talk about that philosophy. I guess I am happy since I can define my own routine that hides the ugly parts.
11:43 jnthn LLamaRider: Yeah, but if you're doing it often then...I'd worry.
11:43 moritz LLamaRider: also, that only works if the symbol is in the scope where you define sub invoke
11:44 LLamaRider I guess it wouldn't be my choice of method in the first place, I'd rather store the names and function references in a hash and invoke them from there
11:45 LLamaRider moritz: about that, what does this empty "::" namespace mean exactly? a default namespace? a current one?
11:45 cognominal joined #perl6
11:46 moritz LLamaRider: the current one
11:50 cognominal joined #perl6
12:02 * Ven Perl6 faster than Scala ? Maybe when Perl 6.5 has type lambdas ...
12:03 Ven (that's a really, really bad comparison though, one is a scripting language, the other one is a language with a quite advanced type system "made to run" with the jvm)
12:03 nwc10 does Scala do concurrency well?
12:03 jnthn It runs on the JVM; one'd hope so :)
12:04 jnthn Works nicely with Akka, I heard. Which is Actor-based.
12:04 Ven Yeah, with Akka and Futures, it's good
12:05 Ven maybe you *could* imagine a small fully-typed Perl6 code that'd run as fast on the JVM as Scala, but I have somewhat a hard time
12:05 havenwood joined #perl6
12:05 jnthn Well, there are ways to be fast without sticking types all over :)
12:05 jnthn Just ask JavaScript or LuaJIT :)
12:05 Ven though sometimes scala does stupid&inefficient things, like automatic widening
12:06 Ven well really, it's typed "underneath" (like the code is typed implicitly) with all these hidden classes etc
12:06 lizmat moritz++, raiph++ (just because)
12:08 Ven but I v8 is not as fast as scala is (I'm sure asm.js gets close, sure)
12:08 Ven I think*
12:10 Ven http://readwrite.com/2011/06/06/cpp-go-java-scala-performance-benchmark#awesm=~oBvdam3BZ2EosX oO
12:13 cognominal joined #perl6
12:16 * lizmat for a few minutes was thinking about writing a PerlMonks meditation, but decided against feeding anonymous trolls
12:16 lizmat which is really sad, when you think about it :-(
12:17 Juerd The anonymous replies are one of the reasons I'm no longer active on Perl Monks
12:17 Ven for example ? (I never go on perlmonks)
12:19 lizmat http://perlmonks.org/?node_id=1082052  (if you must)
12:20 cognominal there should be a flag to cut subthread visibility of threads spawned by anonymous. "You are free to talk and I am free not to listen"  :)
12:22 kbaker_ joined #perl6
12:22 Ven Pretty bad trolls, if you ask me :-)
12:22 lizmat http://www.brainyquote.com/quotes/quotes/m/mahatmagan103630.html
12:23 lizmat I guess we're inbetween laughing and fighting now
12:23 nwc10 so, there seems to be a "market" for a Perlmonks replacement with less anonymity
12:23 nwc10 and blogs.perl.org doesn't have the community that use.perl managed
12:23 nwc10 (where nothing was anonymous)
12:23 nwc10 start something new? Write it in Perl 6? "Everyone weclcome"
12:24 nwc10 it's not like anyone loves the perlmonks source code
12:24 lizmat hehe...  indeed
12:24 nwc10 lizmat: yes, possibly. I think it best to ignore the trolls completely and work on being better
12:26 Ven Though in 2 years, when rakudo will be kinda-fast and almost feature complete (wrt current spec), what will they say ? "still shit" or "omg always believed in it" ? I'd think the former -- delusion is easy :)
12:31 colomon woah, that's a lot of empty negativity there on PerlMonks....
12:32 dbane joined #perl6
12:32 nwc10 likely "still shit"
12:32 nwc10 until they shut up, because they are using it
12:32 Ven most likely :-)
12:32 nwc10 don't expect anyone to actually admit that they were wrong
12:32 nwc10 or that they changed their mind
12:32 Ven Oh I'm sure they're ready not to use it "just because they've been right all along"
12:36 cognominal joined #perl6
12:43 Khisanth joined #perl6
12:43 xenoterracide joined #perl6
12:45 lizmat jnthn: is there a reason why Supply.grep is not implemented in terms of Supply,map ?
12:46 * lizmat is looking at implementing Supply.uniq and Supply.squish
12:52 [Coke] I'm kind of amazed that the negatively has reached a threshold where long time monk users are now avoiding it.
12:52 [Coke] (it's -always- been anonymous & negative, IMO)
12:57 dalek rakudo-star-daily: 73aa205 | coke++ | log/ (5 files):
12:57 dalek rakudo-star-daily: today (automated commit)
12:57 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/73aa205e37
12:57 dalek rakudo-star-daily: f76adec | coke++ | log/ (5 files):
12:57 dalek rakudo-star-daily: today (automated commit)
12:57 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/f76adecdcb
12:57 dalek perl6-roast-data: e603bc6 | coke++ | / (6 files):
12:57 dalek perl6-roast-data: today (automated commit)
12:57 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/e603bc657f
12:59 [Coke] rakudo roast failures:
12:59 [Coke] S02-names-vars/perl.rakudo.jvm 90 - .perl on user-defined type roundtrips okay
12:59 [Coke] S17-concurrency/promise.rakudo.moar aborted 2 test(s)
12:59 [Coke] S02-types/bool.t aborted 1 test(s) (parrot)
13:00 dmol joined #perl6
13:03 Ven [Coke]: that's just trolls :). When I first tried to look for p6 and I got the "feature matrix", my reaction was "for something that's never gonna be ready, it still seems pretty advanced" (though followed by "where the fuck are the docs and tutorials for that")
13:04 tadzik ooc, did you check out perl6.org/documentation?
13:05 lizmat [Coke]: can't reproduce the problems with S17-concurrency/promise.rakudo.moar heer :-(
13:05 Ven tadzik: probably not -- the link on perl6.org is for the API
13:06 Ven (though yeah the "more" gets you there -- still a bit missing of real introductions)
13:06 havenwood joined #perl6
13:06 Ven .oO(we need a learnxinyminutes for perl6)
13:12 [Coke] lizmat: https://github.com/coke/perl6-roast-data/blob/e603bc657f5529b2361107846d69c2439293c56e/log/rakudo.moar_summary.out#L1481
13:13 [Coke] (it's segfaulting on host07)
13:13 [Coke] (looks like 3 tests are, 2 probably too late to care about test results)
13:14 [Coke] (that was yesterday's run - today's run is still segfaulting)
13:15 [Coke] running with t/fudgeandrun? no error.
13:16 [Coke] moritz: be nice if we had gdb on host07
13:17 [Coke] (I can duplicate the segfault if run the pre-fudge test directly with the ulimited running I put into ./perl6
13:17 [Coke] er, the *ulimited runner
13:18 clkaoud joined #perl6
13:23 Ven I guess I'll change "perl" on learnxinyminutes to "perl5"
13:25 masak moritz: feature request: http://irclog.perlgeek.de/perl6/tomorrow -- :P
13:26 jnthn lizmat: Well, because Supply.map doesn't know about flattening for one... :)
13:26 jnthn lizmat: For two because it're more efficient.
13:27 lizmat jnthn: it just feels wrong, because they're identical for the &filter/&mapper bit
13:27 jnthn lizmat: Well, also that one booleanizes the result :P
13:28 lizmat ??
13:28 jnthn lizmat: If you implement grep in terms of map you have to wrap it in aother layer of closure
13:28 jnthn It's one of those times where people go for elegance in the setting then get all surprised when stuff is slow. :/
13:28 SamuraiJack_ joined #perl6
13:28 lizmat ok, so for implementing Supply.uniq and Supply.squish
13:28 lizmat I would take the same approach ?
13:29 SamuraiJack__ joined #perl6
13:29 jnthn yes, because the two need entirely different data structures.
13:29 jnthn They need doing in terms of "on"
13:29 jnthn Because you may have two values pushed concurrently.
13:30 jnthn map/grep can happily do their thing concurrently because ordering is unimportant.
13:30 lizmat okidoki
13:30 jnthn And are stateless
13:31 jnthn Actually that's a good rule of thumb
13:32 guru joined #perl6
13:32 jnthn If the lazy list version of something is somehow stateful then the reactive version needs "on"
13:33 jnthn Implement enough of them and you'll notice lots of beautiful "consistencies" like this falling out of the underlying duality of enueration and observation :)
13:36 * [Coke] wonders if we need comments in the setting indicating when things are done for performance reasons.
13:36 [Coke] "It is tempting to rewrite this <thusly>, but don't because..."
13:39 lizmat perhaps...  :-)
13:44 jnthn git blame and see if the last commit touching it was optimizing :P
13:51 btyler joined #perl6
13:52 thou joined #perl6
13:55 lizmat jnthn: am looking at why Supply.grep doesn't work with threading scheduler
13:55 jnthn hmm
13:55 lizmat and it looks like another instance of the "thread still running after joined" issue
13:55 jnthn Does grep take a scheduler?
13:56 lizmat no, but the Supply does
13:57 lizmat grep/map were only tested with the CurrentThreadScheduler, remedying that now
13:57 jnthn ok
13:57 jnthn then something is busted
13:58 lizmat well, if I put a "say" inside the grep code, I see them appear *after* the test has decided it failed
13:58 lizmat in tap with 6
13:58 lizmat #      got: ''in tap with 7
13:58 lizmat in tap with 8
13:58 lizmat # expected: '6 7 8 9 10'
13:58 lizmat in tap with 9
13:58 lizmat in tap with 10
13:58 lizmat done with tap
13:59 jnthn oh...how is the test written?
13:59 lizmat I would expect the "done" to be done *before* the test is done
13:59 jnthn well, it depends how you wrote the test :P
14:00 jnthn need to do the final bit of teaching, bbi30
14:00 lizmat okidoki
14:06 kaare__ joined #perl6
14:06 perigrin 23
14:06 perigrin *sigh*
14:07 havenwood joined #perl6
14:08 masak perigrin: it was nice of you to stop by! :D
14:10 lizmat jnthn: I think that the test is faulty  :-)
14:18 bluescreen10 joined #perl6
14:19 jnap joined #perl6
14:20 treehug88 joined #perl6
14:23 timotimo o/
14:24 lizmat timotimo o/
14:24 rindolf joined #perl6
14:25 donaldh joined #perl6
14:32 myfree joined #perl6
14:32 myfree left #perl6
14:42 ggherdov joined #perl6
14:45 pnu joined #perl6
14:45 hoelzro ahoy #perl6!
14:46 colomon \o
14:46 FROGGS hi hoelzro
14:47 jnthn lizmat: ah, ok :)
14:47 hoelzro hi FROGGS
14:47 jnthn I'm done teaching now (supervising exercises, though); link me if you want me to peek at something
15:01 rindolf hoelzro: hi.
15:01 hoelzro ahoy rindolf
15:01 rindolf FROGGS: hi.
15:01 rindolf hoelzro: what's up?
15:02 hoelzro nothing much
15:02 hoelzro just at work
15:02 FROGGS $work
15:02 hoelzro flabbergasted by the awful weather we have in Chicago =/
15:05 jnthn hoelzro: I...thought that was the default in Chicago?
15:05 hoelzro so it seems =/
15:05 hoelzro I just moved here about a month ago
15:05 hoelzro and I'm discovering it more and more
15:05 hoelzro which is funny, because the town I'm from is just 2 hours north
15:06 jnthn It's because all the huge tall buildings poke into the clouds and break them open.
15:09 lizmat jnthn: about to go out fo some cycling, but it seems like Supply.merge *is* faulty, as the second "done" is never reached
15:09 jnthn lizmat: yeah, I know it fails a test on Moar but not JVM
15:09 lizmat and therefore the done on the resulting tap isn't "done" either
15:10 lizmat cycling, should be back in a few hours&
15:12 perl007 If that's not enough flexibility, there is also an eqv() function that can be passed additional information specifying how you want canonical values to be generated before comparison. This gives eqv() the same kind of expressive power as a sort signature.
15:12 perl007 an example?
15:13 kaleem joined #perl6
15:14 jnthn hotel, bbl &
15:15 timotimo the perl6 cheatsheet has a little list of types; among them KeyHash, KeySet, KeyBag, Set, Bag; where exactly do the Mix* types fit in there?
15:15 timotimo hm. there is probably not sufficient space to also put bitwise operators into that cheatsheet
15:16 timotimo (that is +> +< +~ etc)
15:16 timotimo and it'd be nice to have a spot in the operator precedence list for adverb application
15:16 timotimo but the cheatsheet is probably optimized to exactly fit an a4 or letter page?
15:21 cognominal joined #perl6
15:21 dragon_d joined #perl6
15:29 [particle] joined #perl6
15:31 havenwood joined #perl6
15:32 guru joined #perl6
15:36 zakharyas joined #perl6
15:37 FROGGS perl007: that does not seem to be implemented nor is there a test for it... so I can't tell how it would look like
15:39 vbccxb joined #perl6
15:40 jnthn joined #perl6
15:41 jnthn grr, at least one of screen or irssi wedged...
15:44 cognominal nqp-m --target=parse -e0
15:44 cognominal Cannot iterate object with P6opaque representation
15:45 jnthn Probably just that match object dumping is broken somehow.
15:47 cognominal will test on other vms to see where the problem lies.
15:47 jnthn sure
15:47 jnthn Well, if we want it to reliably work and to stay working it needs tests
15:49 [Coke] hoelzro: you're back in the states? whee.
15:49 hoelzro mhmm
15:58 dbane` joined #perl6
16:00 cxreg joined #perl6
16:01 denis_boyun_ joined #perl6
16:01 raydiak good morning, #perl6
16:02 TimToady o/
16:02 PerlJam buenos dias raydiak
16:03 raydiak \o TimToady and PerlJam
16:03 raydiak whats new and exciting around here in the past month or two?
16:05 jnap1 joined #perl6
16:05 PerlJam raydiak: Best read timotimo's summaries, they'll catch you up
16:05 timotimo <3
16:06 raydiak will do; which ones are those?
16:08 raydiak n/m, found it...apparently it was the blog I was just reading :)
16:08 hummeleB1 joined #perl6
16:09 timotimo yay
16:10 denis_boyun_ joined #perl6
16:11 PerlJam raydiak: If you're reading week 15, there's a nice little project at the end for you to jump into hacking Perl 6   :-)
16:11 timotimo nope, isn't
16:12 timotimo somebody already snatched it!
16:12 PerlJam aww
16:12 timotimo (yes, i was quite pleasantly surprised myself)
16:12 PerlJam er, yay!  ;)
16:12 timotimo raydiak: but if you do p5 and js, you can perhaps help out a bit with the benchmark graph building part of perl6-bench
16:12 vky joined #perl6
16:12 FROGGS joined #perl6
16:13 raydiak timotimo: what sort of work does it need?
16:13 cognominal n: say(('a' ~~ /a/).WHAT)
16:13 camelia niecza v24-109-g48a8de3: OUTPUT«(Match)␤»
16:14 timotimo raydiak: well, are you a js ninja? :3
16:14 cognominal nqp: say(('a' ~~ /a/).WHAT)
16:14 camelia nqp-parrot: OUTPUT«Cannot look up attributes in a type object␤current instr.: 'Str' pc 17039 (gen/parrot/stage2/QRegex.pir:6701) (gen/parrot/stage2/QRegex.nqp:1162)␤»
16:14 camelia ..nqp-jvm: OUTPUT«Cannot look up attributes in a type object␤  in Str (gen/jvm/stage2/QRegex.nqp:1162)␤  in  (gen/jvm/stage2/NQPCORE.setting:679)␤  in print (gen/jvm/stage2/NQPCORE.setting:678)␤  in say (gen/jvm/stage2/NQPCORE.setting:685)␤  in  (/tmp/tmpfile:1)␤  in eval …»
16:14 camelia ..nqp-moarvm: OUTPUT«Cannot look up attributes in a type object␤   at gen/moar/stage2/QRegex.nqp:1162  (/home/p6eval/rakudo-inst-2/languages/nqp/lib/QRegex.moarvm:Str:5)␤ from gen/moar/stage2/NQPCORE.setting:679  (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPCORE.setting.moarvm…»
16:14 timotimo there's lots of ideas, but the simples seems to be to teach whatever is responsible to not compare against the "global best time"
16:14 raydiak timotimo: I wouldn't say that, but good enough to have written a canvas and websockets multiplayer action game...or at least started one :)
16:14 timotimo because now the fastest line will display "10x slower than the fastest" if you point at one of its lower data points
16:15 cognominal nqp-m: say(nqp::null().WHAT)
16:15 camelia nqp-moarvm: OUTPUT«(signal )»
16:15 raydiak what is it supposed to display?
16:17 raydiak oh, better question: where can I see an example of the output so I know what you're talking about? :)
16:19 timotimo linked from week 15's post actually
16:20 timotimo raydiak: and when you're done with that, you'll probably know enough to come up with a widget that allows hiding/showing of single component's data lines across all graphs
16:21 timotimo and then you'll be able to turn that into a Component X Version matrix where you can turn all lines for one component or all lines for one version visible/invisible at once
16:22 raydiak ah, okay, I'm a little more oriented now
16:23 raydiak so it should only compare (for the 10x problem) against other points at the same x position on the graph?
16:23 timotimo yes
16:23 timotimo maybe display both and add "global" for one of the two?
16:24 raydiak sure
16:25 PerlJam echo $PATH
16:25 PerlJam oops
16:27 timotimo raydiak: and when you still want to improve p6b even more, consider adding a functionality to merge two graphs into one and remove the merger again, so that, for example, native vs non-native variants of benchmarks can be compared more easily
16:29 * TimToady keeps wondering what "native" means in P5
16:29 * raydiak scribbles a note
16:30 PerlJam r: my $a = <a b c>; my @a = $a; say @a.perl;
16:30 camelia rakudo-parrot 781440, rakudo-jvm 781440, rakudo-moar 781440: OUTPUT«Array.new($("a", "b", "c"))␤»
16:30 TimToady by one argument, P5 is always native int, unless you use BigInt
16:33 raydiak looks like in the cases I'm looking at, it means "use integer"
16:33 timotimo there is no difference in code for the p5 benchmarks
16:33 timotimo ... or that i guess?
16:33 sjohnson joined #perl6
16:34 TimToady use integer just forces some floating-point calculations to int instead
16:34 TimToady afaicr
16:34 TimToady so if you write an int algorithm, it's a no-op
16:34 denis_boyun_ joined #perl6
16:35 raydiak "Internally, native integer arithmetic (as provided by your C compiler) is used. This means that Perl's own semantics for arithmetic operations may not be preserved."
16:35 TimToady well, for % and / I guess
16:36 TimToady and no overflow checks
16:37 TimToady but to be a real comparison, it should use BigInt for "non-native" int :)
16:38 raydiak it also causes bitops to use signed instead of unsigned inputs and output
16:38 raydiak and a few other weird things that don't quite make sense to me
16:38 TimToady basically, it's another hack to make up for the lack of a type system :)
16:38 xinming joined #perl6
16:41 timotimo when somebody says "corralling docs" that means the docs are aging so bad that corals are already growing on them?
16:42 timotimo FROGGS: is it safe to say that we're going to have something virualenv-y as soon as S11 and S22 work has entered the master branches?
16:42 denis_boyun joined #perl6
16:42 nwc10 timotimo: :-) http://dictionary.reference.com/browse/corral
16:43 timotimo ah, so "corraling docs" means something more like "moving docs into one place"?
16:44 timotimo does the server that hosts perl6.org have an ipv6 address? would be cool to add it to the DNS if it does
16:47 xinming joined #perl6
16:54 [Coke] trying to manage the project that is slightly out of control?
16:54 [Coke] (corral)
17:00 timotimo ah?
17:00 Rotwang joined #perl6
17:01 treehug8_ joined #perl6
17:03 dbane`` joined #perl6
17:07 retupmoca it looks like the perl6.org server should have a v6 address (whois says it's hosted at DirectVPS; DirectVPS FAQ says they have had IPv6 since 2010)
17:07 retupmoca so +1 to DNS record
17:09 hoverboard joined #perl6
17:10 fhelmberger joined #perl6
17:12 FROGGS timotimo: what is "virualenv"?
17:13 * geekosaur assumes virtualenv (python sandboxing)?
17:13 fhelmberger joined #perl6
17:14 raiph joined #perl6
17:14 FROGGS hmmm, now I'd need to know what sandboxing means in this context :o)
17:15 geekosaur local packages (and sometimes a whole local install) so as to avoid clobbering stuff in the main install
17:15 jnthn .oO( xcopy deployment the hard way! )
17:16 FROGGS S11, allows you to add repositories as you wish, so that might be a "yes"
17:16 kaleem joined #perl6
17:22 jnthn time to find dinner &
17:23 autark joined #perl6
17:24 timotimo you create a virtualenv that contains an "activation" script and packages will be searched for only (--no-site-packages) there or in that folder first and they will only be installed there
17:26 SamuraiJack__ joined #perl6
17:26 timotimo and you can have a different python version per virtualenv
17:29 denis_boyun joined #perl6
17:31 denis_boyun_ joined #perl6
17:33 xinming__ joined #perl6
17:35 thou joined #perl6
17:36 timotimo we should model the stuff after bundler, rather than virtualenv
17:37 timotimo (says a knowledgable friend)
17:38 denis_boyun_ joined #perl6
17:38 vendethiel joined #perl6
17:46 * vendethiel just showed perl 6 to a sysadmin friend
17:46 vendethiel he basically went insane.
17:46 timotimo oh wow, there is quite some hate for perl 6 out there, no?
17:47 vendethiel no -- insane in a good way.
17:47 * vendethiel thought "insane" could be used positively too
17:47 vendethiel tho his only experience with perl was only one small script he maintained from time to time
17:48 timotimo :P
17:49 spider-mario joined #perl6
18:05 dwarring joined #perl6
18:06 molaf joined #perl6
18:09 rurban_ parrot 6.3.0 (supported release) is now out. no core changes from 6.2.0, just tests and benchmarks
18:11 IllvilJa joined #perl6
18:17 bjz joined #perl6
18:19 bluescreen100 joined #perl6
18:24 raiph "you don't need Anonymous monks to tell you why things have gone so wrong with Perl 6" starts an AM post that proves their point by not being worth reading...
18:25 rindolf joined #perl6
18:27 vendethiel I guess some stuff went bad, though, yeah
18:29 FROGGS it is still kinda weird that so many ppl should at "us" as if everybody here was there since Perl6 was born
18:30 FROGGS so when I decide to work on implementing part X of the spec it is already wrong because I obviously made something entirely wrong ten years ago, because I was not even there
18:30 PerlJam no, it's not weird at all.  The people that are vocal against Perl 6 *aren't* *paying* *attention*.  Yet, they spout off any manner of nonsense as if it were fact.
18:32 geekosaur sounds like 90%+ of the internet to me
18:32 FROGGS sure, you are all right
18:32 FROGGS it still sucks
18:33 PerlJam indeed
18:34 geekosaur also it's not so much that you are presumed to have been there, but because "everyone knows it's dead already" and why are you wasting time on what is obviously dead?
18:35 geekosaur which, since time immemorial, has been the attitude of most people; nobody remembers the few "obviously wrong" hominids that dared to venture out from the trees
18:40 larks joined #perl6
18:42 rindolf joined #perl6
18:43 treehug88 joined #perl6
18:46 pippo joined #perl6
18:55 woolfy joined #perl6
18:58 segomos im insane for p6 too
18:58 segomos in a good way
19:01 segomos grammars are making me insane right now, though
19:01 vendethiel but are you a sysadmin, eh ?!
19:01 segomos lol, not a computer janitor..just a data janitor
19:02 perl007 eh
19:02 perl007 Private multi-methods are not supported
19:03 perl007 not supported or not yet supported?
19:03 segomos trying to make this grammar match anything, including whitespace until it hits a certain string of characters is getting the better of me
19:03 moritz segomos: ^ .*? 'a certain string'
19:05 segomos moritz: it doesn't seem to be working across more than 2 lines
19:05 moritz segomos: example?
19:06 segomos https://github.com/tony-o/perl6-html-grammar/blob/master/lib/HTML/Grammar.pm6
19:06 [Coke] perl007: are you reading that in the spec or a diagnostic?
19:06 segomos i'm trying to get scriptcontents to match text until i encounter another </script>
19:06 segomos [Coke]: compiler says that if you try it (multi method problem)
19:06 [Coke] segomos: have you tried the regex debugger?
19:07 segomos r: class a { multi method !b (Str $str) { $str.say; }; multi method !b { "no param".say; }; method a { self.b; self.b: "str"; }; };
19:07 camelia rakudo-parrot 781440, rakudo-jvm 781440, rakudo-moar 781440: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Private multi-methods are not supported�at /tmp/tmpfile:1�------> [32mmulti method !b (Str $str) { $str.say; }[33m�[31m; multi method !b {…»
19:07 [Coke] I would guess if it meant NYI, it'd say that.
19:07 moritz segomos: and it doesn't work because 'rule' implies no backtracking, but .*? requires backtracking to work
19:08 segomos [Coke]: i'm using Grammar::Tracer right now, i just see it trying to match and it matches up to a couple of lines but it doesn't seem to go beyond a couple of lines
19:08 segomos moritz: ah, thank you - i'll play around with that for a little while
19:08 moritz segomos: you can write regex scriptcontents { .*? <before '</script>' > }
19:08 moritz segomos: then the calling rule doesn't need to backtrack over it
19:10 vendethiel .oO( Just use flip-flops !)
19:10 moritz segomos: also, . includes newline characters in Perl 6
19:11 segomos i end up with that regex just matching 'var a = 5;\n        while(a<10)\{\n' when run against: $script in : https://github.com/tony-o/perl6-html-grammar/blob/master/test.pl
19:11 vendethiel do you <-[\n]>, moritz?
19:11 lue [Coke]: I don't immediately see in anything in the spec for or against it, and std doesn't choke on the above snippet.
19:11 moritz vendethiel: that's \N
19:11 perl007 just tried to run the code
19:11 vendethiel oh yeah
19:11 vendethiel upper-casey stuff
19:11 perl007 one multi method should be public, another - private
19:12 spider-mario joined #perl6
19:13 segomos moritz: this works..thank you. i was interpolating in that string (gahhhh)
19:13 FROGGS m: class Foo { method !bar(Str) { "Str" }; multi method bar(Int) { say self!bar("a"); "Int" } }; say Foo.bar(1)
19:13 camelia rakudo-moar 781440: OUTPUT«Str␤Int␤»
19:14 FROGGS perl007: like that? ---^
19:14 vendethiel uhhh.
19:15 FROGGS though, you cannot have additional private candidates this way sadly
19:15 FROGGS (yet?)
19:15 perl007 in this case its enough
19:17 lue FROGGS: I can't think of a reason to disallow it, std doesn't fail to parse it. And I couldn't immediately find a reference in the spec to its (non-)allowedness.
19:18 moritz it's a known limitation
19:18 FROGGS lue: I just wonder why it does not work alrady.... there must be something hidden...
19:18 moritz well, you'd have to set up private protos and stuff
19:19 moritz currently private method calls basically end up being sub calls (regarding dispatcher semantics)
19:22 vendethiel "perl 6.5"
19:34 vendethiel IS there a way to programmatically trigger a "--help" ? Said friend couldn't install rakudo (aptitude install rakudo => perl6 would segfault, and installing rakudo through perl configure didnt work either) and I'd have liked to show him anyway
19:35 lue TimToady: Just glancing at my list of what r-m thinks of general categories, the data starts being weird with U+10_0000 (oh, and 10FFFB, 10FFFC, and 10FFFD give different gc's for me locally than what camelia says)
19:41 molaf joined #perl6
19:41 moritz vendethiel: you mean for MAIN/USAGE ? call USAGE
19:42 vendethiel thanks moritz
19:44 punter joined #perl6
19:48 moritz m: sub MAIN($x?) { }; USAGE
19:48 camelia rakudo-moar 781440: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/bubBh1W0ghâ�¤Undeclared name:â�¤    USAGE used at line 1â�¤â�¤Â»
19:48 moritz ugh, doesn't seem to work :(
19:52 vendethiel yep :(
19:52 jnthn For me, private multi-methods are one of those "Perl 6.1" things. Not a breaking change to add later, but not really pressing to add now.
19:52 jnthn m: sub MAIN($x?) { }; say $?USAGE
19:52 camelia rakudo-moar 781440: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/8AIXNBpWAxâ�¤Variable '$?USAGE' is not declaredâ�¤at /tmp/8AIXNBpWAx:1â�¤------> [32msub MAIN($x?) { }; say $?USAGE[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
19:52 jnthn Hmm.
19:54 jnthn Yeah, looking at Main.pm it shouldn't be too hard to make work, but doesn't yet.
19:56 vendethiel Create $?USAGE at compile time
19:57 vendethiel m: sub MAIN($x?) { }; say gen-usage;
19:57 camelia rakudo-moar 781440: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/5Ey9pytouYâ�¤Undeclared routine:â�¤    gen-usage used at line 1â�¤â�¤Â»
19:57 segomos moritz: i'm running into the trouble of '\n' not counting toward the matched characters..so if my <script> tag has 5 line breaks, my match is removing 5 characters from the end of the match (re:grammar)
19:57 vendethiel $?USAGE is generated, but not globally available
19:58 segomos <script>\n        var a = \{ a: 5 };\n\n\n\n      </sc   .. the rule afaict should match 5 more characters to form a full </script>
19:58 jnthn segomos: What's your grammar/regex look like so far?
19:59 segomos https://github.com/tony-o/perl6-html-grammar/blob/master/lib/HTML/Grammar.pm6
19:59 segomos does q[[[ <str> ]]];  do something funky when creating the string?
19:59 timotimo i wonder if you have to instantiate $/ before you can use $<name> like that
20:00 timotimo like, with a {}
20:01 segomos on #56?
20:01 jnthn .+ <?before "</script>">
20:01 jnthn That almost certainly wants to be .+?
20:01 timotimo most probably, aye
20:02 timotimo maybe we should warn if a .* or .+ swallows more than 90% of the whole target string :P
20:02 segomos sorry, was trying stuff and pushed that one - i have it updated
20:02 subsume joined #perl6
20:02 segomos moritz suggested that earlier and i was using that and, in the process of trying to figure out what was happening, removed it
20:03 jnthn timotimo: ah, k
20:04 jnthn uh, segomos even :)
20:12 klapperl joined #perl6
20:13 [Coke] (USAGE) if you're getting segfaults building perl6, I'm not sure how having a usage statement helps.
20:14 segomos jnthn: moritz timotimo - thank you
20:15 hoverboard joined #perl6
20:22 vendethiel [Coke]: what ?
20:23 vendethiel oh, okay. no segfault building it -- it was segfaulting when using the one in the debian repo
20:23 klapperl joined #perl6
20:24 [Coke] ok. is the usage question related to the thing segfaulting, or is it separate?
20:25 vendethiel since it was segfaulting, I wanted USAGE to show him from camelia
20:27 retupmoca m: sub MAIN($x!) { }
20:28 camelia rakudo-moar 781440: OUTPUT«Usage:␤  /tmp/LeTNgRABCJ <x> ␤»
20:28 vendethiel 'k
20:28 retupmoca m: sub MAIN($x) { }
20:28 camelia rakudo-moar 781440: OUTPUT«Usage:␤  /tmp/WcAHfw936P <x> ␤»
20:28 retupmoca m: sub MAIN($x, :$foo) { }
20:28 camelia rakudo-moar 781440: OUTPUT«Usage:␤  /tmp/E1IbQvzWYs [--foo=<Any>] <x> ␤»
20:29 retupmoca just make it require something that camelia doesn't pass
20:31 vendethiel I'll ask him the error for building it tomorrow
20:33 vendethiel r: sub MAIN(*@foo?) {}
20:33 camelia rakudo-parrot 781440, rakudo-jvm 781440, rakudo-moar 781440: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Missing blockâ�¤at /tmp/tmpfile:1â�¤------> [32msub MAIN(*@foo[33mâ��[31m?) {}[0mâ�¤    expecting any of:â�¤        formal parameterâ�¤        â€¦Â»
20:33 retupmoca segomos: did you find your regex issue?
20:34 vendethiel my %accepts-argument = @named-params.map({ .named_names }) Z=> 1 xx *; for %named-arguments.keys
20:34 vendethiel ^ not sure what's the point of Z=> ?
20:34 jnthn zip pair
20:34 vendethiel I know what it does, I'm asking why use it here
20:34 vendethiel if you're just gonna `.keys` it afterwards ?
20:34 jnthn ?
20:35 jnthn %accepts-argument vs %named-arguments?
20:35 vendethiel oh I'm blind -.-
20:35 jnthn ;)
20:35 vendethiel cause Z=> just to .keys it later seemed kind of unnecessary
20:35 jnthn right :)
20:35 jnthn It would be :)
20:57 BenGoldberg joined #perl6
20:57 dalek rakudo/nom: 4865110 | Nami-Doc++ | src/core/Main.pm:
20:57 dalek rakudo/nom: Remove unnecessary parentheses in Main.pm
20:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4865110156
20:57 dalek rakudo/nom: 7297b01 | (Tobias Leich)++ | src/core/Main.pm:
20:57 dalek rakudo/nom: Merge pull request #258 from Nami-Doc/patch-1
20:57 dalek rakudo/nom:
20:57 dalek rakudo/nom: Remove unnecessary parentheses in Main.pm
20:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7297b0168a
21:11 btyler joined #perl6
21:13 segomos retupmoca: i did - i figured out that the report from Grammar::Tracer was not showing me some of the match and that my problem was actually elsewhere (I didn't dig into the GT thing)
21:16 dayangkun joined #perl6
21:19 jnthn segomos: Did you try perl6-debug also? It provides a much more fine-grained single-stepping.
21:20 jnthn Too fine-graiend sometimes, I should teach it some more tricks. :)
21:20 retupmoca so we have a nqp::readlineintfh op that interfaces to readline. Do we want a built-in perl6 'sub readline' that exposes that functionality?
21:20 retupmoca (if not, I'll probably write a Readline module that exposes it)
21:20 jnthn Not sure. The REPL that depends on it isn't spec.
21:21 jnthn But it's come to be an expectation that a Perl 6 impl will provide one.
21:21 jnthn And providing one without readline support goes down like a lead balloon.
21:21 jnthn So it's probably going to be there anyway, in a sense.
21:22 dragon_d joined #perl6
21:22 donaldh_ joined #perl6
21:23 jnthn Anyway, no objections from me, but it's a language design call. And I vaguely try to keep out of those, except S17 and parts of S12. :)
21:23 donaldh_ https://github.com/rakudo/rakudo/pull/259 On JVM, CORE.setting now compiles comfortably in 800m heap
21:23 jnthn I totally have to see this PR...
21:24 donaldh_ ;-)
21:24 jnthn oh...
21:24 jnthn It's just reducing the heap size
21:24 jnthn hmmm
21:24 jnthn donaldh_: Which JVM version, ooc?
21:24 donaldh_ Yep. I think it's the JASTCompiler work uses far less heap.
21:24 donaldh_ lemme see.
21:24 jnthn ah, that I can totally believe.
21:24 jnthn I need to look at how well we do under JDK8 at some point.
21:25 donaldh_ 1.7.0_51
21:25 jnthn k
21:27 donaldh_ I never did figure out how to remove the priorInvocation stuff on JVM. $dayjob and $life took all my cycles.
21:28 BenGoldberg joined #perl6
21:29 jnthn no worries
21:29 jnthn It wants doing, but there's plenty else that's at least as pressing
21:30 FROGGS jnthn: that is not very comforting :o)
21:32 denis_boyun_ joined #perl6
21:33 jnthn FROGGS: The Perl 6 todo list rarely is :P
21:33 FROGGS bah :P
21:34 jnthn The progress since a year ago is pretty awesome, however. :)
21:34 donaldh_ jnthn++
21:35 jnthn I'm not the only one to blame ;)
21:36 jnthn It's been nice to see so many folks doing stuff. :)
21:36 jnthn Certainly keeps me going, anyways.
21:36 jnthn Last day of teaching tomorrow, for a while. :)
21:36 jnthn So will have tuits again soon \o/
21:36 FROGGS \o/
21:37 FROGGS and yes, it is pretty nice here sine I am there :o)
21:37 jnthn FROGGS++ # making it nice here :)
21:38 FROGGS *g*
21:38 FROGGS thanks
21:38 jnthn I think I have a decent plan for timers. Then async sockets. And I'll have a look at signals for timotimo++ while I'm at it, 'cus it seems libuv does he heavy lifting for us.
21:38 jnthn *the
21:38 FROGGS and, well, I could give many ppl here karma back... #perl6 it is the best community I know
21:39 FROGGS currently I am working a bit on v5, but I want to tick the CPAN checkbox soon
21:40 Sqirrel_ joined #perl6
21:40 FROGGS v5 was just necessary because I had unpushed changes for more than a month now on my disk
21:41 kbaker_ joined #perl6
21:41 jnthn Sounds like how spesh was until a couple of weeks ago :)
21:42 dalek perl6-roast-data: 250681b | coke++ | / (6 files):
21:42 dalek perl6-roast-data: today (automated commit)
21:42 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/250681b821
21:43 [Coke] 2 jvm/moar failures each, 1 parrot
21:44 jnthn ugh, segv on the one that failed too
21:45 jnthn When I'm not teaching-exhausted, I'll have to run it with a tiny nursery. That often reveals things...
21:49 havenwood joined #perl6
21:49 Ulti o___O "Building panda is NYI. Well volunteered!"
21:50 Ulti oh build-panda
21:51 dalek specs: d1e92cb | (David Warring david.warring@gmail.com)++ | S05-regex.pod:
21:51 dalek specs: grammar inheritance example fixed and completed - now testable
21:51 dalek specs: review: https://github.com/perl6/specs/commit/d1e92cb60d
21:54 jnthn 'night, #perl6
21:54 FROGGS gnight jnthn
22:02 japhb joined #perl6
22:11 klapperl joined #perl6
22:14 telex joined #perl6
22:18 cooper joined #perl6
22:21 TimToady moritz: .*? should work regardless of :r setting, since it's explicitly backtracking, just as .*! is
22:21 nebuchadnezzar joined #perl6
22:22 FROGGS there is .*! ?
22:22 FROGGS is it the same as .*  ?
22:22 TimToady it is the same if :r is not in effect
22:23 FROGGS k
22:24 TimToady p6: say so "foo" ~~ / :r ^ .*? 'oo' /
22:24 camelia rakudo-jvm 7297b0: OUTPUT«(timeout)»
22:24 camelia ..rakudo-parrot 7297b0, rakudo-moar 7297b0, niecza v24-109-g48a8de3: OUTPUT«True␤»
22:25 TimToady looks like JVM has an issue with it
22:25 TimToady or maybe the eval server is hosed
22:25 FROGGS no, that is just the p6eval here
22:25 TimToady j: say 42
22:25 camelia rakudo-jvm 7297b0: OUTPUT«42␤»
22:25 TimToady j: say so "foo" ~~ / :r ^ .*? 'oo' /
22:25 camelia rakudo-jvm 7297b0: OUTPUT«True␤»
22:26 TimToady we should spec that flukes are not allowed
22:26 FROGGS hmmm, but anyway, the eval server has some problems these days :o)
22:27 TimToady p6: say so "foo" ~~ / :r ^ .* 'oo' /
22:27 camelia rakudo-parrot 7297b0, rakudo-jvm 7297b0, rakudo-moar 7297b0, niecza v24-109-g48a8de3: OUTPUT«False␤»
22:28 TimToady p6: say so "foo" ~~ / :r ^ .*! 'fo' /
22:28 camelia rakudo-parrot 7297b0, rakudo-jvm 7297b0, rakudo-moar 7297b0, niecza v24-109-g48a8de3: OUTPUT«True␤»
22:28 TimToady good
22:28 BenGoldberg joined #perl6
22:33 havenwood joined #perl6
22:33 segomos is it possible to send arguments to sub rules.. ie rule a { <name> <endname($<name>)> }
22:34 FROGGS yes
22:34 FROGGS like you did there
22:34 timotimo o/
22:34 timotimo i finally watched The Labyrinth
22:34 segomos it says that is legal and it runs but rule endname ($name) {  -- $name is always empty here
22:35 timotimo hmm. have to {} before that perhaps?
22:35 timotimo i don't know how smart we are about this
22:35 timotimo does it work with a literal argument?
22:36 segomos it does
22:36 FROGGS segomos: try { <name> {} <endname($<name>)> }
22:37 segomos that works..why?
22:37 timotimo we're not immediately filling $/ with its pieces
22:37 timotimo until we know we have to
22:38 timotimo unfortunately we're not smart enough to figure out that we need it in this case
22:38 segomos ahh ic, thank you.
22:38 FROGGS and this code block does it (and it also terminates LTM :/)
22:38 timotimo yes
22:38 timotimo well, the call would terminate LTM as well, wouldn't it?
22:39 FROGGS I think so
22:39 timotimo because it can't be declarative
22:39 FROGGS gnight
22:39 timotimo gnite FROGGS
22:42 timotimo raiph: are you here?
22:42 raiph yeah
22:43 timotimo have you had any time to think about what kind of video material i could try to create?
22:43 timotimo one of my favorite formats is the one salmar khan from khanacademy uses. black screen with colorful pens via a wacom tablet and his nice voice
22:43 timotimo i have a somewhat pleasant voice
22:44 Ulti if I have a string with a pattern in how do I make that into a regex?
22:44 timotimo i think that's what <$foo> does
22:44 Ulti specifically the pattern is a string inside a hash
22:44 Ulti k
22:44 timotimo then <{ %foobar<key> }> should do it
22:44 timotimo m: say "foobar" ~~ / 'o' <{ "..." }> /
22:44 camelia rakudo-moar 7297b0: OUTPUT«「ooba」␤␤»
22:45 timotimo look! :)
22:45 Ulti what's    regex { }   all about then?
22:45 timotimo ... huh?
22:45 TimToady regex is, more or less, a different way to spell // that works inside grammars
22:46 TimToady regex knows it's really a method, and // kinda doesn't
22:46 timotimo also, rx/ ... / lets you use any kind of delimiter without explicitly turning the whole thing into a substitution or match operation like s/// and m// would
22:47 timotimo m: say "foobar" ~~ / 'o' { Bool.pick } /
22:47 camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
22:47 timotimo m: say "foobar" ~~ / 'o' { Bool.pick } /
22:47 camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
22:47 timotimo m: say "foobar" ~~ / 'o' { Bool.pick } /
22:47 camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
22:47 timotimo m: say "foobar" ~~ / 'o' { Bool.pick } /
22:47 camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
22:48 timotimo er .. yeah
22:48 TimToady you thinking of <?{...}>
22:48 timotimo m: say "foobar" ~~ / 'o' { Bool.pick } . /
22:48 camelia rakudo-moar 7297b0: OUTPUT«「oo」␤␤»
22:48 timotimo probably am
22:48 lue m: say "foobar" ~~ / 'o' <?{ Bool.pick }> /
22:48 camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
22:48 lue m: say "foobar" ~~ / 'o' <?{ Bool.pick }> /
22:48 camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
22:48 lue m: say "foobar" ~~ / 'o' <?{ Bool.pick }> /
22:48 camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
22:48 lue m: say "foobar" ~~ / 'o' <?{ Bool.pick }> /
22:48 camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
22:48 lue m: say "foobar" ~~ / 'o' <?{ my $a = Bool.pick; say $a; $a }> /
22:48 camelia rakudo-moar 7297b0: OUTPUT«True␤「o」␤␤»
22:48 lue m: say "foobar" ~~ / 'o' <?{ my $a = Bool.pick; say $a; $a }> /
22:48 camelia rakudo-moar 7297b0: OUTPUT«False␤False␤Nil␤»
22:48 timotimo it would have a 1 in 4 chance to succeed then
22:48 timotimo yeah, neato
22:49 dalek nqp/cleanups: d5ef597 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (15 files):
22:49 dalek nqp/cleanups: Remove unused imports.
22:49 dalek nqp/cleanups: review: https://github.com/perl6/nqp/commit/d5ef59782f
22:49 dalek nqp/cleanups: c1c3f8e | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (3 files):
22:49 dalek nqp/cleanups: Remove unused locals.
22:49 dalek nqp/cleanups: review: https://github.com/perl6/nqp/commit/c1c3f8ecdd
22:49 dalek nqp/cleanups: c40b2e3 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java:
22:49 dalek nqp/cleanups: Remove generics warning.
22:49 dalek nqp/cleanups: review: https://github.com/perl6/nqp/commit/c40b2e3435
22:49 dalek nqp/cleanups: 5eed352 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files):
22:49 dalek nqp/cleanups: Remove unused member vars.
22:49 dalek nqp/cleanups: review: https://github.com/perl6/nqp/commit/5eed352d6f
22:49 dalek nqp/cleanups: 6048865 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files):
22:49 dalek nqp/cleanups: Suppress unused warnings for constants and unreachable debug code.
22:49 dalek nqp/cleanups: review: https://github.com/perl6/nqp/commit/6048865c68
22:49 dalek nqp/cleanups: f791f91 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/SerializationWriter.java:
22:49 dalek nqp/cleanups: Eliminate null pointer reference in throw.
22:49 dalek nqp/cleanups: review: https://github.com/perl6/nqp/commit/f791f9148d
22:49 timotimo whoa
22:49 timotimo much improves
22:50 Ulti hmmm still not getting this
22:51 dalek nqp: d5ef597 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (15 files):
22:51 dalek nqp: Remove unused imports.
22:51 dalek nqp: review: https://github.com/perl6/nqp/commit/d5ef59782f
22:51 dalek nqp: c1c3f8e | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (3 files):
22:51 dalek nqp: Remove unused locals.
22:51 dalek nqp: review: https://github.com/perl6/nqp/commit/c1c3f8ecdd
22:51 dalek nqp: c40b2e3 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java:
22:51 dalek nqp: Remove generics warning.
22:51 dalek nqp: review: https://github.com/perl6/nqp/commit/c40b2e3435
22:51 dalek nqp: 5eed352 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files):
22:51 dalek nqp: Remove unused member vars.
22:51 dalek nqp: review: https://github.com/perl6/nqp/commit/5eed352d6f
22:51 dalek nqp: 6048865 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files):
22:51 dalek nqp: Suppress unused warnings for constants and unreachable debug code.
22:51 dalek nqp: review: https://github.com/perl6/nqp/commit/6048865c68
22:51 dalek nqp: f791f91 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/SerializationWriter.java:
22:51 dalek nqp: Eliminate null pointer reference in throw.
22:51 dalek nqp: review: https://github.com/perl6/nqp/commit/f791f9148d
22:51 dalek nqp: 9daec9e | donaldh++ | src/vm/jvm/runtime/org/perl6/nqp/ (20 files):
22:51 dalek nqp: Merge pull request #166 from perl6/cleanups
22:51 dalek nqp:
22:51 dalek nqp: JVM backend housekeeping - remove unused vars, imports.
22:51 dalek nqp: review: https://github.com/perl6/nqp/commit/9daec9e727
22:53 TimToady m: say uniname("\x10FFFB")
22:53 camelia rakudo-moar 7297b0: OUTPUT«(signal )»
22:53 TimToady that's pretty obviously buggy
22:53 timotimo aye
22:54 lue TimToady: you saw what I said to you earlier?
22:55 Ulti think I wont worry about the regex being a regex until I want to match it
22:55 * lue isn't sure github would a appreciate an 11MiB gist, or else he'd share his results :)
22:56 colomon joined #perl6
22:58 timotimo Ulti: i don't understand what you're not getting :(
23:00 segomos timotimo: what is LTM in reference to what FROGGS was talking about?
23:00 timotimo longest token matching
23:01 timotimo ltm only works on the declarative prefix of stuff; that's how it's supposed to be
23:02 timotimo raydiak: have you been able to look into p6bench's json stuff at all?
23:02 TimToady lue: yes, I'd come to the same (partial) conclusoin
23:02 TimToady *sion
23:05 lue And there's some weird pattern in U+10_0000 and up involving groups of Cn followed by one other category that seems to change (e.g. in one part there may be a "3 Cn, 1 Zs" pattern, and then elsewhere a "5 Cn, 1 Nd" ...)
23:05 lue ("that seems to change" refers to the pattern(s) as a whole, to be clear)
23:13 colomon joined #perl6
23:18 raiph timotimo: a strawman: a series of videos, the first setting up the rest, each of the rest being focused on a single 99 or less character one liner
23:19 Ulti r: my %hash = ( "ELME000239" => "<[PA]><-[P]><-[FYWIL]>S<-[P]>" ); my $regex = <{ %hash<ELME000239> }>; say $regex.perl;
23:19 camelia rakudo-parrot 7297b0, rakudo-jvm 7297b0, rakudo-moar 7297b0: OUTPUT«("\{", "\%hash<ELME000239>", "}").list.item␤»
23:20 Ulti timotimo: I mean that isnt creating some regex object to use later
23:20 raiph timotimo: well actually a series of such series
23:23 lue Ulti: of course not, that's a three-element array of strings :)
23:26 lue r: my %hash = ( "ELME000239" => "<[PA]><-[P]><-[FYWIL]>S<-[P]>" ); my $regex = /<{ %hash<ELME000239> }>/; say $regex.perl;
23:26 camelia rakudo-parrot 7297b0: OUTPUT«regex(Mu: *%_) { #`(Regex|2722705105661614108) ... }␤»
23:26 camelia ..rakudo-moar 7297b0: OUTPUT«regex(Mu: *%_) { #`(Regex|139752891411824) ... }␤»
23:26 camelia ..rakudo-jvm 7297b0: OUTPUT«regex(Mu: *%_) { #`(Regex|77602149) ... }␤»
23:29 gjb_ joined #perl6
23:33 raiph timotimo: well 99 characters or less when newlines and indenting whitespace is swapped for ;
23:34 timotimo … the what now?
23:34 raiph timotimo: see my responses to your question about videos in backscroll
23:35 timotimo i didn't see you were there %)
23:35 timotimo ah, now i see it finally
23:35 timotimo i'm blind tonight ..
23:36 btyler joined #perl6
23:40 timotimo raiph: i don't understand the purpose of the first video in the series
23:42 raiph just to say hi, intro the series, state the compiler version you're using, explain what modules must be installed if any, link to example data used in the one liners, etc.
23:42 timotimo ah, mhm
23:42 timotimo fair enough
23:42 timotimo and i assume you're thinking of videos of about 5 minutes length?
23:42 timotimo one simple feature per video?
23:43 timotimo like, not going into something like ("your number's $_".say for my @tries := ({ (try prompt("guess> ").Int) orelse () } ... (state $tgt = (^100).pick)) X<=> $tgt) and say "took you {+@tries} tries!";
23:43 timotimo (which is, incidentally, 163 characters long, so wouldn't be allowed anyway)
23:44 timotimo (.say for ({ (try prompt("guess> ").Int) orelse () } ... (state $tgt = (^100).pick)) X<=> $tgt ← this one fits, though)
23:44 raiph if it fits, it's legit
23:45 timotimo hmm
23:45 raiph first series would prolly best be simpler stuff
23:45 timotimo yeah, should be
23:45 timotimo though that'll give trolls cannon fodder for saying "perl 6 is probably only good for funky one-liners, but nothing more!"
23:45 raiph that would be wonderful
23:46 timotimo though, explaining bigger things in video format is probably not such a splendid idea.
23:46 raiph p6 getting a reputation for being good for one liners would be a wonderful start
23:47 raiph i would want us to tweet each one liner with some hashtags
23:47 timotimo ah, that's why you thought of 99
23:48 raiph we'll get mercilessly trolled but will steadfastly return love, audrey style
23:50 timotimo \o/
23:50 timotimo bedtime for now
23:50 timotimo gnite!
23:51 raiph \o

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

Perl 6 | Reference Documentation | Rakudo