»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:00
bpmedley_ left
00:01
RabidGravy left
00:04
hankache left
00:08
tth joined,
yeahnoob left
00:10
vividsnow left
00:12
yeahnoob joined
|
|||
autarch | how can I handle a C library which added a certain function that I want to access if it's there, but not blow up if it's not | 00:14 | |
ah, looks like it's a runtime error, that's good | |||
00:20
jcallen joined,
vendethiel left
00:21
patrickz left,
vendethiel joined
00:23
rvchangue left
|
|||
jcallen | I'm trying to build rakudo through a package manager (meaning that `make install` *must not* touch /usr, but rather $(DESTDIR)/usr, etc.), and seeing an issue with tools/build/install-core-dist.pl trying to write to /usr/share/perl6/repo.lock (and failing because of the sandbox). Has anyone else been able to try to fix this? (I'm looking to try and create a patch, but the code involved is a bit convoluted) | 00:23 | |
00:23
rcy left
00:24
yeahnoob left
00:25
huf left,
spider-mario left,
huf joined,
Psyche^ left
|
|||
stmuk | jcallen: I believe others had the same or similar problems in the last day or so | 00:25 | |
00:25
Psyche^ joined
|
|||
stmuk | jcallen: probably worth checking irclog.perlgeek.de/perl6/2015-12-28 | 00:25 | |
00:26
Arrowhead joined,
rvchangue joined,
lsm left
00:27
yeahnoob joined
00:30
Arrowhead left
|
|||
flussence | rakudo git already has... three different fixes for this. probably should put them into a 2015.12.1 | 00:32 | |
jcallen | ...why can't I find a link to rakudo git... | 00:33 | |
flussence | github.com/rakudo/rakudo | ||
jcallen | that was too obvious (except that I don't assume that github is the canonical place to find sources...) | 00:34 | |
00:36
rindolf left
|
|||
orbus | style question - what's the preferred method for module functions to communicate errors? return false? throw exceptions? whatever the author feels like (like in perl5)? | 00:36 | |
geck | jcallen: what distor are you packaging for? | 00:37 | |
orbus | I'm writing a new module | ||
timotimo | what perlbrew invocation do you use to get a rakudo 2015.12 with perl 6.c? | ||
jcallen | geck: Gentoo | ||
flussence | orbus: fail() if it should be recoverable, die() if not | ||
orbus | hrmm | ||
okay, will go take a look at those | |||
I know die | |||
flussence | jcallen: gitlab.com/flussence/perl6-overlay already has rakudo ebuilds | ||
orbus | haven't looked at fail | ||
geck | I've been pondering building a rakudo software collection for RH distros | ||
00:38
lsm joined
|
|||
orbus | yum/dnf repository would save people some time for sure | 00:38 | |
jcallen | flussence: that's an overlay; I'm working on repo/gentoo.git :D | ||
flussence | oh, feel free to steal them then :) | ||
00:39
zed00 left
|
|||
orbus | or really now that the spec is stable, lobby to get rakudo into distros | 00:39 | |
flussence | (at least two of those workarounds were *because* I was trying to get it to build on gentoo, so the hard work's done for you :) | ||
orbus | but I have no idea how that works :) | ||
geck | orbus:easier to just put out a package | 00:40 | |
I mean, earliest it could get in is rh/centos 8 | |||
as far as the enterprise distros go | |||
jcallen | should we be using the system libffi or the included 3rdparty/dyncall? | 00:41 | |
geck | pkgs.fedoraproject.org/cgit/rakudo-star.git/ -> probably wouldn't take very long using that as a starting point | 00:43 | |
flussence | I've been building things with both for a long time, spectest stuff has been fine, the only real issue is bundled libtommath because upstream hasn't taken patches for that yet | ||
(it compiles fine, but you get weird errors in printf stuff) | |||
00:45
rindolf joined
|
|||
mojca | I can confirm flussence's observation about printf and libtommath; the problem is that MoarVM should not install the libraries at standard places | 00:45 | |
jcallen | flussence: I'm referring to libffi/dyncall specifically as there is a choice between them :) | ||
flussence | ohhh... I've never noticed... | ||
awwaiid | I want to add another 'multi sub EVAL' for :lang<Python> support. When I put it in the REPL or a main .pl6 file it works fine; when I put it in lib/Inline/Python.pm6 (above the class Inline::Python) it does not. Any pointers? | 00:46 | |
flussence | ergh, yeah there's a bunch of stuff leaking into /usr/include here. I better fix that... | 00:47 | |
awwaiid | the failure is that I get the "No compiler available for language 'Python'" exception, as if I hadn't created the multi sub EVAL at all | ||
00:49
wingfold left
|
|||
sammers | hello, is there a way to do multiple assignment from an array? Something like my $foo, $bar = [1, 2]; | 00:50 | |
TimToady | m: my ($foo,$bar) = [1,2]; say $foo; say $bar | 00:51 | |
camelia | rakudo-moar 64a61a: OUTPUT«12» | ||
00:52
cygx joined
|
|||
cygx | awwaiid: your EVAL should look like this: multi EVAL(Cool $code, Str() :$lang! where 'python') is export { ... } | 00:52 | |
sammers | ok, that is perfect | ||
thanks, and congrats on the release... having lots of fun. | |||
awwaiid | cygx: I just tried the 'is export' and it works! I guess the code in rakudo implicitly does that somehow | 00:53 | |
cygx | awwaiid: the core is an outer lexical scope surrounding your program, thus no need to export | ||
awwaiid | cygx: the core? | 00:54 | |
cygx | awwaiid: Rakudo's core setting, ie the stuff in rakudo/src/core | ||
awwaiid | cygx: oh. this file is src/core/control.pm . I see | ||
cygx: cool, thanks! | 00:55 | ||
01:00
bpmedley joined
|
|||
orbus | geck: presumably should try for both - custom repo for centos 6/7 and try to get it included in 8 | 01:02 | |
TimToady | though why we call something on the outside "core" is anyone's guess :) | ||
01:02
vendethiel left
|
|||
TimToady | it's more like "cladding" | 01:02 | |
orbus | geck: although even then the custom repo is worthwhile because stuff in centos swiftly drifts out of date | 01:03 | |
awwaiid | TimToady: is it like OCaml's "prelude" -- more or less a standard-lib? | ||
01:03
dududuedu joined
|
|||
awwaiid | oh wait, you were refering to outer lexical scope. nevermind. | 01:03 | |
orbus | alright... my module basically works but I'm too tired/lazy to write tests or upload to github | 01:04 | |
maybe later | |||
TimToady | but we don't call it a prelude specifically because it is not in front, but around | ||
01:04
lichtkind joined
|
|||
orbus | first, food | 01:05 | |
awwaiid | TimToady: like being wrapped in a nice warm blanket on a cold day | ||
TimToady | or vice versa | ||
flussence | circumlude? | 01:08 | |
dalek | blets: cbdf706 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt: added tau constant |
||
01:08
rindolf left
|
|||
lichtkind | are ther eutf verions of u nad i constants too? | 01:09 | |
01:16
mojca left
|
|||
timotimo | what is u? | 01:17 | |
01:18
virtualsue left
01:19
Arrowhead joined
|
|||
lichtkind | sorry I ment i and e | 01:19 | |
was distracted smacking troll that claimed larry dont even knew chomsky | 01:20 | ||
TimToady | well, I never met him | 01:21 | |
lichtkind | :) | ||
01:21
cygx_ joined
|
|||
timotimo | that one dood on twitter who's been annoying, negative, uninformed and unhelpful is now claiming false advertisements because he can't apt-get or perlbrew install 6.0.0 | 01:21 | |
TimToady | but by the time I was in grad school at UCB, the professors there had already found counterexamples to all but one of his "transformational" rules | ||
lichtkind | yes but its just stupid to claim you had to be forced to introduce oo into perl 6 | 01:22 | |
TimToady | haters gonna hate | ||
lichtkind | yes we wanted fresh ones :) | ||
01:24
Arrowhead left,
cygx is now known as Guest3863,
Guest3863 left,
cygx_ is now known as cygx
|
|||
lichtkind | at least koleda go its own main line news item, which means it was even in the top level news feed here in germany | 01:25 | |
flussence | I don't even bother engaging with 'em any more. If they want to hellban themselves into maintenance programming, that's their loss :) | ||
lichtkind | well its the discussion section under my article , i try to keep there at least informed answers | 01:26 | |
have a wonderful night | 01:27 | ||
its past a am here | |||
o/ | |||
2am i mean | |||
01:27
adhoc left
01:29
adhoc joined
01:30
lichtkind left
01:32
shicheng joined
|
|||
dalek | kudo-star-daily: ad07e14 | coke++ | log/ (8 files): today (automated commit) |
01:34 | |
01:35
kj_ joined
01:36
kj_ is now known as kmj
01:39
shicheng_ joined
01:43
shicheng left,
BenGoldberg left
|
|||
kmj | Hi all. This is my first bit learning perl6. I have a quick question. Is it expected that if I call a method on an object that within double quotes, that the method does not get called unless it is called with parentheses. For instance: | 01:43 | |
y $file = "main.p6"; 8 say "$file.IO.Str $file.IO.s"; | |||
versus | |||
myy $file = "main.p6"; | |||
say "$file.IO.Str() $file.IO.s()"; | 01:44 | ||
jdv79 | yes | ||
01:44
BenGoldberg joined
|
|||
kmj | Ok, thanks | 01:44 | |
01:45
BenGoldberg left
|
|||
TimToady | yes, the only expression-like thing that can interpolate without trailing brackets of some sort is a bare $foo variable | 01:45 | |
well, unless you count {$file.IO.Str} as an expression-like thing | 01:46 | ||
01:46
shicheng_ left
|
|||
timotimo | TimToady: and putting an extra % in front :P | 01:46 | |
TimToady | but in a sense that has trailing brackets too :) | ||
timotimo | m: my %foo = hi => "wat"; say "%%foo" | ||
camelia | rakudo-moar 64a61a: OUTPUT«%%foo» | ||
timotimo | m: my %foo = hi => "wat"; say "%%%foo" | ||
camelia | rakudo-moar 64a61a: OUTPUT«%%%foo» | ||
timotimo | ... huh | ||
m: say "%%%foo" | |||
camelia | rakudo-moar 64a61a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Z9zW0XPEhOVariable '%foo' is not declaredat /tmp/Z9zW0XPEhO:1------> 3say "%%7⏏5%foo"» | ||
timotimo | well ... :P | ||
01:46
BenGoldberg joined
01:49
shicheng joined
|
|||
kmj | Thank you. BTW, congrats releasing perl6. I know there's a lot of work to do, but this is a really neat milestone. | 01:51 | |
timotimo | thanks for the encouragement :) | 01:52 | |
TimToady | lovers gonna love :) | 01:53 | |
01:54
BenGoldberg left
|
|||
Hotkeys | I'm trying to match 3 consecutive letters but I think I'm doing something wrong i.imgur.com/Sggr2NQ.png | 01:54 | |
am I doing inline code in regex wrong | |||
01:55
BenGoldberg joined
|
|||
timotimo | m: "hijklmn" ~~ / (.) ** 3 <{ say $0[0]; say $0[1]; say $0[2] }> / | 01:56 | |
camelia | rakudo-moar 64a61a: OUTPUT«「h」「i」「j」「i」「j」「k」「j」「k」「l」「k」「l」「m」「l」「m」「n」» | ||
timotimo | m: "hijklmn" ~~ / (.) ** 3 <{ say $0[0]; say $0[1]; say $0[2]; say "" }> / | ||
camelia | rakudo-moar 64a61a: OUTPUT«「h」「i」「j」「i」「j」「k」「j」「k」「l」「k」「l」「m」「l」「m」「n」» | ||
timotimo | m: "hijklmn" ~~ / (.) ** 3 <{ say $0[0].succ; say $0[1]; say $0[2].pred; say "" }> / | ||
camelia | rakudo-moar 64a61a: OUTPUT«Method 'succ' not found for invocant of class 'Match' in block <unit> at /tmp/GpjGxS0gIA line 1» | ||
01:56
BenGoldberg left
|
|||
timotimo | m: "hijklmn" ~~ / (.) ** 3 <{ say $0[0].Str.succ; say $0[1]; say $0[2].Str.pred; say "" }> / | 01:56 | |
camelia | rakudo-moar 64a61a: OUTPUT«i「i」ij「j」jk「k」kl「l」lm「m」m» | ||
timotimo | m: "hijklmn" ~~ / (.) ** 3 <{ say $0[0].Str.succ; say $0[1].Str; say $0[2].Str.pred; say "" }> / | ||
camelia | rakudo-moar 64a61a: OUTPUT«iiijjjkkklllmmm» | ||
timotimo | m: "hijklmn" ~~ / (.) ** 3 <{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> / | ||
camelia | ( no output ) | ||
timotimo | m: say "hijklmn" ~~ / (.) ** 3 <{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> / | ||
camelia | rakudo-moar 64a61a: OUTPUT«Nil» | ||
dalek | c: e5ebc53 | coke++ | / (3 files): Add categorized search results. Closes #273 |
||
timotimo | m: "hijklmn" ~~ / (.) ** 3 <{ say $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> / | 01:57 | |
camelia | rakudo-moar 64a61a: OUTPUT«TrueTrueTrueTrueTrue» | ||
timotimo | m: say "hijklmn" ~~ / (.) ** 3 <{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> / | ||
camelia | rakudo-moar 64a61a: OUTPUT«Nil» | ||
timotimo | m: say "hijklmn" ~~ / (.) ** 3 / | ||
camelia | rakudo-moar 64a61a: OUTPUT«「hij」 0 => 「h」 0 => 「i」 0 => 「j」» | ||
01:57
BenGoldberg joined
|
|||
timotimo | oh | 01:57 | |
m: say "hijklmn" ~~ / (.) ** 3 <?{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> / | |||
camelia | rakudo-moar 64a61a: OUTPUT«「hij」 0 => 「h」 0 => 「i」 0 => 「j」» | ||
timotimo | that's the thing i was missing | ||
i think the result of <{ }> gets interpolated as a regex language thingie | 01:58 | ||
m: say "hijTrueklmn" ~~ / (.) ** 3 <?{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> / | |||
camelia | rakudo-moar 64a61a: OUTPUT«「hij」 0 => 「h」 0 => 「i」 0 => 「j」» | ||
timotimo | m: say "hikFalselmn" ~~ / (.) ** 3 <?{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> / | ||
camelia | rakudo-moar 64a61a: OUTPUT«「lmn」 0 => 「l」 0 => 「m」 0 => 「n」» | ||
timotimo | eh, derp | ||
m: say "hikFalselmn" ~~ / (.) ** 3 <{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> / | |||
camelia | rakudo-moar 64a61a: OUTPUT«「hikFalse」 0 => 「h」 0 => 「i」 0 => 「k」» | ||
timotimo | m: say "hijTrueklmn" ~~ / (.) ** 3 <{ $0[0].Str.succ eq $0[1] eq $0[2].Str.pred }> / | ||
camelia | rakudo-moar 64a61a: OUTPUT«「hijTrue」 0 => 「h」 0 => 「i」 0 => 「j」» | ||
timotimo | ^- could be ... useful? :P | ||
[Coke] | ENODALEK? | 01:59 | |
Hotkeys | oh | ||
why <? | |||
on the code block | 02:00 | ||
shicheng | Greetings! Just heard the new Perl 6 release :) | 02:01 | |
TimToady | we just heard about it 3 days ago ourselves :) | ||
timotimo | Hotkeys: turns it from something similar to <$foo> (interpolates regex) to something similar to <?$foo> | 02:02 | |
is <?foo> actually a sensible explanation for this? | |||
[Coke] | I tell you, we were all kind of surprised. | ||
02:02
halto joined
|
|||
shicheng | Besides more neat syntax, does anyone has a sense about what kind of purpose that the new release could serve? | 02:02 | |
Hotkeys | So basically it lets the regex match the truthiness of the code rather than just evaluate the code itself? @ timotimo | 02:03 | |
mst | shicheng: perl6.c is a final "backcompat changes are considered bugs" release of the lnaguage | ||
shicheng: that difference in policy is important | |||
[Coke] | wendy wrote up a nice article on "why use perl6"... but I don't remember where it went. | ||
mst | like, hugely important | ||
shicheng | Code: I would be very interested to read that article | 02:05 | |
Sorry.. [Coke] | |||
[Coke] | ah, found it: wendyga.wordpress.com/2015/12/25/w...e-answers/ | ||
mst | of course my answer is basically | 02:06 | |
timotimo | Hotkeys: the return value is the important distinction | ||
shicheng | mst: so does this mean it has a totally new design (which breaks backcompagt | ||
mst | 1) because perl5 OO with Moo/Moose is so much better than python/ruby/ES6 I can't use them without getting annoyed | ||
shicheng | backcompat | ||
mst | but perl6 is if anything even better | 02:07 | |
timotimo | if you have a <{ ... }> in your thing and it returns something like "...", it'll be interpolated so that it matches three characters | ||
02:07
BenGoldberg left
|
|||
mst | 2) becauee grammars are amazing | 02:07 | |
shicheng: perl6 and perl5 are different languages | |||
timotimo | whereas <?{ ... }> will pass or fail the match at that point (but still let it backtrack and try again) if the return value isn't True | ||
mst | shicheng: perl6 has Inline::Perl5 that allows native use of perl5 code in perl6 | ||
shicheng: perl5 has Inline::Perl6 that allows native use of perl6 code in perl5 | |||
Hotkeys | timotimo: alright, thanks! | ||
mst | shicheng: so "backcompat is totally broken but all your stuff should still totally work together" | ||
shicheng | mst: I see, I will keep this in mind | 02:08 | |
mst | shicheng: i.e. you can run both in the same process, so the fact they're different languages in the same family actually isn't a disaster | ||
[Coke] wonders how to check on the build progress on docs.perl6.org | |||
mst | shicheng: I rather like this as an approach tbh | ||
timotimo | www.reddit.com/r/haskell/comments/..._of_perl6/ | ||
shicheng | I am excited to see this classic lang got a new totally release, was too afraid of grammar difficulty to study it | ||
mst | shicheng: think of perl5 and perl6 as like lisps | 02:09 | |
shicheng: except with excellent bidirectional interop | |||
shicheng | with same spirit | ||
On official website it says "It is going to serve for next hundred years." | 02:10 | ||
What does that mean? I am curious ;) | |||
mst | shicheng: note I'm mostly a perl5 hacker, but perl6 grammars are likely to drive me to use Inline::Perl6 anyway | ||
and I'm proud to be part of a community that cares about the bidi interop thing | |||
02:11
xpen joined
|
|||
leont | Having written two non-trivial grammars (TAP and YAML), I agree with the grammars are awesome sentiment (YAML itself however…) | 02:12 | |
gfldex | shicheng: Perl 6 is ready for the next 100 years because the grammer of the language is extensible and the language as a whole is planned to be extended by the user | 02:13 | |
jdv79 | that's assuming people still code 100 years from now | 02:16 | |
02:17
lustlife joined,
shicheng_ joined
|
|||
TimToady | it doesn't have to be people doing the coding... | 02:20 | |
shicheng_ | haha I like this extensible idea | ||
flussence | hm, looks like I can't build moar with --lua=/usr/bin/lua on gentoo, 'cause those bundled dyn* deps aren't available as packages... | 02:21 | |
02:21
shicheng left,
lsm left
02:23
lsm joined
02:28
shicheng joined
|
|||
TEttinger | isn't dynasm a luajit thing? | 02:28 | |
flussence | well I've already got that installed too, but nothing remotely looks applicable there either | 02:29 | |
02:29
shicheng_ left
|
|||
timotimo | gah! | 02:30 | |
it was monday and i totally forgot to work on the weekly :S | |||
flussence | if you hadn't said anything nobody would've noticed :D | ||
[Coke] | docs.perl6.org doesn't seem to be rebuilding; it did seem to have a build yesterday, though. | 02:32 | |
mst | timotimo: you were busy doing other awesome things | ||
timotimo: I can't stop it annoying you, but I can say that your productivity overall is such that I'd defend the omission ;) | |||
02:33
yqt left
|
|||
timotimo | i watched congress livestream and played disgaea 5 :P | 02:34 | |
also, i washed some laundry and napped | |||
*sigh*, i kind of miss the advent calendar already | 02:35 | ||
02:35
BenGoldberg joined,
yqt joined
|
|||
flussence | well we've got the next 11.5 months free to write one that isn't outright painful to use... | 02:37 | |
mst | not it, but I totally hope I'll help make it easier to deploy ;) | ||
(this is me not promising anything, but saying toolchain stuff here so far has been fun so I'll hopefully keep getting sucked in ;) | 02:38 | ||
mspo | timotimo: you can always keep blogging | ||
timotimo | i'm surprised & glad you're enjoying working on our toolchain | ||
mspo: yeah, i'll just blog something very interesting and also fun every day ... because i've already been so good at delivering the weekly on mondays ... | |||
i didn't even work on the perl foundation perl6 wiki one bit today either | 02:39 | ||
anyway. now is bedtime. | 02:40 | ||
good night! | |||
flussence | o/ | ||
flussence gives this dumb hacky moar header cleanup fix another shot | |||
mst | timotimo: I am the right sort of masochist to enjoy this, it appears. and long may it continue to seem so to me, since that way I'll keep doing useful things ;) | ||
flussence: remember the mantra: "this is systems. you appear to be trying to be clever. stop." - so dumb+hacky may be the right thing | 02:41 | ||
flussence: also, if you can reduce it to a perl -pi -e or similar, include the hacky script in the commit message for its application, then people can see exactly what you did and tweak it later if required | |||
flussence | long story short: moar bundles libs. moar provides an off switch, but the makefile force-installs the header files for them anyway. my hack right now is to just rm -rf those bits from $DESTDIR before it gets plonked into /usr | 02:43 | |
...which works *great* up until trying to build rakudo, because it needs some of those headers. whoops. | 02:44 | ||
surprised nqp and its sanity tests don't mind, though | 02:45 | ||
cygx | flussence: nqp doesn't require extension ops | 02:46 | |
02:46
castj left
|
|||
mst | flussence: yeah, I figured it'd be like that | 02:46 | |
02:47
atweiden left
|
|||
mst | first, however, I need to hit rakudobrew with a shovel until I can write tests | 02:47 | |
also I totally had another thing to write between christmas and new year | |||
going to try and spend time on both but | |||
02:49
halto left
|
|||
flussence | .oO( geez, I was a normal user last week... how'd I end up doing all this?! ) |
02:51 | |
mst | flussence: I hadn't even done anything until two days ago and then you broke something and I was bored :P | ||
flussence: welcome to the perl community. this is why I'm here. | |||
02:53
molaf_ joined
02:54
dududuedu left,
cygx left
|
|||
mst | flussence: www.youtube.com/watch?v=BaeXXA5UyYg is my life since realising that :) | 02:55 | |
flussence | uh oh... the first bit of that video description sounds familiar :) | 02:57 | |
02:57
molaf left
02:58
Su-Shee_ joined
|
|||
mst | having given the SoTV to sawyer, I got to do a community talk that's basically "why I'm here and you should be too" | 02:58 | |
it made my happy :) | |||
03:00
spock joined,
spock is now known as Guest75873
|
|||
Guest75873 | hello | 03:00 | |
[Coke] | hello, spock. | ||
03:01
Su-Shee left
03:02
Guest75873 is now known as fong,
Ben_Goldberg joined
|
|||
[Coke] | does git checkout origin/master do a pull? | 03:03 | |
mst | no | ||
colomon | [Coke]: as opposed to what? | ||
mst | it'll hceckout whatever your current mirror of origin has | ||
flussence | nope, it just gives you a detached head pointed to wherever that was last time you fetch/pulled | ||
colomon | oh, right, what flussence said | ||
flussence++ said | |||
[Coke] | I wonder what github.com/perl6/doc/blob/master/u...d-sync#L10 is trying to do here. | 03:04 | |
ah, there's a git fetch in the script earlier. so that might work. | |||
flussence | looks like it's trying to do `git pull master`-but-without-merge-nightmares :) | ||
[Coke] | urrrk. I cherry picked a 2 day old commit... | 03:05 | |
03:05
geraud left,
BenGoldberg left
|
|||
dalek | c: 827e8cb | coke++ | bin/p6doc-index: remove some trailing whitespace |
03:06 | |
[Coke] | so it got very confused. | ||
03:10
cooper joined
03:14
noganex_ joined
03:15
pdcawley joined,
leont left
03:16
noganex left
03:19
pdcawley left
03:20
Arrowhead joined
03:23
kid51 left
|
|||
autarch | It looks like all of the pages besides the index pages are 404'ing on the doc site | 03:24 | |
hmm, except under /route | |||
/routine | |||
03:24
Arrowhead left
|
|||
awwaiid | autarch: you beat me to report it by 2 mins! | 03:26 | |
autarch | I win the big prize! | ||
awwaiid | you get to keep both halves | ||
autarch | PM me for the address to send money to | ||
03:26
addison left
|
|||
[Coke] | autarch: I'm trying to build the site. It's possible the build process has gone wonky. | 03:28 | |
autarch | maybe best to restore from backup for now? if such a thing is possible | ||
[Coke] | I think the process is also not happy if it takes more than 5 minutes. | ||
Hotkeys | did docs.perl6.org disappear | 03:31 | |
I can't access any of the pages | |||
except the main pages | |||
gfldex | Hotkeys: yes, there is a cronjob so it might resurface in a bit | ||
awwaiid | taking 5to6-nutshell.pod and s/Perl 5/Ruby/g is amusing. | ||
Hotkeys | ah | ||
[Coke] | it would super awesome if the build process didn't take more than 6 minutes and counting. :| | ||
gfldex | the last time i tried to htmlify.p6 on my not so fast linux box, it took 90min | 03:32 | |
jdv79 | any ideas on what the hot spots are? | 03:33 | |
[Coke] | no, because it chokes the profiler. | ||
gfldex | anything really. It's not doing any concurrency | ||
03:34
rburkholder left
|
|||
gfldex | and it takes the $=pod content and transforms that into some intermediate format | 03:34 | |
i made my own pod2html (that does a lot less) and it takes 1m3s to generate the html | |||
Hotkeys | even with the long build times, does it need to remove all the docs mid-build? | 03:35 | |
or is it a "it doesn't need to" situation | |||
gfldex | it should not do that | ||
and it didn't do that in the past, so there might actually be something very wrong, like a partial build that didn't fail loudly | 03:36 | ||
03:36
itaipu left
|
|||
Hotkeys | ah, fun | 03:37 | |
[Coke] | as I said, I was trying to force a build, since it was not building. | 03:38 | |
gfldex | Use of the 'unpack' method is experimental; please 'use experimental :pack' | ||
that's what it says locally | |||
i'm on it, testing locally again (what takes time) | 03:39 | ||
dalek | c: bd8f5a5 | coke++ | README.md: perl 6, not perl6. |
||
[Coke] | ok, a fresh build is now running, hopefully with nothing left of my attempt. | 03:40 | |
I think the version of rakudo on the server is slightly older. | 03:41 | ||
version on the server is 2015.11-722-g1088291 | |||
so unpack is probably fine there. | |||
dalek | c: c9e8656 | (Wenzel P. P. Peppmeyer)++ | htmlify.p6: unpack is now experimental |
03:42 | |
c: 2600f80 | (Wenzel P. P. Peppmeyer)++ | htmlify.p6: Merge pull request #287 from gfldex/master unpack is now experimental |
|||
[Coke] | instead of using 30% cpu, it's now using 100%, that's an improvement... | ||
dammit. | |||
that is going to break the next run. didn't we already add that and remove it once? | |||
or not apply it because we didn't have a fresh enough rakudo on the server? | |||
gfldex | we will see how it goes i guess | 03:44 | |
03:45
joydo joined
|
|||
[Coke] | in case I get hit by a bus, this cronjob is running under the docs.* user on hack | 03:45 | |
03:48
itaipu joined
|
|||
[Coke] | I don't have pygmentize on the box I test docs stuff on; wonder if that slows the build down. | 03:50 | |
gfldex | it does | 03:51 | |
03:52
regreg left
|
|||
gfldex | and it does so single threaded, what is a shame | 03:52 | |
[Coke] | site is back | 03:54 | |
... this build is no where near done, but there was a last copy. | |||
autarch | is it ok to commit typo fixes in doc to master directly? | ||
[Coke] | sure? | 03:56 | |
dalek | c: dc77e5a | (Dave Rolsky)++ | doc/Language/nativecall.pod: Fix typo (explicited is not a word) |
||
[Coke] | m: say "Coke--" # breaking docs.perl6.org | 03:57 | |
camelia | rakudo-moar 64a61a: OUTPUT«Coke--» | ||
[Coke] | wow, even the profile output from autarch's pod to html's basic.t is choking my copy of chrome. | 04:00 | |
[Coke] wonders if he has to try to another upgrade there. | |||
autarch | [Coke]: yep, had the same problem | ||
I really think the profiler output needs some rethinking - JSON is not a great format for huge amounts of data since you can't really parse it from a stream | |||
although even with a format that doesn't require "read everything and parse it all at once" I wonder how perl6 would handle huge amounts of data | 04:01 | ||
[Coke] | is it json that is parsed and turned into code, or is it interpreted as raw JS? | 04:02 | |
it's been a while since I poked. | |||
json.parse... yah, that'd do it. | |||
autarch | but what I mean is that you have to parse the whole data structure before you can do anything with it | ||
as opposed to something where you could build up your internal representation as you stream in data | 04:03 | ||
[Coke] | autarch: one possible thing that might help is making something that's a data structure, not just a bunch of keys/objects. (keep the size of the giant object down) | ||
autarch | that said, none of that matters for the web browser | ||
04:04
kaare_ joined
|
|||
autarch | I kind of doubt there's any way to make something where the profiler lives in JS only for large programs - my profile of htmlify.p6 --sparse=20 was 83MB | 04:04 | |
nytprof handles huge files that reasonably well, in my experience | |||
[Coke] | TimToady: 6.41% of the time in this basic.t test file is in sink-all | ||
04:04
fong left
|
|||
[Coke] | autarch: does it surprise you that basic.t created 34K+ Scalars? | 04:08 | |
autarch | [Coke]: heh, yes, it sure does! | ||
04:08
shicheng left
|
|||
autarch | I didn't think the code I wrote was particularly egregious - it's not super optimized but I don't think it's doing anything crazy awful | 04:09 | |
[Coke] | hurm. I am using the INSTALLED versions of the lib in the test. one sec. | 04:10 | |
autarch | [Coke]: I just ran a profile and I see the same results as you | 04:11 | |
it all seems to be happening in m-CORE.setting | |||
[Coke] | I imagine if we could cut back the allocations, that'd kill some GC that's going on... | 04:13 | |
autarch | which I now realize is just a concatenation of all the core code | ||
[Coke] | OOC, why did you make the attributes Cool and not Str? | 04:14 | |
04:14
Arrowhead joined
|
|||
autarch | [Coke]: oh, you're asking me | 04:17 | |
autarch tries to remember ... | |||
ah, because I thought people might end up passing things like match objects or something along those lines | |||
maybe it should be Stringy? | 04:18 | ||
honestly, I'm just guessing at a lot of things ;) | |||
[Coke] | I would start with the simplest thing that passes tests, and Str seems simpler. | ||
You can define the methods that take them as coercing to str, so they can pass anything with a .Str method. | 04:19 | ||
04:19
Arrowhead left
|
|||
autarch | ah, yes, that's what I want to do | 04:19 | |
how do I do that? | |||
ah, found doc.perl6.org/language/functions#Coercion_Types | 04:20 | ||
[Coke] | m: class barf { method ew(Str(Any) $x) { say $x, $x.WHAT}}; barf.ew(3) | 04:22 | |
camelia | rakudo-moar 64a61a: OUTPUT«3(Str)» | ||
colomon | FROGGS, nine, ugexe: I’m trying to get ABC working again with latest rakudo. | ||
It’s crashing at github.com/rakudo/rakudo/blob/nom/...ion.pm#L41 | |||
(well, at the code that line generates) | |||
The problem is calling Installation.files without a name parameter. | 04:23 | ||
That causes a crash at github.com/rakudo/rakudo/blob/nom/...on.pm#L207 | |||
because you cannot call nqp::sha1 on Any | |||
(error message is Cannot unbox a type object) | 04:24 | ||
04:24
azwieg103 joined
|
|||
colomon | maybe this is getting triggered because of something I’m doing wrong, but I don’t see how the code at line 41 can ever work | 04:24 | |
04:25
llfourn joined
04:30
furn joined
04:31
yqt left
04:32
furn left
|
|||
[Coke] | that docs build is still running. | 04:33 | |
if the site craps out again after I go to sleep, su - to docs.perl6.org, cd $HOME/doc, and run util/sync as a stopgap. | 04:34 | ||
(and maybe disable the cron job until we figure out the breakage). with that latest commit, I imagine the issue will be that the site stops updating. | |||
autarch: I don't see anything useful to tell you. (the cool vs. str isn't going to be a performance win, I don't think) | 04:36 | ||
autarch | nope, makes no differerence, AFAICT | ||
dalek | kudo/nom: 16c5fc7 | TimToady++ | src/Perl6/Actions.nqp: indirect meta calls also need to want args |
04:45 | |
04:49
nash joined,
nash left
04:54
vendethiel joined,
kaare_ left
|
|||
TimToady | m: my @a = -1, 2, -3; say [+] (.abs + .abs for @a) | 04:57 | |
camelia | rakudo-moar 16c5fc: OUTPUT«12» | ||
TimToady | all better | ||
not that anyone actually filed a bug for it... | |||
05:06
Ben_Goldberg left,
zwu joined
|
|||
AlexDaniel | I am fixing some typos in S99 and… “self cloakng code”? That should have been “Self-clocking code”, right? Unless somebody came up with an idea of “self-cloaking code”, honestly I wouldn't be suprised. | 05:08 | |
05:09
Dee22 joined,
hlsg left,
AndyDee left
05:11
zwu left
|
|||
[Coke] | looks like the doc build finally finished. we now have categorized search results. | 05:13 | |
labster | coke++ | 05:14 | |
[Coke] | AlexDaniel: it looks like it doesn't have a defintion, yes? just kill it | ||
*definition | |||
looks like the css is cached by default. refresh away. | 05:15 | ||
labster | I just unbroke File::Find::Duplicates after the GLR changes. I guess I'm a little late to the party. | ||
[Coke] | I have no problem if someone updates the css to make that prettier. | ||
AlexDaniel | [Coke]: categorized search results! Nice! | 05:16 | |
05:17
vendethiel left
|
|||
AlexDaniel | [Coke]: nah, I'll just fix it. Maybe some day someone will write a description. “Or if you are not sure what the missing term means, just add a header for the term.” | 05:17 | |
[Coke] | fix it why? | 05:18 | |
if there's no definition, there's no reason for it to be there. | |||
just rip it out and we can forget about it. :) | |||
AlexDaniel | well, self-clocking code is mentioned in several places | 05:19 | |
[Coke] | it was added as part of a huge commit that was doing something else... | ||
05:19
khw left
|
|||
AlexDaniel | so I'd love to see a definition | 05:19 | |
[Coke] | ok. | ||
05:23
Cabanossi left
05:26
Cabanossi joined
|
|||
yurivish | What does it mean when an array's .perl representation prints as $[1 2 3]? I'm trying to zip two of these together and they're being treated as single elements. I guess it's somehow a "scalar containing an array", but what do I do to turn it back into a regular one? | 05:27 | |
skids | yurvish: put an @ or | in front depening on what you are doing. | 05:28 | |
yurivish | This has come up in using JSON::Tiny; I'm trying to process some results I got from an http request. Right now I'm assigning two json arrays to two @array variables, which turn out to be "scalars containing arrays" instead | ||
skids: thanks! I can paste some code here to show you what I'm doing.. What's the best way? | 05:29 | ||
skids | gist.github.org probably | ||
yurivish | gist.github.com/yurivish/4a70b891f6ffc17bb0ba | 05:31 | |
05:31
crux left
|
|||
yurivish | the $json.perl line prints an array starting with $[ | 05:31 | |
skids | yurivish: that would mean it's a Scalar containing an Array which would be normal. | 05:32 | |
It is the Z line you are expecting to work differently? | |||
yurivish | Yeah – I'm expecting @competions to be an array, @scores to be an array, and the Z line to return a list of pairs ((completions1 scores1) (completions2 scores2) ...). | 05:33 | |
but it seems to return ((completions scores)) or something similar | |||
skids | do @completeions and @scores have $[? | 05:34 | |
yurivish | skids: Oddly, they have [[ and ]]. Hadn't noticed that before. | 05:35 | |
skids | yurivish: that would mean they are arrays of arrays and you may need to either de-index or flatten. | 05:36 | |
Also normally, Z will return a ist of lists so the resulting array will be an array of the tuples. | 05:37 | ||
m: perl6 -e 'my @d = [1,2,3]; @d.perl.say; my @e = @d Z @d; @e.perl.say | |||
camelia | rakudo-moar 16c5fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/W03TEs86HuTwo terms in a rowat /tmp/W03TEs86Hu:1------> 3perl6 -e7⏏5 'my @d = [1,2,3]; @d.perl.say; my @e =  expecting any of: infix infix stopper postfix …» | ||
skids | m: my @d = [1,2,3]; @d.perl.say; my @e = @d Z @d; @e.perl.say | ||
camelia | rakudo-moar 16c5fc: OUTPUT«[1, 2, 3][(1, 1), (2, 2), (3, 3)]» | ||
skids | But you can destroy the inner lists with flat. | 05:38 | |
m: my @d = [1,2,3]; @d.perl.say; my @e = flat @d Z @d; @e.perl.say | |||
camelia | rakudo-moar 16c5fc: OUTPUT«[1, 2, 3][1, 1, 2, 2, 3, 3]» | ||
yurivish | okay, I'm now trying to figure out where the second layer's coming from... | ||
Aha, so $json is a Scalar containing an Array. The second element of $json is itself an Array. When I grab it and print it via say $json[1].perl, it prints as a scalar containing an array. | 05:40 | ||
dalek | ecs: 94357cc | (Aleks-Daniel Jakimenko-Aleksejev)++ | S99-glossary.pod: Typos, markup corrections, trailing whitespace |
||
yurivish | When I printed $json.perl, it only showed a $ around the outer array and not any of those inside the json | ||
Apparently indexing into any scalar containing an array has that behavior | 05:41 | ||
skids | Right the inside of an array is autmoatically scalarized so the $'s do not show. | 05:42 | |
yurivish | so when it goes to convert that to an array (or whatever it's doing) to assign to an @variable, I'm guessing it's wrapping it in another layer? | ||
skids | No it's just you ca't see the $'s | ||
m: my $d = [1,2,[3,4]]; $d.perl.say; | 05:43 | ||
camelia | rakudo-moar 16c5fc: OUTPUT«$[1, 2, [3, 4]]» | ||
yurivish | m: my $s = $[1, [2, 3]]; $s[1].perl.say; my @a = $s[1]; @a.perl.say | 05:44 | |
camelia | rakudo-moar 16c5fc: OUTPUT«$[2, 3][[2, 3],]» | ||
yurivish | What do you mean when you say that you can't see the $'s? | 05:45 | |
skids | m: my $d = [1,2,[3,4]]; $d.perl.say; $d[2].perl.say; # This | ||
camelia | rakudo-moar 16c5fc: OUTPUT«$[1, 2, [3, 4]]$[3, 4]» | ||
skids | m: my $d = (1,2,(3,4)); $d.perl.say; $d[2].perl.say; # Only Arrays do it, not lists | 05:46 | |
camelia | rakudo-moar 16c5fc: OUTPUT«$(1, 2, (3, 4))(3, 4)» | ||
yurivish | Right, I got that. But why is it that my @a doesn't print with a $ prefix on the inner array? | ||
skids | It is assumed behavior, just one of the things you have to learn. | ||
(Compared to the other ways of doing it, it was a less anoying wart) | 05:47 | ||
yurivish | okay. might be one of those things a bit over my head for the moment. Just started playing with perl 6 a few days ago and haven't programmed in any Perl before. Thank you for helping me! | ||
Is the best way to not get the "nesting" to flatten the array afterwards, or is there a way to avoid it in the first place? | 05:48 | ||
skids | Actally it was over the head of everyone until after several attempts to work out the wrinkles in the least incosistent way :-) | ||
Well in this case you are working with a module so using flat when you assign is probably good. | |||
labster | "Type Bool does not support associative indexing." Well, that's a new one. | 05:53 | |
skids | Actually in this case I think you need | not flat. | ||
m: True{4} | 05:55 | ||
camelia | rakudo-moar 16c5fc: OUTPUT«Type Bool does not support associative indexing. in block <unit> at /tmp/xIj5BHPm8y line 1Actually thrown at: in block <unit> at /tmp/xIj5BHPm8y line 1» | ||
yurivish | so I fixed it by using := assignments everywhere to peel off the outer wrapping. No idea if this is terrible, but it seems to work? | ||
skids | That will mean you are directly accessing the returned array, so if you utate it, it will change. If that's OK it should be fine. | 05:56 | |
yurivish | I couldn't quite grasp how "flat" was the thing I wanted since what I have is a JSON structure of the form [..., [1, 2, 3], ..., { 'thing': [4, 5, 6], ...}] | ||
and I want to zip [1, 2, 3] with [4, 5, 5] | 05:57 | ||
and the json data comes wrapped in a $[..., [1, 2, 3], ...] when I get it from from-json | |||
wrapped as* | |||
skids | It's because $s[1] is behaving like $s[0..1] woud just with one element. | 05:58 | |
yurivish | I see | ||
skids | The $ protects from flattening. | ||
If it was in an @0sigiled variable it would not be protected. | |||
@-sigiled, that is (I hate this keyboard) | 05:59 | ||
yurivish | m: flat($[1, [2, 3]]).perl.say; | ||
camelia | rakudo-moar 16c5fc: OUTPUT«($[1, [2, 3]],).Seq» | ||
skids | m: (| $[1, [2, 3]]).perl.say; | 06:00 | |
camelia | rakudo-moar 16c5fc: OUTPUT«slip(1, $[2, 3])» | ||
yurivish | ! | ||
skids | that slip is an object that will interpolate into surrounding lists | ||
So: | 06:01 | ||
m: (1, | $[1, [2, 3]], 4).perl.say; | |||
camelia | rakudo-moar 16c5fc: OUTPUT«(1, 1, $[2, 3], 4)» | ||
06:01
nash joined
|
|||
skids | Basically | breaks one $ thing, and flat breaks multiple (),(),() | 06:02 | |
yurivish | got it. | 06:03 | |
06:03
haircode left
|
|||
skids | (and then you have to remember that inside [] there are invisible $'s) | 06:05 | |
labster | m: my $v = rx/foo/; say("foobar" ~~ $v); say("foobar" ~~ /foo/) #anyone know why these are different? | ||
camelia | rakudo-moar 16c5fc: OUTPUT«True「foo」» | ||
skids | /foo/ is like m/foo/ | 06:06 | |
06:07
sumdumgoi joined
|
|||
yurivish | what happens to simpler values, like strings, inside of a $[]? They seem to be able to be taken out via an indexing operation just fine | 06:07 | |
skids | Though... hmm. | ||
Scalars containing scalars automatically collapse. | |||
sumdumgoi submitted his first perl6 bug :) | |||
labster | sumdumgoi++ | 06:08 | |
sumdumgoi | :) | ||
skids | m: say("foobar" ~~ rx/foo/); say("foobar" ~~ /foo/) | ||
camelia | rakudo-moar 16c5fc: OUTPUT«「foo」「foo」» | ||
skids | m: my $v := rx/foo/; say("foobar" ~~ $v); say("foobar" ~~ /foo/) | 06:09 | |
camelia | rakudo-moar 16c5fc: OUTPUT«True「foo」» | ||
skids | That is weird. | ||
labster | It's witchcraft. | 06:10 | |
skids | We'll have to get a wizard ruling on that. | ||
labster | Anyone in here wearing a WIZZARD hat? | ||
06:11
mempko joined
|
|||
sumdumgoi puts on robe and... nope, can't find wizard hat! :P | 06:11 | ||
skids | m: my $v = rx/foo/; say("foobar" ~~ $v); $/.say; say("foobar" ~~ /foo/); $/.say | 06:12 | |
camelia | rakudo-moar 16c5fc: OUTPUT«True「foo」「foo」「foo」» | ||
labster | sumdumgoi: here, 🎩 will have to do | 06:13 | |
sumdumgoi dons magician's hat 🎩 | |||
labster | skids: this is what is currently breaking Lingua::Number, but I have no idea when the regression happened because I let my module bitrot a while. | 06:14 | |
skids | star: m: my $v = rx/foo/; say("foobar" ~~ $v); $/.say; say("foobar" ~~ /foo/); $/.say | ||
camelia | star-m 2015.09: OUTPUT«「foo」「foo」「foo」「foo」» | ||
skids | Well, since September | ||
labster | Ah, not *that* bad. | ||
06:15
Arrowhead joined
|
|||
yurivish | hang on, somehow @completions and @scores are still Arrays, even though they now Zip... But they zip to an array of lists, rather than a list of pairs as I was expecting o_o | 06:15 | |
labster | .oO (Watch me pull a 🐇 out of my 🎩! ) | ||
skids | You were wanting the Z to produce Pair objects? | 06:16 | |
yurivish | I thought it did when it operated on lists? | ||
oh, I guess that makes no sense in the general case | |||
sure, never mind | |||
skids | Yeah, use pairup | ||
m: my @d = [1,2,3]; @d.perl.say; my @e = (flat @d Z @d).pairup; @e.perl.say | 06:17 | ||
camelia | rakudo-moar 16c5fc: OUTPUT«[1, 2, 3][1 => 1, 2 => 2, 3 => 3]» | ||
06:19
Arrowhead left
|
|||
yurivish | skids: thanks, it's working now and I understand some new things :) | 06:23 | |
skids | yurivish: np | ||
06:35
xpen left
06:36
molaf_ left,
xpen joined
06:40
xpen_ joined
06:43
ellybelly left
06:44
xpen left
06:48
xpen_ left,
xpen joined
06:51
pdcawley joined
06:55
pdcawley left
06:56
CIAvash joined
07:04
crux joined,
kivutar joined
07:06
xpen_ joined
07:07
kivutar left
07:08
cbk__ joined
07:09
xpen left,
Arrowhead joined
07:12
cbk_ left
07:14
nash left,
Arrowhead left
|
|||
ChoHag | If I put this: 'BEGIN { say "start" }; class Foo { ... }; class Bar is Foo { method baz { ... }}' in a module file and then use or -M it, it complains that Foo is only stubbed _before_ running the BEGIN phaser. | 07:17 | |
In-line is fine though: | |||
m: BEGIN { say "start" }; class Foo { ... }; class Bar is Foo { method baz { ... }} | |||
camelia | rakudo-moar 16c5fc: OUTPUT«start5===SORRY!5=== Error while compiling /tmp/gPaBiV6Vpq'Bar' cannot inherit from 'Foo' because 'Foo' isn't composed yet (maybe it is stubbed)at /tmp/gPaBiV6Vpq:1» | ||
ChoHag | It also complains after the BEGIN phaser is executed. | ||
07:19
ellybelly joined
07:29
sumdumgoi left
07:36
skids left
07:43
itaipu left
|
|||
nine | .tell webstrand yes, RAKUDO_PREFIX was introduced after 2015.12 | 07:49 | |
yoleaux | nine: I'll pass your message to webstrand. | ||
07:54
SwellJoe left
07:55
itaipu joined,
nash joined
|
|||
orbus | oh great #perl6, I seek your wisdom once more | 07:56 | |
if I'm writing a module | |||
and I have custom exceptions in it | |||
is there any way to export them so they show up in the X:: namespace like the docs suggest they should? | |||
I tried naming them like X::MyModule::MyException | 07:57 | ||
but they then come out in the main program as MyModule::X::MyModule::MyException | |||
which makes sense but was not the desired effect | |||
or is the X:: namespace really just for the built-in exceptions and I should just put custom ones in my module namespace? | 07:58 | ||
labster | The X:: namespace is definitely the right place to put your own exceptions. | 07:59 | |
orbus | okay | ||
that's what I thought | |||
now... how to do it | |||
I thought I was doing it right until I tried to catch one in the main program | |||
labster | use Module::Name; | ||
TimToady | did you put 'is export' on them? | ||
orbus | yup | ||
that was the first thing I tried | 08:00 | ||
labster | what error did you get, orbus? | ||
TimToady | m: module Mine { class X::Foo is export { method bar() { say "HERE" } } }; import Mine; say X::Foo.bar | 08:02 | |
camelia | rakudo-moar 16c5fc: OUTPUT«HERETrue» | ||
TimToady | seems to work here... | ||
08:02
BenGoldberg joined
|
|||
orbus | hang on a second | 08:02 | |
something else is amiss | |||
TimToady | m: module Mine { my class X::Foo is export { method bar() { say "HERE" } } }; import Mine; say X::Foo.bar | 08:03 | |
camelia | rakudo-moar 16c5fc: OUTPUT«HERETrue» | ||
orbus | shouldn't it be my class X::Foo is Exception is export? | 08:04 | |
I apparently have some other bug in my code I need to iron out first btw | |||
TimToady | well, I was just testing the exporting | ||
orbus | will have to come back to deal with the exceptions | 08:05 | |
well | |||
let me try another script I had that was acting up | |||
TimToady | m: module Mine { my class X::Foo is Exception is export { method bar() { say "HERE" } } }; import Mine; say X::Foo.new.bar | ||
camelia | rakudo-moar 16c5fc: OUTPUT«HERETrue» | ||
orbus | basically when I tried to call a CATCH block | ||
TimToady | m: module Mine { my class X::Foo is Exception is export { method bar() { say "HERE" } } }; import Mine; say X::Foo.new(payload => "stuff").message | ||
camelia | rakudo-moar 16c5fc: OUTPUT«Method 'message' not found for invocant of class 'Mine::X::Foo' in block <unit> at /tmp/q1Pnlg65yh line 1» | ||
TimToady | hmm | 08:06 | |
orbus | like CATCH { when X::Foo {.resume} } | ||
it was acting like it didn't know what X::Foo was | |||
TimToady | m: module Mine { my class X::Foo is X::AdHoc is export { method bar() { say "HERE" } } }; import Mine; say X::Foo.new(payload => "stuff").message | ||
camelia | rakudo-moar 16c5fc: OUTPUT«stuff» | ||
TimToady | it really is an exception there | ||
m: module Mine { my class X::Foo is X::AdHoc is export { method bar() { say "HERE" } } }; import Mine; say X::Foo.new(payload => "stuff") ~~ X::Foo | 08:08 | ||
camelia | rakudo-moar 16c5fc: OUTPUT«True» | ||
TimToady | it smartmatches, so it oughta work inside CATCH too | ||
[Tux] | csv-ip5xs 50000 18.315 18.204 | 08:10 | |
test 50000 23.493 23.381 | |||
test-t 50000 15.071 14.959 | |||
csv-parser 50000 52.364 52.252 | |||
TimToady | m: module Mine { my class X::Foo is X::AdHoc is export { method bar() { say "HERE" } } }; import Mine; die X::Foo.new(payload => "stuff"); CATCH { when X::Foo { say "Caught X::Foo" } } | ||
camelia | rakudo-moar 16c5fc: OUTPUT«Caught X::Foo» | ||
[Tux] | not good, I'll run it another time, just to be sure | ||
orbus | oh huh | ||
now it's failing to actually die properly | |||
whaaaaaa.... | |||
08:11
darutoko joined
|
|||
[Tux] | same, still over 15 :( | 08:11 | |
08:11
BenGoldberg left
|
|||
orbus | now I'm seeing something even weirder | 08:13 | |
have to come up with a test case | |||
08:14
RabidGravy joined
|
|||
TimToady | [Tux]: I don't see anything that would have caused that since 24 hours ago | 08:15 | |
[Tux] just being the messenger :/ | 08:16 | ||
I'll try again this afternoon. I also see no probable cause in higher resource usage by other programs on this box | 08:17 | ||
orbus | m: module Mine { my class X::Foo is Exception is export {} }; import Mine; sub blah {say 'x'; die X::Foo; say 'y'}; blah; CATCH{ when X::Foo { say 'caught' } }; | 08:18 | |
camelia | rakudo-moar 16c5fc: OUTPUT«xDied with undefined Mine::X::Foo in sub blah at /tmp/g8HwCZeCtJ line 1 in block <unit> at /tmp/g8HwCZeCtJ line 1» | ||
orbus | okay, so it doesn't seem to like that for sure | ||
oh wait, I didn't do new there | 08:20 | ||
m: module Mine { my class X::Foo is Exception is export {} }; import Mine; sub blah {say 'x'; die X::Foo.new; say 'y'}; blah; CATCH{ when X::Foo { say 'caught' } }; | |||
camelia | rakudo-moar 16c5fc: OUTPUT«xcaught» | ||
orbus | okay, so that works - at least here | ||
so maybe I"m doing something wrong in my other code | |||
saw something else weird though | |||
m: module Mine { my class X::Foo is Exception is export {} }; import Mine; sub blah {say 'x'; die X::Foo.new; say 'y'}; blah; CATCH{ when X::Foo { .resume } }; | 08:21 | ||
camelia | rakudo-moar 16c5fc: OUTPUT«xy» | ||
orbus | is that by design? that it should resume from *within* the function call it died inside? | 08:22 | |
maybe I didn't read the docs close enough | |||
that seems both potentially useful and terribly dangerous | 08:23 | ||
TimToady | yes, and only that is why only resumable exceptions are, er, resumable | ||
in general we call those "warnings" though | 08:24 | ||
nine | colomon: you still up? | ||
TimToady | it's usually a bad plan to try to resume an exception where the code throwing the exception isn't expecting to be resumed | ||
orbus | right | ||
well I'm just extending the base Exception class | 08:25 | ||
how would I specify I don't *want* my custom exception to be resumable? | |||
at least not inside my code | |||
if they want to pick up the pieces and continue after the catch block, that's fine | |||
nine | .tell colomon you're totally right, that .files call can never work. OTOH all you're missing out on is an error message, telling you that the script could not be found. | ||
yoleaux | nine: I'll pass your message to colomon. | ||
TimToady | I'm not sure how an exception gets a resume continuation in the first place, but presumably you could override the resume method to prevent it | 08:26 | |
08:27
telex left
|
|||
TimToady | but given it's after midnight here, I'm gonna hit the hay | 08:27 | |
orbus | yeah, here too | ||
m: module Mine { my class X::Foo is Exception is export {sub resume {};} }; import Mine; sub blah {say 'x'; die X::Foo.new; say 'y'}; blah; CATCH{ when X::Foo { .resume } }; | 08:28 | ||
camelia | rakudo-moar 16c5fc: OUTPUT«xy» | ||
orbus | that wasn't enough btw | ||
but actually it's 2am here | |||
time for sleep | |||
08:28
telex joined
|
|||
labster | Ah, the mythical UTC-6.5 time zone exists | 08:29 | |
Good night orbus, TimToady | |||
orbus | I rounded | ||
it's 2:30 | |||
night! | 08:30 | ||
08:31
Ox0dea joined
|
|||
Ox0dea | m: say [1,2,3]>>.WHO | 08:32 | |
camelia | rakudo-moar 16c5fc: OUTPUT«Array» | ||
Ox0dea | Is that right? | ||
m: say [1.WHO, 2.WHO] | |||
camelia | rakudo-moar 16c5fc: OUTPUT«[Int Int]» | ||
nine | .tell colomon so the more important question is, why can it not find its script? | ||
yoleaux | nine: I'll pass your message to colomon. | ||
_nadim | good morning all. | 08:36 | |
mort96 | Good morning | 08:37 | |
_nadim | I require a module and ask for one symbole to be imported but that fails. if I use the module all is fine. | 08:38 | |
I tried to go through GLOBAL::Module::sub_symbole, didn't work either. | |||
08:39
labster left
|
|||
RabidGravy | _nadim, you're going to have to give more detail as it *does* work | 08:40 | |
masak | good morning, #perl6 | ||
08:40
cpage left
|
|||
RabidGravy | good morning BTW | 08:40 | |
08:43
cpage joined
|
|||
CIAvash | _nadim: rt.perl.org/Public/Bug/Display.html?id=126658 ? | 08:43 | |
_nadim | RabidGravy: and good morning to you (a second special one :) ) | 08:44 | |
CIAvash: that's it. | 08:45 | ||
RabidGravy: it does work as I use the module and call the exported sub and it does what it sshould ;) | |||
masak: morning | 08:46 | ||
is there a way around this bug? through a symbole table or such? | |||
08:54
rickbike joined
08:55
mkz joined
|
|||
RabidGravy | _nadim, try "need" rather than "require" as it appears to work in circumstances that require doesn't | 08:58 | |
09:03
cpage left,
cpage joined
09:04
mempko left
09:05
domidumont joined,
cpage left
|
|||
masak .oO( if that fails, try "request", "obligate", "enjoin", "entail" or "crave" ) :P | 09:05 | ||
09:05
cpage joined
|
|||
RabidGravy | :) | 09:07 | |
09:07
patrickz joined
|
|||
RabidGravy | I'm still not completely clear on the difference between "require" and "need" | 09:07 | |
nine | .tell mst I think we're gonna have to be smarter about identifying usable precomp files anyway. Right now, we have to precomp all modules again after installing any module. And precomp files created by panda are invalidated as soon as you install a vendor module package | 09:08 | |
yoleaux | nine: I'll pass your message to mst. | ||
09:08
Actualeyes joined
|
|||
nine | RabidGravy: need is compile time, require is runtime | 09:08 | |
RabidGravy | ah, that would explain it, I thought need was runtime for some reason | 09:09 | |
09:09
andreoss joined,
cognominal left,
domidumont left
|
|||
RabidGravy | so need is like use but doesn't do import | 09:09 | |
andreoss | m: my @x = ^10; ( |@=|@x ).perl.say | 09:10 | |
camelia | rakudo-moar 16c5fc: OUTPUT«slip()» | ||
andreoss | m: my @x = ^10; ( |(@=(|@x)) ).perl.say | ||
camelia | rakudo-moar 16c5fc: OUTPUT«slip(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)» | ||
nine | need = BEGIN require; use = BEGIN { require; import } | ||
09:10
domidumont joined
|
|||
andreoss | what would be a precedence here? | 09:10 | |
RabidGravy | nine, got it | ||
andreoss | m: my @x = 1 xx 2 ** 16; my @y; @y.push(|@x); say @y.elems | 09:11 | |
camelia | rakudo-moar 16c5fc: OUTPUT«Too many arguments in flattening array. in block <unit> at /tmp/hS0hZfGqQO line 1» | ||
andreoss | m: my @x = 1 xx 2 ** 16; my @y; @y.push($=|@x); say @y.elems | ||
camelia | rakudo-moar 16c5fc: OUTPUT«65536» | ||
andreoss | why? | ||
RabidGravy | bit early for existential anguish I'm afraid | 09:12 | |
09:14
cognominal joined,
firstdayonthejob joined
|
|||
andreoss | m: my @x = ^10; ( |(@=|@x) ).perl.say | 09:14 | |
camelia | rakudo-moar 16c5fc: OUTPUT«slip(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)» | ||
andreoss | m: my @x = ^10; ( |($=|@x) ).perl.say | 09:15 | |
camelia | rakudo-moar 16c5fc: OUTPUT«slip(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)» | ||
andreoss | m: my @x = 1 xx 2 ** 16; my @y; @y.push(@=|@x); say @y.elems | ||
camelia | rakudo-moar 16c5fc: OUTPUT«1» | ||
andreoss | m: my @x = 1 xx 2 ** 16; my @y; @y.push(|@=|@x); say @y.elems | ||
camelia | rakudo-moar 16c5fc: OUTPUT«0» | ||
andreoss | $ and @ are a bit counter-intuitive here | 09:17 | |
why with extra-wrapping the amount of arguments is not checked? | 09:19 | ||
09:20
vividsnow joined
|
|||
masak looks at that and is lost | 09:21 | ||
09:22
Begi joined
|
|||
nine | @y.push($=|@x) means @y.push(@x.Slip.item); That means that the .push method gets only a single argument and uses the iterator API to get at the items. | 09:23 | |
RabidGravy | I was lost the moment I woke up | ||
nine | @y.push(|@x) really means @y.push(1, 1, 1, 1, ...) thus hitting the arguments count limit | ||
09:23
cibs left
|
|||
andreoss | nine: on what side the unwrapping happens? | 09:24 | |
09:25
cibs joined,
lnrdo joined
|
|||
andreoss | m: my @x = 1 xx 2 ** 16; my @y; @y.push(@x.Slip); say @y.elems | 09:25 | |
camelia | rakudo-moar 16c5fc: OUTPUT«65536» | ||
masak | TimToady: [backlogging] I hadn't grokked irclog.perlgeek.de/perl6/2015-12-22#i_11759900 at all before! | 09:26 | |
TimToady: and if I haven't understood an intended use of an operator, chances are other Perl 6 users have missed it too. :) | |||
TimToady: is there anywhere on RC that this logic programming use of `andthen` is demonstrated? | 09:27 | ||
09:27
pierre-vigier left
|
|||
masak | TimToady: or, if not, could a compelling example be put together? :) | 09:27 | |
nine | andreoss: run it with --target=ast to see the difference in detail :) | 09:28 | |
09:28
pierre-vigier joined
|
|||
andreoss | okay | 09:29 | |
masak | nine: "hitting the arguments count limit"? as in, if you do too many arguments to .push, the arguments are silently dropped? | ||
I agree 2 ** 64 arguments are a bit over the top, but... | 09:30 | ||
nine | m: my @x = 1 xx 2 ** 16; my @y; @y.push(|@x); say @y.elems | ||
camelia | rakudo-moar 16c5fc: OUTPUT«Too many arguments in flattening array. in block <unit> at /tmp/vb8i4OTqdV line 1» | ||
nine | As in error message :) | ||
masak | ach. | ||
RabidGravy | can't it suggest "append" there as well ;-) | 09:31 | |
09:31
cognominal left
|
|||
ShimmerFairy | The error message should be "Congratulations, you've hit the secret limit on number of arguments (2**16)! Consider better coding practices." :P | 09:31 | |
RabidGravy | :) | ||
masak | I once hit another limit where I had too many lexicals in a block. | 09:32 | |
yes, it was generated code. | |||
RabidGravy | I do wonder, considering that about 2/3 of all the m: things are to do with listy things, whether that part of the language is perhaps too rich ;-) | 09:34 | |
masak | it could be argued that Perl is largely to do with listy things. | 09:35 | |
Ox0dea | s/Perl/programming/ | ||
09:37
yeahnoob left
09:40
spider-mario joined
09:42
krshn left
09:44
_mg_ joined
09:47
nash left
|
|||
_nadim | nine: so need (vs require) is compile time, which means that it doesn't help if I have it in a try block. I need to load a module only if it is installed. | 09:49 | |
RabidGravy | _nadim, are you in a position to do "require Foo <&whatever>" ? | 09:52 | |
it just needs to be a list of symbol names so you can make that however you want | 09:53 | ||
09:55
virtualsue joined
|
|||
_nadim | RabidGravy: yes but ther's a bug, as reported earlier, that breaks that | 09:55 | |
09:55
_mg_ left
|
|||
RabidGravy | did you try it? | 09:56 | |
_nadim | Yes | 09:57 | |
nine | _nadim: what bug? | 09:58 | |
_nadim | a bug report here rt.perl.org/Public/Bug/Display.html?id=126658 | 09:59 | |
Here is one more "fun". I don't know if this is the expected behavior but I find it strange. nopaste.linux-dev.org/?911147 | 10:01 | ||
10:01
aenaxi left
|
|||
_nadim | I don't get why I get the error "too few positionals passed. There is jsut one element, A Pair. | 10:02 | |
10:04
Arrowhead joined,
Begi left
|
|||
timotimo | is it about the last line? | 10:05 | |
my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; say ($s.list Z 0 .. *).perl | 10:06 | ||
m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; say ($s.list Z 0 .. *).perl | |||
camelia | rakudo-moar 16c5fc: OUTPUT«((:hash({:f($["a", "b", "c"]), :s($("a", "b", "c"))}), 0),).Seq» | ||
timotimo | m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for ($s.list Z 0 .. *) -> ($k, $v) { say $k; say $v } | 10:07 | |
camelia | rakudo-moar 16c5fc: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in sub-signature in block <unit> at /tmp/iaEpa8JteM line 1» | ||
timotimo | m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for ($s.list Z 0 .. *) -> $k, $v { say $k; say $v } | ||
camelia | rakudo-moar 16c5fc: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in block <unit> at /tmp/ZMGrkohMqt line 1» | ||
timotimo | m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for ($s.list Z 0 .. *) -> $_ { say $_.perl } | ||
camelia | rakudo-moar 16c5fc: OUTPUT«$(:hash({:f($["a", "b", "c"]), :s($("a", "b", "c"))}), 0)» | ||
timotimo | m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for ($s.list Z 0 .. *) -> $_ { say $_[0].perl; say $_[1].perl } | 10:08 | |
camelia | rakudo-moar 16c5fc: OUTPUT«:hash({:f($["a", "b", "c"]), :s($("a", "b", "c"))})0» | ||
_nadim | timotimo: yes last line, both constructs do the same thing, one works, one breaks | ||
timotimo | m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for ($s.list Z 0 .. *) -> $_ ($k, $v) { sak $k.perl } | ||
camelia | rakudo-moar 16c5fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cxHi0mlRnjUndeclared routine: sak used at line 1. Did you mean 'say'?» | ||
10:08
Begi joined
|
|||
timotimo | m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for ($s.list Z 0 .. *) -> $_ ($k, $v) { say $k.perl } | 10:08 | |
camelia | rakudo-moar 16c5fc: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in sub-signature of parameter $_ in block <unit> at /tmp/a3p3wTwsbV line 1» | ||
timotimo | that doesn't seem to unpack right, yeah | ||
btw, did you know about .kv? | |||
m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for $s.kv -> ($k, $v) { say "$k.perl() $v.perl()" } | 10:09 | ||
camelia | rakudo-moar 16c5fc: OUTPUT«Too few positionals passed; expected 2 arguments but got 0 in sub-signature in block <unit> at /tmp/ncyV_rZ2e9 line 1» | ||
timotimo | huh, that's ... something | ||
m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for $s.kv -> $_ { .perl.say } | |||
camelia | rakudo-moar 16c5fc: OUTPUT«0:hash({:f($["a", "b", "c"]), :s($("a", "b", "c"))})» | ||
nine | _nadim: how would this work anyway to load the module only if it installed but at the same time depending on exported subs? Your code would not compile without the module anyway? | ||
_nadim | nine: right but, as I asked before, I can try to find the symbole I need in some symbole table. | 10:10 | |
timotimo | m: my $s = [ hash => { f => [<a b c>], s => <a b c> } ]; for $s.kv -> [$k, $v] { "$k.perl() $v.perl()".say } | 10:11 | |
camelia | rakudo-moar 16c5fc: OUTPUT«Type check failed in binding <anon>; expected Positional but got Int in block <unit> at /tmp/STj87aHdMQ line 1» | ||
nine | _nadim: sounds like very much effort. I wonder what it's for? | ||
timotimo | tbh, i don't know what's going on there | ||
10:11
rickbike left
|
|||
RabidGravy | _nadim, if they're not our scope than they're not in anywhere you can find, and if they are our you don't need to import them | 10:11 | |
_nadim | nine: I want to use a module if it is installed and handle the error if it is not. | 10:12 | |
I thought something like my @table = GLOBAL::Text::Table::Simple::lol2table(@columns,@rows); | 10:13 | ||
RabidGravy: the sub is exported by the module I want to load | |||
RabidGravy | yes | ||
10:15
shicheng joined
|
|||
nine | _nadim: that much I already got. I'm wondering about the specifics. Which module is it you want to use? | 10:16 | |
_nadim | the module is Text::Table::Simple but I don't see why would be module specific. | 10:17 | |
10:18
AWei is now known as AW3i
|
|||
_nadim | if I use the module, all is fine but it is in a test and I am not forcing people to install a zillion modules. | 10:18 | |
Not that we have a zillion modules :) | |||
timotimo: I have a work around but it is ass ugly. shall I report this? | 10:19 | ||
10:19
espadrine joined
|
|||
_nadim | timotimo: I am "happy" that it didn't only make _me_ crazy ;) | 10:20 | |
nine | m: my $a = [:foo]; ($a.list Z 0 .. *).map: -> ($x, :$foo) { say "$x: $foo" } | 10:23 | |
camelia | rakudo-moar 16c5fc: OUTPUT«0: True» | ||
nine | _nadim: ^^^ the signature binding wants to bind the Pair to a named argument, not a positional | ||
RabidGravy | in the general case one would do something like "try require Foo <&sub-from-foo>; if ::('&sub-from-foo') -> &func { func() }" | ||
though in my test here the try seems to interfere with that working | 10:24 | ||
anyway things to do | 10:25 | ||
_nadim | nine: OK, then I need to make the workaround the right solution | 10:26 | |
RabidGravy: as I said, it is not working | |||
I'll try what you wrote anyway | |||
10:27
st_iron joined
|
|||
st_iron | hi | 10:27 | |
10:27
pdcawley joined
|
|||
st_iron | p6: say 'hello all' | 10:27 | |
camelia | rakudo-moar 16c5fc: OUTPUT«hello all» | ||
st_iron | ;) | ||
nine | _nadim: use Test; BEGIN { my $result = try require DateTime::Formats; if $result === Any { done-testing; exit; } }; import DateTime::Format; strftime; | 10:28 | |
RabidGravy: ^^^ | |||
10:28
pierre-vigier left
10:29
lustlife left
10:30
pierre-vigier joined
|
|||
dalek | pan style="color: #395be5">perl6-examples: 2e23b15 | paultcochrane++ | lib/Pod/Htmlify.pm6: Allow EVAL until we can serialise better |
10:30 | |
perl6-examples: f191cfb | paultcochrane++ | Makefile: | |||
perl6-examples: Add informative output for Makefile targets | |||
10:30
dalek left
10:31
dalek joined,
ChanServ sets mode: +v dalek
10:32
pdcawley left
|
|||
_nadim | nine: is that the way require should always be used? | 10:32 | |
10:34
shicheng left
|
|||
nine | m: use Test; BEGIN { require DateTime::Formats; CATCH { when X::CompUnit::UnsatisfiedDependency { done-testing; exit; }; }; }; import DateTime::Format; strftime; | 10:36 | |
camelia | rakudo-moar 16c5fc: OUTPUT«1..0» | ||
nine | _nadim: this ^^^ would be a bit cleaner even | ||
stmuk | the perl6 versioning does seem to be causing a lot of confusion | 10:37 | |
_nadim | nine: perfect. | ||
BTW is there a way, during the tests, to hide some installed module? | |||
nine | _nadim: yes. You can put your own CompUnit::Repository implementation into $*REPO and only forward allowed modules to $.next-repo.need | 10:38 | |
_nadim: if this becomes a common request, someone will surely write some CompUnit::Repository::Blacklist or ::Whitelist module :) | 10:39 | ||
10:40
amoe joined
|
|||
_nadim | better get on it then, we want people to write bette tests, that is more important, IMO, than advanced language features :) | 10:40 | |
amoe | how can I install panda systemwide under /usr/local, instead of in my home directory? | ||
_nadim | amoe: just curious, why would you do that? | 10:41 | |
dalek | c: 2f9adf8 | (Steve Mynott)++ | doc/Language/control.pod: remove a a |
10:43 | |
amoe | _nadim: you can call it habit, I don't like changing my $PATH. I normally install every program to /usr/local. really just personal pref | ||
dalek | pan style="color: #395be5">perl6-examples: e4ab8ad | paultcochrane++ | Makefile: Don't test dependencies when installing them This should speed up testing of the perl6-examples code on Travis. |
10:47 | |
timotimo | just don't make the mistake of using rakudobrew and symlinking its bin/ to your /bin or so :) | ||
twitter.com/shadowcat_mdk/status/6...6618654720 - Hey Perl folks, is there new DevOps tools for Perl5? How does Perl6 work for SysAdmins? bit.ly/flossuk2016 FLOSSUK DevOps cfp 30/12/15 | 10:49 | ||
that's a really tight CFP deadline right there | |||
ChoHag | Wtf is a "DevOps tool"? | 10:50 | |
A tool for performing development and maintaining operations? Like bash? | 10:51 | ||
10:51
nowan left
|
|||
timotimo | depends what level of sophistication and targetedness you set as a minimum for being called a tool | 10:53 | |
you could just as well say "what, you mean a computer?" | |||
of course it refers to a computer and not a chair, or a plate, or a mug, or a spoon | |||
stmuk | devops just means "traditional UNIX sysadmin who programs a bit as well" | ||
ChoHag | Traditional unix sysadmins did program a bit though. | 10:54 | |
timotimo | right, "infrastructure as code/declarations" | ||
that's the "new" thing here | |||
stmuk | maybe what is less traditional might be the sysadmin talking to other people in the company and being friendly ;) | ||
timotimo | rather than having a bunch of one-off scripts, you'd have a framework that'd make re-use and scaling trivial or at least much simpler | 10:55 | |
ChoHag | The good sysadmins, again, knew there were layers above 7 and how to utilise them. | ||
timotimo: That's a nice idea. I wonder when it'll happen. | |||
timotimo | :) | ||
stmuk | devop tool probably means something like puppet, cfengine etc | 10:56 | |
ChoHag | Probably, sadly. | ||
I find them more of a hindrance myself, but the manglement folk like them. | |||
stmuk | if you are admining 1000s of systems you do need automation | 10:57 | |
timotimo | well, bash scripts already let you do automation | ||
virtualsue | devops includes people like me, who wrote all sorts of infrastructure tools but never was a unix SA | ||
stmuk | until the guy who wrote the bash scripts leaves and noone else wants to touch them | ||
ChoHag | Puppet, cfengine, salt, chef and ansible are all different ways of ruining a good idea. | 10:58 | |
Did I miss any? Is there Yet Another "let's do puppet *right* this time"? | |||
stmuk | I'd rather have an imperfect tool than none at all | ||
RabidGravy | I'm sure if you really tried the list would be inexhaustible ;-) | 10:59 | |
10:59
shicheng joined
|
|||
nine | m: BEGIN { CompUnit::RepositoryRegistry.use-repository(class :: does CompUnit::Repository { method id() {"blacklist"}; method need(CompUnit::DependencySpecification $spec, CompUnit::PrecompilationRepository $precomp?) { return self.next-repo.need($spec) if self.next-repo and $spec.short-name ne "Test"; X::CompUnit::UnsatisfiedDependency.new(:specification($spec)).throw; }; method loaded() { [] }; method path-spec {""} }.new(:next-repo($*REPO))) }; use NativeCall; us | 11:00 | |
camelia | rakudo-moar 16c5fc: OUTPUT«Use of uninitialized value $patharg of type Any in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in any load_module at src/Perl6/World.nqp line 975===SORRY!===Missing or wrong version of dependency …» | ||
nine | _nadim: proof of concept ^^^ | ||
amoe | just like build systems, they are all equally bad in their own way... | ||
nine | hm...that works locally. Is camelia up to date? | ||
timotimo | ChoHag: there's rexxify | ||
ChoHag | There would be. | 11:01 | |
timotimo | nine: it cut off after "use NativeCall; us" | ||
nine | m: BEGIN { CompUnit::RepositoryRegistry.use-repository(class :: does CompUnit::Repository { method id() {"blacklist"}; method need(CompUnit::DependencySpecification $spec, CompUnit::PrecompilationRepository $precomp?) { return self.next-repo.need($spec) if self.next-repo and $spec.short-name ne "Test"; X::CompUnit::UnsatisfiedDependency.new(:specification($spec)).throw; }; method loaded() { [] }; method path-spec {""} }.new(:next-repo($*REPO))) }; use Test | ||
camelia | rakudo-moar 16c5fc: OUTPUT«===SORRY!===Could not find Test in: <anon|65580640><140419885836968> /home/camelia/.perl6/2015.12-37-g16c5fc7 /home/camelia/rakudo-m-inst-1/share/perl6/site /home/camelia/rakudo-m-inst-1/share/perl6/vendor /home/camelia/rak…» | ||
nine | Ah | ||
ChoHag | How can I deal with a circular list of module dependencies other than by putting them all in the same file? | ||
eg. does perl 6 have _text_ level file inclusion? | 11:02 | ||
11:02
nowan joined
|
|||
ChoHag | Or does creating empty classes in the big file and augmenting them with details in their own file still have problems I don't remember the details of? | 11:02 | |
nine | ChoHag: why not just put them in a single file if they are that much interdependant? | 11:04 | |
ChoHag | Because I'm getting tired of scrolling up and down so much and getting lost. | ||
nine | ChoHag: I use :vsplit for that in vim | ||
ChoHag | I use :vsplit for it in evil emacs, but it's still a PITA. | 11:05 | |
RabidGravy | nine, yeah I came by the catch (releasing the implicit block was shagging up the import with try) before I went to the backlog :) | ||
ChoHag | Plus having separate classes in separate files is "Right". | ||
RabidGravy | it really, really depends on the scope of their usage | ||
11:06
vendethiel joined,
regreg joined
|
|||
_nadim | nine: great with a proof of concept, that means I won't have to do it and bother everyone with questions :) | 11:06 | |
ChoHag | If I wasn't running in the source directory and had a discrete build phase I'd be able to just cat them together and be done with it. It's solely to try and maintain some semblence of Good Development Practices. | ||
11:06
nowan left,
void1 joined
11:07
nowan joined
11:08
TEttinger left
11:15
cognominal joined
|
|||
joydo | I have a question,the efficiency of recursive computing about perl6,somebody can tell me? | 11:17 | |
RabidGravy | probably best to just ask the question | 11:18 | |
timotimo | yes, please ask the question itself | ||
rather than asking if you can ask | |||
RabidGravy | I think it might come down to sacrificing some goats to work out why this gdbm binding is segfaulting when I try to store a value | 11:20 | |
joydo | The Fibonacci function? c deal with this question some more faster than perl6 | ||
11:20
perlwhirl joined
11:22
kid51 joined
|
|||
perlwhirl | /SET term_force_colors ON | 11:22 | |
/SET autocreate_own_query OFF | |||
/SET autocreate_query_level DCCMSGS | |||
/SET use_status_window OFF | |||
/SET use_msgs_window ON | |||
timotimo | joydo: perl 6 is often quite slower than C | 11:23 | |
RabidGravy | "it's not the speed it's the notational convenience" | ||
timotimo | that's to be expected, though. C is our target for performance "after optimizations have been done", which is what the next year will be about | 11:24 | |
RabidGravy | m: say 1, 1, *+* ...^ * >= 100; | ||
camelia | rakudo-moar 16c5fc: OUTPUT«(1 1 2 3 5 8 13 21 34 55 89)» | ||
RabidGravy | not too shabby though, and if you were to take out the load and compile time it would be better | 11:25 | |
timotimo | RabidGravy: on my system the parse time is only 0.1 seconds | 11:26 | |
11:27
joydo left,
pierre-vigier left
|
|||
perlwhirl | 11:27 | ||
11:27
pierre-vigier joined,
perlwhirl left
|
|||
timotimo | perlwhirl: do you have a problem with your irc client? | 11:27 | |
gee, thanks | |||
11:28
joshua__ joined
|
|||
timotimo | anyway, time perl6 --stagestats -e 'say (1, 1, *+* ... *)[100_000]' - this takes 3.5s to print about three terminal pages full of digits | 11:28 | |
damn, i didn't notice joydo left | |||
11:28
Skarsnik joined
|
|||
RabidGravy | yeah and a lot of that would be in "say" | 11:28 | |
11:28
pierre-vigier left
11:29
rindolf joined
|
|||
RabidGravy | anyway, must off out to the shops as the seasonal confinement has left us devoid of various sundries | 11:29 | |
11:30
joshua__ left
|
|||
timotimo | not really in "say", but in the stringification of the number | 11:30 | |
though that part probably runs directly in libtommath and then gets "cheaply" turned into a string by moar as well | 11:31 | ||
11:31
joshua__ joined
11:35
RabidGravy left,
joshua__ left
11:38
Arrowhead left
11:39
joydo joined
11:40
Grauwolf joined,
Arrowhead joined
|
|||
vendethiel | AlexDaniel: does YAPH count as self-cloaking code? :P | 11:42 | |
ChoHag | How do you 'close' a role? | ||
Because apparently I did, but I want to (see if I can) augment it but I'm not allowed to because it's closed. | 11:43 | ||
11:44
pierre-vigier joined
11:46
pierre-vigier left
|
|||
timotimo | it may be just me, but saying "perl 6 is dog shit" seems kind of harsh | 11:47 | |
lizmat | ChoHag: because you generally just create a new role and mix that in ? | ||
timotimo | i don't think you can augment roles | ||
lizmat | m: role A { }; use MONKEY-TYPING; augment role A { method foo { "foo" } }; say A.foo | ||
camelia | rakudo-moar 16c5fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/b5Nt1EhBqdCannot augment A because it is closedat /tmp/b5Nt1EhBqd:1------> 3A { }; use MONKEY-TYPING; augment role A7⏏5 { method foo { "foo" } }; say A.foo expecting any of: gener…» | ||
11:48
sammers left
|
|||
El_Che | timotimo: it depends. Is it from a fancy poodle? (aka context) :) | 11:48 | |
Arrowhead | m: sub takeFunc(&func (Str $str, Int $int)) { &func("String", 42) }; takeFunc(sub (Str $str, Int $int) { say "$str $int" }); | ||
camelia | rakudo-moar 16c5fc: OUTPUT«Too few positionals passed; expected 2 arguments but got 0 in sub-signature of parameter &func in sub takeFunc at /tmp/XDB9JpolD2 line 1 in block <unit> at /tmp/XDB9JpolD2 line 1» | ||
colomon | nine: awake now. | 11:50 | |
yoleaux | 08:25Z <nine> colomon: you're totally right, that .files call can never work. OTOH all you're missing out on is an error message, telling you that the script could not be found. | ||
08:32Z <nine> colomon: so the more important question is, why can it not find its script? | |||
11:50
ellybelly left
|
|||
Arrowhead | How can I define takeFunc to only allow specific signatures? sub takeFunc(&func) already works but doesn't prescribe the signature. | 11:50 | |
timotimo | oh damn | ||
there'll be a lightning talk about perl 6 at the 32c3, but it's on day 4 and the day 4 of lightning talks is said to be cancelled | |||
colomon | nine: obviously CompUnit::Repo tried to install the script, else that shim would not have been generated, right? | 11:51 | |
nine | Arrowhead: subsignatures: p5_wrap_p6_callable(Perl5Interpreter, long, OpaquePointer, &call (long, OpaquePointer, OpaquePointer --> OpaquePointer), &free_p6_object (long)) | ||
timotimo | anyway, the talk seems to only have a single slide without "real" content | 11:52 | |
nine | Arrowhead: the space after &func is mandatory | ||
timotimo | so ... no idea how it's going to go | ||
nine | colomon: yes, that's the mystery. If CompUnit::Repository::Installation installed that script, it ought to have installed the source file, too. | ||
Arrowhead | m: sub takeFunc(&func (Str, Int)) { &func("String", 42) }; takeFunc(sub (Str $str, Int $int) { say "$str $int" }); | 11:54 | |
camelia | rakudo-moar 16c5fc: OUTPUT«Too few positionals passed; expected 2 arguments but got 0 in sub-signature of parameter &func in sub takeFunc at /tmp/59BsN1_TCt line 1 in block <unit> at /tmp/59BsN1_TCt line 1» | ||
Arrowhead | nine: I still don't see it. | ||
_nadim | hmm, use module -> ok, require module ; import module -> could not find module to import symboles from. error at compile time! | ||
11:56
Begi left
11:57
perlawhirl joined
11:58
halto joined
|
|||
nine | _nadim: BEGIN require module; | 11:58 | |
11:59
sammers joined
|
|||
colomon | nine: if you want to try what I’m doing locally, just try panda install ABC and then look for the abc2ly script. | 12:00 | |
_nadim | what if the module name is not known at compile time? | ||
nine | _nadim: then you simply cannot use the module's symbols at compile time. And that includes importing subs. Because...how could it?? | 12:01 | |
12:02
kaare_ joined
|
|||
_nadim | I require the module, then I want to call some sub it defines, all at run time | 12:02 | |
ShimmerFairy | Trying to use Grammar::Tracer -> P6M Merging GLOBAL symbols failed: duplicate definition of symbol grammar | ||
12:02
perlawhirl left
12:03
darutoko left
|
|||
_nadim | nine: it seems that import is a compile time directive too, right? | 12:03 | |
12:03
darutoko joined
12:04
PotatoGim left
12:05
Begi joined
|
|||
Skarsnik | Hello | 12:05 | |
nine, did you fix I:5? | |||
uruwi | Hi | ||
12:06
PotatoGim joined
|
|||
_nadim | Skarsnik: morning | 12:06 | |
ChoHag | How's perl 6 at parsing and displaying the pod? | ||
Because I think I'd like to document my code before I move on to the next stage. | |||
Skarsnik | It work | ||
uruwi | Mind if I digress for a message? | 12:07 | |
Skarsnik | But I am not sure if there is something that render WHY stuff in a neat way | ||
_nadim | ChoHag: perl6 --doc your module | ||
12:08
virtualsue left,
Arrowhead left
|
|||
nine | _nadim: then don't import but use a fully qualified name to access the sub | 12:08 | |
uruwi | gitter.im/bluebear94/cy00/qanda | 12:09 | |
Skarsnik | why that look like slack/Discord x) | 12:10 | |
lizmat | m: say DateTime.new('2008-12-31T23:59:60Z').later(:day) | ||
camelia | rakudo-moar 16c5fc: OUTPUT«2009-01-02T00:00:00Z» | ||
lizmat | that feels incorrect | 12:11 | |
ChoHag | Did 2008 include a leap second? | ||
ShimmerFairy | lizmat: agreed :) | ||
lizmat | yes | 12:12 | |
Skarsnik | m: say DateTime.new('2008-12-31T23:59:60Z') | ||
camelia | rakudo-moar 16c5fc: OUTPUT«2008-12-31T23:59:60Z» | ||
Skarsnik | m: say DateTime.new('2008-12-31T23:59:60Z').later(:second) | ||
camelia | rakudo-moar 16c5fc: OUTPUT«2009-01-01T00:00:00Z» | ||
12:12
joshua__ joined
12:13
virtualsue joined
|
|||
_nadim | nine: I require Text::Table::Simple ; Text::Table::Simple::lol2table(...) says it can not find the symbole. how does one fully qualify a sub? | 12:14 | |
12:15
joshua__ left
12:16
zengargoylew left,
zengargoylew joined
|
|||
autogen | what's lol2table? | 12:16 | |
ChoHag | Then I'd say it doesn't just feel incorrect. It is. | ||
nine | colomon: the module definitely installs fine including the script in resources/. .files should find it | 12:17 | |
_nadim | autogen: takes a few arrays and makes an ASCII drawn table out of it. otherwise it is a multi sub | 12:18 | |
autogen | oh awesome, thanks :-) | ||
_nadim | :) | ||
12:19
virtualsue left,
psomu joined,
joydo left
|
|||
ChoHag | Unfortunately "one day later" from both 23:59:59 and 23:59:60 should give the same answer, and "one day previously" doesn't give both. | 12:19 | |
nine | _nadim: I think it needs to be our scoped for you to access it that way | 12:20 | |
ChoHag | Also "the (beginning instant of) last second of the day" and "23:59:59" (or 23:59:60 with leap seconds) mean different things. | ||
nine | m: module Foo { sub foo() { say "foo!" }; }; Foo::foo; | ||
camelia | rakudo-moar 16c5fc: OUTPUT«Could not find symbol '&foo' in block <unit> at /tmp/hHBGtD6pnl line 1Actually thrown at: in block <unit> at /tmp/hHBGtD6pnl line 1» | ||
nine | m: module Foo { our sub foo() { say "foo!" }; }; Foo::foo; | ||
camelia | rakudo-moar 16c5fc: OUTPUT«foo!» | ||
dalek | kudo/nom: 0e89a7a | lizmat++ | src/core/DateTime.pm: Make DateTime.later about 5x faster Also fix issue when moving from a leap-second by anything other than seconds: it should not wrap to the next min/hour/day. |
||
ChoHag | And there's no nice round solution to this to give developers the warm fuzzies. | ||
_nadim | nine: what does import do at compile time that can't be done at run time? use module works fine. | 12:21 | |
ChoHag | I'd quite like to see the DateTime code, but I'm afraid of having it stick to me... | ||
nine | _nadim: maybe you can access the module's EXPORT scope somehow | 12:22 | |
ShimmerFairy | nine: any clue what "P6M Merging GLOBAL symbols failed: duplicate definition of symbol grammar" could be caused by? Because I've no clue (trying to run SUPERNOVA with Grammar::Tracer enabled) | 12:23 | |
dalek | ast: 5e60103 | lizmat++ | S32-temporal/DateTime.t: Fix faulty test and some spelling errors Moving from a leap-second by anything but seconds, should clip, not rollover to the next minute/hour/day |
||
_nadim | require module <&sub> is broken but I think I'll just catch that and display it till it works. this turns out to be a day job finding how to get a symbole at run time :) | 12:24 | |
lizmat | this hopefully concludes scratching the DateTime/Date itch I've been having | ||
12:24
PlugMyDuck joined
|
|||
_nadim | autogen: you may like this one, it has text table generation www.tablesgenerator.com/ | 12:24 | |
Skarsnik | nine, it's the IV type that come from perl.h in I:5 that vary? | 12:25 | |
nine | Skarsnik: yes, haven't fixed that yet | ||
ShimmerFairy: no idea, no | |||
12:26
leont joined
|
|||
ShimmerFairy | nine: Oh god, apparently it's because I have a file named Grammar.pm6 in SUPERNOVA (as in, lib/Grammar.pm6). Apparently Grammar::Tracer makes something break? Lovely. | 12:28 | |
12:28
xpen_ left
|
|||
Skarsnik | nine, maybe you can cheat with size_t (since it's the type used when you when to index pointer) | 12:28 | |
ShimmerFairy | nine: so apparently use Grammar::Parsefail (locally, since I still haven't fixed its META6.json); use Grammar; is fine, but throw in Grammar::Tracer, and boom. | 12:29 | |
nine | colomon: I know whats wrong. | ||
12:29
st_iron left
|
|||
Skarsnik | m: use NativeCall; say nativesizeof(size_t), "k", nativesizeof(int64) | 12:29 | |
camelia | rakudo-moar 16c5fc: OUTPUT«===SORRY!===Missing or wrong version of dependency '/home/camelia/rakudo-m-inst-1/share/perl6/sources/CD91000E04960E50F55974191CB59F05BF6F449F' (from '/home/camelia/rakudo-m-inst-1/share/perl6/sources/ABE4BD5AACEE8AC49C80D6766675BEFA95BE99AF')» | ||
nine | colomon: ABC brings lots of modules, just none of them is called "ABC". So we don't install the short lookup file for the name "ABC" and don't find the right dist. | 12:30 | |
Skarsnik | erf | ||
ShimmerFairy | and only from within lib/Grammar.pm6; using ::Tracer next to a 'use Grammar' works, it's just inside the file. But Grammar::Parsefail doesn't trigger the same behavior. What the fuck? O_o | ||
12:30
loren joined
|
|||
Skarsnik | nine stop breaking camelia x) | 12:31 | |
12:32
joydon joined
|
|||
[ptc] | m: 'say $*IN.t && $*OUT.t' | 12:32 | |
camelia | rakudo-moar 0e89a7: OUTPUT«WARNINGS for /tmp/qGuegRj0lT:Useless use of constant string "say $*IN.t && $*OUT.t" in sink context (line 1)» | ||
[ptc] | m: say $*IN.t && $*OUT.t | ||
camelia | rakudo-moar 0e89a7: OUTPUT«False» | ||
lizmat | m: { loop (my int $i = 0; $i < 10; $i++) { say $i } }() # golfed #127069 | ||
camelia | rakudo-moar 0e89a7: OUTPUT«No lexical found with name '$i' in block <unit> at /tmp/Srx2T3Cfj4 line 1» | ||
[ptc] | m: say $*IN | ||
camelia | rakudo-moar 0e89a7: OUTPUT«IO::Handle<<STDIN>>(opened, at octet 0)» | ||
[ptc] | m: say $*IN.t | ||
camelia | rakudo-moar 0e89a7: OUTPUT«False» | ||
[ptc] | m: say $*OUT.t | ||
camelia | rakudo-moar 0e89a7: OUTPUT«False» | ||
12:32
pierre-vigier joined
|
|||
lizmat | m: { loop (my Int $i = 0; $i < 10; $i++) { say $i } }() # golfed #127069 | 12:33 | |
camelia | rakudo-moar 0e89a7: OUTPUT«Cannot call infix:«<»(Any, Int); none of these signatures match: ($?) (\a, \b) (Real \a, Real \b) (Int:D \a, Int:D \b) (int $a, int $b) (Num:D \a, Num:D \b --> Bool) (num $a, num $b --> Bool) (Rational:D \a…» | ||
lizmat | m: {oop (my Int $i = 0; $i < 10; $i++) { say $i } # ok without the scope | ||
camelia | rakudo-moar 0e89a7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Az_pujolPfUnexpected block in infix position (missing statement control word before the expression?)at /tmp/Az_pujolPf:1------> 3{oop (my Int $i = 0; $i < 10; $i++)7⏏5 { say $i } # ok without th…» | ||
lizmat | m: loop (my Int $i = 0; $i < 10; $i++) { say $i } # ok without the scope | ||
camelia | rakudo-moar 0e89a7: OUTPUT«0123456789» | ||
leont | Does an IO object cache the stat buffer? | ||
12:34
cakes joined
|
|||
Skarsnik | it's the "new" stuff that make loop return a value that make this buggy x) | 12:34 | |
lizmat | leont: no, not afaik | ||
12:34
cakes is now known as Guest2959,
Guest2959 left,
pierre-vigier left
|
|||
leont | Having some kind of stat buffer concept would be nice (from a performance POV) | 12:35 | |
12:35
ellybelly joined
|
|||
nine | Skarsnik: size_t's definition is actually rather close to Perl 5's IV. IV is defined as at least the size of a pointer while size_t has to have at least the size of a pointer to be usefull for object sizes (except on segmented architectures) | 12:35 | |
Skarsnik | hm long is like int32 on my debian32 bits | 12:36 | |
it should work? | |||
but I:p5 still fail | |||
ShimmerFairy | So in addition to still facing a show-stopping unknown bug introduced in the CURI branch way back, I can't even use Grammar::Tracer to diagnose the problem (in a multi token where it breaks, it seems, so it's hard to do without the tracer). Just wonderful. | ||
leont | Skarsnik: Got a paste of the fail? | 12:37 | |
lizmat | leont: remembering from when I was working on the newio branch, it would need nqp support | ||
Skarsnik | leont, basicly it segfault and gdb is not useful. it's kinda of time out after leaving gdb | ||
colomon | nine: huh | 12:38 | |
12:40
_mg_ joined
|
|||
colomon | nine: I mean, that’s right, ABC is set up as a namespace, not a class of its own | 12:40 | |
dalek | kudo/nom: 9a346ce | (Stefan Seifert)++ | src/core/CompUnit/Repository/Installation.pm: Fix installed wrapper scripts not finding the dist (and thus script) Dists like ABC don't contain a module with the same name. We only installed quick lookup files in short/ for installed modules, not the dist's name itself. Fix by explicitly install a lookup file for the dist's name itself. Thanks to colomon++ for reporting! |
||
nine | colomon: there ^^^ fixed it :) | ||
colomon | \o/ | ||
12:40
kid51 left
|
|||
Skarsnik | Let's make people angry and let's patch nc x) | 12:41 | |
nine | ShimmerFairy: what module is Grammar? | 12:42 | |
dalek | pan style="color: #395be5">perl6-examples: d932ecc | paultcochrane++ | util/update-and-sync: Use up-to-date Rakudo and panda when building examples pages |
||
pan style="color: #395be5">perl6-examples: 4751f1c | paultcochrane++ | categories/interpreters/lisp.pl: Purge trailing whitespace Don't syntax highlight in website tests |
|||
12:42
dalek left
|
|||
ShimmerFairy | nine: I don't use modules in those files, mainly because it's been easier for me to have the SUPERNOVA files in just a flat lib/ directory, similar to how they'll eventually be in core rakudo. | 12:43 | |
12:43
dalek joined,
ChanServ sets mode: +v dalek
|
|||
Skarsnik | Grammar::Tracer? | 12:43 | |
timotimo | lizmat: wow, 5x faster for .later? nice! | ||
nine | ShimmerFairy: or what is SUPERNOVA even? | ||
ShimmerFairy | nine: github.com/ShimmerFairy/SUPERNOVA | 12:44 | |
12:45
|Tux| left
|
|||
ShimmerFairy | nine: pretty much, I've never been too sure on the distinction between what 'use' uses for names and what it means to have 'unit module' or whatever inside the file; in this case, I've elected to fully qualify class names inside the files, instead of using unit module, back when I started work on it. | 12:45 | |
colomon | nine: brilliant, that works! | ||
ellybelly | Hi all, I am thinking of writing a module, but someone else has written a similar one. How should I go about naming mine? For example, there is already WebService::Soundcloud, but I want to make a different Soundcloud module and submit it to the modules list. | ||
12:45
uruwi left
|
|||
timotimo | ShimmerFairy: huh? but whether or not you use "unit" is only about the curly braces | 12:45 | |
llfourn | ShimmerFairy: are you planning on making SUPERNOVA installable via panda? | 12:46 | |
ShimmerFairy | timotimo: not 'unit' specifically, but the idea of wrapping the file's contents in a 'module' | ||
timotimo | oh | ||
i see | |||
nine | ellybelly: have you considered cooperating with the author of the other Soundcloud module? | 12:47 | |
ShimmerFairy | llfourn: not at the moment, the plan is for it to be assimilated into rakudo when it's time to do so (developing out-of-core is a lot faster than in-core) :) | ||
nine | *fetch stage failed for Grammar::Parsefail: Unable to handle source 'github.com/ShimmerFairy/grammar-parsefail/') | ||
ShimmerFairy | nine: yeah, that's something I've neglected to fix so far, in part because I swear it working before, and in part because dying on https:// seems silly. I'll go fix it now though. | 12:48 | |
llfourn | ShimmerFairy: fair enough :) | ||
ellybelly | Thanks nine, I I wanted to do it in a different programming style, but also as a learning exercise. | ||
12:49
|Tux| joined
|
|||
nine | ellybelly: trust me, you'll learn just as much by working on an existing code base :) And maybe the author of the other module actually likes your ideas for the interface and likes to adopt them? | 12:49 | |
12:49
pierre-vigier joined
12:50
lnrdo left
12:51
psomu left
|
|||
ellybelly | Thanks nine, that is good advice. For situations where someone is determined to create a similar module, what would be the standard convention? | 12:51 | |
12:51
halto left
12:52
pierre-vigier left
|
|||
Skarsnik | is there a test to see if something warn in Test? | 12:53 | |
timotimo | nothing pre-make, i think. but you can use CONTROL to catch warnings | ||
daxim | perl6, my FatRat $foo = 5/7 | ||
perl6: my FatRat $foo = 5/7 | 12:54 | ||
12:54
Arrowhead joined
|
|||
camelia | rakudo-moar 9a346c: OUTPUT«Type check failed in assignment to $foo; expected FatRat but got Rat in block <unit> at /tmp/tmpfile line 1» | 12:54 | |
..rakudo-jvm 6c0f93: OUTPUT«Type check failed in assignment to $foo; expected FatRat but got Rat in block <unit> at /tmp/tmpfile:1» | |||
daxim | this is surprising to me | ||
12:54
pierre-vigier joined
12:55
pierre-vigier left
|
|||
colomon | m: my FatRat $foo = (5/7).FatRat | 12:55 | |
camelia | ( no output ) | ||
colomon | m: my FatRat $foo = (5/7).FatRat; dd $foo | ||
camelia | rakudo-moar 9a346c: OUTPUT«FatRat $foo = FatRat.new(5, 7)» | ||
nine | ellybelly: find something that distiguishes your module from the other and put that into the name. It should be some lasting difference, not something like Simple or Tiny (because it won't stay either). | 12:57 | |
ellybelly: otherwise, use the same name but make sure your :auth is different. But in any case _always_ try to talk with the other author. And if in doubt, ask here. | 12:58 | ||
12:58
Arrowhead left
|
|||
ellybelly | thanks nine, I will most likely try to work with the other author thanks to your feedback. But also I appreciate your feedback. | 13:00 | |
Skarsnik | hm | 13:01 | |
ellybelly | maybe too many "feedbacks" there... | ||
Skarsnik | should foo is native returns Bool can be considered an error? | ||
It probably always work | |||
13:04
Begi left
13:09
pierre-vigier joined
13:11
pierre-vigier left
|
|||
dalek | pan style="color: #395be5">perl6-examples: ec8ec86 | paultcochrane++ | t/004-website.t: Turn off highlighting in later website test This one I missed from earlier and only Travis is telling me that there's a problem here. |
13:13 | |
13:14
lnrdo joined
13:17
pierre-vigier joined
|
|||
[ptc] | m: my Instant $i = now; my $dt = $i.to-posix; say :$dt.perl | 13:19 | |
camelia | rakudo-moar 9a346c: OUTPUT«:dt($(<1278679142158/881>, 0))» | ||
13:19
pierre-vigier left
13:20
colomon left
|
|||
[ptc] | why does a False value appear as Bool::False when there is a tty and as 0 when there isn't a tty? | 13:20 | |
13:21
colomon joined
|
|||
[ptc] | another way to put the question is: the code "my Instant $i = now; my $dt = $i.to-posix; say :$dt.perl" gives :dt($(<1278679142158/881>, Bool::False)) when run from an interactive prompt | 13:21 | |
dalek | pan style="color: #395be5">perl6-examples: 664b498 | paultcochrane++ | t/categories/cookbook/09directories.t: Handle boolean output with and without tty in filetime test |
13:22 | |
13:24
muraiki joined
13:25
colomon left,
colomon joined
|
|||
cosimo | timotimo: is that you working on iperl6kernel? | 13:30 | |
13:31
pierre-vigier joined
13:38
rjbs left,
perigrin left,
frew left,
simcop2387 left,
zostay left
13:39
geekosaur left,
uruwi joined
13:41
pierre-vigier left
13:42
Begi joined
|
|||
cosimo | timotimo: if so, can you give me a quick status update on it? I setup my dev machine with jupyter and I'd like to help make progress | 13:43 | |
it's a super cool thing to work on | |||
flussence | [ptc]: I can't reproduce that bug on 2015.12-9-g1bdb784b49e1 | 13:45 | |
perl6 -e outputs the same with/without |cat on the end | |||
nine | ShimmerFairy: how can I reproduce your failure? | ||
13:45
uruwi_ joined
|
|||
uruwi_ | a | 13:45 | |
ShimmerFairy | nine: uncommenting the use of Grammar::Tracer in Grammar.pm6 and running perl6 test.p6 should do it, if using SUPERNOVA to test it out. | 13:46 | |
13:47
uruwi left
|
|||
ShimmerFairy | nine: just using a file called 'Grammar.pm6' that has 'use Grammar::Tracer' in it works too. | 13:47 | |
nine: or any file, it turns out. perl6 -e 'use Name-of-file-with-Tracer-use' | 13:48 | ||
er, perl6 -I. -e '...' | |||
_nadim | Any idea what "cannot stringify self" is supposed to mean on a line where there is no reference to self? | 13:52 | |
llfourn | _nadim: show us the line? | 13:53 | |
[ptc] | flussence: thanks for looking. The issue is reproducible in camelia: | ||
llfourn | it's probably a LTA error? | ||
[ptc] | m: my Instant $i = now; my $dt = $i.to-posix; say :$dt.perl | 13:54 | |
camelia | rakudo-moar 9a346c: OUTPUT«:dt($(<10705506083325/7376>, 0))» | ||
[ptc] tries with |cat | |||
flussence: I get the same output with | cat on my machine. I don't think this is reproducing the issue correctly though, since on Travis with a bleeding edge rakudo, the issue still appears | 13:55 | ||
\o/ the perl6-examples tests are passing again! And the website builds again! | 13:56 | ||
Skarsnik | nice | 13:57 | |
13:58
frew joined
|
|||
llfourn | m: role Foo { has $.b is required }; class Bar {}; say Bar.new does Foo # how do I initialize $.b? | 13:59 | |
camelia | rakudo-moar 9a346c: OUTPUT«Invalid BUILDALLPLAN in block <unit> at /tmp/yZpmec0zOu line 1» | ||
_nadim | llfourn: I give you three lines ([NL] for newline. the error message points ar the curly bracket line. for @.filters -> $filteri [NL] { [NL] $filter($s, DDT_SUB_ELEMENTS, ($!current_depth, $glyph, @renderings), (@sub_elements,)) ; | ||
Skarsnik | hm, how I test if a type is numeric? (like Int, int, int32, num, ...) int ~~ Numeric fail | ||
14:00
rjbs joined
14:01
zostay joined,
simcop2387 joined
|
|||
llfourn | _nadim: I can't see any stringification there :\ | 14:01 | |
14:01
perigrin joined
|
|||
_nadim | neither can I. worked a few minutes ago, I'll back and see | 14:02 | |
14:03
geekosaur joined,
pdcawley joined
14:04
uruwi_ left
|
|||
llfourn | m: role Foo { }; say Foo.new # so you can create instances of roles now? | 14:04 | |
camelia | rakudo-moar 9a346c: OUTPUT«Foo.new» | ||
14:04
pmurias joined
14:05
uruwi joined
|
|||
Skarsnik | Yes | 14:05 | |
it's weird x) | |||
nine | llfourn: autopunning is the word | ||
llfourn | nine: I guess it's a p6 made up word? | 14:06 | |
nine | llfourn: yes | ||
llfourn | sweet | ||
nine | or role punning | ||
llfourn | do you know of any use cases for this? | ||
masak | "punning" is a far wider CS concept than just p6. | ||
llfourn | I see | 14:07 | |
14:07
lustlife joined
|
|||
masak | there's a Wikipedia article about it | 14:07 | |
llfourn looks at wikipedia | |||
ChoHag | How do you include the same sections (NAME, AUTHOR, VERSION, etc.) in multiple pods? | ||
masak | en.wikipedia.org/wiki/Type_punning | ||
Skarsnik | What do you think of gist.github.com/Skarsnik/4579e451ab1b6b364305 before I put this in NativeCall (it check the sanity of native routine declaration) | ||
14:07
Arrowhead joined,
pdcawley left
14:08
pierre-vigier joined
|
|||
ShimmerFairy | ChoHag: the P<> directive is supposed to let you include snippets of pod code from another source (P for "Placement link", IIRC) | 14:08 | |
14:09
Su-Shee_ is now known as Su-Shee
14:12
perigrin left
14:13
perigrin joined
14:16
pierre-vigier left
14:19
FloydATC joined
|
|||
llfourn returns from wikipedia | 14:20 | ||
I either am lost or this article seems to mean type punning = type casting with assumptions about memory representation | 14:21 | ||
14:21
smls joined
|
|||
llfourn | I guess the link in concept is that you are turing something into another thing | 14:22 | |
smls | Didn't we have a glob() function at some point? | 14:23 | |
Is there a replacement? | |||
llfourn | but the link is somewhat tenuous between 'autopunning' and 'type punning' | ||
(in my mind) | |||
_nadim | llfourn: I found it. the sub was declared as sub($s ($a, $b), ($x)), there is a comma missing after the first argument, the error is reported three lines below that. | ||
14:23
Begi left
|
|||
llfourn | _nadim: so you fixed your problem? is ($s,($a,$b),($x)) meant to be doing list unpacking? | 14:25 | |
FloydATC | Hi, I want to test p6 without breaking p5. I've installed as per perl6.org/downloads/ as non-root but what's the recommended way to set up my working environment from here? Using shebang ~/.rakudobrew/blablabla/perl6 would work but seems stupid | 14:27 | |
14:28
perigrin left
|
|||
nine | FloydATC: I have this in my ~/.bashrc: export PATH=$PATH:/home/nine/install/rakudo/install/bin:/home/nine/install/rakudo/install/share/perl6/site/bin | 14:28 | |
14:28
perigrin joined
|
|||
llfourn | how can p6 break p5? | 14:28 | |
nine | llfourn: it can't | ||
14:28
Begi joined
14:29
xpen joined
|
|||
FloydATC | No idea, I'm touching p6 for the first time. | 14:29 | |
_nadim | llfourn: yes I do list unpacking, but I can't see how $s($a, $b) works. | ||
llfourn: Arff yes I see | |||
llfourn | FloydATC: I'm not sure what you meant but rakudo gets installed as perl6 not perl :) | ||
_nadim | named argument of a Pair | ||
llfourn doesn't see what _nadim sees | 14:30 | ||
FloydATC | what about modules, won't p6 modules affect p5 ones? | ||
_nadim | hmm, well self s not even in the list! | ||
llfourn | FloydATC: not at all :) | ||
FloydATC: rakudobrew will install a totally isolated environment | 14:31 | ||
FloydATC | so it's basically safe to do a root install of p6 and not have to worry about personal path settings etc? | ||
llfourn | FloydATC: do you need to install as root? | ||
14:31
RabidGravy joined
|
|||
_nadim | llfourn: :name($a, $b), thought $name($a, $b) is equivalent if $name ~~ 'name' | 14:31 | |
llfourn | FloydATC: just install under your user if you can | 14:32 | |
FloydATC | Not sure but here's what I'm thinking; for years I've just put #!/usr/bin/perl in my scripts because perl is always there | ||
_nadim | FloydATC: you're the second person that asks that oday. I can't understand how pwople want to polute their evironment because they don't want to pollute their $PATH! | ||
gfldex | /usr/share/perl6/ <-- that's there perl6 goes | ||
/usr/share/perl5/ <-- that's where perl5 goes | |||
_nadim | FloydATC: IMO, let RakudoBrew install where it wants and take the second to edit your .bashrc | 14:33 | |
llfourn | FloydATC: there is 0 chance that anything bad can happen from using rakudobrew -- it will just get installed under $HOME/.rakudobrew | ||
perlpilot | FloydATC: I usually use #!/usr/bin/env perl6 FWIW | ||
14:33
xpen left
|
|||
perlpilot | FloydATC: (once it's in my PATH like it should be :) | 14:34 | |
smls | FloydATC: I use #!/usr/bin/env perl for Perl 5 scripts and #!/usr/bin/env perl6 for PErl 6 scripts - this way it doesn't matter where they are installed, as long as $PATH is set up accordingly. | ||
orbus | .tell TimToady I did some more checking last night. It's not documented in the class docs on doc.perl6.org, but the base Exception class does indeed have .resume . If there's a way to prevent people calling it on custom exceptions in modules, I haven't figured it out yet. | ||
yoleaux | orbus: I'll pass your message to TimToady. | ||
14:34
pierre-vigier joined
|
|||
FloydATC | perlpilot: Aha, that's the kind of neat trick I was hoping for | 14:35 | |
14:35
shicheng left
|
|||
FloydATC | because that way the script will work even if p6 is relocated later | 14:35 | |
smls | FloydATC: But yes, it should be possible to install Perl 6 in /usr, because there are already distro packages which to that.. :) | ||
perlpilot | FloydATC: as long as your PATH is set appropriately. | ||
FloydATC | yup I understand | ||
orbus | you just probably shouldn't unless you integrate it into your system's package manager :p | 14:36 | |
that's what /opt and /usr/local are for | |||
perlpilot | FloydATC: btw, you should probably do the same thing for Perl 5 programs as well. (See smls) | ||
14:37
joydon left
14:38
torax left
|
|||
Skarsnik | wow make test is fast today lol | 14:39 | |
14:40
webstrand joined
|
|||
Skarsnik | hm something interesting could be to have all NC lib used by tests compiled at the first test x) | 14:40 | |
RabidGravy | llfourn, this is assuming one doesn't do something strange with where one installs or links rakudobrew of course | 14:41 | |
ChoHag | llfourn: Somebody lost their /bin the other day using rakudobrew. | ||
I'd say 0 chance is a tad optimistic. | |||
RabidGravy | to be fair the had gone somewhat off piste as regards the instructions | 14:42 | |
llfourn stands corrected | |||
RabidGravy | but you geeks always know best ;-) | ||
ChoHag | As a rule of thumb, when a developer tells you there's no chance of failure, assume failure is likely. | ||
perlpilot | When there's humans involved, there's always a chance of something screwy happening :) | ||
ChoHag | Unless you're a sysadmin, in which case assume failure is inevitable. | ||
And not predicated on anything. | 14:43 | ||
perlpilot | ChoHag: but ... failure is not an option! | ||
gfldex | snapshot all the things! | ||
perlpilot | ;) | ||
RabidGravy | always ask a DBA as they'll always find an excuse for not doing anything | ||
and still blame you when it goes wrong | 14:44 | ||
|Tux| | csv-ip5xs 50000 17.539 17.431 | 14:45 | |
test 50000 23.072 22.964 | |||
test-t 50000 14.424 14.316 | |||
csv-parser 50000 51.591 51.483 | |||
ChoHag | I find the network teams to be the best at deflecting blame. | ||
14:46
lnrdo left
|
|||
RabidGravy | yeah, especially "network security" if you've ever worked at that kind of organisation | 14:46 | |
14:47
lnrdo joined
|
|||
ChoHag | I've been 'fortunate' enough to work with a various incarnations of a 'security team'. | 14:47 | |
14:47
perlpilot left,
perlpilot joined
|
|||
ChoHag | How are perl 6 modules doing version numbers? | 14:47 | |
_nadim | Am I the only one that feels that 'say' is slow? it may be just a feeling but it seems that even when there are no computations just using say takes time. | ||
nine | _nadim: it's probably not even 'say', but stringification that takes time. | 14:48 | |
14:48
lnrdo left
|
|||
ChoHag | 1000 iterations of say "" and print "" took exactly the same amount of time. | 14:49 | |
FSVO exactly | |||
uruwi | Try say "" vs print "\n" | ||
RabidGravy | ChoHag, I'm going with vN.N.N and haven't got to v0.1.0 with any yet ;-) | ||
llfourn | _nadim: the challenge is to name something that isn't slow atm | 14:50 | |
I just read the rakudobrew doom story, but not exactly clear why it would rm /bin/* if ran as root | 14:51 | ||
Skarsnik | I love done-testing | ||
plan is nice when you have < 20 tests | |||
RabidGravy | actually I was thinking that some mathematical operations are surprising fast, just this morning. It's just doing anything with the results isn't so fast. | ||
14:51
Begi2 joined
|
|||
ChoHag | llfourn: It contains something like 'unlink $prefix, $_ for <something>' where the combination of symlinks, and <something> caused /bin to be emptied. | 14:51 | |
Skarsnik | panda was removing stuff when doing perl bootstrap.pl --prefix=/stuff | 14:52 | |
like it cleared /opt/bin and /opt/lib when given opt | |||
ChoHag | It shouldn't really remove anything at all. | 14:53 | |
llfourn | ChoHag: hmm I would have thought that it would always be in .rakudobrew but I guess that got lost somehow :\ | ||
Skarsnik | it removed what was not panda and some perl6 stuff | ||
ChoHag | Lift the old installation non-destructively into an out-of-the-way location and inform the user it's ready to be removed as desired. | ||
Skarsnik | ChoHag, I think the --prefix was for module prefix or something like that x) | 14:54 | |
14:54
_mg_ left
|
|||
ChoHag | Basically the age-old story of making the incorrect assumption that the code will work. | 14:54 | |
I'd like to say retold in a new way, but I can't. | |||
14:54
Begi left
|
|||
RabidGravy | well, no-one has actually properly kicked the tires on any of this stuff until the last few days | 14:55 | |
Skarsnik | hm | ||
ChoHag | Indeed. And that makes that assumption even more dangerous. | ||
Skarsnik | How I can Test something at compile time? x) | ||
ChoHag | Code never works. Processes always go wrong. Always fail safe. | ||
RabidGravy | preaching to the choir mate, I worked at a bank for some five years before this one :-\ | 14:56 | |
llfourn | Skarsnik: BEGIN { } ? | 14:57 | |
14:57
sunnavy_ left
|
|||
Skarsnik | I am not sure it will work x) | 14:58 | |
ChoHag | *sigh* | ||
But the choir is too small. | |||
14:58
sunnavy joined,
pierre-vigier left
|
|||
Skarsnik | nop begin is not the answer | 14:58 | |
llfourn | m: use Test; plan 1; BEGIN { ok True }; | ||
camelia | rakudo-moar 9a346c: OUTPUT«ok 1 - 1..1» | ||
14:59
pierre-vigier joined
|
|||
Skarsnik | I try to test if a trait will die, but it happend at compile time | 14:59 | |
Like: dies-ok{ sub test(Int $a) is native('fake') {*};} #this should die | |||
llfourn | Skarsnik: there's eval-dies-ok :) | 15:00 | |
Skarsnik | Oh right I can use that | ||
15:00
mort96 left
15:01
BuildTheRobots left
|
|||
webstrand | So I've managed to package panda using the command `RAKUDO_PREFIX="$pkgdir/usr/share/perl6/" ./bootstrap.pl` and patching bootstrap.pl to use --notests. Everything seems to work, is there anything I'm missing? | 15:01 | |
yoleaux | 07:49Z <nine> webstrand: yes, RAKUDO_PREFIX was introduced after 2015.12 | ||
15:01
SmokeMachine___ left
|
|||
nine | webstrand: \o/ if it work, it works :) | 15:01 | |
llfourn | webstrand: sounds good to me | 15:02 | |
15:02
mort96 joined
|
|||
Skarsnik | --notests sounds buggy x) | 15:02 | |
RabidGravy | webstrand, may be worth pitching your results back to tadzik though | 15:03 | |
webstrand | Unfortunately, with RAKUDO_PREFIX, panda dies because Tests is missing. | ||
15:03
BuildTheRobots joined,
petercommand left,
SmokeMachine___ joined,
corbyhaas left
|
|||
Skarsnik | and nowww time to run all the NC test and /tableflip | 15:04 | |
15:04
petercommand joined
|
|||
flussence | webstrand: you could try symlinking the real install location's perl6/site/ into $RAKUDO_PREFIX/vendor and see if that helps | 15:05 | |
15:05
corbyhaas joined
|
|||
_wiz_ | where's the best place to ask about Math::Pari build problems? | 15:05 | |
perlpilot | _wiz_: probably #perl as I don't think there's a P6 version of Math::Pari yet. | 15:06 | |
15:07
zemmihates left
|
|||
RabidGravy | that even used to be a bugger to build like twenty years ago | 15:07 | |
Skarsnik | Test summary should display the test that failed... | 15:08 | |
perlpilot | _wiz_: If you're really trying to get at PGP::Crypt though, look for an RPM or DEB or whatever for that as there's usually one out there without Math::Pari | ||
15:08
zemmihates joined
|
|||
autarch | [Coke]: I profiled Pod::TreeWalker t/basic.t - it allocated 13k scalars, mostly in core code - so whatever that code does is at least part of the problem | 15:08 | |
RabidGravy | wasn't it by that crazy clever russian maths guy | ||
autarch | I mean that TreeWalker is doing something to cause bad behavior, not just Pod::To::HTML | 15:09 | |
webstrand | flussence: I'm not really sure how perl6 uses vendor or site. But though it claims the directory /waur/perl6-panda/pkg/panda/usr/share/perl6/vendor is in the search path, it still can't find Test. | ||
Skarsnik | damn, no NC developper around? | 15:10 | |
webstrand | Well, I cant find a Test~ anything either, so I'm not sure what perl is looking for. | ||
flussence | it's looking for Test.pm, which would've been mangled into one of the sha1 filenames in /usr/share/perl6/ | 15:11 | |
_wiz_ | perlpilot: thanks, I'll try that. | 15:12 | |
RabidGravy | is there an %INC equivalent? we can test this for avoidance of doubt | ||
Su-Shee | can I use rakudobrew without appending it to my bashrc? I just want to toy around with the recent perl6. | ||
nine | webstrand: Test is part of the CORE dist in the /usr/share/perl6 repository | ||
Skarsnik | Su-Shee, yes | 15:13 | |
Su-Shee | (btw - ALL install guides point to different perl 6 versions, really annoying. you can't copy paste any of them) | ||
Skarsnik | you can manually call rakudobrew | ||
Su-Shee | Skarsnik: ok. | ||
Skarsnik | it's just rakudobrew will put perl6 bin and co in its directory | ||
nine | webstrand: please note that share/perl6 share/perl6/site and share/perl6/vendor are all different repositories | ||
Skarsnik | m: use NativeCall; | 15:14 | |
camelia | ( no output ) | ||
15:14
asht joined
|
|||
mspo | it's also pretty easy to just build rakudo star in the normal way | 15:14 | |
with a --prefix | |||
15:14
Arrowhead left
|
|||
webstrand | nine: Thanks, symlinking share/perl6 $prefix/share/perl6/vendor works | 15:15 | |
Skarsnik | m: use NativeCall; say CArray[Int].^name; #How I get the Int type? | ||
camelia | rakudo-moar 9a346c: OUTPUT«===SORRY!===CArray may only contain native integers and numbers, strings, C Structs or C Pointers» | ||
15:15
Arrowhead joined
|
|||
Skarsnik | m: use NativeCall; say CArray[int].^name; #How I get the Int type? | 15:15 | |
camelia | rakudo-moar 9a346c: OUTPUT«NativeCall::Types::CArray[int]» | ||
Su-Shee | I already have like 439850395 rakudos and pugs and moars and all.. ;) | ||
nine | webstrand: that sounds like a horrible workaround though :/ | ||
Skarsnik | Oh there is already a check for the content of CARRAy, fun | ||
asht | I just built rakudo star on ubuntu and all went well. tested a few simple scripts. How does one actually "compile" and build executable ? | ||
nine | webstrand: maybe setting PERL6LIB='inst#/usr/share/perl6' works, too? Would be a much nicer solution. | 15:16 | |
awwaiid | Reading S12 a bit, I see that you can do "has $x" instead of "has $!x" and it works the same. I guess the reason I see the ! so much is it being more obviouse that it is an instance var? | ||
webstrand | nine: Is there any documentation on how perl6 searches for modules? You mentioned name mangling | ||
nine | webstrand: or RAKUDOLIB instead of PERL6LIB, als panda's bootstrap.pl may overwrite PERL6LIB | ||
Skarsnik | m: use NativeCall; say CArray[int].of; | 15:17 | |
camelia | rakudo-moar 9a346c: OUTPUT«(int)» | ||
nine | webstrand: gist.github.com/jnthn/47a42b2e86e7e552b2e2 | ||
loren | as i know perl6 search modules is a little slowly ... | 15:19 | |
nine | loren: why do you think that? | ||
perlpilot | ... compared against Perl 5 (maybe?) | 15:20 | |
mspo | asht: it should have produced a perl6 script that will handle it | ||
Su-Shee | is "build-panda" here a typo? | ||
rakudo.org/how-to-get-rakudo/ <--- | |||
15:21
Tonik joined
|
|||
perlpilot | Su-Shee: nope | 15:21 | |
asht | mspo: my test file was names test6.p6, where will i find the "perl6 scrpt that will handle it"? there is no new file in the current directory. | 15:22 | |
RabidGravy | needs to be disambiguated from buiild $something | 15:23 | |
webstrand | nine: RAKUDOLIB seems to partially reverse the effect of RAKUDO_PREFIX, however patching bootstrap to include /usr/share/perl6 works perfectly. | ||
15:23
kjs_ joined
|
|||
muraiki | awwaiid: $! in an object makes the field private | 15:23 | |
15:24
protium left,
void1 left
15:25
khw joined
15:26
skids joined,
AlexDaniel left
|
|||
FloydATC | For any installed module, what is the p6 equivalent of "perldoc That::Module"? | 15:26 | |
Su-Shee | perlpilot: why is it build moar but build-panda? | ||
perlpilot: also, why does "build panda" work then? | |||
hm and why don't I have a perl6 binary in my ~/.rakudobrew/moar-nom/install/share/perl6/site/bin now.. | 15:27 | ||
mst | Su-Shee: 'build foo' is 'build rakudo with backend foo' | ||
yoleaux | 09:08Z <nine> mst: I think we're gonna have to be smarter about identifying usable precomp files anyway. Right now, we have to precomp all modules again after installing any module. And precomp files created by panda are invalidated as soon as you install a vendor module package | ||
FloydATC | Su-Shee: I found both panda and perl6 in .rakudobrew/bin/ | 15:28 | |
mst | nine, yeah, I already proposed a solution for that - basically re-dry-run just the resolutions | ||
RabidGravy | muraiki, that's the wrong way round the '.' twigil gives it an accessor, thus making it "public" | ||
Su-Shee | well, I did not. | ||
ok, throwing this away. | |||
RabidGravy | m: class F { has $f; }; my $t = F.new; say $t.f | ||
camelia | rakudo-moar 9a346c: OUTPUT«Method 'f' not found for invocant of class 'F' in block <unit> at /tmp/59FJuIffkt line 1» | ||
mst | Su-Shee: the approach for using rakudobrew is | ||
Su-Shee | I have a panda but no perl6. | ||
FloydATC | <- new as well | ||
15:28
orbus left
|
|||
mst | Su-Shee: (1) add rakudobrew/bin to PATH (2) run 'rakudobrew build moar' | 15:28 | |
Su-Shee | mst: I know what it is, I'm installing like somebody who has never used anything like it. ;) | 15:29 | |
mst | Su-Shee: if you skip step 1 it will NOT WORK | ||
muraiki | m: class F { has $.f; }; my $t = F.new; say $t.f | ||
camelia | rakudo-moar 9a346c: OUTPUT«(Any)» | ||
mst | Su-Shee: if you follow the README.md it works fine | ||
15:29
Arrowhead left
|
|||
muraiki | m: class F { has $.f; sub lol { $!f = "lol" } }; my $t = F.new; F.lol; say $t.f | 15:30 | |
camelia | rakudo-moar 9a346c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oO44DEmgHJVariable $!f used where no 'self' is availableat /tmp/oO44DEmgHJ:1------> 3class F { has $.f; sub lol { $!f7⏏5 = "lol" } }; my $t = F.new; F.lol; say » | ||
muraiki | bah | ||
m: class F { has $.f; method lol { $!f = "lol" } }; my $t = F.new; F.lol; say $t.f | |||
camelia | rakudo-moar 9a346c: OUTPUT«Cannot look up attributes in a type object in method lol at /tmp/N1BCHFbqTk line 1 in block <unit> at /tmp/N1BCHFbqTk line 1» | ||
15:30
Ox0dea left
|
|||
mst | Su-Shee: there's no point dry-running "what stupid things could users do", I already know those won't work, I did that myself | 15:30 | |
15:30
Arrowhead joined
|
|||
muraiki | m: class F { has $.f; method lol { $!f = "lol" } }; my $t = F.new; $t.lol; say $t.f | 15:30 | |
camelia | rakudo-moar 9a346c: OUTPUT«lol» | ||
muraiki | finally. heh | ||
mst | if you can find a bug from following the README, that's interesting | ||
RabidGravy | :) | 15:31 | |
mst | but "rakduobrew doesn't work very well, if at all, unless you follow the documentation" is annoying but not new info :D | ||
Su-Shee | mst: well I did find that all docs are diverging. and that's what the website points to. not to the README.md. | ||
mst | which website points where? | ||
dalek | c: 232d57a | lizmat++ | doc/Language/faq.pod: Recycle pmichaud++'s answer on perl6-user as a faq |
15:32 | |
15:32
tiogilito joined
15:33
tiogilito left
|
|||
mst | Su-Shee: aha, rakudo.org/how-to-get-rakudo/ ? | 15:33 | |
Su-Shee | mst: perl6.org contains the README.md part but points to the rakudo.org install. I'll talk to Zoffix. | ||
mst: yes, which also contains old version numbers. | 15:34 | ||
mst: so you better not copy paste it. | |||
mst | Su-Shee: other than the version numbers, the insutrctions look like they'd work | ||
Su-Shee | mst: forget I said something. I'll make it work. | ||
dalek | c: 2e7ab45 | (Carl Masak)++ | doc/Language/faq.pod: fix small typo |
15:35 | |
Skarsnik | how do I know when a type is not 'build'?. I perform some check on a the type of param in a trait but I get error when accessing the type in case of : class A { sub p(A $a) is native } | ||
shadowpaste | "mst" at 217.168.150.38 pasted "this is from rakudo.org" (5 lines) at fpaste.scsys.co.uk/503614 | 15:36 | |
15:36
pierre-vigier left
|
|||
mst | Su-Shee: ^^ if that series of commands doesn't work, I want to know | 15:36 | |
15:36
webstrand left
|
|||
lizmat | masak++ # good catch | 15:36 | |
15:36
pierre-vigier joined
15:37
webstrand joined
|
|||
Ulti | FloydATC for docs there isn't a good command line solution I dont think, docs.perl6.org/ is all the official reference documentation though | 15:37 | |
yoleaux | 28 Dec 2015 10:33Z <moritz_> Ulti: re irclog.perlgeek.de/perl6/2015-12-26#i_11782724 please ping in 2016 about that, currently not at home | ||
Su-Shee | mst: that's the line which adds to the bashrc, not the README.md line which just adds to the path. you'd have to say for new people which one to use preferably. also, see above, I asked beforehand if rakudobrew works without adding it permanently to the bashrc. it's very confusing if you don't know perlbrew already. | 15:38 | |
CoconutCrab | dmesg | 15:39 | |
15:39
_mg_ joined
|
|||
CoconutCrab | ops, sorry, wrong window | 15:39 | |
mst | Su-Shee: the README.md version proposes adding rakudobrew init - to .bashrc | ||
Su-Shee: so, both add to .bashrc | |||
RabidGravy | is the author of "RPi" i.e "cspencer" in the house? I forgot what your nick was | ||
Su-Shee | mst: *sigh* forget I said something. | ||
Ulti | RabidGravy yeah I wasn't sure if that was someone on here or not | 15:40 | |
15:40
acrussell joined
|
|||
masak | is it really `rakudobrew build moar` and then `rakudobrew build-panda` (with a hyphen)? | 15:40 | |
whyyyyy | |||
mst | yes | ||
yes it is | |||
Ulti | because reasons | ||
masak | gnnnrk | ||
llfourn | yup | ||
mst | because 'rakudobrew build' should've been called 'rakudobrew build-rakudo' | ||
llfourn | it used to be build panada though I think | ||
geekosaur | arguably should be build-perl6 | ||
RabidGravy | Ulti it was I just can't remember who | ||
Ulti | probably not great reasons | ||
masak wants to afflict someone with severe consistency | 15:41 | ||
geekosaur | or that | ||
tadzik | hysterical reasons :) | ||
yoleaux | 28 Dec 2015 23:29Z <AlexDaniel> tadzik: yeah, great! Travis status is a bit weird, why does it attempt to run it on 2015.09? Anyway, that means that github.com/tadzik/Bailador/issues/43 could be closed after the tests are added | ||
15:41
skyl4rk joined
|
|||
Ulti | tadzik heh | 15:41 | |
we cant break back compat! | |||
tadzik | it's already called rakudobrew, so 'build-rakudo' is quite redundant | ||
Ulti | ever | ||
Su-Shee | masak: well. I asked that 10 minutes ago. | ||
tadzik | build-panda was an addition, and it also works as 'build panda' since everyone accidentally writes it that way | ||
15:42
webstrand left
|
|||
mst | yes, but apparently he wasn't reading, so I answered it again | 15:42 | |
masak | Su-Shee: sorry, my backlogging sucks these days :/ | ||
mst | all good | ||
Su-Shee | tadzik: then why not just write build panda everywhere? because I typed build panda as well and it just worked :( | ||
masak | <Su-Shee> perlpilot: why is it build moar but build-panda? | ||
tadzik | I don't mind removing the build-panda form | ||
masak | found it :) | ||
tadzik | also | ||
well | |||
masak | tadzik: I'm fine as long as it works both with and without the hyphen ;) | 15:43 | |
RabidGravy | THINK OF THE CHILDREN! | ||
llfourn | should be fine unless someone invents a pandaVM that runs rakudo | ||
masak | tadzik: that, or only one of the ways works. | ||
tadzik | I caught myself trying to explain it like "it's obvious if you look at how it's implemented!" but that's just a stupid excuse :) | ||
15:43
webstrand joined
|
|||
Ulti | just 'build' defaulting to the current tagged release and building panda too would be good | 15:43 | |
masak | tadzik: :D | ||
tadzik | masak: so you're fine either way? | ||
masak | tadzik: no, no | ||
tadzik | oh | ||
well, both forms work now | |||
so you're happy :) | |||
masak | tadzik: should be "all four forms work now" for me to be happy | ||
tadzik | oh | 15:44 | |
perlpilot | tadzik: I want "rakudobrew dwim" to do all the things in just the right way that makes me happy ;-) | ||
Ulti | surely the panda vm would be called bamboo | ||
Su-Shee | well it looks like a typo when you actually read the docs. so you start question of it. | ||
tadzik | perlpilot: that's actually brilliant | ||
15:44
loren left
|
|||
tadzik | Ulti: bamboo already exists :) | 15:44 | |
Ulti | because pandas run on bamboo | ||
masak | tadzik: `build-moar`, `build moar`, `build-panda`, `build panda` | ||
mst | perlpilot: yes, I've already been thinking about that | ||
Ulti | oh well we can target it then :D | ||
tadzik | it's a dependency bundler: github.com/sergot/bamboo | ||
RabidGravy | document the one that least confuses, allow both, solved | ||
mst | that's a better name than I had for it | ||
masak | RabidGravy: right | ||
15:44
Arrowhead left
|
|||
masak | RabidGravy: I think space is less confuzzling than hyphen | 15:44 | |
tadzik | so, tl;dr: change the documentation to remove the hyphen | ||
masak | aye | ||
++tadzik | 15:45 | ||
perlpilot | +1 | ||
muraiki | rakudobrew build—panda | ||
masak | tadzik: what perlpilot said, but s/dwim/christmas/ | ||
Ulti | tadzik++ you'll need the karma once you're done too | ||
mst thinks we need a rakudo-build ala perl-build | |||
masak | tadzik: or s/dwim/xmas/ | 15:46 | |
perlpilot | masak: oh! yes, like that. | ||
masak | tadzik: or both :) | ||
RabidGravy | masak, "rakudobrew dwim"? cooooool | ||
masak | RabidGravy: no, "dwim" is like so one minute ago! :P | ||
smls thinks "cocoon" could be a decent name for some Perl 6 package-management related tool | |||
15:47
Arrowhead joined
|
|||
FloydATC | Another newbie question: Where in the world does panda install modules when executed as non-root? I installed one but I can't find it anywhere | 15:47 | |
tadzik | it's fixed | ||
15:47
pierre-vigier left
|
|||
Su-Shee | I'm happy without all the puns as long as I get an easy consistent foolproof install thing. for all I care it can be named klauspeter. | 15:47 | |
tadzik | Su-Shee: challenge accepted | ||
Su-Shee | tadzik: did you fix it on both perl6.org and rakudo.org? | ||
15:48
RubiO joined
|
|||
tadzik | Su-Shee: neither, I fixed readme and --help :) | 15:48 | |
15:48
aenaxi joined
|
|||
Su-Shee | tadzik: ah, in tadzik's org :) | 15:48 | |
tadzik | I don't think I can fix it on rakudo.org, but I can get perl6.org | ||
Su-Shee: pretty much, yes :) | |||
FloydATC | ...since I can't find the equivalent to "perldoc" for modules I thought I'd peek inside but I can't find it... feel like my parents here :-| | ||
RabidGravy | shit, tadzik isn't omnipotent? I'm aghast ;-) | ||
tadzik | FloydATC: have you tried p6doc? | 15:49 | |
Ulti | isnt p6doc the synopsis stuff rather than the actual docs? | ||
RabidGravy | no actual docs.perl6.org stuff | ||
FloydATC | Nope, I'm completely new and lost. Just brewed rakudo a few minutes ago | ||
tadzik | RabidGravy: heh, fsvo potent perhaps :D | ||
RabidGravy | :) | ||
tadzik | (I hope that this only sounds largely inappropriate in polish) | 15:50 | |
15:50
pierre-vigier joined
|
|||
Su-Shee | so. off to see the force awakens ;) | 15:50 | |
tadzik | \o/ | ||
have fun :) | |||
15:50
andreoss left
|
|||
tadzik | and I'll show you my fan theory later | 15:50 | |
Su-Shee | tadzik: I'm not a fan. | 15:51 | |
masak | Su-Shee: have the appropriate amount of force | ||
tadzik | doesn't matter! | ||
FloydATC | tadzik: p6doc must be cloned and built completely separately from rakudo, is that right? | ||
tadzik | it's still hilarous | ||
RabidGravy | I know we're targetting 7 yos as well as gnarled geeks but I think you're alright | ||
tadzik | FloydATC: yes, it's a module | ||
pmurias | mst: re rakudo-build, that is what people who want to install rakudo in /usr/local should be using instead of bending rakudobrew | ||
masak | tadzik: is it about Jar-Jar being a jedi? :/ | ||
Su-Shee | tadzik: oh god no.. I hate "hilarious" :( | ||
tadzik | masak: no, it's better than that | ||
FloydATC | oh so "panda install p6doc" should work then? | ||
Su-Shee | masak: PLEASE DO NOT SCARE ME | ||
tadzik | masak: have you watched it already? | ||
the 7th | |||
masak | Su-Shee: what? that one is obvious if you think about it... | ||
tadzik: nope | 15:52 | ||
dalek | kudo/nom: 74ab052 | lizmat++ | src/core/DateTime.pm: Make DateTime.now about 4x faster By creating it from posix, rather than from the Instant now. |
||
Su-Shee | masak: I don't care if it's obvious, I so dearly hate figures like jar jar and neelix and the like. :( | ||
TimToady | NO SPOILERS!!!! | ||
yoleaux | 14:34Z <orbus> TimToady: I did some more checking last night. It's not documented in the class docs on doc.perl6.org, but the base Exception class does indeed have .resume . If there's a way to prevent people calling it on custom exceptions in modules, I haven't figured it out yet. | ||
tadzik | masak: ah, alright. My theory is based on, and contains minor spoilers | ||
RabidGravy | lizmat++ # speed up Chronic wildly | ||
masak | tadzik: no minor spoilers! | ||
tadzik | NO LOL | ||
NO PROJECT EULER | |||
masak | NO PROJECT SPOILER | 15:53 | |
skids | Spoiler -- Jar-Jar sings "oh meesa horney" | ||
mst | pmurias: right, and then rakudobrew can piggyback on that and etc. | ||
tadzik | skids: :D | ||
RabidGravy | no elvis, beatles or the rolling stones | ||
masak | Su-Shee: I agree Neelix has few redeeming qualities. | ||
RubiO | Can anybody help me? I get the error "===SORRY!===\nError encoding ASCII string: could not encode codepoint 234" whenever I try to run an script on MoarVM. I noticed it doesn't happen on JVM. I googled this message but with no luck until now. | ||
webstrand | Is there any reason not to move panda to perl6/vendor since I'm packaging it? | ||
masak | RubiO: seems your script is in some odd encoding. | 15:54 | |
RubiO: are you on Windows? are you using Notepad? :) | |||
asht | on perl6 command line, what are the valid values for "target"? I can't find much documentation on command line. | ||
RubiO | No, I'm on Fedora 22 | ||
RabidGravy | better share the code then as I'm on Fc22 too | 15:55 | |
RubiO | I'll try to save it again on another encoding | ||
Let me see how it goes | 15:56 | ||
masak | asht: --target=mbc on Moar, --target=jar on the JVM | ||
15:56
lustlife left
|
|||
masak | RubiO: should be UTF-8, preferably | 15:56 | |
mst | webstrand: what would that ential? | ||
perlpilot catches back up ... | |||
webstrand | mst: mv $prefix/site $prefix/vendor | ||
perlpilot | so "rakudobrew build panda" is what rakudo.org should say, yes? | ||
asht | masak: Thanks, masak. | 15:57 | |
RabidGravy | I think "parse" "ast" and some other things are valid targests but only useful for deep debugging | ||
FloydATC | Even more confused now. I installed "HTTP::Server" using panda but can't find it anywhere. My test script is okay with "use HTTP::Server" but p6doc says it can't find "HTTP::Server". | ||
15:57
molaf joined
|
|||
mst | webstrand: oh. right. if you're supplying a version via OS packages it should be going into vendor, yeah | 15:57 | |
16:00
pierre-vigier left
|
|||
llfourn | FloydATC: I'm not sure that p6doc works with modules... | 16:02 | |
RabidGravy | FloydATC, I don't think p6doc has caught up with the way the modules are stored | ||
llfourn has never used p6doc | |||
FloydATC | ok, makes sense | 16:03 | |
Ulti | asht: you can also --target=parse and --target=ast which are some of the compiler steps before producing anything executable, only really useful for slang/compiler debugging | ||
FloydATC | So, how are the modules stored? Because I've tried locating them and can't | ||
llfourn | FloydATC: somewhere in .rakudobrew if you're using it | 16:04 | |
FloydATC | I am, but 'find' comes up with nothing that matches so I'm a little confused | 16:05 | |
Ulti | try grep for the class name | ||
FloydATC | In fact.. s/a little//; | ||
Well, for HTTP::Server I tried to grep for Server.pm and got nothing | 16:06 | ||
Ulti | grep for Server | ||
the .pm wouldnt be in the source | |||
FloydATC | I find nothing relevant and HTTP comes up empty | 16:07 | |
ShimmerFairy | try ~/.perl6 | ||
llfourn | hmm so like FloydATC is right i can't find em either as .pm files | 16:08 | |
perlpilot | yeah, but good luck finding something resembling the name "Server.pm" | ||
llfourn | I can find precomp files | ||
FloydATC | Nothing in ~ at all, in fact I changed to root, did 'updatedb' and then locate, still only finding perl5 stuff | ||
llfourn | so panada doesn't keep the .om around anymore? | ||
s/om/pm/ | 16:09 | ||
awwaiid | perlpilot: it's rakudobew build-panda last I knew | ||
RabidGravy | it hashes the .pm file too | ||
llfourn | ahh that makes sense | ||
16:09
vendethiel left
|
|||
perlpilot | awwaiid: aye, but "rakudobrew build panda" also works and seems to be less confusing | 16:09 | |
llfourn | I mean that explains what I'm seeing not that I understand why | ||
RabidGravy | so "find <wherever> | xargs grep -l HTTP::Server" should find it | 16:10 | |
16:11
zakharyas joined
|
|||
llfourn | hmm so #inst compunit repo stores files as hashes | 16:11 | |
Skarsnik | hm, How I get the 'value' of a Parameter? | ||
RubiO | masak, RabidGravy, I reduced the problem to this: I can have non-ascii chars on token names on a grammar, but I got that error if I try to refer to the declared token using <>. | ||
For instance, this passes OK on "perl6 -c": grammar { token TOP { <numero>+ } token número {<< \d+ >>} } | 16:12 | ||
But this does not: grammar { token TOP { <número>+ } token número {<< \d+ >>} } | |||
Ulti | Skarsnik a command line one? @*ARGS | ||
Skarsnik | nop the Parameter type | 16:13 | |
doc.perl6.org/type/Parameter | |||
but come to thing of it, it's probably not "doable" | |||
Ulti | do you mean specifically from within a function getting the params of that function | ||
RabidGravy | RubiO, I was going to ask you to distl it down but you did, unless someone chimes in I'd suggest that may be worth an RT | 16:14 | |
m: grammar { token TOP { <número>+ } token número {<< \d+ >>} | |||
camelia | rakudo-moar 74ab05: OUTPUT«===SORRY!===Error encoding ASCII string: could not encode codepoint 250» | ||
perlpilot | RubiO: also, you said you don't get that error on JVM? | ||
chansen_ | lizmat: If you really want to make DateTime faster, only store absolute count of elapsed unit since epoch and lazily compute the broken down components. Current implementation makes the same mistakes as the Perl5 implementation of DateTime.pm | ||
RubiO | Here's a better example. This runs OK: perl6 -c -e 'grammar { token TOP { <numero>+ }; token número {<< \d+ >>} }' | ||
This does not: perl6 -c -e 'grammar { token TOP { <número>+ }; token número {<< \d+ >>} }' | 16:15 | ||
RabidGravy | I'm curious now | ||
RubiO | perlpilot, yes. This runs OK: perl6-j -c -e 'grammar { token TOP { <número>+ }; token número {<< \d+ >>} }' | 16:16 | |
RabidGravy | m: sub número() { say "ahay" }; número() | ||
camelia | rakudo-moar 74ab05: OUTPUT«ahay» | ||
lizmat | chansen_: is there a Perl5 implementation without those mistakes ? | ||
RabidGravy | okay, so it's "just" in there | ||
RubiO | Strangely enough, yes. | 16:17 | |
Skarsnik | Ulti, I am validating the signature of a routine and I want to valid too the evenvual parameters of a callable if one is given | ||
RubiO | And I'm sure it ran before. It must have been introduced in some recent update | ||
chansen_ | lizmat: Time::Moment, but most of it's implementation is in C/XS | 16:18 | |
perlpilot | that would normally make me think that it's really an NQP problem leaking through, but I'm not so sure | ||
RabidGravy | RubiO++ # top weirdness of the day :) | ||
16:19
Arrowhead left
16:20
Arrowhead joined
|
|||
[ptc] | 17:20 -!- Arrowhead [~schuller@535500D8.cm-6-6a.dynamic.ziggo.nl] has joined #perl6 | 16:20 | |
whoops, sorry | |||
RabidGravy | perlpilot, but you'd share my assessment it's a bug right? ;-) | ||
RubiO | m: grammar { token TOP { <número>+ }; token número {<< \d+ >>} } | 16:21 | |
camelia | rakudo-moar 74ab05: OUTPUT«===SORRY!===Error encoding ASCII string: could not encode codepoint 250» | ||
perlpilot | RabidGravy: indeed :) | ||
16:21
xinming left
|
|||
RabidGravy | RubiO, on the grounds no-one is going to fix it right here could you file a bug at rt.perl.org/ (against Perl 6 natch) or email the address I can't remember | 16:23 | |
16:23
vendethiel joined
|
|||
llfourn | [email@hidden.address] #my best frnd | 16:24 | |
RubiO | RabidGravy: ok | ||
RabidGravy | [email@hidden.address] | ||
llfourn | yes | ||
perlpilot | [email@hidden.address] ! | ||
:) | |||
RabidGravy | sorry brane is a bit laggy | 16:25 | |
chansen_ | lizmat: you can also look at Go's implementation, C# and C++ boost | ||
masak | tadzik: thinking about it, maybe `rakudobrew install` is the least punny, most self-explanatory subcommand | 16:26 | |
tadzik: you can always claim it's short for "install all" :P | 16:27 | ||
perlpilot | "rakudobrew install all the things now please" | ||
RabidGravy | but top bug, nonetheless. It's a worry when actual real bugs are more exciting than misunderstandings | ||
16:27
yayster left
|
|||
pmurias | RabidGravy: --target=ast is awesome for the implementers | 16:28 | |
AFAIR niecza didn't have proper ast dumping support and it was a major barrier for getting involved with it's development | |||
RabidGravy | yeah, even I've used it it but not convinced of it's more general utility ;-) | ||
16:29
Arrowhead left,
Arrowhead joined
16:30
xpen joined
|
|||
hoelzro | o/ #perl6 | 16:30 | |
pmurias | hoelzro: hi | ||
hoelzro | o/ pmurias | 16:31 | |
16:31
kmj left
16:33
xinming joined
|
|||
smls | So... Have any press outlets picked up on the Perl 6 release yet? | 16:34 | |
(Not counting hackernews / sdlashdot / perl blogs) | |||
gfldex | smls: heise.de did | 16:35 | |
16:35
hankache joined,
xpen left
|
|||
hankache | .tell supernovus can kindly check the PR on github.com/supernovus/template6 It adds "use MONKEY-SEE-NO-EVAL" in order for EVAL to work | 16:37 | |
yoleaux | hankache: I'll pass your message to supernovus. | ||
TimToady | smls: infoworld did a piece | 16:39 | |
hankache | hello * | ||
TimToady link? | |||
smls | this one? www.infoworld.com/article/3017418/a...stmas.html | 16:40 | |
16:40
simcop2387 left
|
|||
Skarsnik | damn void method have two params when using signature.param on them? | 16:41 | |
16:42
simcop2387 joined
|
|||
RubiO | #127075 open for encoding error when a non-ascii token is referenced back in a grammar. | 16:42 | |
dalek | pan style="color: #395be5">perl6-examples: cfc205a | paultcochrane++ | categories/euler/prob288-shlomif.p6: Add verbose cmd line option to problem 288 This reduces the amount of output to check in the tests. |
||
pan style="color: #395be5">perl6-examples: 4970aba | paultcochrane++ | t/categories/euler.t: [euler] add tests for problems 288, 329 and 539 |
|||
16:42
simcop2387 left,
simcop2387 joined
|
|||
timotimo | cosimo: for jupyter/iperl6kernel you best ask arnsholt | 16:43 | |
dalek | pan style="color: #395be5">perl6-examples: f3a6365 | paultcochrane++ | .gitignore: Ignore the .precomp dir |
||
[ptc] | stmuk: what are *.un~ files? Just noticed them in perl6-examples .gitignore | ||
chansen_ | lizmat: if you want more input or work on this together, let me know | 16:44 | |
lizmat | chansen_: I think there's room for such an implementation in module space | ||
chansen_: I think the current Perl 6 implementation is now at a nice place wrt to speed, ease of use and API | 16:45 | ||
hankache | anyone working on the windows MSI? | ||
chansen_ | lizmat: IMHO, core DateTime should be fast and correct | ||
lizmat | chansen_: dates and times are two different things | ||
chansen_: agree with you on the correct part: and afaik, it's now correct except for "now" being one second off when inside a leap second | 16:46 | ||
but that is an underlying OS issue, really, I'm afraid | |||
chansen_: at former $work, I used to have to deal with dates a lot | 16:47 | ||
if you know the range in which you want to accept dates, things can be speeded up by again some order of magnitude | |||
but DateTime/Date/Dateish need to be more general, so no go for that :-) | 16:48 | ||
16:49
simcop2387 left
|
|||
pmurias | hoelzro: I'll be applying for a hague grant to work on rakudo-js: github.com/pmurias/grant_proposal/.../draft.pod | 16:50 | |
hoelzro | awesome! pmurias++ | ||
pmurias | hoelzro: if you have time I would love to see feedback | ||
hoelzro | sure, I'll take a look | ||
ShimmerFairy | .tell nine according to bisection, ac7b2a5a8381d5f255906437d1980c9c3b77e2a5 is the rakudo commit that breaks SUPERNOVA for me (without trying Grammar::Tracer). And I can't tell why. | 16:51 | |
yoleaux | ShimmerFairy: I'll pass your message to nine. | ||
chansen_ | lizmat: I'm not talking about leap-seconds, DateTime.pm in p5 and p6 pretends to observe leap-seconds and is probably the only one that does in a "standard" library which is just silly IMHO! | ||
perlpilot | pmurias: nice | 16:52 | |
chansen_ | lizmat: You cannot obtain current time from OS using time() or gettimeofday() and observe leapseconds | ||
16:52
pdcawley joined
16:53
mohij joined
|
|||
chansen_ | You need to query NTP to obtain whether or not leap second is in effect | 16:53 | |
16:54
cdg joined
|
|||
RabidGravy | pmurias, as some of my DJ friends say "full support" :) | 16:54 | |
chansen_ | .. or GPS or a Atomic clock | ||
ChoHag | There's nothing silly about being correct. | 16:55 | |
If leap seconds exist, software which deals with times should consider them. | 16:56 | ||
chansen_ | lizmat: Learn from others, don't learn from p5 DateTime! | ||
16:56
simcop2387 joined
|
|||
cosimo | timotimo: ok | 16:57 | |
lizmat | chansen_: well, I'm afraid your suggestion comes quite a few years too late :-( | ||
chansen_: but as always, patches welcome | |||
perlpilot | chansen_: you could offer a "better" implementation. If it's truly better, it could find its way into core. | ||
RabidGravy | I'm torn. Only a canonical time source can no about leap seconds | ||
16:57
_mg_ left
16:58
pdcawley left
|
|||
RabidGravy | know even | 16:58 | |
ChoHag | I know about leap seconds, and there's nothing canonical about me. | ||
lizmat | chansen_: personally, I'm just about done with Dateish/Date/DateTime | ||
autarch | FWIW, I agree with chansen_ about leap seconds - totally not worth it | ||
perlpilot | RabidGravy: a priori, yes, but after the fact, anything can "know" about leap seconds. :) | ||
RabidGravy | ChoHag, but you're special :) | ||
japhb | Also, how leap seconds are handled isn't standardized even by those who care. Several cloud providers "smear" leap seconds, for example. | 16:59 | |
perlpilot | autarch: do you also agree with his assessment of DateTime? :) | ||
lizmat | well, everybody: leap second support is engrained in 6.c now, so not going to go away | ||
chansen_ | perlpilot: which assessment? | ||
autarch | perlpilot: somewhat - there are things that DateTime does really well | ||
ChoHag | Since perl 6 isn't an OS or even its kernel, leap seconds only need to be counted, not lived. | ||
lizmat | you don;'t want to know how many tests we have for that :-) | ||
perlpilot | chansen_: the "mistakes" you mentioned. | 17:00 | |
17:00
pierre-vigier joined
|
|||
autarch | I do want to see p6 have full support for time zones as Olson zones with rules, not as offsets | 17:00 | |
japhb | Ditto that .... | ||
ChoHag | What you don't want is some developer deciding that they absolutely must handle leap seconds, finding out that DateTime doesn't, and rolling their own. | ||
autarch | I will say that supporting time zones _and_ leap seconds makes life incredibly hard | ||
and of the two, tz support is far more practically useful | 17:01 | ||
japhb | autarch: Why so? | ||
ChoHag | Well perl's all about making the impossible merely hard. | ||
japhb | Are there any leap seconds near rule boundaries? | ||
autarch | japhb: when constructing an object from the local time, it's really hard to figure out if it's valid | ||
japhb | Oh, hmm. | 17:02 | |
chansen_ | perlpilot: As I said, look at GO, C#, C++ boost, ObjC NSDate, If you want papers (I have booksmarks, let me know= | ||
.. GDateTime | |||
autarch | to clarify - if you specify "second = 60" then validating that requires you to know the offset from UTC, which is tricky to figure out before validating the values | ||
TimToady | translate to atomic and back, and see if it matches? | ||
dalek | kudo/nom: 461e635 | lizmat++ | src/core/Date (3 files): Make &formatter a Dateish attribute This effectively adds :formatter parameter to Date as well. Because? Well, why not, it would make things consistent and further simplify Date/DateTime |
17:03 | |
perlpilot | or ... forego validation ;> | ||
autarch | if I were to do it all over again I'd probably look for a C library that does most of this and link against that or something | ||
japhb | autarch: Ah, I can see the chicken-and-egg problem, yes. | ||
chansen_ | perlpilot: I did my research when I implemented Time::Moment in C/XS | ||
lizmat | autarch: well, the Date/DateTime modules predate NativeCall... they were one of the first to be implemented, I think | 17:04 | |
autarch | blog.urth.org/2010/11/26/cpan-api-r...eduration/ - my review of DateTime | ||
leont agrees with Olson zones being way more useful than offsets | |||
japhb | chansen_: Note that "no one else in the language dev community decided to try" is not in itself an argument that necessarily sways the Perl community .... | ||
17:04
pierre-vigier left
|
|||
TimToady | yeah, we're funny that way | 17:04 | |
ChoHag | Actually doing shit? | ||
Who *does* that? | |||
leont | In fact, I'd say offsets are so often used wrong that they can be harmful | 17:05 | |
17:05
cdg left
|
|||
RabidGravy | ornery mofos thelot of 'em | 17:05 | |
TimToady | now, let's keep it butterfly friendly, kids | ||
autarch | yeah, offsets are basically just wrong | ||
RabidGravy | TimToady, I was ;-) | 17:06 | |
chansen_ | japhb: I'm not sure I follow, care to elaborate? | ||
autarch | offsets fall under "making hard things harder, and wrong things easy" | ||
ChoHag | Do butterflies not swear? | ||
chansen_ | autarch: I agree | ||
ChoHag | autarch: That's basically programmin in a nutshell. | ||
17:06
cdg joined
|
|||
chansen_ | autarch: But Time::Moment is a true implementation of ISO 8601 | 17:07 | |
TimToady | not when there might be larvae reading the logs | ||
RabidGravy | a kind of rooting question, how often are leap seconds issued? | ||
17:07
asht left
|
|||
perlpilot | whenever needed | 17:07 | |
but no more than 2 times per year | |||
leont | Once every ±3 years on average, I think | ||
ChoHag | Languages should stop people doing stupid things when hammers can no longer hurt thumbs. | ||
TimToady | it depends on how hard the asteroid hits and at what angle | ||
RabidGravy | right | ||
chansen_ | heh | 17:08 | |
TimToady | speaking of hammers | ||
japhb | chansen_: Meaning: we might get things wrong (and we have), but lots of other languages not doing something never stopped us from *trying* to get something right before. :-) | ||
autarch | the rest of the core p6 DateTime stuff looks fine, but I think it'd be good to rip out the timezone bits and replace them with something Olson-ish | ||
Skarsnik | "Let's add this to NC, it should only take an hour"... 4 hours later | ||
japhb | autarch: Sadly, we need both, in order to interop with the ISO standard. | 17:09 | |
autarch | I wish there were an Olson C lib | ||
japhb | ... but I will heavily second *that* | ||
ChoHag | 400%? I'm still in the foundation stages 3 years later on something I was sure would take about 4 months. 6 tops. | ||
autarch | japhb: given the _current offset_ in seconds or formatting as "+07:00" is totally ok - calling that a _time zone_ is not | ||
TimToady | quick, write a C backend for Perl 6, and we can write the C lib for them | ||
RabidGravy | a lot of worry and sweat over a ~ 1/100000000 inaccuracy this then | ||
autarch | TimToady: back in 5 minutes | ||
japhb | autarch: Ah, then we 100% agree | ||
autarch | done - finished early | 17:10 | |
chansen_ | I definitely agree with autarch, I have received countless of emails asking how to use Time::Moment with time zones. | ||
TimToady | :D | ||
autarch | it's at imaginarygithub.com | ||
perlpilot | RabidGravy: well ... we want P6 to be used for highly accurate things at some point :) | ||
TimToady | actually, you just have to unroll MoarVM, since it's in C | ||
autarch | in all seriousness, parsing the Olson files in Perl 6 should not be too hard other than the fact that there's basically zero documentation of the internal format other than some of the grottiest C code I've ever looked at ;) | 17:11 | |
17:11
pierre-vigier joined
|
|||
ChoHag | Perl programmers are no strangers to grotty-looking source code. | 17:11 | |
TimToady | we speak Unicode, so how hard could Olson be? | ||
japhb | autarch: I would think your Perl 5 code qualifies in that regard as well .... | ||
ChoHag | TimToady: Thems sounds like famous last words. | ||
RabidGravy | I like second accuracy, I run a radio station that annoys the DJs by starting and ending their shows bang on the second they're supposed to, but what? | 17:12 | |
autarch | japhb: I don't parse the binary files - just the text source - but that was a terrible idea | ||
chansen_ | autarch: how about two implementations, one that uses the tzfile(5) provided by many OS and one that uses Olsen raw data? | ||
autarch | _do not do what I did_ | ||
hoelzro | pmurias: looks good to me! | ||
autarch | chansen_: I think it might be easier to just package up the Olson binary data as a Perl 6 distro for OS's that don't include it | ||
17:12
SwellJoe joined
|
|||
autarch | that's basically what zefram did | 17:12 | |
dalek | c: cae275b | skids++ | doc/Language/ (2 files): Link up (hopefully, contingent on markup working) wantarray sections Also, provide examples for alternatives to wantarray |
17:13 | |
autarch | TimToady: here's you docs ;) github.com/eggert/tz/blob/master/zic.c | ||
17:13
espadrine left
|
|||
flussence | the timezome-data package I've got installed provides /usr/sbin/zdump, which prints everything in a nice one-line-per-thing text format | 17:13 | |
17:14
hankache left
|
|||
autarch | the key bits start at github.com/eggert/tz/blob/master/zic.c#L1592 | 17:14 | |
japhb | autarch: Psssh, I've seen *way* grottier C code. :-) | ||
autarch | japhb: great, explain to me what the heck that does then! | 17:15 | |
japhb | Though the formatting rules are ... weird. | ||
flussence | so if anyone's thinking of writing a zonefile parser, test it against that reference implementation :) | ||
chansen_ | autarch: That would also work | ||
17:15
itaipu left
|
|||
japhb | autarch: I just remembered, I have something else to do ... | 17:15 | |
autarch | flussence: yes, that's how I generate test for DateTime::TimeZone | ||
japhb hums innocently | |||
lizmat | autarch: for adding Olson timezone support, you only need to augment method new() with a candidate that takes Str:D $timezone instead of Int | 17:16 | |
autarch | github.com/autarch/DateTime-TimeZo...from_zdump - parsing zdump | ||
17:16
pierre-vigier left,
pierre-vigier joined
|
|||
leont | Who the hell assumes the compiler has 5 registers available? | 17:16 | |
autarch | lizmat: well, then the internals need to do something with that, and the timezone method should not return what it returns now | ||
leont | That's just, dumb | ||
RabidGravy | I think I'm going to have to "upgrade" to some serious beer to follow this | 17:17 | |
lizmat | autarch: call BUILD the same was as the current main new, and we should be in business | ||
chansen_ | leont: 5 registers, which compiler? | ||
leont | No, 8 even! | ||
That code autarch just linked | |||
RabidGravy | leont, I'm sure there are microcontrollers that do | ||
leont | I'm sure there are, it's just but this isn't code for microcontrollers | 17:18 | |
japhb | I like the bit where the comments go into great detail about the age of the big bang ... and then round to the nearest power of two. | ||
autarch | lizmat: it's a little more involved than that - you can't just turn an Olson tz into a number and then use that internally | ||
leont | (grammar!, sigh) | ||
timotimo | oh hey japhb | ||
japhb | oh hey timotimo | 17:19 | |
lizmat | autarch: you can for a given YYYMMDDHHMMSS ? | ||
ChoHag | How do we specify and use class/module versions? | ||
timotimo | i feel i'm a bit reluctant to go ahead and run benchmarks with current rakudo and older rakudos because of the "tests require different code at different releases" :| | ||
oh, and i still ought to write that weekly | |||
autarch | lizmat: yes, but things like .later and .earlier need to pass the zone name around so that you get the right local time | ||
RabidGravy | speaking of which I'm going to completely rip off the C code from Device::SMBus in a minute | ||
timotimo | i could get started on that after grocery shopping | ||
ChoHag | I recall a lot of arguments on this in perl 5. Did 6 solve the problem or do we now have n+1 standards? | ||
autarch | also, how do you handle non-existent local times, 25 hour days where there are two of the same hour, etc. | ||
RabidGravy | get beer it will help | ||
leont | Time is difficult :-( | 17:20 | |
japhb | timotimo: We should fix (if needed) any tests for Perl 6 6.c and NQP 2015.12, and anything too old for that is ... too old. | ||
nine | ChoHag: we do have a Version class and version literals. | ||
yoleaux | 16:51Z <ShimmerFairy> nine: according to bisection, ac7b2a5a8381d5f255906437d1980c9c3b77e2a5 is the rakudo commit that breaks SUPERNOVA for me (without trying Grammar::Tracer). And I can't tell why. | ||
japhb | I find myself less interested in the deep past recently. | ||
RabidGravy | but we couldn't do without it | ||
ChoHag | I saw that. | ||
nine | ShimmerFairy: that...does not make any sense | ||
ChoHag | No idea how to correctly use it. For whatever value of 'correct'. | 17:21 | |
lizmat | m: my Int $a = 3600 but role { method Str { "Europe/Amsterdam" } }; say $a, $a + 0 # adding timezone info | ||
camelia | rakudo-moar 461e63: OUTPUT«Europe/Amsterdam3600» | ||
lizmat | autarch: ^^^ | ||
perlpilot | leont: I think time is fine ... it's just the human gyrations with time that are difficult. | ||
leont | What is time without human gyrations? | ||
RabidGravy | lizmat++ :) | ||
perlpilot | leont: simple! | ||
RabidGravy | leont, leave peoples gyrations outta this | 17:22 | |
leont throws relativity at perlpilot | |||
japhb | perlpilot: Do you consider "general relativity" one of those human gyrations? | ||
ChoHag | Should DateTime handle time dilation? | ||
perlpilot catches the relativity and juggles it with classical mechanics | |||
RabidGravy | it would be so much simpler if everything happened all at once | 17:23 | |
timotimo | japhb: if anything past 2015.12 is "too old", i can hardly get a good performance comparison against older versions :) | ||
flussence goes to check up on What Would Postgres Do?™ in this situation | |||
ChoHag | RabidGravy: It does. | ||
japhb | timotimo: Well, you can, just not a *complete* one. Older compilers will handle fewer and fewer of the tests. | ||
ChoHag | With the right definition of "once". | ||
timotimo | fair enough | 17:24 | |
17:24
RubiO left
|
|||
TimToady | Perl 6 is designed to track atomic time. It doesn't really care *whose* atomic time it's tracking. :) | 17:24 | |
RabidGravy | that's alright then. time is hitler | ||
timotimo | i suppose i'll just go do a run or two | ||
TimToady | we're done here :) | ||
japhb | timotimo: You just won't be able to use the single summary number for overall performance comparison, unless we change the way it is calculated when tests are missing. | ||
FloydATC | I thought time was money | ||
chansen_ | lizmat: there are two sides, the instant and the local date. When computing the offset from a local date there is potential result of ambiguous/non-existant time while computing the offset from instant is unambiguous. | ||
ChoHag | Did a discussion on time just get Godwinned? | ||
Impressive. | 17:25 | ||
perlpilot | "Every Perl 6 compiler ships with a Cesium 133 atom to calibrate it's DateTime implementation" | ||
ChoHag | Must have been going on for a ... long time then. | ||
perlpilot | s/it's/its/ | ||
RabidGravy | :) | ||
flussence | hm, pg's built in idea of a "time zone" is 4 digits too... | ||
timotimo | perlpilot: isn't a single atom a bit too sparse to get atomic time pings? | ||
RabidGravy | perlpilot, the export regs might be trickt but hey. I've been pestered by boeings lawyers for less. | 17:26 | |
japhb | ChoHag: I suddenly have the urge to find some tie-in that would make the Godwin application actually relevant. | ||
ChoHag | timotimo: The idea is to get the cumulative effects of all the perl 6 users. | ||
perlpilot | ChoHag: that's also how we track them ;) | ||
dalek | c: 2c77d0f | lizmat++ | doc/Type/Date (3 files): Document Date's :formatter named parameter Just like DateTime's, now that it lives in the Dateish role. |
17:27 | |
japhb | .oO( Even the Perl 6 users in space? ... Oh dang, was I not supposed to talk about those? ) |
||
mst | japhb: SPAAAAAAAAAAAAAAAAAAAAACE | ||
autarch | lizmat: that might work, but I'd have to think about it | 17:28 | |
17:28
_nadim left
|
|||
japhb | mst: "It's called that, because there's so much of it." | 17:28 | |
perlpilot | japhb: "Perl 6 was so revolutionary, we had to kick some people off the planet" ? | ||
japhb | perlpilot: :-D | ||
autarch | lizmat: there are a lot of gotchas once you start handling time zones properly | 17:29 | |
lizmat | well, I'm done with Dateish/Date/DateTime now | ||
ChoHag | Isn't time/date handling more gotcha than not? | ||
lizmat | scratched my itch | ||
japhb | mst: That, BTW, was pretty much the defining line in one of my all time favorite movie reviews, ranting about spaceships constantly colliding with each other. | ||
autarch | the other alternative is to have the core class not do anything with time zones at all, just treat everything as a floating time and leave this up to someone else to implement in the future | ||
perlpilot | lizmat++ | 17:30 | |
mst | japhb: hah, yeah | ||
autarch | ChoHag: pretty much | ||
perlpilot | lizmat: it's good to move on before getting sucked into the mire. | ||
ChoHag | autarch: The problem with that is, they will. | ||
mst | novels where that obviously can't even happen are nice | ||
autarch | ChoHag: I meant someone like me or chansen_ | 17:31 | |
not "every person should implement their own version" | |||
17:32
Actualeyes left,
RubiO joined,
mohij left
17:33
TimToady left
|
|||
perlpilot | autarch: that's something I was going to suggest 30 minutes ago, but then I thought about the fallout from people trying to use DateTime without realizing that timezones are separate. | 17:33 | |
RabidGravy | autarch, you old stick in the mud ;-) | ||
autarch | perlpilot: again, as it stands now it's mostly going to encourage very broken code around anything tz-related, so having _no_ support might be better in the short term | ||
ChoHag | I know, but there's a difference between what's meant and what happens, and some unfortunate sucker has to deal with the latter. | ||
17:34
lnrdo joined
|
|||
leont agrees with autarch | 17:34 | ||
flussence | postgres' timezone handling seems less than useful: it accepts named zones for input, converts everything to utc, and drops the tz in storage | ||
17:34
TimToady joined
|
|||
autarch | one of the things I realized after many years of working on DateTime was that having separate Date, DateTime (sans TZ) and DateTime::WithTZ classes would probably have been a better design | 17:34 | |
there's a _huge_ amount of stuff that people want to do that does not require TZ support at all | |||
perlpilot | autarch: if only that unevenly distributed future could be concentrated a little bit for date/time handling ... | 17:35 | |
flussence | autarch: well, that's what pg's docs say it does, but see above :) | ||
autarch | yeah, Pg's support is really lame | ||
if you need _real_ TZ handling you have to store a UTC timestamp and a separate zone name | 17:36 | ||
flussence | it is, but at the same time it's the best I've seen in any db :( | ||
lizmat | autarch: yes, a completely separate date handler would be handy | ||
autarch | lizmat: well, that already exists, right? | ||
lizmat | but I guess that'll have to live in module space | ||
you mean Date? | 17:37 | ||
autarch | yes | ||
RabidGravy | which is a good thing | ||
lizmat | well, I don''t think using year/month/day internally for a date, is a good thing | ||
you probably only want to use a day value (e.g. since epoch) internally | 17:38 | ||
autarch | I'd recommend Rata Die, actually | ||
lizmat | and only make the y/m/d happen when needed | ||
autarch | but that's really an implementation detail | ||
lizmat | intriguing | 17:40 | |
autarch | I mean, as far as internals, it's almost certainly better to use "days since X + seconds since start of day" - but what really matters right now is the public API | ||
lizmat | but in my experience, at $work, one only needs to support dates of a certain range | ||
autarch | someone could rewrite the internals of the existing classes very easily | ||
lizmat: Rata Die makes it easy to convert to other calendars too | |||
chansen_ | We need Date (without time in zone of interest, not anchored on the global timeline), DateTime (date with time in zone of interest, not anchored on the global timeline), DateTime (with zone, anchored in the global timeline), DateTime (with offset, anchored on the global timeline). | 17:41 | |
autarch | chansen_: I think the last two are the same thing - you can have a zone that has a fixed offset for all UTC times | ||
RabidGravy | I think that can happen in module space fpr people who need it | 17:42 | |
dalek | ast: 4f2efb6 | lizmat++ | S32-temporal/Date.t: Add basic Date.new(:formatter) tests |
||
chansen_ | autarch: questionable, they can be comparable but not more | ||
autarch | I mean that they could use essentially the same implementation internally | ||
lizmat is looking forward to a module space implementation | |||
chansen_ | autarch: sure | ||
RabidGravy | I'm with lizmat | 17:43 | |
autarch | well, none of that addresses the issue with what's in core right now | ||
17:43
pierre-vigier left
|
|||
autarch | I really do think it's likely to cause problems | 17:43 | |
lizmat | autarch: specifically because ? | ||
autarch | and it's not an API that an external module that did Olson time zones could match all that easily | ||
lizmat: because people will try to use it to deal with time zones and it won't quite do things right but they won't know that | 17:44 | ||
RabidGravy | isn't that solved by documentation? | ||
autarch | they'll do something like DateTime.new( ..., :timezone( determine-local-offset() ).later( :6months ) and that _will_ give a wrong answer in many many places | ||
chansen_ | It's simple, we could do this the right way (which would solve all temporal issues) or we could leave it as is, which just would confuse developers/users | ||
leont | Yeah, what autarch says | 17:45 | |
autarch | RabidGravy: what would the docs say? "this sort of works, as long as you don't use certain features together, so be careful" | ||
chansen_ | autarch++ | ||
leont | Reminds me of a forum I frequent, where I have to set my time-offset twice per year, because it doesn't handle DST | ||
autarch | here's another alternative - we create a global lobbying group aimed at abolishing DST worldwide - problem solved | ||
chansen_ | hehe | 17:46 | |
autarch | at least for future times | ||
chansen_ | autarch: It's clear that we have spent to many hours with temporal data ;o) | ||
RabidGravy | they can't even manage it for Scotland, I think that plan is stuffed | ||
autarch | yeah, it's the worst | 17:47 | |
stmuk_ | and everyone use Greenwich time :P | ||
17:47
Arrowhead left,
zhmylove_ left
|
|||
chansen_ | stmuk_: GMT, say what? | 17:47 | |
RabidGravy | stmuk_, I can buy into that ;-) | ||
chansen_ | GMT doesn't exist any more! | ||
17:47
zhmylove joined
|
|||
autarch | Hail Britannia | 17:48 | |
RabidGravy | you tell that to the people of greenwich! | ||
lizmat | autarch: I just checked the implementation of DateTime.later | ||
stmuk_ | or Greenwich Meantime Time ;) | ||
mst | swatch beat time! | ||
stmuk_ | www.oldbrewerygreenwich.com/ | 17:49 | |
lizmat | autarch: with minor adjustment, it should handle Olson timezones correctly if such a candidate would come to exist | ||
RabidGravy | I've actually got a bottle of Meantime London Porter in the kitchen | ||
lizmat | autarch: specifically, it should need to call .new, instead of the nqp::create.BUILD shortcut | ||
autarch | lizmat: sort of - I think you'd need to really start treating the timezone as an object, not as a number | ||
17:50
pierre-vigier joined
|
|||
lizmat | autarch: everything in Perl 6 is an object | 17:50 | |
chansen_ | lizmat: why can't we, you, me and autarch together implement Temporal data as it should be done? | ||
autarch | lizmat: heh, yes, I know that | ||
lizmat | m: my Int $a = 3600 but role { method Str { "Europe/Amsterdam" } }; say $a, $a + 0 # adding timezone info | ||
camelia | rakudo-moar 461e63: OUTPUT«Europe/Amsterdam3600» | ||
17:50
webstrand left
|
|||
chansen_ | lizmat: Let's make Perl6 stand out even more! | 17:50 | |
lizmat: Java SE 8 got it right, lets Perl6 get it right! | 17:51 | ||
17:51
psy_ joined
|
|||
lizmat | well, again, as I said, you would only need to augment DateTime with another .new candidate | 17:51 | |
so let's try to do this module space first | 17:52 | ||
autarch | except for what we just said about having separate classes with and without time zones | ||
lizmat | .oO( hoping autarch will take the leas on that) |
||
*lead | |||
autarch | lizmat: I'll let you know where to ship the tuits | ||
RabidGravy | to be honest, it's right an enormous investment in time and effort was employed to get unicode right it would be nice to get time right too | ||
dalek | kudo/nom: 532c11a | (Sylvain Colinet)++ | / (4 files): NC: Add code to test the sanity of routine that receive the is native trait |
||
kudo/nom: 75e33f3 | lizmat++ | / (4 files): Merge pull request #661 from Skarsnik/nom NC: Add code to test the sanity of routine that receive the is native trait |
|||
autarch goes afk for a bit to read and enjoy his week off from work ;) | 17:55 | ||
chansen_ | RabidGravy++ | ||
TimToady | autarch++ for perspective :) | ||
chansen_ | definitely! | 17:56 | |
17:58
itcharlie joined
|
|||
itcharlie | Is there an msi windows installer for rakudo ? | 17:58 | |
17:59
xinming left
|
|||
lizmat | itcharlie: currently the latest one is from 2015.09 I believe, maybe 2015.10 | 18:00 | |
itcharlie: we're waiting for tuits to become available to the people who can do this | 18:01 | ||
18:01
xinming joined
|
|||
RabidGravy | I don't even have a windows computer available right now, but is it diffcult? | 18:02 | |
18:02
itaipu joined
|
|||
lizmat | RabidGravy: I have *no* idea | 18:02 | |
RabidGravy | I guess you would need two windows computers in order to test it | ||
stmuk_ | RabidGravy: it's not too hard | 18:03 | |
you basically need visual studio, git and perl on windows | 18:04 | ||
uruwi | Can install perl, and already have the Windows version of git. | 18:06 | |
Do the free versions of VS work? | 18:07 | ||
18:07
pierre-vigier left
|
|||
stmuk_ | yes .. but I couldn't get the very latest VS to work when I tried it a few months back | 18:07 | |
whereas VS2010 worked straight off | 18:08 | ||
18:09
pmurias left
|
|||
stmuk_ | this may be fixed I think others use VS2013 and probably later versions. my problems where with VS2015 | 18:09 | |
18:10
addison joined
|
|||
hoelzro | is there a way to access a calling module's %?RESOURCES? for example, if A calls a sub in B, can B::sub do something to get at A's %?RESOURCES? I tried CALLER::<%?RESOURCES>, but no dice =/ | 18:12 | |
RabidGravy | I keep meaning to dig some stuff out and try it with openwatcom | 18:13 | |
18:14
pierre-vigier joined
|
|||
dalek | c: 9454b1d | skids++ | doc/Language/control.pod: More massaging to unbreak links. |
18:14 | |
RabidGravy | hoelzro, doesn't the compile time thing preclude that? but hackatista action could me made | ||
hoelzro | RabidGravy: probably =/ | 18:15 | |
I could always have the caller just pass in $?RESOURCES by hand | |||
18:15
Arrowhead joined,
pierre-vigier left
18:17
asht joined
|
|||
asht | rakudobrew build java Missing serialize function for REPR ContextRef | 18:17 | |
any one has any ideas why this will happen? I am using JDK 8.66 | 18:18 | ||
on Ubuntu | |||
lizmat | asht: alas, 6.c didn't happen for rakudo on the JVM yet | 18:19 | |
rt.perl.org/Ticket/Display.html?id=127058 | 18:20 | ||
asht | np, i didn't relaize that. | ||
timotimo | hm. i'm not so happy that "returning an Int is not fine", Skarsnik | ||
RabidGravy | "please feel free to step up to help make it work" | ||
18:20
Arrowhead left
18:21
Tonik left,
_nadim joined
18:22
hankache joined
18:24
asht left,
ZoffixW joined
|
|||
FloydATC | When using .recv(:bin) to fetch binary data from an IO::Socket, can I collect it safely in a Str or must I use a Buf? | 18:25 | |
ZoffixW | Su-Shee, mst talk to Zoffix about what? RE: irclog.perlgeek.de/perl6/2015-12-29#i_11797322 | ||
yoleaux | 28 Dec 2015 21:58Z <masak> ZoffixW: re irclog.perlgeek.de/perl6/2015-12-22#i_11758406 -- the IEEE 754 standard disagrees. | ||
ZoffixW | masak, cool. Glad it's not a bug | 18:26 | |
18:26
pierre-vigier joined
|
|||
mst | ZoffixW: probably "making sure that all sources of documentation give the same usage for rakudobrew" | 18:27 | |
lizmat | FloydATC: the .recv returns a Buf, which you can't put into a Str without telling which encoding the binary data is | ||
ZoffixW | mst, I didn't realize I was made responsible for that ^_^ | 18:28 | |
FloydATC | Right, so if I don't know the encoding (yet) then I must use Buf. That's what I figured. Is there any practical difference between the two in terms of memory efficiency? | 18:29 | |
mst | generally if I poke you about it, it gets fixed | ||
so well volunteered | |||
ZoffixW doesn't remember ever being poked for anything | |||
lizmat | FloydATC: not really, afaik | 18:30 | |
FloydATC | Having my first ever stab at p6 today and it's even stranger than I expected | 18:31 | |
ZoffixW | mst, TBH, I've no idea what "perl6.org contains the README.md part but points to the rakudo.org install" means :) | ||
README.md part of what? | |||
Skarsnik | timotimo, in practice it's buggy | ||
mst | ZoffixW: references rakudobrew's README.md but then it also points at the rakudo.org page which has its own copy of the same info | 18:32 | |
ZoffixW | I'm really not the best person to fix it, as I don't know much about the install process and neither have access to rakudo.org or rakudobrew repos :) | ||
Skarsnik | timotimo, gist.github.com/Skarsnik/d4e9b31b2859114ac643 | ||
dalek | c/rb-nutshell: d55ec68 | (Brock Wilcox)++ | doc/Language/rb-nutshell.pod: Initial rb-nutshell, WIP |
||
18:34
pierre-vigier left
|
|||
ZoffixW | What we /should/ do is clear out those comments on Rakudo install page :) Even if you look past the 'wtf' comments, I see parrot install instructions mentioned and what not; those likely are to confuse people | 18:34 | |
RabidGravy | FloydATC, it's not that weird if you think of something like an HTTP response where you don't know the encoding of the body until you have actually parsed the headers (which are assumed to be in something like ASCII) | ||
18:34
protium joined
|
|||
dalek | blets: a785470 | (Herbert Breunung)++ | docs/appendix-a-index.txt: add tau constant to A |
18:35 | |
RabidGravy | see for instance what LWP::Simple or HTTP::UserAgent does with the response bodies | ||
18:35
grondilu left
|
|||
Skarsnik | h:u does whatever x) | 18:35 | |
anthk_ | hello, yesterday I tould you about reading a file with a buffer. The problem is a have a type problem somewhere | 18:36 | |
my $buf = $fh.read($fh.IO.s); | |||
loop (my $i = 0; $i < $fh.IO.s; $i++) { | |||
@memory[0x200 + $i] = $buf.elems[$i]; | |||
} | 18:37 | ||
FloydATC | RabidGravy: No I mean the language syntax itself doesn't feel like Perl at all. Some parts almost feel like Java really. | ||
RabidGravy | anthk_, Buf.elems is just the integer number of items | 18:38 | |
awwaiid | I started to write a ruby-nutshell doc, and I found s/Perl 5/Ruby/ in the introductory text to profoundly illustrate the tone of the existing docs. See first 3 paragraphs of github.com/perl6/doc/pull/288/files | ||
anthk_ | if I iterate over $buf.elems[] with say, the index is out of range, even if the condition to read the last byte is from size of the buffer :S | ||
RabidGravy: oh :| | |||
RabidGravy | you want @memory[0x200 + $i] = $buf[$i] | ||
FloydATC | Using tilde for concatenation and dot for derefence is like having to crawl all over | ||
having to learn to crawl all over | 18:39 | ||
hankache | where does panda install the modules? | ||
anthk_ | thanks :D | ||
ZoffixW | hankache, ~/.perl6/ I think | 18:40 | |
leont | You get used to it pretty soon though | ||
ZoffixW | m: say $*REPO # hankache | ||
camelia | rakudo-moar 75e33f: OUTPUT«inst#/home/camelia/.perl6/2015.12-43-g75e33f3» | ||
18:40
Begi2 left
|
|||
hankache | thanks ZoffixW | 18:40 | |
RabidGravy | anthk_, @memory[0x200 + $_] = $buf[$_] for ^$buf.elems; without the loop moght be more idiomatic | 18:41 | |
18:41
moyamo joined
|
|||
moyamo | Hi is there a way to make perl6 regexps non-greedy | 18:41 | |
TimToady | awwaiid: the third paragraph makes no sense wrt Ruby, since it's aimed at a more sisterly language :) | ||
18:41
brrt joined
|
|||
anthk_ | RabidGravy: awesome :O | 18:41 | |
18:42
llfourn left
|
|||
brrt | good * | 18:42 | |
hankache | ZoffixW it contains only the precomp folder | ||
dalek | rl6-roast-data: 5251f3c | coke++ | / (7 files): today (automated commit) |
18:43 | |
ZoffixW | hankache, isn't that the installed modules? | ||
RabidGravy | moyamo, almost cerainly but help us to help you with a shoty snippet that doesn't do what upu want | ||
brrt | RabidGravy; you can use strawberry perl since recently | 18:44 | |
RabidGravy | short snippet | ||
brrt | on windows, to build MoarVM etc | ||
anthk_ | btw I have the .base (method?) two in order to print the opcodes in binary. Could be posible to print the leading zeros? | ||
00001100 instead of 1100 | |||
hankache | ZoffixW indeed | ||
RabidGravy | anthk_, sprintf? | ||
anything is possible, just some things are easier | 18:45 | ||
ZoffixW | m: say ((1, 2), <a b>).flatmap(&uc).join('|') | ||
camelia | rakudo-moar 75e33f: OUTPUT«1 2|A B» | ||
18:45
pdcawley joined
|
|||
ZoffixW | Is this the right or wrong result? I'm confused by nine's comments on rt.perl.org/Ticket/Display.html?id=127036 is there a bug or should the ticket be rejected? | 18:45 | |
18:45
lnrdo left
|
|||
moyamo | /".*"/ matches ___"string" code "string"___ code instead of ___"string"___ code "string" code | 18:45 | |
18:46
Begi joined
|
|||
ZoffixW | FWIW, the example in docs shows different result: docs.perl6.org/routine/flatmap#class_List | 18:46 | |
RabidGravy | moyamo, there are several choices | 18:48 | |
skids | moyamo: Using ? on quantifiers still works to make rx atoms non-greedy | 18:50 | |
RabidGravy | /".*?"/ may work for you or something like /"<-["]>*"/ (which is match everything but a '"' | ||
anthk_ | ok, .fmt("%08b") | ||
nine | hankache: panda installs by default to CompUnit::RepositoryRegistry.repository-for-name('site') | ||
RabidGravy | yeah, thats good too | 18:51 | |
18:51
ellybelly left
|
|||
nine | hankache: that's inst#/home/nine/rakudo/install/share/perl6/site here | 18:51 | |
18:51
ellybelly joined,
ellybelly_ joined
|
|||
moyamo | skids: Thanks RabidGravy: For the second one what if instead of quotes it was a multi-character deleminter | 18:51 | |
nine | m: say $*REPO.repo-chain | ||
camelia | rakudo-moar 75e33f: OUTPUT«(inst#/home/camelia/.perl6/2015.12-43-g75e33f3 inst#/home/camelia/rakudo-m-inst-2/share/perl6/site inst#/home/camelia/rakudo-m-inst-2/share/perl6/vendor inst#/home/camelia/rakudo-m-inst-2/share/perl6 CompUnit::Repository::AbsolutePath.new(next-repo => Comp…» | ||
nine | ZoffixW: ^^^ | 18:52 | |
hankache: ^^^ | |||
ZoffixW | cool | ||
18:52
pierrot_ joined
|
|||
hankache | thanks nine | 18:52 | |
18:53
pierrot left
|
|||
RabidGravy | moyamo, the stuff inside the [ ] is a user defined charactter class you can put anything in there | 18:53 | |
moyamo | RabidGravy: But it only matches one character | ||
RabidGravy: What if there was litrally double quotes e.g. '' instead of " as a delimeter | 18:54 | ||
skids | moyamo: <!before X> and <!after X> can be useful for that | ||
RabidGravy | then you'd have to make your regular expression more complicated | ||
moyamo | RabidGravy: .*? Seems to work though :) | 18:55 | |
skids | m: say "aabbaa" ~~ m/aa [ <!before aa> . ]* aa/ | 18:56 | |
camelia | rakudo-moar 75e33f: OUTPUT«「aabbaa」» | ||
RabidGravy | if doc.perl6.org/language/regexes doesn't explain enough please let us know | ||
18:56
_wiz_ left
|
|||
timotimo | Skarsnik: damn. all right! | 18:57 | |
Skarsnik: i thought these things are returned in registers anyway and a 64bit register is 64bit wide anyway and would be truncated/extended as needed by the C compiler at "return time" | 18:58 | ||
BBIAB | |||
moyamo | RabidGravy: I don't see it mentioning ? to make * non-greedy. That would be useful to note :-) | ||
18:59
rjbs left
19:00
rjbs joined
|
|||
hankache | ughhhh @*INC | 19:00 | |
RabidGravy | no | ||
Skarsnik | timotimo, well maybe one day someone will figure the internal of NC/C stuff, but for now I decided : "it could lead to an error = forbid it" | 19:01 | |
19:01
zakharyas left,
pierre-vigier joined
19:03
pierre-vigier left
|
|||
Skarsnik | I am waiting for RabidGravy to complain that I broke his NC module x) | 19:04 | |
araujo | what is the equivalent for NULL in the NativeCall? | 19:05 | |
Skarsnik | Str/Any | ||
RabidGravy | Skarsnik, what did you do> | ||
19:05
kmel joined,
kmel left
|
|||
nine | hankache: you utter strange noises there | 19:05 | |
RabidGravy | it's not modules it's like seven modules | ||
Skarsnik | I add check on routine parameter type | 19:06 | |
nine | araujo: Pointer | ||
Skarsnik | like not allow Int | ||
RabidGravy | oh that's fine | ||
:) | |||
19:07
pierre-vigier joined
|
|||
smls | m: class A { has $.a }; multi sub infix:<cmp>(A $a, A $b) { $a.a cmp $b.a }; my @a = A.new(a=>42), A.new(a=>5); say @a.sort | 19:07 | |
camelia | rakudo-moar 75e33f: OUTPUT«(A.new(a => 42) A.new(a => 5))» | ||
smls | Hmm | ||
Skarsnik | I am pretty sure there is some weird case I did not test x) | ||
19:07
kmel joined
|
|||
smls | Is there some magic uppercase method that a class can implemenbt to participate in .sort? | 19:07 | |
19:08
kmel left
|
|||
araujo | nine, ok, let's see | 19:08 | |
ZoffixW | What you guys think of this? sdtimes.com/christmas-perl-arrives/ | ||
19:09
pierre-vigier left
|
|||
ZoffixW | jberger linked me to it asking what release post they should link to... and reading the post, they seem to be incredibly confused about what Perl 6 is and the "final" "official" "release of Perl 6" | 19:09 | |
19:09
hankache left
|
|||
perlpilot | ZoffixW: aye, confused. | 19:10 | |
nine | m: class A { has $.a }; multi sub infix:<cmp>(A $a, A $b) { $a.a <=> $b.a }; my @a = A.new(a=>42), A.new(a=>5); say @a.sort | ||
camelia | rakudo-moar 75e33f: OUTPUT«(A.new(a => 42) A.new(a => 5))» | ||
ZoffixW | perlpilot, BTW you have a PR to fix indexing issue of your module: github.com/perlpilot/p6-Test-Class/pull/1 | 19:11 | |
flussence | ZoffixW: I don't think we should bother trying to correct every misinformed word-count-driven blog out there :) | ||
ZoffixW | flussence, I'm with you on that :P | ||
19:12
V_S_C joined,
mojca joined,
hankache joined
|
|||
flussence | if they can't even be bothered spending 3 minutes to ask if what they're writing is correct... why should we? | 19:12 | |
ZoffixW | Almost sounds like a crawler robot wrote it by scrounging various news websites. | ||
mojca | does moarvm with jit work on 32-bit platforms at all? | ||
perlpilot | oops ... thanks | ||
Perl has made me lazy with trailing commas | 19:13 | ||
ZoffixW | :) | ||
hankache | what is CURLI? | ||
FloydATC | This is the blogosphere, where the primary income is from rabid commenters pointing out their mistakes | ||
mojca | on i386 one gets src/jit/emit_x64.dasc:266:86: warning: shift count >= width of type | ||
perlpilot | hankache: Comp::Unit::Repo::Local::Installation I think | ||
nine | mojca: no jit on 32 bit | ||
ZoffixW | Oh really? | 19:14 | |
mojca | shouldn't this be disabled automatically then? | ||
ZoffixW | Does it mean my perl6 will be even faster on a 64-bit box? | ||
flussence | mojca: it is... | ||
mojca | See trac.macports.org/ticket/50169 | ||
FloydATC | *scratches head* how do I get the peer address for an IO::Socket::INET now? | ||
mojca | for some reason it ended up being compiled on user's machine | 19:15 | |
hankache | perlpilot thanks, I just read it in a blog post, was just wandering what it is | ||
wondering** | |||
awwaiid | TimToady: I think that Ruby is the next-most-sisterly language, and I'm hoping to illustrate that the tone of the document isn't quite right for coexistence. I'll submit a patch to the 5to6 doc (even the name of the doc implies upgrading) to smooth it out a bit more. | ||
V_S_C | I just tried building rakudo from source | ||
nine | hankache: CURLI was CompUnitRepo::Local::Installation, curli was the name of a branch in which we completely refactored the whole module management part. The successor of CURLI is CompUnit::Repository::Installation | ||
flussence | mojca: possibly nobody's tested it on amd64+OSX before | ||
19:15
asie joined,
lnrdo joined
19:16
Arrowhead joined
|
|||
leont | Sounds unlikely | 19:16 | |
nine | lizmat++ is using OS X on a 64 bit machine | ||
mojca | flussence: how do you mean amd64+OS X? I'm not sure what processor the user has though, but it could be 32-bit | ||
V_S_C | and perl Cofigure.pl fails with unknown OS 'msys' | 19:17 | |
*Configure | |||
ZoffixW | V_S_C, what OS are you on? | ||
leont | msys is what git on windows uses | ||
V_S_C | Windows x64 | 19:18 | |
perlpilot | awwaiid: agreed about Ruby (maybe kind of a cousin than sister though) | ||
V_S_C | perl is available as I have git installed | ||
mojca | what's the role of D_DARWIN_USE_64_BIT_INODE=1 ? | ||
leont | It's mingw related, but I forgot the details | ||
hankache | nine perlpilot i am trying to understand what this blogpost is about shimmeryfairy.wordpress.com/2015/1...h-a-shame/ | 19:19 | |
mojca | libuv unconditionally sets "if DARWIN libuv_la_CFLAGS += -D_DARWIN_USE_64_BIT_INODE=1" | ||
ZoffixW | mojca, does seem like it's a 32-bit box. In the moarvm build log I see: DEBUG: OS darwin/10.8.0 (Mac OS X 10.6) arch i386 | ||
flussence | iirc building on windows has to be either completely native, or completely cygwin | ||
19:20
lnrdo left
|
|||
mst | you can't build it on cygwin at all, libuv fills its diaper far too early on | 19:21 | |
V_S_C | I am using the VS2015 x64 native tools command prompt | ||
perlpilot | hankache: maybe ask ShimmerFairy. She's "here". | ||
19:22
krunen left
|
|||
flussence retracts answer in favour of mst's, I'm only repeating what I've absorbed from hours of staring at makefiles and configure scripts lately :) | 19:22 | ||
V_S_C | only configure.pl requires perl that came with git | 19:23 | |
dalek | blets: 35de945 | (Herbert Breunung)++ | docs/appendix- (2 files): add set ops to A and link to B |
||
flussence | "perl that came with git" sounds... really really wrong. | ||
leont | git depends on perl, so git on windows ships with a perl 5.8.something | ||
flussence | don't you have Strawberry Perl or similar installed? | ||
oh | |||
yeah, 5.8 ain't gonna work at all here | 19:24 | ||
TimToady | there's nothing says we have to treat Ruby exactly like Perl 5 though, or vice versa; making them read identically would come down to a foolish consistency in my estimation | ||
ZoffixW | V_S_C, what does perl -v tell you? Which version? | ||
nine | hankache: you shouldn't have pointed out that blog post. Now I lost all motivation I've ever had for fixing the issues pointed out there. | ||
moyamo | Anyone want to play code golf? | ||
ChoHag | Where does panda look for modules? | 19:25 | |
ZoffixW | moyamo, sure! :) | ||
m: $*REPO.repo-chain | |||
camelia | ( no output ) | ||
ZoffixW | m: $*REPO.repo-chain.say | ||
camelia | rakudo-moar 75e33f: OUTPUT«(inst#/home/camelia/.perl6/2015.12-43-g75e33f3 inst#/home/camelia/rakudo-m-inst-2/share/perl6/site inst#/home/camelia/rakudo-m-inst-2/share/perl6/vendor inst#/home/camelia/rakudo-m-inst-2/share/perl6 CompUnit::Repository::AbsolutePath.new(next-repo => Comp…» | ||
leont | (maybe they upgraded, they had patches to make perl5 work with msys that they didn't send upstream and that were difficult to backport to modern perls) | ||
ZoffixW | ChoHag, I believe in there^ | ||
V_S_C | This is perl 5, version 22, subversion 0 (v5.22.0) built for x86_64-msys-thread-multi | ||
nine | ChoHag: do you mean installed modules or available modules? | ||
19:25
lucasb joined
|
|||
ZoffixW | m: (* * * ** *)[2, 3, 4] | 19:25 | |
camelia | ( no output ) | ||
ZoffixW | m: (* * * ** *)[2, 3, 4].say | 19:26 | |
camelia | ( no output ) | ||
ZoffixW | >_< | ||
m: say (* * * ** *)[2, 3, 4] | |||
camelia | rakudo-moar 75e33f: OUTPUT«WhateverCode.new» | ||
hankache | nine i saw the link on the front page of perl6.org :( | ||
mojca | in Configure.pl I see "if ($Config{archname} =~ m/^x86_64|^amd64|^darwin(-thread)?(-multi)?-2level/) { ... then enable jit" | ||
ZoffixW | gawddammit | ||
mojca | how can this work on i*86-darwin? | ||
ZoffixW | Ah, I did it wrong. | ||
m: (* * * ** *)(2, 3, 4).say # moyamo here's my golf :) | |||
camelia | rakudo-moar 75e33f: OUTPUT«162» | ||
ZoffixW | V_S_C, then your perl 5 is new enough to run Configure.pl. Not sure what the issue is. | 19:27 | |
19:27
cygx joined
19:28
kittenlips joined
|
|||
kittenlips | hi there | 19:28 | |
moyamo | ZoffixW: I meant on a specific problem. | ||
ChoHag | Where in github | ||
moyamo | ZoffixW: Haha | 19:29 | |
nine | ShimmerFairy: FWIW I remember quite well using "git merge" for merging curli. I'm sure about that, because merge is really the only way to merge a branch in git. rebase won't do it. So you displaying your ignorance of git really reflects more on you than anyone else. | ||
kittenlips | I was testing hyperoperators on Rakudo+MoarVM 2015.12 and have question are hyperoperators automatically multithreaded/parallelized? | ||
19:29
itcharlie left
|
|||
nine | kittenlips: not yet | 19:29 | |
kittenlips | I thought I read that they were | ||
masak | kittenlips: on paper, yes. | ||
19:30
itcharlie joined
|
|||
V_S_C | @ZoffixW, It happens when updating submodules for MoaRVM | 19:30 | |
masak | kittenlips: the potential is all there. | ||
moyamo | I'm new to perl and I wrote this code: sebsauvage.net/paste/?255af5070d48c...ig92Ctxv0= . I was hoping someone could make it shorter or better :), for learning purposes. | ||
kittenlips | Oh ok, yes I tested it e.g. my int @matrix[50;40;30]; @matrix >>+=>> 1; and saw that MoarVM only was executing a single thread | ||
V_S_C | Configuring native build environment............. fail | ||
hankache | nine please don't lose your motivation ;( I feel bad now asking about it. | ||
awwaiid | TimToady: Yeah true. I'm taking all the top stuff out of the Ruby-Nutshell doc, I only left it in temporarily as food for thought. | ||
cygx | V_S_C: I think moar's Configure.pl takes some values from the Perl it's run with | 19:31 | |
hankache | kittenlips i think it is planned for the future | ||
cygx | you can overwrite those manually | ||
El_Che | gfldex: I am reading to open the repo of StrictNamedArguments (adding travis support now) | ||
Skarsnik | hm, I have a git/github question. I PR a fork into my fork of DBI and later PR it back on DBI, does it keep the original author/fork? | ||
19:32
regreg left
|
|||
leont | cygx: it does? Why do we even need perl if we're not even doing our own config detection? | 19:32 | |
El_Che | gfldex: just the README need some more info | ||
kittenlips | This automatic multithreading/parallelization of such operations will be a HUGE thing in data analysis, I think it is a killer feature of Perl 6 | ||
El_Che | kittenlips++ | ||
ZoffixW | kittenlips, basically the Perl 6 language spec defines them as threadable and now that it's frozen, they definitely will be, but that's not yet finished in the Rakudo compiler | ||
nine | hankache: no worry. I can hardly fault you for ShimmerFairy's talent for pushing away help. | ||
ZoffixW | m: sleep 1 for ^4 .race: :1batch; say now - INIT now | ||
camelia | rakudo-moar 75e33f: OUTPUT«1.00945432» | ||
Skarsnik | nine, you should write a small tibit for package maintainer about precomp file and such, reading the whole gist it's quite discouraging | 19:33 | |
ZoffixW | kittenlips, ^ that works though. 4 sleeps in 1 second | ||
cygx | leont: *shrugs* it's a grown system | ||
leont: before the jit came along, it even supported cross builds | |||
kittenlips | ZoffixW: is ^ for the range operator? | ||
sorry I'm still trying to learn the language, it's much deeper than Perl 5 | |||
ZoffixW | kittenlips, yes, ^4 is same as 0 .. 3, which is same as 0, 1, 2, 3 | 19:34 | |
ChoHag | Or, you could document precompilation quite thoroughly. | ||
kittenlips | ZoffixW: and you are saying ^ is parallelized? | ||
cygx | V_S_C: you probably need to set --os=win32 --toolchain=msvc | ||
ChoHag | Once the sky-is-falling release bugs are out of the way, which seems to be largely the case, perl 6 and its ecosystem needs lots and lots of documentation. | ||
awwaiid | kittenlips: naw, it is the .race that does the parallel bit | ||
ZoffixW | kittenlips, no, it's the .race/.hyper methods that return a HyperSeq | ||
skids | m: my &def = List.^find_method("sort").signature.params[1].default; &def().perl.say; &def().WHICH.say; &infix:<cmp>.WHICH.say | 19:35 | |
camelia | rakudo-moar 75e33f: OUTPUT«sub infix:<cmp> (Mu $, Mu $) { #`(Sub+{<anon|63494960>}+{Precedence}|54011696) ... }Sub+{<anon|63494960>}+{Precedence}|54011696Sub+{<anon|63494960>}+{Precedence}|54011696» | ||
ZoffixW | kittenlips, sleep 1 for (0..4).race( batch => 1); # in a more Perl 5-eyes-friendly form | ||
cygx | V_S_C: if you're automatically building moar via rakudo's build script, wrap that in --moar-option="..." | ||
19:35
domidumont left
|
|||
ZoffixW | kittenlips, err 0..3 :) | 19:35 | |
kittenlips | ZoffixW: could you explain "^ that works though. 4 sleeps in 1 second" as example? | ||
skids | m: my &def = List.^find_method("sort").signature.params[1].default; &def().perl.say; &def().WHICH.say; &infix:<cmp>.WHICH.say; class A { }; multi sub infix:<cmp>(A $, A $) { Order.pick }; | ||
camelia | rakudo-moar 75e33f: OUTPUT«sub infix:<cmp> (Mu $, Mu $) { #`(Sub+{<anon|63494960>}+{Precedence}|53258896) ... }Sub+{<anon|63494960>}+{Precedence}|53258896Sub+{<anon|63494960>}+{Precedence}|53268656» | ||
ZoffixW | kittenlips, oh. the "^" in the sentence is me pointing up at the example evaluated by the bot :) | 19:36 | |
skids | smls: see my last two camelias, something is up there. | ||
kittenlips | ZoffixW: oh! sorry I missed that in the IRC list | ||
Skarsnik | skids, method has 2 extra parameters, one at the begining and one at the end | ||
but it's probably not your issue x) | 19:37 | ||
skids | Skarsnik: ? | 19:38 | |
smls | I guess it makes sense for sort to use the 'cmp' from its own lexical scope | ||
19:38
kittenlips left,
llfourn joined
|
|||
smls | Rather than the one from user scope | 19:38 | |
skids | I dunno, | 19:39 | |
smls | still, would have been nice if there were some way to make custom types work with the built-in ordering/sorting functionality | ||
nine | smls: sort does have a :&by argument | ||
smls: if you really want to avoid that, you can still override your class' .Stringy method, because cmp compares on .Stringy | 19:40 | ||
skids | Yeah, but the point is making a type behave like base types in your lexical scope. | ||
timotimo | nine: i think leg compares by .Stringy | 19:41 | |
skids | I'd say there's an argument to be made for sort taking its default cmp from its caller's scope. | ||
nine | timotimo: src/core/Order.pm:12 | ||
timotimo | and cmp is "magical"? | ||
19:42
CIAvash left
|
|||
skids wonders whether that is touched on in roast at all. | 19:42 | ||
19:42
ChoHag left
|
|||
smls | skids: Or provide an upperclass method to implement ordering for your type (like AT-KEY and friends for implementing subscripting) | 19:42 | |
timotimo | ah, .Stringy is the fallback for "not numeric" | ||
cygx | timotimo: where magical means do the right thing for numbers, otherwise fall back to... | ||
what you said ;) | |||
19:42
llfourn left
|
|||
skids | sidenote -- introspection rocks, didn't have to debug to see what was up. | 19:45 | |
yurivish | just thought I'd mention that I ran into this exact problem (irclog.perlgeek.de/perl6/2015-12-15#i_11719526) today, in case it happens to influence a design decision to change the behavior down the line :-) | ||
where you can't say { *.method ~~ regex } as an argument to grep | |||
19:45
ChoHag joined
|
|||
ZoffixW has something to pitch in on the topic: | 19:46 | ||
m: say ^4.grep: /2/ | |||
camelia | rakudo-moar 75e33f: OUTPUT«Potential difficulties: Precedence of ^ is looser than method call; please parenthesize at /tmp/K5Odq80mS6:1 ------> 3say ^47⏏5.grep: /2/^0» | ||
ZoffixW | m: say ^4 .grep: /2/ | ||
camelia | rakudo-moar 75e33f: OUTPUT«(2)» | ||
ZoffixW | m: say ^4 .grep: !/2/ | ||
camelia | rakudo-moar 75e33f: OUTPUT«Cannot use Bool as Matcher with '.grep'. Did you mean to use $_ inside a block? in block <unit> at /tmp/cqDMR2iMrN line 1Actually thrown at: in block <unit> at /tmp/cqDMR2iMrN line 1» | ||
ZoffixW | ^ that requires "not matches" to be written much more verbously than "matches" | 19:47 | |
V_S_C | cygx probing whether your compiler thinks that it is gcc Can't compile simple gcc probe, so something is badly wrong at build/probe.pm line 92. | ||
nine | Skarsnik: your commit 532c11abbcc8409a03d4a585296149f94c219e08 broke Inline::Perl5: Too many positionals passed; expected 2 arguments but got 3 | ||
ZoffixW | Unless I just don't know a way :D | ||
Skarsnik | oh great :( | ||
what line trigger it? | |||
nine | Skarsnik: seems to break on sub p5_str_to_sv(Perl5Interpreter, long, Blob) | 19:48 | |
cygx | V_S_C: are you manually building moarvm, or implicitly via rakudo? | ||
Skarsnik | wait Blob work? | ||
perlpilot | ZoffixW: you've just got to use {} (which may be onerous, I dunno) | 19:49 | |
(its' a good habit to get into anyway IMHO) | |||
skids | smls: OT, more thoughts on binary structured matching/unpack here: gist.github.com/skids/cfb129509b0849f50deb | ||
ZoffixW | m: say ^4 .grep: { !/2/ } | ||
camelia | rakudo-moar 75e33f: OUTPUT«(0 1 3)» | ||
ZoffixW | k, I see why the error happens now. perlpilot++ | 19:50 | |
Skarsnik | This code is not fun to debug since it happend at compile time x) | ||
yurivish | The documentation for prefix ! says "Coerces the argument to Bool by calling the Bool method on it, and returns the negation of the result. Note that this collapses Junctions." How is it that matching on !/2/ works? | ||
cygx | yurivish: boolifying a regex matches it against $_ | 19:51 | |
yurivish | oh, wow | ||
V_S_C | cygx I am following rakudo.org/how-to-get-rakudo/ | ||
As msi is older I am building from source | 19:52 | ||
nine | Skarsnik: It dies on $param.type.^can('gist') on a Blob parameter | 19:54 | |
cygx | V_S_C: with or without rakudobrew? I've only ever build rakudo manually on windows | ||
Skarsnik | but you can gist on Blob x) | 19:55 | |
I just tried | |||
19:55
leont left
|
|||
V_S_C | rakudobrew just didn't work | 19:55 | |
19:56
lichtkind joined
|
|||
nine | Skarsnik: it's not the gist it's the ^can that fails | 19:56 | |
V_S_C | Last time I built manually, I used to try with multiple "PERL5"s for 1 of them to work | 19:57 | |
nine | m: Blob.^can('gist') | ||
camelia | rakudo-moar 75e33f: OUTPUT«Too many positionals passed; expected 2 arguments but got 3 in block <unit> at /tmp/kJvWC2RVcy line 1» | ||
nine | m: Blob.HOW.can(Blob, 'gist'); # is the same as ^can | ||
camelia | rakudo-moar 75e33f: OUTPUT«Too many positionals passed; expected 2 arguments but got 3 in block <unit> at /tmp/lqbTaCnxVX line 1» | ||
nine | m: Blob.HOW.can('gist') | ||
camelia | ( no output ) | ||
Skarsnik | m: Blob.^can('Str') | ||
camelia | rakudo-moar 75e33f: OUTPUT«Too many positionals passed; expected 2 arguments but got 3 in block <unit> at /tmp/n5ZeO0D1QN line 1» | ||
Skarsnik | m: Blob.HOW.can('Str') | ||
camelia | ( no output ) | ||
cygx | V_S_C: so you have a rakudo checkout? | ||
try this: perl Configure.pl --gen-moar --gen-nqp --backends=moar --prefix="C:/path/where/it/should/be/installed" --moar-option="--os=win32 --toolchain=msvc --compiler=cl --cc=cl --make=nmake" | |||
it's probably a bit more superstitious than it needs to be | 19:58 | ||
nine | m: class Foo {}; role Bar {}; say Foo.^can('sink'); say Bar.^can('sink'); | ||
camelia | rakudo-moar 75e33f: OUTPUT«(sink)Too many positionals passed; expected 2 arguments but got 3 in block <unit> at /tmp/QH7TRNYleY line 1» | ||
Skarsnik | nine, well a quick fix is to add | 'Blob' aside 'Buf' | ||
V_S_C | Now after newer windows release git installer settled the default perl for me | ||
smls | skids: That sounds really interesting, though I think I'd have to see some examples to properly understand it... :) | 19:59 | |
In any case, I agree now that a more structured OO approach is preferable to my initial free-form grammar approach for most use-cases. | 20:00 | ||
20:00
darutoko left
|
|||
nine | Skarsnik: confirmed | 20:00 | |
Skarsnik | I am not even sure how this test work | ||
but it's a bad fix x) | |||
I just did not know to know if a type is totaly 'defined' | 20:01 | ||
El_Che | I want to push a module to the ecosystem. What's the best practice for doc? Readme.md? perl5 pod in the file? something else? | ||
Skarsnik | so I assume a class will receive a gist or Str at some point | ||
I went for the mi6 way | |||
dalek | kudo/nom: 477830a | (Stefan Seifert)++ | lib/NativeCall.pm6: Unbust NativeCall signatures containing Blob arguments Seems like ^can doesn't work on Roles: m: Blob.^can('gist') OUTPUT«Too many positionals passed; expected 2 arguments but got 3 |
||
ZoffixW | El_Che, I use README.md for now, just so GitHub displays it when users visit the repo. And I figure I can convert it to something else programmatically if I'll ever have to | 20:02 | |
Skarsnik | I put the pod in the main module and generate the .md from it | ||
20:02
moyamo left
|
|||
ZoffixW | Skarsnik, with what? | 20:02 | |
Skarsnik, and is it Perl 6 pod? | |||
Skarsnik | mi6 build-readme xD | ||
skids | smls: Yeah, maybe I should figure out how to show some example use cases, but hard to avoid making any assertions about what the actual "template" contents would look like and still come up with something that looks solidish. | 20:03 | |
ZoffixW | Skarsnik, what sort of pod is it? | ||
El_Che | thx | ||
ZoffixW | panda install Task::Star is failing now on Linenoise with some weird error: gist.github.com/zoffixznet/5abadb1d8d4bcccffc56 | 20:04 | |
hankache | i was trying to redo kittenlips example | 20:05 | |
my int @matrix[50;40;30]; map(-> $x { $x + 1},@matrix).race(); | |||
Skarsnik | ZoffixW, the pod is in github.com/Skarsnik/perl6-gumbo/bl.../Gumbo.pm6 then I use mi6 that call perl6 --doc=Markdown I think | ||
hankache | but it seems it is not multithreaded. What am idoing wrong? | ||
timotimo | nine: could be that you need to pun the role to make a proper .^can call? | 20:06 | |
hankache | hiya timotimo | 20:07 | |
timotimo | heyo hankache | ||
El_Che | the travis integration is nice | ||
timotimo | pffbt. what do i actually put into the weekly | ||
everything forever? | |||
ZoffixW | El_Che, stmuk++ added it :) | ||
El_Che | stmuk_++ | ||
20:08
itcharlie left
|
|||
Skarsnik | The issue with mi6, make test regenerate the .md and the META | 20:08 | |
Because it assume git user info = author in the META | 20:09 | ||
20:09
itcharlie joined
20:10
lucasb left
|
|||
ZoffixW | It's a bit of a miss the homepage of perl6.org doesn't have any indication that we've just released. | 20:10 | |
hankache | timotimo put the title as: Perl6...∞ | 20:11 | |
ZoffixW scrounges something up as hopes it'll be passable | |||
smls | m: my int @m[10;20]; $_ = ++$ for @m; @m.race.map({ say $_ }) | ||
camelia | rakudo-moar 477830: OUTPUT«1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253…» | ||
hankache | that is supposed to be the infinity symbol ^^ | 20:12 | |
ZoffixW | it is :) | ||
Skarsnik | timotimo, is there a way to know if a type is 'complete' at "compile time". I use ^can(gist) because I assume for complete type it exist at github.com/rakudo/rakudo/blob/nom/...l.pm6#L210 | ||
timotimo | you can probably check its HOW against CurriedRoleHOW or what it's called? | ||
20:13
ELBeavers is now known as ELBeavers_away
|
|||
hankache | smls thnaks | 20:14 | |
thanks** | |||
20:15
kittenlips joined
|
|||
timotimo | it'd probably be more correct to check its primitives or what they are called | 20:15 | |
hankache | ZoffixW while you're at it the Advent Calendar box is a bit out of sync | ||
timotimo | archetypes* | ||
Skarsnik | I am not really searching if how is set on it. it just if I have class B {}; class A { sub foo(B) is native} The rest of the code work because B is 'defined' intierly (this code is executed when is native is see) but in case of class A { sub foo(A) is native} perl 6 does not have the full definition of A | ||
ZoffixW | hankache, dammit :P now that you've noticed it I'll just *have* to fix it ^_^ | 20:16 | |
timotimo | oh | ||
skids | smls: it looks like a case could be built from RT#125049 up to getting all such stuff to take their default comparitors from calling scope, assuming rt gets resolved in favor of that. (Fudged tests for it are in S03-sequence/nonnumeric.t) | ||
Skarsnik | and for the weekly post. I don't know, lot of change in precomp/build system to accomod distrib? | 20:17 | |
hankache | ZoffixW hehe | ||
timotimo | all i can say is: look in the files in src/Perl6/Metamodel | ||
lizmat | .tell autarch thinking more about Olson, I think wrapping .later and adjusting the timezone with .in-timezone, should be enough | ||
yoleaux | lizmat: I'll pass your message to autarch. | ||
20:17
cdg left
|
|||
dalek | osystem: 240ef02 | (Claudio Ramirez)++ | META.list: Add StrictNamedArguments |
20:18 | |
osystem: 344bc49 | nxadm++ | META.list: Merge pull request #106 from nxadm/master Add StrictNamedArguments |
|||
smls | skids: Interesting. But how would similar *custom* routines get defaults from caller scope? Not making the built-ins too "magical/different" is one of Perl 6's intentional changes compared to Perl 5, isn't it? | ||
hankache | how can you *check* the effect of multithreading ? | 20:19 | |
flussence | run with ulimit -u 1? | ||
hankache | say you have apiece of code with race() and a copy of it without, how can you *see* if it's using 2 cores or it's faster? | 20:20 | |
flussense can you give me an example please | |||
hankache is just learning about parallelism | 20:21 | ||
smls | hanche: Putting a «sleep rand/100» inside the map should at least show you if they're being processed sequentially or not | ||
skids | smls: I think it's as simple as sub thingy( :&by = ::CALLER::cmp ) or whatever that is after removing all my mistakes :-) | ||
ChoHag | I have 'has Bool $.noisy = True;' followed by a pair of #= lines to document that variable, perl6 --doc heads that documentation up with 'class Mu $_'. | ||
smls | *hankache | ||
ChoHag | Is that because the --doc parser is really simple or have I written the documentation incorrectly? | ||
Skarsnik | both? | 20:22 | |
I mean the first | |||
RabidGravy | doc parser is really simple | ||
ChoHag | So when the doc parser is improved, that docomment will be headed correctly? | 20:23 | |
Skarsnik | Probably ^^ | ||
ChoHag | Right. | ||
hoelzro | ZoffixW: I'll fix it when I get home | 20:24 | |
hoelzro wonders if he should make his automatic sanity check run *before* he goes to work as well as after | 20:25 | ||
dalek | c: 2de6cf2 | (Claudio Ramirez)++ | /: Merge branch 'master' of github.com:perl6/doc |
||
c: 74fd84f | (Claudio Ramirez)++ | / (36 files): Merge branch 'master' of github.com:nxadm/doc |
|||
c: 37bb2e7 | (Claudio Ramirez)++ | / (12 files): Merge branch 'master' of github.com:perl6/doc |
|||
c: 4ec0a98 | (Claudio Ramirez)++ | doc/Language/modules.pod: Correct URL (previously 404) |
|||
c: cffdc72 | (Claudio Ramirez)++ | / (30 files): Merge branch 'master' of github.com:perl6/doc |
|||
c: f72c7ee | (Claudio Ramirez)++ | /: Merge branch 'master' of github.com:nxadm/doc |
|||
c: 4884eb7 | nxadm++ | doc/Language/modules.pod: Merge pull request #289 from nxadm/master Fix 404 URL ecosystem module import |
|||
nine | timotimo: how can one bun a role manually? | ||
Skarsnik | nine, you have success with passing Blob/Buf to NC? | 20:26 | |
dalek | href="https://perl6.org:">perl6.org: b4d56b1 | (Zoffix Znet)++ | source/index.html: Add a visible release announcement message to homepage |
||
20:27
jme` left
|
|||
timotimo | oof | 20:27 | |
ZoffixW giggles | |||
timotimo | well, since punning is the same as mixing it into a class, why not try it like class Bar does MyRole { }? or perhaps use the MOP way if that doesn't work | ||
ZoffixW: thanks for the website commit | 20:28 | ||
20:28
mwmarkland joined
20:29
V_S_C left,
virtualsue joined
|
|||
hankache | smls and race() will /ME is constantly hitting [F5] to see what ZoffixW did | 20:30 | |
20:30
dotness joined
|
|||
hankache is constantly hitting [F5] to see what ZoffixW did | 20:30 | ||
smls will race() use 2 cores or it can use more? | |||
ZoffixW spots a nav bug on browsers between 768-991px wide :P | 20:31 | ||
hankache, I didn't fix the advent box yet. | |||
ZoffixW is multitasking | |||
smls | hankache: I think it uses the current default scheduler | ||
m: say $*SCHEDULER | |||
camelia | rakudo-moar 477830: OUTPUT«ThreadPoolScheduler.new(initial_threads => 0, max_threads => 16, uncaught_handler => Callable)» | ||
smls | Not sure though | 20:32 | |
hankache | ZoffizW can you change the color of the announcement box to the safe color as the header? | 20:33 | |
same color** | |||
El_Che | hankache: why? | ||
nine | Skarsnik: yes, looks good | ||
El_Che | hankache: it jumps out in an other colour, that"s the idea | 20:34 | |
I would make the text context more bombastic though | |||
20:34
ELBeavers_away is now known as ELBeavers
|
|||
hankache | El_Che i am no color expert but it feels weird jumping from green to blue | 20:35 | |
smls thanks | |||
dalek | href="https://perl6.org:">perl6.org: ea15a58 | (Zoffix Znet)++ | source/ (3 files): Fix box alignment on home page |
20:36 | |
[Coke] | sdtimes.com/christmas-perl-arrives/ - that article seems confused. | ||
ZoffixW | Yup | ||
smls | hankache: When running perl6 -e '(1..1_000_000).race.map({ is-prime $_ })' my system monitor shows 100% of all my CPU cores. | ||
* 100% usage | |||
timotimo | The process has paralleled the development of the Rakudo virtual machine, an all-purpose engine for running interpreted languages, known as the Moar virtual machine. - was this sentence generated with a markov chain generator? | 20:37 | |
hankache: .race can use as many cores as you want | |||
hankache | smls same here | ||
timotimo thanks | 20:38 | ||
ZoffixW | m: sleep 1 for ^4 .race: :1batch; say now - INIT now # 4 cores | ||
camelia | rakudo-moar 477830: OUTPUT«1.0106884» | ||
smls | hankache: Looks like it can be fine-tuned like this: (1..1_000_000).race(batch => 20000, degree => 2).map({ is-prime $_ }); | 20:39 | |
timotimo | "With the release of Rakudo, however, this is the first time developers can build with Perl 6, and then validate their code with the compiler." ????? | ||
20:39
llfourn joined,
TEttinger joined
|
|||
masak | timotimo: the first time! except for Pugs, in 2005. | 20:39 | |
kittenlips | p6: my Int @matrix[5;10;15]; | ||
camelia | ( no output ) | ||
kittenlips | rakudo: my Int @matrix[5;10;15]; @matrix >>+=>> 1; | 20:40 | |
camelia | rakudo-moar 477830: OUTPUT«Cannot call HYPER(Block, NQPMu, Int, Int, Any); none of these signatures match: (&op, \left, \right, :$dwim-left, :$dwim-right) (&op, Associative:D \left, Associative:D \right, :$dwim-left, :$dwim-right) (&op, Associative:D \left, \right,…» | ||
20:40
mwmarkland left
|
|||
ZoffixW | timotimo, rofl :) those were my same remarks: irclog.perlgeek.de/mojo/2015-12-29#i_11799060 | 20:40 | |
kittenlips | why does the above work if you defined the @matrix with int but not Int? | ||
ZoffixW | hankache, you mean like this? i.imgur.com/roWR136.png | ||
timotimo | ZoffixW: yeah, also calling the advent blog "the release blog" is a bit strange | 20:41 | |
and linking to the poetic 24th as the release announcement instead of the more ordinary release announcement of the next day | 20:42 | ||
nine | timotimo: Blob.^can hits Mu's can method. That's why it complains about the argument count. | ||
Skarsnik: ^^^ | |||
timotimo | ah, that's interesting. why would it hit a method on Mu, rather than on a meta object? | ||
is a null getting hllized into a Mu or something? | |||
seems strange to me | |||
dalek | blets: 3051f17 | (Herbert Breunung)++ | docs/appendix- (2 files): added bag ops to A |
20:43 | |
blets: 1619216 | (Herbert Breunung)++ | docs/appendix-a-index.txt: while set ops table is now in A and linked |
|||
20:43
markusmayr joined
|
|||
timotimo | ZoffixW: damn it, the 6 gets wrapped to the next line on my screen | 20:44 | |
20:44
llfourn left
|
|||
timotimo | like, all text except the "6!" is on its own line, and then a line with only "6!" | 20:44 | |
hankache | ZoffixW. no worries leave the color as is | ||
nine | timotimo: because the role does not get punned and ParametricRoleGroupHOW does not do MROBasedMethodDispatch which is the only MOP class that overrides can | ||
timotimo always types Perl 6, i.e. with a non-breaking space | 20:45 | ||
ZoffixW doesn't know how to type a non-breaking space like that :) | |||
ChoHag | How do you have text which looks like a pod directive not direct anything? | ||
ZoffixW | .u | ||
yoleaux | U+202F NARROW NO-BREAK SPACE [Zs] ( ) | ||
timotimo | ZoffixW: in that case just use the html entity? | ||
20:45
RubiO left
|
|||
ChoHag | timotimo: That's not web 3.0 enough. | 20:46 | |
hankache | ZoffixW++ | 20:47 | |
dalek | href="https://perl6.org:">perl6.org: ecf6a3b | (Zoffix Znet)++ | source/index.html: Fix unwanted announcement line wrap |
||
kittenlips | ? | ||
ZoffixW | night all \o time to relocate and then play Warframe :) | ||
kittenlips, sup? | |||
Skarsnik | have fun :) | 20:48 | |
hankache | night ZoffixW | ||
kittenlips | sorry | ||
ZoffixW | heh :) | ||
\o | |||
20:48
ZoffixW left
|
|||
kittenlips | rakudo: my Int @matrix[5;10;15]; @matrix >>+=>> 1; | 20:48 | |
camelia | rakudo-moar 477830: OUTPUT«Cannot call HYPER(Block, NQPMu, Int, Int, Any); none of these signatures match: (&op, \left, \right, :$dwim-left, :$dwim-right) (&op, Associative:D \left, Associative:D \right, :$dwim-left, :$dwim-right) (&op, Associative:D \left, \right,…» | ||
20:48
cdg joined
|
|||
kittenlips | ^ why does this work if you define @matrix as int by not Int? | 20:48 | |
hyper doesn't like Int | |||
timotimo | nine: oh, i see. interesting, definitely | ||
20:51
cygx left
|
|||
markusmayr | rakudo: "Hello World".split(" ", :all).perl.say | 20:51 | |
camelia | rakudo-moar 477830: OUTPUT«("Hello", "World")» | ||
markusmayr | I just tried rakudo; shouldn't this give me ("Hello", " ", "World") ? | ||
flussence | m: "Hello World".split(/" "/, :all).perl.say # checking something... | 20:52 | |
camelia | rakudo-moar 477830: OUTPUT«("Hello", "World")» | ||
Skarsnik | m: "Hello World".split(" ", :all).perl.say | ||
camelia | rakudo-moar 477830: OUTPUT«("Hello", "", "World")» | ||
20:52
cdg left
|
|||
jast | m: "Hello World".split(" ", :w).perl.say | 20:53 | |
camelia | rakudo-moar 477830: OUTPUT«("Hello", "World")» | ||
kittenlips | markusmayr: what does the :all adverb do | ||
Skarsnik | m: "Hello World".split(" ").perl.say | ||
flussence | that doesn't seem quite right, no | ||
camelia | rakudo-moar 477830: OUTPUT«("Hello", "", "World")» | ||
jast | err | ||
Skarsnik | all does not work them | ||
jast | m: "Hello World".split(" ", :v).perl.say | ||
camelia | rakudo-moar 477830: OUTPUT«("Hello", " ", "World")» | ||
jast | yeah, that's the one | ||
20:53
vendethiel left,
orbus joined
|
|||
flussence | jast++, nice catch | 20:53 | |
20:53
itcharlie1 joined
|
|||
jast | it just so happened I had the docs open for split ;) | 20:54 | |
RabidGravy | :) | ||
Skarsnik | what does all do? | ||
jast | :all is not documented there | ||
flussence | gets swallowed by *%_ | ||
20:54
itcharlie left
|
|||
timotimo | i think :all was deprecated | 20:54 | |
RabidGravy | isn't :all just a no-op for consistency for something else? | ||
timotimo | in favor of :k, :v, ... | ||
i don't think so | |||
hankache | hot do you get the time it took for an expression to finish? | 20:55 | |
20:55
vendethiel joined
|
|||
markusmayr | Ah, I misread the documentation. Cool.split mentions :all, so I thought it would be the same for Str.split | 20:55 | |
timotimo | m: sub test() { for ^1000000 { }; say now - ENTER now; }; test; test; test; | ||
camelia | rakudo-moar 477830: OUTPUT«0.2530730.23543140.23894736» | ||
Skarsnik | my $t = now: foo(); say now - $t; | ||
timotimo | Skarsnik: or see my example for "how to do this without a variable" :) | 20:56 | |
jast | set phasers to profile! | ||
Skarsnik | Oh interesting x= | ||
RabidGravy | pew! pew! | ||
Skarsnik | damn, I should look at your qt profiler, I always forget x) | ||
the current html output is quite useless x) | |||
timotimo | tadzik's qt profiler* | 20:57 | |
quite? | |||
that's a bit harsh, no? | |||
Skarsnik | oh it was tadzik? | ||
hankache | timotimo thanks | ||
Skarsnik | well it's very slow/crashy | ||
flussence | well it's useless if the browser can't render it... | ||
20:58
espadrine joined
|
|||
timotimo | right. the output gets gigantic easily | 20:58 | |
jast | hmm, I'm having a grammar parse input and even the action for the first conceivably matched token doesn't ever get called, instead I get the CPU spinning. is there anything I can use to figure out where it's stuck, or do I have to strip it back down into a simpler grammar? | ||
flussence | s[it][it or the browser] | ||
timotimo | mostly because of the call graph being unlimited depth | ||
jast: we have a Grammar::Tracer module in the ecosystem | 20:59 | ||
that's very nice | |||
otherwise you can put { say "here: 1" } into your regexes as well | |||
20:59
rindolf left
|
|||
perlpilot | using say like that is a very effective technique :) | 21:00 | |
jast | good idea | ||
masak | note that that may screw up LTM, though | ||
since any code ends the declarative prefix | |||
perlpilot | yeah, that's the major down side | ||
jast | and that module is even pre-installed by Task::Star apparently | 21:01 | |
perlpilot | I wish there was a way to have the compiler inject {say "enter $regex"} and the equivalent exit in all of the regex for a grammar (without messing up LTM) | ||
flussence | m: gist.github.com/flussence/1f4b23284cc39160d312 | 21:02 | |
camelia | rakudo-moar 477830: OUTPUT«1..4ok 1 - okayok 2 - okay2not ok 3 - broken# Failed test 'broken'# at /tmp/kMmyHrPu8H line 15not ok 4 - broken2# Failed test 'broken2'# at /tmp/kMmyHrPu8H line 15# Looks like you failed 2 tests of 4» | ||
flussence | ^LTM's already screwed up :) | ||
timotimo | perlpilot: i think grammar tracer does it kind of like that | ||
masak | perlpilot: that's basically what Grammar::T... what timotimo said. | ||
tadzik | oh | ||
well, the Qt profiler is not as featurefull as the html one | 21:03 | ||
but it doesn't crash your browser on a big program, so there's that :) | |||
21:03
captain-adequate left
|
|||
perlpilot | I guess I want something in between Grammar::Tracer and manual insertion of say statements. Maybe I'll write one ... one day .... maybe :) | 21:03 | |
tadzik | and to be the devil's advocate, Qt's JSON parser still can't handle CORE.setting profile iirc | ||
jast | well, the tracer (actually called Grammar::Debugger now) pointed me right at the problem. | ||
perlpilot | jast: cool. What was it? | 21:04 | |
timotimo | tadzik: yes. blergh. shitty thing with its totally random size limit | ||
21:04
lnrdo joined
|
|||
flussence | to be fair, it's hard for them to find testcases for gigabyte-long JSON objects :) | 21:04 | |
jast | perlpilot: I had a [ foo || bar || ws? ]* type thing at TOP and after the first successful match all of the options save for ws? failed for reasons yet unknown, so endless loop | 21:05 | |
timotimo | flussence: doesn't have to be a gigabyte, iirc | 21:07 | |
tadzik: do you remember what exact size it cuts off at? | |||
tadzik | nope :( | ||
mojca: yes, probably better here :) | |||
flussence | the last successful core profile I did came out to about 890MB... | ||
Skarsnik | did you submit a repport to Qt? | ||
tadzik | your error message is quite weird indeed | ||
mojca | what exactly should be the first line of panda? | 21:08 | |
tadzik | mojca: it looks a bit like it | ||
...like it's from perl 5 | |||
mojca | I replaced it with "#!/opt/local/bin/perl6" | ||
tadzik | what | ||
ffs | |||
what's wrong with /usr/bin/env pelr6? | |||
no env on mac? | |||
mojca | I would like to make sure that exactly the "right" version of perl6 is used | ||
21:08
lnrdo left
|
|||
tadzik | how do you define "right"? | 21:09 | |
Skarsnik | I though panda was a script shell/whatever that call the a pl6 x) | ||
hankache | what is the difference between ENTER and INIT? | 21:10 | |
Skarsnik | ENTER is when entering the block? | ||
hankache | what do you call them by the way? | ||
Skarsnik | INIT is at BEGIN ? | ||
flussence | m: for ^5 { ENTER say 'e'; INIT say 'i'; } | ||
camelia | rakudo-moar 477830: OUTPUT«ieeeee» | ||
timotimo | Skarsnik: no, INIT is at run time, but ASAP | ||
BEGIN is at compile time, ASAP | |||
mojca | tadzik, it works properly if I use env; I don't know why it doesn't work if I specify /opt/local/bin/perl6 | ||
flussence | m: say 'start'; for ^5 { say 'loop'; ENTER say 'e'; INIT say 'i'; }; say 'end'; | ||
camelia | rakudo-moar 477830: OUTPUT«istarteloopeloopeloopeloopeloopend» | ||
timotimo | CHECK is at compile time, but ALAP, i think? | 21:11 | |
Skarsnik | m: say "foo"; for ^5 { ENTER say 'e'; INIT say 'i'; } | ||
camelia | rakudo-moar 477830: OUTPUT«ifooeeeee» | ||
Skarsnik | fun | ||
21:11
_nadim left
|
|||
timotimo | m: INIT say "init"; CHECK say "check"; BEGIN say "begin"; | 21:11 | |
camelia | rakudo-moar 477830: OUTPUT«begincheckinit» | ||
tadzik | mojca: does a hello world work if you do specify it as such? | ||
mojca | but even after fixing that problem I'm left with "Found no writable directory into which panda could be installed" | ||
so I would like to know how to fix that | |||
tadzik | ah | 21:12 | |
flussence | oh ffs | ||
everyone's hitting the curli bug | |||
tadzik | well, panda should at least be able to install itself in $HOME, if your perl6 install directory is not writable | ||
21:12
geraud joined
21:13
itcharlie joined
|
|||
timotimo | tadzik: did you see the problem where rakudobrew deleted the contents of /bin ? :D | 21:13 | |
or /usr/bin or so | |||
tadzik | ermagherd | ||
no :o | |||
21:13
itcharlie1 left
|
|||
mojca | tadzik, no, hello world doesn't work | 21:13 | |
Skarsnik | lol | ||
21:13
spider-mario left
|
|||
jast | someone symlinked rakudobrew into /usr/bin | 21:13 | |
mojca | basically /opt/local/bin/perl6 doesn't seem to work, but I'm not sure why not | ||
tadzik | mojca: then it sounds like your /opt/local/bin/perl6 is actually invalid | ||
jast | and ran everything as root :) | ||
tadzik | fak | ||
flussence | I think we really ought to do a 2015.12.1 rakudo just for the sake of getting rid of the "can't mkdir" | 21:14 | |
timotimo | perl6.org/specification/ - should this excerpt from Synopsis 1 be replaced by something else? or should that part of Syn 1 be reworded now that the release has happened? TimToady? | ||
flussence: yeah ... | |||
tadzik | I think it speaks badly about Rakudo's installation process that people are trying to use rakudobrew as a tool to have a system-wide perl 6 installation | ||
(or about our documentation) | |||
mojca | who can help me with /opt/local/bin/perl6 then? | ||
21:14
pierre-vigier joined
|
|||
Skarsnik | proabably the doc | 21:14 | |
tadzik | I hope we can :) | ||
timotimo | before the star release, a little rakudo bugfix release would be nice | ||
mojca | it works if I call it directly, but not in shebang or whatever that is called | ||
flussence | tadzik: I haven't touched rakudobrew *ever* :D | ||
tadzik | mojca: what does 'file /opt/..." say? | ||
flussence: sounds like it saved you some potential trouble :P | 21:15 | ||
mojca | it's #!/bin/sh | ||
tadzik | mojca: is it executable? | ||
flussence | (in fact, I'm doing as much work as I can to make sure nobody ever does...) | ||
mojca | with exec /opt/local/bin/moar --execname="$0" --libpath="/opt/local/share/nqp/lib" --libpath="/opt/local/share/perl6/lib" --libpath="/opt/local/share/perl6/runtime" /opt/local/share/perl6/runtime/perl6.moarvm "$@" | ||
Skarsnik | On my dedicated server I have a system wide perl6 installed with Configure.pl | ||
tadzik | kredit to team :) | ||
mojca | POSIX shell script, ASCII text executable | ||
it's 755 | |||
Skarsnik | I think what is not clear with that is you have to NOT put --prefix to bootstrap.pl to install Panda | ||
tadzik | how did you install it there, btw? | ||
our entire toolchain is built around the idea of keeping things in your $HOME | 21:16 | ||
mojca | how did I install rakudo or panda? | ||
21:16
spider-mario joined
|
|||
tadzik | seems like it backfired and we never checked how it actually works outside | 21:16 | |
mojca: both | |||
mojca | me and [Coke] cooked up a package | ||
tadzik | well, if hello world doesn't work then it seems to me like te package is broken somewhere | 21:17 | |
mojca | so MoarVM, nqp, rakudo were built with the package manager | ||
this works: /opt/local/bin/perl6 hello.pl | |||
just "#!/opt/local/bin/perl6" doesn't and I would suspect it's because of the contents of that script | 21:18 | ||
I made a package for Panda as well, but the package for panda still misbehaves because I don't know how to install it | |||
I don't want it in $HOME | |||
Skarsnik | I think panda try to find where perl6 is located and put itself there? | 21:19 | |
mojca | but I would like to convince panda to install modules somewhere under $HOME/.perl6 or something similar, like cpan puts modules under $HOME/.cpan | ||
RabidGravy | mojca, the perl6 script is a wrapper in Perl 5 | ||
well it is here | 21:20 | ||
mojca | is it theoretically possible that it would work as "#!/opt/local/bin/perl6"? | 21:21 | |
Skarsnik | Not wanting to bash curli stuff, but it really look it never really get tested on a "real world" use case ~~ | ||
jast | if I recreate a similar situation with my rakudobrew-based installed (#!/a/comparable/script), it works | ||
nine | mojca: have you tried panda --prefix $HOME/.perl6/2015.12-41-g461e635 (or whatever is current for you)? | ||
flussence | Skarsnik: hard to test it on a real world use case when there weren't any real world users... | ||
mojca | is --prefix meant for destination of modules or for location of panda itself? | ||
RabidGravy | oh wait that's the rakudobrew shim, the default one is just sh | 21:22 | |
jast | I tried with both the shim and the shell script, so it's theoretically possible for it to work | ||
mojca | wait ... perl6 actually *TALKS*???? | 21:23 | |
nine | Skarsnik: well it did work in all the real world use cases that I knew of. Once you're at that point, you have to merge to give it a wider audience. | ||
mojca: --prefix=/path/to/modules Place to put modules, executable scripts, etc. | |||
mojca | ouch, I misunderstood it then | ||
I need to fix that then | |||
Skarsnik | what --prefix does on bootstrap.pl ? | ||
dalek | kudo/from-loop: 386905f | TimToady++ | src/Perl6/ (2 files): reimplement value loops using Seq.from-loop This fixes the infinite loop on 'loop', as well as allowing repeat loops to return values too. This patch also removes the FAKE_MACRO hack, and gets us closer to how jnthn++ wanted it to work originally. (It does not yet fix the outer bug of #127069, but likely makes it easier to fix.) |
21:24 | |
kudo/from-loop: e651629 | TimToady++ | / (8 files): Merge branch 'nom' into from-loop |
|||
mojca | I thought --prefix was for location of panda itself | ||
and I noticed it didn't work | |||
hankache | good night everyone | ||
see you tomorrow | |||
TimToady | o/ | ||
nine | mojca: panda itself is a dist that is installed by panda. | 21:25 | |
dalek | c/rb-nutshell: 84aa6a0 | (Brock Wilcox)++ | doc/Language/rb-nutshell.pod: Document basic object orientation |
||
21:25
pierre-v_ joined,
hankache left
|
|||
timotimo | "rb"? | 21:25 | |
o/ TimToady | |||
nine | mojca: --prefix was obviously not enough during creation of the panda package, but it should be enough once panda's installed | ||
Rotwang | Hi, it appears that NativeCall doesn't try to resolve library path, so by default you need to provide library with a full path? | 21:26 | |
jdv79 | not bad craft beer bars in amsterdam. im a little surprised. | ||
Skarsnik | How I mark a bug ia duplicate of another on RT? | ||
mojca | I'll try to reinstall with a different --prefix | ||
Skarsnik | Rotwang, no doc.perl6.org/language/nativecall#L..._and_Names | ||
flussence | Rotwang: if it isn't in the standard LD_LIBRARY_PATH, you'll have to give it a full one, yes | 21:27 | |
mojca | but then one more thing, what should I do with the state file | ||
Skarsnik | Ah yes, I should maybe add that it search in the system linker path (or something like that) | ||
mojca | it contains lots of weird temporary paths that get deleted | ||
nine | mojca: actually, panda even tries to be smart about picking installation locations and it should fall back to $HOME/.perl6 if the site repo is not writable. Obviously this does not yet work as intended. Could be less work to actually fix that bug than to work around it. | 21:28 | |
mojca | after the installation is complete | ||
21:28
pierre-vigier left,
CQ joined
|
|||
nine | masak: I'd be happy to see panda's state file replaced by a proper API in Perl 6 and have already begun work on the latter. | 21:28 | |
mojca | falling back to $HOME/.perl would help | ||
Skarsnik | for me panda should do this: root run it -> default system prefix; user -> $HOME | 21:29 | |
mojca | if you think that this could be implemented soon, I'll rather wait than try to reinvent the wheel | ||
tadzik | it can be arranged | ||
but I'm pretty sure it does in fact fallback to $HOME/.perl6 | |||
if everything else goes t hell | 21:30 | ||
nine | tadzik: there's certainly code for that. It may just be some stupid bug preventing it. Or maybe it does work after all and nobody has tried it yet ;) | ||
flussence | tadzik: worked for me. I installed rakudo to system dirs, bootstrap.pl and panda install Linenoise both Just Worked | 21:31 | |
(as unprivileged user, that is) | |||
mojca | I get pastebin.com/63uMVwhB | ||
tadzik | nine: the latter is quite possible :) | ||
Skarsnik | gah RT does not have a marked as duplicate or something? | ||
timotimo | Skarsnik: you can merge tickets | ||
mojca | I need to add that I didn't install the state file though because I have no clue where it belongs and what to do with temporary path that gets removed | 21:32 | |
can someone explain what the error is trying to tell me? | 21:33 | ||
Rotwang | flussence: Skarsnik: thanks for the info, although there is no "standard" LD_LIBRARY_PATH (by default it is empty) and the library resolution on linux is relatively coplicated (ld cache and so on) | 21:34 | |
mojca | why are all filenames "encrypted"? | ||
from the error log it's almost impossible to tell which file is throwing the error | |||
21:34
keix left
|
|||
timotimo | agreed | 21:35 | |
mojca | also, when panda is done bootstrapping, it tells me "==> Please make sure that inst#/opt/local/var/macports/build/_path_to_perl_lang_panda/panda/work/.home/.perl6/2015.12/bin is in your PATH" | ||
timotimo | however, the paths still give you a file you can read | ||
for the source | |||
Arrowhead | using NativeCall, is there a way to call through a C function pointer? | ||
mojca | which is nonsense because that temporary build dir will eventually get removed | ||
21:35
_nadim joined
|
|||
mojca | tomotimo: yes, but it's useless for anyone trying to decrypt what my logs say without having access to my machine | 21:36 | |
timotimo | Arrowhead: i've wished for this in the past, but we don't have support for this IIUC | ||
Skarsnik | Not sure to understand why to you mean call through a C function pointer? You mean you get a function pointer and want to call it? | 21:37 | |
Arrowhead | timotimo: That's a shame. I'm doing OpenGL stuff and I can successfullly call things that are in the GL shared lib. But I understand that more modern functions are only available as pointers. Even when using GLEW it looks like the shared lib only has pointers, not actual functions. | 21:38 | |
Skarsnik: exactly | |||
21:38
llfourn joined
|
|||
Skarsnik | Oh right, hm, sound tricky to do | 21:39 | |
Arrowhead | Ultimately the functionality must be there, the question is: how to expose it. | 21:40 | |
brrt | Arrowhead, maybe you can use csymbol? | ||
Skarsnik | I never really looked at how functor work | 21:41 | |
Arrowhead | brrt: you mean symbol('foo') unfortunately no, that assumes foo is a function. | ||
RabidGravy | A work around would be to make some additional C code that does the dispatching | ||
mojca | nine: if talking about falling back to $HOME/.perl6 for panda: is there any ticket I could follow (I probably won't be on IRC like I was yesterday when you fixed the problem when that will be discussed) | ||
skids | mojca: it's not that the filenames are encrypted it's that rakudo doesn't necessarily use files to identify compunits. Theoretically it will allow installing multiple versions of the same "file" in case one app needs a newer version that another app cannot use, or other such things. | 21:42 | |
Skarsnik | RabidGravy, probably yes | ||
timotimo | Arrowhead: in any case, you can use Inline::C to compile little stubs for you that call the function pointer ... | ||
just treating the function pointer as OpaquePointer and build one C function for every different argument signature | |||
Arrowhead | ah, is that there too in perl6 land. I'll have a look. | ||
timotimo | sounds terrible. and it is. ... ... sorry :( | ||
brrt | Arrowhead: doc.perl6.org/language/nativecall#E..._variables | ||
is what i mean | |||
Skarsnik | It does not sound that bad to add? like creating a special Callable? | 21:43 | |
timotimo | yeah, should be easy. you go ahead! :) | ||
21:43
llfourn left
|
|||
Rotwang | it may be a silly question, but where are the sources of NativeCall? I guess it is no longer Zavolaj | 21:44 | |
Arrowhead | brrt: that's for reading/writing variables for which you know the name. I want to call the C code. | ||
Rotwang: in rakudo | |||
Skarsnik | NC is in Rakudo/NQP/Moar | ||
21:44
firstdayonthejob left
|
|||
RabidGravy | It can already marshal Callables to function pointers so I wonder if the reverse could be done | 21:44 | |
21:45
niceperl joined,
firstdayonthejob joined
|
|||
Skarsnik | C wise how that work with using dlopen and doing it? | 21:45 | |
Rotwang | Arrowhead: Skarsnik: thanks | ||
Skarsnik | but if you have issue with your libpath you can ask x) | 21:46 | |
RabidGravy | well if you already have a function pointer in hand then you don't need to load it from a dll surely | ||
brrt | oh wow... | 21:47 | |
timotimo | RabidGravy: well, that's not really the same thing, as it has to create a piece of code that can be used as a target for function pointers to invoke | ||
Skarsnik | yes RabidGravy but are in the case of we don't link the lib at compile time. so it's dlopened and I don't remember how function work in this case in C | 21:48 | |
RabidGravy | timotimo, sure | 21:49 | |
21:49
keix joined
|
|||
timotimo | well. it could certainly be super crazy easy to make. maybe not. who knows. | 21:49 | |
jdv79 | RabidGravy: amsterdam beats london in my book for craft beer bars i think. | 21:50 | |
21:50
yurivish_ joined,
colomon left
|
|||
RabidGravy | jdv79, very possibly but hey | 21:50 | |
Skarsnik | timotimo, I am pretty sure it's passing around the sub signature to C (Moar) and its pointer and call it | 21:51 | |
jdv79 | hey! | ||
timotimo | Skarsnik: you can have a look at MoarVM to see how "nativecallbuild" and "nativecallinvoke" are implemented | 21:54 | |
autarch | lizmat: it's a little more complicated than just wrapper later - with Olson time zones there are things like non-existent local times as well as local times that are ambiguous (yeah have hour 2 twice in a row) | ||
yoleaux | 20:17Z <lizmat> autarch: thinking more about Olson, I think wrapping .later and adjusting the timezone with .in-timezone, should be enough | ||
21:54
CQ left
|
|||
lizmat | autarch: the non-existant local times are no issue | 21:55 | |
Skarsnik | timotimo, I will have a quick look tomorrow | ||
autarch | lizmat: why? | ||
timotimo | cool. | ||
lizmat | because you can never move into them | ||
.later is already technically correct | |||
only the timezone of the resulting object isn't | |||
perlpilot | lizmat: users can't create localtimes that don't exist? | 21:56 | |
lizmat | I'm saying you can't move into them using .later | ||
autarch | lizmat: we may be talking past each other | ||
perlpilot | oh | ||
lizmat | if you specify a non-existing time on creation, it should die | ||
autarch | lizmat: right, that's somewhat of an API change, and it constantly surprises users of p5 DateTime | 21:57 | |
this is one of the reasons I proposed have a DateTime class without timezones and another one with them | |||
a lot of people don't actually need _any_ tz handling whatsoever and would be better off with a class that doesn't ever make them think about this | |||
lizmat | but with the current implementation, you can't go wrong with the timezone, it's basically just a view on the actual underlying atomic clock time | 21:58 | |
if you don't specify a :timezone with DateTime, you don't have to think about it | |||
21:58
brrt left
|
|||
lizmat | moving from non-DST to DST with anything other than seconds, will DTRT | 21:59 | |
perlpilot | In the past, I've wanted offsets from UTC without necessarily caring about timezones, but I don't know how common/useful that is | ||
lizmat | atm, you can have offset you want :-) | ||
and there are actually tests for them | 22:00 | ||
autarch | perlpilot: it's not uncommon - it's easy to support along with Olson zones | ||
lizmat: what you think is DTRT is not necessarily what others will think is DTRT - have you read p5 DateTime's docs? they go into a lot of the different cases that should be considered | 22:01 | ||
lizmat | ok, will do so before getting back to this :-) | ||
perlpilot | lizmat++ | 22:02 | |
22:02
markusmayr left
|
|||
nine | mojca: frankly I find it very tedious to try and fix those issues. I cannot reproduce them and have no idea how all this OS X packaging stuff works and where ridiculous paths like inst#/opt/local/var/macports/build/_path_to_perl_lang_panda/panda/work/.home/.perl6/2015.12/bin come from. | 22:07 | |
autarch | lizmat: you might also find www.houseabsolute.com/presentations...th-perl/#1 interesting | ||
nine | mojca: do you think, you can do a little digging into panda's source code yourself? The error message comes from lib/Panda/App.pm and the interesting code starts in line 11. It should be fairly self explanatory. | 22:08 | |
Skarsnik | btw Mac os X vm work with VirtualBox | ||
nine | Skarsnik: maybe, but I'm certainly not gonna buy OS X to debug other people's systems. | 22:09 | |
Skarsnik | Well you need patched a version of os X ~~ | ||
nine | If people want to use a non-free system, they cannot expect me to go that far. | ||
RabidGravy | are there any of the developers who use os X ? | ||
vendethiel | lizmat does, afaik | 22:10 | |
perlpilot | autarch: slide 19 has a typo "inclues" (though, that should be a word!) | ||
autarch | includes? | ||
lizmat | yes, I do, but i have given up on macports: it always gave me more pain than gain | ||
perlpilot | aye | ||
RabidGravy | it is in french isn't it? | ||
Skarsnik | and virtualbox still does not see intel vx tech, so I can't boot any 64 bit vm, :( | 22:11 | |
diakopter | I have 64-bit VMs in virtualbox, I thought | 22:12 | |
jast | with a windows host that tends to happen if its own hypervisor (hyper-v) gets in the way, maybe something similar on osx? | ||
Skarsnik | Yes, but my virtual box version get lost sometime | ||
I am on win7 and I don't have hyper-v | 22:13 | ||
jast | right, hyper-v is included starting with win8 | ||
Skarsnik | it's a weird bug that does not always happened | ||
jast | I didn't ever have these types of issues with win7, but apparently I just had better luck :/ | 22:14 | |
Skarsnik | I have this since the 4.x version of it | ||
22:16
kittenlips_ joined,
skyl4rk left
22:18
kittenlips left
22:20
kittenlips_ left
22:24
colomon joined
|
|||
timotimo | maybe we should have called it "Sixperl" instead of "Perl 6" | 22:25 | |
22:26
ELBeavers left,
ELBeavers joined
|
|||
jdv79 | i might use six as a suffix if markov doesnt give up cpan6:( | 22:27 | |
22:27
smls left
|
|||
lizmat | jdv79: do I understand from this you're not trying to integrate with CPAN / PAUSE / MetaCPAN anymore ? | 22:27 | |
22:28
kittenlips joined
|
|||
jdv79 | no. same as usual. trying to use as much of existing as poss. just want a ns. | 22:28 | |
cpan6 or cpansix is cpan mostly but might lift off it later. that kinda thing. | 22:29 | ||
22:29
pierre-v_ left
22:30
ZoffixWin joined
|
|||
lizmat | I will most likely see markov next week at the Amsterdam PM meeting | 22:31 | |
kittenlips | hi, question about syntax highlighting, are there syntax highlighting tools that actually load and understand the full grammar for a language to produce very informative highlighting to really aid in comprehension of code? | ||
lizmat | jdv79: I'll talk with him about it... | ||
jdv79 | ah. we exchanged emails once and he was a maybe. i need to reply. | ||
ZoffixWin | nine, BTW, good job with the whole pre-compilation stuff. Before it, perl6's startup stuff was driving me nuts and now performance doesn't even come to mind when I write my stuff :) I'm glad we didn't have that slowness when we released, or I imagine lots of people would be complaining about it ^__^ | 22:32 | |
jdv79 | that would be cool though. so far ill only be in amsterdam til the 2nd. when is thus pm meeting? should i go? | 22:33 | |
its not a big deal though:) | 22:34 | ||
kittenlips | I've always found syntax highlighters for Perl such as those in Padre or what we see in online resources such as in Github to be either plain wrong or just really lacking | ||
lizmat | the Amsterdam PM meetings are on the first Tue of the month, so on the 5th this time | 22:35 | |
jdv79 | hmm... | ||
flussence | kittenlips: the highlighter in pygments is top notch. It was written specifically *for* Github even, then they threw the entire thing away for the sake of NIH/avoiding python-cooties... | 22:36 | |
ZoffixWin | kittenlips, yeah, it's a tough language to highlight due to contexts and stuff. MadCapJake++ wrote a nice plugin for Atom with superb highlighting (github.com/MadcapJake/language-perl6fe) | ||
kittenlips, I heard there's something for vim too | 22:37 | ||
Skarsnik | vim highlight is slow for me | ||
kittenlips | flussence: the pygments highlighter is what is being used on the Perl 6 site no? | ||
flussence | yep | 22:38 | |
Skarsnik | like I thought I was using some 80 internetspeed editing a 100 lines file via ssh x) | ||
ZoffixWin | Is it? | ||
Oh on docs | |||
I think the examples on homepages were made with Text::VimColour | |||
22:39
llfourn joined
|
|||
flussence | vim-perl works fine too, the version bundled with vim is ancient though | 22:39 | |
Skarsnik | it's maybe a dumb question, but why the doc for class are not in the class itself using WHY stuff of pod? because pod parser is bad, or it was too slow? | 22:40 | |
22:40
espadrine left
|
|||
kittenlips | By no means to criticize as I know it's likely a difficult task, but even on Perl 6 docs the highlighting could go further | 22:40 | |
timotimo | it's definitely a task ... | 22:41 | |
kittenlips | For example variables within strings should be highlighted with the same color as the variable outside and different than regular string characters | ||
perlpilot | Skarsnik: too slow | 22:42 | |
Skarsnik | maybe with precomp it's not true? | ||
22:43
kaare_ left,
q0tw4 joined
|
|||
kittenlips | that's why my question about are there syntax highlighters that can just import the grammar for a language and understand it so that it automatically creates the correct highlighting patterns without any user configuration | 22:43 | |
perlpilot | kittenlips: "I want my identifiers to be green" "I want mine to be red!" (there will always be "user configuration") | 22:44 | |
ZoffixWin | Skarsnik, I think it's because the docs are meant for any Perl 6 implementation, not just Rakudo. Another issue I can see the separation solves: you can give commit access to a much greater number of people to docs alone, than to docs + implementation. | 22:45 | |
Skarsnik | kdevelop color each variable with a dif color for example | ||
kittenlips | perlpilot: well not the colors, but that the highlighter knows that here is an identifier <- let user decide color | ||
22:45
llfourn left,
Begi2 joined
|
|||
kittenlips | So that user doesn't have to configuration how the syntax highlighter understands the syntax, the grammar should tell the highlighter that without any user configuration | 22:45 | |
Skarsnik | ZoffixWin, I think it make keeping the doc up to date harder ~~ | ||
22:46
yurivish_ left
|
|||
ZoffixWin | Skarsnik, maybe. But, to play the devil's advocate, do you want some l33t h4x0r spend their time writing docs or writing code, and leaving someone with less skill to read the completed code and write the docs? :) | 22:46 | |
Dunno, I have a strong bias against spaghetti Pod + code, :) | 22:47 | ||
22:48
yqt joined
|
|||
Skarsnik | maybe someone should write something to compare class metod with the doc to see if some are missing x) | 22:48 | |
ZoffixWin | :D | 22:49 | |
22:49
Begi left,
shicheng joined,
SwellJoe left,
Begi2 left
22:50
zakharyas joined
22:51
kjs_ left,
shicheng_ joined
|
|||
flussence | eventually all of docs/specs/roast will coagulate into one big Literate Programming thing... | 22:52 | |
22:53
lnrdo joined
|
|||
kittenlips | at least from what I understand Perl 6 will be much easier write syntax highlighting grammars for than Perl 5 was because Perl 5 is difficult to parse | 22:53 | |
timotimo | well, yeah ... until you start putting in Slangs :D | 22:54 | |
Skarsnik | well perl6 is parsable by.. perl 6 | ||
22:54
molaf left,
shicheng left
|
|||
kittenlips | But this one-pass parsing right? Better than multi pass? | 22:54 | |
Skarsnik | I was baffled that trait are compile time code already x) | ||
timotimo | yeah, that's right | ||
though if you build a slang, you can parse whatever way you like | 22:55 | ||
ZoffixWin | m: sub term:<(╯°□°)╯︵┻━┻> { say "or this" }; (╯°□°)╯︵┻━┻; (╯°□°)╯︵┻━┻; | ||
camelia | rakudo-moar 477830: OUTPUT«or thisor this» | ||
timotimo | for example by handing the code to a REST API on the web :P | ||
Skarsnik | hm | ||
22:56
yurivish_ joined
|
|||
Skarsnik | Discord has a /tableflip command, it's the best invention ever x) | 22:56 | |
kittenlips | remember this on Perl Monks? www.perlmonks.org/?node_id=663393 "Perl Cannot Be Parsed: A Formal Proof" | 22:57 | |
Skarsnik | Well Discord web client | ||
22:57
lnrdo left
|
|||
dalek | kudo-star-daily: e7083e6 | coke++ | log/ (7 files): today (automated commit) |
22:57 | |
kittenlips | Perl 6 I believe is parseable... | ||
22:59
colomon left
|
|||
Skarsnik | why everything fail in github.com/coke/rakudo-star-daily/...odules.log | 22:59 | |
ZoffixWin | m: sub term:<🙈> {say "Where's"}; sub postfix:<🙊> ($) {say "your"}; sub postfix:<🚾> ($) {say "highlighting"}; sub postfix:<〠> ($) {say "now"}; 🙈🙊🚾〠; | 23:00 | |
23:00
cpage left
|
|||
camelia | rakudo-moar 477830: OUTPUT«Where'syourhighlightingnow» | 23:00 | |
ZoffixWin | ehehe. I love Perl 6 :P | ||
Juerd | If Perl cannot be parsed, and Perl 6 can be parsed, then Perl 6 is not Perl? I'm confused. | 23:01 | |
Skarsnik | Does someone try to build a perl5 interpreter with Perl 6? x) | ||
flussence | no, it just means your definition of "parsed" is wrong | ||
23:02
cpage_ left
|
|||
flussence | (or "cannot") | 23:02 | |
kittenlips | Juerd: sorry Perl 5 cannot be parsed without actually running the program as well | ||
flussence | (or "be"... ah, forget it) | ||
23:03
shicheng joined
|
|||
kittenlips | Juerd: the Perl Monks article is about Perl 5 that it is impossible to statically parse. I believe Perl 6 can be statically parsed? | 23:04 | |
23:04
shicheng_ left
|
|||
ZoffixWin | Can it? | 23:04 | |
23:04
q0tw4 left,
cpage_ joined
|
|||
ZoffixWin | Perl 6's magicness looks way more advanced than Perl 5's :o | 23:04 | |
kittenlips | Can Perl 6 code be parsed without actually running the code? | 23:05 | |
Skarsnik | seems unlikly x) | ||
kittenlips | hehe | ||
lizmat | think BEGIN blocks ? | ||
think 'use something' that changes the slang | 23:06 | ||
RabidGravy | well in the sense that you can get an abstract syntax tree then yes | ||
kittenlips | lizmat++ yes because bluring the lines between compilation and runtime | ||
ZoffixWin | kittenlips, based on how I understand that monger's argument, my examples of custom operators above show an even more extreme example. How would such a parser know that, say /((((/egahgs/ is actually an operator that I defined in some other package? | ||
m: sub infix:</((((/egahgs/> ($a, $b) { say "$a $b" }; 'Just' /((((/egahgs/ 'testing' | 23:07 | ||
camelia | rakudo-moar 477830: OUTPUT«Just testing» | ||
timotimo | Skarsnik: you don't know about "v5"? | ||
Skarsnik | I am not sure I want to know | 23:08 | |
ZoffixWin | :D | ||
kittenlips | ZoffixWin: yes I think you are right | ||
Skarsnik | m: use v5; my $a = "hello"; print $a =~ /ll/; | ||
camelia | rakudo-moar 477830: OUTPUT«===SORRY!===Could not find Perl5 in: /home/camelia/.perl6/2015.12-44-g477830a /home/camelia/rakudo-m-inst-2/share/perl6/site /home/camelia/rakudo-m-inst-2/share/perl6/vendor /home/camelia/rakudo-m-inst-2/share/perl6 CompUni…» | ||
kittenlips | to everyone sorry about going on and on about syntax highlighting etc. | 23:10 | |
23:10
cygx joined
|
|||
flussence | nothing wrong with genuine curiosity :) | 23:10 | |
kittenlips | Just Perl (5 and 6) are languages that of any language need as good syntax highlighting as possible | ||
cygx | v5 has suffered a severe case of bitrot | 23:11 | |
kittenlips | It's extremely dense code with many symbols and operators and having very detailed highlighting really helps with code comprehension | ||
ZoffixWin glances at mst, who doesn't use any highlights and loves it :) | |||
cygx | I made it 'work' (with some issues related to the GLR), but precomp broke it again | ||
I'm still planning to get back to it, eventually | 23:12 | ||
ZoffixWin | Not just loves it, but argues it makes reading the code better. | ||
flussence | p6 does a lot better than just syntax highlighting, try it with the Fira Code font sometime :) | ||
kittenlips | Personally in all my years programming Perl 5 I used NEdit as I found out of the box it had the best and most detailed syntax highlighting | 23:13 | |
virtualsue | i love syntax highlighting | ||
kittenlips | I believe NEdit's syntax highlighting engine uses regex that's how it could be so good | ||
timotimo | "detailed" syntax highlighting? sounds like it highlights individual parts of letters differently, too :P | ||
kittenlips | yes, it actually individually highlighted within regexs EXACTLY how it should be | 23:14 | |
flussence | timotimo: that's also called "misconfigured Cleartype" :D | ||
virtualsue | i just generally take it as i get it, and don't care about the details | ||
Skarsnik | I use a different ide/editor for the language I work with x) | ||
kittenlips | virtualsue: hehe | ||
Skarsnik: me too | |||
with Perl 5 -> NEdit | |||
23:15
shicheng left
|
|||
RabidGravy | yeah, I only find it really really useful because sometime I can't tell the difference between quote characters | 23:15 | |
Skarsnik | C => kdevelop, C++ QtCreator, Perl 6 => kate | ||
23:15
shicheng joined
|
|||
lizmat | good night, #perl6! | 23:16 | |
kittenlips | I find with Perl 5 my brain needed good syntax highlighting in order to comprehend code easily | ||
With Java and Python it doesn't matter | |||
flussence | too much syntax highlighting can be a terrible thing: php.vim has an option to sub-highlight heredocs that use delimiters like "HTML" and "SQL"... | ||
RabidGravy | if the rest of the file is read after a quoted string, I typed the wrong quote character | ||
Skarsnik | Lol | ||
RabidGravy | red | ||
ZoffixWin | this is the best editor: github.com/codeinthedark/editor/pull/1 | 23:17 | |
^_^ | |||
*cue heavy metal music while coding* | |||
23:17
colomon joined
|
|||
kittenlips | LOL | 23:18 | |
Bang! Bang! | |||
Skarsnik | I need that! | ||
flussence | (and once upon a time, some idiot sitting in my chair thought it was a really neat idea and turned all those php.vim options on then proceeded to *make use of* them...) | ||
ZoffixWin | Oh man, it even exists for Atom :) atom.io/packages/activate-power-mode | ||
kittenlips | I tried to install Atom from source, my God it just never works I HATE node.js | ||
ZoffixWin | It's what I use for Perl 6 'cause Sublime Text 2 has bad P6 highligher :( | 23:19 | |
kittenlips | The servers I have at work are not latest Linux distros, only CentOS 6.7 and Atom will not build from source anything but newer Linuxes | ||
And they don't tell you that | |||
deniska | I need the activate power mode in my terminal | 23:20 | |
Skarsnik | rakudo build need power mode | 23:21 | |
23:21
shicheng left
|
|||
deniska | That way pretty much every program I use can be power moded | 23:21 | |
irssi power mode :) | |||
kittenlips | Let me rephrase, I don't hate node.js but I just couldn't get everything to compile it doesn't tell you you need fairly new glibc versions | ||
RabidGravy | I've installed it on ancient versions of SLES before | 23:22 | |
for my sins | |||
cygx | github.com/rakudo/rakudo/pull/662 # RFC: make v5 pluggable | ||
kittenlips | why does power mode remind me of Street Fighter? | 23:23 | |
Hadouken!!!! Alllyouken!! www.youtube.com/watch?v=pHJKS3r_YUg | 23:24 | ||
flussence | cygx: er, why not make use of the multiple-versioned-same-named module support we already have? | 23:25 | |
mojca | tadzik, I found this reference: www.in-ulm.de/~mascheck/various/she...ter-script claiming that nesting shebang scripts might be problematic (while working on newer linux) | ||
but it's my fault anyway, so it's me the one who has to address the problem | 23:26 | ||
cygx | flussence: it's not about the version specifically, and I don't think it's a good idea to disambiguate sematically distinc modules solely by authority | 23:27 | |
23:27
virtualsue left
23:28
kid51 joined,
spider-mario left
|
|||
cygx | flussence: a module could implement Perl5 via a proper slang, or just do some quote parsing and hand off the actual processing to Inline::Perl5, or something completely different | 23:28 | |
23:29
virtualsue joined
|
|||
virtualsue | i really need to sort out my wifi | 23:29 | |
dj_goku | m: my $buf = Buf.new('0'); $buf.unpack('*'); | 23:30 | |
camelia | rakudo-moar 477830: OUTPUT«This type cannot unbox to a native integer in any at gen/moar/m-Metamodel.nqp line 1718 in block <unit> at /tmp/c9Y4S9pE4x line 1» | ||
RabidGravy | mojca, the thing is "perl6" with rakudo is always a script of some sort as it's something like "moar perl6.moarvm $@" with some other arguments | ||
dj_goku | m: my $buf = Buf.new(0); $buf.unpack('*'); | ||
camelia | rakudo-moar 477830: OUTPUT«Use of the 'unpack' method is experimental; please 'use experimental :pack' in block <unit> at /tmp/xWDLWY5G4L line 1» | ||
dj_goku | m: use experimental :pack; | 23:31 | |
camelia | ( no output ) | ||
23:31
zakharyas left
|
|||
flussence | m: EVAL "}error{"; | 23:31 | |
camelia | rakudo-moar 477830: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ccrPy_cPLNUnable to parse expression in double quotes; couldn't find final '"' at /tmp/ccrPy_cPLN:1------> 3EVAL "}error{";7⏏5<EOL> expecting any of: double quotes term» | ||
dj_goku | m: use experimental :pack; my $buf = Buf.new(0); $buf.unpack('*'); | ||
camelia | ( no output ) | ||
flussence | in the repl, the filename there is odd. | ||
ugexe | m: my @x; @x>><foo>; # is this the correct error message? | ||
camelia | rakudo-moar 477830: OUTPUT«This type does not support elems in block <unit> at /tmp/zgtOgODOps line 1» | ||
ZoffixWin | m: use MONKEY-SEE-NO-EVAL; EVAL <}error{>; | 23:32 | |
camelia | rakudo-moar 477830: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0Unexpected closing bracketat /home/camelia/EVAL_0:1------> 3<BOL>7⏏5}error{» | ||
kittenlips | BTW all I wrote in Quora a recent answer to "When is Perl 6 coming out" as the previous answers were very old, hopefully my answer is accurate enough I basically paraphrased from the annoucements | ||
dj_goku | m: use experimental :pack; my $buf = Buf.new(0); say $buf.unpack('*'); | ||
camelia | rakudo-moar 477830: OUTPUT«Nil» | ||
kittenlips | www.quora.com/When-is-Perl-6-coming-out | ||
flussence | oh wait, it doesn't happen with that string: | ||
m: EVAL "}" | 23:33 | ||
camelia | rakudo-moar 477830: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0Unexpected closing bracketat /home/camelia/EVAL_0:1------> 3<BOL>7⏏5}» | ||
kittenlips | Lot's of people get Quora feeds to hopefully it gives Perl 6 additional visibility | ||
dj_goku | m: use experimental :pack; my $buf = Buf.new(0x0a); say $buf.unpack('*'); | ||
camelia | rakudo-moar 477830: OUTPUT«Nil» | ||
dj_goku | m: use experimental :pack; my $buf = Buf.new(0x0a); say $buf.unpack('H*'); | ||
camelia | rakudo-moar 477830: OUTPUT«0a» | ||
ZoffixWin | kittenlips++ | ||
Skarsnik | quora? | 23:34 | |
23:34
firstdayonthejob left
|
|||
kittenlips | It's like an alternative to Stack Exchange | 23:34 | |
Hotkeys | I've never actually used quora | 23:35 | |
never liked it for some reason | |||
kittenlips | I think they do a slightly different approach | ||
23:36
xpen joined
|
|||
dj_goku | I keep getting locally: Error while importing from 'experimental': no such tag 'pack' | 23:36 | |
mojca | tadzik, I'm looking into Panda's App.pm. The list of custom-lib locations is "/opt/local/share/perl6/site, /Users/me/.perl6/2015.12" | ||
dj_goku | but camelia is working | ||
ZoffixWin | m: use experimental :pack; | ||
camelia | ( no output ) | ||
Skarsnik | dj_goku, what rakudo version? | 23:37 | |
kittenlips | Actually that just reminds me the Stack Exchange answers to Perl 6 release are woefully out of date | ||
mojca | My blind guess is that this fails to work because /Users/me/.perl doesn't exist yet and recursive dir build fails | ||
kittenlips | will try to write answer | ||
ZoffixWin | dj_goku, sounds like your rakudo is old. | ||
timotimo | autarch: how did the text from the 24th advent post end up in your commit message in the ecosystem? | ||
autarch | wtf | 23:38 | |
no idea | |||
ShimmerFairy | .tell nine if you did use git merge, I don't see it. I don't see any merge commits for the curi branch in gitk, just the signs of a rebase. The only thing I can think is if you used 'git merge' and it decided on a fast-forward merge, in which case my blame should be redirected towards git :) | ||
yoleaux | ShimmerFairy: I'll pass your message to nine. | ||
ZoffixWin | When it happened autarch said "I just clicked the GitHub edit box; it was prefilled" | ||
autarch | I mean, I have some idea - I must'copied the blog post back and forth from WP to emacs when I was fixing some formatting | ||
ZoffixWin | I suspect might've been a copypasta issue :) | ||
timotimo | yeah, git merge --no-ff FTW | ||
ugexe | m: my @x = %(:a(1)); say @x>><a>; my @y; @y>><a> | ||
camelia | rakudo-moar 477830: OUTPUT«(1)This type does not support elems in block <unit> at /tmp/JVo6qCNVMs line 1» | ||
masak | 'night, #perl6 | 23:39 | |
ZoffixWin | night | ||
mojca | oh, wait, $HOME/.perl6/2015.12/precomp/ actually exists, but panda still complains that it's unable to find a writable directory | ||
timotimo | gnite masak | ||
dj_goku | Skarsnik: 477830 | ||
Skarsnik | the date x) | ||
timotimo | mojca: i don't think panda complains about the precomp folder missing, but about no folder for source files to be installed, eh? | ||
dj_goku | This is Rakudo version 2015.12-44-g477830a built on MoarVM version 2015.12 | ||
Skarsnik | hm it's weird | 23:40 | |
pack/unpack get experimental for the release | |||
dj_goku | I think both systems are on that I just re-built them this afternoon | ||
23:40
shicheng joined
|
|||
dj_goku | m: use experimental :unpack; my $buf = Buf.new(0x0a); say $buf.unpack('H*'); | 23:40 | |
camelia | rakudo-moar 477830: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LTTNcJvsxWError while importing from 'experimental': no such tag 'unpack'at /tmp/LTTNcJvsxW:1------> 3use experimental :unpack7⏏5; my $buf = Buf.new(0x0a); say $buf.unpa» | ||
23:40
xpen left
|
|||
mojca | what does the following mean? "try mkpath $pandadir unless $pandadir ~~ :d;" | 23:41 | |
Skarsnik | pack for both of them? | ||
dj_goku | Skarsnik: that is my guess. | ||
23:41
llfourn joined
|
|||
mojca | what is "~~ :d"? | 23:41 | |
23:41
yurivish_ left
|
|||
dj_goku | mojca: smart match for a dir | 23:41 | |
geekosaur | "exists and is a directory" | 23:42 | |
TimToady | assuming the thing on the left is a file handle | ||
or some such | |||
more generally, it means LHS.d is true | |||
dj_goku | mojca: doc.perl6.org/type/IO::Path#File_Test_operators | ||
flussence | "~~ :d" is just a really long way of writing ".d" | ||
TimToady | but convenient when you want to do ~~ :d | :f | 23:43 | |
mojca | ok, but I don't get it; Why would mkdir fail? | ||
flussence | m: say 'foo' ~~ :starts-with<f> :ends-with<o> | 23:44 | |
camelia | rakudo-moar 477830: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ci3SSm95vcYou can't adverb at /tmp/ci3SSm95vc:1------> 3y 'foo' ~~ :starts-with<f> :ends-with<o>7⏏5<EOL>» | ||
mojca | mkpath, I mean | ||
flussence | m: say 'foo' ~~ :starts-with<f> | :ends-with<o> | ||
camelia | rakudo-moar 477830: OUTPUT«Cannot call starts-with(Str: ); none of these signatures match: (Cool:D $: Cool $needle, *%_) in block <unit> at /tmp/Y2yGpSqa2i line 1» | ||
geekosaur | mojca: permissions, because something that's supposed to be a directory is a file instead | ||
among others | |||
mojca | I'm still confused | ||
$pandadir is $HOME/.perl6/2015.12/panda | 23:45 | ||
23:45
itaipu left,
ZoffixWin left
|
|||
mojca | and the script fails with "Found no writable directory into which panda could be installed" | 23:45 | |
TimToady | maybe it's not expanding $HOME? | 23:46 | |
Skarsnik | $*HOME? | ||
23:46
patrickz left
|
|||
mojca | however, once I run "mkdir $HOME/.perl6/2015.12/panda", panda starts working | 23:46 | |
HOME is expanded | |||
timotimo | why doesn't panda output the paths it's trying? | ||
mojca | I mean ... *I* wrote HOME | ||
it probably should | |||
I agree | |||
geekosaur | could remove the "try" and see what exception is thrown | ||
mojca | I added some debug output myself | ||
TimToady | or look at $! | ||
geekosaur | but I sus[pect wouldn't have the pat | 23:47 | |
h | |||
23:47
llfourn left
|
|||
mojca | ok, let me wait until panda finishes a run, then I'll clean it and rerun | 23:47 | |
dj_goku can't get panda to build correctly. | |||
cygx | mojca: might be github.com/tadzik/panda/pull/264 | ||
23:47
ELBeavers is now known as ELBeavers_away
|
|||
mojca | what does the extra ~ in front of $pandadir do? | 23:48 | |
cygx | make it into a string | ||
dj_goku | EVAL is a very dangerous function!!! (use MONKEY-SEE-NO-EVAL to override, but only if you're VERY sure your data contains no injection attacks) | ||
mojca | I'll test it now | ||
dj_goku | is what I am getting when building panda | ||
23:50
shicheng_ joined
|
|||
mojca | what determines which perl5 is being used to run moarvm? | 23:50 | |
flussence | $PATH | ||
TimToady | dj_goku: you have to blow away your install | 23:51 | |
ShimmerFairy | dj_goku: not sure, but at first glance it sounds like something in panda might be old | ||
23:51
joydo joined
|
|||
mojca | what I meant was where this was defined; moar itself is a binary | 23:51 | |
TimToady | everybody here has had to do it once :) | ||
23:52
shicheng left,
protium left
|
|||
ugexe | maybe because File::Temp's `provides` section is not valid | 23:52 | |
well it is in the .info, but not the .json | 23:53 | ||
ShimmerFairy | mojca: as far as I know, P5 is only used to configure moar, and maaaybe do some steps in the compile/install process. I don't think moar makes use of p5 in its execution. | 23:54 | |
TimToady | not unless you pull in Inline::Perl5 | 23:55 | |
dj_goku | nuking! | ||
TimToady | dj_goku: if that doesn't fix it, we will be very surprised | ||
dj_goku | TimToady: I think this is my second or third time I don't mind, just kind sucks. | 23:56 | |
RabidGravy | rakudobrew *does* use Perl 5 to create the shims | ||
mojca | when I run "panda install ..." I see perl5.22 as the process name | ||
kittenlips | I added the same Perl 6 release blurb on Stack Exchange that I put in Quora | ||
stackoverflow.com/questions/2666428...-of-perl-6 | |||
dj_goku | TimToady: I think the previous times were related to panda updates. | ||
ShimmerFairy | that must be rakudobrew, like RabidGravy says, moarvm doesn't use P5 AFAIR | ||
RabidGravy | yeah the plain perl6 is just a small shell script | 23:57 | |
cygx | "Rakudo is very easy to install" ;) | ||
kittenlips | cygx: you don't think so? | 23:58 | |
it took me 5 minutes | |||
dj_goku | TimToady: ShimmerFairy thanks, losing internet hopefully I can get it building before I lose it. | ||
23:58
niceperl left
|
|||
mojca | geekosaur, if I remove "try", then I get "Failed to open file /Users/me/.perl6/2015.12/panda: no such file or directory" for "mkpath $pandadir unless $pandadir ~~ :d;" | 23:58 | |
geekosaur | uh | 23:59 | |
cygx | mojca: that's what the pull request is about | ||
mojca | maybe "fancy way" to check whether directory exists was too fancy after all :) | ||
geekosaur | that sounds wrong | ||
RabidGravy | mojca, if you examine the "panda" and it is a Perl 5 script then that is rakudobrew's doing | ||
cygx | $pandadir is a IO::Path, it needs to be a string |