»ö« 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 sorear on 25 June 2013.
00:16 kbaker_ joined 00:27 bjz joined 00:35 mhr joined 00:37 dayangkun left
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:40
retupmoca mhr: what are you going to be making? 00:44
leontopod Perl 5 00:45
00:45 dayangkun joined
mhr I'd be using Perl to automate repetitive nix tasks. 00:45
Maybe other things, but mostly just straight-up scripting
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
there aren't as many libraries, there are still a few compiler bugs/not yet implemented features, etc
TimToady depends on which APIs you need; P5 has more support for just about any API, but P6 will end up cleaner 00:49
for things that are not CPU-bound, however, p6 on MoarVM is pretty responsive 00:50
and if you need concurrency, you definitely want P6 rather than P5
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
mhr retupmoca: You can't reuse Perl 5 modules in Perl 6?
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:52
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
(I've been doing the "Write a perl 6 version" thing recently)
mhr You mean you write both?
retupmoca no, I just write the perl 6 module generally 00:54
but I find a perl 5 module I want in perl 6 and write a perl 6 version
00:54 telex joined
retupmoca I ported Email::MIME and such, for example 00:54
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
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.
How insurmountable would it be to create a perl-fix tool like I'm thinking about? 00:56
retupmoca mhr: have you seen modules.perl6.org/ ?
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:57
BenGoldberg p56: use strict; my $foo = 4; print ++$foo; 00:59
camelia p5-to-p6 : OUTPUT«# use strict␤my $foo = 4;␤print(++$foo)␤»
BenGoldberg p56: print $_ for 1..20;
camelia p5-to-p6 : OUTPUT«print($_)␤ for 1 .. 20␤»
mhr BenGoldberg: Ah! So it exists!
Awesome!
BenGoldberg In addition to whatever is used by p56, I'm fairly sure that perlito can compile perl5 to perl6 01:01
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:02
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
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.
leontopod I'd say wait until Perl 6.0.0 is released
until then use Perl 5
TimToady well, there's not one dimension to "better"
mhr In terms of features and elegance of the language, I meant. 01:05
TimToady well, "running XS modules" is a kind of feature :)
BenGoldberg perl6 is cooler ;)
mhr what are XS modules?
leontopod Perl 6 is a cool language, but Perl 5 is also pretty cool
mhr ah, FFI
TimToady the ones that interface to C or C++ libraries, by and large
retupmoca mhr: are there any specific modules that you need in perl6, ooc? 01:06
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
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.
leontopod I think Perl 5 has a lot more modules (via CPAN) available than there are for Perl 6 01:11
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, perlcabal.org/~fglock/perlito6.html.
_sri leontopod: i think there are more perl5 modules uploaded each day than exist for perl6 :)
mhr leontopod: but if p56 works properly, CPAN shouldn't be a problem. 01:15
01:18 SHODAN left, telex left
_sri mhr: that won't work for CPAN though, pretty much everything has XS dependencies 01:18
that fact already has stopped many attempts at creating alternative perl5 implementations 01:19
01:19 telex joined
leontopod what C compiler does Strawberry Perl use to compile XS C 01:19
01:19 telex left 01:20 SHODAN joined 01:21 klapperl joined
mhr Okay. Damn it. Yeah... I'll just use Perl 5. 01:21
leontopod for now 01:23
mhr for now, yes
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
leontopod what flavor of ready? 01:24
01:24 telex left
TimToady has used it for Real Stuff for two or three years now 01:24
mhr Ready meaning lots of CPAN[6] modules, fast enough to replace Perl 5 for most tasks. 01:25
01:29 telex joined, telex left 01:34 telex joined
_sri mhr: just look at comparable new languages and how much time it took for them to bootstrap their eco system 01:36
Go is another good example 01:37
they're slowly getting there, but it takes a lot of time
01:37 erdic joined 01:38 erdic left
_sri and i doubt the bootstrapping process can even start before perl6 has something equivalent to perldoc.perl.org/perlpolicy.html 01:39
01:42 erdic joined 01:43 erdic left
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
01:47 erdic joined 01:48 hoverboard joined
_sri anyway, has this been posted here yet? :) www.youtube.com/watch?v=eT6yjrLe4_U 01:48
01:51 erdic left 01:52 erdic joined 01:53 lustlife joined 01:54 lustlife left 01:55 erdic left 01:57 erdic joined 01:58 erdic left, xenoterracide left 02:02 btyler joined, erdic joined 02:07 telex left, telex joined 02:09 xenoterracide joined 02:19 Sqirrel joined 02:29 xragnar_ joined, xragnar_ is now known as xragnar 02:31 xragnar_ joined, xragnar left, xragnar_ is now known as xragnar 02:43 xenoterracide left, xenoterracide joined
lue _sri: the closest thing we have to perlpolicy at the moment is S01, and I doubt we need anything more than that :) 02:43
_sri lue: i'm specifically referring to backwards compatibility 02:45
lue infers you mean 6.x -> 6.y, because S01 covers 5 -> 6
_sri nods 02:46
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
02:50 hoverboard left
lue imagines it involves a fair number of C<is DEPRECATED>s 02:50
_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 02:54
02:57 xenoterracide left
TimToady is "running too slow" a bug? :D 03:02
xiaomiao yes
xiaomiao prefers to not need a warehouse of CPUs to do simple tasks 03:03
03:03 Mouq joined
Mouq doop 03:03
yoleaux 14 Apr 2014 07:50Z <moritz> Mouq: are there tests for RT 109874?
03:03 mhr left
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:05
(bad Mouq) 03:06
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«「􏿻􏿼􏿽」␤␤»
..rakudo-parrot a75d82, rakudo-jvm a75d82: OUTPUT«Nil␤»
Mouq lizmat++ # all kinda Rakudo stuffs
timotimo++ # weekly blog! :D 03:08
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:11
03:16 kbaker_ left 03:17 woosley joined
Mouq lue++ # stuffing the Unicode envelope 03:21
TimToady++ # pushing it
# or something like that
####
lue
.oO(I should probably commit that lingering S15 change already)
03:22
dalek ast: dea6de8 | Mouq++ | S05-modifier/sigspace.t:
Add (more) tests for RT #109874
03:30
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=109874
03:32 cooper joined, xinming joined 03:41 jk_ joined 03:42 thou left
Mouq $ perl6 -e'chr' 03:45
===SORRY!=== Error while compiling -e
Calling proto of 'chr' requires arguments (if you meant $_, please use .chr or use an explicit invocant or argument)
Seem good?
dalek ecs: 4cd0e7c | lue++ | S15-unicode.pod:
[S15] Add section for identifier and numeric literals.

The identifier literals is effectively a reiteration of what's already in S02. The numeric literals a newer concept to Perl 6, and hopefully the details will be ironed out in short order :) .
lue Mouq: perhaps "Please use .chr to operate on $_" or similar instead, but otherwise good. 03:47
Mouq lue: I worded it like that because it's cheating 03:48
lue I just feel that there's an infinitive missing between "meant" and "$_", that's all. 03:49
Mouq Ohh
I agree
lue (perhaps "meant to operate on $_" ?) 03:50
Mouq lue: That's just what I used :)
lue :)
dalek kudo/nom: 08f0ade | Mouq++ | src/core/Exception.pm:
Make error message for, e.g., chr() more helpful for vvi-ers

