»ö« 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:03
cognominal_ left
00:04
cognominal_ joined
|
|||
TimToady | diakopter: yes, LTM is supposed to be transitive | 00:06 | |
00:15
xinming_ joined
00:18
xinming left
|
|||
dalek | blets: 595cc97 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt: sharpen explanation of scope |
00:21 | |
00:24
shinobicl left
00:25
isBEKaml left
00:32
drschumtzenberg_ left
00:38
colomon left
00:39
integral left
00:43
replore joined
00:45
integral joined,
integral left,
integral joined,
tokuhirom joined
00:56
thou left
00:57
fgomez left
01:01
lestrrat left
01:02
lestrrat joined
01:04
tyatpi left
01:06
scott_ joined,
scott_ is now known as Guest88951
01:07
havenn joined,
fgomez joined
01:19
tyatpi joined
01:35
shinobicl joined
01:43
tokuhirom left
01:48
whiteknight left
01:54
havenn left
01:58
havenn joined
02:05
havenn left
02:06
bjarneh left
02:11
scott_ joined,
scott_ is now known as Guest51018
02:14
Guest88951 left
02:34
orafu left,
orafu joined
02:40
lestrrat left
02:41
lestrrat joined
02:58
tyatpi left
03:12
tyatpi joined,
sivoais left,
sivoais joined
03:28
leprevost joined,
colomon joined
03:54
shinobicl left,
shinobicl joined
04:01
replore left
|
|||
shinobicl | hi | 04:01 | |
i don't know if it is possible to implement, i'm not familiarized with the github api... but, could be possible to add a "medal" in modules.perl6.org to the modules that have wikis? | 04:02 | ||
04:08
shinobicl left
04:17
shinobicl_ joined
04:19
skids left
04:32
noam_ left
04:33
noam_ joined
04:36
sisar left
04:38
shinobicl_ left
05:05
alvis``` joined
05:06
alvis`` left
05:09
diakopter left
05:10
TimToady left,
diakopter joined,
TimToady joined
05:12
snarkyboojum left,
snarkyboojum joined
|
|||
moritz | oh shark | 05:16 | |
sorear | o/ | 05:19 | |
05:22
birdwindupbird joined
05:26
noam_ left,
noam_ joined
05:27
noam_ left,
noam_ joined
05:37
sftp left,
mdupont joined
05:38
snearch joined,
xinming_ is now known as xinming
05:41
kaleem joined
05:47
silug left,
icwiener left
|
|||
tadzik | oh shark | 05:51 | |
05:53
alvis```` joined
05:54
alvis``` left,
rsimoes joined
06:05
cognominal___ joined
06:08
cognominal_ left
06:11
Guest51018 left,
scott_ joined,
scott_ is now known as Guest76640
06:22
wtw joined,
adu joined
|
|||
adu | hi [Coke] | 06:24 | |
perl6: (a => 1).HOW | 06:25 | ||
p6eval | pugs, rakudo d61049, niecza v17-3-gdaf09af: ( no output ) | ||
adu | perl6: (a => 1).WHAT | ||
p6eval | pugs, rakudo d61049, niecza v17-3-gdaf09af: ( no output ) | 06:26 | |
adu | perl6: (a => 1).WHICH | ||
p6eval | pugs, rakudo d61049, niecza v17-3-gdaf09af: ( no output ) | ||
adu | rakudo: (a => 1).WHAT | ||
p6eval | rakudo d61049: ( no output ) | ||
sorear | adu: I think you're missing something. | 06:29 | |
adu | what am I missing? | 06:30 | |
moritz | somthing that produces output :-) | ||
adu | rakudo: say (a => 1).WHAT | ||
p6eval | rakudo d61049: OUTPUT«Pair()» | ||
adu | lame, there should be a REPL | ||
moritz | there is | ||
on the command line | |||
we have experimented with showing the return value instead of output | |||
06:30
tyatpi left
|
|||
moritz | but it was very confusing at times | 06:31 | |
adu | oh | ||
sorear | when people run the same command four times, it makes me wonder what they are thinking | ||
moritz | so we decided it's less confusing to just require a say or a print somewhere | ||
sorear: it wasn't the same four times | |||
sorear | s/same/excessively similar/ | ||
moritz | r: say (a => 1).WHICH | 06:32 | |
p6eval | rakudo d61049: OUTPUT«Pair|-395195434» | ||
adu | I've been learning perl for about 3 days | ||
give me a break | |||
sorear | exactly | ||
I want to know what you were thinking | 06:33 | ||
adu | well, I have seen code with all of those methods | ||
sorear | I can't put myelf in your shoes because I've known perl for far too long | ||
unless I ask | |||
adu | I was hoping one of them would give me something interesting | ||
and I thought "perl6:" would give me what I ask for, instead of what I ask to print | 06:34 | ||
moritz | ah well, now you know better :-) | ||
adu | ok | ||
moritz | lesson learned, everybody happy, peace spreads over the world | ||
adu | well, if I were the botmaster, then I would have 2 bots, perl6io (requiring "say") and perl6 (ignoring io and auto-printing $_.Str) | 06:35 | |
moritz | that would be worth experimenting with, I think | 06:38 | |
jnthn | monring | 06:55 | |
uh, however you spell it... | 06:56 | ||
jnthn slurps the coffee harder | |||
adu | hi jnthn | 06:57 | |
jnthn | hi | 06:58 | |
adu | did we have a conversation? | ||
jnthn | I...think I've seen you here before. :) | ||
adu | :) | 06:59 | |
I'm probably one of 50 people writing a scheme for parrot | |||
jnthn | moritz: Hmm...Rakudo release seems to be quite early this month... | 07:00 | |
sorear | I'm not sure Parrot has 50 users, total | ||
jnthn | Next week, iiuc | ||
jnthn gets to work on $dayjob | |||
tadzik | adu: then people would just forget to write 'p6io' instead of 'p6', I guess | 07:03 | |
adu | tadzik: that was my rationale | 07:04 | |
tadzik | I don't see a point then :) | ||
adu | tadzik: the point is that if you can remember to put a "say" in front of whatever it is that you are interested in, then you can also remember to add an io to the name | 07:05 | |
tadzik | okay | ||
adu | my guess is that if you are are not aware of either, then you are aware of neither | 07:06 | |
hmm, too many are's | 07:07 | ||
adu must be a pirate | |||
07:12
brrt joined
07:15
cognominal___ left
07:16
cognominal joined,
fhelmberger joined
|
|||
mikec__ | morning | 07:19 | |
07:22
kresike joined
|
|||
sorear | hello mikec__ | 07:23 | |
07:26
cognominal left
07:27
cognominal joined
07:30
adu left
|
|||
moritz | jnthn: aye, early release, but we have already done a bunch of awesome stuff done since the point release | 07:31 | |
sorear | moritz: what do you think of adu's proposal? | 07:46 | |
moritz | sorear: it might be worth trying | ||
sorear: otoh the confusion when we mixed output and return values is likely to reappear if we do it | 07:47 | ||
07:48
fglock joined
07:49
rafl left
07:50
rafl joined
07:51
goraki joined
|
|||
dalek | kudo/nom: 9df9957 | moritz++ | src/core/Rat.pm: Rat.ceiling which does not go through Num |
07:52 | |
ast: 049170f | moritz++ | S32-num/rounders.t: Rat.ceiling unfudges |
07:53 | ||
08:02
goraki left
08:03
goraki joined
|
|||
TimToady | perl6: gist.github.com/2648301 | 08:04 | |
sorear | sleep& | 08:05 | |
p6eval | pugs: OUTPUT«***  Unexpected " {" expecting operator or block construct at /tmp/5M_ObBSlpf line 17, column 26» | ||
..rakudo d61049, niecza v17-3-gdaf09af: OUTPUT«0.00000000dc0.000000la-101010.111111111111111111111111111111111111111111111101» | |||
TimToady | moritz: ^^ here's a version that does other bases than just 10 | ||
using the same size-by-denominator rule | |||
moritz | TimToady: fwiw $r.denominator.base($base).chars + 1 is probably slower than $!denominator.log($base).ceiling | 08:07 | |
TimToady | yes, I suspect you're right | ||
08:07
snearch left
|
|||
moritz | erm, needs +1 too | 08:07 | |
08:08
cognominal left
|
|||
moritz | in Rat.Str, should $base be a named argument? | 08:08 | |
TimToady | not clear whether you want to replace the decimal version or multi this alongside | ||
08:08
kaleem left
|
|||
TimToady | Oh, likely, but .base(16) presumably calls that | 08:09 | |
08:09
cognominal joined
|
|||
TimToady | dunno how your internals are set up, actually | 08:09 | |
just thought I'd do the base version as a kind of puzzle, since the current .base() always truncates at 6 digits | 08:10 | ||
it's also likely that we want hand optimized versions for common bases, esp decimal | 08:13 | ||
anyway, have fun, TimToady is also wandering off to bed... & | |||
08:23
alim joined
08:27
SatoAmbush joined
|
|||
jnthn | moritz: Yes, the ChangeLog already is looking nice :) | 08:27 | |
08:29
SatoAmbush left
|
|||
dalek | kudo/nom: 6a660de | moritz++ | docs/ChangeLog: three more changelog items |
08:31 | |
tadzik | oh, it's release week, indeed | 08:32 | |
moritz | tadzik: and you're the release manager, iirc :-) | 08:33 | |
tadzik | oh, it's not :) | ||
2012-05-17 Rakudo #52 tadzik | |||
moritz | yeah, 6 days | ||
08:33
kaleem joined
|
|||
tadzik | cool | 08:33 | |
moritz | r: say Date.new('2012-05-17') - Date.today | 08:34 | |
p6eval | rakudo 9df995: OUTPUT«6» | ||
08:41
lestrrat left
08:42
lestrrat joined
08:43
broquain1 joined,
broquain1 left
08:45
broquaint joined
|
|||
goraki | How does one go about helping with the tablets (beginner style helping, spell checking, for instance)? | 08:50 | |
masak | r: module Next { our sub thursday { next_wd(4) } }; say Next::thursday - Date.today | 08:51 | |
p6eval | rakudo 9df995: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&next_wd' called (line 1)» | ||
masak | r: module Next { our sub thursday { next_wd(4) }; sub next_wd($wd) { (Date.today.succ ... *.day-of-week != $wd)[*-1] } }; say Next::thursday - Date.today | ||
p6eval | rakudo 9df995: OUTPUT«Cannot call 'Numeric'; none of these signatures match::(Mu:U \$v, Mu *%_) in method Numeric at src/gen/CORE.setting:666 in sub prefix:<-> at src/gen/CORE.setting:2230 in block <anon> at /tmp/kn5DmsSsWV:1» | ||
masak | r: module Next { our sub thursday { next_wd(4) }; sub next_wd($wd) { (Date.today.succ ... *.day-of-week != $wd)[*-1] } }; say Next::thursday | ||
p6eval | rakudo 9df995: OUTPUT«2012-05-12» | ||
masak | hrm. | 08:52 | |
moritz | goraki: submit a pull request on github | ||
goraki: if we like your changes, you'll get a commit bit very soon | |||
masak | r: module Next { our sub thursday { next_wd(4) }; sub next_wd($wd) { (Date.today.succ ... *.day-of-week == $wd)[*-1] } }; say Next::thursday | ||
p6eval | rakudo 9df995: OUTPUT«2012-05-17» | ||
masak | \o/ | ||
r: module Next { our sub thursday { next_wd(4) }; sub next_wd($wd) { (Date.today.succ ... *.day-of-week == $wd)[*-1] } }; say Next::thursday - Date.today | |||
p6eval | rakudo 9df995: OUTPUT«Cannot call 'Numeric'; none of these signatures match::(Mu:U \$v, Mu *%_) in method Numeric at src/gen/CORE.setting:666 in sub prefix:<-> at src/gen/CORE.setting:2230 in block <anon> at /tmp/P5Z3zJmt5e:1» | ||
masak | r: module Next { our sub thursday { next_wd(4) }; sub next_wd($wd) { (Date.today.succ ... *.day-of-week == $wd)[*-1] } }; say Next::thursday() - Date.today | ||
moritz | goraki: github.com/perl6/tablets has the sources | ||
p6eval | rakudo 9df995: OUTPUT«6» | ||
masak | \o/ | ||
goraki | moritz: cool, will do that. thanks. | 08:53 | |
moritz is glad to see an influx of contributors | |||
masak .oO( influx:<contributors> ) | 08:55 | ||
moritz | r: sub influx:<contributors>() { } | 08:58 | |
p6eval | rakudo 9df995: OUTPUT«===SORRY!===Cannot add tokens of category 'influx'at /tmp/5rfPMwZkko:1» | ||
moritz | that one used to be a NPMCA | ||
masak | o/ it's fun to stay at the N-P-MC-A o/ | 09:01 | |
doesn't scan as well, methinks... | 09:02 | ||
moritz | masak: I think that dance requires more than one hand to be raised :-) | ||
masak | oh, those were music notes... :) | ||
.u note | |||
phenny | U+266A EIGHTH NOTE (♪) | ||
masak | next time I'll use that one. less ambiguous. :) | 09:03 | |
moritz | unimasak++ | ||
masak runs and registers unimasak.com | |||
"It slices. It dices. It submit bug reports!" | |||
submits* | 09:04 | ||
moritz | heh, interview question: write a palindrom checker. I wonder how many applicants consider grapheme clusters :-) | ||
masak | shouldn't the language or a core-ish library just supply a method that reverses strings on a glyph level? | 09:05 | |
that would seem to be what you'd want most of the time. | |||
moritz | do you know any language that does? | 09:06 | |
masak | no. | ||
moritz | p6 is supposed to, but no compiler does it | ||
libicu can probably do it | |||
unrelated: www.msnbc.msn.com/id/47363062/ns/te...ck-humans/ | 09:08 | ||
masak | it would be interesting to analyze IRC rituals from the viewpoint of primate territorial behavior. | 09:12 | |
moritz | interesting, and possibly scary :-) | 09:13 | |
DrEeevil | hrm, the feces-flinging aspect would explain a lot | 09:14 | |
09:14
drschumtzenberg joined
|
|||
masak | yeah, nihil novi sub sole. | 09:15 | |
moritz | phenny: "nihil novi sub sole"? | ||
phenny | moritz: "nihil novi sub sun" (it to en, translate.google.com) | ||
moritz | meh | ||
masak | phenny: la en "nihil novi sub sole"? | ||
phenny | masak: "nothing new under the sun" (la to en, translate.google.com) | ||
moritz | "nothing new under the sun"? | ||
masak | language guessing fail. | ||
moritz | phenny: en la "language guessing fail"? | 09:16 | |
phenny | moritz: "lingua coniectura inminutus" (en to la, translate.google.com) | ||
masak | why would GT even think that Latin and Italian are even remotely... oh wait :P | ||
DrEeevil | nothing new under the shoesole? ;) | 09:18 | |
masak | there's this scene from "Sopranos" where a guy describes the fall of the Roman empire to the mafiosos, and asks rhethorically "and where are those Romans now?" -- they reply "You're talking to them, you klutz" :) | ||
(but some other word than "klutz", probably) | |||
dalek | blets: 438d7be | (Hayden Stainsby)++ | docs/appendix-b-grouped.txt: Corrected a couple of minor grammatical errors. |
09:20 | |
blets: ad6d316 | moritz++ | docs/appendix-b-grouped.txt: Merge pull request #8 from hds/master Appendix B grammatical change |
|||
09:21
daxim joined
09:26
cognominal_ joined
09:29
cognominal left
09:31
sisar joined
09:39
erkan left
09:46
NamelessTee joined
|
|||
moritz | r: enum Stringish a => 'some a', b => 'some b'; say a | 09:51 | |
p6eval | rakudo 6a660d: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&Stringish' called (line 1)Undefined routine '&enum' called (line 1)Undefined routine '&a' called (line 1)» | ||
moritz | r: enum Stringish (a => 'some a', b => 'some b'); say a | 09:52 | |
p6eval | rakudo 6a660d: OUTPUT«===SORRY!===This type cannot unbox to a native integer» | ||
moritz | jnthn: in the enum action method, is there a good reason to use the constant folder instead of $*W.compile_time_evaluate (now that we have it)? | 09:56 | |
09:58
localhost left
10:00
localhost joined,
bbkr left
10:03
bbkr joined
10:07
bbkr left
|
|||
masak | tias? | 10:10 | |
moritz | takes quiet some time :/ | 10:11 | |
masak hugs moritz | 10:12 | ||
maybe I'll have time to try it locally during the day. | 10:13 | ||
jnthn | .oO( but loud goes quite fast! ) |
||
moritz: No, that code pre-dates BS | |||
tadzik | "maybe I'll have time to try it locally during the day." Hugging moritz? :) | 10:14 | |
moritz | jnthn: ah, that was to support -1 as a value, right? | ||
masak | tadzik: most things in this world are eventually consistent. hugs, however, are immediate. :) | 10:15 | |
jnthn | right | ||
tadzik | :) | ||
jnthn | masak: So hugs don't scale out well? | ||
tadzik | it's hard to hug someone who scales out well :P | ||
masak | jnthn: as someone who has once been at the bottom of a 6-person hug pile, I can emphatically say that hugs don't scale out well. | 10:16 | |
10:16
lestrrat left
|
|||
masak .oO( or is that "scale up"? ) | 10:16 | ||
tadzik | oh, do you know the game of Grenade too? P | ||
:P | |||
mikec__ | hugs scale better horizontally than vertically | ||
masak | tadzik: no, this wasn't a game. this was spontaneous physical therapy. | ||
mikec__ | due to gravity | ||
tadzik | I see | 10:17 | |
10:17
lestrrat joined
|
|||
moritz | I have a patch locally that makes 'enum A (x => "foo")' survive | 10:18 | |
but, it still coerces to Int silently somewhere | 10:19 | ||
jnthn | moritz: The whole enum code is very Int-centric today | ||
moritz: The way it should be done is to call .succ | |||
Instead of assuming int, coercing, adding one, etc. | |||
moritz | jnthn: that's why my patch does | 10:20 | |
jnthn: though it only changes Actions.pm so far, neither World nor EnumHOW | |||
jnthn | moritz: OK, then I get the fail is in the world method to add the enum element | ||
moritz | s/why/what/ | ||
jnthn | That method can probably become way simpler I suspect | ||
I think EnumHOW should be totally comfortable with non-numeric enums. | |||
10:20
bbkr joined
|
|||
jnthn | It shoudl only be compiler changes that are needed. | 10:20 | |
moritz | well, what it currently does is to box into the enum type | 10:21 | |
so I think I must fix boxability of it somehow | |||
jnthn finds the code on github | 10:22 | ||
(may have to disappear to help folks doing regexercises at any point :)) | |||
dalek | kudo/enum-nonint: 417d760 | moritz++ | src/Perl6/Actions.pm: start to make enums less int centric |
||
moritz | in particular, method create_enum_value in World | ||
my $val := pir::repr_box_int__PiP($value, $enum_tpe_obj); | |||
the $enum_type_obj is of the type that it creates for that enum, right? | 10:23 | ||
so in enum A <b c>, that's A | |||
jnthn | Yes | ||
moritz | so I need to fix $*OFTYPE somehow | 10:24 | |
jnthn | uh | 10:25 | |
At the moemtn it assumes you have to declare up front if you want a strign based enum | |||
our Str enum A <b c>; | |||
$*OFTYPE holsd the Str there | 10:26 | ||
But I guess maybe that is not the whole story. | |||
moritz | is that what the spec says? | ||
10:26
sisar left
|
|||
jnthn | It certainly says you can put a type there. | 10:26 | |
However, i think enum A (:b('lol')); | |||
Is also meant to work out. | 10:27 | ||
10:27
sisar joined
|
|||
moritz | so... we defer constructing the enum type object until we know what type it's made of? | 10:27 | |
jnthn | Which there ain't anything in palce to support right now. | ||
Yeah, we'd have to re-order things as they current stand | 10:28 | ||
That is Ok though. | |||
I think it's fairly clear that all of the values have to have the same type too. | |||
moritz | it seems that Perl6::Metamodel::BaseType already supports setting the base type later | 10:29 | |
jnthn | In the case there's an OFTYPE we should check all the values conform to that. In the case there's not, we take the type of the first value and ensure the rest are the same. | ||
moritz | right | ||
jnthn | Yeah, but you may need to know the base type in order to make elements. | 10:30 | |
In fact, probably do. | |||
moritz | yes | ||
jnthn | The code int he World method that sets $!value should just set whatever is passed in though, not re-box. | ||
moritz | but it means we can do this order: create enum type object with unknown base type, then look at the first pair, then set the base_type | 10:31 | |
jnthn | nom: enum A <b c>; say A.^mro | ||
p6eval | rakudo 6a660d: OUTPUT«A() Int() Cool() Any() Mu()» | ||
jnthn | Yes we can. | ||
Additionally... | |||
moritz | and only then install the first pair | ||
jnthn | Since the enum type always singly inherits from the base type, you can create the enum value by: | ||
1) cloning the value | 10:32 | ||
2) reblessing it into the enum type | |||
moritz | how do I do the reblessing? | ||
I thought we didn't support that :-) | |||
jnthn | See Misin.pm | ||
er | |||
Mixin | |||
Sure we do, otherwise we couldn't have does and but ;) | |||
moritz | pir::repr_change_type__0PP \o/ | 10:33 | |
anyway, lunch first | |||
I hope I'll learn a bit more details about our MOP in the process | |||
jnthn | We support it as long as the MRO of the target type has the current type's MRO as its suffix. | ||
10:35
Guest76640 left,
MContagious joined
11:05
brrt left
11:09
erkan joined,
erkan left,
erkan joined
|
|||
dalek | blets: b64d1fe | (Herbert Breunung)++ | docs/appendix-b-grouped.txt: explanation to junctions table in B |
11:13 | |
blets: a4e7f32 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt: Merge branch 'master' of github.com:perl6/tablets |
|||
11:13
snearch joined
11:17
snearch left
11:24
fhelmberger left,
broquaint left
11:25
broquaint joined
|
|||
moritz | r: say pir::defined(Int) | 11:33 | |
p6eval | rakudo 6a660d: OUTPUT«Method 'gist' not found for invocant of class 'Integer' in sub say at src/gen/CORE.setting:6616 in block <anon> at /tmp/2I5AOP7NeH:1» | ||
moritz | r: say nqp::p6box_i(pir::defined(Int)) | ||
p6eval | rakudo 6a660d: OUTPUT«0» | ||
11:33
NamelessTee left
|
|||
moritz | nqp: sub f($x?) { say(pir::isnull($x)) } | 11:33 | |
p6eval | nqp: ( no output ) | ||
moritz | nqp: sub f($x?) { say(pir::isnull($x)) }; f() | ||
p6eval | nqp: OUTPUT«0» | ||
11:35
domidumont left
|
|||
moritz | n: our Str enum A (b => 'c'); say A::b | 11:36 | |
p6eval | niecza v17-3-gdaf09af: OUTPUT«b» | ||
moritz | n: our Str enum A (b => 'c'); say A::b.Str | ||
p6eval | niecza v17-3-gdaf09af: OUTPUT«b» | ||
moritz | n: our Str enum A (b => 'c'); say A::b.value | ||
p6eval | niecza v17-3-gdaf09af: OUTPUT«c» | ||
11:38
domidumont joined
|
|||
masak | <jnthn> We support it as long as the MRO of the target type has the current type's MRO as its suffix. | 11:39 | |
am I correct in concluding that this means that we allow downcasts (to a deriveder type) but not upcasts (to a baser type). | 11:40 | ||
s/\./?/ | |||
moritz | sounds correct | ||
11:44
JimmyZ joined
|
|||
masak | hm. perhaps I'm just used to downcasts from Java. but there the distinction between runtime type and static type is made in a way that's not made in Perl 6. | 11:45 | |
11:45
mucker joined
|
|||
masak | (i.e. you're allowed to downcast if the runtime type of your object is same-or-deriveder than the type you're downcasting to) | 11:46 | |
and maybe just as well that downcasts don't work, 'cus they would be a devious way to break object invariants. and we don't need more of those. | 11:47 | ||
moritz | well, the Java downcasts are always just about the static type | 11:48 | |
masak | right. | ||
moritz | I don't think you can actually change the dynamic type of an object | ||
masak | good point. | ||
11:48
alim left
|
|||
masak | so in Perl 6 we're "actually" casting, whereas in Java it's more about changing the type of a pointer. | 11:49 | |
11:49
alim joined
|
|||
moritz | at run time, the java cast is actually just a type check | 11:51 | |
masak | in the case of a downcast, yes. | ||
in the case of an upcast, I don't see why there'd need to be a check. | |||
moritz | erm, is there an explicit upcast, ever? | 11:52 | |
masak | sure there is. | ||
moritz | what's the use case? | ||
masak | can't think of any, but it's part of the language. | ||
Liskov would suggest that all explicit upcasts are misguided, sure. | |||
moritz | I was just about to write that :-) | 11:53 | |
masak | but there are badly written generic types out there, etc. | ||
writing good generics in Java is hard :/ | |||
11:53
drschumtzenberg left
|
|||
moritz | because of type erasure? | 11:53 | |
masak | no, because... hm. | 11:54 | |
I think it's mostly a syntax thing. plus having to care about covariance and contravariance as a generic API author. | 11:55 | ||
.NET syntax makes similar situations seem almost trivial, from what I've seen. | |||
s/\.NET/C#/ | |||
moritz | hm, fudging in the base_type later into an enum doesn't seem to work :( | 11:58 | |
it accesses the mro before that | |||
and the mro depends on the base tyep | |||
*type | |||
touch beans. | |||
moritz idly wonders if "tough beans" comes from the Java world | |||
masak | public static <T extends Comparable<? super T>> void sort(List<T> list) // know why there's both 'extends' and 'super' in a *nested* generic type there? for *sort*? well, I do, and I think it sucks. | 11:59 | |
moritz | I can see why you need the 'extends' | 12:00 | |
12:00
kaleem left
|
|||
moritz | but why the 'super'? | 12:00 | |
moritz a java noob | |||
masak | the 'extends' comes from the fact that you're sorting a list of elements that aren't necessarily Comparable objects (in fact, you can't instantiate Comparable since it's an interface). | ||
the 'super' comes from the fact that the callback .compare used in Comparable takes T values (whatever they are) as parameters. things that take parameters are sinks, and thus contravariant. | 12:01 | ||
moritz | uff | 12:02 | |
masak | it's all really interesting! but when I explain it to people, their brains explode. :/ I'd prefer to code in a language where it was obvious instead. C# seems to do better on that front. | ||
moritz | I see what you mean (re "it sucks") | ||
masak | yeah. | ||
notice also how the generic type manages to be *recursive* (it declares and references T). | 12:03 | ||
saying essentially "the type T must extend the type Comparable which is generic on things that the type T can have as a base type". | |||
masak 's brain asplodes | 12:04 | ||
moritz | the way I understand Liskov, "that the type T can have as a base type" could be replaced by just "T", no? | ||
in a sane programming language, that is :-) | 12:05 | ||
12:05
drschumtzenberg joined
|
|||
masak | no, that's not the problem. | 12:05 | |
generics are a wider concept than covariance and contravariance. simply, generics are invariant by default. | 12:06 | ||
that's what you get when you write Type<T> | |||
to switch on covariance you do Type<? extends T>. to switch on contravariance you do Type<? super T>. | 12:07 | ||
so far, it's all good. the only reason it gets messy so far as I can see is that you need to care about those concepts at all. | |||
C# solves it all with some where-clause syntax. much nicer. | |||
then again, C# generics were made with the hindsight of Java generics :) | 12:08 | ||
moritz | can't the compiler know where covariance and where contravariance is required? | ||
masak | interesting question. | 12:11 | |
I don't know. but it's tied to what you do with the data, so at minimum it's tricky. | |||
12:13
bjarneh joined
|
|||
masak | we like to think that arrays are covariant. i.e. Array[Banana] <: Array[Fruit]. but that's only true for read-only Arrays. | 12:14 | |
elsewise you'd be able to upcast the Banana Array to a Fruit Array and insert a Pear. | |||
similarly, write-only arrays are contravariant :P | 12:15 | ||
moritz | also known as KitchenSink | ||
dalek | kudo/enum-nonint: 24a3016 | moritz++ | src/ (3 files): [enum] defer creation of type object until we know the base type now setting compilation blows up in term:sym<name> with Can only use nqp_get_sc_for_object with a SixModelObject |
12:19 | |
12:21
snearch joined
12:27
MContagious left
|
|||
moritz | en.wikipedia.org/wiki/Covariance_a...%29#Eiffel Citation needed! | 12:29 | |
12:30
woosley joined
12:33
cognominal_ left
|
|||
masak | well, Liskov is a convention in most languages. | 12:33 | |
dalek | kudo/nom: 4cfdb7c | moritz++ | src/Perl6/Actions.pm: get rid of two Q:PIR blocks |
12:34 | |
moritz | well | ||
depends on how you phrase it | |||
you can always throw an exception in a method in a derived class | |||
so the compiler cannot generally enforce Liskov substitutability | 12:35 | ||
masak | right. | ||
12:35
cognominal joined
|
|||
moritz | but as far as compile time type checks are concerned, nearly all statically typed languages enforce Liskov | 12:35 | |
masak | as far as compile time type checks *on one single class at a time* are concerned. | 12:36 | |
there's this example with a Child <: Person going to a Pediatrist <: Doctor. | |||
and you end up with a situation where you, in statically typed languages, can't make Persons go only to the type of Doctor they were meant to. | 12:37 | ||
12:39
leprevost left,
wolfman2000 left
12:40
tokuhirom joined
12:41
fh1920 joined
12:47
fh1920 left
|
|||
bbkr | hm, 'use URI;' from latest Star release segfaults on my machine (OS X 10.7.3 and 10.7.4), is it known issue? | 12:53 | |
timotimo | r: use URI; | ||
p6eval | rakudo 6a660d: OUTPUT«===SORRY!===Could not find URI in any of: /home/p6eval/.perl6/lib, /home/p6eval/nom-inst2/lib/parrot/4.3.0-devel/languages/perl6/lib» | ||
timotimo | star: use URI; | ||
p6eval | star 2012.04: OUTPUT«(signal SEGV)» | ||
timotimo | at least i just reproduced it :) | 12:54 | |
mikec__ | haha | 12:55 | |
12:55
PacoAir joined
|
|||
masak submits rakudobug | 12:55 | ||
bbkr | IETF::RFC_Grammar loads fine | 12:57 | |
12:58
mucker left
12:59
not_gerd joined
|
|||
not_gerd | r: gist.github.com/2659460 | 13:00 | |
p6eval | rakudo 6a660d: OUTPUT«42/1 = 42.01/5 = 0.02-4/3 = -1.(03)...19/12 = 1.058(3)...1/97 = 0.(0010309278350515463917525773195876288659793814432989690721649484536082474226804123711340206185567)...» | ||
not_gerd | ^ Rat to Str conversion handling repeated decimals | ||
still off-by-one somewhere, though | |||
there's a superfluous 0 | 13:01 | ||
jnthn | masak: Your question about casts is odd. repr_change_type isn't casting. If anything, it's a coercion, but in-place. | 13:06 | |
13:07
lutok joined
|
|||
masak | jnthn: casting, coercion. compare and contrast. | 13:07 | |
13:08
lutok left
|
|||
jnthn | Casting changes how you view a reference (and may or may not check that's sane; Java/C# check, C doesn't). | 13:09 | |
Coercion actually causes a change in representation. | 13:10 | ||
[Coke] | (writing scheme for parrot!) Hey, we could have used you 12 years ago. | ||
jnthn | They are often confused because many C family languages use the same syntax for both. | ||
masak | ah. | 13:12 | |
jnthn++ # 'splainin' | |||
note that I got pretty close with some of the comments I made (e.g. "all Java does is change the type of a pointer") | |||
13:14
fglock left
|
|||
jnthn | Yeah, though that maybe makes it sound like it's actually mutating something. Whereas in reality it compiles to an "is it OK to proceed" check :) | 13:14 | |
masak | nodnod. | 13:16 | |
13:19
bacek left
13:20
plutoid joined
13:28
isBEKaml joined
|
|||
[Coke] | phenny: tell adu folks in #parrot are interested in your interest in scheme on parrot. (on irc.perl.org) | 13:29 | |
phenny | [Coke]: I'll pass that on when adu is around. | ||
13:29
tyatpi joined
|
|||
tadzik | bbkr: does it help if you recompile URI? Or remove its .pirs? | 13:38 | |
bbkr | checking.. | 13:39 | |
tadzik | URI is one of the things that precompile non-deterministically :/ | ||
bbkr | tadzik: removing URI.pir fixed this issue | 13:41 | |
tadzik | interesting. Here it doesn't segfault, i merely fails to load a module | 13:44 | |
'No STable at index 4' or so | |||
13:47
adu joined
|
|||
not_gerd | p6: gist.github.com/2659460 | 13:48 | |
p6eval | rakudo 4cfdb7: OUTPUT«42/1 = 42.01/5 = 0.2-4/3 = -1.(3)...19/12 = 1.58(3)...1/97 = 0.(010309278350515463917525773195876288659793814432989690721649484536082474226804123711340206185567)...» | ||
..niecza v17-3-gdaf09af: OUTPUT«Use of uninitialized value in numeric context at /home/p6eval/niecza/lib/CORE.setting line 1224 (warn @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 262 (Any.Numeric @ 6)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.se… | |||
..pugs: OUTPUT«***  Unexpected "nom" expecting operator, ":" or ")" at /tmp/W6AxW_JLlU line 11, column 24» | |||
dalek | ecza: e5b869e | (Solomon Foster)++ | lib/CORE.setting: Add Rat.Rat and Rat.norm. |
13:54 | |
[Coke] | NORM! | 13:55 | |
dalek | ast: 7dd4b68 | (Solomon Foster)++ | S32-num/rat.t: Change Rat.Str test to match current spec, add related tests and simple test for Rat.norm. |
13:57 | |
14:01
snearch left,
shinobicl_ joined
14:16
not_gerd left,
mucker joined
14:18
tokuhirom left
14:21
kaleem joined
14:29
smash left,
PacoAir left,
smash joined
14:30
skids joined
14:31
isBEKaml left
14:37
cogno_ joined
14:39
kaleem left
|
|||
cogno_ | Jnthn++ # explaining casting, coercion | 14:41 | |
masak | & | 14:42 | |
14:42
thou joined
14:44
wtw left
14:49
goraki left
14:52
goraki joined
14:53
goraki left
14:55
colomon left
14:56
shinobicl joined
14:57
goraki joined
|
|||
jnthn | decommute & | 15:01 | |
15:02
lucas_ joined,
shinobicl_ left
15:06
cogno_ left
|
|||
flussence wishes `cpan` had a --install-required-modules-automatically-until-this-command-stops-spitting-out-missing-module-errors=, or something | 15:08 | ||
lucas_ | Hello | 15:09 | |
[Coke] | flussence: like "cpanm --installdeps" or something? | ||
lucas_ | Is there a pure Perl 5 implementation of Perl 6? | ||
[Coke] | lucas_: allo. | ||
geekosaur | there is a setting that will accomplish that (o conf follow somethingorother...) | ||
15:09
KyleHa joined
|
|||
KyleHa | Hello #perl6 | 15:10 | |
flussence | [Coke]: sort of, but more dwimmy and works on arbitrary source trees where the author was too lazy to specify deps correctly :) | ||
[Coke] | flussence: mmm. | ||
mikec__ | i was thinking about that just now | ||
KyleHa | When I build and spectest Rakudo on OS X, three of the files fail. Is that expected? | 15:11 | |
15:11
kresike left
|
|||
[Coke] | spectests are under flux all the time, so that can happen. | 15:14 | |
15:14
woosley left
|
|||
[Coke] | can you git blame the files and see if those are new tests? | 15:15 | |
15:15
cogno joined
|
|||
[Coke] | If so, they need to be fudged. | 15:15 | |
KyleHa | A couple of them are broken because I don't have ICU. | 15:16 | |
[Coke] | ah. usually we block that out at the test level by tagging the file in t/spectest.data with #icu | 15:17 | |
s/test level/file level/ | |||
[Coke] supposes we could skip a test if no icu with some clever fudge directives. | |||
15:20
isBEKaml joined,
cogno left
15:21
cogno joined
15:25
alim left
|
|||
KyleHa | And the third one really is new. | 15:30 | |
dalek | ast: 07d8486 | (Kyle Hasselbacher)++ | S32-num/rat.t: skip Rat.norm test for Rakudo |
15:32 | |
kudo/nom: ddbf78c | (Kyle Hasselbacher)++ | t/spectest.data: mark S02-names-vars/perl.t and S32-str/indent.t as requiring ICU |
|||
[Coke] | you might need to add a reason to that skip. | 15:33 | |
KyleHa | My commit was premature anyway; I haven't actually tested it. | ||
[Coke] | I know pugs gets antsy on a skip with no reason. not sure if rakudo does also. | 15:36 | |
dalek | ast: b868a5f | (Kyle Hasselbacher)++ | S32-num/rat.t: add a reason to my skip |
||
KyleHa | Blah. I'm rusty. | ||
15:40
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
prammer | deadline to submit presentations to Strange Loop is today. thestrangeloop.com/sessions-page/c...sentations | 15:40 | |
dalek | ast: 011c563 | (Kyle Hasselbacher)++ | S32-num/rat.t: another skip for Rat.norm |
15:41 | |
15:47
cogno left
|
|||
KyleHa | All tests successful. | 15:53 | |
Files=645, Tests=20188, 617 wallclock secs ( 9.38 usr 3.07 sys + 1849.02 cusr 129.00 csys = 1990.47 CPU) | |||
Result: PASS | |||
Booyah, as it were. | |||
15:54
cogno joined
|
|||
jnthn | KyleHa: Thanks for cleaning up :) | 15:54 | |
jnthn likes it when all tests pass | 15:55 | ||
KyleHa++ | |||
moritz | Rat.norm is easy to implement | ||
method norm() { self } | |||
KyleHa | You're welcome. I live to serve. | ||
moritz | 'cause our rats are always normalized | ||
15:57
lucas_ left
|
|||
goraki | in the per6 tablets, under Number Literals, what's the bit about the +? | 16:02 | |
"The + and can act also as operator that convert into the | |||
numerical context, which still means: take from left to right all | |||
digits and stop with the first none number character." | |||
moritz | r: say +"123" | 16:03 | |
p6eval | rakudo 4cfdb7: OUTPUT«123» | ||
moritz | r: say (+"123").Int | ||
p6eval | rakudo 4cfdb7: OUTPUT«123» | ||
moritz | r: say (+"123").WHAT | ||
p6eval | rakudo 4cfdb7: OUTPUT«Int()» | ||
moritz | goraki: though it's not quite correct, I think | ||
goraki: because it fails if there are trailing non-number characters | |||
r: say +'123foo' | |||
p6eval | rakudo 4cfdb7: OUTPUT«Cannot convert string to number: trailing characters after number in '123⏏foo' (indicated by ⏏) in method gist at src/gen/CORE.setting:8769 in sub say at src/gen/CORE.setting:6616 in block <anon> at /tmp/pyjW8YL72O:1» | ||
goraki | moritz: right, got it. | ||
moritz: that's correct behaviour isn't it? | 16:04 | ||
moritz | goraki: I think so, yes | ||
goraki | not just a rakudo thing? | ||
moritz | p6: say +'123foo' | ||
16:04
alim joined
|
|||
p6eval | pugs: OUTPUT«123» | 16:04 | |
..rakudo 4cfdb7: OUTPUT«Cannot convert string to number: trailing characters after number in '123⏏foo' (indicated by ⏏) in method gist at src/gen/CORE.setting:8769 in sub say at src/gen/CORE.setting:6616 in block <anon> at /tmp/w_BccO__uc:1» | |||
..niecza v17-4-ge5b869e: OUTPUT«Unhandled exception: Cannot parse number: 123foo at /home/p6eval/niecza/lib/CORE.setting line 1366 (die @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3405 (ANON @ 10)  at /home/p6eval/niecza/lib/CORE.setting line 3407 (NumSyntax.str2num @ 4)  a… | |||
dalek | kudo/nom: 372e6b7 | moritz++ | src/core/Rat.pm: implement Rat.norm |
||
16:04
mucker left
|
|||
moritz | goraki: niecza and rakudo agree, that's a good sign | 16:04 | |
16:05
domidumont left
|
|||
TimToady | p6: say +' 123 ' | 16:05 | |
p6eval | pugs, rakudo 4cfdb7, niecza v17-4-ge5b869e: OUTPUT«123» | ||
dalek | ast: 7372a63 | moritz++ | S32-num/rat.t: unfudge Rat.norm tests for rakudo |
||
TimToady | p6: say +"123\n" | 16:06 | |
p6eval | pugs, rakudo 4cfdb7, niecza v17-4-ge5b869e: OUTPUT«123» | ||
TimToady | goodgood | ||
goraki | right, cool. thanks. | ||
TimToady | p6: say +'123 but is anyone cheating?' | ||
p6eval | niecza v17-4-ge5b869e: OUTPUT«Unhandled exception: Cannot parse number: 123 but is anyone cheating? at /home/p6eval/niecza/lib/CORE.setting line 1366 (die @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3405 (ANON @ 10)  at /home/p6eval/niecza/lib/CORE.setting line 3407 (NumSyn… | ||
..pugs: OUTPUT«123» | |||
..rakudo 4cfdb7: OUTPUT«Cannot convert string to number: trailing characters after number in '123⏏ but is anyone cheating?' (indicated by ⏏) in method gist at src/gen/CORE.setting:8769 in sub say at src/gen/CORE.setting:6616 in block <anon> at /tmp/Ki6_h42_zA:1» | |||
16:08
sisar left
16:09
cogno left
|
|||
goraki | well, I'm making some grammatical changes to tablet-2, I'll update the description to reflect what should happen (failure). | 16:10 | |
16:17
sisar joined
|
|||
goraki | r: say :36<abigradixendswithz> | 16:17 | |
p6eval | rakudo 372e6b: OUTPUT«2956745512291279405828343255» | ||
goraki | that's neat. | ||
16:17
thelazydeveloper joined
16:18
Vlavv_ joined
|
|||
dalek | p/toqast: e997116 | kboga++ | / (2 files): Adds the hash qast op |
16:19 | |
p/toqast: 7923535 | jonathan++ | / (2 files): Merge pull request #37 from kboga/toqast-op-hash Toqast op hash |
|||
16:19
JimmyZ left
|
|||
TimToady | p6: say (:36<abigradixendswithz>/36**8).base(36) | 16:20 | |
p6eval | rakudo 372e6b: OUTPUT«use of uninitialized value of type Any in string context in block <anon> at /tmp/KXfh61rFkX:1ABIGRADIXE.NDSI» | ||
..pugs: OUTPUT«*** No such method in class Rat: "&base" at /tmp/dm8cIHBN0X line 1, column 5 - line 2, column 1» | |||
..niecza v17-4-ge5b869e: OUTPUT«Unhandled exception: Unable to resolve method base in class Rat at /tmp/9ehhuOpoIV line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65)  at /home/p6… | |||
16:21
Vlavv` left,
plutoid left
|
|||
TimToady | eh, rakudo? | 16:21 | |
goraki | r: say :60[12,34,56]; | 16:22 | |
p6eval | rakudo 372e6b: OUTPUT«===SORRY!===Malformed radix numberat /tmp/UnrFPbAufi:1» | ||
TimToady | p6: say (:36<abigradixendswithz>/:36<10000000>).base(36) | ||
p6eval | rakudo 372e6b: OUTPUT«use of uninitialized value of type Any in string context in block <anon> at /tmp/NT4kNN0Ikn:1ABIGRADIXEN.DSIT» | ||
..niecza v17-4-ge5b869e: OUTPUT«Unhandled exception: Unable to resolve method base in class Rat at /tmp/b84GuIogMA line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65)  at /home/p6… | |||
..pugs: OUTPUT«*** No such method in class Rat: "&base" at /tmp/jQZFxI0xD5 line 1, column 5 - line 2, column 1» | |||
goraki | rakudo doesn't support radices larger than 36, right? | 16:23 | |
p6: say :60[12,34,56]; | 16:26 | ||
p6eval | niecza v17-4-ge5b869e: OUTPUT«Unhandled exception: :16[...] syntax NYI at /home/p6eval/niecza/lib/CORE.setting line 1366 (die @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3463 (unbase @ 6)  at /tmp/R0EKsMPciW line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting l… | ||
..rakudo 372e6b: OUTPUT«===SORRY!===Malformed radix numberat /tmp/GVMF6tmGjt:1» | |||
..pugs: OUTPUT«45296» | |||
16:26
daxim left,
Vlavv_ left
16:29
not_gerd joined,
goraki left
|
|||
TimToady | I note that rakudo's .base(36) truncates rather than rounding the last digit | 16:29 | |
not_gerd | r: 0.base(2) | 16:30 | |
p6eval | rakudo 372e6b: OUTPUT«Invalid character in ASCII string in method base at src/gen/CORE.setting:2675 in block <anon> at /tmp/Q2mGETUICu:1» | ||
not_gerd | ^ bug ? | ||
TimToady | seems | ||
not_gerd | TimToady: I also posted gist.github.com/2659460 earlier today, which prints the repeating decimals representation of a Rat | 16:32 | |
no idea if such a function is worth adding to the spec... | 16:33 | ||
TimToady | I wrote one of those two days ago :) | ||
not_gerd | TimToady: did it detect cycles? | 16:34 | |
this version prints the *exact* representation of the rational | |||
16:34
sftp joined
|
|||
TimToady | let me dig it up | 16:34 | |
16:34
NamelessTee joined
|
|||
gfldex | since both niecza and rakudo are about to become self-aware shortly, here some friendly friday advice: www.youtube.com/watch?v=-G3RoBHMu-o...ture=g-u-u | 16:34 | |
TimToady | r: gist.github.com/2660818 | 16:36 | |
p6eval | rakudo 372e6b: OUTPUT«241025348275725.33520.000142857 (repeat 6)18446744073709551616.010309278350515463917525773195876288659793814432989690721649484536082474226804123711340206185567 (repeat 96)» | ||
TimToady | not_gerd: there's mine | ||
but the long repeats made it seem like it was not going to be worth it for a default, anyway | 16:38 | ||
16:39
Vlavv_ joined
|
|||
not_gerd | TimToady: thanks - I actually saw one of your versions in the log, but that didn't print the cycle | 16:41 | |
I agree that it's not a good idea as a .Str, but could be added as a new method on Rat | 16:42 | ||
PerlJam | repeats beyond a few digits don't seem particularly useful to me. | ||
TimToady | troo | ||
PerlJam | (as far as human consumption goes) | ||
not_gerd | r: gist.github.com/2659460 | ||
p6eval | rakudo 372e6b: OUTPUT«42/1 = 42.01/5 = 0.2-4/3 = -1.(3)19/12 = 1.58(3)1/97 = 0.(010309278350515463917525773195876288659793814432989690721649484536082474226804123711340206185567)» | ||
not_gerd | the bracket notation is one of several conventional representations if you can't add an overbar | 16:43 | |
TimToady | sorry, was on phone with two different people | 16:48 | |
yes, I was gonna do overbars, but decided not to after I saw the "repeat 96" on /97 | 16:49 | ||
16:50
mucker joined
|
|||
TimToady | also because overbars don't actually render right in gnome-terminal yet | 16:51 | |
not_gerd | what would be a good name for such a method? | 16:52 | |
digits? | |||
digital? | |||
16:53
spaceships joined
|
|||
sisar | n: my $a = 'abc'; my @rray = $a.split(''); say @rray[0]; say @rray[1]; | 16:53 | |
p6eval | niecza v17-4-ge5b869e: OUTPUT«a» | ||
sisar | r: my $a = 'abc'; my @rray = $a.split(''); say @rray[0]; say @rray[1]; | ||
p6eval | rakudo 372e6b: OUTPUT«ab» | ||
TimToady | 3̅ | ||
hmm, the overbar renders in right in the ir clog, except for not really be over... | 16:54 | ||
sisar | ^^ when i spilt 'abc' with '' as delimiter, the first element is 'a' right? | ||
masak | in Gnome Terminal it also renders on the side. | ||
TimToady | no, there's a '' on the front | ||
use .comb to do that | |||
sisar | oh so its a rakudobug ? | 16:55 | |
& not nieczabug ? | |||
TimToady | arguably niecza is more consistent with how /''/ would split | ||
sisar | masak: would you be so kind to report this rakudobug? | 16:56 | |
TimToady | p6: my $a = 'abc'; my @rray = $a.split(/''/); say @rray[0]; say @rray[1]; | ||
p6eval | pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** Can't locate P… | ||
..rakudo 372e6b, niecza v17-4-ge5b869e: OUTPUT«a» | |||
TimToady | they both think there's a null string in that case before the first empty match | 16:57 | |
masak submits rakudobug | |||
TimToady | so I'd argue for consistency, especially when .comb is available | ||
masak | re rt.perl.org/rt3/Ticket/Display.html?id=112850 -- should this kind of downcasting bless be allowed? | ||
sisar | masak++ | 16:58 | |
TimToady | masak: it seems odd, but I'd like to understand why it doesn't work better before saying it fills a much-needed gap | 17:00 | |
masak | aye. | 17:01 | |
TimToady | and what the right way to do whatever it was that it was trying to do... | ||
masak | :) | ||
17:02
PacoAir joined
|
|||
TimToady | this is likelier to happen after I wake up, or after jnthn++ opines on the subject, or both... | 17:02 | |
17:03
birdwind1pbird joined
17:08
ponbiki joined
|
|||
moritz | fwiw if we support it, we should use a different method | 17:10 | |
TimToady | certainly, it's not cheap to keep a hash entry per digit | ||
17:10
mdupont left
|
|||
TimToady | hmm, my version uses .perl for the key, but maybe an object hash will work now with Rat keys | 17:11 | |
wait, rationals can be enumerated, so we should store them in a sparse array. :D | 17:13 | ||
not_gerd | r: 0.base(2) | 17:14 | |
p6eval | rakudo 372e6b: OUTPUT«Invalid character in ASCII string in method base at src/gen/CORE.setting:2675 in block <anon> at /tmp/tMz4ZKDcIh:1» | ||
not_gerd | that's actually a bug in libtommath | ||
masak | doesn't the first (non-invocant) positional argument to .bless function as a kind of "backend storage" to the object being blessed? that is, if it's a hash, the hash is used to store the attributes. if it's an opaque repr object, that's used. etc | ||
masak submits not_gerd's rakudobug | |||
not_gerd++ | 17:15 | ||
moritz | masak: yes | ||
masak: (re bless) | 17:16 | ||
masak: that's why I suggested to have a different method | |||
masak | aye. | ||
17:16
KyleHa left
|
|||
TimToady | well, the question is what is the interface to the backend, and can 13 reasonably represent something that can supply that interface | 17:16 | |
oh, that's what you were replying to | |||
TimToady misunderforstood | |||
TimToady thought you were asking about a repeating-digits Rat.Str | 17:18 | ||
which should also be a separate method, if supplied | 17:19 | ||
sisar | phenny: tell sorear, re irclog.perlgeek.de/perl6/2012-05-10#i_5573433, turns out it was actually a rakudobug & not a nieczabug :) | 17:20 | |
phenny | sisar: I'll pass that on when sorear is around. | ||
17:20
birdwindupbird left
17:21
Chillance joined,
shinobicl_ joined
|
|||
not_gerd needs to shutdown Irssi so he can rebase cygwin, build a parrot and fix his bug... | 17:22 | ||
17:22
not_gerd left
|
|||
flussence | .oO( what, he doesn't have dedicated IRC hardware like everyone else? :) |
17:22 | |
17:24
plobsing left
|
|||
masak | poor fellow. | 17:24 | |
sisar | .oO ( sarcasm-detected successfully ! yay !) | 17:25 | |
17:25
plobsing joined
|
|||
masak | I was being sarcastic? :) | 17:25 | |
sisar | :) | 17:26 | |
wrong definition of sarcasm :/ | |||
TimToady | mē genoito! | ||
sjn | o/ | 17:27 | |
TimToady | well, μὴ γένοιτο really | ||
masak | sjn! \o/ | 17:28 | |
sisar | phenny: "μὴ γένοιτο" | ||
phenny: "μὴ γένοιτο" en | |||
TimToady | doesn't it need a ? | ||
masak | yes. | ||
sisar | phenny: "μὴ γένοιτο" ? | ||
masak | and no space :P | ||
phenny: "μὴ γένοιτο"? | 17:29 | ||
phenny | masak: "Certainly not!" (el to en, translate.google.com) | ||
sisar | phenny:"μὴ γένοιτο" ? | ||
masak | wrong no space :P | ||
adu | Γνῶθι σεαυτόν | ||
phenny | adu: 13:29Z <[Coke]> tell adu folks in #parrot are interested in your interest in scheme on parrot. (on irc.perl.org) | ||
adu | thanks phenny | 17:30 | |
sisar | phenny: "μὴ γένοιτο" ? | 17:31 | |
phenny: "μὴ γένοιτο"? | |||
phenny | sisar: "Certainly not!" (el to en, translate.google.com) | ||
TimToady | phenny: en el "Know thyself"? | ||
phenny | TimToady: "Γνώθι σ 'αυτόν" (en to el, translate.google.com) | ||
sisar | masak: no space between " and ? | ||
17:31
noam_ left
|
|||
TimToady | he just said that | 17:31 | |
masak | right. | ||
17:32
KyleHa joined
|
|||
sisar | <masak> wrong no space :P | 17:32 | |
^ that ... nevermind :) | |||
masak never minds :) | 17:33 | ||
adu | never mind is one of the hardest phrases to translate | ||
masak | a never mind is a terrible thing to waste. | 17:34 | |
sisar | adu: aye | ||
Tene | adu: I started a scheme on parrot quite a while back; I don't know what your interest is, but feel free to do whatever you'd like with it: github.com/tene/steme/ | 17:36 | |
17:36
KyleHa1 joined
|
|||
Tene | I'd be rather surprised if it actually worked against modern parrot, though | 17:37 | |
adu | Tene: thanks, the only other surviving scheme I could find was Eclectus | ||
and it's got some bitrot | |||
Tene | that was dead before I started on steme, I believe. | ||
17:38
KyleHa left
|
|||
adu | well, I've already written a scheme, so I'm not really aiming for self-learning, now I'd like to aim for stability and speed | 17:38 | |
17:40
spider-mario joined
|
|||
TimToady | some time we need to think about how to give Pair lists in p6 a bit more of a List API | 17:42 | |
adu | Tene: I'd like to have two sublanguages, for data and expressions, but when I try and put them in the same .pbc the HLLCompiler complains, any ideas? | ||
17:42
benabik left,
not_gerd joined
|
|||
Tene | adu: what's the complaint? | 17:42 | |
not_gerd | hm.. something went wrong in re-building my rakudo: | 17:43 | |
elements() not implemented in class 'PMCProxy' | |||
17:43
benabik joined
|
|||
Tene | and, can you show me code? | 17:43 | |
not_gerd | should I apply github.com/libtom/libtommath/pull/6 to NQP's copy of libtommath anyway? | ||
TimToady | p6: my $pl = a => b => c => Nil; say $pl.list.perl | ||
p6eval | niecza v17-4-ge5b869e: OUTPUT«("a" => "b" => "c" => Nil, ).list» | ||
..rakudo 372e6b: OUTPUT«("a" => "b" => "c" => Nil,).list» | |||
..pugs: OUTPUT«*** No such subroutine: "&Nil" at /tmp/Yf0Xt3K7hp line 1, column 25-28» | |||
sorear | good * #perl6 | 17:44 | |
phenny | sorear: 17:20Z <sisar> tell sorear re irclog.perlgeek.de/perl6/2012-05-10#i_5573433, turns out it was actually a rakudobug & not a nieczabug :) | ||
sorear | Tene! o/ | ||
Tene | sorear: ? | ||
TimToady wonders if Pair.list could usefully return an iterator down the conslist | |||
sorear | Tene: long time no see, that is all | ||
Tene | Ah, right, I forget that I don't speak up much in here, although I usually follow the channel pretty actively. | 17:45 | |
jnthn | not_gerd: Go ahead :) | ||
sisar | .oO( we should have a 'nr' or 'rn' for p6eval, when you want niecza and rakudo but not pugs ) |
||
adu | Tene: I don't remember | ||
TimToady | p6-p: | 17:46 | |
Tene | adu: if you can reproduce it, I'd be glad to investigate. | ||
sisar | p6-p: say "I actually work !"; #checkin' | 17:47 | |
17:47
noam joined
|
|||
sisar | :) | 17:47 | |
17:47
noam left
|
|||
TimToady | moritz: no, 'tough beans' was already an idiom when I was young. | 17:48 | |
17:48
noam joined,
noam left
|
|||
dalek | p: 7e25971 | (Gerhard R)++ | 3rdparty/libtommath/bn_mp_radix_size.c: fix bug in libtommath's mp_radix_size() |
17:49 | |
17:49
noam joined
|
|||
sisar | not_gerd++ | 17:49 | |
not_gerd hopes that actually works ;) | |||
adu | Tene: I tried reproducing it, but I'm getting a different error now because I don't have any actions associated with my grammar | ||
Tene | That shouldn't make it impossible to compile; just to run, I'd expect. | 17:50 | |
17:50
noam left,
noam joined
|
|||
adu | Tene: ya, it runs now, I think it must have been a name clash | 17:50 | |
Tene | That's what I suspected. | ||
adu | anyways, I was going to call it "dreme" | 17:51 | |
Tene | I like it. | 17:52 | |
17:52
rsimoes left
|
|||
adu | Tene: or maybe I could fork steme? | 17:53 | |
17:53
rsimoes joined
|
|||
not_gerd leaves again to fight with cygwin | 17:53 | ||
17:53
not_gerd left
|
|||
Tene | adu: no need to fork; you can take it over. | 17:53 | |
adu | oh ok | ||
Tene | I haven't done anything with it in years. | ||
adu | 2 according to github | ||
well, I can't promise anything yet, I'm still learning perl6 | 17:55 | ||
Tene | adu: I can transfer the repo to you if you'd like, or you could just fork it, or whatever else. Just let me know if you'd like me to do anything. | ||
adu | right now I'd like to see if I can get a RPL going | 17:56 | |
if I can do that, then I'd like to fork/transfer but not before | |||
currently my REPL says "Unable to obtain PAST from Regex;Match" | 17:57 | ||
17:58
wolfman2000 joined
|
|||
adu | actually, I will probably only use parts of "pct/actions.pm" | 17:58 | |
anyways, gtg | 17:59 | ||
17:59
mdupont joined,
adu left
18:02
noam left
18:03
wolfman2000 left,
noam joined
18:05
ponbiki left,
not_gerd joined
|
|||
not_gerd just built parrot, nqp and rakudo from scratch because he typed perl6 instead of ./perl6 | 18:05 | ||
anyway, 0.base(2) now work | |||
jnthn | \o/ | 18:06 | |
18:06
sisar left
|
|||
moritz | r: say 0.base(2) | 18:06 | |
p6eval | rakudo 372e6b: OUTPUT«Invalid character in ASCII string in method base at src/gen/CORE.setting:2675 in block <anon> at /tmp/NipINQEEcL:1» | ||
moritz | not_gerd: do you have local patches? | ||
ah, just saw the patch on #parrot | 18:07 | ||
not_gerd | moritz: nope, already pushed to NQP (jnthn gave to go-ahead) | ||
moritz | not_gerd++ | ||
not_gerd | ^the | ||
moritz | not_gerd: I'll submit your patch to upstream | 18:09 | |
18:09
mdupont_ joined
|
|||
jnthn | moritz: I think not_gerd++ already gave them a pull request :) | 18:09 | |
moritz | oh | 18:10 | |
18:10
mdupont_ left
|
|||
not_gerd | moritz: yup - and incidentally, there's a 4 months old one from you still open :( | 18:10 | |
moritz | not_gerd: I'll pester them on IRC | 18:12 | |
18:25
shinobicl_ left
18:27
noam left
18:28
fglock joined,
noam joined
18:29
noam left
18:30
noam joined
18:34
birdwind1pbird left
18:36
birdwindupbird joined
18:38
KyleHa joined
18:39
adu joined
18:40
KyleHa1 left
18:41
colomon joined
18:45
wolfman2000 joined
|
|||
masak | p6: v6; | 18:49 | |
p6eval | niecza v17-4-ge5b869e: OUTPUT«===SORRY!===Action method value:version not yet implemented at /tmp/9igT0vMaQs line 1:------> v6⏏;Unhandled exception: Unable to resolve method statement_level in class Any at /home/p6eval/niecza/src/NieczaActions… | ||
..rakudo 372e6b: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&v6' called (line 1)» | |||
..pugs: OUTPUT«*** No such subroutine: "&v6" at /tmp/rqKNLdbIXi line 1, column 1-3» | |||
masak | heh. universal disacclaim. | 18:50 | |
moritz | anyway, I don't think that a bare v6; should be the same as use v6; | ||
masak | sorear: today I met someone who thought it was pronounced "Niceh Perl 6". almost, but not quite, like "nicer" :) | 18:51 | |
moritz | masak: you meet people who have heard of niecza? where? how? | 18:52 | |
geekosaur | (Nietzsche Perl 6?) | 18:53 | |
masak | moritz: it was a former colleague of mine who was proud that he was following the Planet Perl 6 feed. and apparently the last post I made was about this nicer Perl thingie. | ||
moritz: gives some perspective. this guy is a relatively community-uninvolved Perl 5 user. | 18:54 | ||
18:57
not_gerd left
|
|||
moritz | TimToady: are Version objects supposed to be immutable? | 18:58 | |
r: say 2 cmp 'a' | |||
p6eval | rakudo 372e6b: OUTPUT«Increase» | ||
sorear | I'd be astonished if version objects were mutable in any implementaiton | ||
TimToady | I would think so | 19:00 | |
diakopter | I pronounce it nee-ehk-zuh in my head; is that wrong? | ||
TimToady | so == immutable | ||
cz == ch | |||
how do you pronounce Czeck? | |||
moritz | the soft ch like in the Scottish 'loch'? | ||
TimToady | nyet | ||
diakopter | oh | 19:01 | |
moritz | oh, like the "check" | ||
TimToady | knee-eh-cha in tradition English sound-out-ese | ||
moritz | that's roughly how I pronounce it too :-) | 19:02 | |
masak | you are correct :) | ||
TimToady | funny that there's no term for sound-out-ese | ||
sorear | I would consider either of those right, and 'nicer' wrong | ||
TimToady | (that I can think of) | ||
masak | TimToady: "poor man's IPA"? :) | ||
moritz | std: v3.3beta | ||
p6eval | std 8632387: OUTPUT«===SORRY!===Whitespace is required between alphanumeric tokens at /tmp/vyQnTPxKQg line 1:------> v3.3⏏betaTwo terms in a row at /tmp/vyQnTPxKQg line 1:------> v3.3⏏beta expecting any of: POST infix or … | ||
TimToady | it's pretty poor alright | ||
moritz | std: v3.3.0 | ||
p6eval | std 8632387: OUTPUT«ok 00:00 40m» | ||
moritz | std: v3.3.* | ||
p6eval | std 8632387: OUTPUT«ok 00:00 40m» | ||
masak | English orthography does not lend itself very well to sounding out anything, really. | 19:03 | |
TimToady | std: v3.3.42+ | ||
p6eval | std 8632387: OUTPUT«ok 00:00 40m» | ||
TimToady | even English | ||
jnthn | Whenever I see IPA, I parse it as Indian Pale Ale, and then get confused, and then realize...oh yeah...the other IPA. | ||
TimToady keeps wishing there were an offical IPA block in Unicode... | |||
except IPA is a mishmash of everything else | 19:04 | ||
19:04
cognominal_ joined
|
|||
moritz | and where's the official IRA block? :-) | 19:04 | |
TimToady | that wasn't a rho | ||
or an er, if your name is Cyril | 19:05 | ||
19:06
cognominal left
|
|||
TimToady | H & R Block might provide IRAs to USians... | 19:06 | |
19:07
alester joined
|
|||
sorear | When I see IRA, I always parse it initially as Irish Republican Army | 19:07 | |
moritz | is v1.1 ~~ v0+ | 19:08 | |
sorear | also, I have tried and failed repeatedly to learn how IPA works | ||
19:08
cognominal joined
|
|||
sorear | it seems like something I need to learn eventually, bhut it just isn't happening :| | 19:08 | |
19:09
noam left
|
|||
moritz | sorear: re IRA, that's what I meant :-) | 19:09 | |
TimToady | well, you really can't learn it independently of a phonetics instructor, if you don't know how to make the sounds | ||
19:09
noam joined,
cognominal_ left
|
|||
TimToady demonstrates an interlabial lateral (known from a tribe in New Guinea) | 19:10 | ||
19:11
cognominal left
|
|||
TimToady | and to learn phonetics you have to spend an inordinate amount of time "unlearning" your mother tongue | 19:12 | |
"inordinate" is a funny word :) | 19:13 | ||
19:13
cognominal joined
|
|||
masak | r: v6; | 19:14 | |
p6eval | rakudo 372e6b: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&v6' called (line 1)» | ||
moritz | std: v6.3_5 | 19:15 | |
p6eval | std 8632387: OUTPUT«===SORRY!===Whitespace is required between alphanumeric tokens at /tmp/LzeUOUnEe3 line 1:------> v6.3⏏_5Two terms in a row at /tmp/LzeUOUnEe3 line 1:------> v6.3⏏_5 expecting any of: POST infix or meta… | ||
19:15
cognominal left
19:16
cognominal joined
|
|||
moritz | should probably parse <decint> | '*' | 19:16 | |
19:17
spaceships left
19:18
cognominal_ joined
19:20
cognominal left
19:21
noam left
19:22
noam joined
|
|||
moritz | r: my $a = *; my $b = *; say $a === $b; | 19:22 | |
p6eval | rakudo 372e6b: OUTPUT«False» | ||
masak | meh. whatevers. | 19:24 | |
19:25
plobsing left
19:26
noam left,
noam joined
19:29
fibo joined
|
|||
moritz | I have local patch for Version. It's so not going to work :-) | 19:29 | |
19:29
fibo left,
fibo joined
|
|||
masak | well, write wrong code first ;) | 19:30 | |
sorear | n: my $a = *; my $b = *; say $a === $b; | 19:32 | |
p6eval | niecza v17-4-ge5b869e: OUTPUT«True» | ||
sorear | this is an optimization leaking out | ||
is it a problem? | |||
moritz | I don't thikn so | 19:33 | |
I don't see a value in having multiple Whatever instances | |||
n: my $a = *; my $b = *; say $a ~~ $b; | |||
p6eval | niecza v17-4-ge5b869e: OUTPUT«True» | ||
moritz | r: my $a = *; my $b = *; say $a ~~ $b; | ||
p6eval | rakudo 372e6b: OUTPUT«True» | ||
moritz | p6: say 'whatever' ~~ (my $x = *) | ||
p6eval | niecza v17-4-ge5b869e: OUTPUT«Potential difficulties: $x is declared but not used at /tmp/3c0MZz65EF line 1:------> say 'whatever' ~~ (my ⏏$x = *)True» | ||
..rakudo 372e6b: OUTPUT«True» | |||
..pugs: OUTPUT«» | |||
jnthn | Rakudo should prolly do the same optimization Niecza does ;) | 19:38 | |
moritz | jnthn: I want to call a rakudo-space method (Version.new) with an RPA interpolated into the argument list | 19:39 | |
ie $type.new(|@rpa) | 19:40 | ||
from NQP, that is | |||
how do I do that? | |||
I get | |||
Method 'list' not found for invocant of class 'ResizablePMCArray' | |||
(at least I think that's the problem, not 100% sure yet) | |||
oh wait, I might be wrong | 19:41 | ||
the problem is probably my stupidity :-) | |||
I did | |||
for @($<vnum>) -> $v { } | |||
but $<vnum> already is an RPA | 19:42 | ||
now I'm curious if we get through the setting :-) | 19:43 | ||
otoh there is no version literal in the setting -- why should it blow up while compiling the setting? | |||
ouch | 19:44 | ||
because version literals LTM-win against the sub call v6-split(...); | |||
even though I wrote it as token version { 'v' { } ... } | 19:45 | ||
so only the 'v' should LTM | |||
meh, stupid nqp | |||
masak | nqp doesn't have '::'? | 19:50 | |
moritz | nqp: say('ab' ~~ /a::b/) | ||
p6eval | nqp: OUTPUT«:: not yet implemented at line 1, near "b/)"current instr.: 'nqp;HLL;Grammar;panic' pc 22008 (src/stage2/gen/NQPHLL.pir:7047) (src/stage2/gen/NQPHLL.pm:329)» | ||
masak | dang. | ||
19:52
cognominal_ left
19:53
cognominal joined
|
|||
colomon | Is there a nice way to make a link from one spot in the specs to another? | 19:57 | |
19:59
NamelessTee left
|
|||
jnthn | moritz: Even the "v" LTM-ing is a longer literal prefix than the totally illiteral sub call v6-split | 20:02 | |
colomon | TimToady: ping? | 20:04 | |
TimToady: errr, unping? | 20:05 | ||
20:05
mdupont left
20:10
NamelessTee joined
|
|||
[Coke] | r: loop { my $a = * } | 20:14 | |
p6eval | rakudo 372e6b: OUTPUT«(timeout)» | ||
20:14
shinobicl_ joined
20:15
NamelessTee left
20:16
havenn joined
|
|||
masak | [Coke]: yeah, but at the end of that loop, $a is *really* Whatever! | 20:18 | |
20:18
fglock left,
shinobicl left
|
|||
[Coke] was just seeing if we got some sort of explosion. | 20:18 | ||
20:18
HarryS left
|
|||
masak | phenny: "Äddi"? | 20:19 | |
phenny | masak: "additive" (sv to en, translate.google.com) | ||
masak | what? no! | ||
[Coke] | r: "masak reports rakudobugs".comb.pick.join.say | ||
p6eval | rakudo 372e6b: OUTPUT«u» | ||
[Coke] | r: "masak reports rakudobugs".comb.pick(*).join.say | ||
p6eval | rakudo 372e6b: OUTPUT«dpmrkero utgsabsauokr as» | ||
masak | dpmrkero! \o/ | ||
utgsabsauokr. as. | 20:20 | ||
20:20
snearch joined,
fgomez left,
cognominal_ joined
|
|||
masak | r: sub shuffle($_) { .pick(*) }; say "coke summarizes spectest runs".comb.&shuffle.join | 20:21 | |
p6eval | rakudo 372e6b: OUTPUT«i ee cuuroskpstsamctersnz sme» | ||
masak | in other news, I vote for &shuffle ==> CORE | 20:22 | |
well, and .shuffle ;) | |||
.=shuffle reads better than .=pick(*) | |||
20:24
cognominal left
|
|||
colomon | n: say 3141592653589793238/1000000000000000000.nude | 20:24 | |
p6eval | niecza v17-4-ge5b869e: OUTPUT«Unhandled exception: Unable to resolve method nude in class Int at /tmp/f7hGSEEiMe line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65)  at /home/p6… | ||
colomon | n: say (3141592653589793238/1000000000000000000).nude | ||
p6eval | niecza v17-4-ge5b869e: OUTPUT«1570796326794896619 500000000000000000» | ||
20:24
plobsing joined
|
|||
dalek | ecs: 1cbef9e | (Solomon Foster)++ | S (2 files): Try to make the rules and examples for Rat.perl, Rat.gist, and Rat.Str consistent. |
20:30 | |
colomon | TimToady++: would deeply appreciate it if you'd look over that commit and see if it matches what you are thinking. | ||
20:31
orphu joined
|
|||
TimToady | .oO(Ints are already half nude...) |
20:33 | |
[Coke] | r: say pi.comb | 20:36 | |
p6eval | rakudo 372e6b: OUTPUT«3 . 1 4 1 5 9 2 6 5 3 9 4 2 4 8» | ||
[Coke] | r: say pi.comb.pick(*).join # close enough! | 20:37 | |
p6eval | rakudo 372e6b: OUTPUT«1418423395456.92» | ||
20:39
cognominal joined,
cognominal_ left
20:41
fibo left
|
|||
TimToady | colomon: the first diff is a bit inaccurate; the rounding off has nothing to do with the repeating element; it's determined only by the size of the denominator after the integer part is subtracted. | 20:41 | |
the only think it has to do with the repeating part is that it rounds if and only if there would be a repeating fraction | 20:42 | ||
the rest looks good | 20:43 | ||
20:43
noam left,
birdwindupbird left
20:44
noam joined
20:45
cognominal_ joined
|
|||
TimToady | well, plus the min 6 digits rule | 20:46 | |
r: say 1/97 | |||
p6eval | rakudo 372e6b: OUTPUT«0.010309» | ||
TimToady | that actually repeats after 96 digits | 20:47 | |
r: say 1/97000000 | |||
p6eval | rakudo 372e6b: OUTPUT«0.000000010» | ||
20:48
cognominal left
20:49
lichtkind joined
|
|||
colomon | Actually, it rounds off if and only if it is not exactly expressible as a finite decimal, right? | 20:50 | |
20:50
spaceships joined
|
|||
TimToady | didn't I just say that? | 20:50 | |
only inside out? | |||
colomon | you said repeating fraction | ||
oh, right | |||
TimToady | not exactly expressible == would be repeating | ||
colomon | right, because these are rational | 20:51 | |
TimToady++ | |||
errr, doesn't that make the text I have correct? I mean, I could add "finite" before "exact decimal" | |||
... | |||
TimToady | it doesn't calculating the rounding position based on the repeating position | 20:52 | |
*ate | |||
"and rounds off the repeating decimal" seems to suggest that | |||
depending on how you read it | 20:53 | ||
I can see how it is meant the other way | |||
20:53
NamelessTee joined,
benabik left
|
|||
TimToady | it's just ambiguous | 20:53 | |
colomon | fair enough | ||
is there a way to make a proper link to S32 there? | 20:54 | ||
TimToady | and it doesn't say how it does choose where to round off | ||
colomon | TimToady: I was trying to avoid repeating all the rules in S32. :) | ||
TimToady | I usually go to the html page and steal from the table of contents for those pages... | 20:55 | |
20:55
lestrrat left
|
|||
TimToady | oh, you mean a proper pod link | 20:55 | |
TimToady doesn't know | |||
colomon | yes | ||
drat | |||
TimToady | everything wants to be rewritten in Pod 6 anyway... | 20:56 | |
20:56
lestrrat joined
|
|||
TimToady | s/in Pod 6/ / too | 20:56 | |
20:57
pyrimidine left
|
|||
TimToady | and the whole thing could use a reorganization as well | 20:57 | |
colomon | "Stringifying a rational via C<.gist> | 21:00 | |
or C<.Str> returns an exact decimal number if possible, and otherwise rounds | |||
off the repeated decimal based on the number of digits in the fractional | |||
part of numerator." ? | |||
TimToady | no, the denominstor | 21:06 | |
and it's only the residual denominator after the integer part has been removed and the rat renormalized | |||
maybe that's the same | 21:07 | ||
21:07
adu left
21:08
skids left,
adu joined,
adu left
|
|||
TimToady | I guess by definition the integer part will be some multiple of the original denominator, so subtracting it out will never cause reduction of the remainder | 21:09 | |
anyway, we can just say "based on the size of the denominator" | |||
21:11
fgomez joined,
fgomez left
|
|||
colomon | Done | 21:12 | |
dalek | ecs: a424107 | (Solomon Foster)++ | S02-bits.pod: Incorporate TimToady++'s suggestions. |
21:13 | |
TimToady | colomon++ | 21:16 | |
21:16
sisar joined
21:29
Tene left
|
|||
masak | 'night, #perl6 | 21:31 | |
sorear | bye | 21:32 | |
jnthn | wtf | 21:33 | |
The NQP build fails. :/ | |||
nqplexinfo.obj : error LNK2001: unresolved external symbol Parrot_x_panic_and_exit | 21:34 | ||
src\pmc\nqp_group.dll : fatal error LNK1120: 1 unresolved externals | |||
.oO( shoudn't that be x_Parrot :P ) |
|||
21:35
KyleHa left
|
|||
dalek | blets: 0191646 | (Herbert Breunung)++ | docs/appendix- (2 files): minor linkfixes and expanded on callframe methods |
21:38 | |
21:44
Chillance left,
Chillance joined,
adu joined
|
|||
dalek | p: 9ddfc35 | jnthn++ | tools/build/PARROT_REVISION: Bump to a Parrot that builds on MSVC. |
21:45 | |
kudo/nom: 6c6056d | jnthn++ | tools/build/NQP_REVISION: Bump to get MSVC Parrot build fix and the libtommath radix fix. |
21:46 | ||
21:49
NamelessTee left
21:50
NamelessTee joined
|
|||
jnthn | What's the difference - if any - between <|w> and <wb> ? | 21:51 | |
21:55
PacoAir left
|
|||
PerlJam | I don't think there is one | 21:56 | |
21:57
PacoAir joined
21:58
cognominal___ joined
22:01
cognominal_ left
22:08
cognominal___ left,
cognominal joined,
snearch left
22:09
fgomez joined
22:16
wolfman2000 left
22:20
cognominal left
22:21
cognominal joined
22:23
plobsing left
22:26
Tene joined,
Tene left,
Tene joined
22:28
mucker left
22:29
adu left
|
|||
dalek | kudo/nom: cc71885 | jnthn++ | src/Perl6/ (2 files): Implement < a b c > syntax in regexes. Note that it doesn't do LTM yet; it'll get it automatically once alternations start to do so. |
22:31 | |
22:37
bruges left,
alester left
|
|||
jnthn | std: / <|> / | 22:38 | |
p6eval | std 8632387: OUTPUT«ok 00:00 41m» | ||
jnthn wonders what that one means :) | |||
22:39
skids joined
22:41
plobsing joined
|
|||
sorear | jnthn: semantic error | 22:45 | |
jnthn | sorear: ? | 22:46 | |
sorear | jnthn: what follows <|> is a name of a boundary type; these are currently limited to b, w, and g, iirc | ||
jnthn | sorear: Yeah, STD very deliberately parses <|> as well as <|foo> though. | ||
n: /<|>/ | |||
p6eval | niecza v17-4-ge5b869e: OUTPUT«===SORRY!===Unrecognized regex assertion at /tmp/UQkF28jC5x line 1:------> /<⏏|>/Parse failed» | ||
22:47
havenn left
22:49
havenn joined
|
|||
dalek | ast: e53b228 | jnthn++ | S05-metasyntax/angle-brackets.t: Correct misunderstanding of the spec in the tests. Unfudging for Rakudo. |
22:53 | |
sorear | jnthn: I have expressed the opinion in the past that that is a bug in STD. | ||
sorear pokes TimToady | |||
22:53
spider-mario left
|
|||
jnthn | sorear: Inclined to agree. | 22:54 | |
23:15
shinobicl_ left
23:16
shinobicl joined
23:18
carlin_ joined,
havenn left,
carlin left
|
|||
dalek | blets: 0c0d226 | (Herbert Breunung)++ | docs/appendix- (2 files): explain and link precedence |
23:19 | |
23:23
cognominal_ joined
23:26
cognominal left
|
|||
lichtkind | gud night | 23:29 | |
23:29
lichtkind left
23:30
NamelessTee left
23:37
constantined left,
cognominal_ left
23:40
shinobicl left
23:50
fibo joined
23:55
fgomez left
23:57
whiteknight joined,
whiteknight is now known as Guest14837
|