»ö« 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.333333333333333␤0.333333333333333␤1/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 + 3i␤2 + 3i␤Complex.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 1␤␤Unhandled 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 1␤␤Unhandled 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«hello␤hello␤hello␤»
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«hello␤hello␤hello␤»
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«0␤1␤2␤»
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