»ö« 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 strictmy $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«CoCnZl» | ||
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/tmpfileUnsupported use of $] variable; in Perl 6 please use $*PERL_VERSIONat /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_jwTwo terms in a rowat /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«421» | ||
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/tmpfileTwo terms in a rowat /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 objectcurrent 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/tmpfilePrivate multi-methods are not supportedat /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«StrInt» | ||
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/bubBh1W0ghUndeclared 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/8AIXNBpWAxVariable '$?USAGE' is not declaredat /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/5Ey9pytouYUndeclared 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/tmpfileMissing blockat /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«FalseFalseNil» | ||
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
|