»ö« 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:02
donaldh joined
00:03
pjcj_ is now known as pjcj
00:04
donaldh left
00:08
felliott left
00:10
felliott joined
00:11
felliott_ joined,
felliott left,
felliott_ is now known as felliott,
phenny joined
00:14
sji left
00:15
felliott left
00:17
donri joined
|
|||
donri | why does ([+]0,1...*)[10] hang? | 00:18 | |
benabik | donri: Because ([+]0,1...*) asks for the sum of all numbers between 0 and infinity. | 00:19 | |
donri | well i get why but is that per spec or just rakudo not fully lazy? | ||
00:19
cosimo_ joined,
cosimo_ left
|
|||
jnthn | You're asking it to add up the numbers to infinity. | 00:20 | |
It's not a bug - it's just doing what you asked. ;) | |||
benabik | Did you mean ([\+]0,1...*)[10] ? | ||
jnthn | The index is kinda useless there | ||
As what you get back is a single item, not a list. | |||
Did you mean what benabik said, or maybe [+] (0,1...*)[10] | |||
donri | benabik: yes, but i didn't know that syntax :) | ||
what's that mean | 00:21 | ||
00:22
felliott joined
|
|||
jnthn | [\+] is trinagle operator - produces all the intermediate arrays | 00:22 | |
benabik | Produces an array of intermediate values. | ||
donri | also [+](0,1...*)[0...10] | 00:23 | |
benabik | rakudo: ([\+]0,1...*)[0..10] | ||
p6eval | rakudo 6f9116: ( no output ) | ||
jnthn | ah, yes, that's more useful :) | ||
rakudo: (([\+]0,1...*)[0..10]).perl.say | |||
p6eval | rakudo 6f9116: OUTPUT«(0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55)» | ||
donri | rakudo: (0,1,&infix:<+>..*)[10] | 00:24 | |
p6eval | rakudo 6f9116: OUTPUT«Method 'succ' not found for invocant of class 'Perl6MultiSub' in 'RangeIter::reify' at line 4926:CORE.setting in 'List::at_pos' at line 1 in 'Any::postcircumfix:<[ ]>' at line 1790:CORE.setting in 'Parcel::at_pos' at line 1 in 'Any::postcircumfix:<[ ]>' at line | ||
..1790:CORE.… | |||
donri | rakudo: (0,1,&infix:<+>...*)[10] | ||
p6eval | rakudo 6f9116: ( no output ) | ||
donri | rakudo: (0,1,&infix:<+>...*)[10].say | 00:25 | |
p6eval | rakudo 6f9116: OUTPUT«55» | ||
benabik | I always forget that p6eval isn't a REPL. | ||
jnthn | We did have it auto-print once, but I think it causes some other issues | ||
benabik | Would be handy if it had something like ruby's p: sub p($_) { .perl.say } | 00:28 | |
00:29
whiteknight joined
|
|||
benabik | Or some other low precedence way of adding .perl.say | 00:30 | |
00:32
stifynsemons left
|
|||
dalek | p/match-nom: 94e55ed | jonathan++ | src/pmc/rakudoobject.pmc: Work around Parrot's nuts keys implementation. This means the getting/setting keys in the capture bit now seems to work well, which gets us to the next error, which is just that NQPCapture needs some more implementation effort (exists). Also will need to make those v-tables overridable. |
00:32 | |
jnthn | OK, enough for me tonight. | 00:35 | |
Gotta drag myself into $office at a reasonable time in the morning. | |||
sleep & | |||
donri | rakudo: [\+]0,1...* | 00:39 | |
p6eval | rakudo 6f9116: ( no output ) | ||
donri | rakudo: say [\+]0,1...* | ||
p6eval | rakudo 6f9116: | 00:40 | |
..OUTPUT«(timeout)128364555667891105120136153171190210231253276300325351378406435465496528561595630666703741780820861903946990103510811128117612251275132613781431148515401596165317111770183018911953201620802145221122782346241524852556262827012775285029263003308131603240332134033486357036553… | |||
donri | lol | ||
00:44
donri left
00:45
Limbic_Region joined
00:48
vmspb left
01:03
saaki left
01:09
Rotwang left
|
|||
sorear | good * #perl6 | 01:29 | |
01:30
_jaldhar_ joined
01:34
stkowski left
01:38
_jaldhar_ is now known as jaldhar
01:48
plobsing joined
01:49
shortcircuit joined
01:52
jasonmay joined
01:57
cosimo left
02:05
noganex left,
noganex joined
02:07
cdarroch left,
am0c joined,
florz left
02:09
satyavvd joined
02:17
stifynsemons joined
02:29
kst` is now known as kst
02:36
stifynsemons left
02:37
whiteknight left
02:42
Guest40998 joined
02:43
Guest40998 left
02:55
lateau joined
|
|||
diakopter | * | 02:55 | |
phenny | diakopter: 15 Feb 09:55Z <moritz_> tell diakopter that I "git stash"ed some changes to evalbot, because I needed to pull and didn't know what to do with them - fell free to 'git stash apply' + commit, or let them rot | ||
03:04
satyavvd left,
cosimo joined
|
|||
sorear | hi diakopter | 03:06 | |
03:10
benabik left
03:13
cosimo left,
Limbic_Region left,
cosimo joined
03:14
stifynsemons joined
03:25
lakshman left
03:26
shabble_ left
03:29
shabble joined,
shabble left,
shabble joined
03:33
woosley joined
03:40
agentzh joined
04:01
benabik joined
04:16
satyavvd joined
04:19
mtk left
04:22
colomon joined
04:23
Su-Shee_ joined
04:26
mberends joined
04:27
Su-Shee left,
drbean left
04:28
drbean joined
04:33
stepnem left
04:35
satyavvd left
04:36
meraxes left
04:37
stepnem joined
04:43
nadim__ left
04:44
nadim__ joined,
mberends left
04:46
mberends joined
04:52
_twitch joined
04:59
felliott left
05:00
felliott joined
05:02
felliott left
05:12
cosimo left
05:21
colomon_ joined,
colomon left,
colomon_ is now known as colomon
|
|||
sorear | Why are so many spectest files so long and complicated? :/ | 05:23 | |
05:26
gimix joined
|
|||
dalek | ast: d88e9eb | sorear++ | S03-operators/binding-scalars.t: Fudge S03/binding-scalars for niecza |
05:28 | |
ast: 8b6f98d | sorear++ | S03-operators/bit.t: Fudge S03/bit for niecza |
|||
ast: 39ead4f | sorear++ | S03-smartmatch/any-str.t: Fudge S03-smartmatch/any-str for niecza |
|||
05:29
colomon left
05:31
lue left
05:32
lue joined
|
|||
[Coke] | sorear: I had similar trouble dealing with tcl's official test suite, and I didn't have the luxury of fudging. I feel your pain. | 05:34 | |
05:36
simcop2387 left
05:38
woosley1 joined
05:39
woosley left
05:41
mberends left
|
|||
sorear | [Coke]: the worst part is that they incidentally test other things | 05:41 | |
[Coke] | aye. | 05:42 | |
sorear | quite a few tests assume a working numerics hierarchy | ||
[Coke] | making it so that you have to run most everything to test anything. sucks. | ||
sorear | in niecza it currently flattens to Num | 05:43 | |
05:50
simcop2387 joined
06:05
sftp left
06:07
simcop2387 left
06:12
simcop2387 joined
06:17
justatheory left
06:25
kaare_ joined,
lue left
06:26
shi joined
06:29
Khisanth left
06:30
Khisanth joined
06:35
gbacon_ left
06:37
gbacon_ joined
|
|||
dalek | ast: 5d02383 | sorear++ | S04-declarations/state.t: Fudge S04-declarations/state for niecza |
06:44 | |
ast: 2c2bce7 | sorear++ | S04-statement-modifiers/ (2 files): Fudge S04/for and given for niecza |
|||
ast: b349634 | sorear++ | S04-statement-modifiers/if.t: Fudge postfix if for niecza |
|||
ecza: 3e24c39 | sorear++ | / (2 files): Add new test files and TODOs for today |
06:45 | ||
sorear -> sleep | |||
06:47
zostay left
06:49
stifynsemons left
06:55
Mowah joined
06:57
wtw joined
07:03
envi joined
07:04
cjk101010 joined
07:24
mfollett joined
|
|||
mfollett | What's the easiest way for me to make a GET web request in Rakudo * 2011-01? | 07:25 | |
07:29
mfollett left
07:37
mberends_ joined,
mberends joined
07:38
mberends left,
mberends_ left,
mberends joined,
mberends_ joined,
mberends_ left
07:49
Su-Shee_ is now known as Su-Shee
07:50
daxim joined
08:01
fith left
08:08
fith joined
08:13
Layla_91 joined
08:16
stepnem left
|
|||
diakopter | phenny: tell TimToady maybe Perl 6 can make it into Vol5 of TAoCP (Scanning/Parsing) ;) he says done by 2020 | 08:21 | |
phenny | diakopter: I'll pass that on when TimToady is around. | ||
08:24
vampirelove_294 joined
|
|||
jnthn | morning, #perl6 | 08:24 | |
08:25
woosley1 left
|
|||
Layla_91 | jnthn: yaw! =) | 08:25 | |
jnthn | Layla_91! \o/ | ||
vampirelove_294 | sup | ||
jnthn | Privet! # Don't have Russian mapped on this keyboard :) | 08:26 | |
08:26
vampirelove_294 left
|
|||
Layla_91 | jnthn: prevet! I don't have one too.. but my english is getting better though :D | 08:27 | |
08:27
bacek left
|
|||
jnthn | Layla_91: Your English seems quite nice. :) | 08:28 | |
Layla_91 | jnthn: erm.. I still can't say "w" properly.. comes out like v... I was told so :( | 08:29 | |
jnthn | Aww... | ||
jnthn has had trouble with various sounds in other languages | 08:31 | ||
When I was in Spain, I couldn't pronounce the "r" correctly. | |||
Layla_91 | I fixed the r thing when I was at school =) | 08:32 | |
08:32
K-LineMeAssholes joined
|
|||
K-LineMeAssholes | +aloha +dalek +ilogger2 +IRSeekBot +p6eval 16WAAGL8K _ilbot _sri _twitch aesop agentzh aindilis Alias allbery_b am0c amkrankr1leuen apejens araujo arlinius arnsholt arthur-_ ascent_ ashleydev avuserow awwaiid bacek_at_work baest barika bartolin bbkr benabik betterworld BinGOs breinbaas broquaint Bucciarati c1sung_ charsbr__ chitragupt cibs cjk101010 cjk101012 clkao cls_bsd cognominal coldhead cookys_ cotto cotto_work cschimm1 | 08:33 | |
am0c | it's a kicktime | ||
Layla_91 | what was that? | ||
K-LineMeAssholes | KLINE TIME | 08:34 | |
08:34
ChanServ sets mode: +o moritz_
|
|||
K-LineMeAssholes | k-line please | 08:34 | |
08:34
moritz_ sets mode: +b *!*46b3bb15@*.70.179.187.21,
K-LineMeAssholes was kicked by moritz_ (K-LineMeAssholes))
|
|||
jnthn | ...wow, some people do the most pointless things... | 08:34 | |
Layla_91 | :-\ | 08:35 | |
moritz_ saved the day! ^_^ | |||
jnthn | Layla_91: I suspect you'll pick the w up more if you hear it enough | ||
08:35
moritz_ sets mode: -o moritz_
08:36
charsbr__ left
08:37
fhelmberger joined
|
|||
Layla_91 | jnthn: mm.. the problem in my opinion is that the languages are so different.. Like a client I have from China.. she sent me a video about the alphabet.. it was so long! I thought russian alphabet was the longest! :S | 08:37 | |
08:39
knewt2 joined
08:40
bhwu joined
08:42
charsbr__ joined
|
|||
jnthn | Layla_91: Russian alphabet is quite OK to learn...especially because uppercase and lowercase letters tend to be identical (apart from size difference of course :-)). | 08:48 | |
daxim gives jnthn a cockchafer ж | 08:54 | ||
jnthn | .u ж | 08:56 | |
phenny | U+0436 CYRILLIC SMALL LETTER ZHE (ж) | ||
jnthn | :) | ||
Layla_91 | jnthn: yes it is so easy, also spiritual and romantic language.. you must learn it~ :-| | 08:59 | |
jnthn: :D | |||
coldhead | to read dostoevsky in russian would be nice | 09:00 | |
dalek | p/match-nom: 3a80453 | moritz++ | src/ (2 files): try to implement exists_keyed* vtable overrides by adopted copy & paste |
||
Layla_91 | coldhead: I started with Chekhov when I was in school.. I liked his style.. | 09:01 | |
jnthn | Layla_91: Yes, I'm learning. I love it. :) | 09:02 | |
Layla_91: But still...long way to go. | |||
I spent 2 years studying Slovak when I lived there and still wasn't very good by the time I left. | 09:03 | ||
09:04
stepnem joined
|
|||
daxim | you recognise this: пиво | 09:07 | |
jnthn | Of course :) | ||
Important word! | 09:08 | ||
daxim | this is a good place for a sixer to attach a comment to the question how perl6 currently handles multi-line comments, perhaps with a link to the appropriate standards document: stackoverflow.com/q/5012838 | ||
Layla_91 | jnthn: пиво... mmm.. you must have russian roots in family to like it that much.. it is so common like water in Russia :D | 09:09 | |
Lunch time! bye! o/ | 09:10 | ||
jnthn | The Russian supermarkets are great. They have a section for пиво, a section for вино...and then one for alcohol ;) | 09:11 | |
Layla_91: Enjoy! bye! o/ | |||
09:12
Layla_91 left
|
|||
tadzik | phenny: "пиво"? | 09:13 | |
phenny | tadzik: "beer" (mk to en, translate.google.com) | ||
tadzik | phenny: "вино"? | ||
phenny | tadzik: "wine" (bg to en, translate.google.com) | ||
tadzik | nubo, Buho :) | 09:14 | |
jdhore | I just realized something interesting...I'm rather surprised that Larry wasn't in (or even mentioned in) Revolution OS. | 09:19 | |
09:20
jonnie left
09:21
neroxx joined
|
|||
moritz_ | jnthn: upon further reflection, I noticed that I don't quite understand object creation/initialization | 09:22 | |
.bless takes a hash of attributes | |||
does it try to recursively initialize that in self and base classes? | 09:23 | ||
or does it call .BUILDALL, which does that? | |||
09:31
bacek joined
09:32
f00li5h joined
|
|||
jnthn | It calls BUILDALL, which calls each BUILD method in trun. | 09:36 | |
*turn | |||
moritz_ | but which step does the actual attribute initialization? | ||
jnthn | BUILD is the only thing that actually touches the attributes | 09:37 | |
moritz_ | but... BUILD is a submethod, and there's not a BUILD submethod automatically in each class | 09:39 | |
jnthn | Yes, the Mu.BUILD is...special. | ||
I fear more special than we've been treating it in Rakudo so far | 09:40 | ||
jnthn realizes that we may have been getting away with a few things... | |||
moritz_ | so... | 09:41 | |
BUILDALL looks into each class for the presence of a BUILD submethod | |||
if it's there, it calls it | |||
if not, it calls Mu.BUILD with some magic pretending to be in the current class, not in Mu? | 09:42 | ||
jnthn | Yes, it's that "magic" that is confusing me at the moment. | 09:43 | |
I think the Rakudo version depends on attribute access being "broken" and not needing to be qualified with a class name | |||
moritz_: I need to think about it a little more, but I need to do some $dayjob bits at the moment. | 09:45 | ||
09:47
wtw left
|
|||
moritz_ | ok | 09:48 | |
09:48
dakkar joined
09:51
wtw joined
09:58
am0c^ joined,
am0c left
|
|||
dalek | p: 99575b9 | moritz++ | / (2 files): implement NQPMu.{new,BUILDALL,MAGIC_BUILD}. Tests. The latter is a hack to get attribute initialization working in classes that don't define their own BUILD submethod. Lack automatic BUILD calling. |
10:02 | |
10:13
mkramer joined
|
|||
moritz_ | nqp: my @a; say(@a[0]) | 10:39 | |
p6eval | nqp: OUTPUT«» | ||
moritz_ | nqp: my @a; say(pir::typeof(@a[0])) | ||
p6eval | nqp: OUTPUT«Undef» | ||
10:48
icwiener joined,
masak joined
|
|||
masak | good noon, #perl6 | 10:55 | |
moritz_ | oh hai masak | 10:56 | |
mberends | o/ | 11:03 | |
masak | Layla_91: A video about the Chinese alphabet? were you joking, or was your client joking? Chinese doesn't really have an alphabet as such. not in the sense of "totally ordered set of symbols approximately on the level of phonemes", at least. | 11:05 | |
11:05
lateau left
11:08
coldhead left,
am0c^ left
|
|||
masak | moritz_, jnthn: I'm interested in object creation/initialization too. is downcasting on the table? that would be nice. | 11:08 | |
moritz_ | masak: did you see my last nqp commit? | 11:09 | |
masak | no; looking. | ||
moritz_ | it's a bit hacky, and n downcasting happens | 11:10 | |
masak | MAGIC_BUILD... | ||
11:10
dju joined,
dju left,
dju joined
|
|||
masak | I guess it's easier to *talk* about downcasting now that jnthn has evolved the thinking about reprs. | 11:11 | |
when we downcast, we probably need to switch out the repr, right? | |||
moritz_ | right | 11:12 | |
masak | that's how I see it working, anyway: in downcasting from A to B: the object $a first gets a new repr with the B attributes, than B.BUILD is run on it. | ||
generalizing for a chain of several children, the repr only needs to be swapped out once at the beginning to the intended type. | 11:14 | ||
moritz_ | sounds right | 11:16 | |
masak | ah, .BUILD_MAGIC is the method prying open Pandora's box. ;) | 11:17 | |
does nqp not have submethods yet? | |||
moritz_ | don't think so | 11:23 | |
which is why I didn't implement BUILD support | |||
diakopter | ooooo it's bedtime | 11:25 | |
masak | 'night, kopter. | 11:26 | |
jnthn | Casting isn't really about changing the object. It's just about changing the way you look at it. | ||
diakopter: sleep well o/ | |||
masak | jnthn: are you implying that downcasting shouldn't work if the object isn't already "really" a B? | 11:27 | |
jnthn | Well, we don't really do casting at all in Perl 6, in the sense you do it in Java | 11:28 | |
I think you're talking about re-blessing. | |||
masak | right. I am. | ||
downblessing :) | |||
jnthn | C/Java/C# all confuse things a bit by using the same syntax for casts and coercions. | ||
(float)some_int # coercion, actual representation change...though not in-place | 11:29 | ||
(Child)SomethingWeOnlyKnowAsTheParent # cast - doesn't change the object, just checks it really is a Child | |||
moritz_ | is tha why C++ has dynamic_cast? | 11:34 | |
11:36
shi left
11:39
shi joined
11:47
am0c joined
11:48
colomon joined
|
|||
jnthn | moritz_: I don't know C++ well enough to say | 11:50 | |
masak | www.parashift.com/c++-faq-lite/smal...l#faq-30.3 | 11:52 | |
colomon | dynamic_cast is "we have a child, cast to it." | 11:53 | |
or I guess, "if you have a child, cast to it." | |||
or as you say, "just checks it really is a Child" | 11:55 | ||
11:55
agentzh left
|
|||
colomon | it's the one the OO fanatics say you should never use, but in practice is really freaking useful. :) | 11:55 | |
dalek | ast: 7bfcd8e | (Solomon Foster)++ | S32-num/gcd.t: Add simple tests for gcd. |
12:27 | |
12:32
Chat8951 joined
12:33
Chat8951 left
|
|||
masak | I'm listening to www.infoq.com/presentations/TDD-in-...Greg-Young -- it's quite related to PRE/POST and similar things. Greg just mentioned a special type of block that (dynamically) lifts the PRE/POST invariants. | 12:43 | |
this would solve an issue that moritz_++ raised once -- that there must conceivably be some situations where we can't fulfill all the per-class pre/postconditions. | |||
12:46
ymasory joined,
ymasory left
12:48
colomon_ joined,
colomon left,
colomon_ is now known as colomon
|
|||
takadonet | morning all | 12:54 | |
colomon | o/ | ||
masak | \o | 12:55 | |
jnthn | o/ | 12:56 | |
jnthn eated too much lunch and is sleepy now | |||
12:57
mtk joined
|
|||
arnsholt | ETOOMANYNOMS | 13:02 | |
=) | |||
masak | POST { @.nom <= $NOM_LIMIT } | 13:04 | |
dalek | kudo: b076174 | colomon++ | src/core/Rat.pm: Switch calls to pir::gcd_iii to just gcd. |
13:17 | |
kudo: 67dfab4 | colomon++ | src/core/Int.pm: Add Int.gcd and a proto for a sub version. |
|||
kudo: 4f5299c | colomon++ | t/spectest.data: Add S-32num/gcd.t. |
|||
jnthn wonders how much trouble our protos are going to get us into during the nom branch :) | 13:18 | ||
colomon | I need to get into nom and lend a hand. | 13:19 | |
masak | jnthn: are we going to run into the "have to declare a proto everywhere there's a multi" restriction? | ||
jnthn | masak: We'll declare them all in the setting. | 13:20 | |
masak: I'm planning to implement the auto-generation before we merge the branch though. | |||
masak | oh, ok. | ||
that's for the subroutines case, I presume. | |||
colomon | auto-generation in the sense that users don't have to declare protos? | ||
jnthn | colomon: Right, as per spec | 13:21 | |
colomon | \o/ | ||
13:21
MayDaniel joined
|
|||
jnthn | masak: Yeah. The method case is easier. | 13:21 | |
masak | ooh, as per spec? | ||
masak didn't know that | |||
jnthn | The spec talks about proto gen, I think. | ||
masak | the method case is... easier? I thought MI made it kinda tricky. | ||
jnthn | I'm sure that went in during the multi changes from earlier. | ||
masak | I'd like a reference to that part of the spec at some point. | 13:22 | |
not necessarily now :) | |||
jnthn | S06 | ||
colomon | I'm very happy about that. :) | ||
jnthn | :P | ||
MI is not a problem for the meta-model implementor. | |||
But users can get themselves in a tangle with it | |||
But it's no worse than the "usual" tangle multiple inheritance gets you into. | |||
colomon | masak: I have such weird mixed feelings about p4. | ||
masak | colomon: let's hear it. | 13:23 | |
jnthn: C is A is B, D is A is B. C and D both define multi .foo: where does the proto go? | 13:24 | ||
colomon | masak: It's an uneasy blend between pride at having one of the best performers and shame that I didn't notice any of the better ways of doing things that were staring me in the face. | 13:25 | |
masak | colomon: oh, nothing worse than that? then I'm not too worried. | 13:26 | |
jnthn | masak: C will get a proto auto-generated in it. D will get a proto auto-generated in it. | ||
masak | colomon: that basically just means that my cunning plan worked for p4 :) | ||
jnthn | masak: If you declare a multi in a class and there's no proto in the MRO matching that name, the proto gets created in that class. | ||
The meta-object doesn't go monkey-patching others. | 13:27 | ||
masak | colomon: in some sense working code is what counts here. recall that the *only* contestant who got p4 right got so involved in it that he (1) missed the deadline, and (2) didn't complete all of the other tasks. | ||
colomon: the contest is explicitly set up to reward people who can manage the constraints enought to produce five good-enough solutions, not 1..5 perfect solutions. | 13:28 | ||
jnthn: oh, good. | |||
jnthn: that's very sane. | |||
masak is happi | |||
colomon | masak: like not noticing that two runs of the same length cancelled each other out. I mean, a bunch of the stuff I wrote more or less assumed that, but I never formally thought it out and generalized it. Applying the insight would have been a five-minute patch that would have noticeably strengthened my code. | 13:29 | |
masak | colomon: yes, I wouldn't say your code is too strong on the theoretical side... but it gets the job done, for large values of $N. | ||
colomon | masak: I was using the code to develop the theory, rather than the other way around. :) | 13:30 | |
colomon never imagined 56 would be considered a large value of $N; just assumed that would be in the 100s. | 13:31 | ||
masak | no, 56 isn't a particularly large value of $N. I just stopped looking when I had found some flaw in all of the submitted algorithms. | 13:32 | |
13:36
MayDaniel left
|
|||
masak | as I write in the blog post, the interesting thing is analyzing the p4 submissions from the point of view that they all miss the theory-based solution. | 13:38 | |
there are traces of similar "traps" in the other problems. for example, p1-fox misses the fact that a greedy algorithm doesn't always find the best answer. | 13:39 | ||
13:47
awoodland joined,
colomon left
13:49
_sri left,
_sri joined
|
|||
moritz_ | ... which you mentioned in the problem description, iirc | 13:52 | |
13:58
slavik1 joined
|
|||
daxim | stackoverflow.com/questions/5017095...rl6-rakudo | 14:02 | |
takadonet looks at masak and moritz_ | 14:03 | ||
masak | moritz_: I don't think I did. I did hint at it being cumbersome to iterate through the whole permutation space, though. | ||
14:03
Nehru joined
|
|||
masak | getting the terminal size? that would have to be something specific to the window manager, I suppose. | 14:04 | |
or specific to something. | |||
14:04
Nehru left
|
|||
masak | looking at CPAN's Term::ReadKey, it seems it's iterating over a number of common platforms, doing platform-specific things for each. | 14:05 | |
Tene | masak: window manager doesn't have anything to do with it... many terminals don't have an associated window manager at all. | 14:09 | |
running over ssh, running on the linux VT, etc. | |||
masak | true. I was speaking out of a state of confusion... :) | 14:10 | |
I meant "environment". | |||
Tene | 'k | 14:11 | |
Tene finally goes to bed, six hours late. | |||
flussence | That p5 ReadKey code looks... scary. | 14:18 | |
14:19
plainhao joined
14:24
ab5tract joined
14:29
kaare_ left
|
|||
takadonet | flussence: don't look at Text-Tabs-Wraps code | 14:30 | |
14:30
donri joined
|
|||
flussence | haha :) | 14:30 | |
donri | What's the colon in grep:block etc? | 14:31 | |
flussence | grep:* means the same thing as grep(*) | ||
14:32
colomon joined
|
|||
donri | doesn't grep * too | 14:32 | |
14:34
colomon left
|
|||
flussence | actually I'm slightly wrong | 14:35 | |
from reading the spec, it seems like a colon does the same as p5's indirect object syntax | |||
donri | i don't speak perl5 :$ | 14:36 | |
flussence | basically it works for that example above but it has evil side effects | 14:38 | |
donri | what example? | ||
flussence | grep:* | ||
donri | i just joined | ||
but why and when is : needed? | 14:39 | ||
flussence | see perlcabal.org/syn/S03.html#Comma_op...precedence | ||
donri | i did, not much wiser ;) | ||
14:40
tzhs joined
|
|||
flussence | well, take the "push @array: 1,2,3" from there - | 14:41 | |
PerlJam | donri: do you understand OOP and what "invocant" means? | ||
flussence | that's the same as writing [email@hidden.address] 1,2,3" | ||
masak | no. | ||
@array.push 1,2,3 is a TTIAR error. | 14:42 | ||
has to be @array.push: 1,2,3 | |||
flussence | right. | ||
masak | the way I see it, the colon actually fills two different purposes here. | ||
one is the indirect object notation a la Perl 5: push @array: 1,2,3' | |||
flussence | (the more I read this the more it confuses me) | ||
masak | the other is the "the rest of the expression is arguments" use: @array.push: 1,2,3 | 14:43 | |
huf | what else could it be? | ||
or is this as an alternative to 9)? | |||
() | |||
masak | yes. | ||
donri | So like Haskell $ | 14:44 | |
PerlJam: Not sure about invocant | |||
14:45
ymasory joined,
xinming left
|
|||
flussence | donri: do you know javascript? it's the same as func.apply(invocant) there | 14:45 | |
lets you change the value of "self" | 14:46 | ||
donri | Why is that needed for grep and whatnot? | 14:47 | |
flussence | it's not | ||
14:47
TH14 joined
|
|||
flussence | it's just there if you want to write it that way | 14:47 | |
14:47
xinming joined
|
|||
masak | donri: the invocant in a method is the object that gets bound to the 'self' keyword. | 14:48 | |
TH14 | hi | ||
masak | TH14: hi! | ||
TH14: welcome to our humble adobe :) | 14:49 | ||
PerlJam | adobe? | ||
I assume that was intentional, but you never can tell around here. | |||
masak | a brick building. | ||
TH14 | thanks - heavy stuff, what? | ||
masak | TH14: Perl 6? you bet. | ||
TH14 | need further education for this place...... | 14:50 | |
PerlJam | Perl 6 is heavy so that your code can be light | ||
masak | Perl 6 is heavy because we build it out of sun-dried bricks. | ||
TH14 | great | 14:51 | |
masak | TH14: how did you find #perl6? | ||
TH14 | just searched - it was top of the list | 14:52 | |
donri | an example of grep with and without :? | ||
moritz_ | \o/ our search engine optimization seems to work, at least partly :-) | ||
masak | we're top-of-the-list? \o/ | ||
moritz_ | rakudo: say <a b c>.grep: 'b' | ||
p6eval | rakudo 6f9116: OUTPUT«b» | ||
moritz_ | rakudo: say <a b c>.grep('b') | 14:53 | |
PerlJam | donri: @numbers.grep(* > 3) | ||
p6eval | rakudo 6f9116: OUTPUT«b» | ||
donri | ok but an example that differs because of the use-or-not of :? | ||
rakudo: say <a b c>.grep 'b' | |||
p6eval | rakudo 6f9116: OUTPUT«===SORRY!===Confused at line 22, near "say <a b c"» | ||
masak | donri: Two Terms In A Row. | 14:54 | |
donri | rakudo: say <a b c>.grep * eq 'b' | ||
p6eval | rakudo 6f9116: OUTPUT«No candidates found to invoke for method 'grep' on object of type 'Parcel'; available candidates have signatures::(Mu : Mu $test;; *%_) in main program body at line 22:/tmp/hGf1bC2f8y» | ||
14:54
TH14 left
|
|||
masak | std: say <a b c>.grep 'b' | 14:54 | |
p6eval | std 625303c: OUTPUT«===SORRY!===Two terms in a row (method call requires colon or parens to take arguments) at /tmp/Gv50IrCgog line 1:------> say <a b c>.grep ⏏'b' expecting any of: bracketed infix infix or meta-infix statement modifier | ||
..loopParse failedF… | |||
donri | so it's just a disambiguation thing | ||
masak | in a sense, yes. | ||
moritz_ | it's just syntax. | ||
flussence | or an ambiguation thing :) | ||
masak | TTIAR goes quite deep in Perl 6. | ||
donri | ok :) | ||
ttiar? | |||
masak | donri: Two Terms In A Row. | 14:55 | |
it makes the parser sane in a certain way that's good for error messages. :) | |||
donri | \o/ | 14:57 | |
and humans, perhaps | 14:58 | ||
masak | once you get used to the idea, yes. | ||
14:59
meraxes joined
15:04
mfollett joined
|
|||
masak | customers like TH14 interest me. he seemed to want something, but we never found out what. | 15:05 | |
15:14
kaare_ joined
15:18
dakkar left
15:20
dakkar joined
15:29
dakkar left
15:32
dakkar joined
15:33
wtw left
15:37
fhelmberger left
15:38
mberends left
15:45
mfollett left,
mfollett joined
15:49
dakkar left
15:50
dakkar joined,
cjk101010 left
15:54
am0c left
|
|||
sorear | good * #perl6 | 15:57 | |
moritz_ | \o | 16:02 | |
16:04
neroxx left
16:08
justatheory joined
16:11
MayDaniel joined
16:16
risou joined
16:27
tzhs left
16:30
ab5tract left
16:35
kjeldahl joined
16:39
dakkar left
16:44
perlpilot joined
16:45
neroxx joined
|
|||
mfollett | So, what's the easiest way for me to make a GET request at the moment, there isn't anything like LWP::Simple, is there? | 16:53 | |
masak | mfollett: well, there's IO::Socket. | 16:54 | |
16:56
risou_ joined
|
|||
moritz_ | mfollett: there's an LWP::Simple | 16:57 | |
mfollett: see modules.perl6.org | |||
sorear | hi masak | 16:58 | |
mfollett | moritz_:Thanks, that'll be what I go with, I was just checking if there was anything closer atm. | ||
sorear | so if I add new test files to roast, will I break rakudo? | ||
masak | hi sorear. | 16:59 | |
moritz_ | sorear: nope; rakudo whitelists | ||
16:59
risou left
|
|||
perlpilot | if you break rakudo, that's indicative of a problem :) | 16:59 | |
moritz_ | sorear: btw I saw your recent remark that many test files are big and complicated... feel free to split them up if you find a good classification by topic | ||
dalek | ast: 821cdb0 | sorear++ | S04-statements/ (2 files): Fudge for_with_only_one_item, gather for niecza |
||
ast: b877a11 | sorear++ | S04-statements/next.t: Fudge S04/next for niecza |
|||
ast: 6ca5980 | sorear++ | S04-statements/no-implicit-block.t: Fudge S04/no-implicit-block for niecza |
|||
ast: 15b1f27 | sorear++ | S04-statements/while.t: Fudge S04/while for niecza |
|||
masak | also, reducing test files' dependence on more advanced features can only be a good thing. | 17:00 | |
sorear | niecza is now running >1/2 of 31 test files in S02-S04 | 17:01 | |
masak | wow! | ||
sorear | time for S05. I hope there are lots of LTM tests ;) | ||
17:01
sftp joined
|
|||
moritz_ | sorear: notreally. I tried to write some, but it's hard when you can't run them (that was before niecza came along) | 17:01 | |
t/spec/S05-metasyntax/longest-alternative.t | 17:02 | ||
17:02
mtk left
|
|||
sorear looks S05-capture/alias.t line 17 and sighs | 17:02 | ||
17:02
alester joined
17:03
dakkar joined
|
|||
sorear | I guess I could collapse it onto one line then add a #?niecza emit # | 17:04 | |
moritz_ | sorear: such relicts from pre-fudge times can safely be removed | ||
sorear | oh.\ | ||
dalek | ast: c2b89fe | moritz++ | S05- (4 files): [S05] remove some pre-fudge relicts noted by sorear++ |
17:06 | |
moritz_ | sorear: also roast probably reflects the old thinking rw (foo)? captures being arrays... feel free to change that | 17:08 | |
if you break rakudo along the way, I'll just fudge it | 17:09 | ||
masak | sorear++ # targetting the spectests | ||
sorear | masak: I've decided that they're a good proxy for darkpan code support | 17:10 | |
hehehe. alias.t uses "regex two {..}" at top level :/ | |||
17:10
cotto left
|
|||
dalek | ast: ecfd67a | moritz++ | S05- (6 files): remove more pre-fudge cruft |
17:10 | |
17:11
mtk joined
|
|||
masak | sorear: maybe Rakudo doesn't spectest.data it, then. | 17:14 | |
because Rakudo doesn't support that anymore either. | |||
moritz_ | karma sorear | 17:15 | |
aloha | sorear has karma of 809. | ||
sorear | I suspect I'll be turning a lot of the Niecza LTM tests into spectests later | ||
masak | sounds great. | ||
moritz_ | sorear: that would be greatly appreciated | ||
sorear: also note for later that IO tests assume that the relative path to them is t/spec/S\d\d-whatever/testfile.t | 17:16 | ||
so the current approach with ../roast/S\d\d-whatever/testfile.t will reach its limit at some point | |||
dalek | ast: 0a53d82 | sorear++ | S05-grammar/protoregex.t: Fudge S05-grammar/protoregex.t for niecza |
17:17 | |
sorear | stupid restrictions niecza has that the spectests don't bother to work around, like '::' not being allowed in class names ... | ||
moritz_ | sorear: I remember explicitly adding class names containing ::, because they were so unreliable in rakudo that I felt I needed to them along the way | 17:19 | |
which, in hindsight, is stupid | |||
i should just have written separate tests for them | |||
but I was lazy :- | |||
flussence recalls having to rewrite a bunch of code because X::Y::Z and X::Y::Z2 clashed in rakudo... | 17:22 | ||
jnthn | o/ | ||
sorear | the problem with the spectests is that we don't really know yet what the "least common denominator" of Perl 6 is | 17:24 | |
it's probably close to NQP though | |||
moritz_ | \o jnthn | ||
sorear: agreed | |||
sorear wonders about adding tests that only work semi-by-accident | 17:26 | ||
dalek | ecza: a5f68a0 | sorear++ | / (2 files): Update whitelist and TODO |
17:27 | |
sorear out | |||
jnthn | moritz_: I saw you patched nqp some more...didn't peek yet :) | ||
moritz_ | jnthn: no visible progress in the match-nom branch... but I did add .bless and BUILDALL in master... it's a bit hacky | 17:29 | |
see for yourself when you have time :-) | |||
jnthn | moritz_: OK, should ahve some later on today :) | 17:30 | |
17:34
leprevost joined
|
|||
moritz_ | and if it appears wrong to you... feel free to rip it out, I'm not very attached to the code | 17:34 | |
17:34
leprevost_ joined,
leprevost left,
leprevost_ left,
leprevost joined,
noganex_ joined
17:35
leprevost left,
leprevost_ joined
17:36
leprevost_ left,
leprevost joined,
MayDaniel_ joined
|
|||
bbkr | MiniDBI returns "Null PMC access in get_string()" in line 106 of NativeCall.pm6 on 2011.01 star release. is it known bug? | 17:37 | |
17:38
cdarroch joined,
cdarroch left,
cdarroch joined,
noganex left
|
|||
jnthn | bbkr: First time I've heard it. | 17:39 | |
17:39
MayDaniel left,
noganex joined
17:40
noganex_ left
17:42
daxim left
|
|||
donri | I don't get it, is Sprixel supposed to be fully Perl 6 or not? | 17:55 | |
diakopter? | 17:58 | ||
[Coke] wonders if he can test partcl-nqp against nom. | 17:59 | ||
18:01
Lorn_ left
18:02
shi left
|
|||
donri | sorear? | 18:03 | |
18:03
dakkar left
|
|||
[Coke] | Dr. Scott? | 18:04 | |
18:06
shi joined
|
|||
flussence | rakudo: use Test; plan 1; eval_lives_ok { 1 } | 18:10 | |
p6eval | rakudo 6f9116: OUTPUT«1..1get_attr_str() not implemented in class 'Sub' in main program body at line 7461» | ||
flussence | :( | ||
tadzik | o/ | 18:14 | |
dalek | p: 15ba2db | moritz++ | src/NQP/Grammar.pm: allow <*> in proto regex body |
18:22 | |
18:27
mfollett left
18:28
mfollett joined
18:31
mberends joined,
awoodland left
18:37
mberends left
18:38
leprevost left,
frodwith left
18:39
frodwith joined
18:40
Su-Shee_ joined
18:43
Su-Shee left,
cjk101010 joined
18:44
Su-Shee_ is now known as Su-Shee
18:47
fhelmberger joined
|
|||
masak | rakudo: use Test; plan 1; eval_lives_ok { 1 }; "42" | 18:50 | |
p6eval | rakudo 6f9116: OUTPUT«1..1get_attr_str() not implemented in class 'Sub' in main program body at line 7461» | ||
18:50
colomon joined
|
|||
jnthn | ...huh? | 18:50 | |
rakudo: use Test; plan 1; eval_lives_ok { 1 }; | 18:51 | ||
p6eval | rakudo 6f9116: OUTPUT«1..1get_attr_str() not implemented in class 'Sub' in main program body at line 7461» | ||
jnthn | rakudo: use Test; eval_lives_ok { 1 }; | ||
p6eval | rakudo 6f9116: OUTPUT«get_attr_str() not implemented in class 'Sub' in main program body at line 7461» | ||
masak | flussence++ exposed this error a while back. | ||
jnthn | ah, ok | ||
masak | haven't seen it before. | ||
jnthn | masak files rakudobug | ||
;) | |||
masak tries locally first | 18:53 | ||
whoa. failed Parrot assertion. | 18:55 | ||
bacek_at_work: seems we're not quite finished yet... :) | |||
masak gets a more orthodox build | |||
flussence | found that while I was trying to fix up a few commented out T-T-W tests... took me a while to figure out what was wrong :) | 18:59 | |
masak | how come it hasn't been found earlier? there has to be a number of those in the spectest suite. | 19:02 | |
19:06
risou_ left
|
|||
flussence | I'm not getting any more failures than usual either... smolder.parrot.org/app/projects/rep...tails/9752 | 19:07 | |
the only commits since then have been the gcd changes, that shouldn't affect anything like this | 19:08 | ||
masak | that's why I want to try it locally before I submit a rakudobug. | ||
it seems very unlikely that this happens outside of p6eval. | 19:09 | ||
flussence | eval_lives_ok with a *string* works. | ||
masak | o.O | ||
flussence | and apparently, roast doesn't have *any* of the other type... | 19:10 | |
masak | ok, yo me interested now. | ||
19:10
vmspb joined
|
|||
masak | s/yo/you've got/ | 19:10 | |
19:10
donaldh joined
|
|||
flussence | (Test.pm needs more tests!) | 19:10 | |
masak | this is getting to sound like a rakudobug after all. | ||
19:19
cjk101010 left
19:21
masak left,
masak joined
19:22
mfollett left
19:23
plobsing left
|
|||
flussence cheats and uses git-bisect on it | 19:26 | ||
donri | How is that cheating :D | 19:28 | |
19:28
mfollett joined,
mfollett left
|
|||
flussence | makes it look like I'm doing work, when I'm not :) | 19:28 | |
19:28
mfollett joined
19:31
donaldh left,
spq joined
|
|||
donri | flussence: isn't that the holy grail of computing? | 19:32 | |
bacek | ~~ | 19:33 | |
masak, can you try bleeding edge gen_gc2? I shaved few more yaks. | |||
masak | bacek: ok. | 19:34 | |
19:38
jasonmay left
|
|||
flussence | well, this is awkward... | 19:39 | |
I'm going backwards through the monthly releases and even 2010.11 has this error | |||
19:39
ymasory left
|
|||
flussence | oh. I'm an idiot. | 19:40 | |
I should be using lives_ok for a closure. | |||
19:40
jasonmay joined
|
|||
jnthn | flussence: Do you know it's a regression? | 19:41 | |
It's possible was just done wrong in the first place. | |||
flussence | eval_lives_ok only has Str signatures, lives_ok has Callables | 19:42 | |
jnthn | Yes, but eval_lives_ok shoudln't die with that particular error. | ||
Even if it is passed a closure | |||
flussence | rakudo: sub a(Str $b) { return }; a({ 1 }); | 19:43 | |
p6eval | rakudo 6f9116: OUTPUT«Nominal type check failed for parameter '$b'; expected Str but got Block instead in 'a' at line 1:/tmp/kbAjjf5Arb in main program body at line 22:/tmp/kbAjjf5Arb» | ||
flussence | rakudo: multi sub a(Str $b) { return }; a({ 1 }); | ||
tadzik | isn't that a matter of adding a type check to a signature? | ||
p6eval | rakudo 6f9116: OUTPUT«No applicable candidates found to dispatch to for 'a'. Available candidates are::(Str $b) in main program body at line 22:/tmp/uaSHZI9Bd4» | ||
flussence | rakudo: multi sub a(Str $b) { return }; a { 1 }; | 19:44 | |
p6eval | rakudo 6f9116: OUTPUT«No applicable candidates found to dispatch to for 'a'. Available candidates are::(Str $b) in main program body at line 22:/tmp/USDUX5UIDH» | ||
flussence | hmm | ||
jnthn | tadzik: I think eval is still implemented in PIR | 19:45 | |
flussence | rakudo: multi sub a(Str $b) { return }; a { 'string' }; | ||
19:45
Mowah left
|
|||
p6eval | rakudo 6f9116: OUTPUT«No applicable candidates found to dispatch to for 'a'. Available candidates are::(Str $b) in main program body at line 22:/tmp/Z04ByfzRp2» | 19:45 | |
flussence | can't imagine what the difference between that and the code in Test.pm is... | ||
jnthn | flussence: It may be eval's fault | ||
rakudo: eval { 1 } | |||
p6eval | rakudo 6f9116: OUTPUT«Nominal type check failed for parameter '$code'; expected Str but got Block instead in 'eval' at line 1192:CORE.setting in main program body at line 22:/tmp/fzZuNuYzY0» | 19:46 | |
jnthn | Oh, maybe not. | ||
rakudo: eval ~({ 1 }) | |||
p6eval | rakudo 6f9116: ( no output ) | ||
jnthn | HM | ||
Oddness. | |||
[Coke] | rakudo: say eval ~({ 1 }) | 19:47 | |
p6eval | rakudo 6f9116: ( no output ) | ||
masak | rakudo: say ~{ 1 } | ||
p6eval | rakudo 6f9116: OUTPUT«_block124» | ||
masak | that's what you're eval-ing. | ||
not a valid Perl 6 snippet. | 19:48 | ||
bacek | masak, sorry, can you pull gen_gc2 again. I committed it with limitation of heap to 1 MB :) | 19:50 | |
masak | ok. | 19:51 | |
19:55
jasonmay left,
fith left,
TiMBuS left
|
|||
flussence | ok, I got something possibly useful - | 20:01 | |
module A; multi sub explode(Str $a) is export {}; | |||
that has the get_attr_str error | |||
masak | flussence++ | 20:02 | |
flussence | without the "multi" it gives a correct error | ||
jnthn | oh | ||
is export is maybe to blaim then | |||
*blame | |||
masak | blejn. | ||
tadzik | blejm | ||
phenny: "winić"? | 20:03 | ||
phenny | tadzik: "blame" (pl to en, translate.google.com) | ||
masak | phenny: "skylla"? | ||
phenny | masak: "blame" (sv to en, translate.google.com) | ||
tadzik | also, "to wine" (verb) | ||
masak | tadzik: heh :) | ||
20:03
leprevost joined
|
|||
jnthn | ...whine? :) | 20:03 | |
masak | tadzik: looking at the verb, I can see why... :) | ||
tadzik | that's after too much wine | ||
jnthn | or...actually too wine? :) | ||
:) | |||
*to | |||
tadzik | yes, too wine :) | 20:04 | |
masak | in vino whinitas. | ||
tadzik | seen mberends | 20:05 | |
aloha | mberends was last seen in #perl6 1 hours 33 mins ago joining the channel. | ||
tadzik | I'm curious about this NLPW talk of his | ||
jnthn | Me too. :) | ||
masak three | |||
tadzik | especially since no talks are accepted yet :) | ||
jnthn | Then I know what not to submit :) | ||
masak | ooh, is there a deadline? | 20:06 | |
jnthn | Don't remember seeing one :) | ||
But in reality, probably. :) | |||
It's all short talks. | |||
15 mins or 5 mins. | |||
tadzik | 13 submitted, 0 accepted. That'll be a BOARING party :) | 20:07 | |
jnthn will submit some | |||
:) | |||
masak | URL? | ||
tadzik | www.perlworkshop.nl/nlpw2011/talks | 20:08 | |
masak | dziekuje | ||
tadzik | proszę | ||
:] | |||
masak | [: | 20:09 | |
tadzik | Tack -- is it spelled as if it was english? | 20:10 | |
jnthn | Yes | ||
tadzik | phenny: "Cam ôn"? | ||
phenny | tadzik: "Thank you" (vi to en, translate.google.com) | ||
masak | tadzik: yes, but the 'a' is darker. | ||
tadzik | oh, Cam on! | 20:11 | |
masak: darker? | |||
masak | tadzik: more like 'ah' than 'ei'. | ||
jnthn | Yeah, 'cus they don't have much sun in Sweden | ||
masak | that's why. | ||
tadzik | tack as in tackle? | ||
jnthn | Yeah | ||
tadzik | it's like a polish "yes" | 20:12 | |
jnthn | *nod* | ||
Spelt "tak"? | |||
masak | even the 'a' in 'tackle' is too open/light. | ||
tadzik | jnthn: tak :) | 20:13 | |
masak | the 'aaaa' you make at the dentist when he tells you to open wide. that's the vowel we have in Sweden. | ||
jnthn | masak: I suspect if we're approximating based on English words, it's as close as we'll get. :) | ||
masak: But I agree it's actually a bit different. :) | |||
donri | Are you all Perl fivers as well? | ||
masak | the Swedish 'a' is actually fairly close to the Hungarian 'a'. but not identical. | ||
donri: I'm more of a fiver wannabe than a real fiver. many here have at least some experience with Perl 5. some, a lot. | 20:14 | ||
jnthn | tadzik: Does it mean "so" in Polish also? | ||
masak | jnthn: I believe so. | ||
tadzik | jnthn: what kind of so? Like „so, whatcha doing tonight”? | ||
masak | jnthn: kak <-> tak? | ||
tadzik | that'd be "więc" | ||
20:14
fith joined,
TiMBuS joined,
jasonmay joined
|
|||
masak | oh. | 20:14 | |
masak newie :) | 20:15 | ||
wow, that works both in Polish and English. kinda. | 20:16 | ||
20:17
kjeldahl left
|
|||
jnthn | masak: Wait, kak as in? Russian "как"? | 20:18 | |
masak | jnthn: yes, I thought that was the parallel you were asking about. | ||
jnthn | masak: No, was thinking of "tak" in Slovak. | ||
masak | oh, ok. | ||
jnthn | ru как => sk ako, generally, I think. | 20:19 | |
donri | masak: I guess I'm wondering how uncommon serious interest in Perl 6 is among people with little interest in 5 | ||
Like myself | |||
Tene | donri: certainly not unusual. | 20:20 | |
perlpilot | donri: why do you have little interest in Perl 5 yet some interest in Perl 6? | ||
masak | donri: difficult to say. I think it's easier for Perl 5 people to appreciate the potential of Perl 6. but that doesn't mean that there are exclusively fivers here either. | ||
donri: speaking for myself, my interest in Perl 5 has been growing steadily along with my involvement in Perl 6. | 20:21 | ||
donri | perlpilot: Not sure I can give you a good answer, to me, Perl 5 feels "wrong" and 6 "right" | ||
Elegance or something | 20:22 | ||
perlpilot | masak: do you make heavy use of the 6isms that have made it into perl 5? | ||
masak | perlpilot: not really, no. | ||
perlpilot: I use 'say'. | |||
perlpilot: I don't lean heavily on 'given'/'when', smartmatching, or // in Perl 5. | |||
perlpilot | interesting | ||
donri | Not to bash Perl 5, it's not crap just not something that interests me much | ||
Tene | perlpilot: we make heavy use of 6isms in new Perl 5 code produced at my office. | 20:23 | |
Along with MooseX::Declare, etc. | |||
masak | donri: I use Perl 5 when I need a combination of ease, stability, and speed that Perl 6 doesn't provide yet. | ||
20:23
coldhead joined
|
|||
perlpilot | masak: I didn't use the 6isms much (except say) until recently. Now I find that I think to use them more in my Perl 5 code all the time | 20:24 | |
tadzik | masak: have you seen perl5i? | ||
masak | oh, I use Moose. not Moose::Declare so much. | ||
tadzik: yes. not a lot, but I've seen it. | |||
tadzik: I'd like to do something like that myself one day, but direct the codebase more towards Perl 6. | |||
perlpilot | (Tene's office)++ :) | ||
donri | Python is my primary language at the moment | 20:25 | |
tadzik | I've recently written some baby python :) | ||
masak | donri: interested question? how does Perl 6 "feel" as compared to Python, from your perspective? | ||
s/\?/:/ | 20:26 | ||
perlpilot | donri: python is nice. I tend to get the feeling that I *have* to type too much sometimes though. | ||
donri | More "Pythonic" than Perl 5 if that's what you mean | ||
perlpilot | Not as much as when I try coding in Java thuogh | ||
er, though | |||
donri | Python is somewhat a "boring" language, which at times is its strength | ||
but it's not as theoretically interesting as Perl 6 | |||
masak | donri: I think I know what you mean. | 20:27 | |
Tene | perlpilot: We're hiring. | ||
tadzik | I don't really like the "exceptions everywhere" approach. Like, no such key in hash? Exception. And so on | ||
donri | perlpilot: entering code is easy, reading code less so, and code size and readability doesn't always or fully correlate | 20:28 | |
20:28
kjeldahl joined
|
|||
donri | But so far the Perl 6 sugars are sensible and readable to me | 20:29 | |
perlpilot | donri readability and understandability don't correlate all the time either :) | ||
donri | tadzik: dict.get() | ||
lets you fallback on a default too | 20:30 | ||
tadzik | donri: what'd be: $foo = $bar<baz> // "no data";? | ||
donri | don't know what that does | ||
20:30
fhelmberger left
|
|||
masak | donri: // is the 'default' operator. | 20:30 | |
donri: if the lhs is undefined, it picks the rhs. | 20:31 | ||
donri | foo = bar.get('baz', 'no data') | ||
tadzik | not bad | ||
masak prefers the Perl 6 solution, which solves a broader problem | |||
tadzik | github.com/tadzik/mpdclient/blob/m...de/main.py -- my stupid python. Everywhere I felt like "there must be a Python way for this" | ||
perlpilot | yikes | 20:32 | |
donri | I fear that all these undefineds might be a pain for debugging etc | ||
but use fatal; or something turns them into exceptions? | |||
masak | something like that. | ||
donri: generally, Perl 6 is a bit stricter already than Perl 5. | 20:33 | ||
Perl 5 is famously laissez-faire. | |||
donri | dict.get() defaults to None for missing keys BTW | 20:34 | |
so you could do it more perlesque: foo = bar.get('baz') or 'no data' | |||
masak | nice. | 20:35 | |
rakudo: my %h; say %h<not_there>.WHAT | |||
p6eval | rakudo 6f9116: OUTPUT«Any()» | ||
masak | I'm guessing that 'Any' value is the value type of the hash. | ||
donri | What's an Any() and why not undefined? | ||
masak | Any is undefined. | ||
in Perl 6 'undefined' is a property on objects, not an object in itself. | 20:36 | ||
20:36
molecules joined
|
|||
masak | bacek_at_work: nah, we're back at failing on Test.pm now. | 20:36 | |
donri | how meta | ||
masak | bacek_at_work: want me to submit a Parrotbug? | ||
donri: it was one of those things that just evolved out of other concerns. | 20:37 | ||
20:37
MayDaniel_ left
|
|||
masak | donri: in a typed system with type objects as in Perl 6, there's no real room for an 'undefined' object. just use the type objects. | 20:37 | |
rakudo: class Dog {}; say Dog.defined; my Dog $d .= new; say $d.defined | |||
p6eval | rakudo 6f9116: OUTPUT«Bool::FalseBool::True» | ||
perlpilot wonders why Guido didn't make dict[key] work like dict.get(key) WRT defaulting to None | 20:38 | ||
donri: Is monkey patching possible in python (I haven't programmed in it since the 1.5 days or so)? If it is possible, does it happen with wild abandon as in ruby-land? | 20:39 | ||
masak | I think even the Rubyists are coming around to the perils of monkey patching nowadays. | 20:40 | |
perlpilot | masak: yes ... slowly. | ||
It's hard to correct cultural mistakes | 20:41 | ||
masak | *nod* | ||
tadzik | heh. Now compiling PyQt. -Dprotected=public looks funny :) | ||
molecules | rakudo: my $string=''; my $fh = open \$string; | 20:42 | |
p6eval | rakudo 6f9116: OUTPUT«Operation not permitted in safe mode in 'Safe::forbidden' at line 2:/tmp/EjBG8xSS2S in main program body at line 22:/tmp/EjBG8xSS2S» | ||
donri | perlpilot: possible but not with builtins, and mostly avoided. you can make your own dict type though. also there's defaultdict which returns the result of a callable for missing keys | ||
perlpilot | molecules: I guess you want to know if you can do IO on scalars like in Perl 5 ? | ||
molecules | Yes. | ||
perlpilot | molecules: Doubtful. | ||
Tene | I'm very pleased by the look of ruby's new lexically-scoped class augmentation. | 20:43 | |
molecules | Doubtful ever or simply doubtful now? | ||
perlpilot | molecules: just now. IO still needs some work. | ||
molecules | perlpilot: Thanks! | ||
Tene | It whould be fairly easy to implement as a lexical augmentation to the dispatcher in Perl 6, but I'd still like to see something like that specced for Perl 6. | ||
masak | I'd love to see overridable dispatchers. | 20:44 | |
tadzik | at this moment, jnthn should jump out of the box and say "fixed in 6model!" | 20:46 | |
perlpilot | heh | ||
donri | how complete is pynie? | ||
masak | good question. | ||
perlpilot | donri: that's a parrot project. Nothing to do with Perl 6 | ||
tadzik | incomplete. Compiles, doesn't work | ||
donri: poke lucian on #parrot@irc.perl.org | |||
donri | perlpilot: other than parrot having much to do with perl 6? ;) | ||
jnthn | 6MODEL WILL EVEN BRING WORLD PEACE!!!11!! | 20:47 | |
perlpilot | jnthn++ | ||
jnthn | er, it actually is a big step towards custom dispatchers. :) | ||
masak | \o/ | ||
jnthn | Especially given that it doesn't have any notion of a non-custom dispatcher... :) | ||
masak | screw world peace -- I want to override my default dispatcher. | 20:48 | |
donri | 6model? | ||
masak | donri: the Next Big Thing around here. | ||
jnthn | BEGIN { %*HOW<class> := MyMetaClassWithCustomDispatcher; } # there, done | ||
masak | well, except for Niecza. | ||
jnthn: neat! | 20:49 | ||
tadzik | yeah, this is the reason everyone sits doing nothing, for "6model will fix everything anyway" :) | ||
donri | what's it for/do? | ||
tadzik | donri: it's the new metamodel for Rakudo, and possibly anything else | ||
masak | jnthn: what about class hierarchies with heterogenous metaclasses/dispatchers? | ||
jnthn | masak: It's close anyway. :) But I guess we'll also want a non-escape-hatch way. | ||
masak | yeah. | ||
jnthn | masak: Normal subclassing and composition rules apply. | 20:50 | |
Tene | jnthn: could I insert my own method dispatcher for a given lexical block? | ||
jnthn | If your subclass of another meta-class implements its own find_method and publish_method_cache, then you just win by inheritance. | ||
Tene: Erm. | |||
Tene: That's...less trivial. | 20:51 | ||
20:51
rdesfo joined
|
|||
Tene | jnthn: When I asked TimToady about lexically-scoped class augmentation, his answer was that libraries to provide that should be implemented by users through lexically-scoped wrapping of the method dispatcher. | 20:52 | |
That's the context I'm asking about, at least. | |||
jnthn | Tene: The main issue is that wrappers aren't lexically scoped...at least, .wrap ones ain't. | 20:53 | |
Tene | I don't know that he actually said "wrap" | ||
jnthn | Ah, OK | ||
Tene | He just indicated that a lexical block should be able to have a different method dispatcher, and that that dispatcher certainly could redispatch to the outer dispatcher if it wanted to. | 20:54 | |
a more-trivial example than augmentation would be a dispatcher that logged all method calls, for example. | 20:55 | ||
Not that that would be very useful, just that would be sufficient to implement the other. | |||
jnthn | Thinking about it, I suspect this kind of thing is much easier at a macro-ish level than a runtime-ish level. | 20:56 | |
dalek | p-rx: 3090e41 | moritz++ | src/NQP/Grammar.pm: allow <*> as proto regex body |
||
Tene | Could be. | 20:57 | |
masak | bacek, bacek_at_work: gist.github.com/830206 | 21:05 | |
bacek_at_work | masak, sigh... Is it bleeding edge gen_gc2? | 21:06 | |
masak, (hm. no. You can't have this assert if you didn't configure it with -DPARROT_GC_VALIDATE) | 21:07 | ||
21:07
plobsing joined
|
|||
jnthn | Parrot_Perl6MultiSub_mark is near the top of the bt | 21:07 | |
bacek_at_work | masak, what git describe --tags says? | ||
masak | bacek_at_work: I pulled the latest gen_gc2 and built Parrot, then Rakudo. | ||
bacek_at_work | mmm... | 21:08 | |
masak | RELEASE_3_0_0-985-ga133c63 | ||
two commits behind, apparently. | |||
bacek_at_work | Unlikely that these 2 functions are invoked from rakudo. | 21:09 | |
tadzik | Rakudo builds longer than bacek needs to commit :) | ||
21:10
plainhao left,
jferrero joined
|
|||
bacek_at_work | masak, ah-ha... | 21:10 | |
masak | ah-ha? | ||
bacek_at_work | no. I've got write barrier in this place. False alarm | 21:11 | |
Did moritz_ committed my latest patch? | 21:12 | ||
21:12
yarp joined
|
|||
moritz_ | bacek_at_work: yes, as commit 76cd24a19f533346c25f8ff9d0c52f28cf02fe98 | 21:13 | |
bacek_at_work | moritz_, yes, found it. | ||
moritz_ | at least that's the latest I know of | 21:14 | |
bacek_at_work | moritz_, that's the one | ||
jdhore | yahooooo, A Hot Fuzz fan, eh? | ||
bacek_at_work | masak, is it debug or optimized build? | 21:21 | |
masak, nm. I did reproduce it. | 21:22 | ||
masak | debug. | ||
I don't do optimized builds. | |||
tadzik | masak is waiting for Parrot to be fast w/o cheating :) | 21:23 | |
masak | not sure I think --optimize is necessarily cheating. | 21:26 | |
but I value lack of segfaults more than I value speed. | |||
tadzik | nah, just joking around | ||
21:27
icwiener left
|
|||
masak | yes, I understand. :) | 21:27 | |
tadzik | ;) | ||
21:32
kjeldahl left
21:34
jaldhar left,
jaldhar joined
21:38
molecules left,
yarp left
21:39
pigdude joined
|
|||
mfollett | What would cause IO::Socket::INET to fail with "IO::Socket::INET Couldn't create socket."? I tried to open a socket with $socket.open('127.0.0.1', 8000); with netcat listening on 8000 and I keep getting that failure. For sanity I tested and can connect to 127.0.0.1:80 with telnet. | 21:42 | |
Using January's Rakudo * on OS X | |||
I'm guessing it might have something to do with this PIR "sock = root_new ['parrot';'Socket']", but I'm not familiar enough to know what's going on. | 21:44 | ||
21:55
mfollett left
|
|||
bacek_at_work | masak, can you try again? | 21:56 | |
masak, bleeding edge of course :) | |||
perlpilot | blah | ||
perlpilot really wishes mfollett hadn't just left :( | 21:57 | ||
jnthn | heh, I was just trying to find out where the error came from | ||
Not from INET.pm itself, it seems | |||
21:57
donaldh joined
|
|||
masak | bacek_at_work: ok. | 21:58 | |
dukeleto | questions about Parrot sockets? | 22:00 | |
dukeleto hacked on that stuff recently | |||
22:01
mfollett joined
22:02
mrg_ joined
|
|||
mrg_ | hi | 22:02 | |
22:02
mrg_ is now known as zenog
22:03
stkowski joined
|
|||
perlpilot | mfollett: See github.com/rakudo/rakudo/commit/ef...31984fdc5d | 22:03 | |
dalek | kudo: ef3f3fa | perlpilot++ | src/core/IO/Socket/INET.pm: Set the default protocol family to be INET |
||
perlpilot | dalek: you're too slow! | 22:04 | |
22:08
rdesfo_ joined
22:10
rdesfo left
22:14
woosley joined
22:19
saaki joined
22:20
shi left
|
|||
zenog | colomon: I now have a PDL port of my IO and computation intensive Perl 6 benchmark: about 2 minutes vs. 1 hour | 22:21 | |
22:22
shi joined
|
|||
jnthn | zenog: Willing to share the Perl 6 code (if you didn't already)? | 22:22 | |
zenog: I'm working on a bunch of stuff that may make PDL-ish situations a bunch more optimal. | |||
22:23
mfollett left
|
|||
zenog | jnthn: I have an update of the code (may still not be optimal) | 22:23 | |
jnthn: Shall I just put it on nopaste, or do you want to have it somewhere in a repository? | |||
jnthn | zenog: nopaste is fine | 22:25 | |
zenog | jnthn: What I forgot to say: The ~1 hour was only for reading in the data, no computation yet. | ||
jnthn: So there is room for improvement. | |||
jnthn | zenog: Oh. | 22:26 | |
zenog: And the 2 minutes included IO and computation? | |||
zenog | jnthn: Yes. In C#/Java the same stuff takes about 5 sec. | ||
jnthn: Just for perspective, of course I do not expect such a performance from a dynamic language. | |||
jnthn | zenog: Yeah, but Rakudo really needs to do better. :) | 22:27 | |
zenog | jnthn: Perl 6 version here nopaste.info/4acc6ff2ad.html | ||
jnthn: Perl 5/PDL version here nopaste.info/b51fcdeae2.html | 22:28 | ||
The Perl 5 version converges, which is nice. | |||
The Perl 6 version is still buggy when it comes to the result of the computation. I am not sure whether it is a Rakudo bug, some strange numerical effects, or my bad understanding of Perl 6 that cause the bugs ;-) | 22:29 | ||
22:30
pigdude left
|
|||
zenog | But you can use it for IO benchmarking anyway, no matter whether the computation is correct ;-) | 22:30 | |
jnthn | OK :) | 22:31 | |
22:32
perlpilot left
|
|||
zenog | I started with this stuff during FOSDEM, just out of curiosity, then annoyed some people on the channel with it who showed me some obvious mistakes, e.g. colomon++; then chromatic's blog post made me come back to the channel: www.modernperlbooks.com/mt/2011/02/...marks.html | 22:33 | |
22:34
mrg_ joined
22:35
mrg_ is now known as zenog_
|
|||
masak | chromatic++ | 22:37 | |
22:37
zenog left,
woosley left
22:41
TH14 joined
|
|||
masak | TH14: welcome back. | 22:42 | |
TH14 | hey thanks for that | ||
masak | you're welcome. at #perl6, we value our customers, and hope that you will have a pleasant stay. | 22:44 | |
if there's anything you're wondering about, please don't hesitate to contact our corteous and professional staff. | |||
22:44
TH14 left
|
|||
masak | ...or not. | 22:44 | |
Tene | masak: you didn't mention in here if your test against parrot branch after bacek updates was successful or not. | 22:45 | |
sbp | he was disappointed that you misspelled courteous | ||
masak | Tene: still building gen/core | ||
Tene | o.O | ||
masak | sbp: I thought it looked wonky. | ||
Tene | slooooooow | ||
masak | Tene: my VM doesn't have very much RAM. | ||
Tene | it's been almost an hour! | 22:46 | |
:( | |||
masak | yeah, I haven't been too quick about it, either. | ||
jnthn | Isn't this a build that's augmented with a bunch of debug/trace stuff? | ||
donaldh | Tene: rakudo build with gms_gc ? | ||
Tene | donaldh: that's what he's doing, yeah | ||
donaldh | I have a failed build after bacek's last commit | 22:47 | |
took a while mind. | |||
Tene | donaldh: reported to bacek? | ||
donaldh | only just finished | ||
How does bacek like his reports? | |||
22:47
plobsing left
|
|||
jnthn | Well done, with a side of fries | 22:48 | |
Tene | donaldh: dunno; I've never noticed him mentioning a preference | ||
donaldh: you could certainly start with posting the output in a pastebin and sending him a message here or in #parrot | |||
donaldh | :D | ||
masak | I think both gists and parrot/trac tickets work. | ||
Tene | donaldh: email probably wouldn't be bad either. | ||
jnthn | afk for a bit | ||
masak | bonus points for doing gdb on the thing that blows up. | ||
donaldh | It's a failed assertion !PObj_on_free_list_TEST | 22:49 | |
So gdb won't be much help :-/ | 22:50 | ||
masak | oh, ok :/ | ||
22:50
zenog_ left
|
|||
donaldh | I imagine the damage is done some time earlier. | 22:50 | |
22:51
starcoder left
22:56
starcoder joined
|
|||
masak | rakudo: use Test; plan 1; eval_lives_ok { 1 } | 22:58 | |
p6eval | rakudo 6f9116: OUTPUT«1..1get_attr_str() not implemented in class 'Sub' in main program body at line 7461» | ||
masak | now confirmed locally, too. | ||
masak submits rakudobug | |||
bacek_at_work: things work much better now. closing parrot trac ticket. | |||
23:01
alester left
|
|||
bacek_at_work | masak, good. I still have feelings that there is some yaks to shave. | 23:05 | |
masak | bacek_at_work: you're not alone in that feeling :P | ||
bacek_at_work: running spectests now to see if something falls out. | |||
bacek_at_work | masak, S02-builtin_data_types/instants-and-durations.t can fail due floating point rounding. | 23:07 | |
masak, same as with parrot master | 23:08 | ||
masak, can you also try configure parrot with --optimize --ccflags="-DPARROT_GC_VALIDATE"? It can reveal more yaks. | |||
23:09
stkowski left
|
|||
masak | bacek_at_work: may I ask to postpone this task until tomorrow? building takes some time here, and it is getting near my bedtime. :) | 23:09 | |
23:10
shi left
|
|||
bacek_at_work | masak, of course :) | 23:10 | |
masak | I shan't forget you :) | ||
23:15
jasonmay left
23:18
ponpon left
23:20
ponbiki joined,
plobsing joined
23:22
whiteknight joined
23:24
jasonmay joined
23:30
envi left
23:34
pmurias joined
|
|||
pmurias | sorear: hi | 23:34 | |
dalek | ecza: 1d616cd | pmurias++ | cl-backend/ (2 files): [cl-backend] foreign stash entries are for now filled in with dummy |
23:36 | |
ecza: e8b62fe | pmurias++ | / (2 files): [cl-backend] support sub foo($) {...} |
|||
ecza: 58cb2b5 | pmurias++ | / (2 files): [cl-backend] implemented indirect method calls - $foo."$bar"(...) works |
|||
23:40
chitragupt left
23:41
chitragupt joined
23:44
pmurias left
|
|||
colomon | phenny: tell zenog I certainly wasn't annoyed with his program. I just ran out of tuits to look at the longer version.... | 23:52 | |
phenny | colomon: I'll pass that on when zenog is around. | ||
23:54
mfollett joined
|