Note say() and print() are still LTA compared to STD.pm6
03:53
03:55 btyler left
Mouq lue: What exactly does capital ẞ mean? 03:55
xiaomiao Mouq: it's a rarely used german letter 03:56
Mouq xiaomiao: I thought it was a ligature for Ss?
lue not "rarely"; it's the long-missing uppercase of ß
Mouq And if ß is a ligature for Ss, what is ẞ a ligature for? 03:57
Sꜱ? :P (small caps)
lue Mouq: ß is really a letter in its own right nowadays, more than a ligature.
(kinda like how & is historically a ligature for 'et', but no-one thinks of it as such anymore) 03:58
Mouq lue: Ok 03:59
03:59 djanatyn1 joined
lue Relevant: opentype.info/blog/2011/01/24/capital-sharp-s/ 03:59
04:00 bonsaikitten joined
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:00
xiaomiao a funny one, that ... ligature of s-z that got bent totally out of shape 04:01
04:01 cooper left, thou joined, pdcawley joined, Alina-malina joined 04:02 cooper joined
lue Some would insist that it's an ss ligature, not sz :) 04:02
04:04 bonsaikitten is now known as DrEeevil
lue would really like for Unicode to change its uppercase mapping for ß ... 04:05
04:05 BenGoldberg left
Mouq is going to beeeed 04:06
'night #perl6
the visit was nice :)
04:06 Mouq left
DrEeevil lue: historically, from the written form, it's an sz ... only the swiss insist on ss 04:06
lue ? I'm pretty sure it's always been a ligature of ſs 04:07
04:07 djanatyn1 is now known as djanatyn
lue Looking again, it appears the exact origin is a bit wobbly. 04:08
04:21 SamuraiJack joined 04:24 klapperl_ joined 04:26 klapperl left
TimToady m: say "\x[10FFFB, 10FFFC, 10FFFD]" ~~ /\s+/; 04:45
camelia rakudo-moar 08f0ad: OUTPUT«「􏿻􏿼􏿽」␤␤»
TimToady this looks like a leaking debug statement to me 04:46
note the extra newline
and it doesn't do it on my machine...
m: say "\x10FFFB" ~~ /\s+/;
camelia rakudo-moar 08f0ad: OUTPUT«「􏿻」␤␤»
TimToady m: say so "\x10FFFB" ~~ /\s+/; 04:47
camelia rakudo-moar 08f0ad: OUTPUT«True␤»
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
lue m: say " " ~~ /\s+/ 04:48
camelia rakudo-moar 08f0ad: OUTPUT«「 」␤␤»
TimToady (\w+) <?{ $0 ne 'foo'>
lue TimToady: that extra newline is just part of the formatting
TimToady m: say uniprop("\x10FFFB",'gc') 04:49
camelia rakudo-moar 08f0ad: OUTPUT«Co␤»
TimToady should be Cn
I think
m: say unimatch("\x10FFFB",'Z')
camelia rakudo-moar 08f0ad: OUTPUT«True␤»
lue m: say uniprop($_.chr,'gc') for 0x10FFFB..0x10FFFD
camelia rakudo-moar 08f0ad: OUTPUT«Co␤Cn␤Zl␤»
TimToady and something in C shouldn't match Z anyway
I suppose it must be some kind of 32-bit damage 04:50
Zl ?!?
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 :)
TimToady I think there's only one Zl character
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')
camelia rakudo-moar 08f0ad: OUTPUT«Zl␤» 04:52
TimToady that should be the only Zl
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.
TimToady on your local system, or here? 04:53
and if local, are you 32 or 64?
lue r: my $a = "\x10FFFB foo \x10FFFC bar \x10FFFD"; $a ~~ s:g/\s+/ /; say $a;
camelia rakudo-moar 08f0ad: OUTPUT« foo bar ␤»
..rakudo-parrot 08f0ad, rakudo-jvm 08f0ad: OUTPUT«􏿻 foo 􏿼 bar 􏿽␤»
lue local is 64-bit, let me run the above snippet there.
Locally, moar leaves 10FFFD alone, but replaces 10FFFB and *C 04:54
TimToady leaves them all alone here 04:55
04:56 hoverboard joined
TimToady same on my other machine 04:56
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
Just updated moar (but not nqp or rakudo), and I still get all-but-10FFFD 05:00
TimToady m: say $*VM<config><ccoptiflags>
camelia rakudo-moar 08f0ad: OUTPUT«-O1 -DNDEBUG␤»
TimToady m: say $*VM<config><cc> 05:02
camelia rakudo-moar 08f0ad: OUTPUT«gcc␤»
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:03
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␤»
TimToady m: say $*VM<config><osvers>
camelia rakudo-moar 08f0ad: OUTPUT«3.2.0-37-generic␤»
TimToady m: say $*VM<config><config> 05:06
camelia rakudo-moar 08f0ad: OUTPUT«--optimize --prefix=/home/p6eval/rakudo-inst-1 --make-install␤»
05:07 telex left
TimToady m: say $*VM<config><mtobjects> 05:07
camelia rakudo-moar 08f0ad: OUTPUT«3rdparty/tinymt/tinymt64.o␤»
TimToady bizarre, can't see any difference with my local machines 05:08
05:08 telex joined
lue could it be some external dependency MoarVM uses that might differ across machines? 05:08
TimToady seems kinda unlikely, unless it's just leaving different garbage in memory that the unicode stuff shouldn't be accessing 05:12
usually you get segv when you do that...
and doesn't explain why I get the correct Cn 05:13
unless I just got lucky somehow
what's your compiler version?
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
Linux Mint 05:15
overagressive optimizer?
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 --ena 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
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=bugs.gentoo.org/ --with-pkgversion='Gentoo 4.8.1-r1 p1.2, pie-0.5.7' --enable-libstdcxx-time --enable-shared --enable-threads=pos
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
I think gentoo adds a few options over your distribution :)
TimToady well, *obviously* one of those options is wrong :P 05:17
DrEeevil lue: if you find issues feel free to yell at me
I'm your resident gentoo perl6-maintainer :)
segomos TimToady: duh, thank you (re: regex)
TimToady must be the --with-python-dir :) 05:18
05:23 havenwood joined 05:24 thou left
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 ;)
DrEeevil would now usually make a joke about debian oldstale ;)
lue Scratch that, 100A67 is the next failure 05:26
05:28 bjz left, bjz_ joined
TimToady looks to me like the gc's are kinda random around there 05:30
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 :)
TimToady gonna have to redownload my UNIDATA; something blew it away, like a realclean maybe 05:32
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:35
leontopod UNIVAC 05:37
1108 05:38
05:48 dragon_d left
TimToady yes, you have to create UNIDATA and unzip UCD.zip in it 05:52
lue OK, I'll remember that for when I touch moar's generator again. 05:53
06:04 LordV left
lue ♘ #perl6 o/ 06:07
06:08 LordV joined 06:12 anaeem1_ joined 06:14 kaleem joined 06:15 LordV left 06:23 salv0 joined 06:27 LordV joined 06:33 LordV left 06:35 vendethiel joined 06:37 Teratogen joined
moritz \o 06:41
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
Teratogen why the Perl 6 hate? 06:46
it's going to be a great language
moritz because people were/are disappointed
it actually is a great language
Teratogen That Perl 6.0.0 can't be pushed out?
moritz which is kinda an important distinction that people don't get
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
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
some being disappointed that the road taken isn't the one they would have chosen 06:48
06:49 thou joined
moritz and no, freezing the spec and giving it a certain name fixes none of the problems 06:50
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
but then I look at Python3 and think "so what"
06:54 thou left 06:58 darutoko joined 06:59 denis_boyun joined, tokuhirom joined
nwc10 p6: say $] 07:05
camelia rakudo-parrot 08f0ad, rakudo-jvm 08f0ad, rakudo-moar 08f0ad: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unsupported use of $] variable; in Perl 6 please use $*PERL_VERSION␤at /tmp/tmpfile:1␤------> say ⏏$]␤ expecting any …»
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Non-declarative sigil is missing its name at /tmp/tmpfile line 1:␤------> say ⏏$]␤␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or …»
nwc10 p6: say $*PERL_VERSION
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␤␤»
..rakudo-moar 08f0ad: OUTPUT«===SORRY!===␤Dynamic variable $*PERL_VERSION not found␤»
..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␤␤»
..niecza v24-109-g48a8de3: OUTPUT«(Any)␤»
nwc10 that's less than awesome
is there a bug for that? 07:06
specifically the "don't do this, do that" followed by "oh, that doesn't work either"
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"}␤»
..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"}␤»
..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"}␤»
..niecza v24-109-g48a8de3: OUTPUT«(Any)␤»
jnthn I guess it should refer to something in there...
07:10 zakharyas joined 07:12 hoverboard left 07:14 Ven joined 07:18 FROGGS joined
lizmat good *, #perl6! 07:22
sergot o/
jnthn o/ lizmat, sergot 07:23
FROGGS morning 07:24
jnthn FROGGS: Still on vacation, or back from it? :)
FROGGS I am back since Sunday evening
jnthn aha 07:25
07:34 dmol joined
nwc10 FROGGS: this is a "dear lazyIRC" question - any idea roughly what proportion of the Perl 5 code on benchmarksgame.alioth.debian.org/ V5 can parse? 07:35
lizmat
.oO( the answer is lazy :-)
07:41
dalek kudo/nom: 7814401 | (Elizabeth Mattijsen)++ | src/core/Capture.pm:
Re-imagine Capture.perl

