»ö« 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:00
donri left
00:02
Radvendii joined
|
|||
Radvendii | how do i take every element of a list *except* the first? (the tail) | 00:02 | |
00:02
ispeak_ left,
ksi left
|
|||
sorear | Radvendii: Perl 6 lists are not cons lists, and to take the tail you have to copy it. | 00:03 | |
Radvendii: The current best way is my ($head, @tail) = @list; | 00:04 | ||
[Coke] | that's better than .pop? | ||
(assuming you don't care about modifying the original list.) | |||
er, .shift | 00:05 | ||
Radvendii | i tried .shift. but perl6 doesnt deep copy lists, and rather than make a new one, i'd rather jsut take the tail | 00:07 | |
@a[1..*] doesnt work? | |||
[Coke] | are you still wanting a deep copy? | ||
nom: my @a = 1,2,3,4,5,6; say @[1..*]; | 00:08 | ||
p6eval | nom 18f12d: OUTPUT«Method 'gimme' not found for invocant of class 'Any' in method reify at src/gen/CORE.setting:4352 in method reify at src/gen/CORE.setting:4257 in method gimme at src/gen/CORE.setting:4621 in method eager at src/gen/CORE.setting:4596 in method postcircumfix:<… | ||
[Coke] | nom: my @a = 1,2,3,4,5,6; say @a[1..*]; | ||
p6eval | nom 18f12d: OUTPUT«2 3 4 5 6» | ||
00:09
mikemol left
|
|||
[Coke] | nom: my $a = 3; my @a = 1,2,$a,4,5,6; my @b = @[1..*]; $a = 5; say @b; | 00:10 | |
p6eval | nom 18f12d: OUTPUT«Method 'gimme' not found for invocant of class 'Any' in method reify at src/gen/CORE.setting:4352 in method reify at src/gen/CORE.setting:4257 in method gimme at src/gen/CORE.setting:4621 in method eager at src/gen/CORE.setting:4596 in method postcircumfix:<… | ||
[Coke] | nom: my $a = 3; my @a = 1,2,$a,4,5,6; my @b = @a[1..*]; $a = 5; say @b; | ||
p6eval | nom 18f12d: OUTPUT«2 3 4 5 6» | ||
Radvendii | oh... | 00:12 | |
hang on... | |||
it never terminates for me... | |||
b: my $a = 3; my @a = 1,2,$a,4,5,6; my @b = @a[1..*]; $a = 5; say @b; | 00:13 | ||
p6eval | b 1b7dd1: OUTPUT«(timeout)» | ||
Radvendii | yeah... | ||
so it's fixed in nom. | |||
00:13
mikemol joined
|
|||
Radvendii | niecza: my $a = 3; my @a = 1,2,$a,4,5,6; my @b = @a[1..*]; $a = 5; say @b; | 00:13 | |
p6eval | niecza v12-102-g22261b4: OUTPUT«(timeout)» | 00:14 | |
00:15
replore_ joined,
Trashlord joined
00:17
ispeak_ joined
00:19
Radvendii left
00:23
risou is now known as risou_awy
00:31
pmurias left
00:37
fridim_ left
00:41
ispeak_ left
00:52
Chillance left
00:56
colomon left
00:57
cognominal_ left
00:59
cognominal joined
01:03
colomon joined
01:07
huf left
|
|||
sorear | std: /[aiueo]/ | 01:12 | |
p6eval | std dc62e1d: OUTPUT«Potential difficulties: [aiueo] appears to be an old-school character class; please use <[aiueo]> if you mean a character class, or quote it like 'aiueo' to match string as a unit at /tmp/pwIc3b6Axu line 1:------> /[aiueo]⏏/ok 00:01 120… | ||
sorear | perl6: /[aiueo]/ | ||
p6eval | rakudo 18f12d, niecza v12-102-g22261b4: ( no output ) | ||
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HAND… | |||
01:21
huf joined,
jaldhar joined
01:23
Vlavv` joined
01:24
hundskatt left
01:26
Vlavv_ left
01:38
whiteknight joined
01:39
whiteknight is now known as Guest94286
|
|||
colomon | perl6: say :16<dead.face> | 01:44 | |
p6eval | niecza v12-102-g22261b4: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Str at /home/p6eval/niecza/boot/lib/CORE.setting line 488 (Cool.comb @ 7)  at /home/p6eval/niecza/src/NieczaActions.pm6 line 154 (NieczaActions.rad_number @ 11)  at /home/p6e… | ||
..pugs b927740: OUTPUT«57005.979705810546875» | |||
..rakudo 18f12d: OUTPUT«57005.9797058105» | |||
sorear | oh hey I forgot to commit the fix for that. | 01:45 | |
dalek | ast: 6cc3650 | (Solomon Foster)++ | S06-signature/named-parameters.t: Fudge for niecza. |
||
ast: 132c888 | (Solomon Foster)++ | S02-literals/radix.t: Refudge for latest niecza changes. :( |
|||
colomon | sorear++ | ||
dalek | ecza: 642c6ef | sorear++ | src/NieczaActions.pm6: Fix error on :16<dead.face> |
01:46 | |
ecza: 710c8b8 | sorear++ | docs/TODO.S05: TODO.S05 fiddles |
|||
01:47
alvis left
|
|||
sorear | rakudo: say (1/3)."$_"() for <gist Str perl>; | 01:48 | |
p6eval | rakudo 18f12d: OUTPUT«0.3333333333333330.3333333333333331/3» | ||
01:53
thou left
|
|||
dalek | ast: 9b20e72 | (Solomon Foster)++ | S02-literals/radix.t: Revert "Refudge for latest niecza changes. :(" -- sorear++ fixed the bug. This reverts commit 132c888deaaecfece6fe7c9941c378245a225bd4. |
01:54 | |
ast: f2c5529 | (Solomon Foster)++ | S02-literals/radix.t: Refudge for latest niecza changes. |
|||
01:54
alvis joined
|
|||
sorear | colomon: the fix actually worked? | 01:54 | |
I just remembered I forgot to test it as well as committing | 01:55 | ||
not my best day | |||
colomon | sorear: well, it's not clear. | ||
sorear | not clear? | ||
colomon | we tend to fail those tests because Rat.Str gives us fractions. | ||
sorear | ah. | ||
I'm going to fix that right about now. | 01:56 | ||
colomon | So I can say that it's definitely not crashing anymore. | ||
but I'm not sure if it's exactly the correct answer or not. | |||
(because I haven't checked in detail myself.) | |||
sorear++ | |||
sorear | rakudo: say (2+3i)."$_"() for <gist Str perl>; | 02:08 | |
p6eval | rakudo 18f12d: OUTPUT«2 + 3i2 + 3iComplex.new(2, 3)» | ||
02:09
jaldhar left
|
|||
sorear | it's funny how I can get karma here for just *saying* I'll do something. :D | 02:13 | |
japhb | I've seen that expressed with preincrement: ++sorear | 02:15 | |
:-) | |||
02:16
alvis left
02:17
am0c joined
|
|||
colomon | sorear: that's what happens when you have a reputation for delivering. ;) | 02:17 | |
02:18
alvis joined
02:20
abercrombie joined
|
|||
sorear | colomon: should FatRat stringify as a decimal? | 02:30 | |
+too | |||
colomon | probably | 02:32 | |
I don't recall if it's spec'd or not. | |||
02:33
alvis left
|
|||
dalek | ecza: c5c357b | sorear++ | lib/Utils.cs: Set precision correctly to allow Num<->Str roundtripping |
02:33 | |
ecza: 6f76470 | sorear++ | lib/ (2 files): Change Rat, FatRat default stringification to fractions; add spaces to Complex |
|||
colomon | sorear: any further thoughts on :Letter, etc? | 02:34 | |
sorear | colomon: can #94 be closed yet? | 02:35 | |
colomon: I haven't looked hard enough yet; so far I haven't found a proper spec for :Letter | |||
colomon | yes | ||
that's yes on #94 | 02:36 | ||
02:36
alvis joined
|
|||
sorear | aha, I've found a proper spec | 02:36 | |
colomon | crap | 02:38 | |
# Failed test | |||
# got: 1.6045690981097406E+19 | |||
# expected: 1.60456909810974E+19 | |||
sorear | should be is_approx, no? | 02:43 | |
colomon | Probably. except I don't think that will work for this case. | ||
is_approx isn't very sophisticated | |||
sorear | what test is this? | 02:44 | |
colomon | is(:16<dead_beef> * 16**8, :16<dead_beef*16**8>, | 02:45 | |
sorear | I think is_approx actually will work for that... | ||
colomon | nope | 02:46 | |
just checked | |||
sorear | my interpretation is that :16<dead_beef*16**8> is a Num because 2958942e8 is a Num | ||
exponential notation forces Num | |||
colomon | hmmm... dunno | ||
sorear | oh, huh. is_approx checks for an _absolute_ difference of 1e5 | ||
1e-5 | |||
colomon | right, that's why it doesn't help here | 02:47 | |
sorear | I should change that to a reasonable number of ulps | ||
colomon | unfortunately, it's hard to have a good general case solution for that issue (reasonable) | ||
though I suppose it could be reasonable for non-zero targets, and 1e-5 for zero targets, and then the worst case would be the same as now, and the best case would be much better | 02:48 | ||
sorear | sounds good to me | 02:49 | |
colomon | if we make that change, we have to change it in rakudo, too, most likely. | ||
02:49
aindilis left
|
|||
colomon | but I'm willing to do that. ;) | 02:49 | |
02:49
Guest94286 left
|
|||
sorear | if relative error is good enough for IEEE it's good enough for me. | 02:49 | |
02:53
fieldsa left
02:54
aindilis joined
|
|||
colomon | you making the change to niecza, or me? | 02:55 | |
my $accuracy = $expected.abs < 1e-10 ?? 1e-5 !! $expected.abs * 1e-10 | 02:56 | ||
[Coke] | colomon,sorear: t/spec/S02-literals/radix.t is now only failing test #49. | 03:15 | |
colomon | [Coke]: right, we're working on that. | 03:16 | |
(changing the test, that is, niecza's result is correct.) | |||
[Coke] | Just responding to the closing of #94. Danke. | ||
colomon | or rather, I'm going to bed and will figure out what still needs fixing in the morning. :) | 03:19 | |
[Coke] | aye, good enough. ;) | 03:20 | |
03:26
molaf joined
03:36
Psyche^ joined
03:40
Patterner left,
Psyche^ is now known as Patterner
03:47
jaldhar joined
03:59
jeffreykegler joined,
lestrrat left
04:00
lestrrat joined
04:04
estrabd left
04:09
drbean left
04:11
jeffreykegler left
04:15
drbean joined
04:30
lutok left
|
|||
sorear | Does Perl 6 still do that thing where trailing characters after a number are ignored? | 04:40 | |
Timbus | .. wot | 04:48 | |
like in literals or in strings | |||
sorear | buubot_backup: say "123def" + 5 | 04:49 | |
buubot_backup | sorear: Couldn't match input. | ||
sorear | buubot_backup: eval: "123def" + 5 | ||
buubot_backup | sorear: 128 | ||
sorear | rakudo: say "123def" + 5 | ||
p6eval | rakudo 18f12d: OUTPUT«No applicable candidates found to dispatch to for 'Numeric'. Available candidates are::(Mu $v, Mu %_) in method Numeric at src/gen/CORE.setting:648 in sub infix:<+> at src/gen/CORE.setting:2166 in sub infix:<+> at src/gen/CORE.setting:2166 in block <anon>… | ||
sorear | b: say "123def" + 5 | ||
p6eval | b 1b7dd1: OUTPUT«128» | ||
sorear | rakudo: say "123" + 5 | ||
p6eval | rakudo 18f12d: OUTPUT«128» | ||
sorear | Timbus: like zat | 04:50 | |
Timbus | yeah i thought that was what you meant | ||
i personally don't think that behaviour is.. very good | 04:51 | ||
BUT i do like it, for when people add a space to the end of their numeric input | |||
:v | |||
rakudo: say "123" + 5 | 04:53 | ||
p6eval | rakudo 18f12d: OUTPUT«128» | ||
Timbus | rakudo: say "0x23" + 5 | 04:54 | |
p6eval | rakudo 18f12d: OUTPUT«40» | ||
Timbus | rakudo: say "23h" + 5 | ||
p6eval | rakudo 18f12d: OUTPUT«No applicable candidates found to dispatch to for 'Numeric'. Available candidates are::(Mu $v, Mu %_) in method Numeric at src/gen/CORE.setting:648 in sub infix:<+> at src/gen/CORE.setting:2166 in sub infix:<+> at src/gen/CORE.setting:2166 in block <anon>… | ||
Timbus | barring cases where a alformed string somehow equates to a valid number, i think i prefer this behavior | 04:55 | |
sorear | Timbus: leading and trailing spaces are explicitly valid | 04:57 | |
japhb: ping, I'd like your comments | |||
05:07
molaf left
|
|||
japhb | pong, but looks like I need to backlog | 05:21 | |
05:23
sftp_ joined,
sftp left
|
|||
sorear | japhb: +"123def" ? | 05:23 | |
japhb finally manages to disentangle rakudo working dir enough to actually test his own code ... | 05:31 | ||
sorear, Failure: "trailing characters after number at position 3 of '123def'" | 05:32 | ||
FWIW, I interpreted the spec as saying the *only* e/E notation forced num interpretation, and exponentiation in :r<m*b**e> format did not. | 05:34 | ||
*Num | |||
colomon, thank you for switching to relative error in is_approx. It always bothered me in passing that it *wasn't* that way, but I kept forgetting to actually change it. | 05:37 | ||
colomon++ # Actually doing it | |||
moritz interprets it the same way (e/E) | |||
though the presence of e/E doesn't always force Num | 05:38 | ||
in the cases of :radix<...>, "the type produce will be the narrowest of Int, Rat or Num that can accurately represent the number" | |||
*produce | |||
*produced | 05:39 | ||
moritz not really awake yet | |||
japhb | moritz, IIRC the spec and roast were in net slightly unclear on e/E forcing Num -- but it appeared to be the *intent* that it be so. Otherwise 'e0' becomes much less useful. | ||
moritz | japhb: what I wrote above applies only to radix literals of the form :12<...> | 05:40 | |
japhb: see S02:3335 | |||
erm wait, radixes don't allow e/E at all | 05:41 | ||
so, I was confused | |||
yes, e/E force Num. Never mind me, move along :-) | |||
japhb | :-) | 05:42 | |
japhb looks forward to not being completely buried in $day_job work again | 05:43 | ||
05:50
replore_ left
|
|||
moritz looks forward to being not completely brain-melted due to $flue | 05:50 | ||
05:52
bbkr1 left,
bbkr1 joined
05:55
kaleem joined
05:57
drbean left
05:58
proller left
|
|||
japhb | Interesting pun, that ... | 05:59 | |
06:05
drbean joined
06:32
thou joined
|
|||
sorear | this is probably going to be painfully slow :| | 06:48 | |
sorear is turning STD.numeric into a number parser for niecza | |||
07:02
drbean left
07:03
koban joined,
koban left,
wtw joined,
koban joined
07:07
drbean joined
07:09
fsergot left
07:21
replore_ joined
07:26
envi_ left
07:28
proller joined
07:29
envi_ joined
07:31
thou left
07:35
lutok joined
07:36
proller left
|
|||
masak | morningz, #perl6 | 07:38 | |
sorear | o/ maska | 07:39 | |
masak | moritz: 'flue' refers to chimney passages, 'flu' is short for 'influenza' | 07:40 | |
moritz: also, get well soon :/ | |||
sorear | I figured that was in the logic of "my brane are busted" | 07:41 | |
sorear is busy writing a new, probably horribly slow Str->Numeric converter for Niecza | 07:42 | ||
masak | sorear: I'd assume so as well, if it weren't for the fact that at least another German-speaker had made the same typo before in my presence ;) | 07:43 | |
sorear | heh, yeah, German and English differ a lot with their final vowels | ||
masak | I enjoy the typo, mind. I always picture the OP carrying around quite a tall factory chimney. | ||
yes, final vowels. in some sense, 'flue' is the "expected" spelling of that word. but it's an abbreviation, so it breaks the conventional rules. | 07:44 | ||
not only that, but it's an abbreviation of a loan word. | |||
sorear debates going to bed now | 07:45 | ||
alternatively: chat with masak since our schedules rarely overlap these last weeks | 07:46 | ||
07:46
aindilis left
|
|||
masak | sorear: I've been on vacation :) | 07:48 | |
haven't even been backlogging for the past two weeks. | 07:49 | ||
sorear | we never did get around to the "niecza promotion" convo | 07:50 | |
masak | hm, seems not. | 07:51 | |
I've been thinking of chromatic's "no-one thinks of Perl 6 the product" argument lately. | |||
maybe any Niecza promotion should be geared towards that. | |||
sorear | will you still be here in ~8h? | 07:52 | |
masak | yes. | ||
sleep tight ;) | |||
sorear | bye | ||
masak | o/ | ||
07:53
baest joined
07:58
Patterner left
08:02
Psyche^ joined,
Psyche^ is now known as Patterner
08:04
aindilis joined
08:26
bacek left
08:41
mj41 joined
08:47
bkolera joined
|
|||
masak | interesting: lucumr.pocoo.org/2011/12/22/implici...feescript/ | 08:51 | |
08:52
agentzh joined
|
|||
masak | how implicit scoping combined with closures leads to either (a) the need for an explicit keyword, or (b) tricky maintenance issues. | 08:52 | |
08:53
cooper left
|
|||
masak | I'm not even sure I think implicit scoping is worth it for one-liners any more... | 08:55 | |
08:56
proller joined
|
|||
arnsholt | masak: Indeed. A good illustration of why I like strict in Perl 5 and 6's default strict | 09:15 | |
09:15
sudokode joined
|
|||
masak | arnsholt: it's still spec that -e turns strict off, AFAIR. no implementation supports it yet. | 09:16 | |
maybe we could add syntax such as 'perl6 -e: say $greeting = "OH HAI"' to p6eval... | 09:21 | ||
wow, we're down to 699 new+open tickets on RT. nice. | 09:26 | ||
rakudo: my @array = 1, 2, 3; say @array.min:{ $^a <=> $^b } | 09:28 | ||
p6eval | rakudo 18f12d: OUTPUT«Method 'min:{ $^a <=> $^b }' not found for invocant of class 'Array' in block <anon> at /tmp/LoEBfnkFuW:1 in <anon> at /tmp/LoEBfnkFuW:1» | ||
masak | this is our oldest open ticket. it's from 2008-05-07. | 09:29 | |
std: my @array = 1, 2, 3; say @array.min:{ $^a <=> $^b } | |||
p6eval | std dc62e1d: OUTPUT«ok 00:01 123m» | ||
masak | of course, STD wouldn't show the runtime error even if it parses things the same. | 09:30 | |
09:36
replore_ left
|
|||
masak | 699 new/open/stalled tickets; 405 submitted by some guy with a towel on his head. ;) | 09:38 | |
09:54
fridim_ joined
|
|||
masak | perl6: say 405 / 699 | 09:54 | |
p6eval | pugs b927740: OUTPUT«0.5793991416309012875536480686695278969957» | ||
..rakudo 18f12d: OUTPUT«0.579399141630901» | |||
..niecza v12-106-g6f76470: OUTPUT«0.57939914163090134» | |||
masak | Pugs++ # showoff | 09:55 | |
masak takes to the streets, chanting "I am the 58%" | |||
09:57
proller_ joined
|
|||
masak | perl6: say 1220 / 2605 # this is the proportion if one includes all the other types of tickets | 09:57 | |
p6eval | pugs b927740: OUTPUT«0.4683301343570057581573896353166986564299» | ||
..rakudo 18f12d: OUTPUT«0.468330134357006» | |||
..niecza v12-106-g6f76470: OUTPUT«0.46833013435700577» | |||
09:57
proller_ left
|
|||
masak | aww, less than half :P | 09:58 | |
10:00
dakkar joined
10:03
bacek joined
10:08
proller_ joined
|
|||
tadzik | 'morning | 10:15 | |
masak | morning, tadzik! | 10:19 | |
10:24
GlitchMr joined
|
|||
masak | tadzik: what's the deal with nom and Panda these days? | 10:24 | |
tadzik | masak: pre-compilation issues? | 10:26 | |
well, Panda on nom works as fine as Panda on b | 10:27 | ||
masak | I'm reading in the backlog that some dependencies still fail tests. | ||
tadzik | now they don't | ||
masak | \o/ | ||
tadzik | either the dependencies or their tests have been fixed :P | 10:28 | |
masak | well, that's what I get for not being fully backlogged yet ;) | ||
tadzik | now the precompilation problem is a bit tricky | ||
masak | what is the precompilation problem? | 10:29 | |
tadzik | two .pm files, even when they differ by one character or something will never be ABI-compatibile | ||
masak | "ABI"? | ||
tadzik | binary interface | ||
masak | right. | ||
tadzik | I mean pir :) | ||
if we have pre-compiled panda compiled against pre-compiled json, then when we update json, panda breaks | |||
masak | heck, one .pm compiled twice might not be PIR-compatible for all I know :P | ||
tadzik | hah, that'd be even funnier | 10:30 | |
masak | tadzik: well, that's why the .pm files always have to be present. | ||
tadzik: the .pir files are caches and *only* that. | |||
tadzik | yeah, but rakudo does not automagically fallback to pms | ||
masak | ah. | ||
tadzik | well, pm files | ||
masak | then that's a bug. | ||
tadzik | it says "json broken, lol!" and dies | ||
masak | whereas the truth is more like "Rakudo broken, lol!" | 10:31 | |
tadzik | mebbe | ||
well, I think the point is that we'll have to fall back recursively, if you know what I mean | 10:32 | ||
masak | I sort of maybe know what you mean. | 10:33 | |
there can be cascades of fallbacks? | |||
tadzik | yeah | ||
well, there has to be | |||
panda uses panda ecosystem, which uses json | |||
json.pir becomes out of date, so ecosystem.pir becomes out of date, so panda.pir becomes out of date | |||
well, outdated. Whatever | |||
masak | nod. | ||
tadzik | then we have to try panda.pm, and so ecosystem.pm and json.pm | 10:34 | |
masak | and re-precompilation will fail if some of those aren't present. | ||
tadzik | well, we always keep them | ||
10:58
daxim joined
11:01
proller_ left,
proller_ joined,
proller left,
proller joined
11:07
proller left,
proller_ left,
am0c left
|
|||
bbkr1 | speaking of module management - is there any way to ask user if live tests (or tests that require some environment setup to pass, like database server for example) should be run while installing module through panda? | 11:09 | |
tadzik | No idea. How does Perl 5 handle that? | 11:11 | |
masak | bbkr1: if we adopt the distinction between "developer tests" and "user tests", in which category does the above fall? | ||
IMO, only "user tests" should be run when installing a module through a module installer. at least per default. | |||
bbkr1 | live test falls under category "live test". it can be user or developer one. | 11:13 | |
11:14
koban left
|
|||
bbkr1 | Perl 5 also does not provide any "best practice" solution here, some modules ask on STDOUT with some timeout, some omit live tests. | 11:16 | |
11:18
xjiujiu joined
|
|||
bbkr1 | some (mostly client-server modules) setup circular test environment - they test client using own server and server using own client | 11:18 | |
11:24
xjiujiu left
11:28
xjiujiu joined,
mkramer joined
|
|||
masak | bbkr1: I've had modules asking on STDOUT and essentially hanging cpanm. I asked miyagawa, and he considered that the module author's problem, not his. | 11:36 | |
I'm inclined to agree. | |||
moritz | best practice is to only do "dangerous" stuff when special env variables are set | 11:43 | |
11:48
am0c joined
|
|||
masak | sounds Unix-y and Perlish. | 11:52 | |
a DI goon would say that the database server has no place in a set of unit tests to begin with. | 11:53 | ||
dalek | kudo/nom: 89353cb | tadzik++ | lib/Pod/To/Text.pm: [Pod::To::Text] Make tables a bit more pleasant to look at |
11:59 | |
12:01
pmurias joined
|
|||
masak | validating attributes -- a job for .new, or for .BUILD? | 12:09 | |
masak guesses BUILD | 12:10 | ||
moritz | erm, a job for the type constraints on the attributes | ||
tadzik | true :) | ||
recently even I dislike BUILD :P | |||
masak | moritz: only if the validation is easily expressable as a type constraint. | 12:11 | |
moritz | hm, yes | ||
tadzik | obtw. Does anyone know whether we can ask NCI if something is a NULL pointer? | ||
moritz | masak: if not, I'd overwrite new and do the validation there | ||
masak | moritz: why .new and not .BUILD? | ||
I went with BUILD and don't see any problems with it so far. | 12:12 | ||
12:12
overrosy left
|
|||
moritz | masak: because BUILD feels too late for my taste | 12:12 | |
masak | oh, I don't mind that it creates the invalid object, as long as it dies. | ||
moritz | not a good reason, I know | ||
masak | that's the same kind of lateness that C++ and Java have to content with, since object construction is hidden. | ||
dalek | kudo/nom: 3b7a158 | moritz++ | docs/ChangeLog: update ChangeLog in preparation for the 2011.12 release quite an impressive list IMHO |
12:16 | |
tadzik | moritz: cutting out the release just now? | ||
moritz | tadzik: I can wait if there's reason to wait, but I'm doing some of the preparation right now | 12:17 | |
tadzik | moritz: I have a minor Pod fix coming out | ||
s/out/up/ | |||
moritz | tadzik: go for it | ||
tadzik | nothing serious, just handling =for table :some<configuration> | ||
moritz | phenny: ask jnthn if he wants to get some commits in before the release | 12:18 | |
phenny | moritz: I'll pass that on when jnthn is around. | ||
masak | you're probably aware, but jnthn is on severely reduced internet access right now. | ||
tadzik | I may have just noticed a Podbug too, but I can wait with it for after the release, it's nothing serious | ||
moritz | masak: yes, and i won't hold the release waiting for the answer | 12:19 | |
but if he does have something to wait for, and manages to tell me in time, I'll wait | 12:20 | ||
masak | moritz: .BUILD turned out to be the "right" choice, because I wanted to do simultaneous validation and buildup of a private caching attribute. | ||
moritz | sounds sane-ish | ||
masak .oO( jnthn's commits: worth waiting for ) | |||
pmurias | moritz: re extra testing using env vars: do a lot of people besides authors enable those? | 12:21 | |
12:22
flussence left,
flussence_ joined
12:23
pkkm_ joined,
hundskatt joined
12:27
flussence_ left
12:28
flussence joined
|
|||
dalek | kudo/nom: e954381 | tadzik++ | / (2 files): [Pod] Fix configuration for tables |
12:29 | |
kudo/nom: f5ef031 | tadzik++ | lib/Pod/To/Text.pm: [Pod::To::Text] Fix handling of table caption |
|||
tadzik | (warning: not spectested. podtested) | ||
moritz: okay, I'm done here | |||
12:33
donri joined
|
|||
masak | have: string. want: first character into one variable, rest of the string into another variable. how do I do it? | 12:41 | |
I expected this to work, but it didn't: | |||
perl6: my ($first, $rest) = "foo".split(/<?>/, 2); say ($first, $rest).perl | |||
p6eval | rakudo 3b7a15, niecza v12-106-g6f76470: OUTPUT«("", "foo")» | ||
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HAND… | |||
masak | I expected this to work, but it didn't: | ||
perl6: my ($first, $rest) = "foo".comb(/./, 2); say ($first, $rest).perl | 12:42 | ||
p6eval | pugs b927740: OUTPUT«*** No such method in class Str: "&comb" at /tmp/dUdb70fKO1 line 1, column 22-40» | ||
..rakudo 3b7a15, niecza v12-106-g6f76470: OUTPUT«("f", "o")» | |||
masak | seems at least one of those ways should work. | ||
what use is the semantics of $limit on .comb, if it just emulates truncating the results? I can do that with .[^2] if I like. | 12:43 | ||
and should .split with /<?>/ really produce empty substrings? | 12:44 | ||
perl6: my @substrs = "foo".split(/<?>/, 5); say @substrs.perl | |||
p6eval | niecza v12-106-g6f76470: OUTPUT«["", "f", "o", "o", ""].list» | ||
..rakudo 3b7a15: OUTPUT«Array.new("", "f", "o", "o", "")» | |||
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HAND… | |||
masak scowls | |||
Tene | perl6: my ($first, $rest) = "foooooooo".comb(/./, 1); say ($first, $rest).perl; | 12:45 | |
p6eval | niecza v12-106-g6f76470: OUTPUT«("f", Any)» | 12:46 | |
..pugs b927740: OUTPUT«*** No such method in class Str: "&comb" at /tmp/CzbqR0aH3v line 1, column 22-46» | |||
..rakudo 3b7a15: OUTPUT«("f", Nil)» | |||
masak | buubot_backup: say for split //, "foo", 2 | ||
buubot_backup | masak: Couldn't match input. | ||
masak | buubot_backup: eval say for split //, "foo", 2 | ||
buubot_backup | masak: No output. | ||
masak | hrm. | ||
locally, that gives "f\noo\n" | |||
Tene | p5 split returns the rest of the unsplit argument as an additional value | ||
masak | that's what I expected here. | ||
Tene | +1 | ||
I say bug. | 12:47 | ||
masak | also, note that p5 doesn't start with an empty substring result. | ||
I'm tempted to submit a rakudobug, but I feel I don't understand the terrain yet. | |||
Tene | perl6: my ($first, $rest) = "foooooooo" ~~ m/(.)(.*)/; say ($first, $rest).perl; | ||
p6eval | niecza v12-106-g6f76470: OUTPUT«(#<match from(0) to(9) text(foooooooo) pos([#<match from(0) to(1) text(f) pos([].list) named({}.hash)>, #<match from(1) to(9) text(oooooooo) pos([].list) named({}.hash)>].list) named({}.hash)>, Any)» | ||
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HAND… | |||
..rakudo 3b7a15: OUTPUT«(Match.new(orig => "foooooooo", from => 0, to => 9, ast => Any, list => (Match.new(orig => "foooooooo", from => 0, to => 1, ast => Any, list => ().list, hash => EnumMap.new()), Match.new(orig => "foooooooo", from => 1, to => 9, ast => Any, list => ().list, hash => … | |||
masak | there's bound to be a bunch of design decisions here that I either don't remember or haven't heard about. | ||
dalek | ast: 4ad0098 | (Solomon Foster)++ | S (2 files): Fix tests for improved is_approx. |
12:48 | |
Tene | perl6: my ($first, $rest) = "foooooooo" ~~ m/(.)(.*)/; say (~$first, ~$rest).perl; | ||
p6eval | niecza v12-106-g6f76470: OUTPUT«Use of uninitialized value in string context at /home/p6eval/niecza/lib/CORE.setting line 784 (warn @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 169 (Mu.Str @ 9)  at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/WRdOJafUKy line 1 (mainline @ 3… | ||
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HAND… | |||
..rakudo 3b7a15: OUTPUT«("foooooooo", "")» | |||
dalek | ecza: 578b7d0 | (Solomon Foster)++ | lib/ (3 files): Merge branch 'master' of github.com:sorear/niecza |
12:49 | |
ecza: 0efe17a | (Solomon Foster)++ | lib/Test.pm6: Base tolerance in is_approx on the size of the expected result. |
|||
colomon | What's the master Test.pm for Rakudo? | 13:02 | |
moritz | lib/Test.pm | ||
colomon | moritz++ | 13:03 | |
moritz | nom: sub postfix:<!>($x) { [*] 0..$x }; say 5! | 13:04 | |
p6eval | nom f5ef03: OUTPUT«0» | ||
moritz | nom: sub postfix:<!>($x) { [*] 1..$x }; say 5! | ||
p6eval | nom f5ef03: OUTPUT«120» | ||
Tene | rakudo: sub taglib_tag_title returns Str is native('libtag_c.so') {} | 13:08 | |
p6eval | rakudo f5ef03: OUTPUT«===SORRY!===No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are::(Attribute $attr, Any $rw):(Attribute $attr, Any $readonly):(Attribute $attr, Any $box_target):(Routine $r, Any $rw):(Routine $r, Any $default):(Routine… | ||
Tene | perl6advent.wordpress.com/2011/12/...e-objects/ -- the code in there doesn't work on latest rakudo? | 13:09 | |
moritz | it needs use NativeCall; | ||
Tene | that would be useful to mention in the post. ;) | ||
rakudo: use NativeCall; sub taglib_tag_title returns Str is native('libtag_c.so') {} | 13:10 | ||
p6eval | rakudo f5ef03: OUTPUT«===SORRY!===Could not find NativeCall in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/nom-inst1/lib/parrot/3.11.0-devel/languages/perl6/lib, .» | ||
dalek | kudo/nom: b0f466f | (Solomon Foster)++ | lib/Test.pm: Base tolerance in is_approx on the size of the expected result. |
13:12 | |
Tene | would also be good to mention where to get NativeCall in the post. :) | 13:14 | |
13:15
kaleem left,
bkolera left
|
|||
moritz | tadzik: ^^ can you add that? | 13:17 | |
Tene | would also be nice to get a line number on the dispatch failure error | ||
looks like zavolaj has problems building for me... | |||
moritz | (line numbers) agreed | 13:18 | |
donri | yay it works! | ||
also had to change libtag_c.so to .so.0 | |||
tadzik | moritz: in a second, second being ~hour | ||
moritz | tadzik: great | 13:19 | |
tadzik | have to fix a few christmas things now | ||
Tene | oh, was trying to build with old perl6 | ||
donri | does that suggest hardcoding lib like that is bad for portability? | ||
moritz | donri: what Debian does is referencing the .so file, and create symlinks if there's none yet | ||
donri | apparently fedora does not | ||
moritz | I think that's sane-ish | 13:20 | |
Tene | donri: libtag_c.so is apparently in taglib-devel | ||
dunno why | |||
donri | ah, heh | ||
13:21
koban joined
|
|||
dalek | kudo/nom: 98040f5 | moritz++ | docs/ (2 files): preliminary release annoucement |
13:22 | |
13:23
bluescreen10 joined
|
|||
dalek | p: 38d9792 | moritz++ | docs/release_guide.pod: add a step to release guide: bump VERSION |
13:27 | |
13:29
bacek left,
hundskatt left
13:30
risou_awy is now known as risou
|
|||
moritz | eeks | 13:32 | |
I accidentally wrote 2012.12 | |||
instead of 2011.12 | 13:33 | ||
[Coke] | flussence: any luck on subtracting out skips? | ||
moritz | how can I delete a tag on github? | ||
13:33
kaleem joined
|
|||
[Coke] | I think you have to force it. | 13:33 | |
but IANAGE. | |||
moritz | for the record: | 13:34 | |
git tag -d 2012.12 | |||
git push origin :refs/tags/2012.12 | |||
user friendly, if you know *exactly* how git implements tags, and understand remotes very well... :/ | 13:35 | ||
colomon | [Coke]: there's a slew of todo's that need to be removed for niecza. any chance we can do it automatically? ;) | ||
moritz | autounfudge has an --untodo option, iirc | 13:36 | |
masak | that colon syntax for deletions always trips me up. | 13:37 | |
[Coke] | colomon: sure, I can run the autostuff. | 13:38 | |
colomon: can you suggest a test file that is showing passing todos at the moment? | |||
13:39
cosimo left
13:41
fridim_ left
|
|||
colomon | [Coke]: t/spec/S02-types/num.t | 13:41 | |
I show seven other files with todo passing | 13:42 | ||
too | |||
[Coke] | yup, that has hits when I run it with the right options. will do the whole suite and (test it and) apply. | 13:43 | |
this from str'ing rats as fractions? | 13:45 | ||
13:45
cognominal left
|
|||
dalek | p: f7ef779 | moritz++ | VERSION: bump VERSION |
13:45 | |
[Coke] | moritz++ #autounfudge, again. | 13:47 | |
dalek | kudo/nom: 2746edb | moritz++ | docs/announce/2011.12: fix typo, wollmers++ |
13:49 | |
colomon | [Coke]: yes | 13:50 | |
[Coke] | also catching some skips that can be relaxed to TODOs. | 13:53 | |
13:54
cognominal joined
|
|||
[Coke] | (though some of those have sorear comments about how the test is wrong. need a standard bit of text for that so we know not to unskip those. | 13:54 | |
13:58
molaf joined
|
|||
[Coke] | ARGH, killed the autounfudge run before it was complete. | 14:00 | |
14:01
mkramer left
|
|||
[Coke] | rerunning. | 14:03 | |
dalek | kudo/nom: 6564a05 | moritz++ | tools/build/NQP_REVISION: bump to NQP 2011.12 |
14:06 | |
moritz | evalbot rebuild nom | 14:10 | |
p6eval | OK (started asynchronously) | ||
flussence | g'morning/afternoon/* | 14:11 | |
[Coke] | evalbot rebuild mom | ||
p6eval | OK (started asynchronously) | ||
[Coke] | evalbot rebuild atlantis | ||
p6eval | OK (started asynchronously) | ||
[Coke] | hee. | ||
flussence | [Coke]: I'll have a look at the skips later today | ||
masak | flussence: 您好 | ||
evalbot rebuild your understanding of the universe as we know it, based on recent findings | 14:12 | ||
p6eval | OK (started asynchronously) | ||
[Coke] | flussence++ # doing work so I don't have to! ;) | ||
flussence | masak: I don't know mandarin, but I can probably guess that one :) | ||
moritz | I'm pretty sure it failed to rebuild atlantis :-) | 14:13 | |
colomon | moritz: have you checked all the oceans to make sure? ;) | ||
Util | moritz: announce/2011.12 - s/hackahton/hackathon/; s/(?<=YAPC::NA)/::2010/; | ||
masak | flussence: GT suggests "nin2 hao3" (polite form) rather than "ni3 hao3" | 14:14 | |
Util: wow, you're actually using Perl 5 lookbehind syntax. I am impressed. :) | 14:15 | ||
dalek | kudo/nom: 7a19259 | moritz++ | docs/announce/2011.12: [announce] small fixes by Util++ |
14:16 | |
14:16
koban left
|
|||
Util | :) | 14:16 | |
14:17
wtw left
14:22
GlitchMr left,
xjiujiu left
14:24
pkkm_ left
14:26
pkkm_ joined
|
|||
[Coke] | sorear: if you have a test skipped with something like "questionable test"... is it ok to switch that to a TODO if it still parses? | 14:26 | |
masak | ok, neither the spec for .split in S32, nor the one for .comb, even *mention* the intended semantics of their $limit parameters. it's as if the semantics were obvious (which they are not), or equivalent to Perl 5 (which they aren't in any current implementation) | 14:28 | |
suggest (1) axing .comb's $limit, and (2) changing the behavior of .split's $limit to that of Perl 5. | |||
14:29
agentzh left
|
|||
moritz | how does the behavior of (postivive) :limit for split differ fro p5? | 14:29 | |
colomon | and why have a limit on split but not comb? | ||
masak | moritz: see irclog.perlgeek.de/perl6/2011-12-22#i_4864857 | ||
moritz | nom: say 'abcd'.split('', 2).perl | 14:30 | |
p6eval | nom 7a1925: OUTPUT«("a", "bcd").list» | ||
masak | o.O | ||
moritz | that looks right to me | ||
note that splits behavior wrt zero-width chunks has changed | 14:31 | ||
14:31
cognominal left
|
|||
moritz | not limit | 14:31 | |
afaict | |||
masak | nom: say 'abcd'.split(/<?>/, 2).perl | ||
p6eval | nom 7a1925: OUTPUT«("", "abcd").list» | ||
masak | nom: say 'abcd'.split(/<?>/, 3).perl | ||
p6eval | nom 7a1925: OUTPUT«("", "a", "bcd").list» | ||
masak | uh, ok. | ||
I can live with that. | |||
moritz | and that's *exactly* like perl 5, except that perl 5 strips the first '' | ||
masak | nod | ||
moritz | nom: say 'abcd'.comb(/./, 2).perl | ||
p6eval | nom 7a1925: OUTPUT«("a", "b").list» | ||
moritz | and that seems sensible to me too | 14:32 | |
masak | colomon: .split has this behavior where it goes "ok, leave the rest as it is, un-split". .comb doesn't. | ||
colomon: what $limit in .comb does, I could equally well do with .[^$limit] | |||
it's like this "bonus feature" that effectively adds nothing. | 14:33 | ||
[Coke] | colomon: huh. looks like more than just the rat stuff is working now. sorear++ colomon++ | ||
masak: symmetry? | |||
colomon | [Coke]: what in particular? | ||
nom: my @a = 1, 2, 3; say @a[^6].perl | |||
p6eval | nom 7a1925: OUTPUT«(1, 2, 3, Any, Any, Any)» | ||
colomon | I'd say that's not equally well to $limit. ;) | 14:34 | |
masak | [Coke]: but the symmetry here doesn't exist! the behaviors are different. | ||
[Coke] | colomon: e.g. some skips in t/spec/S05-match/positions.t | 14:35 | |
colomon | [Coke]: hmmm... not sure what would have fixed that. | ||
14:42
cosimo joined
|
|||
[Coke] | colomon: running a full unskip/untodo of niecza on feather took real 44m0.878s | 14:47 | |
colomon | [Coke]++ | ||
14:49
baest left
14:50
pmurias left
|
|||
[Coke] | doing a spectest now to make sure no surprises. | 14:51 | |
dalek | ast: 0fcb566 | (Solomon Foster)++ | S06-advanced/return.t: Fudge for niecza. |
14:52 | |
[Coke] | colomon: caught a lot of skips "string math NYI" that now pass. | ||
colomon | [Coke]: yeah, I'm not sure when sorear++ snuck that one by me. | 14:53 | |
14:55
hundskatt joined
|
|||
[Coke] ponders getting a faster home machine for this work. | 14:55 | ||
moritz | niecza: say qx/echo foo/ | 14:58 | |
p6eval | niecza v12-110-g0efe17a: OUTPUT«Unhandled exception: Run NYI at /home/p6eval/niecza/lib/CORE.setting line 891 (die @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 2068 (rungather @ 2)  at /tmp/e8CiJ8mGPc line 1 (mainline @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 2290… | ||
dalek | ecza: da709b1 | (Solomon Foster)++ | t/spectest.data: Turn on S06-advanced/return.t. |
15:01 | |
15:02
IngisKahn left
|
|||
moritz | wow, it seems that nom's Failure doesn't expose the underlying exception, except by re-throwing it :/ | 15:08 | |
masak | that's... a regression. | 15:09 | |
b: sub foo { fail "ooh!" }; say foo().exception.payload | 15:10 | ||
[Coke] | huh. autounfudge caught a lot of stuff, but there are still a ton of passing TODOs. | ||
p6eval | b 1b7dd1: OUTPUT«ooh!» | ||
moritz | aye, I'm going to chain that | ||
masak | nom: sub foo { fail "ooh!" }; say foo().exception.payload | ||
p6eval | nom 7a1925: OUTPUT«ooh! in method <anon> at src/gen/CORE.setting:6930 in <anon> at src/gen/Metamodel.pm:2177 in find_method_fallback at src/gen/Metamodel.pm:2175 in find_method at src/gen/Metamodel.pm:799 in block <anon> at /tmp/N1Y51CNFjx:1 in <anon> at /tmp/N1Y51CNFjx:1»… | ||
masak submits rakudobug | |||
[Coke] | I wonder if you cannot use --untodo and --unskip at the same time. | ||
moritz | masak: would be .exception.Str on nom | 15:11 | |
and will be | |||
[Coke] | ah, some of these, at least, were todos of blocks where one thing in the block is now passing. | 15:12 | |
dalek | kudo/nom: 49ce722 | moritz++ | src/core/Failure.pm: make the exception object available from Failure |
||
moritz | autounfudge isn't clever enough to handle such stuff | ||
and it will never be, I think | |||
masak | nom: sub foo { fail "ooh!" }; say foo().exception.Str | ||
p6eval | nom 7a1925: OUTPUT«ooh! in method <anon> at src/gen/CORE.setting:6930 in <anon> at src/gen/Metamodel.pm:2177 in find_method_fallback at src/gen/Metamodel.pm:2175 in find_method at src/gen/Metamodel.pm:799 in block <anon> at /tmp/hcPdcdg3sr:1 in <anon> at /tmp/hcPdcdg3sr:1»… | ||
moritz | masak: will be, not is :-) | ||
erm, after rebuild | 15:13 | ||
[Coke] | niecza; say 1.01.WHAT | ||
moritz | evalbot rebuild nom | ||
p6eval | OK (started asynchronously) | ||
[Coke] | niecza: say 1.01.WHAT | ||
p6eval | niecza v12-111-gda709b1: OUTPUT«Rat()» | ||
[Coke] | moritz: yah, those are hard. | ||
niecza: say 1.01.Int.WHAT | |||
p6eval | niecza v12-111-gda709b1: OUTPUT«Int()» | ||
[Coke] | isa_ok($a.Int, "Int"); ... shouldn't that last Int havea no quotes? | 15:14 | |
moritz | correct | ||
a fossil | |||
[Coke] fixes S02-types/num.t | |||
masak gets a Korean "out of office" email after submitting that rakudobug | 15:17 | ||
moritz too | |||
masak | is it worth ejecting that guy from the p6c list? | 15:18 | |
masak whistles "인범진 is out of office, and he doesn't mind telling the world" | |||
moritz | only if he continues to send those mails | 15:19 | |
masak | ah, so a once-per-RT-submitter offender is OK, but if he does it twice or more, that's where we draw the line? | ||
moritz | erm, I'd say "once is ok" | 15:21 | |
masak | he already did it twice, once for you and once for me. | 15:22 | |
moritz | oh | ||
then I'd say ejecting is the way to go | |||
masak | or... oh, did he email to bugs-followup? | ||
then maybe he'll be silent now. | |||
dalek | ast: 23817f0 | moritz++ | S04-exceptions/fail.t: test Failure.exception |
||
masak | let's wait and see if he writes back :) | ||
moritz | masak: yes, he sent to the mailing list | 15:23 | |
masak | today's autopun spotting on Twitter: "According to a study by the Office of Incomplete Information, 8 out of every 10." | ||
[Coke] wonders if we should be checking error messages for words. | |||
e.g. ok $error ~~ / '%h' /, '... error message mentions parameter'; | 15:24 | ||
er, bad example. 'type' was another one. | |||
moritz | masak: ok, I just got a second one for my reply to your bug mail | ||
[Coke]: no, it should really check the type of the exception, which is NYI | 15:25 | ||
[Coke]: see t/spec/S32-exceptions/misc.t for my vision of how that stuff should turn out to be | |||
masak | moritz: ok, how does one eject a 인범진 from the RT list? | ||
moritz | masak: emailing the list admins, I'd suppose | 15:26 | |
masak does that | |||
[Coke] | moritz: see ... t/spec/S06-signature/errors.t for more dubious tests, then. | 15:27 | |
niecza: enum Color <red blue green>; say Color.pick(2); | |||
moritz | [Coke]: I know, I know... | ||
p6eval | niecza v12-111-gda709b1: OUTPUT«Color()» | ||
[Coke] | niecza: enum Color <red blue green>; say Color.pick(2).perl; | 15:28 | |
p6eval | niecza v12-111-gda709b1: OUTPUT«(Color, ).list» | ||
[Coke] | niecza: enum Color <red blue green>; say Color.pick(*).perl; | ||
p6eval | niecza v12-111-gda709b1: OUTPUT«(Color, ).list» | ||
masak | anti-auto-out-of-office-emails email sent. | 15:29 | |
moritz | perl6: enum Color <red blue green>; say Color.enums.pick(2); | ||
p6eval | rakudo 49ce72: OUTPUT«green 2 red 0» | ||
..niecza v12-111-gda709b1: OUTPUT«red 0 blue 1» | |||
..pugs b927740: OUTPUT«*** No such subroutine: "&enum" at /tmp/JLO_gDKqfq line 1, column 1-28» | |||
[Coke] | niecza: say 1.015 ** 200 | ||
p6eval | niecza v12-111-gda709b1: OUTPUT«NaN» | ||
masak | but Color.pick(2) should work too, right? | ||
it has such a nice ring to it... | 15:30 | ||
moritz | not sure it's specced to | ||
but I'd support it :-) | |||
nom: enum C <a b>; say C.HOW | |||
p6eval | nom 49ce72: OUTPUT«Method 'gist' not found for invocant of class 'Perl6::Metamodel::EnumHOW' in sub say at src/gen/CORE.setting:5649 in block <anon> at /tmp/I2ocauzswp:1 in <anon> at /tmp/I2ocauzswp:1» | ||
sorear | good * #perl6 | 15:32 | |
o/ M채sak | |||
masak | sorear! \o/ | ||
sorear: I'm not Korean, I just boot Koreans. :P | |||
moritz: it's spec'd. S12 describes .pick and has examples like CoinFace.pick | 15:34 | ||
[Coke] re-runs the spectest to make sure he caught everything. | |||
everytime someone asks "is that spec'd" and they get an answer, they need to update the test file to reflect the spec location! .;) | 15:35 | ||
masak | S12:2116, fwiw. | 15:38 | |
sorear | [Coke]: Only if it also runs in a finite length of time. | 15:40 | |
15:41
gfldex left
15:43
gfldex joined
|
|||
dalek | ast: 4401e31 | coke++ | S02-types/num.t: Fix type test fossil |
15:43 | |
ast: 5f0bdab | coke++ | / (47 files): niecza unfudge moritz++ # many of these from autounfudge |
|||
sorear | niecza: say 1.015e0 ** 200 # just checking | ||
p6eval | niecza v12-111-gda709b1: OUTPUT«19.643028639475052» | ||
sorear | EOBACKLOG | ||
moritz | rakudo: say 1.015e0 ** 200 | 15:44 | |
p6eval | rakudo 49ce72: OUTPUT«19.6430286394751» | ||
15:44
mj41 left
|
|||
moritz | rakudo: say 1.015 ** 200 | 15:45 | |
p6eval | rakudo 49ce72: OUTPUT«NaN» | ||
[Coke] | colomon, sorear: there you go. | ||
(lots of skips to todos instead, lots of now passing tests (skips & todos both). I tried not to unskip tests that were skipped for philosophical reasons (e.g. "bad test"), but some may have slipped through. | |||
moritz: interesting, since I'm not sure you're skipping that test. | 15:46 | ||
ah, you are todoing it. | 15:47 | ||
S32-num/power.t | |||
15:47
MayDaniel joined
|
|||
[Coke] | also interesting that the test before that is making sure that the result isn't a NaN, and that's passing. | 15:48 | |
colomon | [Coke]++ | 15:59 | |
16:00
flussence left
|
|||
sorear | generally, I'm fine with unfudging a test that passes, even if I disagree with the test | 16:00 | |
moritz | µµµµµµµµµmm hkk4~ | ||
16:00
flussence joined
|
|||
sorear | probably clearer to say 10^-30 m or 10^-6 ym | 16:02 | |
masak | hi, Ronja. | ||
moritz | Ronja says "bwah bwah bwah", if I understood her correctly :-) | 16:04 | |
colomon | Henry is insisting I play the webgl x-wing demo, because he likes watching me blow up. | 16:05 | |
16:05
MayDaniel left
|
|||
moritz | :-) | 16:06 | |
colomon | I got him too wound up a minute ago, he jumped off the sofa right onto my stomach. | 16:07 | |
[Coke] | sorear: good to know. Thanks. | ||
sorear | Where are the good tests for Str->number conversion? (colomon, etc) | 16:10 | |
moritz | S32-str/numeric.t IIRC | ||
colomon | I dunno about good tests. | ||
the trig tests make sure it works for them. | |||
oh, yeah, looks like S32-str/numeric.t has lots of juicy Str->number tests. moritz++ | 16:11 | ||
16:12
hundskatt left
|
|||
colomon | On further observation, probably should have quite a few additional tests, too. | 16:13 | |
like bigints | |||
moritz | ah right, that's from the time before rakudo did bigints, so they interested me a bit less at that time | ||
sorear | hrm, S32-str/numeric.t expects that +"foo" returns undefined | 16:18 | |
16:19
daxim left
|
|||
sorear thinks it would be much saner to throw | 16:20 | ||
masak decommutes | 16:21 | ||
sorear | .oO( * masak anticommutes ) |
16:22 | |
16:24
thou joined
|
|||
moritz somtimes antidecommutes :-) | 16:24 | ||
[Coke] urks as his daily rakudo build pulls in a new bird. | |||
moritz | a free (as in, released) bird :-) | 16:25 | |
16:26
daxim joined
|
|||
[Coke] | niecza++ | 16:27 | |
sorear | what? for not pulling in birds? | ||
[Coke] | it's generally faster. less painful when doing things that require hitting roast, or changing the setting. | 16:30 | |
sorear | don't forget it's running half as many tests and has half as much in the setting :) | 16:31 | |
colomon | probably 2/3rds the tests these days. :) | 16:33 | |
[Coke] | I look forward to getting closer to 100% of spectest coverage to see how they both fare. | ||
We're at least at 60%, will know for sure in about an hour. ;) | |||
16:33
kaleem left
16:34
flussence_ joined,
flussence left
|
|||
sorear | niecza: say 3**64 | 16:35 | |
p6eval | niecza v12-111-gda709b1: OUTPUT«3433683820292512484657849089281» | ||
sorear | niecza: say sprintf "%x", 3**64 | 16:36 | |
colomon | [Coke]: 60% passing tests -- I'm guessing it's 2/3rds tests executed. maybe that's high, though | ||
p6eval | niecza v12-111-gda709b1: OUTPUT«0» | ||
sorear | I do not think that is right | ||
[Coke] | niecza: say 1.2**200, 1.11**200 | ||
p6eval | niecza v12-111-gda709b1: OUTPUT«6858816903929052NaN» | ||
sorear | [Coke]: it's a denominator issue | 16:37 | |
1.11**200 # both the numerator and den. overflow Num, so the system calculates Inf / Inf | |||
colomon | 0 is approximately 3433683820292512484657849089281, right? ;) | ||
sorear | I'll fix this later somehow | ||
colomon: I guess, if we're talking error in calculating distance to the Moon in Planck lengths | 16:38 | ||
16:41
gfldex left
16:42
gfldex joined
|
|||
sorear | ... ... S02-literals/radix.t line 190k | 16:44 | |
190 | |||
moritz | which reminds me, at our Max Planck institute we jokingly talked about getting an institute dog, and we'd call him "Planck". Then talking about "Planck lengths" would be much easier to visualize :-) | 16:45 | |
sorear wonders :16("ffi") == 255i ? | 16:47 | ||
moritz | no | ||
that would break horribly for :36(...) | 16:48 | ||
16:48
kaleem joined
|
|||
sorear | my understanding was that :16($x) is just like +$x with a different default base | 16:48 | |
and for $x ~~ Str :10($x) was exactly the same as +$x | 16:49 | ||
16:49
envi_ left,
alester joined,
kaare_ joined
16:50
arlinius left
|
|||
sorear | are you saying that :BASE($str) should not parse complex syntax, even if the base is low enough for it to be unambiguous? | 16:50 | |
or are you saying that if BASE > 10, a backslash is required? | |||
[Coke] is still trying to figure out why we /have/ complex syntax. ;) | |||
moritz | sorear: I don't think radix notation and complex numbers mix at all | 16:51 | |
flussence_ | I'd prefer it not to do that, just to avoid a repeat of p5's \$int syntax in regexes | ||
[Coke] | I would tend to prefer "should not", rather than "where possible". | ||
moritz | I mean, you can still write :16(..)\i if you reallz feel like | ||
16:52
hundskatt joined
|
|||
sorear | moritz: mm. What syntactic forms would you like to see :base() parse? | 16:53 | |
flussence_ | .oO( /me wonders if the poor smolder.parrot.org server can cope with me uploading TAP files for every single rakudo commit ) |
||
sorear | moritz: the same ones :base<> parses? | 16:54 | |
moritz | sorear: erm, I think so (but I'm a bit distracted atm) | 16:57 | |
[Coke] | flussence_: I assure you it cannot. | 16:58 | |
you will choke the server and force admins to clean up after it. | |||
If you save them, I'll try to make sure muddle can handle it, though. | 16:59 | ||
flussence_ | I don't mean all at once, but I've been doing it for a few months now :) | ||
[Coke] | flussence_: and the old ones are probably timing out. | ||
it's mean to only show the latest, not all. | |||
*meant | |||
s/timing/aging/ | 17:00 | ||
flussence_ | oh, I was just worried I'd inadvertently cause it to run out of disk space at some point like feather3 does every now and then :) | 17:01 | |
[Coke] | gist.github.com/1476841 - niecza now at 62.34% | 17:04 | |
flussence_: you will. | |||
(except it eats more inodes than disk space.) | |||
17:05
snearch joined
17:08
cooper joined,
Radvendii joined
|
|||
sorear | o/ Radvendii | 17:09 | |
Radvendii | hey | ||
question: why is rakudo already on 2011.11 whereas rakudo star is only on 2011.07? | |||
flussence_ | one of star's prerequisites is a working ecosystem | ||
sorear | because Rakudo is released monthly | ||
and Star is released sporadically | 17:10 | ||
flussence_ | haven't had that for a while | ||
Radvendii | oh... | ||
does rakudo come with panda? or only rakudo star (not that it really matters, since panda with rakudo star isn't working...) | |||
[Coke] wonders if we're close to a new star release. | |||
the rakudo compiler is standalone. | 17:11 | ||
sorear | [Coke]: afaik yes | ||
[Coke] | so, no panda. | ||
[Coke] more correctly wonders HOW close we are. ;) | |||
17:15
hundskatt left
|
|||
colomon | panda works with the current rakudo (nom), so far as I know | 17:15 | |
Radvendii | so i download rakudo 2011.11 then i download panda? | ||
17:16
snearch left
|
|||
slavik1 | sorear: regarding your message yesterday, I was looking for a no match :) | 17:17 | |
17:17
hundskatt joined
|
|||
colomon | Radvendii: it's possible you need the latest version from git, I don't know. 2011.11 will be obsolete sometime in the next 24 hours.... | 17:22 | |
Radvendii | ugh | 17:23 | |
moritz | next 2 hours, more likely | ||
Radvendii | i guess i'll wait then... | ||
dalek | kudo/nom: 6bbced6 | moritz++ | VERSION: [release] bump VERSION |
||
17:24
wolfman2000 left
|
|||
Radvendii | cd .. | 17:25 | |
haha | |||
wrong tab | |||
moritz | moritz.faui2k3.org/tmp/rakudo-2011.12.tar.gz # please test | ||
Radvendii | installing now. | 17:28 | |
bbkr1 | \o/ | 17:29 | |
moritz | \o bbkr1 | 17:32 | |
flussence_ | Wow. I just noticed the relative timestamps on github update in realtime | ||
Radvendii | i forgot to sudo perl Configure.pl. ugh | 17:38 | |
moritz | why would you ever run Configure.pl as sudo? | 17:39 | |
Radvendii | because it didn't have permissions to put it in /local/bin/ | ||
which is where i want to put it... | |||
moritz | well, there are three (partially) sane solutions for that | 17:40 | |
1) change the permissions of /local/bin/ (or better /usr/local/bin) | |||
2) build it somewhere else, and then in the end just put symlinks into the /local/bin | 17:41 | ||
3) build and install parrot separately into /local/bin (that way only the "make install" steps from parrot, nqp and rakudo need sudo) | |||
build the whole project with sudo is risky | |||
Radvendii | oh | 17:42 | |
okay | |||
ill just use /usr/local/bin/. i didnt know that was an option... | |||
moritz | you still need to adjust the permissions if you want to install to it without sudo | 17:43 | |
Radvendii | should i set --prefix equal to /usr/local/bin/ or --parrot-options'--prefix'? | ||
or both? | |||
slavik1 | moritz: between rakudo and niecza, which would you recommend? | 17:45 | |
moritz | jsut --prefix | ||
slavik1: both | |||
slavik1 | :( | ||
Radvendii | what..? | ||
slavik1 | moritz: are there non-overlapping feature sets? | ||
moritz | *just --prefix | ||
Radvendii | okay | ||
moritz | slavik1: yes. See perl6.org/compilers/features | 17:46 | |
slavik1 | thanks | ||
was about to search for that | |||
Radvendii | this is what i get: error: cannot open .git/FETCH_HEAD: Permission denied | 17:47 | |
moritz | Radvendii: exactly what it says. It can't open that file, permission denied | 17:48 | |
Radvendii: probably because your previous use of 'sudo' left some files to be owned as root | |||
Radvendii: and now your ordinary user doesn't have permissions to change them anymore | |||
Radvendii | oh | ||
moritz | another reason not to use sudo for the build process | ||
Radvendii | how do i fix that, besides going in and changing them all back? | ||
i could do repair permissions... | 17:49 | ||
masak | thinking about what to advent-blog about tonight. | ||
flussence_ | `find . -exec sudo chown user: \{} +` should fix that | ||
masak | first I thought about giving operator overloading a re-visit -- Niecza is a bit ahead of Rakudo there, and supports precedence declarations. might be fun to write about. | ||
slavik1 | moritz: rosettacode.org/wiki/Read_a_configu...ile#Perl_6 OMG!!!! | 17:50 | |
die "Parse failed at $0" | |||
I love that!!!! | |||
masak | mathw++ wrote about operator overloading back in 2009. | ||
my alternative proposal is to write something about crypt, a moderately large game in Perl 6. | |||
suggestions? now's your chance to influence tonight's advent blog post! | 17:51 | ||
moritz | masak: you could still write about operator precdence, and demonstrate is equiv, is tigther etc. | ||
(which niecza now implements) | |||
slavik1 | in perl6, is take like 'yield' in python? | ||
moritz | kinda, yes | 17:52 | |
slavik1 | cool | ||
masak | moritz: yes, that was my plan (as I wrote above) :) | ||
mikemol | moritz: sec | ||
moritz | masak: oh, I didn't backlog enough | ||
mikemol | I wonder what rosettacode.org/wiki/RCRPG would look like with the game implemented as munging Perl's syntax and parsing. | ||
It'd require repl on top of that, obviously. | 17:53 | ||
slavik1 | sub multisplit($str, @seps) { $str.split(/ ||@seps /, :all) } | 17:54 | |
my @chunks = multisplit( 'a!===b=!=c==d', < == != = > ); | |||
is @seps slurpy? | |||
sorear | no | ||
mikemol | the task doesn't specify a syntax, just a basic set of items, actions and goals. | 17:55 | |
moritz | sub multisplit($str, *@seps) { ... } would make it slurpy | ||
slavik1 | sorear, is space being interpreted as a , ? | ||
sorear | slavik1: within <>, yes | 17:56 | |
<a b c> means ('a','b','c') | |||
it's always treated as one argument | |||
17:58
dakkar left
|
|||
slavik1 | sorear: I see, thanks | 17:59 | |
18:03
cooper left
|
|||
sorear | moritz: treating :16($x) like :16<> isn't enough because :16<> doesn't have logic to handle 0o777, etc | 18:04 | |
colomon | is it supposed to? | 18:07 | |
oh, geez, I see the spectest | 18:08 | ||
sorear | S02:3362 | ||
"Think of these as setting the default radix" | |||
Radvendii | yikes! i repaired disk permissions and it's still giving me an error that i dont have permissions for .git/FETCH_HEAD | ||
sorear | Radvendii: sudo rm -rf and start again correctly | 18:09 | |
you'll save yourself time | |||
Radvendii | okay | ||
18:09
gfldex left
|
|||
colomon | sorear: gack | 18:10 | |
18:11
gfldex joined
|
|||
Radvendii | were is 2011.12 again? | 18:11 | |
18:12
drbean left
|
|||
Radvendii | never mind, i found it | 18:14 | |
yay :D it's working | 18:16 | ||
not to self: no sudo for builds | |||
note* | 18:17 | ||
18:18
risou is now known as risou_awy,
drbean joined
|
|||
dalek | kudo/nom: dfd1d7a | moritz++ | docs/release_guide.pod: update release guide |
18:19 | |
18:25
cooper joined
|
|||
moritz | tags pushed, release done | 18:25 | |
colomon | \o/ | ||
Radvendii | mkdir /usr/local/share/doc/parrot: Permission denied at lib/Parrot/Install.pm line 183 | 18:26 | |
moritz | announcement sent, tarball uploaded | ||
Radvendii | i have permissions to /usr/local/... | ||
do i need to add permissions to /usr/local/share and /usr/local/share/doc as well/ | |||
moritz | maybe | ||
if the directories already exist | |||
Radvendii | ugh | 18:27 | |
alright | |||
18:27
mkramer joined
|
|||
Radvendii | why *wouldn't* i have permissions to that stuff, by default? | 18:27 | |
mux | because mkdir doesn't create a directory hierarchy | 18:28 | |
maybe? | |||
moritz | Radvendii: the default in /usr/local/ is to only give root permissions | ||
Radvendii: if a subdirectory already existed, and you changed the permissions of /usr/local, the sub directory is not affected | 18:29 | ||
18:29
mkramer left
|
|||
Radvendii | but it's safe to change it? | 18:29 | |
moritz | Radvendii: but if you create a subdirectory yourself, it is usually created with permissions that allow you to write to it | ||
Radvendii | is it safe to change the permissions of /usr/local/? | 18:30 | |
moritz | well, that greatly depends on your setup, how many people use your computer etc. | ||
Radvendii | just me | ||
18:30
cooper left
|
|||
moritz | then it's mostly safe | 18:31 | |
sorear | Radvendii: /usr/local is by convention entirely under the control of the sysadmin | ||
moritz | but you should really read up on basics of unix permission and safety issues | ||
I can't explain everything on IRC here | |||
18:31
daxim left
|
|||
Radvendii | okay | 18:32 | |
18:32
[particle]1 left
18:33
mj41 joined
|
|||
Radvendii | thanks. | 18:33 | |
18:34
cognominal joined
|
|||
sorear | yow! | 18:35 | |
<numeric> from STD is generating a lexer with 1045 states | |||
moritz | perl 6 -- insanity done right! (or not?) | 18:36 | |
sorear | insanity done right AND not. | 18:38 | |
[Coke] | niecza: say True & False; | 18:39 | |
p6eval | niecza v12-111-gda709b1: OUTPUT«all(Bool::True, Bool::False)» | ||
[Coke] | (ok, that's still pretty cool.) | ||
mux | moritz: hah, that's an awesome slogan :-) | 18:40 | |
moritz | :-) | ||
[Coke] looks forward to his 11 day holiday/vacation/burn unused time before he loses it. | 18:41 | ||
dalek | ast: 9324595 | cedric-vincent++ | S02-lexical-conventions/unicode.t: Fix the gender of a French "variable" :) |
18:44 | |
ast: b353dfd | moritz++ | S02-lexical-conventions/unicode.t: Merge pull request #10 from cedric-vincent/patch-1 Fix the gender of a French "variable" :) |
|||
18:46
cooper joined,
cooper left,
cooper joined
18:47
snearch joined
|
|||
tadzik | good evening | 18:47 | |
sorear | o/ tadzik | ||
18:48
mj41 left
|
|||
masak | tadzik! \o/ | 18:50 | |
tadzik | \o/ | ||
shopping is madness | |||
18:51
Chillance joined
|
|||
Radvendii | lllag | 18:52 | |
[Coke] | tadzik: MADNESS? THIS! IS! CHRISTMAS! | 18:55 | |
18:56
mj41 joined,
awoodland joined
|
|||
colomon | heh. wife just called to say "Do you really want me to get something for dinner? the stores are insane, and we could always order pizza..." | 18:56 | |
tadzik | :) | ||
moritz | as long as the pizza shops aren't insane either... :-) | 18:57 | |
colomon | :) | ||
18:58
Radvendii left
|
|||
tadzik | masak: how is the advent post coming along? | 19:00 | |
colomon | I'm a little worried about what we'll be eating in three days, given this philosophy of shopping.... ;) | ||
19:03
am0c left
19:04
stepnem left
19:05
bkolera joined
19:06
stepnem joined
|
|||
[Coke] | niecza: say exp(Inf) | 19:06 | |
p6eval | niecza v12-111-gda709b1: OUTPUT«Infinity» | ||
[Coke] | niecza: say (exp(Inf)).WHAT | ||
p6eval | niecza v12-111-gda709b1: OUTPUT«Num()» | ||
[Coke] | niecza: say Infinity | 19:07 | |
p6eval | niecza v12-111-gda709b1: OUTPUT«===SORRY!===Undeclared name: 'Infinity' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 880 (die @ 2)  at /home/p6eval/niecza/src/STD.pm6 line 1143 (P6.comp_unit @ 32)  at /ho… | ||
[Coke] | colomon: any idea why that is? Is it a mono Inf and not a niecza Inf? | ||
colomon | Num.Str just prints out the wrong symbol for Infinity. | 19:08 | |
Inf, I mean. :) | |||
might be C# sneaking through, I don't know. | |||
niecza: say Inf | |||
p6eval | niecza v12-111-gda709b1: OUTPUT«Infinity» | ||
colomon had just shrunk his niecza source window to work on $work.... | 19:09 | ||
[Coke] | niecza: say Inf.Int, Inf.Str | ||
p6eval | niecza v12-111-gda709b1: OUTPUT«InfinityInfinity» | ||
sorear | niecza: say NaN | 19:11 | |
p6eval | niecza v12-111-gda709b1: OUTPUT«NaN» | ||
19:11
mj41 left
|
|||
colomon | sorear: where is the Num -> Str conversion in niecza, anyway? | 19:11 | |
sorear | CtxNumStr in Kernel.cs | 19:12 | |
[Coke] | that's at least 2 tests. | 19:13 | |
dalek | ast: 5a1cbc4 | coke++ | S32-num/exp.t: Fix typo in todo msg. |
19:14 | |
sorear looks to see if there's an easy way to tweak the .net Inf formatting | |||
colomon | sorear: are you sure? my editor claims no such function exists. | ||
sorear | CtxRawNativeNum2Str | 19:15 | |
wonder why I broke with the naming convention on that one | |||
[Coke] | so, worst case, add an "isInf()" check there? | 19:17 | |
(if that were a real function. ;) | |||
19:17
Radvendii joined
|
|||
Radvendii | just how long is "./perl6 --setting=NULL --optimize..." supposed to take? | 19:18 | |
sorear | Radvendii: it varies a lot from release to release. I've seen 5 minutes and 10 hours locally. | ||
Radvendii | oh goodness | 19:19 | |
will it take longer if i do other stuff in the meantime? | 19:21 | ||
(on my computer, like surf the web) | |||
[Coke] | not apprciably longer, no. | 19:23 | |
Radvendii: how much memory do you have? | |||
(I think "alloc" will tell you that on OS X) | |||
sorear | [Coke]: I've found a way to override the formatting of Infinity | 19:24 | |
but not a way to make the 'E' lowercase | |||
Radvendii | available? 48 gigs | ||
sorear | perl6: say 1e50 | ||
p6eval | niecza v12-111-gda709b1: OUTPUT«1E+50» | ||
..pugs b927740: OUTPUT«100000000000000000000000000000000000000000000000000» | |||
..rakudo dfd1d7: OUTPUT«1e+50» | |||
[Coke] | Radvendii: whoa. 48G physical!? | 19:25 | |
Radvendii | oh | 19:26 | |
no | |||
hard drive | |||
lol | |||
[Coke] | sorear++ | ||
sorear | Radvendii: "memory" means the first row of /usr/bin/free | 19:27 | |
[Coke] | sorear: tests are in t/spec/S32-num/exp.t if you wish to untodo. | ||
Radvendii | it says no such file or directory | ||
i dont have alloc or free | 19:28 | ||
[Coke] | you can always check in the menu. "about this computer", maybe? Anyway, the big limit has been memory. if you have to start swapping out, it'll take (possibly MUCH) longer. | 19:29 | |
sorear | maybe /bin/free on some systems | ||
Radvendii | but under "about htis mac" it says Memory: 2 GB 1067 MHz DDR3 | ||
[Coke] | if you have 2G of physical memory, you'll have very little issue. | ||
sorear | ah | ||
[Coke] | perfecto. | ||
sorear | interestingly high ratio | ||
Radvendii | what do you mean? | ||
sorear has .375 primary storage and 80 secondary storage | |||
you apparently have 2/48 | 19:30 | ||
colomon | sorear: looks like N2S in Utils.cs is the real function? | ||
Radvendii | well, the 48 is just free memory. i have a lot more than that in use | ||
sorear | Radvendii: don't call hard disk space memory unless you're trying to confuse people | ||
Radvendii | good to know. | 19:31 | |
i thought that was memory though... | |||
sorear | the general term is "storage" | ||
primary storage = RAM sticks | 19:32 | ||
secondard storage = hard drives, flash | |||
tertiary = tapes | |||
Radvendii | oh. okay | ||
19:32
Mowah joined
|
|||
Radvendii | that's in order of how hard/slow they are to access, right? | 19:32 | |
sorear | right | 19:33 | |
Radvendii | yay. installation worked :D | ||
now i have to see if panda works... | |||
[Coke] wonders if he can just copy minmax from rakudo into niecza. | 19:36 | ||
Radvendii | cheaters. :P jk | 19:37 | |
Method 'add-project' must be implemented by Pies::Ecosystem because it is required by a role | |||
that is from bootstrap.sh | |||
from panda | |||
what to do? | 19:41 | ||
masak | moritz++ # Rakudo release #47 | ||
dalek | ecza: 8bbbb50 | sorear++ | lib/Test.pm6: ok() should return the success value for the test |
||
ecza: 484f571 | sorear++ | lib/CORE.setting: Fudge Int.new, Str.new to not explode as messily (fixes #68) |
|||
ecza: ddb793f | sorear++ | lib/Utils.cs: Stringify Inf as Inf |
|||
19:42
molaf left
|
|||
Radvendii | what's going on with panda? | 19:43 | |
has anyone else gotten it to work with the most recent rakudo? | |||
moritz | might be broken by latest rakudo changes | ||
sorear | niecza: say Inf\i | ||
p6eval | niecza v12-111-gda709b1: OUTPUT«NaN + Infinityi» | ||
sorear | niecza reasons that Re(Inf\i) = Re(Inf) * Re(i) - Im(Inf) * Im(i) = Inf * 0 - 0 * 0 = NaN | 19:44 | |
I am starting to understand what Kahan meant by "the necessity of a pure imaginary data-type" | 19:46 | ||
masak | well, ℂ is usually taken to have only one infinity... | ||
who's Kahan? | 19:47 | ||
19:47
snearch left
|
|||
masak | ah, Prof. W. Kahan. | 19:48 | |
...and he's a curmudgeon :) I like that. | 19:49 | ||
colomon | sorear: I've got a working patch here for the Inf/Infinity thing | ||
19:50
drbean left
|
|||
colomon | and it appears you had one as well? | 19:52 | |
dang it, too many distractions here. | |||
19:56
wooden left
19:57
drbean joined
|
|||
masak gets the latest Niecza | 20:04 | ||
tadzik | broken panda? woot | 20:08 | |
looking into it | |||
[Coke] | actually, why is the text is(exp(Inf),"Inf") and not ok(exp(Inf),Inf) ? | ||
seems like the first test is better written as the second, and if you want to test the stringification of Inf, you do that separately. | |||
20:09
ksi joined
20:10
mkramer joined
|
|||
colomon | [Coke]: do you mean is(exp(Inf), Inf) for the second test? | 20:12 | |
[Coke] | yes. | 20:13 | |
In fact, I'm going to do change htose. | |||
but we do get S02-types/infinity.t back. | 20:15 | ||
niecza: say Nan.Int | 20:17 | ||
p6eval | niecza v12-114-gddb793f: OUTPUT«===SORRY!===Undeclared name: 'Nan' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 880 (die @ 2)  at /home/p6eval/niecza/src/STD.pm6 line 1143 (P6.comp_unit @ 32)  at /home/p6… | ||
[Coke] | niecza: say NaN.Int | ||
p6eval | niecza v12-114-gddb793f: OUTPUT«NaN» | ||
[Coke] | niecza: say (NaN.Int == NaN, NaN.Int === NaN); | 20:18 | |
p6eval | niecza v12-114-gddb793f: OUTPUT«Bool::False Bool::False» | ||
[Coke] | niecza: say (Inf.Int == Inf) | ||
p6eval | niecza v12-114-gddb793f: OUTPUT«Bool::True» | ||
[Coke] | niecza: say (Inf.Int === Inf) | 20:19 | |
p6eval | niecza v12-114-gddb793f: OUTPUT«Bool::False» | ||
[Coke] | O_o ? | ||
sorear | === does not work on value types in niecza | ||
dalek | ast: 8155c3b | coke++ | S32-num/exp.t: Comparing values, not stringifications |
20:20 | |
ast: 305162d | coke++ | S02-types/infinity.t: niecza unfudge |
|||
[Coke] | ah. | ||
20:20
Radvendii left
|
|||
[Coke] | sorear++ # six more spectests. | 20:20 | |
colomon | [Coke]: so what is the count for today, anyway? | ||
[Coke] | 11481 earlier today, vs. 18418 for rakudo. | 20:21 | |
nom: say (11481+6)/18418 | |||
p6eval | nom dfd1d7: OUTPUT«0.623683353241394» | ||
20:22
pkkm_ left
20:29
kaleem left
20:33
mkramer left
20:35
mkramer joined
|
|||
dalek | ecza: 43afb0e | sorear++ | lib/CORE.setting: Do not multiply in postfix:<i> so Inf\i works |
20:38 | |
masak | niecza: sub postfix:<!>($n) is looser(&infix:<+>) { [*] 1..$n }; say 1 + 2 + 3! # bug? not a bug? discuss! | 20:40 | |
p6eval | niecza v12-114-gddb793f: OUTPUT«9» | ||
[Coke] | sorear: is there a test for that (Inf\i) ? | 20:41 | |
sorear | [Coke]: as such? I'm not sure. But S32-str/numeric.t requires it to work. | ||
[Coke] | sorear: ah, close enough. | ||
colomon | sorear: is your new postfix:<i> actually right? What if it's $x\i, and $x is complex? | 20:42 | |
sorear | colomon: I don't think that's legal | ||
if it is, then we have other issues | |||
colomon | perl6: my $x = i; say $x\i | 20:43 | |
p6eval | pugs b927740: OUTPUT«***  Unexpected "i" expecting "(" or "." at /tmp/UJHCV5d6DG line 1, column 19» | ||
..niecza v12-114-gddb793f: OUTPUT«-1 + 0i» | |||
..rakudo dfd1d7: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&i' called (line 1)» | |||
colomon | okay, that's not exactly great evidence, is it? | ||
sorear | perl6: my $x = 1i; say $x\i | ||
colomon | :) | ||
p6eval | rakudo dfd1d7, niecza v12-114-gddb793f: OUTPUT«-1 + 0i» | ||
..pugs b927740: OUTPUT«***  Unexpected "i" expecting "(" or "." at /tmp/SNs3v7Xonj line 1, column 20» | |||
dalek | ecza: b75c3e2 | sorear++ | lib/CORE.setting: Add a full number parsing grammar to the setting |
20:44 | |
colomon | our Complex multi postfix:<i> ( Numeric $x ) | ||
Returns a complex number representing the parameter multiplied by the imaginary unit i. | |||
20:44
Trashlord left
|
|||
colomon tries to remember if he wrote that. | 20:45 | ||
dalek | ast: eaa1664 | sorear++ | S32-str/numeric.t: [S32-str/numeric] Multiple fixes; fudge for niecza Failure checking is robust to exceptions; signed radix number tests corrected; a bigint test added. |
||
ecza: a245ca6 | sorear++ | t/spectest.data: Right, we do S32-str/numeric.t now |
20:46 | ||
sorear | colomon: git blame | ||
[Coke] | sorear++ | 20:48 | |
20:49
Mowah left
|
|||
[Coke] | so, for tools in t/spec that could stand to have a config file to read implementation information from, how do folks feel about a .spec_config file with a few fields in it. (implementation name, command to run perl6 from the build dir...) | 20:50 | |
20:50
ksi left
|
|||
[Coke] | e.g.: gist.github.com/1511810 | 20:51 | |
colomon | I am not to blame for that language. :)_ | 20:52 | |
Also, I apparently forgot to add myself as an author to S32-numeric | |||
sorear | colomon: we could make it a mutli / have separate candidates | ||
colomon | sorear: sure | ||
sorear | [Coke]: +1 | ||
[Coke] | is anyone using fudge at this point other niecza/rakudo? (I know pugs used to...) | 20:53 | |
sorear | b? | 20:54 | |
20:54
bluescreen10 left
|
|||
sorear | I guess b doesn't need to be tested anymore since it's not being developed | 20:54 | |
[Coke] | b was rakudo, aye? there isn't a separate fudge set for b. | 20:55 | |
colomon | right, no separate fudge for b | ||
pugs fudging is still all over roast | |||
[Coke] | but is anyone actually running those tests anymore? | 20:57 | |
colomon | probably not at the moment | ||
[Coke] | just wondering if I have to make fudge support both having a .spec_config and not or if i can just cut over niecza & rakudo. | ||
[Coke] will do it both ways, he supposes. | 20:58 | ||
colomon | mildew and "kp6" both appear in fudging lines as well. | ||
less than 10 times total combined, I think | |||
masak | blog post! \o/ perl6advent.wordpress.com/2011/12/2...revisited/ | ||
...aaand I've used up my time for the day. typical :) | 20:59 | ||
sorear | masak: I'm unsure if that's a bug. | ||
[Coke] | masak: you need to escape the <>'s | ||
sorear | masak: it seems to me that is looser cutting across syntactic categories is not well defined | ||
[Coke] | e.g.: niecza -e 'sub infix:($a, $b) { ($a + $b) / 2 }; say 10 mean 4 * 5' | 21:00 | |
ENOMEAN. | |||
masak | sorear: if so, then it should be an error, IMO. | 21:02 | |
[Coke]: thanks; will fix immediately. | |||
21:02
ksi joined
|
|||
[Coke] | keine Sorgen. | 21:03 | |
tadzik | wait, what | ||
Method 'add-project' must be implemented by Pies::Ecosystem because it is required by a role | |||
Pies::Ecosystem _is_ this role | |||
[Coke] | dumb question: where is add-project defined? | 21:04 | |
tadzik | in Panda::Ecosystem | ||
in Pies::Ecosystem it's just { !!! } | |||
[Coke] | ... so, it's not defined? | 21:05 | |
... so the compiler is telling you need to override it? | |||
tadzik | it's defined in Panda::Ecosystem | ||
[Coke] knows jnthn did just change how {!!!} and {...} interact with "role needs this method" recently. | |||
tadzik | and the fail is on Panda::Ecosystem | ||
masak | tadzik: can you golf the error to a one-liner? | ||
tadzik | I'll try | 21:06 | |
masak | \o/ | ||
tadzik | one liner works :_) | ||
:) | |||
[Coke] | so the error is really that you're saying you have the Panda::Ecosystem role, and the compiler is saying that panda::ecosystem doesn't define that method? | ||
masak | sorear: I deliberately steered clear of talking about associativity in the post, because I don't really see how it can work as spec'd. | 21:07 | |
tadzik | oh, wait | ||
funny bug | |||
masak | feels like associativity can't de defined on single operators, just on precedence levels. | 21:08 | |
tadzik | role Foo { method a { !!! } }; class Bar is Foo { method a { 'defined' } } | ||
Method 'a' must be implemented by Foo because it is required by a role | |||
eeps | |||
nom: role Foo { method a { !!! } }; class Bar is Foo { method a { 'defined' } } | |||
p6eval | nom dfd1d7: OUTPUT«===SORRY!===Method 'a' must be implemented by Foo because it is required by a role» | ||
tadzik | nom: role Foo { method a { !!! } }; class Bar does Foo { method a { 'defined' } } | ||
p6eval | nom dfd1d7: ( no output ) | ||
tadzik | s/is/does/ | ||
masak | well, of course. | ||
when you use 'is', you force the role to pun to a class. | 21:09 | ||
tadzik | yep | ||
masak | a class in which the method needs to be defined, but isn't. | ||
foot in yourself shoot. | |||
sorear | niecza: sub infix:<A>(*@_) is tighter<*> is assoc<left> { }; sub infix:<B>(*@_) is tighter<*> is assoc<right> { }; say 1 A 2 B 3 | ||
p6eval | niecza v12-117-ga245ca6: OUTPUT«Nil» | ||
sorear | huh | ||
I thought that was an error | |||
use of two operators of different assoc at a signle preclevel | |||
masak | did you really get a single preclevel there? | 21:10 | |
sorear | yes | ||
masak | I guess you did... | ||
sorear | niecza: say "1.0000000000000001" - 1 | ||
p6eval | niecza v12-117-ga245ca6: OUTPUT«1E-16» | ||
sorear | niecza: say "1.000000000000000001" - 1 | ||
p6eval | niecza v12-117-ga245ca6: OUTPUT«1E-18» | ||
sorear | niecza: say "1.00000000000000000001" - 1 | ||
p6eval | niecza v12-117-ga245ca6: OUTPUT«0» | ||
sorear | niecza: say "1.00000000000000000001".FatRat - 1 | ||
21:10
mj41 joined
|
|||
p6eval | niecza v12-117-ga245ca6: OUTPUT«(timeout)» | 21:11 | |
sorear | niecza: say "1.00000000000000000001".FatRat.perl | ||
p6eval | niecza v12-117-ga245ca6: OUTPUT«(timeout)» | ||
21:12
mkramer left,
mkramer joined
|
|||
masak | 'night, #perl6 | 21:14 | |
sorear | niecza: say pi.Rat(0).perl | ||
p6eval | niecza v12-117-ga245ca6: OUTPUT«Unhandled exception: System.ArgumentOutOfRangeException: Argument is out of range.Parameter name: index at System.Collections.Generic.List`1[Niecza.BigInteger].get_Item (Int32 index) [0x00000] in <filename unknown>:0  at Niecza.RatApproxer.CandidateS… | ||
sorear | niecza: my $x = 1e0; $x /= 2 while $x / 2 > 0; say $x | 21:15 | |
21:15
mkramer left
|
|||
p6eval | niecza v12-117-ga245ca6: OUTPUT«4.94065645841247E-324» | 21:15 | |
sorear | niecza: say 5e-324 | ||
p6eval | niecza v12-117-ga245ca6: OUTPUT«4.94065645841247E-324» | ||
sorear | niecza: say pi.Rat(5e-324).perl | ||
p6eval | niecza v12-117-ga245ca6: OUTPUT«7074237752028433/2251799813685248» | ||
sorear | niecza: say pi.Rat(5e-324).WHAT | 21:16 | |
p6eval | niecza v12-117-ga245ca6: OUTPUT«Rat()» | ||
sorear | niecza: say 5e-324.Rat(5e-324).WHAT | ||
p6eval | niecza v12-117-ga245ca6: OUTPUT«Rat()» | ||
sorear | niecza: say 5e-324.Rat(4e-324).WHAT | ||
p6eval | niecza v12-117-ga245ca6: OUTPUT«Rat()» | ||
21:17
mkramer joined
21:22
mkramer left
21:24
mkramer joined
|
|||
colomon | niecza: { say "hello" } for ^3; | 21:28 | |
p6eval | niecza v12-117-ga245ca6: ( no output ) | ||
colomon | niecza: for ^3 { say "hello" } | 21:29 | |
p6eval | niecza v12-117-ga245ca6: OUTPUT«hellohellohello» | ||
sorear | that block is not a direct child of a statementlist. Why should it be executed? | ||
-> $x { ... } for ... makes even less sense. | |||
dalek | ecza: 95a1704 | sorear++ | lib/ (2 files): Fix infinite recursion in Str.FatRat |
21:30 | |
colomon | sorear: I got that structure from a spectest. | ||
sorear | colomon: so did I. | ||
colomon | nom: { say "hello" } for ^3; | 21:31 | |
p6eval | nom dfd1d7: OUTPUT«hellohellohello» | ||
sorear | I still think it's nonsense. | ||
colomon | Not telling you you're wrong. | ||
sorear | nom: -> $x { say "$x" } for ^3 | ||
colomon | I just changed the spectest locally, will push it in a few. | ||
p6eval | nom dfd1d7: OUTPUT«012» | ||
sorear | I'll look at what nom does. | ||
It might still be insane but it's clearly not unimplementable. | |||
[Coke] | perl6: it may be insane, but what the heck. | 21:32 | |
21:32
mkramer1 joined
|
|||
p6eval | rakudo dfd1d7: OUTPUT«===SORRY!===Confused at line 1, near "it may be "» | 21:32 | |
..niecza v12-117-ga245ca6: OUTPUT«===SORRY!===Confused at /tmp/kfwOHKqkNX line 1:------> it may be insane, but what the heck⏏.Undeclared routines: 'be' used at line 1 'but' used at line 1 'heck' used at line 1 'insane' used at line 1 | |||
..'it' use… | |||
..pugs b927740: OUTPUT«***  Unexpected end of input expecting ".", "\187", ">>", "=", "^", operator name, qualified identifier, variable name, "...", "--", "++", "i", array subscript, hash subscript or code subscript at /tmp/jjlKzIxh0Q line 1, column 37» | |||
[Coke] | er, whoops. | 21:33 | |
ahem. | |||
21:33
mkramer left
|
|||
dalek | ast: 7aaba1f | (Solomon Foster)++ | S02-literals/pairs.t: Fudge for niecza, rewrite last test to use a standard for loop. |
21:33 | |
ecza: f3cbaf3 | (Solomon Foster)++ | t/spectest.data: Turn on S02-literals/pairs.t. |
21:34 | ||
colomon | That's another 75 passing tests. | 21:35 | |
[Coke] | colomon: \o/ | ||
nom: say (11481+6+75)/18418 | |||
p6eval | nom dfd1d7: OUTPUT«0.627755456618525» | ||
colomon | A lot of these are very easy... basically find the one or two things that need to be skipped, and then it's all straightforward. | ||
[Coke] | nom: say 1/18418 | 21:36 | |
p6eval | nom dfd1d7: OUTPUT«5.42947116950809e-05» | ||
tadzik | where does 18418 come from? | ||
[Coke] | colomon: yah, I did that a few months ago and haven't gone back for another pass. | ||
tadzik: that's how many rakudo passed earlier today. ;) | |||
tadzik | I think nom passes about 20400 | ||
21:37
Trashlord joined
|
|||
[Coke] | tadzik: that includes skips, which is cheating. ;) | 21:37 | |
tadzik | hah, okay :) | ||
good poing | |||
or even point | |||
sorear imagines modifying ok() to always print ok | |||
[Coke] | sorear: WIN! | 21:38 | |
slavik1 | rakudo: say ok(); | 21:39 | |
p6eval | rakudo dfd1d7: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&ok' called (line 1)» | ||
slavik1 | :( | ||
[Coke] | rakudo: use Test; say ok(); | ||
p6eval | rakudo dfd1d7: OUTPUT«===SORRY!===CHECK FAILED:Calling 'ok' will never work with no arguments (line 1) Expected any of: :(Mu $cond, Any $desc) :(Mu $cond)» | ||
[Coke] | rakudo: use Test; say ok("FINE, YOU HAPPY?"); | ||
p6eval | rakudo dfd1d7: OUTPUT«ok 1 - 1324587586.17036» | ||
tadzik | ...what's that number? | 21:40 | |
[Coke] | rakudo: say now() | 21:41 | |
p6eval | rakudo dfd1d7: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&now' called (line 1)» | ||
[Coke] | rakudo: say time() | ||
p6eval | rakudo dfd1d7: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&time' called (line 1)» | ||
tadzik | rakudo: say now | ||
p6eval | rakudo dfd1d7: OUTPUT«Instant:1324587715.73274» | ||
tadzik | it's a term | ||
[Coke] | ETOOMANYLANGUAGES. | ||
colomon | nom: my int $namcu = 2; | ||
p6eval | nom dfd1d7: ( no output ) | 21:42 | |
[Coke] heads home. | |||
colomon | nom: my int $namcu = 2; say $namcu.WHAT | ||
p6eval | nom dfd1d7: OUTPUT«Int()» | ||
dalek | ecza: c4bba4b | sorear++ | lib/CORE.setting: Save and restore the caller $/ in subst() (fixes #55) |
21:45 | |
ast: 5bf056e | (Solomon Foster)++ | S02-types/declare.t: Epic fudge for niecza. |
21:57 | ||
ecza: 5be4ac4 | (Solomon Foster)++ | t/spectest.data: Turn on S02-types/declare.t. |
|||
sorear | colomon: since all the code paths requirew BigInteger *anyway*, I'm going to unify the NR_FIXINT and NR_BIGINT paths in pow(). Is this sane to you? | 22:09 | |
22:10
drbean left
22:13
mj41 left
22:15
ksi left,
Moukeddar joined
22:16
ksi joined
22:17
drbean joined
|
|||
colomon | sorear: I'd worry about the stability of the big_pow function? | 22:19 | |
sorear | stability? | 22:21 | |
22:24
mj41 joined
|
|||
sorear | niecza> 1.0001 ** 10000 | 22:24 | |
2.7181459268243562 | |||
dalek | ecza: 7af9bc5 | sorear++ | lib/Builtins.cs: Make raising Rats to large powers saner |
22:25 | |
22:38
mj41 left
22:40
MayDaniel joined
22:48
Moukeddar left,
mj41 joined
22:51
preflex left,
preflex_ joined,
preflex_ is now known as preflex
|
|||
colomon | sorear: from the source: // Untested and probably unusable in the near term | 23:00 | |
23:04
MayDaniel left
|
|||
colomon | I think the theory is solid, but I don't know that it's ever really been tested -- unless you just put it in action and ran the spectests on it. :) | 23:06 | |
23:07
thou left
|
|||
colomon | patch looks sensible to me. | 23:08 | |
23:10
hundskatt left
23:11
mj41 left
23:18
drbean left
23:21
bkolera left
|
|||
dalek | ast: 29f0d01 | (Solomon Foster)++ | S03-operators/short-circuit.t: Fudge for niecza. |
23:21 | |
colomon | sorear: ping? | 23:22 | |
niecza: say [&&] 1, 2, 3, 4 | 23:24 | ||
p6eval | niecza v12-122-g7af9bc5: OUTPUT«===SORRY!===This macro cannot be used as a function at /tmp/eOzoY_lbG9 line 1 (EOF):------> say [&&] 1, 2, 3, 4⏏<EOL>Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 880 (die … | ||
colomon | niecza: say [+] 1, 2, 3, 4 | ||
p6eval | niecza v12-122-g7af9bc5: OUTPUT«10» | ||
23:26
drbean joined
23:31
wooden joined,
wooden left,
wooden joined
|
|||
colomon | nom: say [^^] 1, 0, 0, 0, 0 | 23:33 | |
p6eval | nom dfd1d7: OUTPUT«1» | ||
colomon | nom: say [^^] 1, 0, 0, 0, 1 | ||
p6eval | nom dfd1d7: OUTPUT«Nil» | ||
23:33
IngisKahn joined
23:34
Ingis joined
23:38
IngisKahn left
23:48
awoodland left
23:59
wallberg joined
|