»ö« 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.
00:12 daniel-s joined 00:14 sftp left, thelazydeveloper left 00:19 alvis joined
[Coke] phenny: ask au if there's any point to keeping the PUGS_BACKEND fudging at this point. 00:31
phenny [Coke]: I'll pass that on when au is around.
dalek ast: 76bb3e0 | coke++ | integration/ (2 files):
pugs (auto) unfudge
00:34
00:36 BinGOs joined 00:38 crab2313 left 00:40 crab2313 joined 00:56 tokuhiro_ joined 01:04 zhutingting left 01:06 zhutingting joined 01:16 alvis left 01:17 alvis` left 01:18 awwaiid left 01:19 awwaiid joined 01:20 zhutingting_ joined 01:21 zhutingting left, zhutingting_ is now known as zhutingting 01:25 zhutingting left 01:26 xinming joined, tokuhiro_ left 01:27 tokuhiro_ joined 01:30 prettyrobots left 01:31 tokuhiro_ left 01:32 lumi_ left 01:33 lumi_ joined, am0c_ joined
[Coke] can you add a method to a Type in haskell? 01:34
01:34 scott__ joined 01:35 wolong left 01:36 snarkyboojum joined, spider-mario left, zhutingting joined 01:37 wolong joined 01:38 preflex left
[Coke] figures out how to do it in pugs, anyway. 01:38
01:38 jnthn left 01:39 Pleiades` left, jnthn joined 01:40 preflex joined, mathw_ left, mathw joined 01:41 yves_ left, sjohnson left, crazedpsyc left 01:42 Pleiades` joined 01:45 yves_ joined, sjohnson joined, renormalist joined, robinsmidsrod joined, pmichaud joined, masak joined, prammer joined, jfried joined, crazedpsyc joined, mikec__ joined
dalek gs.hs: 6fa4f7d | coke++ | / (2 files):
rename .reverse to .flip -- #14
01:47
ast: b75eed2 | coke++ | S32-str/flip.t:
pugs fudge
01:52 godfrey999 joined 01:59 zhutingting left 02:04 supernovus joined
supernovus It seems modules.perl6.org has been broken for a while. There are no logos, and no medals for any projects. 02:06
[Coke] attempts to add a build dep, an import, and Str.trim to pugs.
supernovus: I think it's a known issue; not sure if the cause is known. 02:07
supernovus Well, I'll download the source of the script which generates the page and see if I can track it down. 02:08
flussence supernovus++ # doing something about it 02:11
02:13 orafu left, OuLouFu joined 02:14 OuLouFu is now known as orafu 02:18 jerome left
dalek ast: 48446cb | coke++ | S32-str/trim.t:
pugs refudge
02:19
gs.hs: e743d95 | coke++ | / (3 files):
add .trim, .trim-leading, .trim-trailing
02:21
[Coke] r: say "DFSDFasdfasdf".fc 02:25
p6eval rakudo 1fe39c: OUTPUT«No such method 'fc' for invocant of type 'Str'␤ in block <anon> at /tmp/6qptjVFlA0:1␤␤»
[Coke] ah, then I don't feel so bad. ;)
colomon .fc ? 02:27
supernovus Well, that could do it. GitHub API v2 has been removed from GitHub. I'll rework build-project-list.pl to use the v3 API. 02:28
[Coke] it's in S32-Str
supernovus++ !
npr: say 3.succ 02:29
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«4␤»
..pugs: OUTPUT«*** No such method in class Int: "&succ"␤ at /tmp/pcnYX8cpPf line 1, column 5 - line 2, column 1␤»
gdonald pastebin.com/WNxAnEnT My Rakudo build broke a few days ago. Latest git pull doesn't help. 02:33
same errors on latest Debian and Ubuntu 02:34
[Coke] gdonald: have you tried starting from a fresh git checkout? (or git clean -xdf ?) 02:36
gdonald yeah, I tried a fresh checkout on both machines 02:37
02:37 Psyche^ joined
gdonald new dependency added recently? 02:37
02:38 Patterner left, Psyche^ is now known as Patterner
[Coke] dunno. Best bet is probably to do bisect to figure out where it went south. 02:39
there was a temporary bump in required parrot version that was dropped, though.
msg pmichaud the problem with not upgrading parrot as soon as possible is that we're less likely to notice when it's broken.
phenny: tell pmichaud the problem with not upgrading parrot as soon as possible is that we're less likely to notice when it's broken.
phenny [Coke]: I'll pass that on when pmichaud is around.
[Coke] phenny--
gdonald mine seems to be trying parrot RELEASE_4_5_0, is that the correct version? 02:41
dalek gs.hs: 80dc964 | coke++ | Pugs/src/Pugs/Prim.hs:
Add .FatRat as copy of .Rat #20
02:42
[Coke] I thought we downgraded to 4.4 - when you started with a fresh repo, did you also blow away nqp and parrot? 02:43
(and are you using --gen-parrot option to rakudo's config?)
gdonald yeah, i removed the whole thing, the git clone again. i'm using `perl Configure.pl --gen-parrot --gen-nqp` 02:44
[Coke] so you should be getting the right versions, then, with no leftovers. 02:45
02:45 lue left
[Coke] I'd probably do a bisect to figure out what the actual bad commit was. 02:45
diakopter nqp: nqp::say(3).WHAT # oopsie 02:48
p6eval nqp: OUTPUT«error:imcc:syntax error, unexpected '\n'␤ in file '(file unknown)' line 37␤␤»
diakopter also, nqp thinks a line starting with == is a pod directive
nqp: say(4) if 2 ␤==2 02:49
p6eval nqp: OUTPUT«Illegal pod directive at line 3, near "=2"␤current instr.: 'nqp;HLL;Grammar;panic' pc 22385 (src/stage2/gen/NQPHLL.pir:8546) (src/stage2/gen/NQPHLL.pm:326)␤»
supernovus Well, I have to run, but now that I know what the problem with the script is, fixing it will be fairly straightfoward.
diakopter phenny: tell jnthn nqp thinks a line starting with == starts a pod directive; try nqp: say(4) if 2 ␤==2 02:50
phenny diakopter: I'll pass that on when jnthn is around.
gdonald it's pulling 4_5_0 when I clone and build all new: Parrot Version 4.5.0 Configure 2.0 02:51
diakopter phenny: tell jnthn in nqp say(1) returns a non-6model object try say(say(1).WHAT) 02:52
phenny diakopter: I'll pass that on when jnthn is around.
02:53 zhutingting joined
diakopter phenny: tell jnthn nqp::say(1).WHAT causes an imcc syntax error 02:53
phenny diakopter: I'll pass that on when jnthn is around.
au [Coke]: feel free to drop PUGS_BACKEND fudging; (keeping it a simple interpreter)++ 02:54
phenny au: 00:31Z <[Coke]> ask au if there's any point to keeping the PUGS_BACKEND fudging at this point.
02:57 supernovus left
[Coke] au: danke. I just added some features and am back to fudge working. 03:00
er, xiexie.
au woot!
03:00 gdonald left 03:01 gdonald joined
sorear AU \o/ 03:02
au \👾/
03:07 cenuij2 left 03:18 adu joined
dalek ast: f200e0a | coke++ | / (5 files):
pugs (un)fudge
03:20
gs.hs: bf78a15 | coke++ | t/spectest.data:
don't bother listing things we don't run yet.
03:21
gs.hs: 4ff01b5 | coke++ | t/spectest.data:
run fudged tests
[Coke] p: say 9231 / 22934 03:27
p6eval pugs: OUTPUT«0.4025028342199354669922385977151826981774␤»
[Coke] bleargh, that's depressing.
p: say 9531 / 22934 # approximate # if we can get the sin/cos/tan tests passing. 03:28
p6eval pugs: OUTPUT«0.41558384930670620040115112932763582454␤»
03:36 prettyrobots joined
[Coke] au: do you get email notifications when I open issues? 03:37
zzz 03:38
au not yet
I probably turned the notification email off when notifications from rubinius overwhelmed my inbox once 03:39
au goes to check if GitHub offers per-project notification settings
or fallback to a filter, or something.
[Coke]++ rest well & thx for all the good work 03:40
03:43 sudokode left 03:48 thou left 04:00 kaare_ joined 04:10 zhutingting left 04:13 lue joined 04:14 crab2313 left
lue Is it possible to use a CORE.setting.pir generated on another computer? (I've been at the Stage start: step for about an hour now on my own computer.) 04:15
04:19 telex_ left 04:20 sudokode joined
lue As long as it doesn't contain platform-specific information (which doesn't seem likely), such a time-saving trick would work fine, right? 04:24
04:27 telex joined
benabik The .pir shouldn't be platform specific. 04:29
04:30 birdwindupbird joined, skids left, xinming left 04:31 prettyrobots left
lue That's what I'm assuming, I just wanted to make sure. (I could've generated CORE.setting.pir many times on feather by now.) 04:31
(I hope getting it past make won't be too much of an issue.) 04:34
04:38 telex left 04:40 telex joined 04:59 lue left 05:02 zhutingting joined 05:11 prettyrobots joined 05:26 birdwindupbird left 05:33 supernovus joined
supernovus Well, I'll have to finish tomorrow. While working on porting build-project-list.pl to the new API, I got sidetracked and have rewritten it as a modular OO application... not quite finished yet. 05:34
I look foward to Perl 6 having a SSL library so I can rewrite the whole app into Perl 6. Because having the modules.perl6.org site generated by a Perl 6 app, would be pretty darn cool. 05:37
Anyway, good * everyone, I'm off to bed. I'll finish the rewrite tomorrow. Then the badges should all work again. 05:39
05:43 supernovus left 05:47 kaleem joined 05:48 kurahaupo joined 05:49 birdwindupbird joined 05:50 kaleem left 05:51 brrt joined 05:53 zhutingting left 05:58 kaleem joined 05:59 brrt left, brrt1 joined 06:05 fgomez left
moritz ++supernovus 06:05
06:06 fridim_ joined
moritz good morning everybody 06:10
06:10 nodmonkey joined
tadzik good morning #perl6 06:10
06:18 kurahaupo left, nodmonkey left
moritz good am, tadzik 06:20
Files=682, Tests=23440 # toqast spectest 06:25
06:26 nebuchadnezzar left 06:27 prettyrobots left, kresike joined
kresike good morning all you happy perl6 people 06:27
06:28 prettyrobots joined 06:32 brrt joined, brrt1 left, kurahaupo joined, kaleem left 06:34 nodmonkey joined, brrt1 joined 06:35 brrt left 06:38 jerome joined 06:41 brrt1 left, nodmonkey left 06:44 fridim_ left 06:48 kaleem joined
adu I guess I'm mostly happy 06:49
but I might not be
06:51 GlitchMr joined 06:52 xinming joined 06:59 hoelzro|away is now known as hoelzro 07:03 adu left 07:04 nebuchadnezzar joined, gdonald left 07:05 gdonald joined
tadzik guess it's time to run emmentaler on toqast 07:09
moritz I don't think so 07:10
still too many test regressions
GlitchMr 0, 0.1 ... 2 07:12
oops
Accidental paste 07:13
moritz www.smbc-comics.com/index.php?db=co...mp;id=2675
GlitchMr perl6: print Inf - Inf 07:14
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«NaN»
07:26 prettyrobots left 07:28 prettyrobots joined 07:35 sudokode left
jnthn Good morning o/ 07:44
phenny jnthn: 02:50Z <diakopter> tell jnthn nqp thinks a line starting with == starts a pod directive; try nqp: say(4) if 2 ␤==2
jnthn: 02:52Z <diakopter> tell jnthn in nqp say(1) returns a non-6model object try say(say(1).WHAT) 07:45
jnthn: 02:53Z <diakopter> tell jnthn nqp::say(1).WHAT causes an imcc syntax error
diakopter o/
jnthn Not surprised about the latter 07:46
nqp::say is void return.
Though similar things in QAST return a type inference fail, I think.
diakopter nqp: say(4) if 2 ␤==2 07:47
p6eval nqp: OUTPUT«Illegal pod directive at line 3, near "=2"␤current instr.: 'nqp;HLL;Grammar;panic' pc 22385 (src/stage2/gen/NQPHLL.pir:8546) (src/stage2/gen/NQPHLL.pm:326)␤»
diakopter I ran into it writing nqp code today :)
jnthn whee!
I...quess the grammar is a little simplistic :)
diakopter nqp: say(say(1).WHAT) 07:50
p6eval nqp: OUTPUT«1␤Can only use get_what on a SixModelObject␤current instr.: '_block1000' pc 35 ((file unknown):152306289) (/tmp/8rK41VykYM:1)␤»
jnthn Well. That one is accurate. 07:51
nqp is a hybrid 6model/Parrot thing. 07:52
Rakudo is just using 6model all the way
hoelzro fun stuff: my crash example from last night doesn't crash on OS X 07:54
grrrr
jnthn hopes the coffee starts working soon...writing tests that involve time needs a working brane... 07:58
08:03 fhelmberger joined 08:12 prettyrobots left
masak morning, #perl6 08:21
diakopter o/
08:27 sergot joined
sergot hi o/ 08:27
08:27 wtw joined
tadzik heyllo 08:27
08:42 mikemol left 08:47 MayDaniel joined 08:55 mikemol joined 08:57 zhutingting joined 09:00 dakkar joined 09:07 Patterner left 09:13 MayDaniel left
masak ooh, I have a Perl 6 day today. 09:17
time to build the toqast branch, then.
jnthn Fix teh macros tests! :P 09:18
09:19 Psyche^ joined, Psyche^ is now known as Patterner
jnthn (Actually, I already fixed the majority of the breakages there...but some fail.) 09:19
masak yeah, teh macros tests, if they don't work already, seem an excellent point for me to start. 09:20
moritz fwiw multi dispatch between Int and int is broken in toqast
masak ok.
moritz jnthn: ooc, what's the motivation for not wanting to merge stuff from nom to toqast? 09:21
jnthn moritz: Yeah, I'm aware of that one.
moritz jnthn: changes to Actions/World?
jnthn moritz: Because if I collapse QPerl6 back into Perl6 before merging, then git can help me integrate the Actions/World/Grammar changes that happened since I branched.
If I don't do that, I have to go through them all by hand. 09:22
moritz jnthn: ok. So core-only patches are fine to merge?
jnthn: i mostly ask because I want to get rid of an infinite loop in one of the tests 09:23
jnthn moritz: yes
moritz: Though I hope that pulling those in won't make the final merge harder :) 09:24
moritz jnthn: it won't
jnthn: but I just noticed that they also depend on some nqp changes :(
jnthn moritz: Updating the toqast branch in NQP with latest stuff from mainline NQP is probably fine. 09:25
moritz jnthn: ah right, toqast only touches qast stuff, right?
jnthn Ruight.
*right
09:26 mikemol left 09:27 grondilu joined 09:28 mikemol joined
moritz loliblug: perl6maven.com/from-iterative-to-fu...perl6-code # first guest post on perl6maven 09:47
dalek Heuristic branch merge: pushed 20 commits to nqp/toqast by moritz 09:48
masak moritz++ # guest posting
dalek kudo/toqast: 85177c8 | pmichaud++ | src/core/Rat.pm:
Fix relational operators for (Int,Rat).
kudo/toqast: 3337df6 | pmichaud++ | src/core/Str.pm:
Refactor Str.match to be lazier and accept a few more options.
kudo/toqast: 24d833a | pmichaud++ | src/core/Str.pm:
Restore :x(*) handling suggested by spectests.
moritz Files=682, Tests=23549 # current toqast status 09:49
and the hangs are fixed
masak also, the blog itself is excellent. moritz++ 09:50
09:50 mikemol left
moritz thanks 09:56
I didn't know what I was going to write about, and thought I'd do some file IO. You can see how far I got with that one :-)
masak :P 10:05
10:12 fhelmberger left
mathw hi 10:13
flussence aha, someone else has that invoke() error now
10:16 masakyst joined, scott__ left
masak mathw! \o/ 10:16
10:16 fhelmberger joined
masak masakyst: greetings. 10:17
mathw hi masak 10:19
10:19 mikemol joined, grondilu left
masakyst hello masak 10:19
bbkr1 moritz++ # post about rewrites 10:33
moritz oh by the way, I've just reviewed some of my old perlmonks posts... and there's a surprisingly large number of posts where I mention that rats in perl 6 do exact arithemtics, and they are all upvoted to 30..36 XP (a normal helpful but not exectpioinally good reply usually gets around 20..25 XP) 10:34
so, perlmonks folks seem to like that feature (as do I) 10:35
masak it's a nice feature. and we strike a nice balance with it in Perl 6. 10:36
colomon colomon's question for the morning: why is it lc, uc, fc, and titlecase? 10:44
masak +1 10:45
I asked that when we last talked about it. no-one replied.
colomon n: say "hello".fc 10:46
p6eval niecza v19-13-g442e075: OUTPUT«Unhandled exception: Unable to resolve method fc in type Str␤ at /tmp/kWS0KAeiDV line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3918 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3919 (module-CORE @ 562) ␤ at /home/p6e…
bbkr1 What bothers me is comment on perlmonks: "Just give me a Perl6 implementation i can depend on". The answer to that could be "You have one now! Rewrites cause incompatible changes in Perl 6 and you also have incompatible changes between Perl 5 versions, somehow you consider P5 to be stable and P6 not". I have a feeling that many developers waits some kind of blessing "go! now!" (a.k.a. release date).
GlitchMr doc.perl6.org/routine/ucfirst 10:48
Why we don't have ucfirst?
titlecase does something else
colomon because ucfirst is a bad idea in Unicode 10:49
tadzik bbkr1: the different is that incompatibile changes in Perl 5 don't break your code often
GlitchMr Why it's bad idea?
colomon because you want titlecase (though possibly only on the first word) 10:50
GlitchMr But what if I want it only on the first word
colomon I proposed having tcfirst be a function 10:52
er, method
GlitchMr Now it's inconsistent
titlecase, but tcfirst
masak excuse me for opining that "you don't want that method for purist reasons, please use this method instead which does the same" feels more anal-retentive than the Perl 6 way. 10:53
colomon well, I also proposed tc instead of titlecase. twice, if you count the implicit suggestion today.
masak glares at nothing, passive-aggressively :) 10:54
GlitchMr Also, while it's common in English to write like "Modules and Whatever", it doesn't work that way in every language
flussence bbkr1: maybe we should declare perl6's release date as some arbitrary point in the past, just to screw with people who think that way :) 10:57
bbkr1 and play "last christmas" song on perl6.org page :) 10:58
jnthn If we're gonna put sound on there, I want a <marquee> too! 11:00
tadzik BGSOUND
11:00 fridim_ joined
flussence nah, you've got to use modern markup only: <audio> and a CSS3 animated circular marquee 11:01
11:02 godfrey999 left
jnthn ooh! 11:02
;)
11:08 JimmyZ joined 11:14 kaleem left 11:15 kaleem joined
masak .oO( la-a-st Christmas, I gave you Perl 6, but the very next day, you threw C in the mix. thi-i-s year, to save me from tears, I'll bootstrap with someone special ) 11:20
11:27 adu joined
masak walk & 11:29
11:31 fridim_ left 11:40 masakyst left, godfrey999 joined 11:42 SamuraiJack joined
SamuraiJack oh hai 11:43
is there a *.deb package for rakudo?
tadzik none that I know of
but istr a friend of mine once maintaining a rakudo ppa
for ubuntu
SamuraiJack oh, cool, any links to it? 11:44
tadzik let me see 11:46
SamuraiJack: it's launchpad.net/~dexter/+archive/rakudo-pkg but it's reeeeealy outdated 11:47
SamuraiJack heh, yea 11:48
ok, thanks 11:49
tadzik there is 2012.04 in debian sid
kresike SamuraiJack, there is a package in Debian/wheezy, but it's also outdated 11:50
tadzik not that 2012.04 is particularly up-to-date ;)
compiling manually is not that bad, if you have 2+ GBs of ram
SamuraiJack yup, I guess I'll have to compile it 11:51
SamuraiJack is finally planning to play with perl6
tadzik great!
SamuraiJack "finally planning" what formualtion, hehe :) 11:52
tadzik feel free to ask about anything unclear
SamuraiJack I mean - previously I was not even planning :)
yup, will do
zhutingting r: map *+1, 1..3 11:54
p6eval rakudo 1fe39c: ( no output )
zhutingting r: map (*+1).say, 1..3 11:55
p6eval rakudo 1fe39c: ( no output )
11:56 xinming left
zhutingting r: .say for map *+1, 1..3 11:56
p6eval rakudo 1fe39c: OUTPUT«2␤3␤4␤»
zhutingting .say for map ***, 1..3 11:57
r: .say for map ***, 1..3
p6eval rakudo 1fe39c: OUTPUT«===SORRY!===␤HyperWhatever (**) not yet implemented. Sorry. ␤at /tmp/K4lIR7dk9z:1␤»
11:58 xinming joined
zhutingting does perl6 has a syntax can rename * in lambda like ruby's [1,2,3].map { |o| o*o } 12:00
?
tadzik ;is 12:01
yes
it's called a pointy block
r: eager <a b c>.map: -> $a { say $a }
p6eval rakudo 1fe39c: OUTPUT«a␤b␤c␤»
tadzik that's also how for @a -> $b { } works 12:02
12:05 mucker joined
flussence r: say [1..3].map(* * *) 12:07
p6eval rakudo 1fe39c: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in block <anon> at /tmp/I0q7JlEDHL:1␤␤»
flussence r: say [1..3].map({$_ * $_})
p6eval rakudo 1fe39c: OUTPUT«1 4 9␤»
12:09 daxim joined, SHODAN left
flussence r: say [»*«] [1..3] xx 2 # hah, as if this would work... 12:10
p6eval rakudo 1fe39c: OUTPUT«Nominal type check failed for parameter '$op'; expected Any but got Mu instead␤ in sub METAOP_REDUCE_LEFT at src/gen/CORE.setting:11678␤ in block <anon> at /tmp/XYOKAJYYCp:1␤␤»
flussence ETRYINGTOOHARD
r: say [Z*] [1..3] xx 2 12:11
p6eval rakudo 1fe39c: OUTPUT«1 4 9␤»
flussence wow.
zhutingting »ö« 12:12
GlitchMr perl6: [*] 1..3 xx 2 12:15
p6eval rakudo 1fe39c, niecza v19-13-g442e075: ( no output )
GlitchMr perl6: say [*] 1..3 xx 2
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«2␤»
GlitchMr perl6: say 1..3 xx 2
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«1..2␤»
GlitchMr perl6: say [1, 2, 3] xx 2
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«1 2 3 1 2 3␤»
GlitchMr perl6: say [*] [1, 2, 3] xx 2
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«9␤»
GlitchMr perl6: say [*] ([1, 2, 3] xx 2) 12:16
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«9␤»
timotimo perl6: say [*] [1, 2, 3, 1, 2, 3]
p6eval niecza v19-13-g442e075: OUTPUT«1 2 3 1 2 3␤»
..rakudo 1fe39c: OUTPUT«6␤»
timotimo ... huh? 12:17
moritz rakudo forces numeric context
niecza doesn't
timotimo ok
perl6: say ([1, 2, 3] xx 2).perl
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«([1, 2, 3], [1, 2, 3]).list␤»
GlitchMr perl6: say [*] ([1, 2, 3] xx 2).flat
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«9␤»
GlitchMr So, 3 * 3 12:18
... ok...
timotimo perl6: say ([1, 2, 3] x 2).perl
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«"1 2 31 2 3"␤»
timotimo ah
moritz observes that .flat doesn't do what people expect it to
GlitchMr x is string multiplication
timotimo yup, saw that
moritz rn: say ((1, 2), (3, 4), [5, 6]).flat.perl
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«(1, 2, 3, 4, [5, 6]).list␤»
flussence r: say [»+] # the weird thing is rakudo seems to know what this should look like, but not what it is
p6eval rakudo 1fe39c: OUTPUT«===SORRY!===␤Missing « or »␤at /tmp/sozVbTcHCO:1␤»
GlitchMr say [*] 1, 2, 3, 1, 2, 3 12:19
perl6: say [*] 1, 2, 3, 1, 2, 3
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«36␤»
moritz .flat only flattens stuff that list assignment would flatten anyway
flussence n: say [»*«] [1..3] xx 2
p6eval niecza v19-13-g442e075: OUTPUT«36␤»
flussence er.
moritz note that hypers descend into substructures 12:20
12:20 fgomez joined
flussence oh, ok 12:20
niecza++ # tolerating my insane code 12:22
GlitchMr perl6: say pick 50 12:23
p6eval rakudo 1fe39c: OUTPUT«Nil␤»
..niecza v19-13-g442e075: OUTPUT«␤»
GlitchMr perl6: (1..6).pick(70).say 12:24
p6eval rakudo 1fe39c: OUTPUT«1 6 5 4 2 3␤»
..niecza v19-13-g442e075: OUTPUT«6 3 4 1 5 2␤»
moritz they.. differ. BUG! 12:25
GlitchMr So, I guess it's better to do anything then fail
than*
perl6: Exception.new('Sample exception').say 12:28
p6eval rakudo 1fe39c: OUTPUT«Default constructor only takes named arguments␤ in method new at src/gen/CORE.setting:598␤ in block <anon> at /tmp/C2wo6aWKRJ:1␤␤»
..niecza v19-13-g442e075: OUTPUT«===SORRY!===␤␤Undeclared name:␤ 'Exception' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1402 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤ at /h…
moritz ain't not what the exception API is like :-) 12:29
jnthn
.oO( If that worked, it'd be an exception to the norm )
12:31
GlitchMr Perhaps we should have documentation exceptions
12:31 zhutingting1 joined
moritz GlitchMr: what makes you think we haven't? 12:31
GlitchMr My first guess didn't worked
12:32 jaldhar left
GlitchMr documentation for exceptions* 12:32
12:32 zhutingting left
GlitchMr There is .throw for a reason 12:32
moritz GlitchMr: we have both S32::Exception and doc.perl6.org/type/Exception and doc.perl6.org/type/X::AdHoc
zhutingting1 r: raw.github.com/perl6/perl6-example...al/lazy.pl 12:34
p6eval rakudo 1fe39c: OUTPUT«===SORRY!===␤Confused␤at /tmp/zF6yJeID82:1␤»
arnsholt moritz++ # eliminating nqp_dyncall.ops warnings 12:35
12:35 SamuraiJack left
arnsholt That improved things *a lot*. Thanks =) 12:36
moritz arnsholt: you're welcome
arnsholt: it seems that the C code generated from the .ops contains the code several times
so you see each warning about 4 times or so
zhutingting1 r: gist.github.com/3096456
tadzik r: my $a; $a = do if 5 > 0 { 7 } else { 4 }; say $a
p6eval rakudo 1fe39c: OUTPUT«3␤»
rakudo 1fe39c: OUTPUT«7␤»
12:38 SamuraiJack joined
arnsholt Yeah, I'm not entirely sure why, but I think it's related to type polymorphism of ops 12:38
moritz aye
12:40 zhutingting1 left 12:42 am0c_ left, zhutingting1 joined 12:47 birdwindupbird left
kresike bye all 12:50
12:50 kresike left
jnthn arnsholt: If you know an op will always be called with something in a register, not something that's a constant, you can use invar rather than in. 12:52
12:53 daniel-s__ joined
jnthn arnsholt: While will cut down on the generated ops. 12:53
*which
12:57 daniel-s left
moritz so, for n 'in' params, does it generate 2**n in/invar combinations? 12:58
12:59 PacoAir joined 13:00 zhutingting1 left
jnthn moritz: yes /o\ 13:03
moritz
.oO( 3 in params should be enough for anybody! )
13:04
jnthn 3 already gets you an '8ful number of permutations 13:05
13:05 mucker left 13:07 mucker joined
moritz jnthn: but I guess only str/int/num are treated that way, because PMCs can't be constants anyway? 13:10
13:10 spider-mario joined
jnthn It applies to PMCs there 13:12
*too
There are constant PMCs, like Sub and LexInfo, that get persisted.
"constant"
But most instructions (like the ones in dyncall) never encounter these 13:13
moritz ok, so I'll change the PMC args in dyncall to invar 13:14
jnthn I bet nqp.ops could get some invar love too
13:20 fgomez left
moritz with patch: 2838 lines in the generated C file. Without: 5470 13:20
13:21 fgomez joined
moritz and 1284 when the patch is done right :-) 13:22
13:23 JimmyZ left, birdwindupbird joined
tadzik wow 13:24
eiro_ hello everyone
tadzik hey eiro_
moritz and that touches only the PMC in's
eiro/
jnthn moritz++
moritz r: say 5470 / 1284 13:25
p6eval rakudo 1fe39c: OUTPUT«4.260125␤»
arnsholt jnthn: For the time being, I'll trust your decisions on how the ops should look =) 13:26
dalek p: c1197a5 | moritz++ | src/ops/nqp_dyncall.ops:
[dyncall ops] mark in PMCs as invar

this reduces the size of the generated C code by a factor > 4, and the PMCs cannot reasonably be constants anyway
arnsholt But I'll try to keep that in mind
flussence r: say 1 ZXZXZXZXZX 2 # curious if this still has exponential slowdown 13:27
p6eval rakudo 1fe39c: OUTPUT«1 2␤»
arnsholt Heh. Or not ^_^
flussence r: say 1 ZXZXZXZXZXZXZXZXZXZXZX 2
p6eval rakudo 1fe39c: OUTPUT«1 2␤»
flussence whoa
13:27 skids joined
flussence looks like that's been fixed :) 13:28
r: say 1 ZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZX 2
p6eval rakudo 1fe39c: OUTPUT«1 2␤»
moritz jnthn: and any in PMC that's supposed to a 6model object can't be a constant in any case, right?
jnthn moritz: right
13:30 JimmyZ joined
moritz $ wc -l src/ops/nqp_ops.c 13:31
22622 src/ops/nqp_ops.c
jnthn moritz: That's what it is today, before you go hacking? 13:32
moritz jnthn: correct 13:33
only 2.3k lines down atm :-)
13:35 alvis joined 13:36 cognominal left
arnsholt jnthn: github.com/perl6/nqp/blob/master/s...l.ops#L567 On 569 and 570, should the arg_types[i] be & DYNCALL_ARG_TYPE_MASK, in case the FREE_STR flag is set? 13:36
jnthn arnsholt: hmm. Looks like :) 13:41
arnsholt Thought so. I'll fix it while I refactor the unmarshaling code
13:42 whiteknight joined, wknight8111 joined
hoelzro is there a good shortcut for creating a Pair with a block as its value? I've been doing foo => -> $x, y { ... } 13:43
and that looks funny
13:43 whiteknight is now known as Guest76595
tadzik you can do :foo(-> $x, $y { ... }) 13:43
not that it doesn't look funny :P
hoelzro tadzik: that's slightly better... 13:45
but not much =)
13:48 mikemol_ joined 13:52 benabik left
jnthn If it's a very short block, there's always placeholders. 13:55
hoelzro jnthn: hmm? 13:56
jnthn The $^x things
r: my $x = a => { $^x + $^y }; say $x.value().(1,2) 13:57
p6eval rakudo 1fe39c: OUTPUT«3␤»
hoelzro oh, right 13:59
moritz r: my $x = :a{$^x + $^y}; say $x.value().(1,2)
p6eval rakudo 1fe39c: OUTPUT«3␤»
hoelzro I'm not sure I care for those...
jnthn I only reach for them in very short blocks 14:00
(like, ones that will fit on one line or so) 14:01
arnsholt Hmm. The string unmarshaling code is hard to refactor
jnthn I blame the guy who wrote it.
arnsholt jnthn: VTABLE methods are expensive, right?
jnthn arnsholt: erm....overridden ones are. 14:02
(as in, PIR-overridden)
arnsholt Hmm
The problem is that the string unmarshaling at present does two different things:
1) The actual unmarshaling, and 2) tracking strings that need to be freed after the call is done 14:03
moritz r: say 22622/12876 14:04
p6eval rakudo 1fe39c: OUTPUT«1.756912␤»
14:05 thou joined
arnsholt And untangling the two means I'll likely risk adding some strings to the list that shouldn't be 14:05
But I might be able to do it properly if I tweak the logic in NativeCall.pm6 14:06
[Coke] phenny: tell au please review github.com/perl6/Pugs.hs/commit/e7...067c8c12f2 especially. 14:08
phenny [Coke]: I'll pass that on when au is around.
14:10 kaleem left
[Coke] is surprised how much he can do with pugs without actually knowing any haskell. ;) 14:11
colomon au++
14:12 cognominal joined, zhutingting joined
moritz r: say 22622/9022 14:14
p6eval rakudo 1fe39c: OUTPUT«2.507426␤»
bbkr1 r: role Plugin { method foo { say "foo" }; method bar { say "bar" } }; class A { has $.plugin handles /f/ = Plugin.new }; A.new.foo; A.new.bar 14:15
p6eval rakudo 1fe39c: OUTPUT«foo␤No such method 'bar' for invocant of type 'A'␤ in block <anon> at /tmp/LJZlAkY8pG:1␤␤»
bbkr1 \o/
best AUTOLOAD replacement ever :) 14:16
14:17 zhutingting left
[Coke] that is pretty nifty. 14:18
jnthn Why is Plugin a role there, ooc? :) 14:20
bbkr1 because I'm superlazy. from words "class" and "role" second one is shorter and provide methods :) 14:22
[Coke] is pretty sure bbkr1 just blew his typing savings explaining that one
flussence how would you delegate methods without defining them in the class first, say for a method call logging proxy class? 14:23
[Coke] moritz++ - hey, now I get gather/take.
14:24 tokuhiro_ joined 14:25 MayDaniel joined
bbkr1 flussence: ^add_fallback( sub { True}, sub {$object, $name} { my_log($name); my_delegate($object, $name) } ) ? 14:26
sub ($object, $name) * 14:28
jnthn Alternatively see the aspects stuff I demonstrated in my meta-programming talk :)
14:29 fhelmberger left 14:31 zhutingting joined 14:32 sudokode joined 14:33 birdwindupbird left
moritz [Coke]: :-) 14:34
14:36 GlitchMr42 joined, GlitchMr left
arnsholt It's at times like this I wish C had values() for returning stuff 14:36
14:37 GlitchMr42 is now known as GlitchMr 14:45 wtw left 14:46 benabik joined
arnsholt Screw it. Output parameters it is 14:46
14:50 prettyrobots joined
jnthn decommute & 15:00
15:05 JimmyZ left 15:08 JimmyZ joined, alester joined 15:20 mikemol_ left 15:23 JimmyZ left, thelazydeveloper joined
[Coke] jnthn: how can you be home already! I have not even had 2 cups of coffe yet! 15:25
[Coke] fixes that! 15:28
diakopter commutes, mostly to find coffee
masak coffee: the reason to go to work. 15:29
sjohnson heh 15:30
beer: the reason to home after work
15:30 tokuhiro_ left 15:31 tokuhiro_ joined
[Coke] sjohnson++ 15:31
15:35 tokuhiro_ left
masak yes, it's the natural coffee-beer cycle of the work day. 15:36
[Coke] mmmhehehe. 15:38
colomon drinks neither coffee nor beer. 15:39
[Coke] ಠ_ಠ
. o O (just kidding. I love that emoticon, though. ;) 15:40
masak .u ಠ
phenny U+0CA0 KANNADA LETTER TTHA (ಠ) 15:41
masak that is a lovely script.
so cute!
15:42 kurahaupo left
daxim masak, p3rl.org/Acme::Emoticarp 15:42
hoelzro =) 15:43
I like how that's my most popular module
=/
masak heh.
hoelzro++
flussence .u a5af 15:45
phenny U+A5AF VAI SYLLABLE ZHU (ꖯ)
flussence here, have a rabbit
au .u ೫̎ 15:48
phenny U+0CEB KANNADA DIGIT FIVE (೫)
U+030E COMBINING DOUBLE VERTICAL LINE ABOVE (◌̎)
U+0020 SPACE ( )
au: 14:08Z <[Coke]> tell au please review github.com/perl6/Pugs.hs/commit/e7...067c8c12f2 especially.
jnthn home
[Coke]: Timezones! :)
[Coke]: Clearly European timezones are awesome because we get to go home from work earlier. :) 15:50
15:52 hoelzro is now known as hoelzro|away 15:54 sergot1 joined 15:55 thou left, sergot left 15:58 kurahaupo joined 16:00 sergot1 is now known as sergot 16:08 Coleoid joined 16:20 zby_home_ joined
arnsholt r: sub x(&cb(int --> int)); say &x.signature.params[0].^methods; 16:22
p6eval rakudo 1fe39c: OUTPUT«===SORRY!===␤Missing block␤at /tmp/tTPx7i9mQB:1␤»
arnsholt r: sub x(&cb(int --> int)) { * }; say &x.signature.params[0].^methods; 16:23
p6eval rakudo 1fe39c: OUTPUT«No such method 'gist' for invocant of type 'Sub'␤ in method gist at src/gen/CORE.setting:4604␤ in sub say at src/gen/CORE.setting:6980␤ in block <anon> at /tmp/gX4Sdf15TT:1␤␤»
arnsholt r: sub x(&cb(int --> int)) { * }; say &x.signature.params[0].type.^methods; 16:24
p6eval rakudo 1fe39c: OUTPUT«of returns␤»
arnsholt r: sub x(&cb(int --> int)) { * }; say &x.signature.params[0].type.returns;
p6eval rakudo 1fe39c: OUTPUT«Mu()␤»
arnsholt r: sub x(&cb(int --> int)) { * }; say &x.signature.params[0].type.of;
p6eval rakudo 1fe39c: OUTPUT«Mu()␤»
arnsholt Bah. 16:25
jnthn: Any suggestions on how to get the callback's signature? 16:26
jnthn r: say Parameter.^methods 16:27
p6eval rakudo 1fe39c: OUTPUT«No such method 'gist' for invocant of type 'Sub'␤ in method gist at src/gen/CORE.setting:4604␤ in sub say at src/gen/CORE.setting:6980␤ in block <anon> at /tmp/Xtt87AzM5O:1␤␤»
jnthn grr
r: say Parameter.^method_table.keys
p6eval rakudo 1fe39c: OUTPUT«Unmarshallable foreign language value passed for parameter '$value'␤ in method new at src/gen/CORE.setting:5873␤ in block <anon> at src/gen/CORE.setting:5998␤ in sub coro at src/gen/CORE.setting:5202␤ in method reify at src/gen/CORE.setting:5183␤ in method rei…
jnthn wow
:/
r: sub foo(&cb(int, num)) { }; say &foo.signature.params[0].signature 16:28
p6eval rakudo 1fe39c: OUTPUT«No such method 'signature' for invocant of type 'Parameter'␤ in block <anon> at /tmp/ylhDtFu9Be:1␤␤»
jnthn r: sub foo(&cb(int, num)) { }; say &foo.signature.params[0].subsignature
p6eval rakudo 1fe39c: OUTPUT«No such method 'subsignature' for invocant of type 'Parameter'␤ in block <anon> at /tmp/KzFr63qpay:1␤␤»
jnthn r: sub foo(&cb(int, num)) { }; say &foo.signature.params[0].sub_signature
p6eval rakudo 1fe39c: OUTPUT«No such method 'sub_signature' for invocant of type 'Parameter'␤ in block <anon> at /tmp/2dPxttCZty:1␤␤»
jnthn bah, I'll go look at the code :)
16:28 MayDaniel left
masak .oO( what if you wrote an API so inscrutable that not even you could remember it? ) :P 16:28
jnthn D'oh. We don't actually have a method that exposes it...
arnsholt Oh. That explains it =) 16:29
moritz I think you can find it via the constraints
I made an example the other day
r: sub foo(&cb(int, num)) { }; say&foo.signature.params[0].constraint_list.perl 16:30
p6eval rakudo 1fe39c: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with no arguments (line 1)␤ Expected: :(&cb :(int , num ))␤»
moritz r: sub foo(&cb(int, num)) { }; say &foo.signature.params[0].constraint_list.perl
p6eval rakudo 1fe39c: OUTPUT«()␤»
moritz r: sub foo(&cb(Int, Num)) { }; say &foo.signature.params[0].constraint_list.perl 16:31
p6eval rakudo 1fe39c: OUTPUT«()␤»
moritz hm :(
16:34 ANI joined
ANI ASL 16:35
jnthn I don't think it lives in the constraints.
ANI WHAT DO U MEAN
masak ANI: hi there. welcome to #perl6. 16:36
ANI: this might be the first time ever someone has done "ASL" in here. we're not so used to it :)
ANI: but please, stick around. pull up a chair and make yourself comfortable.
jnthn It's a type of net connection, right? Oh, wait, that's ADSL... :)
tadzik Asymetric Subscriber Line
masak ANI: I'm sure people will tell you their age, sex, and location in due time :) 16:37
tadzik supposedly it's analog
16:37 godfrey999 left
masak ANI: if you could switch to lowercase, I think that would be widely appreciated, too ;) 16:37
well, except for the work "I", which is fine uppercase.
word*
ANI I HAVE JUST DOWNLODED THIS PROGRAM U WANT TO CHAT OR NOT 16:39
masak everyone: time to kick?
ANI BUY
masak o/ 16:40
16:40 ANI left
masak come back anytime. 16:40
jnthn SELL!!!!
huf what a strange person.
masak nah; just young.
and inflexible.
tadzik heh
I was in the middle of writing "67, male, Wyoming. What are you wearing?" when masak came about :) 16:41
masak hah
huf tadzik: what about your robe and wizard hat?
tadzik huf: I saved that for dessert 16:42
huf om nom i've always loved the taste of textiles 16:43
daxim tadzik, pbfcomics.com/archive_b/PBF145-Nunez.jpg 16:46
tadzik :P
16:51 daxim left 16:55 bbkr1 left
tadzik did someone break rakudobuild recently? 16:57
moritz I hope not :-) 16:58
tadzik well, I have some bad news :) 17:02
dalek p: 344b6ca | moritz++ | src/ops/nqp.ops:
[nqp ops] invar annotations

reduces size of generated C code by a factor 2.5
tadzik moritz: do you happen to have removed some #include in the process?
gist.github.com/3137480 17:03
jnthn MutableVAR? 17:05
wtf, we don't even have that PMC in Rakudo today 17:06
tadzik: Which branch/commit are you on? :)
17:06 dakkar left
tadzik jnthn: master, HEAD, master, HEAD 17:06
oh, wait 17:07
mast...argh
jnthn You still have a master branch locally to check out? :)
tadzik apparently
17:10 Bzek joined 17:14 GlitchMr left 17:15 Coleoid left 17:16 Telgalizer joined, fgomez left, fgomez joined, fgomez left 17:17 GlitchMr joined, fgomez joined 17:18 Telgalizer left 17:19 GlitchMr left 17:22 wknight8111 left
dalek nda/offline-bootstrap: 2167d8b | tadzik++ | bin/panda:
Fix installing into the default location
17:23
17:23 Guest76595 left 17:24 supernovus joined
supernovus Good * #perl6 17:24
tadzik hello supernovus 17:26
17:26 GlitchMr joined
tadzik panda install ufo 6.01s 17:27
acceptable :)
supernovus Just testing the rewrite of the build-project-list.pl, when it successfully builds an index.html and proto.json I'll commit the changes. 17:28
tadzik did you rewrite it into Perl 6?
supernovus tadzik: No. It's still in Perl 5. As far as I know, there are no SSL/https libraries for Perl 6 yet (or am I mistaken?)
tadzik there is no that I know of 17:29
but that's funny, since me and sergot are just crancking out a Perl 6 version of this anyway :P
supernovus Ah. I'd love to tackle it and to port its template from HTML::Template to Template6 while I was at it, but with no SSL support, the GitHub API is unaccessable. 17:31
dalek href="https://modules.perl6.org:">modules.perl6.org: e0df403 | (Timothy Totten)++ | / (7 files):
Rewrote build-project-list.pl. It uses the Github v3 API now.
17:33
supernovus I guess it could be done very easily in Perl 6, if we assume its only being run on a Linux machine, with access to say "curl" or "wget" and use an external download tool (possibly with a friendly wrapper library to make common things "just work") 17:37
17:38 GlitchMr left 17:39 MayDaniel joined, GlitchMr joined
arnsholt jnthn: How hard would it be to expose the callback signatures to Perl code, d'you think? 17:41
Mostly a question of Rakudo hacking, or more invasive surgery? 17:42
jnthn arnsholt: Oh, sorry...shoulda said. It's just an accessor method I think.
arnsholt Ah, spiffy! 17:43
jnthn arnsholt: The attribute it's in is $!sub_signature 17:44
[Coke] libcurl!
jnthn arnsholt: So if you add an introspection method to Parameter.pm, you should be good to go. 17:45
S06 doesn't seem to have a name for it.
sorear good * #perl6
arnsholt jnthn: Cheers!
masak sorear! \o/
jnthn oh, it does
.signature
o/ sorear
arnsholt .signature perhaps, for symmetry with Routine?
Right. We're in agreement =)
masak seems as good a name as any to me :)
jnthn Well 17:46
It does have a problem.
It's ambiguous with "the signature I was declared in"
(but we don't actually store a backlink like that at the moment)
Anyway, s06 says
signature A nested signature to bind the argument against 17:47
So let's go with that.
arnsholt Sounds good to me
jnthn
.oO( hmm, I wonder if I wrote this bit of S06... )
17:48
tadzik r: for <> -> $a { $_.a } 17:49
p6eval rakudo 1fe39c: OUTPUT«===SORRY!===␤Unsupported use of <>; in Perl 6 please use lines() to read input, ('') to represent a null string or () to represent an empty list␤at /tmp/b8jCsiB1ve:1␤»
tadzik r: for <a> -> $a { $_.a }
p6eval rakudo 1fe39c: OUTPUT«No such method 'a' for invocant of type 'Any'␤ in block <anon> at /tmp/bAFOgPXfEi:1␤␤»
tadzik oh hm
somehow I managed to get NPA locally this way, and was hoping to participate in the "shortest code producing NPA" contest
supernovus Well, looks like the custom logos are back, as well as most of the badges other than the "fresh" badge. I must have missed something.
tadzik supernovus++ 17:50
17:50 zhutingting left
tadzik r: for <a> -> $a { eval "$_.a" } 17:51
p6eval rakudo 1fe39c: OUTPUT«use of uninitialized value of type Any in string context in block <anon> at /tmp/aeE03WseCe:1␤␤No such method 'a' for invocant of type 'Any'␤ in block <anon> at eval_0:1␤ in <anon> at eval_0:1␤ in sub eval at src/gen/CORE.setting:486␤ in block <anon> at /tmp/a…
tadzik dang
r: my $a = sub { for @^a -> $a { eval "$_.a" } }; $a.(<a>)
p6eval rakudo 1fe39c: OUTPUT«use of uninitialized value of type Any in string context in sub <anon> at /tmp/PaSnvoHzh6:1␤␤No such method 'a' for invocant of type 'Any'␤ in block <anon> at eval_0:1␤ in <anon> at eval_0:1␤ in sub eval at src/gen/CORE.setting:486␤ in sub <anon> at /tmp/PaSnv…
tadzik ok, I give up
17:51 mucker left
dalek href="https://modules.perl6.org:">modules.perl6.org: 3a3e5f8 | (Timothy Totten)++ | web/lib/P6Project/Hosts/Github.pm:
Whoops, missed that.
17:52
17:53 MayDaniel left 17:54 am0c_ joined
[Coke] p: eval 'print $]' :lang<perl5> 17:58
p6eval pugs: OUTPUT«Error eval perl5: "sub { use ops (':default', 'binmode', 'entereval');my ($lang, $code) = @_;print $]␤}"␤*** 'print' trapped by operation mask at (eval 2) line 2.␤␤Can't locate object method "" via package "perl5" (perhaps you forgot to load "perl5"?).␤»
[Coke] p: eval '$]' :lang<perl5>
p6eval pugs: ( no output )
[Coke] p: say (eval '$]' :lang<perl5>)
p6eval pugs: OUTPUT«5.014002␤»
[Coke] au++ 18:00
tadzik who 18:02
[Coke] how 18:05
tadzik wow
18:08 nodmonkey joined
[Coke] oww. 18:09
18:09 zby_home_ left 18:10 zby_home_ joined 18:11 seldon joined
tadzik r: "gitfoo".subst(/^git/, 'http') 18:12
p6eval rakudo 1fe39c: ( no output )
tadzik r: "gitfoo".substr(/^git/, 'http')
p6eval rakudo 1fe39c: OUTPUT«No such method '!cursor_start' for invocant of type 'Int'␤ in regex <anon> at /tmp/7_jQ9z05cg:1␤ in method substr at src/gen/CORE.setting:3512␤ in block <anon> at /tmp/7_jQ9z05cg:1␤␤»
tadzik LTA error message
colomon n: "gitfoo".substr(/^git/, 'http')
p6eval niecza v19-13-g442e075: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤ at Anon.1.Run.MAIN.C1ANON (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤ at Niecza.Kernel.RunCore (Niecza.Frame& cur) [0x00000] in <filename unknown…
[Coke] p: "gitfoo".substr(/^git/, 'http') 18:13
p6eval pugs: OUTPUT«*** Cannot cast from VRule (MkRulePGE {rxRule = "^git", rxGlobal = False, rxStringify = False, rxAdverbs = VUndef}) to Double (VNum)␤ at /tmp/nMjdz4fYuW line 1, column 1 - line 2, column 1␤»
[Coke] I win! ;)
tadzik haha :) 18:14
masak "LTAest error" 18:19
supernovus And, after a refresh, modules.perl6.org has the "fresh" badge again. So, everything seems to be good. 18:20
tadzik yay! 18:22
18:23 fgomez left, fgomez joined
GlitchMr eval: say 1, 2, 3, 4 »!%%» 2 18:23
buubot_backup GlitchMr: ERROR: Unrecognized character \x{bb}; marked by <-- HERE after , 2, 3, 4 <-- HERE near column 54 at (eval 20) line 1.
[Coke] supernovus++
GlitchMr I guess that means I have to somehow configure my IRC client to send Unicode 18:24
masak supernovus++
GlitchMr I know that my terminal supports Unicode, but I think that IRC client sends this as ISO-8859-1 for some reason
eval: say 1, 2, 3, 4 »!%%» 2 # ł
buubot_backup GlitchMr: ERROR: Unrecognized character \x{bb}; marked by <-- HERE after , 2, 3, 4 <-- HERE near column 54 at (eval 20) line 1.
GlitchMr huh?
eval: say 1, 2, 3, 4 »!%%» 2 18:26
buubot_backup GlitchMr: ERROR: Unrecognized character \x{bb}; marked by <-- HERE after , 2, 3, 4 <-- HERE near column 54 at (eval 20) line 1.
GlitchMr ...
tadzik tjs.azalayah.net/foo.html generated with Perl 6 :)
sergot++
masak GlitchMr: when you say '...', the rest of us have to guess at why you are confused. it's less than helpful of you. 18:27
sergot \o/
masak GlitchMr: this looks like an encoding issue to me. I mean besides the fact that you're calling Perl 5, not Perl 6.
sergot++ 18:28
18:29 snearch joined 18:30 Bzek left
GlitchMr perl6: eval: say 1, 2, 3, 4 »!%%» 2 18:32
p6eval rakudo 1fe39c: OUTPUT«===SORRY!===␤Confused␤at /tmp/uE1qdXvzgt:1␤»
..niecza v19-13-g442e075: OUTPUT«123False␤»
GlitchMr perl6: eval: say (1, 2, 3, 4) »!%%» 2
p6eval niecza v19-13-g442e075: OUTPUT«True False True False␤»
..rakudo 1fe39c: OUTPUT«===SORRY!===␤Confused␤at /tmp/LdXKvN7IBL:1␤»
GlitchMr perl6: say (1, 2, 3, 4) »!%%» 2
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«True False True False␤»
GlitchMr ok :) 18:33
18:34 MayDaniel joined
[Coke] GlitchMr: ... 18:34
supernovus tadzik++ 18:39
Is the code for the Perl 6 version on github yet? 18:40
sergot++
GlitchMr Just wondering, how can I install panda? 18:41
Oh, I see
18:42 vmspb joined 18:43 BinGOs left 18:44 BinGOs joined 18:46 SHODAN joined
arnsholt spectests 18:51
18:54 thou joined 18:58 supernovus left 19:01 thou left 19:09 GlitchMr left 19:17 adu left 19:22 snearch left 19:25 nodmonkey_ joined 19:26 atrodo_ joined, kcwu_ joined, atrodo_ left, mauke left 19:27 mauke joined, arnsholt_ joined 19:28 xdbr__ joined, shachaf_ joined, snearch joined 19:29 Timbus|Away joined, awwaiid_ joined, BooK_ joined, Util_ joined, sorear_ joined, snarkyboojum_ joined, ranguard_ joined, estrai_ joined, huf_ joined, sirrober1 joined 19:30 sorear left, sorear_ is now known as sorear 19:34 nodmonkey left, snarkyboojum left, awwaiid left, sirrobert left, atrodo left, Timbus left, dbr left, jevin left, FireFly left, huf left, kcwu left, shachaf left, Timbus|Away is now known as Timbus, nodmonkey_ is now known as nodmonkey, jevin_ joined 19:35 zb joined, atrodo joined
[Coke] +# 07/18/2012 - rakudo++ (22932); niecza (89.77%); pugs (40.01%) 19:36
whoops. 19:37
jnthn ooh, pugs edges over 40% again! :) 19:38
masak \o/ 19:39
[Coke] pugs was up at 44.63% at one point. 19:40
for 3 days back in April. ;)
19:40 Effilry joined
[Coke] ... but for those 3 days we were going against niecza, rakudo was borked. ;) 19:41
sorear :D 19:42
19:46 am0c_ left, buubot_backup joined, am0c_ joined 19:52 fhelmberger joined 19:55 patspam_ is now known as patspam 19:57 snearch left, fhelmberger left, thou joined 20:02 SamuraiJack left 20:03 am0c_ left 20:05 fhelmberger joined
masak lol, I blogged! strangelyconsistent.org/blog/talkin...-14yo-self 20:06
and it's not today's July post, which is forthcoming.
[Coke] with some surgical help from au, we can probably get to 50% in a few days.
masak [Coke]: I think so too.
the 60% and 70% will be progressively harder, though.
[Coke] yes. 20:07
20:08 am0c_ joined, nodmonkey left
skids r: my $f = 1; my $g; $g := do { my $h = $OUTER::f; my $i = { "$h/$f/$OUTER::f".say; } }; $f = 2; $g(); $f.say; 20:10
p6eval rakudo 1fe39c: OUTPUT«use of uninitialized value of type Any in string context in block <anon> at /tmp/oifgHPCacV:1␤␤1/2/␤2␤»
mathw masak: good blog post
skids r: my $f = 1; my $g; $g := do { my $f = $OUTER::f; my $i = { "$f $OUTER::f".say; } }; $f = 2; $g(); $f.say; 20:12
p6eval rakudo 1fe39c: OUTPUT«1 1␤2␤»
20:13 crab2313 joined
masak mathw: oh, good, someone liked it. I was wondering whether it'd be interesting at all for someone except the intended recipient. :) 20:13
one thing that I would have added in retrospect is "Learn English. It's probably the most useful non-programming subject you can study. Not all good programmers know English really well, but all great ones I know do." 20:15
mathw I tend to regret that situation 20:16
it's to my advantage, since it's my native language, but it also removes my incentives to get truly fluent in anything else
20:17 birdwindupbird joined
mathw I think you give fairly good advice though 20:17
not the same as I would, but that's to be expected
masak :) 20:20
I'm curious to hear about the significant differences.
if you care to tell them.
mathw Well 20:21
I tend to emphasise that if you want to make a career out of it it helps a lot if you embrace the idea of learning continuously
Revel in it, love it, seek out new stuff and you'll always be on the cutting edge. Which is great for your code and your job prospects. 20:22
20:23 fhelmberger left
mathw My take on languages is that you have to know several kinds of language 20:23
A bit like you say, but my kinds are different
20:23 arnsholt_ is now known as arnsholt
mathw I think in terms of... hmm. Ordinary languages, pure languages and nasty languages 20:25
[Coke] jnthn: ah. this is the most # of spec tests pugs has passed, though, at 9177
mathw there are overlaps. I'd place Java in 'ordinary' but it's so relentlessly ordinary it's also kind of nasty. It's all very subjective, really, but I'll share your advice that you should learn several languages from different groups 20:27
masak :)
mathw I'd always recommend learning at least one which is as far away from the ones you already know as possible 20:28
masak hm, I've never needed to be told to learn continuously. it's just become increasingly apparent to me how important that is.
mathw if you learn Java, go learn Haskell or Scheme or Prolog (or all three)
masak I know it's not obvious to most, or people wouldn't be so afraid of learning stuff.
mathw yeah it's not obvious, but it is to people like us
I doubt you'd find anybody in here who'd be surprised by that
but we're a tad self-selecting 20:29
20:29 shachaf_ is now known as shachaf
sirrober1 learning to learn embraces the "meta-" of life. It's where depth and breadth come from. 20:29
20:29 shachaf left, shachaf joined
masak .oO( I HAVE JUST DOWNLODED THIS PROGRAM U WANT TO CHAT OR NOT ) 20:29
20:29 whiteknight joined 20:30 whiteknight is now known as Guest78123
flussence sees that and flinches slightly 20:30
mathw argh my eyes 20:34
sirrober1 in general is: $foo = Mu; the recommended way to undefine something generically?
masak sirrober1: or Any. or Str. or whatever is the type of $foo.
20:35 kaare_ left
masak r: my $foo; say $foo.^name 20:35
p6eval rakudo 1fe39c: OUTPUT«Any␤»
sirrober1 masak: ok, thanks
20:35 sirrober1 is now known as sirrobert 20:37 crab2313 left, crab2313 joined 20:40 seldon left 20:41 patspam left, patspam joined, seldon joined 20:42 Bzek joined 20:43 patspam left 20:44 patspam joined 20:46 lue joined
lue Hello world o/ 20:46
masak lue! \o/ 20:47
sorear hellue! \o/
20:48 prettyrobots left 20:50 prettyrobots joined
lue (It seems using a pregenerated CORE.setting.pir (actually the .pbc result) doesn't work, although I didn't use the same commits of parrot...) 20:51
benabik lue: .pbc files are more sensitive to Parrot version and architecture changes. .pir files should be independent. 20:52
lue Hm. Perhaps I should try modifying the Makefile so that making CORE.setting.pir and CORE.setting.pbc are separate targets (because just the .pir cause make to try to make the .pir anyway) 20:53
s/cause/causes/
moritz r: say Date.today.day-of-week 20:58
p6eval rakudo 1fe39c: OUTPUT«3␤»
moritz r: say (2012..2017 X 1..12).map(-> $y, $m { Date.new($y, $m, 13) }).grep(*.day-of-week == 5) 20:59
p6eval rakudo 1fe39c: OUTPUT«2012-01-13 2012-04-13 2012-07-13 2013-09-13 2013-12-13 2014-06-13 2015-02-13 2015-03-13 2015-11-13 2016-05-13 2017-01-13 2017-10-13␤»
mathw nice
masak :)
moritz++
mathw love the default stringification too 21:00
masak you're welcome.
oh wait, Date was entirely moritz++' fault :)
moritz blogs.perl.org/users/sawyer_x/2012/...ent-175266
masak FIXED IN PERL 6! :P
moritz well, I stole 99% of it from Date::Simple
mathw dates are hard 21:01
why re-invent it
:)
masak .oO( second dates are often easier )
mathw I would not want to write a date handling library
masak: yes, but I'm currently having trouble with the sixth one
masak I've never been on a sixth date.
mathw I have 21:02
with someone else, obviously
21:02 Effilry left, Effilry joined, Effilry is now known as FireFly
mathw else I would instead be having trouble with the 6+nth date 21:02
masak :) 21:03
are you currently on the sixth date? if so, *not IRC-ing* might be a pro tip :P
duh!
mathw I am not currently on the sixth date
masak oh, ok :)
[Coke] has only ever been on one sixth date. 21:04
mathw is now 'debating' the relative readability of the friday the 13th code in Perl 6 compared to doing it in C# 21:06
21:06 skids left
mathw but I think it's not going anywhere because he's one of these people who assumes it's more readable when it's in a language he knows 21:06
and also that readability is objective 21:07
masak if it's readable *for you*, then that's still a positive trait of the language and the piece of code. 21:08
moritz you can write it with nested loops in p6 too 21:09
mathw moritz: we were discussing doing it with LINQ
moritz and I refrained from using the series operator :-)
mathw which the Perl 6 code definitely resembles, apart from the easier cartesian product and range operators, and the lighter anonymous function syntax
masak when I see that problem, my first thought is "sequence intersection". maybe it's just me. 21:10
mathw spoke like a true lazy list programmer :)
masak I want to write it as `@fridays ∩ @thirteens`
mathw ah well, I think the debate is now over as he's gone back to enthusing about the puppy he's getting on saturday :) 21:11
masak puppy! <3
moritz n: say Date.today
p6eval niecza v19-13-g442e075: OUTPUT«===SORRY!===␤␤Undeclared name:␤ 'Date' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1402 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤ at /home/p…
moritz r: say Set.new(1, 2) ∩ Set.new(2, 3)
p6eval rakudo 1fe39c: OUTPUT«===SORRY!===␤Confused␤at /tmp/_EOfphv1n2:1␤»
masak :( 21:12
those ops are not defined in Rakudo, methinks.
moritz aye :(
lue They're not even specced, IIRC 21:13
mathw use Set::Operators;
sorear masak: if you need 9 lines of Perl and 10 minutes to find fri 13's in the next few years, you're doing it wrong. or n in $(seq 1 2000); do date -d "$n days"; done | grep 'Fri ... 13'
mathw masak: the puppy is a chocolate brown cocker spaniel. I saw a picture. Very cute. 21:14
masak sorear: indeed.
mathw there are many ways to do it
21:14 birdwindupbird left
masak sorear: have you seen the review of some literal code Knuth wrote with the same conclusion? 21:14
mathw clearly the only perfect solution is in SQL :)
flussence please steal my code and make it work :) github.com/flussence/Mathematical-Operators
mathw -> bed
masak sorear: basically "this is very nice, but, um, <unix command | other unix command>" 21:15
sorear also, it seems ot not be widely known that in Bourne shells you can use for loops in pipelines 21:16
masak: context: your blog got linked on #sandiego.pm
masak my blog? 21:17
I think I lost context by learning that :)
what does my blog have to do with Friday the 13th? 21:18
sorear strangelyconsistent.org/blog/talkin...-14yo-self
masak ok, nice. 21:19
sorear masak: was this thing a Knuthreview or a review of Knuthcode
masak it was a review of a small piece of literal code Knuth wrote in order to demo literal programming.
the reviewer said "nice, but possibly way overkill since my Unix does this with one line of pipe" 21:20
sorear do you mean literate programming?'
masak that I do. hm, I got it wrong twice. 21:21
I must be tireder than I feel :) 21:22
21:26 vmspb left 21:40 am0c_ left 21:47 MayDaniel left 21:50 am0c_ joined 21:59 mtk left 22:03 zby_home_ left 22:07 crab2313 left 22:08 thou_ joined, thou left 22:11 PacoAir left
masak July blog post coming up. stand by. 22:12
jnthn I'm tired...can I sit by?
masak NO! :) 22:14
lol! \o/ strangelyconsistent.org/blog/july-1...-the-grass
22:15 seldon left
masak the crypt game now has 100 tests. 22:16
Tene :D 22:17
Very nice.
masak it will probably have 200 before the month is over. 22:18
22:29 Seganku joined 22:32 thou_ left, crab2313 joined
masak Seganku: welcome. 22:32
Seganku ty 22:36
masak rn: say "hi from Rakudo and Niecza, too! :)" 22:37
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«hi from Rakudo and Niecza, too! :)␤»
22:37 betterworld joined
masak rn: class Greeter { method greet($nick) { say "and hi $nick from a Perl 6 class!" } }; Greeter.greet("Seganku") 22:37
sergot uhh, that was a hard day. :)
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«and hi Seganku from a Perl 6 class!␤»
sergot Time to sleep. :) 22:38
Good night! o/
22:40 sergot left
masak dobranoc, sergocie. 22:42
22:43 skids joined 22:44 betterworld left 22:47 alester left
lue Apparently using a premade CORE.setting.pir causes a problem with a "missing or wrong version" of BOOTSTRAP.pm... 23:02
23:02 gdonald left
lue (when attempting to make RESTRICTED.setting.pir, that is) 23:02
masak in what situation does this occur for you? 23:06
lue (In the toqast branch, by the way). I'm attempting to take a CORE.setting.pir file generated on feather and use on my machine, because generating that is by far the longest step, and tends to not work for me) 23:07
23:08 thelazydeveloper left
lue I restarted my computer just for that step (which gives it a better chance of working) last night, but about an hour or so into it my impatience got me and I asked about this cheat here. 23:10
masak ah. 23:24
I've only tried to make that branch the conventional way. 23:25
lue I wonder how far along it would go if I started the CORE.setting.pir generation tonight and left it running (after a reboot, of course) 23:27
23:30 crab2313 left
masak good night, #perl6 23:44
23:46 supernovus joined
supernovus Still in the planning stages, but would anyone be interested in this: github.com/supernovus/perl6-www-app-easy 23:47
23:48 betterworld joined
supernovus anyway, gotta run, maybe this weekend I'll make an initial version of WWW::App::Easy 23:51
23:51 supernovus left, zhutingting joined 23:54 raiph joined
raiph hi #perl6 23:54
[Coke] hi, raiph 23:56
raiph some folk have said they are using p6 in a biz setting. recently on this channel. anyone remember who? 23:59