Make it nicer if now positionals and/or no named parameters.
07:42
lizmat *no (*sigh*) 07:43
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
Maybe they decided that averaging the results of all the benchmarks wasn't meaningful
07:52 pdcawley left, pdcawley joined
FROGGS nwc10: perhaps the sqrt, use constant or regex modifier (s and e) do not work yet 07:53
nwc10: but should be easy to make it work
nwc10 FROGGS: I'd be curious to see how they compare with running them on the real Perl 5 07:58
and whether the spesh and JIT games make them go fast(er)
FROGGS nwc10: I'll let you know how it works out :o)
nwc10 cool, thanks 07:59
dalek ecs: fabf7b2 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
Elaborate on how to give a thread a name
08:14
ecs: 8ffd387 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
Thread.new only takes named parameters

Why make it easier to create threads manually? We don't really want this to be the easiest way to do concurrency in Perl 6.
08:14 havenwood left
Ven lizmat: it shouldn't be "the easiest way", but doesnt it have its place in a synopse ? 08:17
lizmat yes, it does: I only removed the spec that would allow you to start a Thread with Thread.new( {...} ); 08:19
instead of Thread.new( :code( {... } ) )
since the current implementation doesn't support the latter
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)
lizmat indeed, yes... former / latter what's the difference :-) 08:21
.oO( latter is so much easier to type )
08:22
FROGGS ---/+++, what's the difference?
lizmat left / right, who cares :-) 08:25
afk for a few hours& 08:26
08:36 anaeem1_ left 08:42 dakkar joined 08:45 havenwood joined 08:52 pecastro joined 08:53 sqirrel_ joined
jnthn Thread.start({...}) is the convenient way anyway 08:56
Thread.new(...) is a way to get an unstarted Thread that you can run later. 08:57
09:08 havenwood left 09:15 denis_boyun left, snarkyboojum joined 09:17 denis_boyun_ joined 09:20 petercommand joined, anaeem1 joined
snarkyboojum hi guys, does rakudo on moarvm work with the perl6 module ecosystem and panda? 09:23
tadzik yes
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.
tadzik snarkyboojum: did you try rakudobrew? :)
snarkyboojum nup :)
snarkyboojum googles
jnthn snarkyboojum: You did, I assume, "make install" and run the installed one? 09:25
snarkyboojum jnthn, I think so
jnthn Just trying to run the perl6-m in the build directory almost certainly won't work out from elsewhere.
Probably not on any backend.
snarkyboojum jnthn, ok - will check 09:26
jnthn ok. time to take @student for lunch :)
bbl
09:29 anaeem1 left 09:30 anaeem1 joined 09:31 denis_boyun_ left
snarkyboojum tadzik, 'and add symlinks/aliases for convenience.' could be clearer :) 09:31
tadzik hehe :) 09:32
true
but you really only need ~/.rakudobrew/bin in PATH
maybe it even has rakudobrew env, or so
09:32 virtualsue joined
tadzik or maybe pandabrew had that 09:32
09:34 anaeem1 left
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
weird
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
it only knows about the ones it installed itself
but it can autorebuild panda after updates 09:37
snarkyboojum ahh.. hehe @ 'Building is NYI. Well volunteered!' 09:38
tadzik hehe
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
I need usertests
snarkyboojum or patches!
tadzik yep :)
Ven is trying to use rakudobrew while he's on a mac
09:42 virtualsue left
snarkyboojum and how's that working out for you? 09:43
I'm trying it on a clean Ubuntu 13.10 server install (i think) 09:44
Ven It's cloning right now :p 09:45
github is really slow or I only download small files, since I dl at 150KiB/s
snarkyboojum oh noes! I've just built moar with it 09:46
Ven doesnt have admin rights on this comp though .. 09:48
"sh: ~/.rakudobrew/parrot-HEAD/install/bin/parrot: no such file or directory" 09:51
tadzik :<
rakudobrew rehash?
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
ah
but does it keep building?
Ven it keeps cloning ._.
tadzik hmm
moritz retupmoca++ # fixing repossesion stuff in MoarVM 09:54
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
tadzik: ^
10:00 rindolf joined
Ven tadzik: gist.github.com/Nami-Doc/f7f0282c3c55adfc0569 10:03
10:04 havenwood joined 10:08 AW3i joined 10:09 havenwood left 10:12 donaldh joined 10:13 donaldh left 10:14 virtualsue joined 10:16 donaldh joined
dalek ecs: 1ec306f | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
Amplify the difference between Thread.(start|new)

