|
»ö« | 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
|
|||