»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
raiph | i recalled sirrobert is trying it out. but i recall at least one person recently saying they'd deployed in a large corporate setting | 00:00 | |
00:01
tokuhiro_ joined
|
|||
diakopter | define "recently" | 00:02 | |
[Coke] gives up on ports ghc on os x and tries the "haskell platform" instead. | 00:04 | ||
raiph | i'm thinking in last 2 months, but i'm not sure | 00:05 | |
00:06
tokuhiro_ left
|
|||
raiph | diakopter: i'd be surprised if was as much as 3 months ago. i know i saw it. i've spent 10 mins googling. | 00:06 | |
geekosaur | do that | ||
I was going to get 7.4.1 into macports and then things went pear shaped | 00:07 | ||
00:08
sporous left
00:10
preflex left,
mauke left
00:12
tokuhiro_ joined
00:14
prettyrobots left
00:27
sporous joined,
mauke joined,
preflex joined
00:35
Vlavv_ left
00:39
atrodo left,
tombom joined
00:44
xinming left,
xinming_ joined
00:51
prettyrobots joined
|
|||
[Coke] | ah, the platform install went pretty easily, except for the part where it said "you have an older version installed, you should remove it". ... so I removed all the versions installed. whoops. | 00:52 | |
ok, full spectest run on pugs on the desktop is about 150s with -j5 ; yay. au++ for fixing up the env vars so this works. | 00:54 | ||
er, s/desktop/laptop/ | |||
01:00
scott___ joined
01:15
spider-mario left
01:23
cognominal left
01:27
Guest78123 left
01:32
cognominal joined
01:36
zhutingting left
|
|||
[Coke] needs haskell help | 01:40 | ||
01:49
Chillance joined
|
|||
[Coke] | rn: 3.WHAT.say | 02:05 | |
p6eval | rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«Int()» | ||
02:09
mtk joined
02:11
am0c_ left
02:14
orafu left
02:15
orafu joined
02:16
am0c_ joined
02:29
Vlavv joined,
lue left
02:35
raiph left
02:36
crab2313 joined
02:39
Patterner left
02:41
Psyche^ joined,
Psyche^ is now known as Patterner
02:48
tombom left
03:06
tokuhiro_ left,
tokuhiro_ joined
03:10
kaare_ joined
03:11
tokuhiro_ left
03:13
crab2313 left
|
|||
[Coke] | p: "asdf".flip.say | 03:15 | |
p6eval | pugs: OUTPUT«*** No such method in class Str: "&flip" at /tmp/XngE6hpTHw line 1, column 1 - line 2, column 1» | ||
[Coke] | how can I trigger a rebuild of pugs? | 03:17 | |
03:17
quietfanatic joined
|
|||
quietfanatic | [Coke]: Is it too late for me to offer Haskell help in response to earlier request? | 03:19 | |
03:30
lue joined
03:32
jaldhar joined
|
|||
[Coke] | yup. unfudging based on my fix. | 03:35 | |
next time. | |||
03:36
adu joined
03:42
prettyrobots left
03:44
prettyrobots joined
03:56
prettyrobots left
|
|||
quietfanatic | I'm probably doing something wrong, but attempting to install Pugs through Cabal gives me "/usr/bin/ld: cannot find -lperl" | 03:58 | |
and my libperl5.14 is already the newest version. | 03:59 | ||
trying after an ln | 04:01 | ||
nope, still no go | 04:02 | ||
au | quietfanatic: apt-get install libperl-dev | 04:09 | |
(or something equivalent on your platform) | |||
04:11
Chillance left
|
|||
au | quietfanatic: and thank you for offering Haskell help! \👷/ | 04:13 | |
04:17
crab2313 joined
|
|||
au | quietfanatic: install libperl-dev should work, but if it doesn't, "cabal install pugs -f -Perl5" can (hypothetically) build pugs w/o perl5 embedding | 04:18 | |
04:19
telex left,
am0c_ left
|
|||
[Coke] | au: hio | 04:21 | |
04:21
Seganku left
|
|||
au | 🐼/ | 04:22 | |
04:23
crab2313 left
04:24
telex joined
04:29
zhutingting joined
04:34
telex left
|
|||
dalek | gs.hs: 28fc42f | coke++ | t/update_passing_test_data.pl: copy au++'s ISO fix from t/fudgeandrun |
04:35 | |
gs.hs: 5b232c1 | coke++ | Pugs/src/Pugs/Pretty.hs: Update .WHAT output to match current spec. ::Int -> Int() |
|||
04:38
telex joined
|
|||
dalek | gs.hs: e7b0685 | coke++ | t/spectest.data: can't locate lib.pm |
04:43 | |
[Coke] | pugs: say 9206/22932 | 04:44 | |
p6eval | pugs: OUTPUT«0.4014477585906157334728763300191871620443» | ||
[Coke] | au: I think #19 or #15 will each get us quite a few tests. | 04:45 | |
au | agreed | 04:47 | |
#15 will also exercise the ./ext/Test/lib/Test.pm => ./cbits/Test_pm.c packing code | |||
which (iirc) was only in Mu but not picked up to Pugs.hs | 04:48 | ||
it'd be nice of course to rewrite it in perl6, or something, if someone has a cycle for it :) | |||
au goes adding ^^^ to the ticket as a comment | 04:49 | ||
04:49
zby_home_ joined
04:53
am0c_ joined
|
|||
[Coke] | mmm. moving more stuff into p6 would definitely make it easier to hack on. | 04:56 | |
quietfanatic | au: ah, thanks | 05:01 | |
Although I know some Haskell, I am not familiar with Pugs internals and have never submitted code to a collaborative project before. | 05:02 | ||
05:02
daniel-s__ is now known as daniel-s
|
|||
quietfanatic | The latter is more of a blocker to my participation than the former, probably. | 05:03 | |
au | quietfanatic: one good place to start is github.com/perl6/Pugs.hs/blob/master/HACKING | 05:10 | |
the entire paragraph about 7.2.1 is perhaps no longer current | |||
and please feel free to excise it and/or update it with your current/recent experience installing GHC on (presumably) an debian/ubuntu system | 05:11 | ||
quietfanatic | Cool, I'll get on that, next tuit I have. | ||
I had a commit bit to the original pugs repo (for tweaking the website stuff), but I don't think I have one to this one. | 05:12 | ||
au | hugme: add quietfanatic to perl6 | 05:13 | |
hugme | au: You need to register with freenode first | ||
au | o_O | 05:14 | |
05:14
alvis left
|
|||
quietfanatic | you need to, or I need to? | 05:14 | |
au | looking at github.com/moritz/hugme/blob/maste...me.pl#L226 seems I need to, but I already am | ||
05:15
prettyrobots joined
|
|||
au | before someone steps in to help, I guess you can simply click Edit on the GitHub web UI for instafork | 05:16 | |
quietfanatic | makes sense | 05:17 | |
au | (which creates an insta-pull-request for the HACKING file, for insta-gratification :)) | ||
quietfanatic | sweet | 05:26 | |
compiling pugs from github Just Works with Ubuntu-provided GHC 7.4.1 | |||
05:27
am0c_ left
|
|||
quietfanatic | Next up: updating HACKING | 05:27 | |
au++ by the way | |||
Or maybe INSTALL | 05:28 | ||
That's a task for another day. Cheers #perl6 | 05:29 | ||
[Coke] | cheers | 05:34 | |
dalek | ast: 16dd063 | coke++ | / (14 files): pugs fudge |
05:39 | |
05:51
am0c_ joined
05:57
am0c_ left
06:03
birdwindupbird joined
06:06
wtw joined
06:11
nodmonkey joined
06:12
am0c_ joined
|
|||
moritz | \o | 06:16 | |
06:25
zby_home_ left
06:35
quietfanatic left
06:37
nodmonkey left
06:45
hoelzro|away is now known as hoelzro
|
|||
hoelzro | I have a standalone example of the crashing behavior I keep seeing with DBIish | 06:48 | |
hoelz.ro/files/perl6-crash.tar.bz2 | |||
it's a seg fault this time, though, and not an assertion failure | |||
also, for some reason, the crash doesn't happen on OS X | 06:49 | ||
06:57
yves_ left
|
|||
moritz | hoelzro++ # putting files on an ipv6-enabled web server | 06:57 | |
hoelzro | =) | 06:58 | |
moritz | make: Warning: File `Makefile' has modification time 2.2e+04 s in the future | ||
hoelzro: doesn't crash here either | 07:00 | ||
07:00
yves_ joined
|
|||
moritz | hoelzro: linux amd64 with newest rakudo + nqp from git | 07:00 | |
hoelzro | moritz: what distro of Linux? | ||
moritz | hoelzro: debian testing | ||
hoelzro | hmm | ||
I should mention I'm on rakudo-star 2016.06 | |||
I'll try with latest Rakudo | |||
diakopter | 2016! | ||
hoelzro really wants a perlbrew for Perl6 | |||
er, 2012 | 07:01 | ||
diakopter | that's, like, after 6.0.0 | ||
moritz | the says "the future is already here, just unevenly distributed" gets a whole new meaning :-) | ||
07:03
zhutingting left
07:05
GlitchMr joined
07:06
kaleem joined
07:13
PZt left
|
|||
moritz | masak++ # strangelyconsistent.org/blog/talkin...-14yo-self | 07:21 | |
hoelzro | moritz: what version of Parrot are you using, btw | ||
moritz | hoelzro: RELEASE_4_5_0-7-g66923d2 | 07:23 | |
hoelzro | ok | 07:25 | |
I'll try again later with latest stuff, I guess | |||
moritz | today is rakudo release day, right? | ||
07:26
mucker joined
|
|||
hoelzro jumps up and down | 07:26 | ||
07:28
aloha left
07:29
aloha joined
07:32
kaleem left
07:38
SamuraiJack joined
07:39
kresike joined
|
|||
kresike | hello all you happy perl6 people | 07:39 | |
dalek | kudo/nom: cfe8e56 | moritz++ | docs/ChangeLog: brush up ChangeLog |
07:40 | |
07:43
zhutingting joined
07:48
kaleem joined
07:50
fhelmberger joined
|
|||
GlitchMr | Should Perl 6 installation return lots of gcc warnings? | 07:58 | |
(rakudo) | |||
07:59
Bzek left
|
|||
moritz | depends on what you mean by "should" | 08:06 | |
I'd certainly prefer a cleaner build | |||
and would accept patches that clean up the warnings | |||
GlitchMr | Fixing things like multidispatch.c:671:21: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] would be easy, at least I think so | 08:07 | |
sorear | I think that's a ridiculous warning | 08:08 | |
GlitchMr | But well, everybody knows that a && b || c && d is (a && b) || (c && d) | ||
diakopter | people forget | 08:09 | |
moritz | I think we should compiler without -Wparentheses | ||
GlitchMr | glitchmr@strawberry:~/git/panda$ ../../rakudo/bin/perl6 bootstrap.pl | ||
sh: 1: perl6: not found | |||
fun | |||
diakopter | people work when extremely tired. people get older. people confuse themselves. "everybody knows" isn't true for every coder all the time. | 08:10 | |
moritz | GlitchMr: panda expects a perl6 binary in $PATH | ||
GlitchMr | why? | ||
It doesn't make sense to depend on this | 08:11 | ||
moritz | GlitchMr: because it's easier that way, and nobody has taught it to do otherwise | ||
GlitchMr: I'm pretty sure tadzik++ would accept patches | |||
GlitchMr | shell "perl6 bin/panda install File::Tools JSON::Tiny Test::Mock"; | 08:12 | |
Yeah.. | |||
moritz | yeah! | ||
GlitchMr | What if my interpreter is "rakudo" or something | ||
moritz | then your patches are very welcome | 08:13 | |
GlitchMr | Also, just wondering, but does shell support multiple arguments just like system in Perl 5? | 08:14 | |
08:15
am0c_ left
|
|||
GlitchMr | Oh, I see, it's run then | 08:15 | |
Except run() isn't implemented | |||
Fun | |||
It reminds me PHP for some reason | 08:16 | ||
08:18
am0c_ joined
08:19
sergot joined
|
|||
sergot | hello \o/ | 08:19 | |
08:19
yves_ left
|
|||
tadzik | well, so we need perl6brew which will switch perl6 to and from niecza :) | 08:25 | |
and pugs | 08:26 | ||
hello sergot | |||
mucker | hi guys. is there an easy way to download the spec tests ?? | 08:29 | |
tadzik | yes | 08:31 | |
git clone git://github.com/perl6/roast.git | |||
08:31
kurahaupo left
|
|||
mucker | thnkx ! | 08:32 | |
tadzik | or from github.com/perl6/roast/downloads | ||
you're welcome | |||
mucker | one thing I have always like about perl* is, tests are like extra documentation :) | 08:33 | |
GlitchMr | But github.com/perl6/roast/downloads doesn't have any files | 08:37 | |
08:38
mucker left
|
|||
GlitchMr | t/panda/fetcher.t .... fatal: repository 't/' does not exist | 08:38 | |
Should it be this way? | 08:39 | ||
moritz | GlitchMr: github.com/tadzik/panda/issues/4 | 08:41 | |
tadzik | yeah | ||
maybe I should just remove that test | 08:42 | ||
GlitchMr | I guess that rakudo doesn't support "is export" | 08:45 | |
moritz | GlitchMr: don't guess | 08:46 | |
tadzik | it does | ||
GlitchMr | ===SORRY!=== | ||
Missing block | |||
at Addslashes.pm:2 | |||
Weird... | |||
moritz | then you did something wrong. | ||
GlitchMr | This is what I get for not testing code at all | ||
This is my code: github.com/GlitchMr/perl6-Acme-Add...slashes.pm | 08:47 | ||
moritz | the traits come after the signature | ||
GlitchMr | Oh, ok | ||
I guess that "no ICU lib loaded" is connected to "\c[COMBINING LONG SOLIDUS OVERLAY]" | 08:48 | ||
Is it possible to install ICU lib? Or should I just use normal \x escapes | |||
moritz | if it weren't possible to install ICU lib, we wouldn't rely on it. | 08:49 | |
GlitchMr | How can I install it? I'm at Kubuntu machine | 08:50 | |
moritz | please see rakudo's README or INSTALL files | ||
GlitchMr | ok | ||
08:51
prettyrobots left
|
|||
GlitchMr | That's 10MB, but I guess that ICU contains Unicode database and things like it, so ok | 08:51 | |
I guess I have to compile rakudo again? | |||
moritz | I guess you even have to reconfigure and recompile parrot | 08:52 | |
GlitchMr | container.c:47:17: warning: identifier ‘typename’ conflicts with C++ keyword [-Wc++-compat] | ||
heh | |||
So much for C++ compatibility | 08:53 | ||
(not like it matters) | |||
en.wikipedia.org/wiki/Compatibilit...nd_C%2B%2B | 08:55 | ||
08:55
am0c_ left
08:56
am0c_ joined
|
|||
GlitchMr | t/01-sanity/99-test-basic.t ........ ok | 08:58 | |
Why this test has 99 as number? | |||
09:00
dakkar joined
|
|||
diakopter | to make sure it always runs near the end? | 09:01 | |
(or maybe it refers to the 99 problems...) | |||
09:08
bbkr1 joined
09:09
Coleoid joined
09:13
am0c_ left
|
|||
GlitchMr | This code doesn't work | 09:26 | |
$string.subst(/ (.) /, { "$0\c[COMBINING LONG SOLIDUS OVERLAY]" }, :g); | |||
But that probably: | |||
#?rakudo 3 skip '$/ not involved in .subst yet (unspecced?)' | |||
I guess I will have to use normal s/// instead | |||
masak | good morrow, #perl6. | 09:30 | |
moritz | good nearly-noon, masak | ||
bbkr1 | o/ | ||
masak | aye, mid-antenoon. :) | 09:31 | |
diakopter whines at this 1220-line C file that is segfaulting. | |||
moritz | valgrind! valgrind! | ||
GlitchMr | Just wondering, why $/ isn't @/? | 09:33 | |
diakopter | I know exactly where the problem is; I just can't see what I'm doing wrong; the pointer arithmetic looks right to me. | ||
GlitchMr | Oh, right... I just noticed it mixes hash and array | ||
au | because of named captures? | 09:34 | |
moritz | let's name it $@%/, because it has aspects of a scalar, an array and a hash | 09:35 | |
GlitchMr | ok, I guess that $/ is better then | 09:36 | |
Timbus | now you're just swearing | ||
masak .oO( too bad Match isn't Callable, too... ) | |||
GlitchMr | $@%&/ would be nice | ||
moritz | masak: I'm sure we can find a meaning for that too :-) | 09:37 | |
GlitchMr | Heh, I find it interesting that official JavaScript implementation once had callable regexpes | 09:38 | |
Because it was callable, it has to return "function" on typeof | |||
After some time, they got bug report about regexpes being "function"s. | |||
Fix: Make typeof return "object" for RegExp as special case | |||
Good thing that today RegExpes aren't callable at all | 09:39 | ||
github.com/GlitchMr/perl6-Acme-Add...e6afe1dfec | 09:40 | ||
Workarounds :P | |||
tadzik | n: sub addslashes is export (Str $string) { } | 09:41 | |
p6eval | niecza v19-13-g442e075: OUTPUT«Potential difficulties: $string is declared but not used at /tmp/tUgzDJpa1D line 1:------> sub addslashes is export (Str ⏏$string) { }» | ||
tadzik | huh | ||
GlitchMr | I couldn't manage to compile Rakudo on Windows, so I just made it work on Niecza | ||
But now, I have real Linux machine :) | 09:42 | ||
tadzik | yay | 09:44 | |
diakopter tiredly continues free(1) debugging in visual studio | 09:45 | ||
GlitchMr | A̸t̸ ̸l̸e̸a̸s̸t̸ ̸i̸t̸'̸s̸ ̸n̸o̸t̸ ̸W̸i̸n̸d̸o̸w̸s̸.̸.̸.̸ | ||
Just wondering, why parenthesis are required when calling method with any arguments | 09:48 | ||
Ruby is happy without parenthesis | 09:49 | ||
moritz | because it makes argumentless method calls more convenient | ||
GlitchMr | What's wrong with making $a.b.c mean what it means actually and $a.b .c mean $a.b($_.c) | 09:50 | |
moritz | predictive parsing | 09:51 | |
tadzik | people are upset already about whitespace sensitivity | ||
moritz | if you allow $a.b 'c' to mean $a.b('c'), it means you expect a term (and not an operator) after $a.b | 09:52 | |
which means that you can't write $c.re + $c.im anymore | |||
GlitchMr | Hmmm... yeah | ||
moritz | and other very neat stuff stops working too | ||
GlitchMr | re($c) + im $c | ||
Well, whatever, it's not like you commonly call methods with arguments | 09:53 | ||
Timbus | "a -1; a=0; a -1" parses as "a(-1); a=0; a.+(-1)" in ruby. im just saying | 09:54 | |
moritz | yes, argumentless method calls are much more common | ||
everything that looks like an attribute access ($.foo) | |||
is actually a method call with an argument | 09:55 | ||
masak | <moritz> if you allow $a.b 'c' to mean $a.b('c'), it means you expect a term (and not an operator) after $a.b | 09:56 | |
best and shortest explanation of that I've seen to date. | |||
moritz++ | |||
moritz bows | |||
GlitchMr | Timbus: O_o | 09:57 | |
masak | somethings about it bugs me, though. | ||
GlitchMr | I through that Ruby grammar uses whitespace for that | ||
masak | how come Java doesn't run into this problem? | ||
moritz | masak: does Java do predictive parsing at all? | ||
masak | in Java, you can do object.foo.bar | ||
moritz: no, and that's probably it. | 09:58 | ||
moritz | does java allow .bar without a preceeding term? | ||
masak | if by that you mean "zero-lookahead", fsvo "zero". | ||
moritz: oh! no, it doesn't. :) | |||
GlitchMr | Ok, Ruby does that, but I'm sure that coffeescript.org/ doesn't do that | ||
moritz | masak: with predictive parsing I mean that the grammar can disambiguate the same symbol used in term and in infix position | 09:59 | |
masak .oO( of course not, it's a website! ) :P | |||
moritz | GlitchMr: are you aware of the colon syntax for passing arguments to methods? | ||
GlitchMr | Yes | ||
masak | moritz: I'm not sure I feel the term is that obvious. "predivtive" sounds like "makes a lot of clever guesses" to me. | 10:00 | |
GlitchMr | But I don't think that I can earn anything with colon | ||
masak | "earn"? | ||
tadzik | it looks good | ||
moritz | masak: I never said it's obvious :-) | ||
masak | you can put arguments there without parens! :) | ||
GlitchMr | What "$a.method: 2" gives me compared to "$a.method(2)" | ||
moritz | no parens | ||
GlitchMr | But I have colon | ||
masak | indeed you do. | ||
moritz | avoiding parens is what we talk about all this time, no? | ||
GlitchMr | Well, I also could call eval() with cleverly hidden parenthesis but that isn't the point | 10:01 | |
tadzik | you don't save bytes this way, no | ||
GlitchMr | I meant, eval | ||
After all I want to avoid parenthesis | |||
moritz | then use the colon :-) | 10:02 | |
masak | at least one of us is being difficult in this conversation. | ||
what are we trying to achieve? | |||
are we doing language design (proposing to allow method calls with args but no colon or parens), or talking programming esthetics (it looks so much nicer when I don't have to use parens, but the colon is ugly, too!)? | 10:03 | ||
GlitchMr | Actually, I think that colon is good enough | 10:04 | |
10:04
mucker joined
|
|||
masak doesn't know whether to apologize or be contented with killing the discussion | 10:08 | ||
s/ze/ze for/ | |||
10:10
daxim joined
10:13
scott___ left
|
|||
jnthn | afternoon o/ | 10:31 | |
masak | jnthn! \o/ | 10:32 | |
tadzik | not sure what's better :) | 10:33 | |
10:35
MayDaniel joined
10:38
Woodi joined,
mtk left
|
|||
masak | good, because you don't get to choose, you get both :) | 10:38 | |
tadzik | awesome! | ||
10:38
kurahaupo joined
10:39
adu left
|
|||
moritz | extra value pack: jnthn + afternoon! :-) | 10:42 | |
masak | buy now! limited quantities only! | 10:43 | |
tadzik | how possibly could you get something better than that | ||
jnthn | I dunno, I'd say jnthn + morning is even more limited :P | ||
tadzik | but it | ||
damn you, Surprise Enter | |||
anything containing morning is naturally less desired :) | 10:44 | ||
masak | jnthn: jnthn + morning is limited in terms of supply, but also in demand. :) | ||
dang, tadzik beat me to it :) | |||
tadzik | s/[\s^\n]+/ /g -- Perl 5 regex, does it make sense to anybody? | 10:48 | |
I'm wondering if it's a typo, or just something really clever that I don't understand | |||
or maybe something simple that I don't understand :) | 10:49 | ||
flussence | [whitespace or "^" or newline]+ | ||
au | the intention was probably [^\S\n] | 10:50 | |
(whitespace minus newline) | |||
tadzik | au: you're probably right | 10:51 | |
flussence: yeah, that would be it, except that it kind of surprises me in this context | 10:53 | ||
flussence | wouldn't whitespace minus newline just be /\s+/ though? you're right, it doesn't make a whole lot of sense... | 10:55 | |
moritz | \h+ | 10:56 | |
horizontal whitespace | |||
nr: say so "\n" ~~ /\s/ | 10:57 | ||
p6eval | rakudo cfe8e5, niecza v19-13-g442e075: OUTPUT«True» | ||
moritz | nr: say so "\n" ~~ /\h/ | ||
p6eval | rakudo cfe8e5, niecza v19-13-g442e075: OUTPUT«False» | ||
11:07
nodmonkey joined
11:10
simplx left
11:30
mtk joined
11:32
JimmyZ joined
11:40
am0c_ joined
11:46
skids left
11:57
spider-mario joined
|
|||
flussence | eval: say "\n" ~~ /\s/ | 11:57 | |
buubot_backup | flussence: ERROR: syntax error at (eval 20) line 1, near "say "\n"" | ||
flussence | eval: use 5.012; say "\n" ~~ /\s/ | ||
buubot_backup | flussence: 1 1 | ||
flussence | eval: use 5.012; say "\n" ~~ /\h/ | 11:58 | |
buubot_backup | flussence: 1 | ||
flussence | oh, right | ||
12:12
Coleoid left
12:13
adu joined
12:21
kurahaupo left
|
|||
JimmyZ | r: say map *.ord - 55, 'A' ... 'Z' | 12:26 | |
p6eval | rakudo cfe8e5: OUTPUT«Cannot call 'map'; none of these signatures match::(&code, *@values) in block <anon> at /tmp/lCoagov46M:1» | ||
moritz | r: say (*.ord - 55).perl | 12:29 | |
p6eval | rakudo cfe8e5: OUTPUT«WhateverCode.new()» | ||
GlitchMr | perl6: say map *.ord - 55, ('A' ... 'Z') | 12:30 | |
p6eval | rakudo cfe8e5, niecza v19-13-g442e075: OUTPUT«10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35» | ||
GlitchMr | I have feeling it was interpreted as (*.ord - 55, 'A') ... 'Z' | 12:31 | |
JimmyZ | rn: say map *.ord - 55, 'A' .. 'Z' | ||
p6eval | rakudo cfe8e5, niecza v19-13-g442e075: OUTPUT«10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35» | ||
JimmyZ is not sure | 12:32 | ||
r: say map (*.ord - 55, 'A') ... 'Z' | |||
p6eval | rakudo cfe8e5: OUTPUT«Cannot call 'map'; none of these signatures match::(&code, *@values) in block <anon> at /tmp/FSzgUm3wAW:1» | ||
GlitchMr | ... has lower precedence than , | ||
doc.perl6.org/language/operators | 12:33 | ||
flussence | r: say ('A'..'Z')».ord »-» 55 | ||
p6eval | rakudo cfe8e5: OUTPUT«10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35» | ||
jnthn | ... and .. have different precednce levels. | ||
list infix vs structural infix | |||
JimmyZ thought they are the same precednce levels | 12:36 | ||
GlitchMr | perl6: print ::.perl | 12:38 | |
p6eval | niecza v19-13-g442e075: OUTPUT«PseudoStash.new(...)» | ||
..rakudo cfe8e5: OUTPUT«PseudoStash.new("\$!", Any, "\$=pod", Array.new(), "!UNIT_MARKER", !UNIT_MARKER, "GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "::?PACKAGE", GLOBAL, "\$_", Any, "\$/", Any, )» | |||
flussence | rn: [[ [..] <A Z>]».ord»-»55].say | 12:39 | |
p6eval | rakudo cfe8e5: OUTPUT«10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35» | ||
..niecza v19-13-g442e075: OUTPUT«===SORRY!===Cannot reduce with .. because structural infix operators are diffy and not chaining at /tmp/8KeN0HVyVM line 1:------> [[ [..]⏏ <A Z>]».ord»-»55].sayUnhandled exception: Check failed at /home/p6eval/n… | |||
flussence | rn: [['A'..'Z']».ord»-»55].say | ||
p6eval | rakudo cfe8e5, niecza v19-13-g442e075: OUTPUT«10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35» | ||
flussence | rn: say [[[+] 1]].perl | 12:40 | |
p6eval | rakudo cfe8e5: OUTPUT«===SORRY!===Unable to parse infixish, couldn't find final ']' at line 2, near " 1]].perl"» | ||
..niecza v19-13-g442e075: OUTPUT«===SORRY!===Unable to parse bracketed infix at /tmp/CKNLWNfllf line 1:------> say [[⏏[+] 1]].perlCouldn't find final ']'; gave up at /tmp/CKNLWNfllf line 1:------> say [[[+]⏏ 1]].perlParse fail… | |||
flussence | rn: say [ [[+] 1]].perl | 12:41 | |
p6eval | rakudo cfe8e5, niecza v19-13-g442e075: OUTPUT«[[1]]» | ||
flussence | I'm not sure what the difference is there. | ||
JimmyZ | rn: ['A'..'Z']».ord»-»55.».say | 12:44 | |
p6eval | rakudo cfe8e5: OUTPUT«===SORRY!===Confusedat /tmp/_dB77_nQxs:1» | ||
..niecza v19-13-g442e075: OUTPUT«55» | |||
12:47
MayDaniel left
|
|||
[Coke] | diakopter: why wait on perlbrew when we already have at /least/ 2 versions you might want to play with simultaneously? | 12:48 | |
... and I see this was covered. | 12:49 | ||
12:51
yves joined
|
|||
[Coke] | p: ['A'..'Z']».ord»-»55.».say | 12:51 | |
p6eval | pugs: OUTPUT«***  Unexpected "-\187" expecting term postfix at /tmp/iWOtrIii5j line 1, column 17» | ||
12:52
adu left
12:54
PacoAir joined
|
|||
JimmyZ | n: ['A'..'Z']».ord»-».55.».say | 12:59 | |
p6eval | niecza v19-13-g442e075: OUTPUT«0.55» | ||
13:06
BinGOs left
13:10
tokuhiro_ joined
13:14
adu joined
13:22
BinGOs joined
13:25
bluescreen10 joined
13:29
adu left
13:35
skids joined
13:38
zhutingting left
|
|||
moritz | www.muppetlabs.com/~breadbox/softwa...ckers.html # looks interesting/useful, in case anybody wants to muck with ELF binaries :-) | 13:42 | |
GlitchMr | I guess that Rakudo doesn't support forks or any sort of concurrency | ||
tadzik | not really | 13:43 | |
you can call fork through NativeCall though | |||
13:43
sergot left
13:44
tokuhiro_ left,
tokuhiro_ joined
|
|||
colomon | n: say ['A'..'Z']>>.ord | 13:45 | |
p6eval | niecza v19-13-g442e075: OUTPUT«65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90» | ||
colomon | n: say ['A'..'Z']>>.ord>>->>55 | ||
p6eval | niecza v19-13-g442e075: OUTPUT«===SORRY!===Unsupported use of -> as postfix; in Perl 6 please use either . to call a method, or whitespace to delimit a pointy block at /tmp/GamJkocDZr line 1:------> say ['A'..'Z']>>.ord>>->⏏>55Parse failed»… | ||
colomon | n: say ['A'..'Z']>>.ord>>[-]>>55 | ||
p6eval | niecza v19-13-g442e075: OUTPUT«===SORRY!===Prefix requires an argument at /tmp/ObRBk_3A_k line 1:------> say ['A'..'Z']>>.ord>>[-⏏]>>55Parse failed» | ||
colomon | n: say ['A'..'Z']>>.ord >>->> 55 | ||
GlitchMr | perl6: say ['A'..'Z']».ord»-»55 | ||
p6eval | niecza v19-13-g442e075: OUTPUT«10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35» | ||
rakudo cfe8e5, niecza v19-13-g442e075: OUTPUT«10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35» | |||
colomon | n: ['A'..'Z']>>.ord >>->> 55 >>.say | 13:47 | |
p6eval | niecza v19-13-g442e075: OUTPUT«===SORRY!===Confused at /tmp/_AcfyQT2VA line 1:------> ['A'..'Z']>>.ord >>->> 55 ⏏>>.sayParse failed» | ||
colomon | n: (['A'..'Z']>>.ord >>->> 55) >>.say | ||
p6eval | niecza v19-13-g442e075: OUTPUT«===SORRY!===Confused at /tmp/RRdxr56Z8U line 1:------> (['A'..'Z']>>.ord >>->> 55) ⏏>>.sayParse failed» | ||
kresike | bye all | ||
13:47
kresike left
|
|||
colomon | n: say ['A'..'Z']>>.ord >>->> 55 | 13:47 | |
p6eval | niecza v19-13-g442e075: OUTPUT«10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35» | 13:48 | |
13:48
tokuhiro_ left
13:52
kaleem left
14:08
sergot joined
14:09
erkan left
14:13
erkan joined
14:17
kaleem joined
|
|||
arnsholt | The best incentive to improve error messages: Debugging code with duplicate error messages | 14:17 | |
moritz | agreed :-) | 14:20 | |
14:23
bluescreen10 left
14:28
yves is now known as yvesago
|
|||
GlitchMr | --optimize=[level] use the given level of optimization (0..3) | 14:29 | |
What is that optimization? | |||
jnthn | Generally, 1 is "really safe/proven stuff", 2 (the default) is "stuff that we're quite happy works", 3 is "if you have good tests and are willing to risk issues" | 14:31 | |
tadzik | hmm. I should try running emmentaler on -O3 and see what breaks ;) | ||
GlitchMr | Acme::Addslashes seems to work on level 3 | ||
jnthn | We compile the setting with --optimize=3 because the spectests cover the stuff in the setting pretty well :) | ||
GlitchMr | Just wondering, how to test Perl 6 modules? | 14:33 | |
tadzik | like, massively? | 14:34 | |
GlitchMr | I know that I can use prove, but when I do it lib doesn't appear in INC | ||
tadzik | ufo && make test | ||
that's the best part | |||
GlitchMr | ufo? | ||
tadzik | you can also do magic like PERL6LIB=blib/lib:$PERL6LIB prove -e perl6 t/ | ||
github.com/masak/ufo | |||
moritz just updated rakudo.org/documentation/ | 14:35 | ||
14:36
zhutingting joined
|
|||
GlitchMr | I'm changing ENV PERL6LIB but @*INC doesn't see change | 14:37 | |
It's probably just me | |||
moritz | @*INC is populated from PERL6LIB at startup | 14:38 | |
GlitchMr | I still only see /home/glitchmr/.perl6/lib and /home/glitchmr/rakudo/lib/parrot/4.5.0-devel/languages/perl6/lib | ||
moritz | if it's @+INC you want to change, change @*INC | ||
s/\+/*/ | |||
14:39
wtw left
14:40
prettyrobots joined
|
|||
arnsholt | So, yeah: t/08-callbacks.t ....... ok | 14:40 | |
It's just a simple void(void) callback, but yay! | |||
jnthn | wow! | ||
\o/ | |||
arnsholt++ | |||
arnsholt | Let's see what happens when I add more tests =) | ||
GlitchMr | Oh, I managed to do it | 14:41 | |
jnthn | BOOM SIGSEGV! | ||
;) | |||
tadzik | coool | 14:42 | |
arnsholt | Yeah. Returning stuff back to C might be fun | ||
tadzik | arnsholt++ | ||
GlitchMr | Now my prove6 script works properly | ||
env PERL6LIB=lib prove -e perl6 -r t/ | |||
It's possibly to simple, but whatever | |||
tadzik | GlitchMr: you may old PERL6LIB in new PERL6LIB | ||
GlitchMr | PERL6LIB is empty | 14:43 | |
tadzik | fine then | ||
GlitchMr | Too late for semicolon form of $*PKGDECL definition at line 14, near "has $.meta" | ||
That could be fun | |||
masak | arnsholt++ | ||
tadzik | now, who's the first to write Gtk bindings? :) | 14:44 | |
s/write/start/ | |||
JimmyZ | qt! | 14:45 | |
14:46
PZt joined
|
|||
arnsholt | tadzik: I've been thinking about it =) | 14:47 | |
But first I have to get this thing working | 14:48 | ||
I got a segfault with a simple int argument, so something's obviously wrong =) | |||
sirrobert | is there a shorter/better way than this to create a random, 10-character string? ('a'..'z').roll(10) | ||
GlitchMr | I've feeling it complains about this: | ||
tadzik | better would be to actually create a string :) | ||
GlitchMr | class A {...}; class A; has $*something; | ||
tadzik | r: ('a'..'z').roll(10).perl | ||
p6eval | rakudo cfe8e5: ( no output ) | ||
tadzik | r: ('a'..'z').roll(10).perl.say | ||
p6eval | rakudo cfe8e5: OUTPUT«("v", "n", "h", "s", "k", "q", "t", "y", "v", "o").list» | ||
sirrobert | well, with join or whatever | ||
tadzik | yeah, that seems a reasonable way | 14:49 | |
GlitchMr | perl6: class A {...}; class A; | ||
p6eval | niecza v19-13-g442e075: OUTPUT«===SORRY!===Too late for semicolon form of class definition at /tmp/elVs0JR44_ line 1:------> class A {...}; class A⏏;Package was stubbed but not defined at /tmp/elVs0JR44_ line 1:------> class⏏ A {… | ||
..rakudo cfe8e5: OUTPUT«===SORRY!===Too late for semicolon form of $*PKGDECL definition at line 2, near ""» | |||
GlitchMr | Too late? | ||
tadzik | yep | ||
you've already defined a class, too late to declare it :) | |||
at least that's my understanding | 14:50 | ||
or maybe the "class A;" syntax can only appear at the beginning of the file | |||
p6: class A; class B; | |||
p6eval | rakudo cfe8e5: OUTPUT«===SORRY!===Too late for semicolon form of $*PKGDECL definition at line 2, near ""» | ||
..niecza v19-13-g442e075: OUTPUT«===SORRY!===Too late for semicolon form of class definition at /tmp/H0Ho6XNEdj line 1:------> class A; class B⏏;Parse failed» | |||
tadzik | yep | ||
it's not like in Perl 5 then | |||
GlitchMr | Oh, that will be simple then to fix | ||
jnthn | r: my $a; $a++ until ('a'..'z').roll(10).join('') eq 'lol'; say $a | ||
p6eval | rakudo cfe8e5: OUTPUT«(timeout)» | ||
jnthn | uh :) | ||
tadzik | :) | ||
jnthn | r: my $a; $a++ until ('a'..'z').roll(3).join('') eq 'lol'; say $a | ||
p6eval | rakudo cfe8e5: OUTPUT«(timeout)» | 14:51 | |
arnsholt | Oh, ffs. Don't optimize away my loop variables >.< | ||
tadzik | try again! | ||
jnthn | :P | ||
tadzik | r: my $a; $a++ until ('a'..'z').roll(3).join('') eq 'lol'; say $a | ||
p6eval | rakudo cfe8e5: OUTPUT«(timeout)» | ||
tadzik | r: my $a; $a++ until ('a'..'z').roll(3).join('') eq 'lol'; say $a | ||
moritz | try n: :-) | ||
tadzik | try {}! try {}! try {}! | ||
p6eval | rakudo cfe8e5: OUTPUT«(timeout)» | ||
tadzik | n: my $a; $a++ until ('a'..'z').roll(3).join('') eq 'lol'; say $a | ||
p6eval | niecza v19-13-g442e075: OUTPUT«(timeout)» | 14:52 | |
moritz updated rakudo.org/how-to-help/ | |||
14:52
thou joined
|
|||
tadzik | moritz++ | 14:52 | |
jnthn | Did it locally. 3215. :) | ||
tadzik | seconds? :P | ||
jnthn | no, iterations :) | ||
r: say 26 ** 3 | 14:53 | ||
p6eval | rakudo cfe8e5: OUTPUT«17576» | ||
moritz | jnthn: 3215 is you lucky number :-) | ||
jnthn | All the digits in it are in the fibonacci sequence \o/ | 14:54 | |
Clearly lucky. | |||
sirrobert | Can you set a class property to be one of exactly two types? | 14:55 | |
has Int|Str $.foo; | |||
? | |||
tadzik | what happens when you try? :) | 14:56 | |
moritz | r: class A { has Int|Str $.foo } | ||
sirrobert | heh | ||
tadzik | r: class A { has Int|Str $.foo; }; A.new(foo => 5); A.new(foo=> "doof"); | ||
sirrobert | I meant something like, "what's the syntax for it" ;) | ||
moritz | not much it seems :-) | ||
tadzik | r: alive? | 14:57 | |
perl6eval is still looking for "lol" I guess | |||
moritz | I don't think so, it has a CPU time limit | ||
sirrobert | when I try that particular one, the error is "Malformed has" | ||
p6eval | rakudo cfe8e5: OUTPUT«===SORRY!===Malformed hasat /tmp/xHcIothGQN:1» | ||
rakudo cfe8e5: OUTPUT«===SORRY!===Malformed hasat /tmp/gwSm5LlV2S:1» | |||
rakudo cfe8e5: OUTPUT«===SORRY!===Confusedat /tmp/M0ZBSGnvYt:1» | |||
tadzik | sirrobert: you can try a subset then | ||
moritz | std: class A { has Int|Str $.foo } | ||
p6eval | std 3b49ac8: OUTPUT«===SORRY!===Multiple prefix constraints not yet supported at /tmp/320io3g5mU line 1:------> class A { has Int⏏|Str $.foo }Malformed has at /tmp/320io3g5mU line 1:------> class A { has Int⏏|Str $.foo } ex… | ||
sirrobert | tadzik: what does that look like? | ||
tadzik | not supported in std? Perl 6.1 it is then ;) | 14:58 | |
moritz | subset IntStr of Cool where Str|Int; | ||
sirrobert | hmmm ok, thanks =) | ||
tadzik | r: subset Foo of Any where Int|Str; class A { has Foo $.foo; }; A.new(foo => 5); A.new(foo=> "doof"); | ||
p6eval | rakudo cfe8e5: ( no output ) | ||
tadzik | seems to work | ||
sirrobert | great; didn't know about subsets | ||
thanks =) | |||
tadzik | check out Typed::Subroutines too :) | 14:59 | |
github.com/tadzik/Typed-Subroutine...ter/README | |||
moritz | $ time !! | ||
time ./perl6 -e 'my $a; $a++ until ("a".."z").roll(3).join eq "lol"; say $a' | |||
6515 | |||
real 4m11.592s | |||
that's slow | |||
tadzik | I find them quite awesome, but maybe that's because it's my idea :P | ||
moritz | r: say 6515 / (60*4 + 11) | 15:00 | |
p6eval | rakudo cfe8e5: OUTPUT«25.956175» | ||
jnthn | Ouch. That does rather suck. | 15:01 | |
To the profiler! | |||
tadzik | 25 of those a second is not that bad as for Rakudo, imho :) | 15:02 | |
moritz | 18% in gimme | ||
i wonder if reify the range all over again each time | |||
we don't | 15:04 | ||
jnthn | How long is spent in roll and join? | 15:05 | |
moritz | roll itself not much | 15:06 | |
but all the work is done in a gather while ... | |||
so that's a separate block I think | |||
jnthn | ah, true | ||
moritz | join neither much (<1%) | ||
I wonder if gather/take is the culprit | 15:07 | ||
r: say <a b c>.list.roll(2) | 15:11 | ||
p6eval | rakudo cfe8e5: OUTPUT«b a» | ||
masak | $ time nom -e 'my $a; $a++ until ("a".."z").roll(3).join eq "lol"; say $a' | 15:12 | |
15169 | |||
real3m18.316s | |||
r: say 15169 / (60*3 + 18) | 15:13 | ||
p6eval | rakudo cfe8e5: OUTPUT«76.611111» | ||
GlitchMr | Actually, it seems that the module I attempt to make working has weird things like: | ||
has $.doc = $.parse_document(); | |||
Which cause errors | |||
TestML | |||
perl6: class A; has $*nothing = $.do_nothing(); method do_nothing {} | 15:14 | ||
p6eval | niecza v19-13-g442e075: ( no output ) | ||
..rakudo cfe8e5: OUTPUT«===SORRY!===Virtual call $.do_nothing may not be used on partially constructed objectsat /tmp/jTqGipaCdc:1» | |||
GlitchMr | std: class A; has $*nothing = $.do_nothing(); method do_nothing {} | ||
p6eval | std 3b49ac8: OUTPUT«===SORRY!===Virtual call $.do_nothing() may not be used on partially constructed object at /tmp/ABb13VzFwl line 1:------> class A; has $*nothing = ⏏$.do_nothing(); method do_nothing {}Check failedFAILED 00:00 42m» | ||
moritz thought niecza caught that too | |||
masak | today is Rakudo release day. | 15:15 | |
GlitchMr | perl6: class A { has $.answer = $.give_42(); method give_42 { 42 } }; print A.new.answer; | ||
p6eval | rakudo cfe8e5: OUTPUT«===SORRY!===Virtual call $.give_42 may not be used on partially constructed objectsat /tmp/yCnKNV5v79:1» | ||
..niecza v19-13-g442e075: OUTPUT«42» | |||
15:16
birdwindupbird left
|
|||
masak | GlitchMr: Rakudo is right. | 15:16 | |
GlitchMr | Hmmm, yeah | ||
github.com/GlitchMr/testml-pm6/blo.../Runner.pm | |||
masak | GlitchMr: that assignment happens during BUILD time. | ||
GlitchMr | But now problem is to make "has $.doc = $.parse_document();" working | ||
masak | why does $.parse_document need a fully constructed object? | 15:17 | |
15:17
smash left
|
|||
jnthn | Because it's virtual. | 15:17 | |
GlitchMr | Perhaps it would be possible to move this to construction time | ||
How can I make code run during class construction. | 15:18 | ||
moritz | masak: it doesn't, but chances are it doesn't do what you want on a partially constructed object | 15:19 | |
GlitchMr | submethod BUILD? | ||
moritz | you *can* call self.do_nothing() | ||
GlitchMr | ok, thanks | ||
15:20
mauke left
|
|||
masak | jnthn: I was asking why someone wrote it with that expectation. | 15:20 | |
sorry for being unclear :) | 15:21 | ||
jnthn | oh :) | ||
GlitchMr | std: $transform.args.map({ $_ ~~ TestML::Expression ?? $.evaluate_expression($_, $block) !! $_ }) | ||
p6eval | std 3b49ac8: OUTPUT«Use of uninitialized value $x in pattern match (m//) at STD.pm line 66581.Use of uninitialized value $x in concatenation (.) or string at STD.pm line 66620.===SORRY!===Expecting a term, but found either infix ?? or redundant prefix ? (to suppre… | ||
GlitchMr | std: $transform.args.map({ $_ ~~ TestML::Expression ?? evaluate_expression($_, $block) !! $_ }) | 15:22 | |
p6eval | std 3b49ac8: OUTPUT«Use of uninitialized value $x in pattern match (m//) at STD.pm line 66581.Use of uninitialized value $x in concatenation (.) or string at STD.pm line 66620.===SORRY!===Expecting a term, but found either infix ?? or redundant prefix ? (to suppre… | ||
GlitchMr | huh? | ||
moritz | GlitchMr: since std doesn't know that TestML::Expression is a type, it provisionally parses it as a subroutine | ||
GlitchMr: so it expects a prefix or term after that, not ?? | |||
benabik | And the initialized $x warnings are in STD.pm, not in what it's parsing, I think. | 15:23 | |
moritz | yes | ||
benabik | *uninitialized | ||
15:24
hoelzro is now known as hoelzro|away
15:25
preflex left
|
|||
GlitchMr | github.com/ingydotnet/testml-pm6/b...pm#L94-109 | 15:25 | |
$context, | $transform... | |||
What is that | thing | |||
15:26
huf_ is now known as huf
|
|||
masak | flattening. | 15:26 | |
15:27
preflex joined
|
|||
GlitchMr | perl6: print |(1, 2) | 15:27 | |
p6eval | rakudo cfe8e5, niecza v19-13-g442e075: OUTPUT«12» | ||
masak | you often see it without whitespace after it, like most prefix ops in practical use. | ||
GlitchMr | So, where could syntax error hide | ||
t/arguments.t .............. ===SORRY!=== | 15:28 | ||
Unable to parse blockoid, couldn't find final '}' at line 97, near "$_ ~~ Test" | |||
moritz | at line 97? :-) | ||
GlitchMr | Line 97 is: | ||
?? $.evaluate_expression($_, $block) | |||
moritz | the line before, maybe? | 15:29 | |
GlitchMr | I've changed code somewhat so it wouldn't see $*PKGDECL | ||
error | |||
moritz hacks on method roll and becomes hungry | 15:30 | ||
masak | :P | 15:31 | |
GlitchMr | Ok, I've changed $_ ~~ TestML::Expression to ($_ ~~ TestML::Expression) and somehow it works | 15:32 | |
perl6: my @arr; @arr = (); | 15:35 | ||
p6eval | rakudo cfe8e5, niecza v19-13-g442e075: ( no output ) | ||
GlitchMr | perl6: our @arr; @arr = (); | ||
p6eval | rakudo cfe8e5: OUTPUT«No such method 'STORE' for invocant of type 'Any' in block <anon> at /tmp/mCclXou9VS:1» | ||
..niecza v19-13-g442e075: ( no output ) | |||
GlitchMr | Why it works with my, but doesn't with our | ||
15:36
JimmyZ left
|
|||
moritz | because "our" variables can be declared from many places for the same variable, thus type constriants don't work out too well | 15:36 | |
masak | huh? | 15:37 | |
GlitchMr | I'm confused | 15:38 | |
masak | I know that's so, but why does that explain why the above error sucks? | ||
moritz | it doesn't install the 'Array' default value along with the type constraint | ||
(which is probably just NYI) | 15:39 | ||
GlitchMr | Wait... so I cannot have global array? | ||
masak | 'our' doesn't mean 'global' :) | ||
moritz | so you get a call to Any.STORE instead of ARRAY.store | ||
r: our @a := []; say @a.push: 5 | |||
p6eval | rakudo cfe8e5: OUTPUT«===SORRY!===Cannot use bind operator with this left-hand sideat /tmp/98jHU_bZX1:1» | ||
moritz | meh. | ||
r: our @a; @a := []; say @a.push: 5 | |||
p6eval | rakudo cfe8e5: OUTPUT«===SORRY!===Cannot use bind operator with this left-hand sideat /tmp/6CvXguJqJk:1» | ||
moritz | WHY EVER NOT? IT'S A VARIABLE! | 15:40 | |
masak | ;) | ||
masak hugs moritz | |||
GlitchMr | I mean, I want access to it like @Package::Name::variable | ||
Just like in Perl 5 | |||
jnthn | Because nobody ever really put a lot of time into "our" handling, I suspect. | ||
GlitchMr | I guess that simply using $ will be less hacky | 15:41 | |
moritz | nobody++ | ||
jnthn | Yes, scalars work fine. | 15:44 | |
GlitchMr | perl6: 'abc' ~~ / <.panic: "ok..."> / | ||
p6eval | niecza v19-13-g442e075: OUTPUT«Unhandled exception: Unable to resolve method panic in type Cursor at /tmp/y0hc8_vBdO line 1 (ANON @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 2875 (Regex.ACCEPTS @ 10)  at /tmp/y0hc8_vBdO line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CO… | ||
..rakudo cfe8e5: OUTPUT«No such method 'panic' for invocant of type 'Cursor' in regex <anon> at /tmp/JVv0a5uRST:1 in method ACCEPTS at src/gen/CORE.setting:9804 in block <anon> at /tmp/JVv0a5uRST:1» | |||
masak | walk & | ||
GlitchMr | Any idea what <.panic: "something"> means? It's used in github.com/GlitchMr/testml-pm6/blo...Grammar.pm | 15:45 | |
And it's only place where I found "panic" word (I used ack on whole source) | |||
moritz | it's used to thrown an exception inside the compiler | ||
15:45
prettyrobots left
|
|||
moritz | which made ingy++ think it's built-in, which it is not | 15:46 | |
GlitchMr | I guess I can try {die "something"} instead | 15:47 | |
[Coke] pokes au. | |||
15:47
Coleoid joined
15:48
thelazydeveloper joined
15:49
am0c_ left
|
|||
GlitchMr | Screw it, TestML is too annoying | 16:00 | |
I will use JSON instead of YAML... or Perl 6 | |||
16:01
blackstar_ joined,
fhelmberger left
16:04
jacks joined,
atrodo joined
|
|||
jacks | hiii guys | 16:04 | |
daxim | hello you | 16:05 | |
[Coke] | maven's rss feed is screwed up. If it doesn't get fixed, I'll probably have to drop it. | 16:06 | |
the article snippets in the feed are showing up as lots of repeated snippets. | |||
16:07
kaleem left
16:08
jacks left
|
|||
daxim | I've seen that phenomenon today, too: perlsphere.net/#5eb816756d3ff2af6dbe257ce72b4089 | 16:08 | |
perhaps something is wrong with feedburner | |||
[Coke] starts to read the perlmonk thread linked to from sixmaven, and gets frustrated with the interface. | 16:10 | ||
[Coke] gives up instead of fighting with it. | |||
16:12
xinming_ left
16:13
prettyrobots joined
|
|||
au | [Coke]: you were poking me? | 16:20 | |
[Coke] | Yes - do you have ongoing pugs-shaped tuits? | ||
p: say 3.WHAT | 16:21 | ||
p6eval | pugs: OUTPUT«Int» | ||
[Coke] | ... that's weird. I would expect either ::Int or Int() | ||
au | only in 60-second slices, I'm afraid | ||
[Coke] | p: say "asdasdf".WHAT | ||
p6eval | pugs: OUTPUT«Str» | ||
au | or 300-second slices, with luck | ||
[Coke] | ok. I'll try not to bug you too much, then. | 16:22 | |
au | =) | 16:23 | |
16:23
bbkr1 left
16:25
zhutingting left
|
|||
diakopter | [Coke]: I didn't mention perlbrew | 16:30 | |
[Coke] | diakopter: irclog.perlgeek.de/perl6/2012-07-19#i_5825796 | 16:35 | |
diakopter | [Coke]: oh, I was referring to the rakudo 2016 typo | 16:37 | |
(not perlbrew) | |||
16:38
birdwindupbird joined,
proller__ joined,
proller_ joined
16:39
proller_ left
|
|||
[Coke] | ah. | 16:41 | |
flussence | .oO( if nqp fails for random people without parrot -G, why doesn't the makefile just set -G by default? ) |
16:44 | |
[Coke] | that's like hitting a fly with a sledgehammer | 16:49 | |
turning off GC is probably a bad thing. | 16:50 | ||
masak | "probably"? | ||
"Hey, has anyone considered just letting dead objects fill up memory until we run out of it?" | 16:51 | ||
dalek | kudo/toqast: 917a123 | jnthn++ | src/QPerl6/Ops.pm: Fix an op sig, thus making FIRST work again. |
||
kudo/toqast: 5ae5476 | jnthn++ | src/QPerl6/Actions.pm: Fix our $.foo. |
|||
masak seems to be having a sarcastic day today... :) | |||
flussence | it seems to finish building before my 1GB runs out, and I prefer working software to not :) | 16:52 | |
jnthn | It's fine if you have enough memory :P | ||
masak | then change your Makefile locally, by all means. | 16:53 | |
16:53
proller__ left
|
|||
jnthn | Well, it is maybe a good idea to ship a build with the -G in also (more) | 16:53 | |
It probably needs less RAM to build than CORE.setting for one. | 16:54 | ||
benabik | -G? | ||
jnthn | And it means some people who can't build otherwise would be able to. | ||
But yes, it's hiding the real problem. | |||
benabik: Disable GC | |||
benabik: There's one particular step in the NQP build where there's some GC related bug. It only shows up on a handful of systems. | 16:55 | ||
Sadly, none that I own, which doesn't make hunting it quite so easy... | |||
16:58
xinming joined
17:08
proller joined
17:11
dakkar left
17:13
max___ joined
|
|||
max___ | hi | 17:13 | |
masak | hi, max___! | ||
max___ | i would like to know when a stable version will be released? | ||
masak | r: my $nick = "max___"; say "$nick has {$nick.comb(/_/).elems} underscores in it." | ||
p6eval | rakudo cfe8e5: OUTPUT«max___ has 3 underscores in it.» | ||
masak | max___: we get that question sometimes. | 17:14 | |
max___: stability is something that everyone would like to have. | |||
max___: but not at the expense of stopping the necessary changes/improvements before they're done. | |||
max___: so, hm, 2034? | 17:15 | ||
:D | |||
17:15
max___ is now known as max13fr
|
|||
max13fr | hehe | 17:16 | |
masak | r: my $nick = "max13fr"; say "$nick has {+$nick.comb(/\d/)} digits in it." | ||
p6eval | rakudo cfe8e5: OUTPUT«max13fr has 2 digits in it.» | ||
masak | max13fr: now for the real answer. | ||
max13fr | :) | ||
masak | max13fr: we already have quite a lot of features. see perl6.org/compilers/features for just how many. | ||
we're now working on making things faster, more user-friendly, better documented, and more welcoming. | 17:17 | ||
the point where you will start to call things "stable" depends a bit on who you are. | |||
max13fr | so for a professional use, you think it's better to use perl5 or perl6 | ||
masak | are you an early adopter? can you withstand certain amounts of pain? what are your criteria for 'production use'? and so on. | ||
max13fr: if you're asking that question, probably yes. | |||
but with that said, I've been using Perl 6 in production situations for two years now. | 17:18 | ||
thou | [Coke]: you wrote "moritz++ - hey, now I get gather/take." — what were you referring to (i'd like to read up on it if there's a pointer to something enlightening)? | 17:19 | |
max13fr | if I understand, for little script perl6 it's ok | 17:20 | |
but some fonctions have still buggued | |||
diakopter | depends what you want the littlte script to do. | ||
max13fr | for example backup bdd | 17:21 | |
generate rrdgraph | |||
masak | oh, I assure you there are bugs. | ||
but nowadays they're not so easy to find anymore... | |||
diakopter | max13fr: those would be good exercises to try. niecza is probably better at heavy data processing since the GC is more reliable.. | 17:23 | |
17:24
proller left
|
|||
max13fr | You advise me niecza rather than rakudo? | 17:25 | |
17:26
seldon joined
|
|||
diakopter | the VMs that niecza uses (mono, .Net) have had hundreds or thousands of times as many hours put into them as the one rakudo uses | 17:26 | |
17:27
stephenlb joined,
proller_ joined,
proller joined,
proller_ left,
proller left
|
|||
masak | I would also recommend a look at Niecza. but do make use of the table at perl6.org/compilers/features to decide. | 17:28 | |
max13fr | thanks for your answers :) | 17:29 | |
i'll try this | |||
17:32
Coleoid left
|
|||
masak | \o/ | 17:32 | |
17:33
atrodo left
|
|||
masak | let's go into release mode, shall we? | 17:35 | |
I just ran the spectests. | |||
everything passes, but I'm getting a segfault in t/spec/S06-routine-modifiers/lvalue-subroutines.rakudo | |||
after test 8. | |||
can anyone confirm this? | |||
dalek | p/toqast: 05dc032 | jnthn++ | src/QAST/Operations.nqp: Fix two places where we accidentally mutated the QAST tree while compiling it, meaning a later re-compilation would fail. |
17:36 | |
jnthn | masak: It fails that way in toqast too, fwiw. | ||
thou | masak: on which branch? | ||
jnthn | masak: with either perl6 or qperl6 | ||
thou | ah, already confirmed :-) | 17:37 | |
masak | thou: nom. | ||
thou | OK, lemme spin a new one and run specs | ||
masak | shall I try to fudge the test in question? | ||
which do we prefer, shipping with a segfaulting test, or fudging the test and profusely apologising in the release notes? | |||
jnthn | masak: Is it changed from the last relesae? | 17:39 | |
masak | you're suggesting we knowingly released with a segfaulting spectest? | ||
flussence | .oO( this conversation seems familiar... ) |
17:40 | |
masak | I... I don't know. | ||
could someone check the irc logs of the last release? | |||
it was 2012-06-21, fwiw. | |||
also, could someone else download the last release, build it, and run t/spec/S06-routine-modifiers/lvalue-subroutines.rakudo on it? | |||
it would be nice if I could delegate these two things, then the release will go swifter. | |||
jnthn | masak: I dunno that it reliably segfaults on all machines, fwiw. | 17:41 | |
masak has hugs ready for volunteers :) | |||
jnthn: well, so far it segfaults on Arch Linux and on Windows. we have similar architectures, I guess. | |||
17:42
max13fr left
|
|||
masak | dies_ok {checklastval("octopus") = 10 }, 'checklastval STORE can die'; | 17:42 | |
^ this line in t/spec/S06-routine-modifiers/lvalue-subroutines.rakudo | |||
is what segfaults. | |||
I comment it out, and the file runs to completion. | |||
arnsholt | masak: I got the same problem last night I think | ||
masak | I put it back, and the file segfaults. | 17:43 | |
jnthn | Maybe the best thing is to 1) fudge the test, and 2) file a rakudobug so we don't forget it. | ||
masak | oh! | ||
I bet it's the exact same as my segfault. | |||
the symptoms look very similar. | 17:44 | ||
rt.perl.org/rt3/Ticket/Display.html?id=114134 | |||
there isn't a CATCH in there, but there are probably interrupted binders. | |||
[Coke] | thou: perl6maven.com/from-iterative-to-fu...perl6-code | 17:45 | |
masak | do we have an excellent golfer among us? would somebody like to minimize the segfault in t/spec/S06-routine-modifiers/lvalue-subroutines.rakudo ? | ||
thou | [Coke]: excellent, thanks! | ||
masak | I cancel the need for the other two request for volunteering, and put forth the above one. | ||
golfing of the segfault in t/spec/S06-routine-modifiers/lvalue-subroutines.rakudo would help a lot. | |||
masak fudges | 17:46 | ||
17:47
atrodo joined
|
|||
jnthn -> shop | 17:47 | ||
17:50
ChibaPet joined
|
|||
[Coke] | svn-- | 17:54 | |
dalek | ast: 64ca263 | masak++ | S06-routine-modifiers/lvalue-subroutines.t: [S06-routine-modifiers/lvalue-subroutines.t] fudged for Rakudo This spectest segfaults on at least Linux and Windows, at least on some hardware platforms. Suspect but haven't confirmed [RT #114134]. |
||
[Coke] | +# 07/19/2012 - rakudo++ (22932); niecza (89.77%); pugs (39.86%) | 17:55 | |
niecza: 30 failures, pugs :82, rakudo: 8 | |||
p6eval | niecza v19-13-g442e075: OUTPUT«===SORRY!===Two terms in a row at /tmp/Eu2QR_c5yq line 1:------> 30 ⏏failures, pugs :82, rakudo: 8Parse failed» | ||
masak | [Coke]: failures? what failures? I just ran the spectest suite and it came out clean. | 18:02 | |
hm... no golfer takers yet? | 18:04 | ||
am I the only one who actually enjoys golfing bugs a bit? :) | |||
maybe I should blog about how I use git to ratchet-golf things down. | |||
(but basically: create a throwaway branch "debugging" or whatever. remove stuff from the failing file. commit if the bug survives, checkout and try something else if it goes away. repeat until minimal.) | 18:05 | ||
18:08
Chillance joined
|
|||
masak | I propose to name Rakudo #54 "Tallinn", after Tallinn.pm -- I've never met them, and I don't know whether they are active. www.socialtext.net/perl5/Estonian indicates "not so much". | 18:10 | |
sorear | good * #perl6 | ||
masak | but jnthn and I were there last year, and it's a fine city with good beer, good food, and happy people. | ||
sorear! \o/ | |||
moritz++ # keeping ChangeLog up-to-date | 18:11 | ||
flussence runs a spectest and gets neither 0 nor 8 failures | 18:12 | ||
masak | moritz: 2 *** throwing typed exceptions (moritz) | 18:16 | |
moritz: what prevents us from removing this from docs/ROADMAP? | |||
rn: say val("2") | 18:17 | ||
p6eval | rakudo cfe8e5: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&val' called (line 1)» | ||
..niecza v19-13-g442e075: OUTPUT«2» | |||
masak | niecza++ | ||
[Coke] | masak - the same 8 it's been failing for weeks. | 18:19 | |
masak | must be a platform thing. | 18:20 | |
moritz | masak: there are still a lot of untyped exceptions | ||
masak | ok. | ||
what about 2 ** MAIN and USAGE (japhb) | |||
moritz | masak: like, all from within the MOP | ||
masak | surely we have those? | ||
[Coke] | feather.perl6.nl/~coke/rakudo_summary.out - scroll to the bottom | 18:21 | |
moritz | thou: [Coke] was referring to perl6maven.com/from-iterative-to-fu...perl6-code | ||
masak | [Coke]: first file is the one I just fudged. should be fixed now. | 18:22 | |
flussence | I've got "t/spec/S32-temporal/local.rakudo TODO passed: 5-6" on mine... | ||
masak | [Coke]: remaining two are due to your evnironment's encoding settings. | ||
[Coke]: this was discovered not long ago. I don't know what to do about it. | |||
18:27
telex left
18:31
zby_home joined
|
|||
moritz | gzooooooooooooo+no#o bgäo bbbbbbbbbbböl o. µki-., dss#-.-.l..,nh nbn nn-kmn OOb | 18:32 | |
thou | thank you, moritz — i gather it took you a good amount of editing to condense the material in such a readable way. very nice! | ||
[Coke] | that is hilarious given his previous send. ;) | ||
flussence | Content-Encoding: gzip :) | 18:33 | |
daxim | Keyboard-Mashing: suckling, bobcat | ||
masak | moritz: hi, Ronja. | ||
thou | masak: make spectest is still running, but i got: t/spec/S02-types/version.t ................................ Failed 6/35 subtests | 18:34 | |
flussence | I seem to get an entirely different subset of fails to other people... | 18:36 | |
thou | and, where do i look for the segfault? I have t/spec/S06-routine-modifiers/lvalue-subroutines.rakudo .... ok | ||
masak | flussence: please gist the summary when you're done. also, please run files individually to see what failures you get. | 18:37 | |
thou | make spectest completed, only the S02-types/version.t failure on mine | ||
masak | thou: I fudged it. see IRC log for the failing line, or spectest git log for the fudge. | ||
18:37
raiph joined
|
|||
thou | ah, i thought i'd started before your fudge came in, but i guess not :-) | 18:37 | |
arnsholt | jnthn: I think I'm gonna add a #define flag that lets me compile nqp with functions instead of macros for REPR and friends. Any suggestions for a name? | 18:38 | |
dalek | kudo/nom: db15782 | masak++ | docs/ChangeLog: [docs/ChangeLog] de-duplicated anon subsets It's good to have to re-read this list for the announcement. :) |
18:40 | |
masak | thou: if you re-run 'make spectest', it will git pull from roast. | 18:41 | |
18:41
pupoque joined
|
|||
flussence gives up trying to do things the distro way and installs perlbrew | 18:41 | ||
(no TAP::Harness::Archive? really?) | |||
japhb | masak, sorry I'm over a week backlogged, but I just noticed you said something about MAIN and USAGE to me? | 18:42 | |
18:42
ggoebel_ joined
|
|||
thou | gist.github.com/3145916 | 18:43 | |
parrot::has_icu=0 | |||
GlitchMr | perl6: print "abcd".subst: /(.)/, $0 x 3, :g | 18:44 | |
p6eval | niecza v19-13-g442e075: OUTPUT«Use of uninitialized value in string context at /home/p6eval/niecza/lib/CORE.setting line 1263 (warn @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 268 (Mu.Str @ 15)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.settin… | ||
..rakudo cfe8e5: OUTPUT«use of uninitialized value of type Any in string context in block <anon> at /tmp/qLTptJiOvZ:1» | |||
GlitchMr | perl6: print "abcd".subst: /(.)/, {$0 x 3}, :g | 18:45 | |
p6eval | niecza v19-13-g442e075: OUTPUT«aaabbbcccddd» | ||
..rakudo cfe8e5: OUTPUT«use of uninitialized value of type Any in string context in block <anon> at /tmp/5aGw8biFIB:1use of uninitialized value of type Any in string context in block <anon> at /tmp/5aGw8biFIB:1use of uninitialized value of type Any in string context in block <anon>… | |||
GlitchMr | Should it work? | ||
jnthn | arnsholt: Why'd you need that ooc? | ||
moritz | r: print "abcd".subst: /(.)/, -> $/ {$0 x 3}, :g | 18:46 | |
p6eval | rakudo cfe8e5: OUTPUT«aaabbbcccddd» | ||
GlitchMr | Thanks :) | 18:47 | |
moritz | japhb: the question is, what remains to be done re MAIN and USAGE (it's still in docs/ROADMAP) | ||
18:48
daxim left
18:49
nodmonkey left
|
|||
masak | japhb: I was wondering about the status of that line in docs/ROADMAP. | 18:49 | |
japhb: I was going through ROADMAP and wondering out loud about things I thought might be finished already and could be removed from that list. | 18:50 | ||
dalek | kudo/nom: 6a078c7 | masak++ | docs/announce/2012.07: [docs/announce/2012.07] updated |
||
masak | please feel free to review: github.com/rakudo/rakudo/blob/nom/...ce/2012.07 | 18:51 | |
moritz | masak: szabgab and Gabor Szabgab are the same person | 18:52 | |
masak: and it might be worth mentioning that the deprecated methods are in class Str | 18:53 | ||
18:53
wamba joined,
wamba left
|
|||
masak | ok on both. | 18:53 | |
moritz | I wanted to write some deprecation notices, but I'm too groggy right now | 18:54 | |
maybe I'll manage in time for the R* release | |||
dalek | kudo/nom: 176e247 | masak++ | docs/announce/2012.07: [docs/announce/2012.07] de-duplicated szabgab moritz++ |
||
kudo/nom: cca6d43 | masak++ | docs/announce/2012.07: [docs/announce/2012.07] ...on Str moritz++ |
|||
arnsholt | jnthn: Simpler debugging, mainly | 18:57 | |
masak | moritz: what should I make of this? irclog.perlgeek.de/perl6/2012-07-16#i_5818109 | 18:59 | |
moritz | masak: what he said :-) | ||
masak | oh! github.com/perl6/nqp/blob/master/t...T_REVISION does say 4_4_0. | ||
why does my local one say 4_5_0, then? :/ | 19:00 | ||
19:00
GlitchMr left
|
|||
flussence | old nqp? | 19:00 | |
masak | is it "safe" to nuke nqp/ and re-configure? | ||
moritz | masak: because you didn't bump NQP_REVISION, and used --gen-nqp? | ||
masak | I always use --gen-nqp, yes. | ||
should I bump NQP_REVISION before release? | |||
I guess I should. | 19:01 | ||
moritz | you should | ||
and you should also bump VERSION in NQP | |||
masak | gotcha. then it'll sort itself out during the release process. | ||
moritz | and *then* bump NQP_REVISION | ||
masak | aye. | ||
19:01
proller_ joined,
proller_ left
|
|||
masak | nodnod. | 19:01 | |
it's all in the release guide :) | |||
which I'm now going back to :) | |||
flussence | er, wait... didn't it get put back to 4.4 for a reason a few days ago | 19:02 | |
? | |||
moritz | flussence: PARROT got back, NQP is going to be bumped | ||
arnsholt | jnthn: I've got a segfault and to diagnose I'd really like to look at what comes out of REPR() | ||
flussence | sorry, brain not engaged :) | 19:03 | |
arnsholt | But it's macros all the way down, which finally made me annoyed enough to try to work around it =) | ||
masak | tadzik: just FYI, you will get the next leap second, in August ;) | ||
19:03
proller joined,
proller_ joined
|
|||
moritz | oh, again? | 19:03 | |
masak | says the script. | 19:04 | |
moritz | not sain' 'tis wrong, just surprised | ||
we had one in June already | |||
we should get a quantity discount :-) | 19:05 | ||
masak | leap seconds are stupid. | 19:07 | |
19:09
blackstar_ left
|
|||
moritz | in a few decades or centuries there will be PHD or master thesis by history students that assess the economical damage of leap seconds | 19:09 | |
and concludes that it's in the same ballbark as olympic games, or so :-) | |||
arnsholt | masak: Yeah, I vote we make the Earth be stable on its axis ^_^ | ||
flussence | we should fix it once and for all by mounting giant rocket thrusters on the planet! | ||
.oO( it'd make going to the moon a lot easier too ) |
19:10 | ||
moritz | decoupling civil from astronomical time would be much easier :-) | 19:11 | |
dalek | p: 22626f8 | masak++ | docs/release_guide.pod: [docs/release_guide.pod] de-mandated Parrot updates each month |
||
masak | does that change to the NQP release guide seem to capture the new Parrot revision policy? | 19:12 | |
moritz looks | |||
masak | thou: did you start golfing the segfault in the spectest? how's it going? | ||
moritz | I'd phrase it a bit less vague | ||
thou | masak: sorry, no i didn't | 19:13 | |
moritz | bumping PARROT_REVISION needs to happen if the current revision is not a parrot release | ||
masak | moritz: oh, I didn't know there were specific conditions. | 19:16 | |
I'll try to rephrase. | |||
19:16
pyrimidine left
|
|||
dalek | p: 4af27ab | masak++ | docs/release_guide.pod: [docs/release_guide.pod] reworded Based on feedback from moritz++. |
19:17 | |
masak | better? | ||
dalek | p: 98fdaf2 | masak++ | docs/release_guide.pod: [docs/release_guide.pod] consistency nit |
19:19 | |
p: b94606c | masak++ | VERSION: bump VERSION to 2012.07 |
|||
kudo/nom: 9fb677f | masak++ | docs/release_guide.pod: [docs/release_guide.pod] named current release |
19:21 | ||
kudo/nom: 02433a7 | masak++ | tools/build/NQP_REVISION: [tools/build/NQP_REVISION] bumped to 2012.07 |
|||
19:23
ggoebel_ left
|
|||
masak | hrm, the nqp release guide says nothing about creating a release tarball. | 19:23 | |
should I do that? | |||
looks like it from here: github.com/perl6/nqp/downloads | 19:24 | ||
any particular reason the nqp release guide doesn't explicitly say to do that? I think I've missed that step before and others have had to point it out... | 19:25 | ||
masak skips it for now but notes his willingness both to do it and to add instructions for it in the nqp release guide | |||
moritz | masak: yes, we need an nqp tarball | 19:26 | |
for the star release | |||
dalek | kudo/nom: 1e872ad | masak++ | VERSION: [release] bump VERSION This is Rakudo Perl 2012.07 |
||
19:27
pupoque left
|
|||
masak | moritz: how do I do it? should I also add instructions? | 19:27 | |
I guess there is a 'make release' target or something... | |||
moritz | masak: there isn't :( | ||
masak: I did something like | 19:28 | ||
masak | so, how do I do it? | ||
moritz | cd nqp | ||
git clean -xdf | |||
mv .git ../nqp-git | |||
cd .. | |||
cp -r nqp nqp-2012.07 | |||
tar czf nqp-2012.07.tar.gz nqp-2012.07 | |||
mv nqp-git nqp/.git | 19:29 | ||
rm -rf nqp-2012.07 | |||
I'm sure there are better ways | |||
masak | moritz++ | ||
followed the instructions as they appeared on IRC, and they worked perfectly :) | |||
I'll just ask you next time instead of reading the release guide :P | |||
moritz | you can skip moving .git, and simply delete it from nqp-2012.07/.git | ||
19:29
prettyrobots left
|
|||
masak | sure. | 19:30 | |
mind if I add such a step to the nqp release guide? | |||
better than not having it, I think. | |||
moritz | please do | ||
I hope somebody with shell fu makes a release target | |||
flussence | !! | 19:31 | |
git archive --format=tar 2012.07 | gzip -9 > ~/nqp-2012.07.tar.gz | |||
masak | I'll add a note requesting that, then. | ||
flussence: ooh | |||
moritz | woah. | ||
[Coke] | wait, what parrot is shipping rakudo going to require today? | ||
masak | flussence: mind if I add *that* to the nqp release guide? :) | ||
flussence | go for it | ||
moritz | [Coke]: 4.4.0 | ||
masak | [Coke]: 4_4_0 | ||
[Coke] | ok | ||
masak | flussence: will it include the .git dir? | ||
moritz | though 4.6.0 also works | 19:32 | |
raiph | has anyone said they are running perl6 code to do work in or for a large corporation? | ||
19:32
birdwindupbird left
|
|||
masak | raiph: I've written and run Perl 6 at clients, yes. | 19:32 | |
flussence | masak: nope, it's all the contents from the tag you specify as if you do a clean checkout then rm -r'ed that. | ||
masak | flussence: excellent. | ||
raiph: I know jnthn has, too. | 19:33 | ||
raiph | i recall someone saying so on this channel a couple months ago, but haven't found it | ||
flussence | (and I'm pretty sure this is how kernel releases work :) | ||
[Coke] | I use perl6 at <insert name of multinational here>. | ||
masak | raiph: "large corporation" depends if you have Swedish or world standards, I guess :) | ||
[Coke] | raiph: someone is using it at the startup. is that perhaps what you recall? | ||
*their startup | |||
moritz | sirrobert++ is, iirc | ||
masak | aye. | 19:34 | |
nqp 2012.07 is up: github.com/perl6/nqp/downloads | |||
19:35
birdwindupbird joined
|
|||
moritz | masak++ | 19:35 | |
japhb | masak, moritz, the TODO for MAIN/USAGE is at the top of src/core/Main.pm ... looking at it now, I see that mutch of the first and second groups of TODOs could be solved by just directly using the new Str.Numeric (now that my str-numeric branch has been merged and seems to be working for people) | ||
raiph | [Coke], masak: thx, but not jnthn++, masak++, or sirrobert++ | ||
japhb | Sorry for the slow reply, $day-job-lagged | 19:36 | |
moritz | and flussence++ for the pointer to git archive | ||
19:37
pyrimidine joined
|
|||
japhb | sorear, Did you ever get to a happy place WRT the semantics of val()? | 19:37 | |
dalek | p: c912424 | masak++ | docs/release_guide.pod: [docs/release_guide.pod] tarball instructions moritz++ flussence++ |
||
p: 59fce00 | masak++ | docs/release_guide.pod: [docs/release_guide.pod] harmonized made-up release dates |
|||
masak loves release days, with so much happening on-channel :) | |||
is someone willing to pick up the torch after thou? I would like to see a golf of that segfault. | 19:38 | ||
japhb | masak, is it a compiler or star release day? | ||
masak | yes. | 19:39 | |
(compiler.) | |||
japhb | thx | 19:40 | |
masak | pzh | 19:41 | |
moritz | masak: i was tempted to write the exact same reply. You're scary :-) | 19:42 | |
masak | occupational hazard, I think :) | 19:43 | |
sorear | japhb: I think so? not sure anymore | ||
japhb | sorear, *sigh* The hazards of only having occasional tuit clusters .... | ||
19:43
proller_ left,
proller left
19:44
Khisanth left,
crab2313 joined
|
|||
moritz | japhb: so a big part of the type dwimmery could just be $val = $val.Numeric // $val, right? | 19:44 | |
19:44
pyrimidine left
19:45
proller joined
|
|||
japhb | moritz, well, in particular, you can remove grammar CLIVal, and replace the third and fourth branches of the if chain that follows with what you said, I suppose. | 19:47 | |
But that's why I asked sorear about val() ... whether he was doing mixin or MI or something else entirely to handle the converted-but-still-stringlike magic of val() | 19:48 | ||
19:49
SamuraiJack left
|
|||
sorear | japhb: oh, that's easy enough. mixins, with pregenerated classes | 19:49 | |
sirrobert | r: my %f<a> = 1; say %f.exists('a') ?? %f<a> !! 'no'; | 19:52 | |
p6eval | rakudo cca6d4: OUTPUT«===SORRY!===Shaped variable declarations not yet implemented. Sorry. at /tmp/ct7jg4HmOE:1» | ||
sirrobert | What does that mean? | ||
19:53
MayDaniel joined
|
|||
flussence | r: my %f{'a'} | 19:53 | |
colomon | sirrobert: you want to say: my %f; %f<a> = 1 | ||
p6eval | rakudo cca6d4: ( no output ) | ||
flussence | why did that work? | ||
sirrobert | colomon: oohh heh, thanks | 19:54 | |
flussence | r: my %f{'a'} = 1 | ||
p6eval | rakudo cca6d4: OUTPUT«Odd number of elements found where hash expected in method STORE at src/gen/CORE.setting:6110 in block <anon> at /tmp/CupBT1jcjH:1» | ||
sirrobert | well, what does what I did mean? | ||
what's a "shaped" variable? | |||
flussence | r: my %f<a> = 1 | ||
p6eval | rakudo cca6d4: OUTPUT«===SORRY!===Shaped variable declarations not yet implemented. Sorry. at /tmp/hxYC9M5B9t:1» | ||
flussence | this is bizarre. | ||
japhb | sorear, where does the $!value in Niecza::PseudoStr get set/used? Is it the dualvar CgOp? | 19:55 | |
colomon | r: my $f<a> | ||
p6eval | rakudo cca6d4: OUTPUT«===SORRY!===Shaped variable declarations not yet implemented. Sorry. at /tmp/mICiZe6Sib:1» | ||
jnthn | my %f{Int} # how you declare a hash with Int keys | ||
sirrobert | jnthn: ah | 19:56 | |
[Coke] | raiph: then I think you might be misremembering. | ||
19:58
Khisanth joined
|
|||
sirrobert | What's the comparison operator I want for something like: | 20:03 | |
sorear | japhb: probably some hack in UnboxAny or somewhere | ||
sirrobert | r: my $f = a => 1; say ($f.WHAT == Pair); | 20:04 | |
p6eval | rakudo cca6d4: OUTPUT«use of uninitialized value of type Pair in numeric context in block <anon> at /tmp/fTsDqn7upO:1use of uninitialized value of type Pair in numeric context in block <anon> at /tmp/fTsDqn7upO:1True» | ||
colomon | r: my $f = a => 1; say ($f.WHAT === Pair); | ||
p6eval | rakudo cca6d4: OUTPUT«True» | ||
sirrobert | ah | ||
jnthn | But don't do that. | ||
sirrobert | heh | ||
touche | |||
jnthn | r: my $f = a => 1; say $f ~~ Pair | ||
p6eval | rakudo cca6d4: OUTPUT«True» | ||
colomon | r: my $f = a => 1; say $f ~~ Pair | ||
p6eval | rakudo cca6d4: OUTPUT«True» | ||
sirrobert | is === the same as javascript's? | 20:05 | |
colomon | jnthn++ # fast on the type | ||
raiph | [Coke]: yeah. i'm sure the exchange happened. maybe it /was/ jnthn or masak talking about what they had done at a client. | ||
flussence | r: (my $f)<a> = 1; | 20:06 | |
p6eval | rakudo cca6d4: ( no output ) | ||
flussence | r: (my %f)<a> = 1; say %f; | ||
p6eval | rakudo cca6d4: OUTPUT«("a" => 1).hash» | ||
jnthn | sirrobert: It's along those lines. | ||
sirrobert | jnthn: thanks (reading about comparison operators now) | ||
jnthn | sirrobert: The main problem is that you're doing an exactly type comparision, which is normally wrong. | ||
masak | r: (my %)<a> = 1 | 20:07 | |
p6eval | rakudo cca6d4: ( no output ) | ||
masak | r: (my %)<a> = 1; say (my %).perl # :) | ||
p6eval | rakudo cca6d4: OUTPUT«("a" => 1).hash» | ||
jnthn | sirrobert: Normally you'd like to accept a subclass of Pair too. | ||
masak | o.O | ||
masak submits rakudobug | |||
sirrobert | jnthn: righ | ||
+t | |||
flussence | r: (my %)<a> = 1; say ::.perl | ||
p6eval | rakudo cca6d4: OUTPUT«PseudoStash.new("\$!", Any, "\%", ("a" => 1).hash, "\$=pod", Array.new(), "!UNIT_MARKER", !UNIT_MARKER, "GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "::?PACKAGE", GLOBAL, "\$_", Any, "\$/", Any, )» | ||
jnthn | masak: Wow! :D | 20:08 | |
masak | yeah! | ||
jnthn | masak: That's kinda awesome but also kinda terrible :) | ||
masak | anonymous but persistent :) | ||
luckily this bug has come to the right person... | |||
20:09
pyrimidine joined
|
|||
jnthn | It's almost too amusing to want to track down and fix :P | 20:09 | |
masak | r: (my @).push(1, 2, 3); say (my @).perl | 20:10 | |
p6eval | rakudo cca6d4: OUTPUT«Array.new(1, 2, 3)» | ||
masak | r: (my $) = "OH HAI"; say (my $) | ||
p6eval | rakudo cca6d4: OUTPUT«===SORRY!===Contextual $*GOAL not found» | 20:11 | |
masak | oh, that old one. | ||
r: (my &) = sub { say "OH HAI" }; (my &)() | |||
p6eval | rakudo cca6d4: OUTPUT«OH HAI» | ||
masak | *sigh* :) | ||
jnthn | :D | ||
Are they sigil invariant, ooc? | |||
r: (my &) = sub { say "OH HAI" }; (my %)() | 20:12 | ||
p6eval | rakudo cca6d4: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Hash' in <anon> at src/gen/BOOTSTRAP.pm:811 in any <anon> at src/gen/BOOTSTRAP.pm:807 in block <anon> at /tmp/G4Yl82JdUK:1» | ||
jnthn | hah, the sigil matters at least :) | ||
flussence | r: my % = my @ = my $ = :a; say ::.perl | 20:13 | |
p6eval | rakudo cca6d4: OUTPUT«PseudoStash.new("\$!", Any, "\%", ("a" => Bool::True).hash, "\@", Array.new("a" => Bool::True), "\$", "a" => Bool::True, "\$=pod", Array.new(), "!UNIT_MARKER", !UNIT_MARKER, "GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "::?PACKAGE", GLOBAL, "\$_", A… | ||
masak | ...wow... | 20:15 | |
jnthn | Hmmm. | 20:16 | |
Parse errors: Bad plan. You planned 87 tests but ran 1121. | |||
o.O | |||
:) | |||
masak | jnthn: that the looping test I mentioned the other day? | ||
it runs until you ^C it. | 20:17 | ||
jnthn | masak: Nah | ||
masak: I just for the first time compiled Test.pm with qperl6 | |||
And ran spectest | |||
masak | ah :) | ||
jnthn | It does pretty well overall, just a few insanities :) | ||
20:18
kaare_ left,
raiph left
|
|||
sirrobert | On the error that says, "Cannot call 'whatever'; none of these signature match: " it would be great if we could add the signature we tried to call it with | 20:18 | |
masak | yeah. | ||
do we have an RT ticket for that? | |||
masak checks | |||
dalek | p/toqast: 0f7a6ee | jnthn++ | src/ (4 files): Implement serialization handling during compilation of QAST::CompUnit. This means QAST can be used to do pre-compiled modules now. |
20:19 | |
masak | doesn't seem we do. | 20:20 | |
sirrobert: if you have time, please put together a nice concrete example where having this would help, and submit to [email@hidden.address] thank you. | |||
sirrobert | sure thing | 20:21 | |
masak | ++sirrobert | ||
20:22
proller left
|
|||
masak | Rakudo 2012.07 uploaded: github.com/rakudo/rakudo/downloads | 20:23 | |
masak sends p6c email | |||
colomon | masak++ | ||
masak | heh, I haven't written to p6c since I released Niecza in April ;) | ||
masak updates Wikipedia | 20:25 | ||
20:27
vmspb joined
|
|||
jnthn | D'oh. Turns out the optimizer has been hiding a rather subtle bug for us. | 20:27 | |
mathw | evening | ||
jnthn: that definitely sounds like a 'd'oh' | |||
masak stands down release mode | |||
jnthn | Spot the problem in this code: | ||
proto prefix:<!>($) { * } | |||
multi prefix:<!>(Bool \$a) { nqp::p6bool($a ?? 0 !! 1) } | |||
multi prefix:<!>(Mu \$a) { nqp::p6bool($a.Bool ?? 0 !! 1) } | |||
masak | y'all're now free to commit as usual. | 20:28 | |
masak celebrates with 香港的茉莉花茶 | |||
20:29
birdwindupbird left
|
|||
mathw | you got a teleporter? | 20:29 | |
masak | no, I brought it home from there. | ||
mathw | blame google translate, I don't know any Japanese at all | 20:30 | |
masak | that's hanzi, not kanji. | ||
mathw | apart from the spoken fragments we use at aikido | ||
masak | phenny: "香港的茉莉花茶"? | ||
phenny | masak: "Jasmine tea in Hong Kong" (zh-CN to en, translate.google.com) | ||
masak | oh! | ||
mathw | quite | ||
masak | well, maybe my Mandarin is to blame :) | ||
mathw | ah and I misread the google translate page | ||
it was suggesting maybe I wanted to try japanese instead | 20:31 | ||
but it also detected chinese | |||
masak | phenny: "来自香港的的茉莉花茶"? | ||
phenny | masak: "Jasmine tea from Hong Kong" (zh-CN to en, translate.google.com) | ||
masak | ah. | ||
mathw | :) | ||
masak | er. | ||
phenny: "来自香港的茉莉花茶"? | |||
phenny | masak: "Jasmine tea from Hong Kong" (zh-CN to en, translate.google.com) | ||
mathw | jnthn: I will admit defeat | ||
jnthn: I can't see anything wrong with that code | |||
masak | jnthn: me too | ||
jnthn | Clue: it's something to do with the proto | ||
masak | arwgh! | ||
:/ | |||
subtle... | 20:32 | ||
mathw | ah, I don't have a full understanding of protos | ||
masak | mathw: $ vs \$ | ||
jnthn | $ vs |$ | ||
masak | oh! | ||
mathw | i don't actually know what the \$ in the multis does | ||
jnthn | The proto inliner clearly isn't strict enough. | ||
It is fine to inline a proto that is going to bind whatever then delegate. | 20:33 | ||
But that isn't the case with a proto that needs to enforce "just one arg" | |||
With the optimizer gone, we actually call the proto. | |||
And the default argument type is Any. | 20:34 | ||
So it auto-threaded! | |||
dalek | kudo/nom: 4eeffca | masak++ | docs/release_guide.pod: [docs/release_guide.pod] collapsed item numbering Removes a few parsing errors on Github++. |
20:35 | |
mathw | hmm, unexpected autothreading probably isn't the best outcome | ||
dalek | kudo/toqast: 2c09070 | jnthn++ | src/QPerl6/Actions.pm: Fix nqp::op(...). |
20:36 | |
kudo/toqast: c4dd87c | jnthn++ | src/core/Bool.pm: Fix some protos. |
|||
kudo/toqast: 5f51d4f | jnthn++ | src/QPerl6/Actions.pm: Pass along code ref blocks to the QAST::CompUnit. |
|||
kudo/toqast: ad33769 | jnthn++ | tools/build/Makefile.in: Switch over to using qperl6 to compile Test.pm. |
|||
flussence | TAP file for those failures I mentioned earlier, and one from a build done on that server box which passes an extra test for no apparent reason... argh - flussence.eu/~ant/perl6/etc/ | 20:37 | |
jnthn | So, with that lot Test.pm is compiled using QAST and we also win 153 more passing tests. | ||
masak | \o/ | 20:38 | |
mathw | woohoo | 20:39 | |
flussence | is that nom + 153, or $last_git_push + 153? | ||
jnthn | flussence: Those 3 commits got toqast 153 tests further forward. | ||
flussence: toqast doesn't yet pass everything that nom does. | 20:40 | ||
20:41
MayDaniel left
20:42
MayDaniel joined
|
|||
dalek | ast: 32f5c4d | jnthn++ | S06-multi/proto.t: Fix proto syntax. |
20:43 | |
ast: f1cb2cc | jnthn++ | S06-routine-modifiers/lvalue-subroutines.t: Merge branch 'master' of github.com:/perl6/roast |
|||
masak | yuck, a merge. | 20:44 | |
jnthn | d'oh | 20:45 | |
mathw | do you guys use a lot of rebase to avoid those? | 20:46 | |
masak | it just happens naturally most of the time. | ||
`git pull --rebase` is what I do. | 20:47 | ||
*sigh*, and crypt is broken after I installed latest nom during the release process. | |||
classical rookie mistake :( | |||
masak dives into the thing | |||
mathw | I was rebasing all the time at work, but then TortoiseGit decided that when it rebases it should lose all contributor data in the logs | 20:48 | |
So I kind of stopped :) | |||
masak | that sounds broken. | ||
mathw | yes | ||
several releases since then, but I've not tried to get back into the habit yet | |||
sirrobert | masak: sent e-mail. In the meantime, anyone know why this example code is messing up? | 20:54 | |
r: class A { has Hash %!h; multi method f (Pair $p) { say $p; } }; my $n = (a => b => 'c'); my $m = a => b => 'c'; say $n.WHAT; say $m.WHAT; say A.new.f(a => b => 'c'); | |||
p6eval | rakudo 1e872a: OUTPUT«Pair()Pair()Cannot call 'f'; none of these signatures match::(A , Pair $p, Mu *%_) in method f at src/gen/CORE.setting:323 in block <anon> at /tmp/eEZfzS8BLm:1» | ||
masak | sirrobert++ # bug report | ||
sirrobert | I *think* in function call context, the nested pair is getting treated as a ... hash? | 20:55 | |
(the output of the first two "say" calls is "Pair()") | |||
masak | sirrobert: try quoting "a". | 20:56 | |
it gets treated as a named argument if you don't. | |||
sirrobert | oohh... tricky | ||
ok, thanks | |||
masak | np | ||
21:02
Pleiades` left
21:04
skids left
|
|||
vmspb | Hello | 21:06 | |
I see that latest version NQP has big size — 112.4MB | |||
Thus it must be? | |||
flussence | that can't be right | ||
masak | whoa. | ||
masak downloads and checks | |||
flussence | where'd you download it from? | ||
vmspb | github.com/perl6/nqp/downloads | 21:07 | |
sorear | is there a core dump in there? | ||
who released that? | |||
masak | |||
oh, it contains a Parrot... | |||
flussence | yow. | 21:08 | |
masak | ok, deleted. | ||
time to try again. | |||
sorry about that. | |||
vmspb++ | |||
sorear | A fully built parrot? | 21:09 | |
masak | ah, that's better. | 21:10 | |
probably a fully built parrot, yes. | |||
masak amends the nqp release guide instructions, too | 21:11 | ||
vmspb: a smaller .tar.gz file is now up. | |||
dalek | p: 32380f9 | masak++ | docs/release_guide.pod: [docs/release_guide.pod] clean your nqp before tarring |
21:12 | |
kudo/toqast: 926e030 | jnthn++ | src/QPerl6/Optimizer.pm: First pass at starting to updated the optimizer for QAST. Untested, just simple translation. |
21:13 | ||
flussence | I dunno what went wrong there, when I ran that command locally with a dirty nqp tree the tar.gz comes out at 900KB :( | 21:15 | |
masak | flussence: might have been some other screwup on my end. | 21:16 | |
21:16
prettyrobots joined
|
|||
masak | not your fault. | 21:16 | |
lue | hello world o/ | 21:19 | |
masak | style advice: when to prefer \h+ and when to prefer <.ws>? | ||
21:19
mucker left
|
|||
lue | .oO( [backlogging] (my [sigil]) is incredibly humorous! ) |
21:19 | |
flussence | doesn't <ws> do different things depending on what's either side of it? | ||
masak | lue: yeah :) | ||
flussence: it does. | 21:20 | ||
that probably answers my question. thanks. | |||
lue | and doesn't <.ws> == \s ? (or am I misremembering?) | ||
lue just had an idea on avoiding generating a CORE.setting.pir on his own machine. Testing... | 21:21 | ||
Tene | perl6: say "foo.bar" ~~ m/(<.ws>.)/ | ||
p6eval | niecza v19-13-g442e075: OUTPUT«#<match from(0) to(1) text(f) pos([#<match from(0) to(1) text(f) pos([].list) named({}.hash)>].list) named({}.hash)>» | ||
..rakudo 4eeffc: OUTPUT«q[f] 0 => q[f]» | |||
sorear | lue: <.ws> is <!ww> \s* by default | ||
flussence | S05:2009 | ||
lue | Well, I suppose I should've said "doesn't <.ws> use \s instead of \h?" (but nice to know what the default looks like in simpler terms) | 21:23 | |
21:23
bruges_ joined
21:25
bruges left
21:27
Pleiades` joined
|
|||
thou | masak: is it still helpful? golfing: gist.github.com/3146951 | 21:27 | |
masak | thou: nice. | 21:29 | |
I see you have started golfing it :) | |||
thou | masak, changing sub ($self) to method () makes it work | ||
21:31
kurahaupo joined
|
|||
masak | well, making it work means you're not golfing the error... | 21:32 | |
still interesting, though. | |||
thou | right, just a side note | 21:33 | |
removing the die(), it still segfaults | |||
ok, i think this is about as small as i can make it: gist.github.com/3146951 | 21:34 | ||
masak | ooh. | 21:35 | |
FETCH bit really necessary? | |||
thou | yeah | ||
21:35
cognominal_ joined
|
|||
masak | then that's worth a rakudobug. thou++ | 21:35 | |
21:35
cognominal left
|
|||
thou | otherwise i get "invoke() not implemented in class 'Undef'" | 21:36 | |
masak | thou: will you submit it? | 21:41 | |
thou | trying to | ||
can't find the link on rt.perl.org | |||
i just logged in via bitcard | 21:42 | ||
but no sign of a "create ticket" | |||
masak | [email@hidden.address] | ||
email. | |||
thou | roger. been a while... | 21:43 | |
masak | :) | ||
tadzik | masak: thanks, I'll keep that in mind | 21:45 | |
sorear | . | 21:54 | |
22:04
adam7504 joined,
PacoAir left
|
|||
sergot | What is the fastest way to count the distance[is this good word for this case?] (in days) from some date to now, when the "some date" is given in dd-mm-yyyy. | 22:04 | |
:) | |||
masak | r: say Date.new | 22:05 | |
p6eval | rakudo 4eeffc: OUTPUT«2012-12-24» | ||
masak | r: say Date.new + 4 | ||
p6eval | rakudo 4eeffc: OUTPUT«2012-12-28» | ||
masak | r: say (Date.new + 5) - Date.new | ||
p6eval | rakudo 4eeffc: OUTPUT«5» | ||
masak | sergot: good enough? | ||
diakopter | well, "some date" needs parsed | ||
masak | r: my $date = "15-09-1981"; $date ~~ / (\d\d)'-'(\d\d)'-'(\d\d\d\d) /; my ($day, $month, $year) = $0, $1, $2; say Date.new($year, $month, $day) | 22:07 | |
p6eval | rakudo 4eeffc: OUTPUT«Type check failed in assignment to '$!year'; expected 'Int' but got 'Match' in block <anon> at src/gen/CORE.setting:636 in method BUILDALL at src/gen/CORE.setting:620 in method bless at src/gen/CORE.setting:610 in method new at src/gen/CORE.setting:10777 … | ||
sergot | masak: I got a date from the past, e.g. 01-02-2012 and I want to count the distance from this date to now. | ||
masak | r: my $date = "15-09-1981"; $date ~~ / (\d\d)'-'(\d\d)'-'(\d\d\d\d) /; my ($day, $month, $year) = +$0, +$1, +$2; say Date.new($year, $month, $day) | ||
22:07
MayDaniel left
|
|||
p6eval | rakudo 4eeffc: OUTPUT«1981-09-15» | 22:07 | |
masak | r: my $date = "15-09-1981"; $date ~~ / (\d\d)'-'(\d\d)'-'(\d\d\d\d) /; my ($day, $month, $year) = +$0, +$1, +$2; say Date.new - Date.new($year, $month, $day) | ||
p6eval | rakudo 4eeffc: OUTPUT«11423» | ||
masak | ok, so that's how old I am in days. | ||
sorear: good enough? | 22:08 | ||
sergot | That's what I needed! masak++ \o/ | ||
masak | I literally solve your problem in a minute. | ||
while blogging! lol! \o/ strangelyconsistent.org/blog/july-1...ith-leaves | |||
r: say today | 22:09 | ||
p6eval | rakudo 4eeffc: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&today' called (line 1)» | ||
sergot | Oh, and I forgot - masak++ for your blogging in July. :) | ||
diakopter | istr carrying leaves in a car long ago | 22:11 | |
masak | sergot: thanks :) | 22:14 | |
[Coke] belatedly reports all tests passing in rakudo for the release manager. ;) | 22:16 | ||
masak | \o/ | 22:18 | |
[Coke]: found the encoding issue? | |||
sorear | masak: oh, you're older than I thought. | 22:19 | |
masak | I'll take that as a compliment, young whippersnapper. ;) | 22:20 | |
these wrinkles represent *experience*. | |||
sergot | r: say Date.new; | 22:22 | |
p6eval | rakudo 4eeffc: OUTPUT«2012-12-24» | ||
sergot | hm? :) | 22:23 | |
masak | :) | ||
oh, so that's my age in days next Christmas, then. | |||
sergot | It's 2012-07-19 now! :) | ||
masak | r: say Date.today | ||
p6eval | rakudo 4eeffc: OUTPUT«2012-07-20» | ||
22:23
adam7504 left
|
|||
masak | no, we already passed midnight. | 22:23 | |
at least in .nl, where p6eval is. | |||
p6eval is still on feather, no? | 22:24 | ||
sergot | masak: right, I didn't notice that. :) | 22:25 | |
\o/ | |||
diakopter ponders upgrading to Windows 8 preview | 22:27 | ||
sergot | filip.sergot.pl/p6/modules/index.html generated using p6! \o/ | ||
masak | \o/ | ||
very nice. | |||
sergot | TODO: alphabetical order :) | 22:28 | |
diakopter | a column for "works in X" for each implementation would be super | ||
"works in latest X", I mean. | |||
since I'm sure quite a few don't work anymore, and many might work on various implementations only... | 22:30 | ||
22:30
moukeddar joined
|
|||
[Coke] | masak: no. that's from running it in my shell on feather, not from cron on feather. | 22:31 | |
diakopter | or are they *all* rakudo-only? | ||
masak | quite possibly. | ||
[Coke] | masak++ is 10 years younger than I. | ||
diakopter | well, "works in latest rakudo" would be quite helpful at least | 22:32 | |
sorear | masak++ is 9.5 years older than I. | ||
22:33
sivoais left
|
|||
masak | sorear: and you already know quite a bit more math than I do. | 22:34 | |
22:34
sivoais joined
|
|||
masak | makes me feel like I lost a few years somewhere ;) | 22:34 | |
22:35
sirrobert left
|
|||
[Coke] | masak: get off my lawn. | 22:36 | |
22:38
crab2313 left
|
|||
masak | ;) | 22:38 | |
22:39
Seganku joined
|
|||
[Coke] manages to hang his IDE at work. blah. | 22:42 | ||
sergot | good night o/ | 22:46 | |
22:46
sergot left
|
|||
timotimo | "sub b([]) { say "empty list" }" -> "sub b() { ... }" - "sub c() { say "empty argument list" }" -> "sub c() { ... }" | 22:50 | |
interesting choice to render [] as "" in argument lists :) | 22:51 | ||
rn: sub a([], $a) {}; say &a | 22:52 | ||
p6eval | niecza v19-13-g442e075: OUTPUT«Potential difficulties: $a is declared but not used at /tmp/zRVoMdFNTO line 1:------> sub a([], ⏏$a) {}; say &asub a(, Any $a) { ... }» | ||
..rakudo 4eeffc: OUTPUT«sub a(, $a) { ... }» | |||
benabik | rn: say [] | 22:59 | |
p6eval | rakudo 4eeffc, niecza v19-13-g442e075: OUTPUT«» | ||
benabik | rn: say [].perl | ||
p6eval | rakudo 4eeffc, niecza v19-13-g442e075: OUTPUT«[]» | ||
benabik | I guess it's because Sub.gist uses $arg.gist | ||
23:01
moukeddar left
|
|||
jnthn has blaught: 6guts.wordpress.com/2012/07/20/the-...ng-nicely/ | 23:09 | ||
masak | jnthn++ \o/ | 23:11 | |
so, we're working our way... up to 11? :P | 23:12 | ||
jnthn | ;-) | 23:13 | |
Dang, caught :P | |||
'night, #perl6 | 23:16 | ||
23:19
whiteknight joined
23:20
whiteknight is now known as Guest51643
|
|||
timotimo | i still keep getting confused by flattening and nonflattening things | 23:32 | |
trying my hand at the 99 haskell problems (which are probably the exact same as the 99 lisp problems) and i can't get my rle to work | 23:33 | ||
23:33
sudokode is now known as gtmantred
|
|||
timotimo | i have a function to put consecutive elements into sublists, like [[1, 1, 1], [2, 2], [3, 3, 3]], but i can't iterate over the sublists :| | 23:33 | |
23:33
seldon left
23:35
sporous left
|
|||
Tene | why not? | 23:35 | |
23:35
sporous joined
23:37
Chillance left
23:40
xinming left
|
|||
masak | r: sub group(@l) { return g [], @l; multi g(@done, []) { @done }; multi g(@done, @l where { @l[0] === @done[*-1][0] }) { @done[*-1].push(@l.shift); g @done, @l }; multi g(@done, @l) { @done.push([@l.shift]); g @done, @l } }; say (group [1,1,1,2,2,3,3,3]).perl | 23:42 | |
p6eval | rakudo 4eeffc: OUTPUT«Array.new([1, 1, 1], [2, 2], [3, 3, 3])» | ||
masak | \o/ | ||
a bit too mutating for my taste. but it works. | |||
timotimo | mine is a horrible mess of imperative programming | 23:43 | |
sub collate-same(@a) { my $iv; gather { while +@a { $iv = @a[0]; take gather { take @a.shift while (+@a and @a[0] == $iv) } } } } | 23:44 | ||
r: sub collate-same(@a) { my $iv; gather { while +@a { $iv = @a[0]; take gather { take @a.shift while (+@a and @a[0] == $iv) } } } }; collate-sums([1,1,1,2,2,3,3,3]).perl | |||
p6eval | rakudo 4eeffc: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&collate-sums' called (line 1)» | ||
timotimo | r: sub collate-same(@a) { my $iv; gather { while +@a { $iv = @a[0]; take gather { take @a.shift while (+@a and @a[0] == $iv) } } } }; collate-same([1,1,1,2,2,3,3,3]).perl | ||
p6eval | rakudo 4eeffc: ( no output ) | ||
masak | 'say' | ||
timotimo | i'm dumb. | ||
r: sub collate-same(@a) { my $iv; gather { while +@a { $iv = @a[0]; take gather { take @a.shift while (+@a and @a[0] == $iv) } } } }; collate-same([1,1,1,2,2,3,3,3]).perl.say | |||
p6eval | rakudo 4eeffc: OUTPUT«(1, 1, 1, 2, 2, 3, 3, 3).list» | ||
timotimo | uh, that was different on my comp | ||
yeah, my test case was wrong | 23:45 | ||
it actually flattened the list before comparing the result of my function, so it worked | |||
r: sub collate-same(@a) { my $iv; gather { while +@a { $iv = @a[0]; take gather { take @a.shift while (+@a and @a[0] == $iv) } } } }; collate-same([1,1,1,2,2,3,3,3]).lol.perl | |||
p6eval | rakudo 4eeffc: ( no output ) | ||
timotimo | r: sub collate-same(@a) { my $iv; gather { while +@a { $iv = @a[0]; take gather { take @a.shift while (+@a and @a[0] == $iv) } } } }; say collate-same([1,1,1,2,2,3,3,3]).lol.perl | ||
p6eval | rakudo 4eeffc: OUTPUT«LoL.new(ListIter.new())» | ||
timotimo | well, that's helpful | ||
23:47
Coleoid joined
|
|||
timotimo | r: sub collate-same(@a) { my $iv; gather { while +@a { $iv = @a[0]; take gather { take @a.shift while (+@a and @a[0] == $iv) } } } }; say +collate-same([1,1,1,2,2,3,3,3]) | 23:50 | |
p6eval | rakudo 4eeffc: OUTPUT«8» | ||
timotimo | r: say +[[1, 2, 3, 4, 5], [1, 2], [1]] | ||
p6eval | rakudo 4eeffc: OUTPUT«3» | ||
timotimo | so i'm definitely not doing it right | ||
masak | any occurrence of 'ListIter.new()' in .perl output is to be considered a bug. | 23:51 | |
anyway. 'night, #perl6 | |||
timotimo | good night masak | 23:52 | |
how *can* i gather a list of lists together? | 23:54 | ||
r: say gather for ^5 { take 1 xx $_ } | 23:55 | ||
p6eval | rakudo 4eeffc: OUTPUT«1 1 1 1 1 1 1 1 1 1» | ||
timotimo | r: say gather for ^5 { take $_ xx $_ } | ||
p6eval | rakudo 4eeffc: OUTPUT«1 2 2 3 3 3 4 4 4 4» | ||
timotimo | r: say (gather for ^5 { take $_ xx $_ }).perl | ||
p6eval | rakudo 4eeffc: OUTPUT«(1, 2, 2, 3, 3, 3, 4, 4, 4, 4).list» | ||
timotimo | r: say (gather for ^5 { take [$_ xx $_] }).lol.perl | ||
p6eval | rakudo 4eeffc: OUTPUT«LoL.new(ListIter.new())» | ||
timotimo | r: say +(gather for ^5 { take [$_ xx $_] }) | ||
p6eval | rakudo 4eeffc: OUTPUT«5» | ||
timotimo | that seems right | 23:56 | |
r: say (gather for ^5 { take [$_ xx $_] }).lol[0] | |||
p6eval | rakudo 4eeffc: OUTPUT«ListIter.new()» | ||
timotimo | r: say (gather for ^5 { take [$_ xx $_] }).lol[0].flat | ||
p6eval | rakudo 4eeffc: OUTPUT« 1 2 2 3 3 3 4 4 4 4» | ||
timotimo | :\ | ||
23:56
gtmantred is now known as sudokode
|
|||
Tene | timotimo: that looks right to me... | 23:57 | |
what's your desired output? | |||
r: say (gather for ^5 { take [$_ xx $_] }).gist | |||
p6eval | rakudo 4eeffc: OUTPUT« 1 2 2 3 3 3 4 4 4 4» | ||
Tene | r: say (gather for ^5 { take [$_ xx $_] }).perl | ||
p6eval | rakudo 4eeffc: OUTPUT«([], [1], [2, 2], [3, 3, 3], [4, 4, 4, 4]).list» | ||
23:57
quietfanatic joined
|
|||
timotimo | r: say (gather for ^5 { take [$_ xx $_] })[0].perl | 23:58 | |
p6eval | rakudo 4eeffc: OUTPUT«[]» | ||
timotimo | mhm. wonder what i did wrong :) | ||
Tene | You did something wrong? | ||
quietfanatic | ^5 is 0..4 | ||
0 xx 0 is [] | 23:59 | ||
Excuse me, [0 xx 0] is [] | |||
timotimo | sure, that's no problem |