Which I completely missed earlier today :-(
10:23
10:30 denis_boyun_ joined
snarkyboojum tadzik, lazy patch ideas - gist.github.com/snarkyboojum/10721059 and gist.github.com/snarkyboojum/10721124 10:30
complete with rakudo-y anachronisms! 10:32
btw, rakudobrew is good :) 10:33
tadzik :) good to hear 10:35
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:41
dalek ast: a2ef583 | (Elizabeth Mattijsen)++ | S17-concurrency/thread.t:
Priming the hash stops it from segfaulting
10:43
tadzik Ven: oh, it's not my fault :o 10:44
that's parrot failing, not rakudobrew 10:45
snarkyboojum++ #patches applied :)
Ven tadzik: that's "build moar"
oh you mean the gist ? yeah that too
tadzik oh, that last one
weird
can you build moar otherwise?
Ven Is there an install guide or smth ? 10:46
tadzik just github.com/rakudo/rakudo/blob/nom/...-on-moarvm
Ven so I clone (deep) rakudo and do that 10:47
tadzik yep 10:48
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:49
10:51 jk_ left
Ven "/objects/pack: Authentication error" welp. 10:51
Teratogen Perl is the most powerful computer language ever devised by the mind of man
Ven
.oO(or is man the most powerful computer language devised by perl ?)
10:52
10:55 snarkyboojum_ joined
lizmat xkcd.com/224/ 10:57
10:58 snarkyboojum left, snarkyboojum_ is now known as snarkyboojum
lizmat
.oO( just to show Perl is more of a mindset than a language :-)
10:59
11:00 virtualsue left
lizmat just realizes that array slice assignments could be made parallel as well 11:02
colomon m: say (1, 1, *+* … *)[32] 11:11
camelia rakudo-moar 781440: OUTPUT«===SORRY!=== Error while compiling /tmp/mNONrIT_jw␤Two terms in a row␤at /tmp/mNONrIT_jw:1␤------> say (1, 1, *+* ⏏… *)[32]␤ expecting any of:␤ postfix␤ infix stopper␤ infix or …»
colomon :\ 11:12
stupid ...
Localy, my first attempt to use "is cached" just worked brilliantly 11:13
lizmat++
11:17 AW3i left
lizmat colomon: yw :-) 11:19
11:20 LLamaRider joined 11:21 perl007 joined
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:21
lizmat s/if/when ??? 11:24
s/would/will ???
:-)
jnthn Scala runs on the JVM and was designed for it. :) That's quite a tough thing to be shooting at. :) 11:25
11:26 AW3i joined
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 - perl8.org/ 11:27
jnthn lizmat: spec patch looked reasonable 11:29
perl007 i have a function name in a string, how to run it? 11:30
moritz m: sub f() { say 42 }; my $name = 'f'; &::($name)() 11:31
camelia rakudo-moar 781440: OUTPUT«42␤»
moritz perl007: see above
perl007 works 11:34
LLamaRider moritz: isn't EVAL($name) nicer? 11:36
moritz LLamaRider: no 11:37
LLamaRider: if the name comes from somewhere else, you need to validate it first
jnthn Plus it's a LOT more expensive.
moritz LLamaRider: also, no need to start a whole compiler
jnthn and you'd need to put an & on the start
moritz when you can just look it up in the symbol table
jnthn oh, not to call it though 11:38
I'd estimate &::(...) could be 100 times cheaper or so :)
moritz EVAL is a tool of last resort
m: sub f() { say 42 }; my $name = 'f'; &::($name)(); say time - BEGIN time
camelia rakudo-moar 781440: OUTPUT«42␤1␤»
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
camelia rakudo-moar 781440: OUTPUT«0.314756␤»
moritz m: sub f() { }; my $name = 'f'; for ^100 { EVAL $name }; say now - BEGIN now
camelia rakudo-moar 781440: OUTPUT«1.9474594␤»
moritz LLamaRider: why? symbolic lookup isn't needed all that often
jnthn wow...not so different after all
lizmat m: sub f() { }; my $name = 'f'; for ^100 { &::($name)() }; say now - CHECK now 11:40
camelia rakudo-moar 781440: OUTPUT«0.3942260␤»
lizmat m: sub f() { }; my $name = 'f'; for ^100 { EVAL $name }; say now - CHECK now 11:41
camelia rakudo-moar 781440: OUTPUT«1.81675111␤»
lizmat m: sub f() { }; my $name = 'f'; for ^100 { &::($name)() }; say now - CHECK now
camelia rakudo-moar 781440: OUTPUT«0.3073113␤»
lizmat m: sub f() { }; my $name = 'f'; for ^100 { EVAL $name }; say now - CHECK now
camelia rakudo-moar 781440: OUTPUT«1.905779␤»
LLamaRider moritz: because I find the syntax unwieldy &::( in particular
lizmat well, quite some noise on there
LLamaRider r: perl6 -e 'sub f() { say 42 }; sub invoke(Str $name) {&::($name)();}; invoke("f"); '
jnthn LLamaRider: It's *meant* to be. You're doing soemthing nasty. It shoudl look nasty. :)
camelia rakudo-jvm 781440: OUTPUT«(timeout)»
..rakudo-parrot 781440, rakudo-moar 781440: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> perl6 -e ⏏'sub f() { say 42 }; sub invoke(Str $nam␤ expecting any of:␤ postfix␤ …»
LLamaRider r: sub f() { say 42 }; sub invoke(Str $name) {&::($name)();}; invoke("f");
camelia rakudo-parrot 781440, rakudo-jvm 781440, rakudo-moar 781440: OUTPUT«42␤» 11:42
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.
moritz LLamaRider: also, that only works if the symbol is in the scope where you define sub invoke
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:44
moritz: about that, what does this empty "::" namespace mean exactly? a default namespace? a current one? 11:45
11:45 sqirrel_ left, cognominal joined
moritz LLamaRider: the current one 11:46
11:48 cognominal left 11:50 cognominal joined
Ven Perl6 faster than Scala ? Maybe when Perl 6.5 has type lambdas ... 12:02
12:02 cognominal left
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?
jnthn It runs on the JVM; one'd hope so :)
Works nicely with Akka, I heard. Which is Actor-based. 12:04
Ven Yeah, with Akka and Futures, it's good
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
12:05 havenwood joined
jnthn Well, there are ways to be fast without sticking types all over :) 12:05
Just ask JavaScript or LuaJIT :)
Ven though sometimes scala does stupid&inefficient things, like automatic widening
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)
Ven but I v8 is not as fast as scala is (I'm sure asm.js gets close, sure) 12:08
I think*
12:10 havenwood left
Ven readwrite.com/2011/06/06/cpp-go-jav...am3BZ2EosX oO 12:10
12:13 cognominal joined
lizmat for a few minutes was thinking about writing a PerlMonks meditation, but decided against feeding anonymous trolls 12:16
which is really sad, when you think about it :-(
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)
lizmat perlmonks.org/?node_id=1082052 (if you must) 12:19
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:20
12:22 kbaker_ joined
Ven Pretty bad trolls, if you ask me :-) 12:22
lizmat www.brainyquote.com/quotes/quotes/m...03630.html
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
and blogs.perl.org doesn't have the community that use.perl managed
(where nothing was anonymous)
start something new? Write it in Perl 6? "Everyone weclcome"
it's not like anyone loves the perlmonks source code 12:24
lizmat hehe... indeed
nwc10 lizmat: yes, possibly. I think it best to ignore the trolls completely and work on being better
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:26
colomon woah, that's a lot of empty negativity there on PerlMonks.... 12:31
12:32 dbane joined
nwc10 likely "still shit" 12:32
until they shut up, because they are using it
Ven most likely :-)
nwc10 don't expect anyone to actually admit that they were wrong
or that they changed their mind
Ven Oh I'm sure they're ready not to use it "just because they've been right all along"
12:35 cognominal left 12:36 cognominal joined 12:43 Khisanth joined, xenoterracide joined
lizmat jnthn: is there a reason why Supply.grep is not implemented in terms of Supply,map ? 12:45
lizmat is looking at implementing Supply.uniq and Supply.squish 12:46
[Coke] I'm kind of amazed that the negatively has reached a threshold where long time monk users are now avoiding it. 12:52
(it's -always- been anonymous & negative, IMO)
dalek kudo-star-daily: 73aa205 | coke++ | log/ (5 files):
today (automated commit)
12:57
kudo-star-daily: f76adec | coke++ | log/ (5 files):
today (automated commit)
rl6-roast-data: e603bc6 | coke++ | / (6 files):
today (automated commit)
12:58 dmol left
[Coke] rakudo roast failures: 12:59
S02-names-vars/perl.rakudo.jvm 90 - .perl on user-defined type roundtrips okay
S17-concurrency/promise.rakudo.moar aborted 2 test(s)
S02-types/bool.t aborted 1 test(s) (parrot)
13:00 dmol joined, AW3i left
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:03
tadzik ooc, did you check out perl6.org/documentation? 13:04
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:05 xenoterracide left
Ven (though yeah the "more" gets you there -- still a bit missing of real introductions) 13:06
13:06 havenwood joined
Ven
.oO(we need a learnxinyminutes for perl6)
13:06
13:11 havenwood left
[Coke] lizmat: github.com/coke/perl6-roast-data/b....out#L1481 13:12
(it's segfaulting on host07) 13:13
(looks like 3 tests are, 2 probably too late to care about test results)
(that was yesterday's run - today's run is still segfaulting) 13:14
running with t/fudgeandrun? no error. 13:15
moritz: be nice if we had gdb on host07 13:16
(I can duplicate the segfault if run the pre-fudge test directly with the ulimited running I put into ./perl6 13:17
er, the *ulimited runner
13:18 clkaoud joined
Ven I guess I'll change "perl" on learnxinyminutes to "perl5" 13:23
masak moritz: feature request: irclog.perlgeek.de/perl6/tomorrow -- :P 13:25
jnthn lizmat: Well, because Supply.map doesn't know about flattening for one... :) 13:26
lizmat: For two because it're more efficient.
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
lizmat ?? 13:28
jnthn lizmat: If you implement grep in terms of map you have to wrap it in aother layer of closure
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
lizmat ok, so for implementing Supply.uniq and Supply.squish 13:28
13:28 SamuraiJack left
lizmat I would take the same approach ? 13:29
13:29 SamuraiJack__ joined
jnthn yes, because the two need entirely different data structures. 13:29
They need doing in terms of "on"
Because you may have two values pushed concurrently.
map/grep can happily do their thing concurrently because ordering is unimportant. 13:30
lizmat okidoki
jnthn And are stateless
Actually that's a good rule of thumb 13:31
13:32 guru joined
jnthn If the lazy list version of something is somehow stateful then the reactive version needs "on" 13:32
13:32 guru is now known as Guest91673
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:33
13:33 SamuraiJack_ left, Guest91673 is now known as ajr_
[Coke] wonders if we need comments in the setting indicating when things are done for performance reasons. 13:36
"It is tempting to rewrite this <thusly>, but don't because..."
lizmat perhaps... :-) 13:39
jnthn git blame and see if the last commit touching it was optimizing :P 13:44
13:51 btyler joined 13:52 thou joined
lizmat jnthn: am looking at why Supply.grep doesn't work with threading scheduler 13:55
jnthn hmm
lizmat and it looks like another instance of the "thread still running after joined" issue
jnthn Does grep take a scheduler?
lizmat no, but the Supply does 13:56
grep/map were only tested with the CurrentThreadScheduler, remedying that now 13:57
jnthn ok
then something is busted
lizmat well, if I put a "say" inside the grep code, I see them appear *after* the test has decided it failed 13:58
in tap with 6
# got: ''in tap with 7
in tap with 8
# expected: '6 7 8 9 10'
in tap with 9
in tap with 10
done with tap
jnthn oh...how is the test written? 13:59
lizmat I would expect the "done" to be done *before* the test is done
jnthn well, it depends how you wrote the test :P
need to do the final bit of teaching, bbi30 14:00
lizmat okidoki
14:06 kaare__ joined
perigrin 23 14:06
*sigh*
14:07 havenwood joined
masak perigrin: it was nice of you to stop by! :D 14:08
lizmat jnthn: I think that the test is faulty :-) 14:10
14:11 havenwood left 14:17 rindolf left 14:18 bluescreen10 joined 14:19 jnap joined 14:20 donaldh left, treehug88 joined
timotimo o/ 14:23
lizmat timotimo o/ 14:24
14:24 rindolf joined 14:25 donaldh joined 14:32 myfree joined, myfree left 14:39 thou left 14:42 ggherdov joined 14:45 pnu joined
hoelzro ahoy #perl6! 14:45
colomon \o 14:46
FROGGS hi hoelzro
jnthn lizmat: ah, ok :) 14:47
hoelzro hi FROGGS
jnthn I'm done teaching now (supervising exercises, though); link me if you want me to peek at something
rindolf hoelzro: hi. 15:01
hoelzro ahoy rindolf
rindolf FROGGS: hi.
hoelzro: what's up?
hoelzro nothing much 15:02
just at work
FROGGS $work
hoelzro flabbergasted by the awful weather we have in Chicago =/
15:03 denis_boyun_ left
jnthn hoelzro: I...thought that was the default in Chicago? 15:05
hoelzro so it seems =/
I just moved here about a month ago
and I'm discovering it more and more
which is funny, because the town I'm from is just 2 hours north
jnthn It's because all the huge tall buildings poke into the clouds and break them open. 15:06
15:09 zakharyas left
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
lizmat and therefore the done on the resulting tap isn't "done" either
cycling, should be back in a few hours& 15:10
15:12 kaleem left
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
an example?
15:13 kaleem joined
jnthn hotel, bbl & 15:14
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
hm. there is probably not sufficient space to also put bitwise operators into that cheatsheet
(that is +> +< +~ etc) 15:16
and it'd be nice to have a spot in the operator precedence list for adverb application
15:16 SamuraiJack__ left
timotimo but the cheatsheet is probably optimized to exactly fit an a4 or letter page? 15:16
15:20 cognominal left 15:21 cognominal joined, dragon_d joined 15:27 kaleem left 15:29 [particle] joined 15:31 havenwood joined, ajr_ left 15:32 guru joined, guru is now known as ajr_ 15:36 zakharyas joined
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:37
15:39 vbccxb joined 15:40 jnthn joined
jnthn grr, at least one of screen or irssi wedged... 15:41
cognominal nqp-m --target=parse -e0 15:44
Cannot iterate object with P6opaque representation
jnthn Probably just that match object dumping is broken somehow. 15:45
cognominal will test on other vms to see where the problem lies. 15:47
jnthn sure
15:47 FROGGS left
jnthn Well, if we want it to reliably work and to stay working it needs tests 15:47
[Coke] hoelzro: you're back in the states? whee. 15:49
hoelzro mhmm
15:58 dbane` joined 16:00 cxreg joined 16:01 denis_boyun_ joined
raydiak good morning, #perl6 16:01
TimToady o/ 16:02
PerlJam buenos dias raydiak
16:02 dbane left, rindolf left
raydiak \o TimToady and PerlJam 16:03
whats new and exciting around here in the past month or two?
16:03 dragon_d left, vbccxb left 16:05 jnap1 joined
PerlJam raydiak: Best read timotimo's summaries, they'll catch you up 16:05
timotimo <3
raydiak will do; which ones are those? 16:06
16:06 jnap left 16:07 denis_boyun_ left
raydiak n/m, found it...apparently it was the blog I was just reading :) 16:08
16:08 hummeleB1 joined
timotimo yay 16:09
16:10 denis_boyun_ joined
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
somebody already snatched it! 16:12
PerlJam aww
timotimo (yes, i was quite pleasantly surprised myself)
PerlJam er, yay! ;)
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, FROGGS joined
raydiak timotimo: what sort of work does it need? 16:13
cognominal n: say(('a' ~~ /a/).WHAT)
camelia niecza v24-109-g48a8de3: OUTPUT«(Match)␤»
timotimo raydiak: well, are you a js ninja? :3 16:14
cognominal nqp: say(('a' ~~ /a/).WHAT)
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)␤»
..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 …»
..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…»
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"
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 :)
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 ajr_ left
cognominal nqp-m: say(nqp::null().WHAT) 16:15
camelia nqp-moarvm: OUTPUT«(signal )»
raydiak what is it supposed to display?
oh, better question: where can I see an example of the output so I know what you're talking about? :) 16:17
timotimo linked from week 15's post actually 16:19
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:20
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:21
raydiak ah, okay, I'm a little more oriented now 16:22
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 denis_boyun_ left
timotimo maybe display both and add "global" for one of the two? 16:23
raydiak sure 16:24
PerlJam echo $PATH 16:25
oops
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:27
TimToady keeps wondering what "native" means in P5 16:29
raydiak scribbles a note
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"))␤»
TimToady by one argument, P5 is always native int, unless you use BigInt
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
... or that i guess?
16:34 sjohnson joined
TimToady use integer just forces some floating-point calculations to int instead 16:34
afaicr
so if you write an int algorithm, it's a no-op
16:34 denis_boyun_ joined, zakharyas left
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
and no overflow checks 16:36
16:36 xinming left
TimToady but to be a real comparison, it should use BigInt for "non-native" int :) 16:37
raydiak it also causes bitops to use signed instead of unsigned inputs and output 16:38
and a few other weird things that don't quite make sense to me
TimToady basically, it's another hack to make up for the lack of a type system :)
16:38 xinming joined
timotimo when somebody says "corralling docs" that means the docs are aging so bad that corals are already growing on them? 16:41
16:41 denis_boyun_ left
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
16:42 denis_boyun joined
nwc10 timotimo: :-) dictionary.reference.com/browse/corral 16:42
timotimo ah, so "corraling docs" means something more like "moving docs into one place"? 16:43
does the server that hosts perl6.org have an ipv6 address? would be cool to add it to the DNS if it does 16:44
16:47 xinming left, xinming joined
[Coke] trying to manage the project that is slightly out of control? 16:54
(corral)
timotimo ah? 17:00
17:00 Rotwang joined 17:01 treehug8_ joined 17:03 treehug88 left, dbane` left, dbane`` joined 17:05 dbane`` left
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
so +1 to DNS record
17:09 hoverboard joined 17:10 fhelmberger joined 17:11 fhelmberger left
FROGGS timotimo: what is "virualenv"? 17:12
geekosaur assumes virtualenv (python sandboxing)? 17:13
17:13 dakkar left, fhelmberger joined 17:14 raiph joined
FROGGS hmmm, now I'd need to know what sandboxing means in this context :o) 17:14
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! )
FROGGS S11, allows you to add repositories as you wish, so that might be a "yes" 17:16
17:16 kaleem joined 17:17 fhelmberger left 17:18 molaf left
jnthn time to find dinner & 17:22
17:23 autark joined
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:24
17:24 denis_boyun left 17:26 SamuraiJack__ joined
timotimo and you can have a different python version per virtualenv 17:26
17:29 denis_boyun joined 17:31 denis_boyun left, denis_boyun_ joined 17:33 xinming__ joined 17:35 thou joined
timotimo we should model the stuff after bundler, rather than virtualenv 17:36
17:37 xinming left, denis_boyun_ left
timotimo (says a knowledgable friend) 17:37
17:38 denis_boyun_ joined, vendethiel left, vendethiel joined 17:42 denis_boyun_ left
vendethiel just showed perl 6 to a sysadmin friend 17:46
he basically went insane.
timotimo oh wow, there is quite some hate for perl 6 out there, no?
vendethiel no -- insane in a good way. 17:47
vendethiel thought "insane" could be used positively too
tho his only experience with perl was only one small script he maintained from time to time
17:48 kaleem left
timotimo :P 17:48
17:49 spider-mario joined 17:55 SamuraiJack__ left 18:05 dwarring joined 18:06 molaf joined
rurban_ parrot 6.3.0 (supported release) is now out. no core changes from 6.2.0, just tests and benchmarks 18:09
18:11 IllvilJa joined 18:17 bjz_ left, bjz joined 18:19 bluescreen100 joined 18:22 LLamaRider left 18:23 bluescreen10 left
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:24
18:25 rindolf joined
vendethiel I guess some stuff went bad, though, yeah 18:27
FROGGS it is still kinda weird that so many ppl should at "us" as if everybody here was there since Perl6 was born 18:29
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.
geekosaur sounds like 90%+ of the internet to me 18:32
FROGGS sure, you are all right
it still sucks 18:33
PerlJam indeed
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:34
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:35
18:36 spider-mario left 18:40 darutoko left, larks left, larks joined 18:41 rindolf left 18:42 rindolf joined 18:43 treehug88 joined 18:44 treehug8_ left 18:46 pippo joined 18:49 rindolf left 18:55 woolfy joined
segomos im insane for p6 too 18:58
in a good way
grammars are making me insane right now, though 19:01
vendethiel but are you a sysadmin, eh ?!
segomos lol, not a computer janitor..just a data janitor
perl007 eh 19:02
Private multi-methods are not supported
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
moritz segomos: ^ .*? 'a certain string'
segomos moritz: it doesn't seem to be working across more than 2 lines 19:05
moritz segomos: example?
segomos github.com/tony-o/perl6-html-gramm...rammar.pm6 19:06
[Coke] perl007: are you reading that in the spec or a diagnostic?
segomos i'm trying to get scriptcontents to match text until i encounter another </script>
[Coke]: compiler says that if you try it (multi method problem)
[Coke] segomos: have you tried the regex debugger?
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«===SORRY!=== Error while compiling /tmp/tmpfile␤Private multi-methods are not supported␤at /tmp/tmpfile:1␤------> multi method !b (Str $str) { $str.say; }⏏; multi method !b {…»
[Coke] I would guess if it meant NYI, it'd say that.
moritz segomos: and it doesn't work because 'rule' implies no backtracking, but .*? requires backtracking to work
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
moritz: ah, thank you - i'll play around with that for a little while
moritz segomos: you can write regex scriptcontents { .*? <before '</script>' > }
segomos: then the calling rule doesn't need to backtrack over it
vendethiel
.oO( Just use flip-flops !)
19:10
moritz segomos: also, . includes newline characters in Perl 6
segomos i end up with that regex just matching 'var a = 5;\n while(a<10)\{\n' when run against: $script in : github.com/tony-o/perl6-html-gramm...er/test.pl 19:11
vendethiel do you <-[\n]>, moritz?
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.
moritz vendethiel: that's \N
perl007 just tried to run the code
vendethiel oh yeah
upper-casey stuff
perl007 one multi method should be public, another - private
19:12 spider-mario joined
segomos moritz: this works..thank you. i was interpolating in that string (gahhhh) 19:13
19:13 btyler left
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␤»
FROGGS perl007: like that? ---^ 19:14
vendethiel uhhh.
FROGGS though, you cannot have additional private candidates this way sadly 19:15
(yet?)
perl007 in this case its enough
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:17
moritz it's a known limitation 19:18
FROGGS lue: I just wonder why it does not work alrady.... there must be something hidden...
moritz well, you'd have to set up private protos and stuff
currently private method calls basically end up being sub calls (regarding dispatcher semantics) 19:19
19:21 Rotwang left
vendethiel "perl 6.5" 19:22
19:27 molaf left
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:34
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:35
19:41 molaf joined
moritz vendethiel: you mean for MAIN/USAGE ? call USAGE 19:41
vendethiel thanks moritz 19:42
19:44 punter joined
moritz m: sub MAIN($x?) { }; USAGE 19:48
camelia rakudo-moar 781440: OUTPUT«===SORRY!=== Error while compiling /tmp/bubBh1W0gh␤Undeclared name:␤ USAGE used at line 1␤␤»
moritz ugh, doesn't seem to work :(
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.
m: sub MAIN($x?) { }; say $?USAGE
camelia rakudo-moar 781440: OUTPUT«===SORRY!=== Error while compiling /tmp/8AIXNBpWAx␤Variable '$?USAGE' is not declared␤at /tmp/8AIXNBpWAx:1␤------> sub MAIN($x?) { }; say $?USAGE⏏<EOL>␤ expecting any of:␤ postfix␤»
jnthn Hmm.
Yeah, looking at Main.pm it shouldn't be too hard to make work, but doesn't yet. 19:54
vendethiel Create $?USAGE at compile time 19:56
m: sub MAIN($x?) { }; say gen-usage; 19:57
camelia rakudo-moar 781440: OUTPUT«===SORRY!=== Error while compiling /tmp/5Ey9pytouY␤Undeclared routine:␤ gen-usage used at line 1␤␤»
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)
vendethiel $?USAGE is generated, but not globally available
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?
segomos github.com/tony-o/perl6-html-gramm...rammar.pm6 19:59
does q[[[ <str> ]]]; do something funky when creating the string?
19:59 perl007 left
timotimo i wonder if you have to instantiate $/ before you can use $<name> like that 19:59
like, with a {} 20:00
segomos on #56? 20:01
jnthn .+ <?before "</script>">
That almost certainly wants to be .+?
timotimo most probably, aye
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
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:02
jnthn timotimo: ah, k 20:03
20:03 hoverboard left
jnthn uh, segomos even :) 20:04
20:10 subsume left 20:12 klapperl joined
[Coke] (USAGE) if you're getting segfaults building perl6, I'm not sure how having a usage statement helps. 20:13
20:14 klapperl_ left
segomos jnthn: moritz timotimo - thank you 20:14
20:15 hoverboard joined 20:22 klapperl left
vendethiel [Coke]: what ? 20:22
oh, okay. no segfault building it -- it was segfaulting when using the one in the debian repo 20:23
20:23 klapperl joined
[Coke] ok. is the usage question related to the thing segfaulting, or is it separate? 20:24
vendethiel since it was segfaulting, I wanted USAGE to show him from camelia 20:25
20:27 spider-mario left
retupmoca m: sub MAIN($x!) { } 20:28
camelia rakudo-moar 781440: OUTPUT«Usage:␤ /tmp/LeTNgRABCJ <x> ␤»
vendethiel 'k
retupmoca m: sub MAIN($x) { }
camelia rakudo-moar 781440: OUTPUT«Usage:␤ /tmp/WcAHfw936P <x> ␤»
retupmoca m: sub MAIN($x, :$foo) { }
camelia rakudo-moar 781440: OUTPUT«Usage:␤ /tmp/E1IbQvzWYs [--foo=<Any>] <x> ␤»
retupmoca just make it require something that camelia doesn't pass 20:29
vendethiel I'll ask him the error for building it tomorrow 20:31
r: sub MAIN(*@foo?) {} 20:33
camelia rakudo-parrot 781440, rakudo-jvm 781440, rakudo-moar 781440: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Missing block␤at /tmp/tmpfile:1␤------> sub MAIN(*@foo⏏?) {}␤ expecting any of:␤ formal parameter␤ …»
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
^ not sure what's the point of Z=> ?
jnthn zip pair
vendethiel I know what it does, I'm asking why use it here
if you're just gonna `.keys` it afterwards ?
jnthn ?
%accepts-argument vs %named-arguments? 20:35
vendethiel oh I'm blind -.-
jnthn ;)
vendethiel cause Z=> just to .keys it later seemed kind of unnecessary
jnthn right :)
It would be :)
20:48 kbaker_ left 20:57 BenGoldberg joined
dalek kudo/nom: 4865110 | Nami-Doc++ | src/core/Main.pm:
Remove unnecessary parentheses in Main.pm
20:57
kudo/nom: 7297b01 | (Tobias Leich)++ | src/core/Main.pm:
Merge pull request #258 from Nami-Doc/patch-1

