»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by lichtkind on 5 March 2010. |
|||
jnthn | rakudo: say Any.^parents() <<===>> Any | 00:01 | |
p6eval | rakudo a1159c: OUTPUT«0» | 00:02 | |
jnthn | rakudo: say Any.^parents() <<===>> Mu | ||
p6eval | rakudo a1159c: OUTPUT«No applicable candidates found to dispatch to for 'hyper'. Available candidates are::(&op, %lhs, %rhs, Any :dwim-left($dwim-left), Any :dwim-right($dwim-right)):(&op, Iterable $lhs-iterable, Iterable $rhs-iterable, Any :dwim-left($dwim-left), Any | ||
..:dwim-right($dwim-right)):(&op, … | |||
jnthn | rakudo: say (Any.^parents())[0] <<===>> Any | ||
p6eval | rakudo a1159c: OUTPUT«No applicable candidates found to dispatch to for 'hyper'. Available candidates are::(&op, %lhs, %rhs, Any :dwim-left($dwim-left), Any :dwim-right($dwim-right)):(&op, Iterable $lhs-iterable, Iterable $rhs-iterable, Any :dwim-left($dwim-left), Any | ||
..:dwim-right($dwim-right)):(&op, … | |||
jnthn | hm :-/ | ||
rakudo: say Cool.^parents() <<===>> Any | 00:03 | ||
p6eval | rakudo a1159c: OUTPUT«10» | ||
jnthn | rakudo: say ?any(Cool.^parents() <<===>> Any) | ||
p6eval | rakudo a1159c: OUTPUT«1» | ||
masak | shouldn't the first one blow up? | ||
(because the lists are of different length) | |||
jnthn | masak: >>===<< would | 00:04 | |
masak | oh, right. | ||
don't mind me :) | |||
jnthn | heh, I always used to mix them up | ||
I remember it as "point at the one(s) that should dwim" | |||
diakopter | ඹඹඹඹ | 00:05 | |
masak | that's a good rule. | ||
jnthn | Anyway, none of this explains why the same code in .WALK ain't doing what I expect. :| | ||
Passes some of the tests, at least. | 00:06 | ||
I'll work out the rest tomorrow. | |||
(Not ready for sleep, but want to do something more than relaxing for a bit. :-)) | 00:07 | ||
er, more relaxing than debugging... | |||
:-) | |||
masak | I was worried there for a while :) | ||
(about you going to sleep so early, that is) | |||
jnthn | Yeah, the parametric role bugs were...tricky. :-) | ||
My brane is sore now. | 00:08 | ||
We now pass tests alpha never did though. Which is nice. | |||
masak | cool. | ||
jnthn | I may pop handles back this weekend. | ||
Feels like one of the big still-missing OO bits. | 00:09 | ||
(Yes, I know, named enums are another. :-P) | |||
masak | I've been thinking the past few days whether it'd be simple to tack resumed compilation onto Yapsi, and get a real REPL there before Rakudo gets it :) | ||
jnthn | gist.github.com/377330 # this tells you the number of tests, by synopsis, that we've still got commented out in spectest.data | 00:12 | |
masak | number of test files, right? | ||
jnthn | Correct. | 00:13 | |
Sorry, thinko. :-) | |||
masak | a common one :) | ||
it's about what I'd expect, I think. | |||
though number of test files is a wonky measure in the first place. | 00:14 | ||
number of tests says more. | |||
jnthn | Sure. | ||
00:14
Chillance joined
|
|||
jnthn | But that's a rather harder number to come by. | 00:14 | |
It gives some indication of where work is needed, though. | 00:15 | ||
masak | I wonder how tough it would be to write a tool once and for all that, given a .t file in t/spec, came back and gave an integer number corresponding to the actual number of tests in that file. | 00:16 | |
sorear | Rice-hard | ||
masak | I mean, for a general solution it reduces to the Haltin Problem, I guess. | ||
jnthn | Well, it's trivial if you've got a Perl 6 implementation that passes the test file. | ||
pmichaud | in the general case, halting problem yes. | ||
jnthn | So maybe just write one of those. ;-) | ||
masak | jnthn: well, let's assum we don't. | ||
jnthn | Aww! | 00:17 | |
sorear | what we could do is modify the fudger to never change the number of tests | ||
i.e. generate skip records for fudged tests | |||
masak | jnthn: let's assume we have what we have today. | ||
jnthn | Well, this was all easy back in the days of test plans. | ||
;-) | |||
sorear | then you can just run the tests and count the number of passes vs. skips | ||
masak | I know, with an integer in the test plan we just take that one. | ||
there are two other cases that I know of. | |||
jnthn is still only semi-convinced of the plan *;...DONE_TESTING | 00:18 | ||
masak | one is where it says 'plan @some-array;' | ||
jnthn | Ah. That one *is* scary. :-) | ||
masak | or some simple arithmetic expression based on @some-array. | ||
sorear | what do we think of fixing the fudger? | ||
masak | I don't think that one is very scary, because the array is often constant. | ||
sorear: it's an interesting idea, co-opting the fudger for that purpose. | |||
sorear: but it'd probably mean a lot of manual fudging of files we don't even attempt yet. | 00:19 | ||
I was more thinking about either using duct-tape parsing heuristics or piggy-backing viv somehow. | 00:20 | ||
S12: "Since the colon does not require a space in this case, and it looks kinda funny to put it, [...]" | 00:22 | ||
is that standard English? "to put it"? | |||
diakopter | eh | ||
pmichaud | "to put one there" probably. | 00:23 | |
diakopter | s/to put it/there/ | ||
or that | |||
pmichaud | and s/kinda/kind of/ :-) | ||
jnthn | Yeah, gives me a parse-ouch. | ||
pmichaud | kinda is kinda slangy. | ||
masak | sorta, yah. | ||
pmichaud | or even better, s/kinda//; | ||
jnthn | But that's kinda OK, 'cus Perl 6 supports slangs. :-) | ||
pugssvn | r30459 | masak++ | [S12] straightened up the language | 00:25 | |
diakopter | you show that language who's boss ;) | 00:26 | |
o wait, that's "straightened out"; oops | 00:27 | ||
masak | :) | ||
diakopter | std: $*ttt = 5; | 00:28 | |
masak needs version control for the commit messages | |||
p6eval | std 30459: OUTPUT«ok 00:01 108m» | ||
diakopter | rakudo: $*ttt = 5; | ||
p6eval | rakudo a1159c: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 17354 (src/builtins/Junction.pir:393)» | ||
diakopter | rakudo: my $*ttt = 5; | ||
p6eval | rakudo a1159c: ( no output ) | 00:29 | |
diakopter | oh | ||
jnthn | masak: Actually straightended up didn't look funny to me. | ||
masak | diakopter: I blame Nick Clegg for the typo. it's his fault. | ||
diakopter | there wasn't a typo | ||
I was making a follow-on joke. | |||
masak | alpha: $*ttt = 5 | ||
p6eval | alpha 30e0ed: ( no output ) | ||
jnthn | Heh. What does alpha think it's assigning to. :-) | 00:30 | |
Of course, alpha would assign to anything. :-) | |||
diakopter | I wasn't saying 'straightened up' looked funny. | ||
masak | ah. I wasn't following on, I guess :) | 00:31 | |
masak should be more assertive in his non-nativeness | |||
00:31
ruoso joined
|
|||
masak | diakopter: how's the status on perlesque? care to give a 30-second summary? | 00:31 | |
diakopter | ok | 00:32 | |
took a 3-day break; hopefully I'll finish contextuals tonight. | |||
pmurias has started to think about a perlesque backend for mildew/std | 00:33 | ||
so we've talked about what perlesque needs next | |||
for that | |||
most of it is just syntactic shortcuts for stuff that can be done through .NET apis directly | |||
he's been figuring out where CLR stops and where perlesque begins | 00:34 | ||
sorear | alpha: 2 + 2 = 5; say (2 + 2) | ||
p6eval | alpha 30e0ed: OUTPUT«Unable to set lvalue on PAST::Val nodein Main (file <unknown>, line <unknown>)» | ||
00:35
masak left
00:36
masak joined
|
|||
diakopter | masak: .u left | 00:36 | |
o | |||
masak | diakopter: sounds like nice progress. | ||
well, neighbournet. it's unreliable. | |||
apologies. | |||
diakopter | I don't know what you heard last about perlesque; what did you know so far? | 00:37 | |
00:37
masak` joined
|
|||
diakopter | I don't know what you heard last about perlesque; what did you know so far? | 00:37 | |
00:37
masak` left
|
|||
masak | diakopter: I know that it isn't a Perl 6 implementation, but something that might run STD.pm6. | 00:38 | |
I know you've done quite a bit of type stuff. | 00:40 | ||
with native ints, at least. | |||
a while back, it seems that you were figuring out things with scopes. | |||
that's about it. | 00:41 | ||
diakopter | oh | 00:43 | |
it has strongly-typed closures-as-scalar-variables, invocations of scalars, more control flow than anyone could ever use, including labels & goto | 00:44 | ||
named subs | |||
return statement | 00:45 | ||
masak | sounds like a cute little language. | ||
diakopter | string literals | 00:46 | |
masak | what was your main motivation in creating it? | ||
diakopter | BigInteger, Complex (not the Perl 6 api, though) | ||
a target/assembly language for std/viv | |||
tho of course it could be one for rakudo/nqp-rx | |||
masak | I've been growing a target/assembly language for Yapsi lately. | 00:47 | |
diakopter | probably next after contextuals should be class declarations | ||
oh? | |||
masak | some of the things you mention above ring familiar. | ||
though right now, SIC (as it's called) is much less complex. | 00:48 | ||
it only got blocks this evening. | |||
diakopter | would you like to expose it to p6eval? | ||
masak | eventually, yes. | ||
probably before the May release. | |||
though I suspect it'll hit speed issues fairly soon... | 00:49 | ||
but I recommend that you download it and play with it, of course :) | |||
diakopter | speed issues? | ||
masak | yes. not aiming to be fast, just to get the fundamentals right. | 00:50 | |
diakopter | the fundamentals of what? | ||
masak | of Perl 6 semantics. | ||
diakopter | oh | ||
masak | in the short term, that means lexical variables and nested blocks. | ||
in the slightly longer term, it means functions and function calls. | |||
I was thinking about the DESTROY/DESTROYALL methods the other day. I realized that since the method has to be called by the GC, it's important that the VM know how to call into Perl 6 to execute the DESTROYALL method on the object to be GC-ed. | 00:54 | ||
I haven't seen any discussion on that, ever. | |||
colomon | alpha: my $a; $a *= 2; say $a | ||
p6eval | alpha 30e0ed: OUTPUT«2» | ||
colomon | dang, that does work! | 00:55 | |
sorear | masak: GC reentrancy is made of hell | ||
quite a few implementations of finalizers require them in C and blow up if you try to eval() | |||
jnthn | IIRC, there's a way to override VTABLE_destroy in PIR. | 00:56 | |
sorear | this is for good reason | ||
jnthn | However | ||
Hell knows what happens if we run a bunch of Perl 6 there and do fun stuff. :-) | |||
The mere fact that the object about to be collected has just been used as an invocant means we now have (GC-able) call frames that reference it. | 00:57 | ||
masak | in Java, the finalize method is IIUC fairly useless, because it doesn't guarantee that an object fit to be GC-ed has its finalize method called within reasonable time, or even at all before the program finishes. | ||
jnthn | masak: Same for Perl 6, I expect. | ||
masak: Or at least, implementation dependent. | |||
masak: That's why blocks can have LEAVE and so on. | |||
masak | maybe we shouldn't spec a DESTROY method, if it's so fickle and useless. | 00:58 | |
jnthn | wfm. | ||
masak | I'd remove it right away, but I'm not that brave :) | ||
jnthn checks we even have on spec'd. | |||
diakopter | jnthn: same for clr destructors.. | ||
jnthn | heh | ||
masak | S12:787 | ||
jnthn | It says it exists | ||
It doesn't give any details beyond that. :-) | |||
masak | no-one would notice if I just edited it out... :) | 00:59 | |
jnthn | It makes sense if you're doing any GC that's not reference counting, I guess. | ||
If you want to be doing efficient things like generational schemes. | |||
masak | how so? | ||
what makes sense? having a DESTROY method, or removing it? | 01:00 | ||
jnthn | masak: Makes sense that you don't get promises about timeliness of it being called. | ||
01:00
hercynium joined
|
|||
masak | right. | 01:01 | |
this thread seems to rehash most of the answers: stackoverflow.com/questions/171952/...r-for-java | |||
in essence, the answer is 'there are no real destructors in Java. there's finalize, but it sucks. also, Java has a GC, why do you need destructors?' | 01:02 | ||
jnthn | Often, the answer is "to free up unmanaged resources" | 01:03 | |
(file handles, sockets, etc) | |||
01:03
Raynes joined
|
|||
colomon | destructors make for some great C++ idioms. | 01:04 | |
jnthn | My experience of doing C# dev is that the lifetime of many resources is lexically scoped though. | ||
colomon | it's a shame they are tough to port to GC-based languages. | ||
jnthn | (There's a construct for making things easy there.) | ||
So I think overall lexical block hooks would cover many bases there. | 01:05 | ||
masak | I don't see how I could implement destructors in Yapsi, at the moment. | ||
I mean, if Yapsi runs on Rakudo, then the GC is Parrot's. but Yapsi is pure Perl 6, so it doesn't even know it *has* a GC. | |||
jnthn | You could write your own object allocation, and GC. ;-) | ||
01:05
jonrafkind left
|
|||
masak would rather not :) | 01:06 | ||
jnthn | But I wouldn't wish that upon anyone. :-) | ||
;-) | |||
01:06
jaldhar_ joined
|
|||
jnthn | Anyway, I've not really heard "omg need destory" from people using Rakudo. | 01:07 | |
masak | maybe because we don't do files and databases and other resources that much. | ||
jnthn | Maybe wider usage will see people pine for such things. | ||
True. | |||
colomon | jnthn: I don't know that anyone has really gotten far enough to need it. | ||
jnthn | Fair point. | ||
masak | but no, DESTROY isn't high on the wish list for me :) | 01:08 | |
just mildly curious. | |||
colomon | and ugly ugly ugly C# style workarounds ought to be possible with what we have now. | ||
01:09
pmurias left
|
|||
jnthn | colomon: ugly? :-) | 01:09 | |
colomon | I haven't programmed extensively in C#, but my impression is that it is terrible on this front. | ||
jnthn | using (var Handle = File.Open("blah")) { ...do stuff... } // doesn't hurt me so much... | ||
colomon | right, but it's how that's implemented that's the problem. | 01:10 | |
jnthn | Calls .Dispone() on Handle at the end of the block, IIRC. | ||
(which in this case is implemented to close the file handle) | |||
colomon | Any class that needs to be finalized (is it disposed?) needs to be marked that way. | ||
jnthn | Disposed | ||
Well, you need to mark up your usage of it that way, yes. | 01:11 | ||
colomon | But that attribute doesn't commute automatically. | ||
jnthn | Well, it's just an interface (IDisposable) | ||
colomon | so if you change a class to need to be Disposed, you must change every single class that uses that class as well. | ||
jnthn | *nod* | ||
Yeah, it's not good in that sense. | |||
I don't find that situation arises so much though, in the stuff I do. | 01:12 | ||
Or maybe I just design stuff so the situation won't arise. | |||
diakopter | :) | ||
masak decides to go to sleep | 01:13 | ||
diakopter | I'm sure things that make use of unsafe code need such things | ||
colomon | Maybe the C# code I've seen was just bad, and yours is better. | ||
masak | 'night, #perl6 | ||
colomon | night! | ||
diakopter | gn | ||
01:13
masak left
|
|||
jnthn | o/ masak | 01:13 | |
ooh, ETOOLATE | |||
colomon: I've seen plenty of bad C# too. :-) | |||
colomon | but certainly the way I program C++ makes heavy use of destructors for things other than releasing memory, and porting that style over to C# appears very painful. | 01:14 | |
jnthn | Yes, I can imagine it would be. | 01:15 | |
colomon | at any rate, I imagine it would be very easy to port the IDisposable interface to Perl 6. Then it's just a matter of figuring out a graceful way to trigger it at the end of the block. | 01:16 | |
diakopter | rakudo: sub a() { $*b = 6; if ($*b == 52) { my $*b = 4 } }; my $*b = 7; a(); say $*b | ||
p6eval | rakudo a1159c: OUTPUT«6» | ||
diakopter | perlesque has routine epilogues | ||
but you're talking about a block; I see. | 01:17 | ||
rakudo: sub a() { $*b = 6; if ($*b == 52) { my $*b = 4 } else { my $*b = 8 } }; my $*b = 7; a(); say $*b | 01:18 | ||
p6eval | rakudo a1159c: OUTPUT«6» | ||
diakopter | ah, ok | 01:19 | |
jnthn | Rakudo looks correct there to me, fwiw. | ||
diakopter | I hope so, cuz that's what I'm basing my implementation on.. | 01:20 | |
jnthn | :-) | ||
diakopter | rakudo: sub a() { $*b = 6; if ((my $*b) == 52) { my $*b = 4 } else { $*b = 8 } }; my $*b = 7; a(); say $*b | 01:21 | |
p6eval | rakudo a1159c: OUTPUT«7» | ||
diakopter | oh | ||
k | |||
oh wait | 01:22 | ||
where'd the 6 go | 01:23 | ||
jnthn | diakopter: The my $*b declared another $*b in the block | ||
I think actually it should complain at compile time. | |||
diakopter | oh | 01:24 | |
jnthn | std: sub a() { $*b = 6; if ((my $*b) == 52) { my $*b = 4 } else { $*b = 8 } }; my $*b = 7; a(); say $*b | ||
p6eval | std 30459: OUTPUT«ok 00:01 109m» | ||
jnthn | Oh. | ||
but | |||
std: my $a; sub foo() { $a; my $a } | |||
p6eval | std 30459: OUTPUT«===SORRY!===Lexical symbol '$a' is already bound to an outer symbol (see line 1); the implicit outer binding at line 1 must be rewritten as OUTER::<$a> before you can unambiguously declare a new '$a' in this scope at /tmp/oKZWAi8rjn line 1:------> my | ||
..$a… | |||
jnthn | That's what I was going on. | ||
I'd expected sub foo() { $*bar; my $*bar } to complain. | 01:25 | ||
colomon | std: my $*a; sub foo() { $*a; my $*a } | ||
p6eval | std 30459: OUTPUT«ok 00:01 109m» | ||
jnthn | For the same reason it does in the lexical case (ambiguity). | ||
diakopter will wait for clarification, then | 01:26 | ||
jnthn would be interested to know the answer too | |||
TimToady | std probably just punts on * vars | 01:27 | |
phenny | TimToady: 23 Apr 23:28Z <sorear> tell TimToady How do undef warnings interact with autovivication? %hash{$key} += 1; | ||
TimToady | that should be no warning at all | ||
diakopter | std: my $*a; sub foo() { my $*a; my $*a } | 01:28 | |
p6eval | std 30459: OUTPUT«Potential difficulties: Useless redeclaration of variable $*a (see line 1) at /tmp/KBzrSCgtVO line 1:------> my $*a; sub foo() { my $*a; my $*a⏏ }ok 00:01 109m» | ||
jnthn | Semi-punt. :-) | ||
TimToady | well, the difference is that it doesn't attempt to link $*a to any outer lexical scope as a mere rvalue | ||
pmichaud | Will Pm ever stop writing about Perl 6? www.perlmonks.org/?node_id=836636 | 01:29 | |
diakopter | std: my $*a; sub foo() { my $*a if ({my $*a}()) } | ||
p6eval | std 30459: OUTPUT«ok 00:01 109m» | ||
pmichaud | (answer, yes, at least on this set of topics :-) | ||
jnthn | pmichaud++ | 01:32 | |
Another good post. | |||
01:37
astrojp left
01:43
meppl joined
01:44
jaldhar_ left,
_jaldhar_ joined
01:45
_jaldhar_ left,
_jaldhar_ joined
|
|||
jnthn -> rest o/ | 01:54 | ||
01:56
alester joined
|
|||
sorear | backlog. | 01:56 | |
diakopter | :) | ||
sorear | that stackoverflow thread doesn't touch on the real problems with DESTROY | ||
the comment about stack frames was more apt | 01:57 | ||
there's the question of how you deal with ressurrection, mostly | |||
diakopter wonders if the stackoverflow site ever throws a stackoverflow error | 01:58 | ||
01:58
Psyche^ joined
|
|||
sorear | you can attack the problem in various ways, but there are always layer upon layer of subtle semantic traps | 01:59 | |
this is one place where, IMO, there's no substitute for reading the literature | 02:00 | ||
02:00
dKingston left
02:02
Patterner left,
Psyche^ is now known as Patterner
|
|||
colomon | why does exp have a $base argument? | 02:03 | |
sorear | to set the base of the exponential? | 02:09 | |
02:09
plobsing_ joined
|
|||
lue | for things like :16<34*10^3> | 02:11 | |
(and hi) | |||
02:12
plobsing left
|
|||
lue | (oh, I'm thinking of radcalc(). never mind) | 02:12 | |
colomon | but (unless I've gone insane), exp(4, 6) is exactly the same as 6 ** 4 | ||
and hi. | |||
sorear | TIMTOWDI | ||
lue | there's a base argument for the radcalc() helper function for :16<> and such :) | ||
02:15
rgrau` left
02:23
patspam left
02:26
patspam joined
02:48
envi^home joined,
fridim joined
|
|||
lue | rakudo: my @a = ((1,2,3),(4,5,6),(7,8,9)); say @a.WHAT | 02:53 | |
p6eval | rakudo a1159c: OUTPUT«Array()» | ||
02:58
Kyril joined
02:59
rv2733 joined
03:04
gurjeet joined
03:07
patspam left
|
|||
pugssvn | r30460 | kyle++ | [util] Added purge-empty-dirs.pl | 03:11 | |
03:12
patspam joined,
eternaleye joined
|
|||
pugssvn | r30461 | kyle++ | ran util/purge-empty-dirs.pl -- 337 empty directories gone | 03:13 | |
03:13
rv2733 left
|
|||
dalek | kudo: 543d672 | (Solomon Foster)++ | src/core/ (4 files): Minor tweak to Complex.abs, added Real.exp and Real.infix:<**>, removed Num.exp. |
03:15 | |
03:16
ShaneC1 left
|
|||
sorear | ARGH. | 03:21 | |
I know why blizkost is mysteriously failing now! | |||
it's compiling against 5.12.0 headers and linking against a 5.10.1 libperl.so | |||
and I have no clue why | 03:22 | ||
oh, it might be related to the fact that perl 5.12.0 was built as a monolithic binary, no libperl.so | 03:26 | ||
lue | our salute to *nix complexities :) | 03:34 | |
03:42
stephenlb left,
meppel joined
03:43
gurjeet left
03:44
patspam left
|
|||
sorear | blizkost needs a *much* more robust build system | 03:46 | |
03:46
meppl left
03:48
dalek joined
04:05
meppel is now known as meppl
04:09
Chillance left
04:10
jonrafkind joined
|
|||
sorear | I am going to break something. | 04:11 | |
Most likely jnthn's no distutils rule. | 04:12 | ||
The build system we are using cannot get data from the compilation environment | |||
Perl 5.12 hides libperl.so in a weird place even if you compile with libperl.so support | 04:13 | ||
04:13
lue left
|
|||
sorear | to get access to the correct path requires a Perl command containing quotes and dollar signs | 04:13 | |
so embedding it in a Makefile is nontrivial | 04:14 | ||
04:14
hercynium left
|
|||
sorear | GNU make's quoting syntax is NOT DOCUMENTED. | 04:24 | |
Why do I have to use this software? | |||
04:26
lue joined
|
|||
sorear | $(shell perl -MConfig -e 'print $$Config{ccdlflags}') did the trick | 04:26 | |
no other combination works | 04:27 | ||
lue | \o/ | ||
sorear | after 15 minutes of banging on the thing | ||
*now* I have blizkost linking against the correct Perl | 04:46 | ||
04:49
meppl left,
am0c left
05:00
ReiniUrban joined
05:01
_jaldhar_ is now known as jaldhar,
rurban left,
ReiniUrban is now known as rurban
05:03
yinyin joined
05:04
parrot|Coke left
05:05
CokeBot9000 joined
06:01
XaeroOne joined
06:06
kaare joined,
kaare is now known as Guest1966
06:08
Guest1966 left
06:11
jonrafkind left
06:18
alester left
06:19
isBEKaml joined
06:22
snarkyboojum joined
|
|||
lue | goodnight moon | 06:35 | |
06:35
isBEKaml left
06:44
fridim left
06:57
mgi joined
06:58
k23z__ left
07:01
XaeroOne left,
justatheory left
07:05
Trashlord left
07:06
mgi left
07:07
Trashlord joined,
Trashlord is now known as Guest76419
|
|||
moritz_ | good morning | 07:11 | |
sorear | h*llo | ||
moritz_ | KyleHa++ # cleanup in pugs repo | 07:13 | |
07:18
M_o_C joined
07:20
XaeroOne joined
07:25
JimmyZ joined
|
|||
JimmyZ | Good aftermoon | 07:27 | |
hejki | it's not waning | 07:33 | |
08:07
iblechbot joined
|
|||
snarkyboojum | good moaning | 08:15 | |
08:16
sorear left,
sorear joined
08:25
Raynes left
08:30
agentzh joined
08:40
Kyril left
08:47
isBEKaml joined
08:49
KaneJin joined
08:50
KaneJin left
08:59
yinyin left
09:04
JimmyZ left
09:08
JimmyZ joined
09:13
JimmyZ left
09:15
XaeroOne left
09:51
snarkyboojum left
10:04
dual_ joined
10:06
dual left
10:14
iblechbot left
|
|||
sorear | phenny: tell jnthn , qif3.kyla.fi/~stefanor/1272105680.png \o/ | 10:43 | |
phenny | sorear: I'll pass that on when jnthn is around. | ||
sorear | actually, everyone | 10:45 | |
blizkost running a GUI in NQP | |||
:D | |||
the screenshot I told jnthn. | 10:46 | ||
colomon | \o/ | 10:49 | |
10:50
sundar joined
|
|||
sorear | phenny: tell TimToady , What is the most reasonable interface for accessing Perl 5 globals? Something like GLOBAL<perl5>::MainWindow.new, but you probably have a niftier syntax | 10:51 | |
phenny | sorear: I'll pass that on when TimToady is around. | ||
10:58
elmex joined
|
|||
avar | sorear: What's a global in perl5? package variables? magic variables? | 11:06 | |
sorear | avar: In this case, it's an entire package. | 11:07 | |
Punned as a class. | 11:08 | ||
Generally speaking, everything that hangs off of PL_defstash I would call "global" | |||
it's pretty easy to fake lexicality for actual imports | |||
but for non-imported symbols, it's ickier | |||
I already have the case worked out for directly imported packages (use Some::Class; Some::Class->new) | 11:09 | ||
but with Tk, you import Tk and get classes like FOREIGN::perl5::MainWindow | |||
actually that's my favorite syntax so far | 11:10 | ||
11:19
isBEKaml left
11:20
JimmyZ joined
11:34
finanalyst joined
|
|||
finanalyst | rakudo: my %h='n'=><a1 a2 a3>;class A {has @.s}; my A $x.=new(:s(%h<n>));say $x.s.perl | 11:34 | |
p6eval | rakudo 543d67: OUTPUT«[("a1", "a2", "a3")]» | ||
finanalyst | alpha: my %h='n'=><a1 a2 a3>;class A {has @.s}; my A $x.=new(:s(%h<n>));say $x.s.perl | ||
p6eval | alpha 30e0ed: ( no output ) | ||
finanalyst | rakudo: my %h='n'=><a1 a2 a3>; say %h.perl; class A {has @.s}; my A $x.=new((%h<n>));say $x.s.perl | 11:35 | |
p6eval | rakudo 543d67: OUTPUT«{"n" => ("a1", "a2", "a3")}[]» | ||
finanalyst | rakudo: class A {has @.s}; my %h='n'=><a1 a2 a3>; say %h.perl; my A $x.=new((%h<n>));say $x.s.perl | 11:36 | |
p6eval | rakudo 543d67: OUTPUT«{"n" => ("a1", "a2", "a3")}[]» | ||
finanalyst | rakudo: class A {has @.s}; my %h='n'=><a1 a2 a3>; say %h.perl; my A $x.=new(:s(%h<n>));say $x.s.perl | 11:37 | |
p6eval | rakudo 543d67: OUTPUT«{"n" => ("a1", "a2", "a3")}[("a1", "a2", "a3")]» | ||
finanalyst | rakudo: class A {has @.s}; my %h='n'=><a1 a2 a3>; say %h<n>.perl;my A $x.=new(:s(%h<n>));say $x.s.perl | 11:38 | |
p6eval | rakudo 543d67: OUTPUT«("a1", "a2", "a3")[("a1", "a2", "a3")]» | ||
finanalyst | moritz_: am i wrong to expect the two outputs to be the same? | 11:39 | |
hi. anyone here? | 11:40 | ||
JimmyZ | hello | 11:42 | |
11:45
M_o_C left
|
|||
finanalyst | alpha: rakudo: class A {has @.s}; my %h='n'=><a1 a2 a3>; say %h<n>.perl;my A $x.=new(:s(%h<n>));say $x.s.perl | 11:45 | |
p6eval | alpha 30e0ed: OUTPUT«Confused at line 10, near ": class A "in Main (file <unknown>, line <unknown>)» | ||
11:58
TSa joined
12:03
rgrau` joined
12:08
plobsing_ left
12:09
rv2733 joined
|
|||
jnthn | sorear: Wow, nice! :-) | 12:15 | |
phenny | jnthn: 10:43Z <sorear> tell jnthn , qif3.kyla.fi/~stefanor/1272105680.png \o/ | ||
JimmyZ | sorear++ | 12:17 | |
pugssvn | r30462 | moritz++ | [t/spec] random unfudges for Rakudo | 12:18 | |
moritz_ | finanalyst: I'm not sure | 12:19 | |
finanalyst | moritz_: if i am wrong, then how do I assign an array to an array attribute in a class? | 12:21 | |
rakudo: class A {has @.s}; my %h='n'=><a1 a2 a3>; say %h<n>.perl;my A $x.=new(:s(%h<n>));say $x.s.perl | 12:22 | ||
p6eval | rakudo 543d67: OUTPUT«("a1", "a2", "a3")[("a1", "a2", "a3")]» | ||
moritz_ | rakudo: class A {has @.s}; my %h='n'=><a1 a2 a3>; my A $x.=new(:s(@(%h<n>)));say $x.s.perl | ||
p6eval | rakudo 543d67: OUTPUT«["a1", "a2", "a3"]» | ||
finanalyst | ah. ok. | 12:23 | |
not really DWIM | |||
jnthn | sorear: fwiw, the latest makefile is broken on Win32 in a way I'm not sure how to fix. | 12:24 | |
moritz_ | finanalyst: the () should flatten out automatically | ||
jnthn | sorear: If you feel strongly that going the distutils route would be better, and since you're primarily the one who has to cope with the Blizkost build system, then I can stop objecting. :-) | 12:25 | |
rakudo: time('oh no', 'arguments') | 12:26 | ||
p6eval | rakudo 543d67: ( no output ) | ||
jnthn | grr | ||
JimmyZ | rakudo: say time - 1; say say - 1; | 12:28 | |
p6eval | rakudo 543d67: OUTPUT«1272111156.57088-11» | ||
JimmyZ | rakudo: say &time - 1; | 12:30 | |
p6eval | rakudo 543d67: OUTPUT«get_number() not implemented in class 'Sub'current instr.: 'infix:<->' pc 294442 (src/gen/core.pir:1398)» | ||
JimmyZ | alpha: say &time - 1; | ||
p6eval | alpha 30e0ed: OUTPUT«get_number() not implemented in class 'Sub'in Main (file <unknown>, line <unknown>)» | ||
JimmyZ | rakudo: my $b = &time; say &$b; | 12:32 | |
p6eval | rakudo 543d67: OUTPUT«» | ||
JimmyZ | alpha: my $b = &time; say &$b; | ||
p6eval | alpha 30e0ed: OUTPUT«time» | ||
JimmyZ | which one is right? | ||
alpha: my $b = &time; say &$b(); | 12:33 | ||
p6eval | alpha 30e0ed: OUTPUT«1272111439.44215» | ||
JimmyZ | rakudo: my $b = &time; say &$b(); | ||
p6eval | rakudo 543d67: OUTPUT«» | ||
12:33
colomon left
|
|||
JimmyZ | rakudo: my $b = &time; say $b(); | 12:33 | |
p6eval | rakudo 543d67: OUTPUT«1272111459.04758» | ||
JimmyZ | alpha: my $b = &time; say $b(); | ||
p6eval | alpha 30e0ed: OUTPUT«1272111462.12188» | ||
jnthn afk for a bit | |||
(spectesting a patch to move time into the setting to at least the 0-args signature is enforced) | 12:34 | ||
12:45
k23z__ joined
|
|||
ingy | 5555 | 12:48 | |
12:48
gurjeet joined
|
|||
moritz_ hopes that was not an irssi window number :-) | 12:49 | ||
pmichaud | good morning, #perl6 | 13:00 | |
moritz_ | oh hai | ||
13:00
gurjeet left
|
|||
jnthn back for a bit | 13:00 | ||
o/ pmichaud | |||
13:00
ReiniUrban joined
13:01
rurban left,
ReiniUrban is now known as rurban
|
|||
moritz_ sees a test like this: | 13:04 | ||
my $foo = 42; | 13:05 | ||
($foo, 'ignored')[0] = 23 | |||
and the test expects that to assign 23 to $foo | |||
is that correct? | |||
moritz_ hopes not | |||
jnthn | moritz_: Why would you expect it to not work? | 13:06 | |
moritz_ | because lists are immutable | ||
oh, rakudo actually passes that test... | |||
jnthn | Hmm. Interesting question. :-) | 13:07 | |
moritz_ | rakudo: my $x = 4; ($x, 3)[0] = 6; say $x | ||
p6eval | rakudo 543d67: OUTPUT«6» | ||
moritz_ | rakudo: my $x = 0; my $y = 0; ($x, $y)[0] = (6, 8); say $x, $y | 13:08 | |
p6eval | rakudo 543d67: OUTPUT«6 80» | ||
moritz_ | rakudo: my $x = 0; my $y = 0; ($x, $y)[0, 1] = (6, 8); say $x, $y | ||
p6eval | rakudo 543d67: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 17354 (src/builtins/Junction.pir:393)» | ||
moritz_ | rakudo: my $x = 0; my $y = 0; ($x, $y)[0, 1] = 6, 8; say $x, $y | ||
p6eval | rakudo 543d67: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 17354 (src/builtins/Junction.pir:393)» | ||
moritz_ | it complains in a slice, but not otherwise | 13:09 | |
13:09
colomon joined
|
|||
colomon | www.nomic.net/~nomicwiki/index.php/PerlNomic | 13:09 | |
jnthn | moritz_: Something seems odd there, then. | 13:11 | |
dalek | kudo: ae0c2d4 | jonathan++ | build/Makefile.in: Pull subset implementation a little earlier in the bootstrap, so we can define subset types in the core setting. |
||
kudo: c866154 | jonathan++ | src/ (2 files): Move time to core setting. |
|||
kudo: de2ad34 | jonathan++ | src/core/Mu.pm: Initial port of WALK from alpha. Passes some of the tests; think those that fail are not due to an issue in WALK itself. Also add the Matcher subset type. |
|||
moritz_ | rakudo: say Parcel ~~ Seq | 13:12 | |
p6eval | rakudo 543d67: OUTPUT«0» | ||
pugssvn | r30463 | moritz++ | [t/spec] fudge lists.t for rakudo; some corrections | 13:14 | |
r30464 | moritz++ | [t/spec] fudge dollar-underscore.t for rakudo | 13:18 | ||
pmichaud | 13:06 <moritz_> because lists are immutable | 13:20 | |
... ($foo, 23) is not a list. | |||
It's a Parcel. | |||
moritz_ | point taken | ||
pmichaud | and clearly we expect ($foo, $bar) = ... to work. | ||
13:21
mberends left
|
|||
moritz_ | fair enough | 13:21 | |
now that you mention it, I feel silly for having asked :-) | |||
pmichaud | so, I agree there's an argument to be made that perhaps ($foo, 23)[0] = ... shouldn't work, but there's also an argument the other way :) | ||
more interesting might be something like (@a, @b)[25] = ... | 13:22 | ||
13:22
plobsing joined
|
|||
pmichaud | there's also the possibiility that .[ ] turns a parcel into a list or seq or something like that, which would make your original interpretation ("it shouldn't work") valid. | 13:23 | |
pugssvn | r30465 | moritz++ | [t/spec] update dollar_bang.t | ||
pmichaud | I think we just have to see how the list/seq/array refactoring falls out and then say "oh, yes of course" or "no, that can't be right" :) | ||
jnthn | pmichaud: (turns a into a Seq) that was the main reason I was thinking "hmm, mabye that won't work", fwiw. | 13:24 | |
pmichaud | jnthn: right | ||
jnthn: but I'm also suspicious that Parcel->Seq won't end up being the transformation. We'll see. | 13:25 | ||
jnthn | Ah, OK. | 13:27 | |
pugssvn | r30466 | moritz++ | [t/spec] throw away a wrong test in chained-declarators.t, and fudge for rakudo | ||
moritz_ | rakudo: 1 p5=> 5 | ||
jnthn expects he'll be happy with whatever pmichaud++ comes up with | |||
p6eval | rakudo 543d67: OUTPUT«Confused at line 11, near "1 p5=> 5"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
moritz_ | std. 1 p5=> 5 | ||
std: 1 p5=> 5 | |||
p6eval | std 30462: OUTPUT«===SORRY!===Two terms in a row at /tmp/B8kNRbvLWR line 1:------> 1 ⏏p5=> 5 expecting any of: bracketed infix infix or meta-infix statement modifier loopParse failedFAILED 00:01 109m» | ||
moritz_ | std: 1 P5=> 5 | ||
p6eval | std 30465: OUTPUT«===SORRY!===Two terms in a row at /tmp/8jEGzSOSN1 line 1:------> 1 ⏏P5=> 5 expecting any of: bracketed infix infix or meta-infix statement modifier loopParse failedFAILED 00:01 109m» | ||
moritz_ | rakudo: [/] () | 13:29 | |
p6eval | rakudo 543d67: OUTPUT«No applicable candidates found to dispatch to for 'infix:</>'. Available candidates are::(Rat $a, Rat $b):(Rat $a, Int $b):(Int $a, Rat $b):(Int $a, Int $b):(Complex $a, Complex $b):(Num $a, Num $b):(Real $a, Real $b):(Complex $a, Any $b):(Any $a, Complex $b):(Any | ||
..$a, Any… | |||
13:35
molaf joined
|
|||
colomon | woah, that's a lot of options. | 13:40 | |
pmichaud | need to be able to define [/]() directly. | 13:46 | |
moritz_ | rakudo: say [*]() | ||
pmichaud | (and it should fail) | ||
p6eval | rakudo 543d67: OUTPUT«1» | ||
moritz_ | pmichaud: I've defined some of these operators, but for those not in the setting it's harder | ||
pmichaud | moritz_++ | ||
moritz_ | src/core/metaops.pm | 13:47 | |
colomon | surely / should be easy, right? | ||
hmmm.... where are the tests for those? | |||
pmichaud | our multi sub infix:</>() { fail "..." }; | ||
colomon | why fail? | ||
pmichaud | S03: | 13:48 | |
Builtin reduce operators return the following identity values: | |||
[**]() # 1 (arguably nonsensical) [*]() # 1 [/]() # fail (reduce is nonsensical) | |||
colomon | fair enough! | ||
13:48
IllvilJa left
|
|||
pmichaud | afk, housework | 13:48 | |
13:48
XaeroOne joined
|
|||
colomon | moritz_: do you have that, or do you want me to get it? | 13:49 | |
13:50
dalek left,
iblechbot joined
|
|||
colomon not convinced [/] is nonsensical, though mildly useless seems accurate... | 13:50 | ||
13:51
_buno_ joined
|
|||
moritz_ | colomon: S03-operators/reduce-le1arg.t | 13:52 | |
colomon | danke | 13:53 | |
moritz_ | bitteschön | ||
S03-operators/spaceship.t | |||
oops | |||
that test file relies on {; $_ => 1 } being a block | 13:54 | ||
rakudo: say {; $_ => 1}.WHAT | |||
p6eval | rakudo de2ad3: OUTPUT«Hash()» | ||
colomon | yeah, we apparently need to fix that. | ||
jnthn | Eww! | ||
13:57
dalek joined
14:04
_buno_ left
|
|||
jnthn going out to enjoy the sun for a bit | 14:08 | ||
colomon | is pondering how to make reduce-le1arg.t work. | ||
more work than I was expecting. | 14:09 | ||
14:14
patspam joined
|
|||
finanalyst | rakudo: class B {has @.a;has $.u;method m { for $.u .. 4 { .WHAT.say; say @.a[$_] }}}; my B $x.=new(:a<a b c d>,:u('3'));$x.m | 14:15 | |
p6eval | rakudo de2ad3: OUTPUT«Str()No applicable candidates found to dispatch to for 'postcircumfix:<[ ]>'. Available candidates are::(Mu : Int $i;; *%_):(Mu : Block $b;; *%_):(Mu : !whatever_dispatch_helper ;; *%_)current instr.: '!postcircumfix:<[ ]>' pc 10885 (src/builtins/Role.pir:73)» | ||
finanalyst | i think Str should numify to index an array in a class. Yes? | 14:16 | |
colomon | sounds plausible to me. | 14:17 | |
14:17
patspam left
|
|||
finanalyst | rakudo: class B {has @.a;has $.u;method m { for $.u .. 4 { .WHAT.say; say @.a[+$_] }}}; my B $x.=new(:a<a b c d>,:u('3'));$x.m | 14:18 | |
p6eval | rakudo de2ad3: OUTPUT«Str()No applicable candidates found to dispatch to for 'postcircumfix:<[ ]>'. Available candidates are::(Mu : Int $i;; *%_):(Mu : Block $b;; *%_):(Mu : !whatever_dispatch_helper ;; *%_)current instr.: '!postcircumfix:<[ ]>' pc 10885 (src/builtins/Role.pir:73)» | ||
finanalyst | not only that but I cant seem to coerce the Str to a Num | ||
akudo: class B {has @.a;has $.u;method m { for $.u .. 4 { .WHAT.say; say @.a[$_] }}}; my B $x.=new(:a<a b c d>,:u(3));$x.m | |||
rakudo: class B {has @.a;has $.u;method m { for $.u .. 4 { .WHAT.say; say @.a[$_] }}}; my B $x.=new(:a<a b c d>,:u(3));$x.m | 14:19 | ||
p6eval | rakudo de2ad3: OUTPUT«Int()dInt()» | ||
finanalyst | but code works if attribute is given as a number. | ||
colomon | that's not ever going to work, because Ranges can be over numbers or over strings. | 14:20 | |
rakudo: say 'd' .. 'f' | 14:21 | ||
p6eval | rakudo de2ad3: OUTPUT«def» | ||
colomon | rakudo: say '3' .. 'f' | ||
p6eval | rakudo de2ad3: OUTPUT«3456789» | ||
colomon | which isn't to say that it necessarily works correctly now, either. | ||
rakudo: say ('3' .. 'f').list.perl | |||
p6eval | rakudo de2ad3: OUTPUT«"3".."f"» | ||
finanalyst | the problem is the coercion to an integer to index the array | 14:22 | |
colomon | rakudo: say ('3' .. 'f').iterator.perl | ||
p6eval | rakudo de2ad3: OUTPUT«("3", "4", "5", "6", "7", "8", "9")» | ||
14:22
XaeroOne left,
XaeroOne joined
|
|||
finanalyst | if $_ is given Type Str, then inside the class it cannot be used to index the array attribute | 14:23 | |
And I cant work out how to coerce it to do so | |||
colomon | rakudo: my @a = 'a'..'g'; say @a[+'3'] | 14:24 | |
p6eval | rakudo de2ad3: OUTPUT«d» | ||
finanalyst | rakudo: class B {has @.a;has $.u;method m { for $.u .. 4 { .WHAT.say; say @.a[+$_] }}}; my B $x.=new(:a<a b c d>,:u(+'3'));$x.m | ||
p6eval | rakudo de2ad3: OUTPUT«Num()No applicable candidates found to dispatch to for 'postcircumfix:<[ ]>'. Available candidates are::(Mu : Int $i;; *%_):(Mu : Block $b;; *%_):(Mu : !whatever_dispatch_helper ;; *%_)current instr.: '!postcircumfix:<[ ]>' pc 10885 (src/builtins/Role.pir:73)» | ||
finanalyst | Also Num cant be used to index array. Bug I think | ||
colomon | There are definitely bugs in array indexing at the moment. | 14:28 | |
finanalyst | what is the syntax for casting to an Int? | 14:29 | |
14:29
patspam joined,
XaeroOne left
|
|||
finanalyst | rakudo: my $x = '3'; say $x.WHAT; say (+$x).WHAT | 14:30 | |
p6eval | rakudo de2ad3: OUTPUT«Str()Num()» | ||
finanalyst | rakudo: my $x = '3'; say $x.WHAT; say (+$x).WHAT; say (Int($x)).WHAT | ||
p6eval | rakudo de2ad3: OUTPUT«Str()Num()Could not find sub &Intcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
finanalyst | rakudo: my $x = '3'; say $x.WHAT; say (+$x).WHAT; say (int($x)).WHAT | ||
p6eval | rakudo de2ad3: OUTPUT«Str()Num()Could not find sub &intcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
finanalyst | colomon: how do I get an Int()? | 14:31 | |
14:31
JimmyZ left
14:32
XaeroOne joined
|
|||
pmichaud | officially, Int($something) . I think that's still NYI. | 14:33 | |
you might be able to do $something.Int -- that may be NYI also but it would be relatively easy to I | |||
rakudo: say "3.14".Int | |||
p6eval | rakudo de2ad3: OUTPUT«3» | ||
pmichaud | looks I to me :-) | ||
rakudo: say Int(3.14); | |||
p6eval | rakudo de2ad3: OUTPUT«Could not find sub &Intcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
pmichaud | that's wrong -- it shouldn't be treating Int(...) as a sub. | 14:34 | |
colomon | .Int | ||
finanalyst | rakudo: my $x = '3'; say $x.WHAT; say (+$x).WHAT; say ($x.Int).WHAT | 14:38 | |
p6eval | rakudo de2ad3: OUTPUT«Str()Num()Int()» | ||
finanalyst | rakudo: class B {has @.a;has $.u;method m { for $.u .. 4 { .WHAT.say; say @.a[$_.Int] }}}; my B $x.=new(:a<a b c d>,:u('3'));$x.m | 14:39 | |
p6eval | rakudo de2ad3: OUTPUT«Str()dStr()» | ||
14:44
XaeroOne left
14:46
XaeroOne joined
14:52
lisppaste3 joined
14:54
M_o_C joined
15:15
M_o_C left
|
|||
takadonet | any idea what error message "Method 'new' not found for non-object" means? | 15:19 | |
moritz_ | takadonet: it means a parrot value leaks through somewhere | ||
takadonet | mortiz_: nuts.... | ||
moritz_ points takadonet to the tab key | 15:20 | ||
takadonet | sorry | ||
moritz_ | np | ||
15:25
snarkyboojum joined
15:26
TiMBuS joined
15:31
patspam left,
agentzh left
|
|||
takadonet | what is another way to replace all '_' in a string with a whitespace without using .trans method? | 15:33 | |
moritz_ | takadonet: $str.subst('_', ' ', :g) | 15:35 | |
or maybe /_/ | |||
takadonet | moritz_: I almost got it myself but you are quicker :) | ||
15:35
colomon left
15:36
colomon joined
|
|||
takadonet | welcome back colomon | 15:39 | |
colomon | I hardly left, the computer just accidentally got closed. ;) | 15:40 | |
15:47
pmurias joined
|
|||
takadonet | Another error message: Method 'list' not found for invocant of class 'ResizablePMCArray' I'm trying to do a gather and take in action class i.e : my @matches = gather for @( $/<fasta> ) -> $m {take $m;} . Any ideas? | 15:54 | |
I can access any of the match normally by $/<fasta>[NUM] | 15:56 | ||
lue | o hai dere | ||
colomon | did you try leaving out the @( and ) bits? | ||
takadonet | runs but not sure if the result are being taking out | 15:58 | |
shit... | |||
need to put back the make @matches part | |||
colomon | yeah, you might get the entire thing instead of each bit. | ||
takadonet | ya | 15:59 | |
16:03
patspam joined
16:11
Guest76419 is now known as Trashlord,
Trashlord left,
Trashlord joined
|
|||
jnthn back from walk | 16:15 | ||
takadonet | jnthn: welcome back | 16:18 | |
gather and take are lazy by default correct? | |||
jnthn | Should be. | 16:19 | |
lue | hello jnthn o/ | ||
16:20
Gothmog_ left,
Gothmog_ joined
|
|||
lisppaste3 | takadonet pasted "lazy:gather/take" at paste.lisp.org/display/98277 | 16:21 | |
takadonet | Should this print out the word beer between each number? | 16:22 | |
Or is the 'for' loop is forcing to evaluate all the values? | 16:23 | ||
jnthn | takadonet: Yeah, for loops are not lazy yet. | 16:24 | |
takadonet | jnthn: Well they should be :) Thanks jnthn | 16:25 | |
jnthn | rakudo: my $i; my @a = gather { $i = 1; for (1 .. 5) -> $j { say 'beer!'; take $j; } }; @a.map(-> $b { say $b }).eager; | 16:26 | |
p6eval | rakudo de2ad3: OUTPUT«beer!beer!beer!beer!beer!12345» | ||
jnthn | Oh | ||
16:26
plobsing left
|
|||
jnthn | Yeah, so maybe it's the array assignment this time. | 16:26 | |
I think pmichaud++ is working on this area this weekend though. :-) | |||
takadonet | good | ||
:) | 16:27 | ||
I always find the unimplemented areas within a few minutes of coding! | |||
16:31
patspam left
|
|||
daemon | takadonet, you must have the skill :) | 16:33 | |
takadonet | daemon: well I really want to start getting some working code again! | 16:34 | |
daemon | takadonet, Oh you enjoy the challange, admit it | ||
takadonet | daemon: yes..... but but.... ya | 16:35 | |
16:35
hudnix joined
16:36
justatheory joined
|
|||
daemon | hehe good luck, time for me to go be challanged by writing out my new database. I really suck with postgres :( *heads off to find a 'PostGres for dummies' book* | 16:36 | |
16:39
TiMBuS left
16:40
sundar left
|
|||
lisppaste3 | takadonet annotated #98277 "Subst bug?" at paste.lisp.org/display/98277#1 | 16:40 | |
takadonet | subst cannot be used on a Regex::match? | ||
16:43
nihiliad joined
|
|||
takadonet | take that as everyone is hacking quietly or sleeping :) | 16:50 | |
16:50
patspam joined
16:53
finanalyst left
|
|||
pmurias | takadonet: what would it do? | 16:53 | |
takadonet | pmurias: error message " Method 'subst' not found for invocant of class 'Regex;Match' " | ||
i can do math operation on Regex::Match but not string modification | 16:54 | ||
pmurias | += works? | ||
takadonet | also $/.ast is undef since we are in the action method | ||
jnthn | takadonet: You may want to coerce it to a string yourself for now | 16:55 | |
In the long run, yes, it should work | |||
colomon | I'm not sure why $/.subst doesn't work, but have you tried (~$/).subst? | ||
pmurias forgot that subst doesn't modify the string | |||
takadonet | colomon: works! | ||
what did you just tell me to do? hehe | 16:56 | ||
colomon | same thing jnthn++ did, I just expressed it as code. | ||
prefixing a ~ on something turns it into a string. | |||
so $/ is a match object, ~$/ is the string form of it. | |||
takadonet | sweet | 16:57 | |
well it works | |||
colomon++ | 16:58 | ||
colomon | rakudo: say Regex::Match ~~ Cool | 16:59 | |
p6eval | rakudo de2ad3: OUTPUT«0» | ||
colomon | That may be why it didn't work the first way you had it there. | 17:00 | |
jnthn | Yeah, our Match objects aren't Cool yet. | 17:04 | |
takadonet cries | 17:05 | ||
one day... one day | |||
moritz_ working on it | 17:14 | ||
17:14
rgrau` left
17:25
Kyril joined
17:30
mberends joined
|
|||
pugssvn | r30467 | moritz++ | [t/spec] a fudge to lists.t that I forgot earlier | 17:34 | |
lue | afk | 17:35 | |
17:48
pmurias left
17:53
XaeroOne left
17:57
envi^home left
|
|||
pugssvn | r30468 | colomon++ | [t/spec] Major refudge for current Rakudo. | 18:03 | |
mberends | ooh! :-) | ||
18:04
justatheory left
18:06
mikehh joined
18:08
Kyril_ joined
18:12
Kyril left
18:13
Kyril_ left,
hghgd_ left
18:18
hghgd joined
18:28
hghgd left
18:34
masak joined
|
|||
masak | saluton, #perl6! | 18:34 | |
takadonet | masak:hello | 18:36 | |
18:36
meppl joined
|
|||
mberends | ahoj, masak! | 18:36 | |
masak | for ^5 { my $a; BEGIN { $a = 42; say "OH HAI" }; say $a } | 18:37 | |
what would you expect this to output? | |||
Perl 5.10 outputs "OH HAI\n42\nwarning\n\nwarning\n\nwarning\n\nwarning\n\n" | 18:38 | ||
mberends | 42\n42\n42\n42\n42\n ? | ||
18:39
M_o_C joined
|
|||
masak | why would the $a variables get that value if no "OH HAI" is output? | 18:39 | |
mberends | OH HAI42\n42\n42\n42\n42\n ? # forgot ;) | 18:40 | |
masak | ok, that's a reasonable expectation. | ||
at least I thought so until today. :) | 18:41 | ||
jnthn | If it's going to work, I'd think that you'd get that. | ||
I'd expect to BEGIN to run once. | |||
masak | right. | ||
jnthn | Well | ||
Thing is | |||
a BEGIN block that refers to outer lexicals is just plain nasty. | |||
masak | so there's some kind of cloning of the for block going on here to make this work. | 18:42 | |
there's kind of a proto-block which knows that it contains a lexical $a. | |||
jnthn | IICU, a "my" is meant to make set up the thingy in the lexpad. | ||
masak | that one gets 'reified' into a runnable block and the BEGIN block runs on it. | ||
jnthn | e.g. maybe you're seeing the same effect that makes the "my $x if 0" trick. | ||
masak | for each iteration then, a new runnable block is cloned from the one where the BEGIN ran. | 18:43 | |
jnthn | Maybe. | ||
masak | that's the only reasonable way I can think of right now, to produce "OH HAI\n42\n42\n42\n42\n42\n" | 18:44 | |
jnthn | Pm and I have discussed the idea of a "proto lex pad" which is the same kinda clone idea I think. | ||
masak | well, | ||
I already know that I well need blocks-at-compile-time and blocks-at-runtime. | |||
jnthn | My inner implementer wants to just say "can't do that with BEGIN" of course. :-) | ||
masak | of course :) | ||
Perl 5 doesn't come out and say it, but instead implies it. | 18:45 | ||
mberends | I've just committed the closure goodness of masak++'s nicer-strftime branch to master, without any loss of tests :-) | 18:48 | |
masak | mberends++ | ||
colomon | Speaking of which, 31605 tests passing here | 18:49 | |
dalek | kudo: a7f317d | (Martin Berends)++ | src/core/Temporal.pm: [core/Temporal.pm] merge in the nicer-strftime branch hash-of-closures in strftime() in a way that works with current master |
||
kudo: 06fe9a7 | (Solomon Foster)++ | t/spectest.data: Turn on S03-operators/reduce-le1arg.t. |
|||
kudo: 884c3c0 | (Solomon Foster)++ | src/core/metaops.pm: Add version of notresults which takes an operator type but no operands and always returns Bool::True. Add zero-arg versions of <, <=, >, >=, and eqv. |
|||
kudo: 1e71b81 | (Solomon Foster)++ | src/c (4 files): Move a bunch of operators from num-ops.pir and str-ops.pir to operators.pm. Add no-arguments versions of some of them as well. |
|||
masak | mberends: so I'll remove the nicer-strftime branch on github, then? | 18:51 | |
jnthn | colomon: Whoa...how'd we get up to that?! :-D | 18:52 | |
colomon | I blame moritz_++ | 18:53 | |
Though I just adding 40 passing tests myself. :) | |||
mberends | masak: yes, thanks | 18:54 | |
masak | done. | ||
pmichaud: [backlog] nice www.perlmonks.org/?node_id=836636 -- a teeny tiny nitpick: not only do I in that post (and in general) not believe that a name change of Perl 6 will 'happen anytime soon', I don't believe it will, or should, happen at all. | 18:58 | ||
but maybe that's less what people reading that post want to hear right now, and what you wrote is more diplomatic. | 18:59 | ||
that said, I'm all for giving lots of focus on names like "Rakudo", "Vill", and "Sprixel". | 19:00 | ||
jnthn | colomon: Yay! :-) | 19:02 | |
19:03
meppl left
|
|||
pugssvn | r30469 | kyle++ | [util] Silly bug | 19:04 | |
19:08
k23z__ left
|
|||
colomon | rakudo: say [before] 3, 4, 15, 100/3 | 19:08 | |
p6eval | rakudo de2ad3: OUTPUT«1» | 19:09 | |
colomon | rakudo: say [before] 3, 4, 15, 10/3 | ||
p6eval | rakudo de2ad3: OUTPUT«0» | ||
19:09
nihiliad left
|
|||
masak | sorear++ # blizkost nqp GUI \o/ | 19:10 | |
I can't be sure, but the two newcomers (cberg++ yesterday and Matthias_++ the day before) might very well both have been here thanks to the positive impact of the recent PerlMOnks thread with all the anti-FUD. | 19:16 | ||
19:20
jaldhar left
|
|||
jnthn | masak: That thought had occurred to me too. | 19:25 | |
\o/ Jag har tolv köttbullar i pannat! | 19:26 | ||
masak | 'pannan' :) | ||
köttbullar, mums! | |||
jnthn: oh btw, I finally heard an example of the food-orders-always-have-an-'en'-article today in real use. | 19:27 | ||
it was really obvious, but I hadn't thought about it until now. | |||
jnthn | Oh? | ||
masak | 'en kaffe'. | ||
now, 'kaffe' is a t-word. | 19:28 | ||
jnthn | kaffe is normally neuter? | ||
19:28
wormphlegm joined
|
|||
masak | right. | 19:28 | |
jnthn | Jag dricker kaffet. # I'm drinking the coffee | ||
? | |||
masak | aye. | ||
jnthn | But en kaffe to order? | ||
OK. :-) | |||
masak | 'Jag vill ha en smörgås och en kaffe.' | ||
jnthn | An egg goose? ;-) | 19:30 | |
masak | nono, a butter goose. | 19:32 | |
that's how we say 'sandwich' in my country. | 19:33 | ||
masak does a funny native dance, too | |||
frettled | sudo make me a sandwich | 19:34 | |
jnthn gets the lingonsylt and smörgås gurka ready :-) | 19:36 | ||
moritz_ | www.perlmonks.org/?node_id=836695 "If you would (like me) follow Python boards and see the frustration Ruby causes you might change your opinion about a fast major release of Perl5." | ||
somehowI don't understand this sentence at all | |||
wtf has the python-ruby frustration to do with the next major perl 5 release? | 19:37 | ||
and do I even want to know? | 19:38 | ||
jnthn afk, nomming | 19:39 | ||
masak | might be beyond the point where knowing/caring stops leading to something constructive. | ||
moritz_ | probably | ||
19:41
lichtkind joined
|
|||
moritz_ | rakudo: say pi | 19:41 | |
p6eval | rakudo 06fe9a: OUTPUT«3.14159265358979» | ||
masak | rakudo: pi pi | 19:42 | |
p6eval | rakudo 06fe9a: OUTPUT«Confused at line 11, near "pi pi"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | rakudo++ | ||
pugssvn | r30470 | colomon++ | [t/spec] Add tests for infix:<before> and infix:<after>, fix a typo. | ||
masak | std: pi pi | ||
p6eval | std 30469: OUTPUT«===SORRY!===Two terms in a row at /tmp/AG9A7mf3Ui line 1:------> pi ⏏pi expecting any of: bracketed infix infix or meta-infix statement modifier loopParse failedFAILED 00:01 109m» | ||
dalek | kudo: 4bf985c | (Solomon Foster)++ | src/core/metaops.pm: Delete a number of commented out zero-arg operators that we don't need because notreduce handles them. Uncomment infix:<before> and infix:<after>. |
||
kudo: ea91882 | moritz++ | t/spectest.data: re-enable a few test files; also throw one entry away where the test file was deleted |
|||
masak | though STD wins on the error message. | ||
moritz_ | rakudo. say atan(1) | 19:44 | |
lichtkind | cheers buddys | ||
moritz_ | rakudo: say atan(1) | ||
p6eval | rakudo 06fe9a: OUTPUT«0.785398163397448» | ||
moritz_ | rakudo: say atan(1)*4 | ||
p6eval | rakudo 06fe9a: OUTPUT«3.14159265358979» | ||
masak | lichtkind! \o/ | 19:45 | |
rakudo: say atan2(0, -1) | 19:46 | ||
p6eval | rakudo 06fe9a: OUTPUT«3.14159265358979» | ||
19:47
rv2733 left
|
|||
sorear | jnthn: How is the makefile broken on Windows? | 19:49 | |
moritz_ | rakudo: 3.14159265358979323846264338327950288419716939937510e0 | ||
p6eval | rakudo 06fe9a: OUTPUT«Multiple Dispatch: No suitable candidate found for 'multiply_float', with signature 'PNP->P'current instr.: 'perl6;Perl6;Actions;_block6598' pc 264972 (src/gen/perl6-actions.pir:13056)» | ||
masak | I s'pose that's a known, reported bug? | ||
19:50
M_o_C left
|
|||
moritz_ | no idea | 19:50 | |
don't think so | |||
masak submits it, then | |||
Justin Case. :) | |||
pugssvn | r30471 | colomon++ | [t/spec] Add a few tests for infix:<**>(Real, Real) and Real.exp. | 19:51 | |
19:52
mantovani left
|
|||
masak | rakudo: rakudo: 3.14159265358979323846264338327950288419716939937510 | 19:52 | |
colomon | That is a known bug, I think. | ||
p6eval | rakudo 06fe9a: OUTPUT«Confused at line 11, near "rakudo: 3."current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | dang. | ||
rakudo: 3.14159265358979323846264338327950288419716939937510 | |||
p6eval | rakudo 06fe9a: OUTPUT«PAST::Compiler can't compile node of type BigIntcurrent instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)» | ||
moritz_ | colomon: I knew it only with rats, not with nums | ||
masak | colomon: even with the e0 at the end? | ||
colomon | A couple of us have had shots at rewriting it and failed. | ||
moritz_ | there's a patch by baest++ in RT | 19:53 | |
colomon | orly? | ||
frettled | Whoever this Rolf (LanX) is, that discussion subthread is counter-productive. Kudos to pmichaud++ for trying to keep up, but I think it's a dead end. | ||
masak | frettled: I had the same thought. | 19:54 | |
moritz_ | I never found discussing with LanX productive | ||
he used to have endless threads on perl-community.de too | |||
colomon | where is the current thread? | 19:57 | |
masak | www.perlmonks.org/?node_id=836349 | 19:59 | |
colomon | thanks | ||
frettled | colomon: I'd recommend against reading it. :) | ||
masak | well, once doesn't hurt. just don't read it four times, like I did. :P | 20:00 | |
frettled | haha | ||
jnthn back from nomming | 20:06 | ||
frettled | So, er, did you _really_ combine lingonsylt with smörgåsgurka? | 20:07 | |
jnthn | sorear: I *think* my make program doesn't handle := | ||
frettled: Maybe smörgåsgurka isn't the word I wanted. | |||
Pickled cucumber? | |||
masak | aye. | 20:08 | |
frettled | The same | ||
masak | frettled: don't tell me you've never combined those two and köttbullar? :) | ||
frettled | But by all means, that sounds like a worthy test for a gastronaut. | ||
masak | it's typical Swedish fare. | ||
jnthn | It somehow feels right. | 20:09 | |
Having actually done it. | |||
frettled | masak: sure, but I don't think I've put both lingon and gurka in my mouth at the same time, strangely enough. | ||
masak | frettled: you're putting up invisible limits for yourself. free your mind :) | ||
frettled | Hmm. | 20:10 | |
frettled checks the fridge. | |||
masak | sweet and salty is very good, in a contrasty way. | ||
and come to think of it, lingon is actually sweet with a touch of sour. | |||
dalek | kudo: 73e8d42 | moritz++ | (2 files): implement samecase() |
20:11 | |
colomon | partridgeberry! mmmmmm...... | 20:12 | |
pugssvn | r30472 | moritz++ | [t/spec] be more idiomatic in map_function_return_values.t | 20:15 | |
masak | p6l is now considering not only all the calendars of the world, but all possible calendars in all fantasy worlds, too. my blood pressure stays low because I simply cannot take them seriously. | ||
jnthn isn't even reading those posts any more. | 20:16 | ||
moritz_ finds that blood pressure is generally overrated anyway | |||
jnthn | masak++ for bothering to at all. | ||
20:18
madalu joined
|
|||
masak | well, zany as they seem, they might be right in that the option to plug in other calendar systems is actually a good idea for extensibility. | 20:19 | |
frettled | jani.at.ifi.uio.no/tmp/lingon+gurka.jpg | ||
masak | frettled++ | 20:20 | |
moritz_ | masak: yes. And Instant provides that capability | ||
frettled | The gurka is a bit too dominantly sour, otherwise it would work quite well. | ||
colomon appears to have completely broken exp locally. | 20:21 | ||
moritz_ | use MONKEY_TYPING; augment class Instant { method Discordian { Discordian.new(self) } }; now.Discordian.whatever | ||
masak | or just put the coercion in the Discordian class. | ||
20:21
nihiliad joined
|
|||
frettled | heh | 20:21 | |
masak | hm, actually using Discordian as an example in the spec would make lue++ happy :) | 20:22 | |
moritz_ | masak: sure, if you're not sold to the built-in feeling | ||
frettled | I actually think the last two posts (that I read) were quite useful. Darren Duncan and Jon Lang, IIRC. | ||
masak | moritz_: I'm not, at least not at the expense of turning on duck punching... er, monkey typing. | ||
moritz_ | frettled: the key is knowing when to stop reading :-) | ||
frettled | and which parts to skim | ||
masak | sounds like the Halting Problem but for PerlMonks posts :P | 20:23 | |
you need to skim to know whether or not to skim, but then you might actually start reading in depth... | |||
frettled | I can hear one hand clapping already. | 20:24 | |
20:25
madalu left
|
|||
frettled | On a more serious note: I think it's useful to think of the basis of time as instants and durations, but as Jon (IIRC) said: there should be a default, and that default should be Gregorian. And that's what we're getting, ain't that so? | 20:25 | |
masak | yes! | ||
frettled | Is there a perl6-modules discussion list yet? | 20:27 | |
moritz_ | nope | 20:28 | |
might be a good idea to start one | |||
colomon | "No, you'd likely have a Perl 5.10 that would be called "Perl 6"." pmichaud++ | 20:29 | |
20:30
madalu joined
|
|||
frettled | I'm so glad that I don't have an account for commenting there, I might be tempted to say something like "there haven't yet been big enough changes to Perl 5 to merit a new major version number, nor is there any such change on the horizon", and people might be pissed off for all sorts of reasons. :) | 20:31 | |
But then I have a pretty conservative and orthodox view regarding what merits a change of major version, and I think that changing the minor version is a huge f-ing clue that there are significant changes. | 20:32 | ||
masak | audreyt++ # "Perl v5+6i" :) | 20:41 | |
a bit too complex, I fear. but a fun suggestion. | |||
frettled | heh | 20:42 | |
sorear | jnthn: You can replace the := with a = if you want, it'll only double the number of processes run during the make | 20:43 | |
= in make is macro expansion and evaluates each time the LHS is used | |||
:= evaluates once, but it's not in nmake? | |||
moritz_ | still same O($thing) :-) | 20:44 | |
rakudo: class A { method f { say "moep" } }: A.new ~~ .f | |||
p6eval | rakudo ea9188: OUTPUT«Confused at line 11, near "class A { "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
moritz_ | rakudo: class A { method f { say "moep" } }; A.new ~~ .f | 20:45 | |
p6eval | rakudo ea9188: OUTPUT«Method 'f' not found for invocant of class ''current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
moritz_ | bug | ||
jnthn | moritz_: It's a syntactic form of smartmatch, didn't pop 'em back yet. | 20:48 | |
moritz_: I think all of the smartmatch test files that we still have got commented out are for the syntactic forms. | |||
lue | hello! | 20:49 | |
moritz_ | jnthn: well, even if it's not syntactic, the LHS should be the topic of the RHS, afaict | ||
but adding back the syntactic form should solve the problem too | 20:50 | ||
sorear | does rakudo work on parrot trunk yet? | ||
moritz_ | is there a way to get the caller's $_ somehow? (maybe PIR cheating) | ||
sorear: don't think so | |||
sorear | $CALLER::_ | ||
moritz_ | sorear: today, not in theory :-) | 20:51 | |
jnthn | moritz_: The syntactic form is used to make that so. | ||
moritz_ | jnthn: ah | ||
rakudo: say (s/foo/bar/).WHAT | |||
p6eval | rakudo ea9188: OUTPUT«Substitution()» | ||
takadonet | I just got parsefile method from Grammar to work correctly with my code. Do i need to make a new patch (wiki.github.com/rakudo/rakudo/steps...e-a-patch) for a one line change? | 20:52 | |
moritz_ | takadonet: you can nopaste it here too | ||
takadonet | k | ||
jnthn | Yes, there's a way, in PIR it's something like $P0 = getinterp\n$P1 = $P0['lexpad';1]\n$P2 = $P1['$_'] # or some such | ||
moritz_ | jnthn: thanks | 20:53 | |
lisppaste3 | takadonet pasted "Parsefile Fix" at paste.lisp.org/display/98283 | 20:55 | |
moritz_ | method parse() could also use a *%options hash | 20:56 | |
moritz_ spectests | |||
takadonet | moritz_: Ya either way works | ||
spec file still does not pass but it for other reason | 20:57 | ||
but my code does work now :) | |||
sorear | jnthn: Does s/:=/=/ work for you? | ||
jnthn: To be fair I'm not convinced by the distutils approach, but I definitely want to get away from our reliance on gen_makefile.pl because it has no extensibility | 20:59 | ||
I can see us copying the Rakudo makefile machinery | |||
21:00
molaf left,
ReiniUrban joined
|
|||
moritz_ | takadonet: ah, the test file assumes weird things | 21:01 | |
takadonet | moritz_: which test file? parse_and_parsefile.t ? | 21:02 | |
moritz_ | .parse() implicitly anchors the matcht as ^ ... $ | ||
takadonet: yes | |||
moritz_ too tired to fix it | |||
takadonet | moritz_: nothing to do with my change right? | 21:03 | |
21:03
mberends left
|
|||
moritz_ | takadonet: right | 21:03 | |
21:03
rurban left
|
|||
takadonet | moritz_: Good! apply when you want, I just changed it on my branch for now so I can can continue to work | 21:03 | |
21:03
ReiniUrban is now known as rurban
|
|||
cosimo | hi everyone, i picked up rakudo on win32 again after a couple of months. builds fine, but I can't run my LWP::Simple module anymore... | 21:04 | |
it used to be fine, but now I get this error message: | |||
Null PMC access in find_method('get_parrotclass') | |||
current instr.: 'perl6;ClassHOW;onload' pc -1 ((unknown file):-1) | |||
masak | cosimo: might be you're using sockets and they don't work in master yet. | 21:05 | |
still, it's an un-fun error message. | |||
tried to isolate it? | |||
lisppaste3 | cosimo pasted "lwp-get.pl" at paste.lisp.org/display/98287 | 21:06 | |
lue | what does LWP::Simple do? | ||
jnthn | That looks like a startup-time crash... :-/ | ||
moritz_ | any stray .pir files lying around? | 21:07 | |
lue: it crashes | |||
cosimo | masak: ok | ||
lue | *supposed* to do :) | ||
jnthn | moritz_: Yes, that's a good guess. | ||
cosimo | lue: like this LWP::Simple, search.cpan.org/~gaas/libwww-perl-5.../Simple.pm | 21:08 | |
lue | thank you | ||
cosimo | moritz_: what should I look for? | ||
PerlJam | rakudo: say "12345".fmt{'%x'} | 21:09 | |
p6eval | rakudo 73e8d4: OUTPUT«1» | ||
PerlJam | That is an interesting twist of things | ||
fmt is superfluous too | 21:10 | ||
say "2345".{2} | |||
rakudo: say "2345".{2} | |||
sorear pokes jnthn | |||
p6eval | rakudo 73e8d4: OUTPUT«4» | ||
moritz_ | cosimo: .pir files in ~/.perl6/lib/ . and $RAKUDO_DIR | ||
jnthn | sorear: ouch! :P | ||
21:11
_buno_ joined
|
|||
sorear | jnthn: I can't do anything with the blizkost build system until I find out if s/:=/=/ makes it work | 21:11 | |
And more importantly, if you're about to patch anything | |||
jnthn | sorear: It doesn't. :-( | ||
sorear | How does it then fail? | 21:12 | |
jnthn | makefile(21) : fatal error U1000: syntax error : ')' missing in macro invocation | ||
I'm not sure how to fix that one. | |||
cosimo | moritz_: tried deleting all *.pir files around, but I get the same error. thanks anyway. | ||
moritz_ | :( | 21:13 | |
masak | snarkyboojum: ping | 21:16 | |
pugssvn | r30473 | colomon++ | [t/spec] Add named argument $base tests to exp. | ||
colomon | 31663 passing tests now, 32000 is starting to look within reach.... ;) | 21:17 | |
lisppaste3 | cosimo pasted "A simpler test with a class" at paste.lisp.org/display/98290 | ||
masak | colomon: wow! when will it end? | ||
sorear | jnthn: try changing the $(shell syntax to backquotes | ||
colomon | masak: Jan 17th, 2043 | 21:18 | |
cosimo | moritz_: looks like a simpler test fails too, or maybe it's just my ignorance of perl6 | ||
jnthn | sorear: That gets us further. | 21:19 | |
gist.github.com/377954 | |||
masak | colomon: that's both informative and a bit scary, thanks. | 21:20 | |
dalek | kudo: aa51358 | (Solomon Foster)++ | src/core/Co (2 files): Add $base to exp proto, and make a version of Complex.exp which takes the $base argument. |
||
moritz_ | cosimo: did you 'make install' rakudo? | ||
cosimo | moritz_: no, i didn't | 21:21 | |
moritz_ | cosimo: you must, otherwise rakudo won't work from outside the build dir | ||
sorear | jnthn: uck | ||
no backquotes in nmake, eh | 21:22 | ||
I thought we were already using them! | |||
jnthn | :/ | ||
colomon | masak: no problem. | ||
sorear | :/ | 21:23 | |
colomon | masak: just don't tell lue. ;) | ||
21:23
gurjeet joined
|
|||
cosimo | moritz_: that's it. you definitely have a crystal ball :) | 21:23 | |
sorear | the way forward from here is to have Configure.pl write the correct stuff into the Makefiles itself. | ||
sorear gets on this | |||
cosimo | moritz_: the simpler example works now. LWP::Simple does not, as masak pointed out already. thanks guys | 21:25 | |
lue | I've changed the date it's finished. It's not 2043 anymore :) | ||
masak | even the future doesn't hold still... | 21:26 | |
dalek | kudo: 55a62ae | moritz++ | src/core/Grammar.pm: fix Grammar.parsefail, patch by takadonet++ |
||
takadonet | thanks moritz_ | ||
lue | I made it earlier, more like a few weeks from now. | ||
21:27
daemon left
|
|||
masak | lue: I think your tempral-scope is smudgy. that's Rakudo Star you're seeing. | 21:28 | |
jnthn | moritz_: parse*fail*? :-) | ||
oh, I thought it was a typo for .parsefile :-) | 21:29 | ||
sorear | jnthn: Who do I need to bug about adding Blizkost dalek announces to #perl6? :) | 21:31 | |
colomon | lue: I was reporting the date the last spectest change will be made to the Perl 6 test suite. | 21:32 | |
lue | Bah! The TARDIS is still reparing itself, I'm bound to make some mistakes :) | ||
On the + side, it's got a colorful 60's type look now :) | |||
jnthn | sorear: Maybe Infinoid | 21:35 | |
lue | colomon: I know, I just couldn't see well. :) | 21:36 | |
21:36
gurjeet left
|
|||
jnthn afk for a bit | 21:38 | ||
takadonet | anyone run into the issue where inside a method of a Role, Perl cannot find builtin sub like say,pop,push etc... ? | 21:43 | |
PerlJam | takadonet: got some code that illustrates it? | 21:45 | |
lisppaste3 | takadonet annotated #98283 "Role fail..." at paste.lisp.org/display/98283#1 | 21:46 | |
21:47
jaldhar joined
|
|||
masak | takadonet: that sounds familiar. hold on, I'll check around RT. | 21:47 | |
PerlJam | aye, it's already in RT | ||
takadonet | masak: thanks | ||
PerlJam | 74078 | ||
masak | PerlJam++ | 21:48 | |
21:48
jaldhar left,
jaldhar joined
|
|||
takadonet | hmmm | 21:49 | |
nuts | |||
21:49
_buno_ left
21:50
iblechbot left
|
|||
masak | does this sound familiar? "We're not interested in childish popularity contests, we're interested in [being awesome]. And we are succeeding." | 21:54 | |
it's from this post: jeffreystedfast.blogspot.com/2009/0...ights.html | |||
seems other language communities are also dealing with FUD :) | 21:55 | ||
21:55
rv2733 joined
|
|||
lue | FUD? | 21:58 | |
masak | en.wikipedia.org/wiki/Fear,_uncerta..._and_doubt | 21:59 | |
a common acronymic term for negative spin against something. | |||
cognominal | your name is FUD. :) | 22:00 | |
frettled | FUD, as pioneered by Microsoft ;) | ||
22:01
am0c joined
|
|||
cognominal | nope .it predate MS. IBM used it as well against its competitors. | 22:02 | |
lue | go to <a href="www.microsoft.com">hell!</a> | ||
:) | |||
masak | rakudo: class A { multi method foo($a) { "general" }; multi submethod foo(Str $a) { "specific" } }; class B is A {}; say .new.foo("OH HAI") for A, B | 22:03 | |
p6eval | rakudo 55a62a: OUTPUT«specificspecific» | ||
masak | should be "specific\ngeneral\n". | ||
masak submits rakudobug | |||
(since submethods don't inherit) | 22:04 | ||
22:04
bbkr joined
|
|||
masak | rakudo: class A { submethod foo { say "OH HAI" } }; class B is A {}; B.new.foo | 22:06 | |
frettled | cognominal: What? But Microsoft says in their marketing material that they invented FUD! | ||
p6eval | rakudo 55a62a: OUTPUT«Method 'foo' not found for invocant of class 'B'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
masak | works for only methods but not for multi submethods. | ||
masak heads to bed | 22:09 | ||
'night, #perl6 | |||
frettled | sleep tight | ||
colomon | 'night | ||
22:09
masak left
|
|||
lichtkind | good night | 22:10 | |
lue | good night | 22:12 | |
22:12
TSa left
22:14
Chillance joined
|
|||
jnthn | Mixing a method and submethod of the same shortname is...odd. | 22:17 | |
PerlJam | I thought so at first too, but I think it should be fine. | 22:18 | |
jnthn | It probably makes for a rather tricky fix. | 22:21 | |
lue | afk | ||
22:25
M_o_C joined
22:32
jonrafkind joined
|
|||
sorear | jnthn: Can you test the latest patch? | 22:33 | |
jnthn | pullin | 22:35 | |
\o/ | 22:36 | ||
sorear++ | |||
Builds. | |||
nmake install also works | |||
On test failure. | 22:37 | ||
nt/callsv.t ................ Dubious, test returned 5 (wstat 1280, 0x500) | |||
All 1 subtests passed | |||
*one | |||
sorear | I'm not suprised | ||
that just means it crashed during global destruction | |||
jnthn | OK. | 22:38 | |
sorear | which it does >50% of the time on linux | ||
jnthn | Consistently crashed in 5 runs on Windows. | ||
But anways, yes, tricky issue. | |||
sorear | I've got an idea for a refactor that will make it a bit more robust | 22:39 | |
but it's not going to be completely solid until the GC overhaul #parrot promises | |||
since, among other things, there's no guarantee dynpmcs will have their destroy VTABLEs called before the library is unloaded | 22:40 | ||
jnthn | Ah, Ok. | ||
sorear | rakudo works around this by skipping global destruction and calling _exit directly | ||
jnthn | Ouch! | ||
I hadn't realized that. :-) | |||
jnthn starts the lexical class yak shaving | 22:41 | ||
sorear | lexical classes sound 100% awesome, what's so yakky about them, | ||
jnthn | Hopefully relatively little; I suspect parts of what we already have are too namespace-centric. | 22:42 | |
So it's not quite as straightforward as one might hope. | 22:43 | ||
rakudo: my class Foo { method bar() { say 42 } } | |||
p6eval | rakudo 55a62a: OUTPUT«Can't handle scope declarator my on packages yetcurrent instr.: 'perl6;Perl6;Compiler;Package;finish' pc 27406 (src/gen/parameter_pm.pir:613)» | ||
sorear | unrelatedly, do we have a set minimum Perl? | 22:44 | |
the Parrot Configure.pl requires 5.8.0 | |||
jnthn | omfg, my patch worked first time. | ||
> { my class Foo { method bar() { say 42 } }; Foo.new.bar }; Foo.new.bar; | 22:45 | ||
42 | |||
Could not find sub &Foo | |||
bbkr | rakudo: say (1e2/7).WHAT; #this should be Rat? | ||
p6eval | rakudo 55a62a: OUTPUT«Num()» | ||
sorear | rakudo: say 1e2.WHAT | ||
p6eval | rakudo 55a62a: OUTPUT«Num()» | ||
sorear | rakudo: say 7.WHAT | ||
p6eval | rakudo 55a62a: OUTPUT«Int()» | ||
sorear | rakudo: say 100.WHAT | 22:46 | |
p6eval | rakudo 55a62a: OUTPUT«Int()» | ||
sorear | rakudo: say 100 === 1e2 | ||
jnthn | iirc, only Int / Int will give you a Rat | ||
p6eval | rakudo 55a62a: OUTPUT«0» | ||
jnthn | (or Int / Rat and so on) | ||
sorear | rakudo: say 100 === 100 | ||
p6eval | rakudo 55a62a: OUTPUT«1» | ||
bbkr | ok, thanks jnthn for clarification | 22:47 | |
sorear | my personal choice for Perl absolute minimum is 5.6.0 (lexically-scoped file handles, weak references, and modern threads) | 22:48 | |
jnthn | sorear: Depends on context. What context are you asking for? | ||
Blizkost? | |||
sorear | jnthn: aye | ||
Parrot's current Configure.pl sets a minimum of 5.8.0 | |||
jnthn | Well, if you need 5.8.0 to get a Parrot, that implies at least 5.8.0. | 22:49 | |
Does 5.8.0 give you headaches to support over, say, 5.10.0? | |||
22:49
mantovani joined
|
|||
bbkr | however it's sometimes not exactly clear if we have Num or Int, so behavior like (if $x.Int == $x) then create Rat anyway would be more DWIM | 22:49 | |
jnthn | bbkr: In this case, I think the rule is "if you write an exponent you always get Num". | 22:50 | |
sorear | jnthn: Not particularly | ||
jnthn | sorear: Then I don't really see a reason not to go 5.8.0 for Blizkost too. | ||
sorear | what I'd like to do is get Blizkost to fully support the standard alternate perl protocols | ||
jnthn | @standard alternate perl protocols@? | 22:51 | |
gah, wrong keyboard map | |||
sorear | so I can go ~/perls/5.8.0/bin/perl Configure.pl; make; make test | ||
jnthn | s/@/"/ :-) | ||
Ah, I see | |||
So you can test easily against multiple Perls? | |||
sorear | Configure extracts all the needed information from the running Perl and doesn't depend on $PATH/perl | 22:52 | |
yes | |||
jnthn | Sounds cool. | ||
sorear | that last patch was a big step in that direction - we now get cflags and ldflags for the configure perl | ||
I haven't tested it though and there are probably lots of bugs | 22:53 | ||
22:57
madalu left
|
|||
sorear attempts to install Perl 5.8.0 | 23:00 | ||
it's pretty awesome that Perl 5 has unified their 28 years of development into a single git repo | 23:01 | ||
23:01
wormphlegm left
|
|||
sorear | git checkout perl-5.8.0; git clean -dfx; sh Configure -des -Duseithreads -Duseshrplib -Dprefix=/opt/perl-5.8.0; make; make test; sudo make install | 23:02 | |
bbkr | rakudo: my $x = Inf; say ($x.Int / 1).WHAT; # this one looks bad, I have Int/Int but rakudo fails with some weird message | 23:04 | |
p6eval | rakudo 55a62a: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'. Available candidates are::(Int $a, Int $b)current instr.: 'perl6;Rat;new' pc 461240 (src/gen/core.pir:0)» | ||
jnthn | rakudo: my $x = Inf; say $x.WHAT | 23:05 | |
p6eval | rakudo 55a62a: OUTPUT«Num()» | ||
bbkr | I know that Inf is kinda bugged now (Inf.Int is the max int on machine), but I have Int/Int anyway so it should give Rat? | 23:06 | |
jnthn | I expected so. | ||
rakudo: my $x = Inf; say $x.Int | 23:07 | ||
p6eval | rakudo 55a62a: OUTPUT«-9223372036854775808» | ||
jnthn | rakudo: my $x = Inf; say $x.Int.WHAT | ||
p6eval | rakudo 55a62a: OUTPUT«Int()» | ||
bbkr | see :) | ||
jnthn | Yeah, that one looks like a bug. | ||
bbkr | please submit, i don't have submit rights yet | ||
jnthn | Submit = email | ||
Just email to [email@hidden.address] | 23:08 | ||
23:09
orafu left,
orafu joined
|
|||
bbkr | bug report sent | 23:13 | |
23:15
M_o_C left
|
|||
pugssvn | r30474 | jnthn++ | [t/spec] A bunch more tests for lexical classes. | 23:21 | |
jnthn reads p6l and chuckles at, "your bikeshed has become too small to contain a bike" | 23:25 | ||
dalek | kudo: 4a1312a | jonathan++ | src/Perl6/Compiler/Package.pm: First cut implementation of lexical classes; hard to know just how well it works yet for lack of tests. |
23:26 | |
kudo: e393c7e | jonathan++ | t/spectest.data: Turn on S12-class/lexical.t. |
|||
frettled | :) | 23:29 | |
23:31
ruoso left
|
|||
bbkr | rakudo: my class X {has X $.x}; say X.new(x => X.new).x.WHAT; # just checking :) | 23:33 | |
p6eval | rakudo 55a62a: OUTPUT«Can't handle scope declarator my on packages yetcurrent instr.: 'perl6;Perl6;Compiler;Package;finish' pc 27406 (src/gen/parameter_pm.pir:613)» | 23:34 | |
jnthn | Too soon. :-) | ||
frettled | Miracles take slightly more time? :D | ||
jnthn | no, p6eval takes time to update. :-) | 23:35 | |
bbkr: Locally: | |||
> my class X {has X $.x}; say X.new(x => X.new).x.WHAT; | |||
X() | |||
frettled | Yeah, there's a cronjob doing periodical updates, isn't that so? | ||
jnthn | Ae. | ||
*Aye | |||
bbkr | nice :D | ||
jnthn | Aww. My patch to do lexical roles didn't work first time though. | 23:40 | |
Clearly I hit and passed the Ballmer Peak. | |||
23:49
ruoso joined
23:50
bbkr left
23:56
lichtkind left
|