Remove unnecessary parentheses in Main.pm
21:00 hummeleB1 left 21:02 dayangkun left 21:11 btyler joined
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:13
21:14 kaare__ left 21:16 dayangkun joined
jnthn segomos: Did you try perl6-debug also? It provides a much more fine-grained single-stepping. 21:19
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?
(if not, I'll probably write a Readline module that exposes it)
jnthn Not sure. The REPL that depends on it isn't spec.
But it's come to be an expectation that a Perl 6 impl will provide one. 21:21
And providing one without readline support goes down like a lead balloon.
So it's probably going to be there anyway, in a sense.
21:22 dragon_d joined, donaldh_ joined
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_ github.com/rakudo/rakudo/pull/259 On JVM, CORE.setting now compiles comfortably in 800m heap
jnthn I totally have to see this PR...
donaldh_ ;-) 21:24
jnthn oh...
It's just reducing the heap size
hmmm
donaldh_: Which JVM version, ooc?
donaldh_ Yep. I think it's the JASTCompiler work uses far less heap.
lemme see.
jnthn ah, that I can totally believe.
I need to look at how well we do under JDK8 at some point.
donaldh_ 1.7.0_51 21:25
jnthn k
21:27 BenGoldberg left
donaldh_ I never did figure out how to remove the priorInvocation stuff on JVM. $dayjob and $life took all my cycles. 21:27
21:28 BenGoldberg joined
jnthn no worries 21:29
It wants doing, but there's plenty else that's at least as pressing
FROGGS jnthn: that is not very comforting :o) 21:30
21:32 denis_boyun_ joined
jnthn FROGGS: The Perl 6 todo list rarely is :P 21:33
FROGGS bah :P
jnthn The progress since a year ago is pretty awesome, however. :) 21:34
donaldh_ jnthn++
jnthn I'm not the only one to blame ;) 21:35
It's been nice to see so many folks doing stuff. :) 21:36
Certainly keeps me going, anyways.
Last day of teaching tomorrow, for a while. :)
So will have tuits again soon \o/
FROGGS \o/
and yes, it is pretty nice here sine I am there :o) 21:37
jnthn FROGGS++ # making it nice here :)
FROGGS *g* 21:38
thanks
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.
*the
FROGGS and, well, I could give many ppl here karma back... #perl6 it is the best community I know
currently I am working a bit on v5, but I want to tick the CPAN checkbox soon 21:39
21:40 Sqirrel_ joined, Sqirrel left
FROGGS v5 was just necessary because I had unpushed changes for more than a month now on my disk 21:40
21:41 kbaker_ joined
jnthn Sounds like how spesh was until a couple of weeks ago :) 21:41
21:42 Sqirrel_ left
dalek rl6-roast-data: 250681b | coke++ | / (6 files):
today (automated commit)
21:42
[Coke] 2 jvm/moar failures each, 1 parrot 21:43
jnthn ugh, segv on the one that failed too 21:44
When I'm not teaching-exhausted, I'll have to run it with a tiny nursery. That often reveals things... 21:45
21:46 kbaker_ left 21:49 havenwood left, havenwood joined
Ulti o___O "Building panda is NYI. Well volunteered!" 21:49
oh build-panda 21:50
dalek ecs: d1e92cb | (David Warring [email@hidden.address] | S05-regex.pod:
grammar inheritance example fixed and completed - now testable
21:51
21:54 havenwood left
jnthn 'night, #perl6 21:54
21:54 treehug88 left
FROGGS gnight jnthn 21:54
21:55 pecastro left 22:02 japhb joined, japhb left 22:10 klapperl left, pippo left 22:11 klapperl joined 22:12 telex left, cooper left 22:13 denis_boyun_ left 22:14 telex joined 22:18 cooper joined
TimToady moritz: .*? should work regardless of :r setting, since it's explicitly backtracking, just as .*! is 22:21
22:21 nebuchadnezzar joined
FROGGS there is .*! ? 22:22
is it the same as .* ?
TimToady it is the same if :r is not in effect
FROGGS k 22:23
TimToady p6: say so "foo" ~~ / :r ^ .*? 'oo' / 22:24
camelia rakudo-jvm 7297b0: OUTPUT«(timeout)»
..rakudo-parrot 7297b0, rakudo-moar 7297b0, niecza v24-109-g48a8de3: OUTPUT«True␤»
TimToady looks like JVM has an issue with it 22:25
or maybe the eval server is hosed
FROGGS no, that is just the p6eval here
TimToady j: say 42
camelia rakudo-jvm 7297b0: OUTPUT«42␤»
TimToady j: say so "foo" ~~ / :r ^ .*? 'oo' /
camelia rakudo-jvm 7297b0: OUTPUT«True␤»
TimToady we should spec that flukes are not allowed 22:26
FROGGS hmmm, but anyway, the eval server has some problems these days :o)
TimToady p6: say so "foo" ~~ / :r ^ .* 'oo' / 22:27
22:27 BenGoldberg left
camelia rakudo-parrot 7297b0, rakudo-jvm 7297b0, rakudo-moar 7297b0, niecza v24-109-g48a8de3: OUTPUT«False␤» 22:27
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␤»
TimToady good
22:28 BenGoldberg joined 22:33 havenwood joined
segomos is it possible to send arguments to sub rules.. ie rule a { <name> <endname($<name>)> } 22:33
FROGGS yes 22:34
like you did there
timotimo o/
i finally watched The Labyrinth
segomos it says that is legal and it runs but rule endname ($name) { -- $name is always empty here
22:35 nebuchadnezzar left
timotimo hmm. have to {} before that perhaps? 22:35
i don't know how smart we are about this
does it work with a literal argument?
segomos it does 22:36
FROGGS segomos: try { <name> {} <endname($<name>)> }
segomos that works..why? 22:37
timotimo we're not immediately filling $/ with its pieces
until we know we have to
unfortunately we're not smart enough to figure out that we need it in this case 22:38
segomos ahh ic, thank you.
FROGGS and this code block does it (and it also terminates LTM :/)
timotimo yes
well, the call would terminate LTM as well, wouldn't it?
FROGGS I think so 22:39
timotimo because it can't be declarative
FROGGS gnight
timotimo gnite FROGGS
raiph: are you here? 22:42
raiph yeah
timotimo have you had any time to think about what kind of video material i could try to create? 22:43
22:43 snarkyboojum left
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
i have a somewhat pleasant voice
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
Ulti specifically the pattern is a string inside a hash
k
timotimo then <{ %foobar<key> }> should do it
m: say "foobar" ~~ / 'o' <{ "..." }> /
camelia rakudo-moar 7297b0: OUTPUT«「ooba」␤␤»
timotimo look! :) 22:45
Ulti what's regex { } all about then?
timotimo ... huh?
TimToady regex is, more or less, a different way to spell // that works inside grammars
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
m: say "foobar" ~~ / 'o' { Bool.pick } / 22:47
camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
timotimo m: say "foobar" ~~ / 'o' { Bool.pick } /
camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
timotimo m: say "foobar" ~~ / 'o' { Bool.pick } /
camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
timotimo m: say "foobar" ~~ / 'o' { Bool.pick } /
camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
timotimo er .. yeah 22:48
TimToady you thinking of <?{...}>
timotimo m: say "foobar" ~~ / 'o' { Bool.pick } . /
camelia rakudo-moar 7297b0: OUTPUT«「oo」␤␤»
timotimo probably am
lue m: say "foobar" ~~ / 'o' <?{ Bool.pick }> /
camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
lue m: say "foobar" ~~ / 'o' <?{ Bool.pick }> /
camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
lue m: say "foobar" ~~ / 'o' <?{ Bool.pick }> /
camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
lue m: say "foobar" ~~ / 'o' <?{ Bool.pick }> /
camelia rakudo-moar 7297b0: OUTPUT«「o」␤␤»
lue m: say "foobar" ~~ / 'o' <?{ my $a = Bool.pick; say $a; $a }> /
camelia rakudo-moar 7297b0: OUTPUT«True␤「o」␤␤»
lue m: say "foobar" ~~ / 'o' <?{ my $a = Bool.pick; say $a; $a }> /
camelia rakudo-moar 7297b0: OUTPUT«False␤False␤Nil␤»
timotimo it would have a 1 in 4 chance to succeed then
yeah, neato
dalek p/cleanups: d5ef597 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (15 files):
Remove unused imports.
22:49
p/cleanups: c1c3f8e | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (3 files):
Remove unused locals.
p/cleanups: c40b2e3 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java:
Remove generics warning.
p/cleanups: 5eed352 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files):
Remove unused member vars.
p/cleanups: 6048865 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files):
Suppress unused warnings for constants and unreachable debug code.
p/cleanups: f791f91 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/SerializationWriter.java:
Eliminate null pointer reference in throw.
timotimo whoa
much improves
Ulti hmmm still not getting this 22:50
dalek p: d5ef597 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (15 files):
Remove unused imports.
22:51
p: c1c3f8e | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (3 files):
Remove unused locals.
p: c40b2e3 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java:
Remove generics warning.
p: 5eed352 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files):
Remove unused member vars.
p: 6048865 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files):
Suppress unused warnings for constants and unreachable debug code.
p: f791f91 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/SerializationWriter.java:
Eliminate null pointer reference in throw.
p: 9daec9e | donaldh++ | src/vm/jvm/runtime/org/perl6/nqp/ (20 files):
Merge pull request #166 from perl6/cleanups

JVM backend housekeeping - remove unused vars, imports.
22:52 havenwood left, btyler left
TimToady m: say uniname("\x10FFFB") 22:53
camelia rakudo-moar 7297b0: OUTPUT«(signal )»
TimToady that's pretty obviously buggy
timotimo aye
lue TimToady: you saw what I said to you earlier? 22:54
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 22:58 donaldh_ left
timotimo Ulti: i don't understand what you're not getting :( 22:58
segomos timotimo: what is LTM in reference to what FROGGS was talking about? 23:00
timotimo longest token matching
ltm only works on the declarative prefix of stuff; that's how it's supposed to be 23:01
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
*sion
23:03 thou left
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
("that seems to change" refers to the pattern(s) as a whole, to be clear)
23:06 colomon left 23:13 colomon joined
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:18
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␤»
Ulti timotimo: I mean that isnt creating some regex object to use later 23:20
raiph timotimo: well actually a series of such series
lue Ulti: of course not, that's a three-element array of strings :) 23:23
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) ... }␤»
..rakudo-moar 7297b0: OUTPUT«regex(Mu: *%_) { #`(Regex|139752891411824) ... }␤»
..rakudo-jvm 7297b0: OUTPUT«regex(Mu: *%_) { #`(Regex|77602149) ... }␤»
23:27 colomon left 23:29 gjb_ joined, gjb_ is now known as japhb 23:32 bluescreen100 left
raiph timotimo: well 99 characters or less when newlines and indenting whitespace is swapped for ; 23:34
timotimo … the what now?
23:34 dmol left
raiph timotimo: see my responses to your question about videos in backscroll 23:34
timotimo i didn't see you were there %) 23:35
ah, now i see it finally
i'm blind tonight ..
23:36 btyler joined
timotimo raiph: i don't understand the purpose of the first video in the series 23:40
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
fair enough
and i assume you're thinking of videos of about 5 minutes length?
one simple feature per video?
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
(which is, incidentally, 163 characters long, so wouldn't be allowed anyway)
(.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
timotimo hmm 23:45
raiph first series would prolly best be simpler stuff
timotimo yeah, should be
though that'll give trolls cannon fodder for saying "perl 6 is probably only good for funky one-liners, but nothing more!"
raiph that would be wonderful
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
i would want us to tweet each one liner with some hashtags 23:47
timotimo ah, that's why you thought of 99
raiph we'll get mercilessly trolled but will steadfastly return love, audrey style 23:48
timotimo \o/ 23:50
bedtime for now
gnite!
raiph \o 23:51
23:52 hoverboard left 23:59 raiph left