| Time |
S |
Nick |
Message |
| 00:02 |
|
frettled |
TimToady: so that instead of do {…}_, we'd have _autoindex {…}_, or am I Not Getting It? |
| 00:02 |
|
frettled |
(yow, run-away underlines) |
| 00:02 |
|
arthur-_ |
/me wants to convert a Str to a Regex ( with interpolation ) but don't find in S05 |
| 00:03 |
|
TimToady |
frettled: that would be the basic idea, but perhaps the blockless form would not make sense |
| 00:04 |
|
frettled |
Mm, I don't think it would make programming life easier to do so. |
| 00:05 |
|
TimToady |
arthur-_: /<$string>/ if you don't want \Q semantics |
| 00:05 |
|
TimToady |
but nyi in rakudo |
| 00:05 |
|
frettled |
same goes for autoindex, I see :) |
| 00:06 |
|
TimToady |
nobody implements S09 yet |
| 00:06 |
|
TimToady |
not even the "easy" bits :) |
| 00:06 |
|
frettled |
hee-hee |
| 00:07 |
|
frettled |
Fortunately (for me, anyway), I don't yet have enough Perl 6 or rakudo clue to fix that. |
| 00:08 |
|
eternaleye |
Ya know, if do { @out[$^k,$^j] = @in[$^j,$^k] } is what we're looking for for 2d arrays, maybe we could define it as do { @out[@in.shape.rotate] = @in[@in.shape] } ? |
| 00:09 |
|
frettled |
or just @out.transpose ;) |
| 00:09 |
|
* TimToady |
has to go and play drums & |
| 00:09 |
|
eternaleye |
s:1st:2nd/,/;/ |
| 00:09 |
|
frettled |
:) |
| 00:09 |
|
arthur-_ |
TimToady: thx |
| 00:10 |
|
eternaleye |
frettled: I mean what we define .transpose to be in code |
| 00:10 |
|
eternaleye |
That way .transpose is defined on multi-dim arrays |
| 00:10 |
|
frettled |
eternaleye: sorry, I just wanted to joke a bit. But yes, that would be one way to see it. |
| 00:10 |
|
frettled |
I'm not sure that transposing on multi-dim arrays makes sense without a parameter set to transpose. |
| 00:11 |
|
eternaleye |
frettled: Quite possible. I'm still very early in my mathematical education (just finished derivatives and integrals last year) |
| 00:12 |
|
frettled |
I think that «rotate» would seem more understandable as a term then, but I suppose a mathematician would then proceed to file off my fingers with wet celery. |
| 00:12 |
|
eternaleye |
frettled: Well, we aready have a .rotate |
| 00:12 |
|
|
ascent_ joined #perl6 |
| 00:13 |
|
eternaleye |
And really, rotating two elements is transposition |
| 00:13 |
|
frettled |
Yes, .rotate is for bits or something. |
| 00:13 |
|
eternaleye |
frettled: .rotate is defined on arrays, I remember that from the Josephus discussion |
| 00:14 |
|
frettled |
Ah, for lists it's the same as rotating bits in a byte. |
| 00:14 |
|
frettled |
Sensible in a computer science kind of way. |
| 00:15 |
|
frettled |
eternaleye: but to «transpose» a 3D array, we'd have to say which way, since it can be «transposed» in two dimensions. |
| 00:15 |
|
frettled |
In general, the similar operation to transposition has N-1 dimensions for an N-dimensional matrix. |
| 00:15 |
|
eternaleye |
frettled: Well, the code I wrote abvove would do x->y y->z z->x |
| 00:16 |
|
frettled |
Yes, but x->z, z->y, y->x would be different. |
| 00:16 |
|
frettled |
and still valid :) |
| 00:16 |
|
eternaleye |
Rather than rotating elems, it rotates dimensions |
| 00:17 |
|
eternaleye |
frettled: Hm, yes |
| 00:17 |
|
eternaleye |
Well, .rotate takes an integer parameter, so we could pass that from outside - -1 would DWYM, and 0 or +(@in.shape) would be identity |
| 00:18 |
|
frettled |
and we could pass it a list to handle multiple dimensions? *g,d&r* |
| 00:19 |
|
eternaleye |
frettled: Well, we're rotating dimensions rather than elements. Unless you can find a way to have dimensions of dimensions (looser that ';' |
| 00:20 |
|
eternaleye |
frettled: Well, we're rotating dimensions rather than elements. Unless you can find a way to have dimensions of dimensions (looser than ';'?), that wouldn't have any meaning |
| 00:20 |
|
frettled |
I was about to suggest, though, just after I mentioned «use Mathematica», that making use of GNU Octave might be a win for stuff like this. |
| 00:20 |
|
eternaleye |
frettled: Yeah, but the bindings might be somewhat painful |
| 00:21 |
|
|
stimpi joined #perl6 |
| 00:21 |
|
frettled |
SMOP :) |
| 00:21 |
|
eternaleye |
heh |
| 00:24 |
|
|
unitxt left #perl6 |
| 00:24 |
|
frettled |
Octave wouldn't be useful for bindings as much as either inspiration or blatant copying of features into a Perl 6 compiler/interpreter. |
| 00:24 |
|
|
unitxt joined #perl6 |
| 00:26 |
|
frettled |
Heh. Hehe. |
| 00:26 |
|
frettled |
eternaleye: Speaking of bindings, see http://search.cpan.org/dist/Inline-Octave/ |
| 00:26 |
|
eternaleye |
nice |
| 00:32 |
|
frettled |
Good night! *idle* |
| 00:41 |
|
pugs_svn |
r27986 | ujwal++ | Added myself to AUTHORS |
| 00:42 |
|
|
ujwalic joined #perl6 |
| 00:48 |
|
|
KatrinaTheLamia joined #perl6 |
| 00:51 |
|
|
tak11 joined #perl6 |
| 01:13 |
|
|
helper joined #perl6 |
| 01:37 |
|
|
ilbot2 joined #perl6 |
| 01:37 |
|
|
Topic for #perl6is now »ö« | http://perl6-projects.org/ | nopaste: http://paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' | irclog: http://irc.pugscode.org/ | UTF-8 is our friend! |
| 01:43 |
|
|
KatrinaTheLamia joined #perl6 |
| 01:51 |
|
|
xinming joined #perl6 |
| 01:56 |
|
|
meteorjay joined #perl6 |
| 01:58 |
|
|
sri_kraih_ joined #perl6 |
| 02:01 |
|
|
xinming_ joined #perl6 |
| 02:11 |
|
|
xinming_ joined #perl6 |
| 02:21 |
|
|
japhb joined #perl6 |
| 02:36 |
|
|
xinming joined #perl6 |
| 02:46 |
|
|
DakeDesu joined #perl6 |
| 02:53 |
|
|
oxygenfad joined #perl6 |
| 03:02 |
|
|
tarbo2_ joined #perl6 |
| 03:19 |
|
|
molaf joined #perl6 |
| 03:20 |
|
|
donaldh joined #perl6 |
| 03:20 |
|
|
ihrd joined #perl6 |
| 03:39 |
|
|
wayland76 joined #perl6 |
| 03:41 |
|
wayland76 |
ping jnthn |
| 03:41 |
|
phenny |
wayland76: 12 Aug 06:34Z <moritz_> tell wayland76 every pugs committer can also invite new committers at http://commitbit.pugscode.org/[…]oject/Pugs/people (it's not a special power of mine) |
| 03:42 |
|
wayland76 |
phenny: tell jnthn The least we could do for Ian Hague is spell his name right in posts on the Rakudo website. http://www.rakudo.org/node/51 |
| 03:42 |
|
phenny |
wayland76: I'll pass that on when jnthn is around. |
| 04:02 |
|
|
sevvie joined #perl6 |
| 04:05 |
|
pugs_svn |
r27987 | kyle++ | [t/spec] begin cleansing of eval and todos that should skip |
| 04:22 |
|
|
kane_ joined #perl6 |
| 04:30 |
|
pugs_svn |
r27988 | kyle++ | [t/spec] fix todo test that should skip |
| 04:36 |
|
|
eternaleye joined #perl6 |
| 05:11 |
|
|
tann_ joined #perl6 |
| 05:14 |
|
|
KatrinaTheLamia joined #perl6 |
| 05:15 |
|
|
tann___ joined #perl6 |
| 05:23 |
|
|
szabgab_ joined #perl6 |
| 05:34 |
|
|
rfordinal joined #perl6 |
| 05:42 |
|
|
finanalyst joined #perl6 |
| 05:46 |
|
|
orafu joined #perl6 |
| 05:53 |
|
japhb |
phenny tell pmichaud I'm thinking of writing the Parrot module install tool in NQP -- or rather, write it in Perl 6 using the subset that NQP will support around the 2.0 time frame or so, with the intent of being able to use NQP to compile it when 2.0 ships. Do you have an updated list of the features you expect NQP to support around that time? Is this even reasonable? |
| 05:53 |
|
japhb |
phenny: tell pmichaud I'm thinking of writing the Parrot module install tool in NQP -- or rather, write it in Perl 6 using the subset that NQP will support around the 2.0 time frame or so, with the intent of being able to use NQP to compile it when 2.0 ships. Do you have an updated list of the features you expect NQP to support around that time? Is this even reasonable? |
| 05:53 |
|
phenny |
japhb: I'll pass that on when pmichaud is around. |
| 05:53 |
|
japhb |
sigh, forgot the colon first time. |
| 06:08 |
|
|
ihrd left #perl6 |
| 06:16 |
|
|
__ash__ joined #perl6 |
| 06:24 |
|
|
jaldhar joined #perl6 |
| 06:25 |
|
|
justatheory joined #perl6 |
| 06:50 |
|
wayland76 |
japhb: Interesting idea. One of my currently stalled projects is something that worries about different package formats (P6 of course) |
| 06:51 |
|
japhb |
wayland76: do tell |
| 06:53 |
|
wayland76 |
Well, it has an object that models metadata |
| 06:53 |
|
wayland76 |
And if you can feed the metadata into the object... |
| 06:54 |
|
wayland76 |
...then it will (in theory) spit it out in various different packaging formats |
| 06:54 |
|
wayland76 |
I personally only plan to support RPM, but I'm intending to make it flexible enough that anyone can use it |
| 06:54 |
|
japhb |
Ah so. |
| 06:55 |
|
wayland76 |
The problem is, I wrote it in P5, and converted it across, and now I can't find the bugs very easily because Rakudo tells me what line they're on, but not in which file :) |
| 06:55 |
|
japhb |
There is mention in the Parrot module ecosystem proposal that the metadata spec include enough information that automated tools (like yours, say) could generate RPM, DEB, etc. |
| 06:55 |
|
japhb |
wayland76: heh |
| 06:56 |
|
wayland76 |
I had a skim over that |
| 06:56 |
|
japhb |
Any comments? |
| 06:56 |
|
wayland76 |
Only that I've seen more proposals than work in this area, and that, as long as I can convince people to use my package modelling stuff, I'm not too fussed with the rest :) |
| 06:57 |
|
wayland76 |
For example, when we said on p6l "Lets discuss packaging/CPAN", it turned out that the 4 most interested people were interested in different parts of the problem |
| 06:57 |
|
japhb |
Getting enough agreement on the basics and then writing the proposal was exhausting. I'm attempting to pace myself. :-) |
| 06:58 |
|
wayland76 |
Like I said, though, I only skimmed it |
| 06:58 |
|
wayland76 |
There are all kinds of cool ideas that could be tried, but as long as it's heading somewhere flexible, I'm happy :) |
| 06:59 |
|
wayland76 |
(If I tried to keep up with everything in the Parrot and P6 communities, I'd have no time to code :) ) |
| 06:59 |
|
japhb |
What I heard privately was that some previous proposals seen over here (#perl6) weren't going to fly over there (#parrot), so I worked from scratch except for cribbing some of the metadata keys from existing CPAN META.yml/json keys |
| 06:59 |
|
japhb |
NODNOD |
| 07:00 |
|
|
rfordinal joined #perl6 |
| 07:01 |
|
japhb |
One nice thing is that masak has already produced a simple prototype of an easy install tool, so I can look at what's good and bad with that. |
| 07:03 |
|
|
kane_ joined #perl6 |
| 07:05 |
|
wayland76 |
It would also be cool if all these things would integrate properly with package meta-managers (ie. apt and yum) |
| 07:05 |
|
wayland76 |
For example, we go "yum install foo-perl-package", and it downloads, compiles, installs, etc :) |
| 07:06 |
|
wayland76 |
I admit it's unlikely, but it's nice to dream |
| 07:07 |
|
japhb |
I'd actually see it in reverse: 'plumage install perl:Foo' looks to see if 'foo-perl' exists as a system package, and offers that. Otherwise, fetch, build, install. (Note to backloggers: NOT A FIRST RELEASE FEATURE! ;-) |
| 07:08 |
|
wayland76 |
japhb: That would be nice too. There's no reason both ways couldn't work :) |
| 07:08 |
|
japhb |
:-) |
| 07:08 |
|
Tene |
in RH distros, it's more likely to be perl-Foo |
| 07:12 |
|
* Tene |
now has 256-color support working in ncurses in rakudo. |
| 07:16 |
|
Tene |
The following loop runs far too slowly. |
| 07:17 |
|
Tene |
for 0..255 X 0..255 { say "$^a - $^b" } |
| 07:17 |
|
Tene |
rakudo: for 0..255 X 0..255 { say "$^a - $^b" } |
| 07:17 |
|
p6eval |
rakudo 0d4fe0: ( no output ) |
| 07:17 |
|
japhb |
timeout! |
| 07:17 |
|
japhb |
You know, the evalbot should *say that* |
| 07:18 |
|
moritz_ |
japhb: patches welcome |
| 07:18 |
|
japhb |
I knew you were going to say that. |
| 07:18 |
|
moritz_ |
;-) |
| 07:18 |
|
moritz_ |
then you already prepared a patch? ;-) |
| 07:18 |
|
japhb |
Given that I'm having trouble focusing my eyes right now, that's probably unwise. ;-) |
| 07:19 |
|
moritz_ |
you're excused |
| 07:19 |
|
moritz_ |
;-) |
| 07:19 |
|
wayland76 |
Tene: I'm a Fedora user myself, so I know these things :) |
| 07:20 |
|
moritz_ |
anyway, p6eval is a quick hack upon which way too many quick hacks have been built |
| 07:20 |
|
|
donaldh joined #perl6 |
| 07:21 |
|
Tene |
wayland76: I'm just nitpicking. |
| 07:21 |
|
Matt-W |
Morning |
| 07:22 |
|
moritz_ |
good day Matt-W |
| 07:23 |
|
|
jkva left #perl6 |
| 07:23 |
|
wayland76 |
Tene: Yah, I know. You'd have to have a "Redhat package name to Perl package name converter", and a separate one for Debian |
| 07:23 |
|
Matt-W |
hi moritz_ |
| 07:24 |
|
|
kent\n joined #perl6 |
| 07:25 |
|
wayland76 |
moritz_: Are you referring to STD.pm as one of the major implementations? |
| 07:25 |
|
moritz_ |
wayland76: yes |
| 07:26 |
|
wayland76 |
Ok, my confusion is dispelled. I don't like enspelled confusion :) |
| 07:30 |
|
|
rfordinal left #perl6 |
| 08:03 |
|
|
iblechbot joined #perl6 |
| 08:29 |
|
|
pmurias joined #perl6 |
| 08:30 |
|
|
meppl joined #perl6 |
| 08:34 |
|
|
masak joined #perl6 |
| 08:34 |
|
masak |
aloha, #perl6. |
| 08:34 |
|
masak |
rakudo: ((Temporal::DateTime.new(:date(Temporal::Date.new(:year(2010), :month(4))), :time(Temporal::Time.new)).epoch - time) / 86400).ceiling.fmt('%d days left until April!').say |
| 08:35 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«230 days left until April!» |
| 08:35 |
|
moritz_ |
oh hai |
| 08:36 |
|
* moritz_ |
has another weekend without internet access before him |
| 08:36 |
|
masak |
nice. |
| 08:36 |
|
moritz_ |
depends ;-) |
| 08:37 |
|
moritz_ |
it's certainly more productive, but I have to live with the withdrawal symtomps ;-) |
| 08:38 |
|
masak |
I'm sure you'll make it through. :P |
| 08:38 |
|
moritz_ |
so far I always did ;-) |
| 08:38 |
|
masak |
<hume>yeah, but...</hume> |
| 08:46 |
|
|
EDevil joined #perl6 |
| 09:01 |
|
|
explorer joined #perl6 |
| 09:02 |
|
masak |
まじで? "Perl 6、2010年4月登場 | エンタープライズ | マイコミジャーナル" |
| 09:03 |
|
masak |
I don't know what it says, but it's kinda warming to see people being expectant in Japanese. |
| 09:04 |
|
masak |
three days ago, there was some kind of Twitter surge of Japanese news on "Perl 6, April 2010". |
| 09:06 |
|
huf |
;))) |
| 09:06 |
|
huf |
perl6 for kurisumasu |
| 09:09 |
|
masak |
apparently 'まじで?' means 'for real?' |
| 09:10 |
|
masak |
in a way, Rakudo Star is a big stage play to show to the world that, yes, Perl 6 is for real. |
| 09:11 |
|
masak |
it's not really a more special release than the other ones, but we're making it special by saying "by this point, it will be worthy of your attention". |
| 09:12 |
|
moritz_ |
masak: it kinda is special. We never had a roadmap before with time estimates, and a good reason to stick to it |
| 09:13 |
|
wayland76 |
We've had time estimates before :) |
| 09:13 |
|
wayland76 |
They were wrong :) |
| 09:13 |
|
moritz_ |
that's why I said "and a good reason to stick to it" |
| 09:13 |
|
wayland76 |
I figured that :) |
| 09:15 |
|
masak |
it's definitely an ambitious time plan before April. |
| 09:15 |
|
masak |
I wouldn't be surprised if we'll have to compromise on some of the features slated for April. |
| 09:16 |
|
masak |
(but it's still a very good idea to have set a concrete goal) |
| 09:18 |
|
masak |
are there visitor statistics for rakudo.org and perl6-projects.org ? |
| 09:19 |
|
|
zloyrusskiy joined #perl6 |
| 09:19 |
|
moritz_ |
I could assemble some for p6p |
| 09:20 |
|
|
PacoLinux joined #perl6 |
| 09:21 |
|
wayland76 |
Are we planning to spend the last month before Rakudo * killing bugs instead of implementing features? |
| 09:21 |
|
* moritz_ |
plans to continue his testing effort |
| 09:22 |
|
|
guest_007 joined #perl6 |
| 09:22 |
|
masak |
wayland76: depends on the state of the ROADMAP at that point, I assume. |
| 09:23 |
|
masak |
moritz_: I had something like this in mind: http://github.com/masak/web/graphs/traffic |
| 09:24 |
|
|
Su-Shee joined #perl6 |
| 09:24 |
|
Su-Shee |
good morning. |
| 09:27 |
|
masak |
Su-Shee: o/ |
| 09:29 |
|
Su-Shee |
o/� <-- waving with a coffee-pot in the hand. ;) |
| 09:30 |
|
moritz_ |
masak: http://moritz.faui2k3.org/tmp/p6p.html |
| 09:30 |
|
masak |
moritz_++ |
| 09:30 |
|
masak |
and interesting results, too! |
| 09:31 |
|
* masak |
couldn't see Su-Shee's coffee-pot because of differences of encoding |
| 09:32 |
|
masak |
moritz_: the 07/Aug surge I can understand, but what happened on 23/Jul? :) |
| 09:32 |
|
Su-Shee |
masak: oh - was just the small "degree" circle, nothing special. |
| 09:33 |
|
masak |
ah. |
| 09:33 |
|
moritz_ |
masak: no idea |
| 09:39 |
|
* wayland76 |
hopes Su-Shee spills no coffee :) |
| 09:39 |
|
wayland76 |
masak: re: ROADMAP, in other words, no we won't, unless we agree to it now :) |
| 09:39 |
|
|
zamolxes joined #perl6 |
| 09:40 |
|
masak |
wayland76: we won't what? |
| 09:40 |
|
wayland76 |
masak: 23 July was people going there 3 days before my birthday to see if tyhey could find present ideas :) |
| 09:40 |
|
wayland76 |
masak: won't spend the last month fixing bugs instead of adding features |
| 09:41 |
|
masak |
ah. |
| 09:41 |
|
masak |
wayland76: it's more like, when March rolls around, what's most important? |
| 09:41 |
|
masak |
might be bugfixes, might be making that last feature fall into place. |
| 09:41 |
|
masak |
agreeing to it now makes little or no sense by me. |
| 09:42 |
|
wayland76 |
masak: Well, I agree, but maybe we should agree that it's a good idea in theory now :) |
| 09:43 |
|
masak |
yes, it sounds like a good idea. |
| 09:43 |
|
masak |
I just think it'll be fairly self-regulating. |
| 09:44 |
|
wayland76 |
Yeah, good point :) |
| 09:44 |
|
wayland76 |
(re self-reg) |
| 09:46 |
|
wayland76 |
Did people see that Parrot has had lots of features removed this time? |
| 09:46 |
|
wayland76 |
Well, I guess there's no point me saying that -- the people who care already know :) |
| 09:46 |
|
masak |
aye, because 1.4 was a milestone release of some kind. |
| 09:46 |
|
masak |
and the Parrot team remove deprecated things after milestone releases. |
| 09:55 |
|
|
[particle]1 joined #perl6 |
| 10:02 |
|
|
pmurias joined #perl6 |
| 10:03 |
|
|
eternaleye joined #perl6 |
| 10:10 |
|
mikehh |
rakudo (0d4fe08) builds on parrot r40543 - make test/make spectest (up to 27988) PASS - Ubuntu 9.04 amd64 |
| 10:11 |
|
|
tomaw_ joined #perl6 |
| 10:18 |
|
|
rafl_ joined #perl6 |
| 10:20 |
|
|
omega_ joined #perl6 |
| 10:23 |
|
|
Maddingu1 joined #perl6 |
| 10:28 |
|
|
Su-Shee left #perl6 |
| 10:51 |
|
masak |
Ruby has a method Kernel#autoload, which registers a file to be loaded (with 'require') the first time a given module is accessed. in other words, a lazy version of 'use'. |
| 10:52 |
|
masak |
would it be possible to simulate something like that in existing Perl 6? |
| 10:58 |
|
|
szabgab_ joined #perl6 |
| 11:11 |
|
jnthn |
o/ |
| 11:11 |
|
phenny |
jnthn: 03:42Z <wayland76> tell jnthn The least we could do for Ian Hague is spell his name right in posts on the Rakudo website. http://www.rakudo.org/node/51 |
| 11:13 |
|
jnthn |
wayland76: Good catch, fixed (typo most likely). |
| 11:16 |
|
|
renormalist joined #perl6 |
| 11:17 |
|
moritz_ |
funny thing is, if you google for Ian Hague the first hit is from perlbuzz ;-) |
| 11:18 |
|
szbalint |
good karma :) |
| 11:20 |
|
|
donaldh joined #perl6 |
| 11:27 |
|
|
explorer joined #perl6 |
| 11:29 |
|
|
donaldh left #perl6 |
| 11:40 |
|
|
masak joined #perl6 |
| 11:46 |
|
|
molaf joined #perl6 |
| 11:47 |
|
|
meteorjay joined #perl6 |
| 11:49 |
|
|
rdice joined #perl6 |
| 11:50 |
|
|
payload joined #perl6 |
| 11:58 |
|
|
BinGOs joined #perl6 |
| 12:00 |
|
|
molaf joined #perl6 |
| 12:09 |
|
|
takadonet joined #perl6 |
| 12:09 |
|
takadonet |
morning all |
| 12:19 |
|
|
ruoso joined #perl6 |
| 12:20 |
|
pmurias |
ruoso: hi |
| 12:20 |
|
pmurias |
ruoso: what flags do you pass to Configure? |
| 12:23 |
|
moritz_ |
rakudo: say %*VM.keys |
| 12:23 |
|
p6eval |
rakudo 0d4fe0: ( no output ) |
| 12:23 |
|
moritz_ |
rakudo: say ~%*VM.keys |
| 12:23 |
|
p6eval |
rakudo 0d4fe0: ( no output ) |
| 12:23 |
|
ruoso |
pmurias, the only flag I defined was -DSMOP_INTEGRATION |
| 12:23 |
|
ruoso |
but we still need the smop sources to be compiled inside the perl sources |
| 12:24 |
|
moritz_ |
rakudo: say %*VM.perl |
| 12:24 |
|
p6eval |
rakudo 0d4fe0: ( no output ) |
| 12:24 |
|
moritz_ |
rakudo: say $*VM.perl |
| 12:24 |
|
p6eval |
rakudo 0d4fe0: ( no output ) |
| 12:24 |
|
moritz_ |
rakudo: say 2 |
| 12:24 |
|
p6eval |
rakudo 0d4fe0: ( no output ) |
| 12:24 |
|
szbalint |
uh-oh :) |
| 12:24 |
|
moritz_ |
something is very broken. |
| 12:27 |
|
pmurias |
ruoso: i hand hacked them into the build system... testing now |
| 12:28 |
|
ruoso |
pmurias, coool |
| 12:28 |
|
moritz_ |
rakudo: say 1 |
| 12:28 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«1» |
| 12:28 |
|
moritz_ |
rakudo: say %*VM<config><infodir> |
| 12:28 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«/home/evalenv/p2/info» |
| 12:30 |
|
|
masak joined #perl6 |
| 12:32 |
|
takadonet |
hey masak |
| 12:33 |
|
moritz_ |
speaking of masak... did anybody adjust proto to work with an installed parrrot? or no adaption necessary? |
| 12:33 |
|
masak |
moritz_: no-one has yet. I should at least test it, I guess. |
| 12:35 |
|
* moritz_ |
has a secrit plan for world domination, to be prototyped over the weekend |
| 12:37 |
|
|
omega joined #perl6 |
| 12:38 |
|
Infinoid |
if I suddenly feel dominated, I'll know the prototype worked |
| 12:41 |
|
moritz_ |
masak: does SVG.pm work as advertised in the Pod? (ie with :[...]) |
| 12:42 |
|
masak |
moritz_: barring the recent Rakudo bug, yes. |
| 12:42 |
|
moritz_ |
aka "no" ;-) |
| 12:43 |
|
jnthn |
Where recent Rakudo bug = a regression? |
| 12:43 |
|
masak |
jnthn: not sure, but I think so. |
| 12:44 |
|
masak |
the SVG.pm example used to work. I'm sure of that. |
| 12:44 |
|
moritz_ |
and pmichaud already spent a day trying to fix it, or so |
| 12:45 |
|
|
|theJackal| joined #perl6 |
| 12:45 |
|
masak |
moritz_: I should perhaps add a note in SVG.pm on how to work around that bug. |
| 12:45 |
|
jnthn |
RT#? |
| 12:48 |
|
* moritz_ |
can't find it |
| 12:48 |
|
moritz_ |
masak: your call |
| 12:50 |
|
masak |
it's can't hurt. |
| 12:50 |
|
masak |
s/'s// |
| 12:51 |
|
frettled |
Statement not terminated properly at line 1, near "\n" |
| 12:51 |
|
frettled |
;) |
| 12:54 |
|
wayland76 |
moritz_: You realise that anyone who feels dominated over the weekend is now going to blame you, whether your plan succeeds or not? :) |
| 12:55 |
|
pmurias |
ruoso: would we lose anything by storing the files like smop-s0native-idconst.c? |
| 12:55 |
|
moritz_ |
wayland76: I can live with being blamed. Actually I thought about starting a company that takes money for being blamed random things ;-) |
| 12:55 |
|
ruoso |
pmurias, I've been thinking about it.. I think we can simplify it.. at least for this core smop modules |
| 12:56 |
|
wayland76 |
moritz_: The drawback is, people would sue you when you took the blame :) |
| 12:56 |
|
|
eiro joined #perl6 |
| 12:57 |
|
frettled |
wayland76: naaah, not if the T&C make it clear that you agree to indemnify and hold harmless $company |
| 12:57 |
|
wayland76 |
At least these days |
| 12:57 |
|
moritz_ |
wayland76: I'd only take the moral blame, not the legal |
| 12:57 |
|
frettled |
So you're free to _blame_ them, but they won't take responsibility. :D |
| 12:57 |
|
wayland76 |
Ah, ok, moritz_'s solution might work. frettled's I'm not so sure about :) |
| 12:58 |
|
wayland76 |
Because if A pays you and you take their blame, then B might sue you instead of A |
| 12:58 |
|
frettled |
Nono, moritz_ didn't say that he'd _take_ the blame. |
| 12:58 |
|
frettled |
He said the company would take the _money_ ;) |
| 12:58 |
|
wayland76 |
Oh, got it :) |
| 12:59 |
|
wayland76 |
However, the kind of people that would hire you would probably get you in trouble in the end for receiving stolen funds or something :) |
| 13:00 |
|
* wayland76 |
can't wait for a new, multi-core computer, where my web browser won't take 95% of the CPU :) |
| 13:01 |
|
moritz_ |
hey, multicore is the only way in which a browser can take up more than 100% CPU ;-) |
| 13:01 |
|
frettled |
mm |
| 13:01 |
|
wayland76 |
Well, yes, but my new desktop is going to be dual Xeon. That should solve the problem :) |
| 13:03 |
|
wayland76 |
Oh, did I say it takes 95% CPU and *also* hasn't responded in over 2 minutes? :) |
| 13:04 |
|
moritz_ |
maybe you should open less tabs :-) |
| 13:04 |
|
wayland76 |
³‘¤¾½€¼ single-threaded browsers |
| 13:04 |
|
wayland76 |
I don't know how to open less tabs, but I could open fewer tabs :) |
| 13:05 |
|
masak |
wayland76: you should see my browsers. here tabs truly are an uncountable. :) |
| 13:05 |
|
wayland76 |
Well, I only have 2 windows at the moment, with about 8 tabs each |
| 13:06 |
|
frettled |
that's not much. |
| 13:06 |
|
wayland76 |
I'm sure I've gone double that both ways (ie. quadruple tabs) in the past |
| 13:06 |
|
masak |
wayland76: I just restarted Firefox here. had to go offline, because it can't load the 2k tabs into memory all at once. |
| 13:06 |
|
wayland76 |
Yeah, I think one site has some misbehavoiur |
| 13:06 |
|
frettled |
I cleaned up my Firefox thingy the day before yesterday, went from around 130-150 tabs to 20-ish. |
| 13:07 |
|
moritz_ |
masak: maybe should queue links, not tabs? |
| 13:07 |
|
frettled |
But Firefox 3.5.x is _really_ unstable for me, no matter what I do. |
| 13:07 |
|
masak |
moritz_: well, that becomes the effect, no? :) |
| 13:07 |
|
wayland76 |
Well, I had trouble with my DVD Burner today, and rebooted, so my tabs are still low :) |
| 13:07 |
|
frettled |
masak: two thousand? holy schmoly |
| 13:07 |
|
wayland76 |
I'm actually using Seamonkey :) |
| 13:07 |
|
moritz_ |
masak: but links instead of tabs would be a bit more resource friendly |
| 13:07 |
|
masak |
frettled: I know. it's Twitter's fault. after I started using it, my number of tabs experience a net growth each day. :/ |
| 13:07 |
|
frettled |
I'm using Opera (or Safari) to view the synopses, because Firefox can't take'm. |
| 13:08 |
|
masak |
moritz_: yes. still looking for a system that does that well for me. |
| 13:08 |
|
wayland76 |
Speaking of tabs, Get FREE Cia1is Tabs NOW!!! :) |
| 13:08 |
|
frettled |
heh |
| 13:08 |
|
* masak |
doesn't even know what Cialis is |
| 13:08 |
|
frettled |
wayland76: TYVM for getting the webserver with the IRC logs spamlisted ;) |
| 13:09 |
|
frettled |
masak: it's the active ingredient in Viagra, I think |
| 13:09 |
|
wayland76 |
I think the KDE browser has the same backend as Webkit |
| 13:09 |
|
frettled |
masak: at least it seems to crop up in lots of Viagra related spam. |
| 13:09 |
|
moritz_ |
wayland76: no, KHTML vs. webkit |
| 13:09 |
|
masak |
frettled: ah, convenient -- only buying the active ingredient. |
| 13:10 |
|
frettled |
masak: hee-hee |
| 13:10 |
|
moritz_ |
they had a common source, or merged at one point, but are diverging again today |
| 13:10 |
|
wayland76 |
masak was the one who said it in cleartext :). Cialis is a drug that presumably comes in tablet form. When I was fiddling with a spam filter for an ISP years ago, we got e-mails with subject lines that bore some resemblance to what I posted |
| 13:10 |
|
frettled |
wayland76: yes, but spam filters check for the obfuscated versions, since that's what spammers use. When doctors and patients communicate, they use the real names. :D |
| 13:10 |
|
wayland76 |
moritz_: Thanks. |
| 13:10 |
|
[particle] |
frettled: it's a competitor to viagra. different company, similar drug |
| 13:11 |
|
wayland76 |
[particle]: I think it was masak that asked that :) |
| 13:11 |
|
frettled |
[particle]: aha! Now why would you know that? :D |
| 13:11 |
|
wayland76 |
"So what did you do today son?" "I hung out on #perl6 and talked about drugs" |
| 13:12 |
|
[particle] |
because i'm an american consumer, bombarded by television ads. |
| 13:12 |
|
Matt-W |
for some reason, it's also more popular as a fake drug for spammers to 'sell' |
| 13:12 |
|
wayland76 |
Btw, one thing I found while fiddling with the spam filter -- the word "specialist" contains the word "cialis" |
| 13:13 |
|
wayland76 |
And I accidentally blocked someone from sending an e-mail with the subject line "My wife needs to see a specialist" :) |
| 13:14 |
|
Matt-W |
doh |
| 13:14 |
|
Matt-W |
spam filtering is a difficult thing |
| 13:15 |
|
* masak |
always liked Graham's "A plan for spam" |
| 13:15 |
|
masak |
he makes it seem so easy! |
| 13:15 |
|
Matt-W |
yeah |
| 13:15 |
|
Matt-W |
but the spammers read it too |
| 13:16 |
|
moritz_ |
there are many words in german that contain 'sex' as a substring but have nothing to do with sex - many of them accounted for much trouble for the earliest adult filters |
| 13:17 |
|
wayland76 |
I don't get much spam. My e-mail gets filtered by both pobox.com and by my local mail provider |
| 13:17 |
|
wayland76 |
I also liked the solution to Alan Ralsky or whatever his name was |
| 13:18 |
|
frettled |
[particle]: my heartfelt sympathies -- I try to avoid looking at TV too much myself. |
| 13:18 |
|
wayland76 |
The only TV on this property is in my sister's room. And we grew up without one. A the joy of missing cultural references :) |
| 13:19 |
|
[particle] |
frettled: they air mostly during live televised sports events, of course |
| 13:19 |
|
masak |
no TV here either. |
| 13:20 |
|
frettled |
[particle]: heh :) |
| 13:20 |
|
frettled |
masak: statistical filtering has been implemented in several popular anti-spam engines for years. |
| 13:20 |
|
wayland76 |
Well, I don't like watching sport either, so I'm doubly protected :) |
| 13:20 |
|
* jnthn |
has a TV in his appartment, but only because it was there when he arrived. |
| 13:20 |
|
* wayland76 |
lends jnthn some virtual pliers :) |
| 13:20 |
|
masak |
frettled: I'm sure it has. |
| 13:21 |
|
jnthn |
I thought I'd make use of it watching the Euro football stuff last year, but in reality I couldn't find it on there and ended up streaming it over the net instead... |
| 13:21 |
|
* jnthn |
rarely watches football. Just one championship every two years. ;-) |
| 13:22 |
|
* wayland76 |
thinks football = Australian Rules Football |
| 13:22 |
|
[particle] |
fc barcelona played here last week, i went to the game. they're stunning. |
| 13:22 |
|
* jnthn |
usually watches the world cup and the european cup. |
| 13:23 |
|
jnthn |
That tends to be about it in terms of what I actively seek to watch. Of course, sometimes I'll end up in a pub showing a game... |
| 13:23 |
|
frettled |
masak: Mail::SpamAssassin is the most popular one, and predates Graham's article by around five years. CRM114 is a language for describing filters (pretty cool), but that's a bit more recently developed (2003 and onwards). There's a third one I can't recall the name of also. |
| 13:24 |
|
frettled |
Filtering spam is easy. Losing the false positives isn't. |
| 13:24 |
|
* jnthn |
peeks at the latest p6l filename literals discussion |
| 13:25 |
|
wayland76 |
Cool. I didn't know Mail::SpamAssassin predated Graham's article :) |
| 13:25 |
|
masak |
frettled: I'm no expert, but I liked the simple theory behind Graham's Bayesian filtering. that's all. |
| 13:25 |
|
frettled |
jnthn: that discussino had me confused |
| 13:25 |
|
frettled |
«discussino» - that almost looks Italian |
| 13:25 |
|
wayland76 |
confused in what way? Considering that I wrote some of it :) |
| 13:26 |
|
moritz_ |
masak: the theory is simple. The hard thing is getting the spam text to a level where you can apply the theory (decide what a word is, finding a way to efficiently store seldomly used words, transforming images into somethiing that filterable etc.) |
| 13:26 |
|
|
donaldh joined #perl6 |
| 13:26 |
|
PerlJam |
so ... one of you implemented this in perl 6? :) |
| 13:26 |
|
jnthn |
The most interesting thing I see in there so far is the ideas of a different quoting construct for filenames...so we can somehow distinguish them from strings... |
| 13:27 |
|
masak |
moritz_: ack. |
| 13:27 |
|
PerlJam |
(good $localtime btw) |
| 13:27 |
|
Matt-W |
jnthn: yes I do quite like that idea. After all, they aren't strings... although I'm not entirely sure I agree with the poster whose name escapes me who argued that we're primarily interested in the contents of a file, because you're often also interested in the presence and permissions and state of a file too |
| 13:27 |
|
* moritz_ |
wonders how we'll solve the problem that most OSs store file names as bufs, not Str |
| 13:28 |
|
frettled |
wayland76: Well, it's not entirely your fault, but the discussion immediately forked into differences between Unix and Windows, wheter to use an URL-like scheme, backslashes vs. slashes, and a meta-something about how «most people» don't need to know the filenames. |
| 13:28 |
|
|
EDevil_ joined #perl6 |
| 13:28 |
|
frettled |
Is that «explosive bikeshedding»? |
| 13:28 |
|
* PerlJam |
is reading the IO thread now |
| 13:28 |
|
jnthn |
It'd help if people could remember that there *is* no root of the filesystem on Windows. |
| 13:29 |
|
frettled |
jnthn: I also thought that the idea about a different quoting construct was interesting. |
| 13:29 |
|
jnthn |
Well, other than the empty string.. |
| 13:29 |
|
frettled |
jnthn: mm |
| 13:29 |
|
jnthn |
;-) |
| 13:29 |
|
masak |
Matt-W: I haven't heard anything about Form in quite a while. have you stopped hacking on it? |
| 13:29 |
|
frettled |
I've refrained from commenting on the mails because I don't know where to start. |
| 13:30 |
|
frettled |
Six mails, and we're already at warp 6. |
| 13:30 |
|
wayland76 |
I completely disagree with the person who commented that we're mostly interested in the contents of a file |
| 13:30 |
|
Matt-W |
masak: I haven't done anything for some time. I've sort of got a plan for the next stage, I just need to find some tuits. |
| 13:31 |
|
wayland76 |
(please await my withering reply to the IO thread :) ) |
| 13:31 |
|
frettled |
wayland76: so it's not just me, then :D |
| 13:31 |
|
moritz_ |
if we stopped painting bikesheds and sold all the paint we saved that way, we'd have enough money to hire a few full time programmers |
| 13:31 |
|
Matt-W |
jnthn: yes that would be a helpful remembering |
| 13:31 |
|
masak |
Matt-W: will it help if I alternately encourage you and prod you with something sharp? :P |
| 13:31 |
|
* Matt-W |
might write a reply to it later if he can think of a useful contribution |
| 13:31 |
|
Matt-W |
masak: I'm not sure about the prodding me with something sharp |
| 13:31 |
|
wayland76 |
masak: Use a carrot -- it can be used for both :) |
| 13:31 |
|
moritz_ |
... or retribution ;-) |
| 13:31 |
|
masak |
I'm getting a Null PMC access when running t/spec/S03-operators/autoincrement-range.rakudo |
| 13:32 |
|
frettled |
I'm thinking that too much syntax is _bad_ for this IO stuff. |
| 13:32 |
|
masak |
anyone else also get that? |
| 13:32 |
|
masak |
I'm getting it after test 33. |
| 13:32 |
|
frettled |
Adding URL classes should be avoided unless we want things to be fetched by something other than fopen()-like methods, IMO. |
| 13:32 |
|
* moritz_ |
rebuilds Test.pir to run it |
| 13:32 |
|
wayland76 |
frettled: Agree, but the special quoting construct solves the main problem in the Draft IO specs as they currently stand |
| 13:32 |
|
moritz_ |
masak: works fine here. |
| 13:32 |
|
Matt-W |
it might be nice to have a binary operator for concatenating paths |
| 13:33 |
|
Matt-W |
but that could go in with pretty much any other solution |
| 13:33 |
|
* moritz_ |
wanders off for a weekend without internet access |
| 13:33 |
|
PerlJam |
moritz_: have fun! |
| 13:33 |
|
frettled |
moritz_: enjoy! |
| 13:33 |
|
moritz_ |
thanks, you too ;-) |
| 13:33 |
|
masak |
moritz_: have a nice weekend! |
| 13:33 |
|
Matt-W |
bye moritz_ |
| 13:34 |
|
frettled |
wayland76: in what way? |
| 13:37 |
|
wayland76 |
frettled: To me, the current problem was that creating an IO::FSNode is currently ugly. Separate quoting syntax would fix that. |
| 13:37 |
|
frettled |
Aha. |
| 13:38 |
|
wayland76 |
It would also make it reasonable to put things like :e on FSNode instead of Str |
| 13:39 |
|
wayland76 |
(Which was an area in which the draft IO spec wasn't very consistent with the rest of the specs) |
| 13:39 |
|
frettled |
I agree that filenames could reasonably be a subclass of Str, with methods that are irrelevant to Str. |
| 13:39 |
|
frettled |
Then again, the methods could be role-based. |
| 13:39 |
|
wayland76 |
I'm not sure whether it should be a subclass, or a role, or a "has Str $.name" or something |
| 13:40 |
|
wayland76 |
And since I'm not sure, I'll leave that to be answered by someone more intelligent |
| 13:40 |
|
frettled |
Heh |
| 13:40 |
|
frettled |
You could raise the issue, though. |
| 13:40 |
|
frettled |
There are good arguments to be made for several of the solutions. |
| 13:41 |
|
Matt-W |
It's not a subclass of Str |
| 13:41 |
|
Matt-W |
at least not as far as I see it |
| 13:41 |
|
wayland76 |
Oh, it's already been raised by people who sound like they know what they're talking about. I haven't heard the role idea yet, but it's your idea, so I'll leave it to you :) |
| 13:41 |
|
frettled |
As long as I can do tricks on lists/arrays of strings/filehandles/whatnot, I don't mind. |
| 13:41 |
|
frettled |
wayland76: It's easy to seem to know what one's talking about. |
| 13:42 |
|
|
sri_kraih joined #perl6 |
| 13:42 |
|
frettled |
I was accused of knowing stuff about parametrized roles back at the NPW hackathon; apparently I came with some input that proved to be useful. |
| 13:42 |
|
wayland76 |
frettled: Yeah, I'm aware of that, but since I don't, I'll stick with your position (being able to join strings and filenames and stuff :) ) |
| 13:42 |
|
frettled |
:D |
| 13:43 |
|
wayland76 |
Interesting. I thought they were just for greeting people in Slovak and LOLCat :) |
| 13:43 |
|
frettled |
In Unix, filenames as strings is really easy, you just have to avoid the slash and the null byte. ; |
| 13:44 |
|
wayland76 |
jnthn: My current Rakudo (head of the ins2 branch I think) does a beautiful job of locating which line the error is on, but it doesn't tell me which file it's in. Is changing this something that is relatively easy? |
| 13:44 |
|
jnthn |
wayland76: That's odd, it normally tells if it knows. :-S |
| 13:44 |
|
wayland76 |
frettled: But how do you know which locale to apply? |
| 13:45 |
|
wayland76 |
jnthn: Ok, I'll keep that in mind as I hunt a particular bug. |
| 13:45 |
|
jnthn |
wayland76: If you can reduce to a small test case where it's missing, I'd be interested to see it and work out why it's missing a filename. |
| 13:46 |
|
jnthn |
wayland76: One thought - is it inside an eval? |
| 13:46 |
|
wayland76 |
jnthn: Have I asked you about role predeclarations yet? |
| 13:46 |
|
jnthn |
wayland76: Moze byt. ;-) |
| 13:46 |
|
wayland76 |
jnthn: Not sure -- I stopped working on the project a week or two ago for various reasons |
| 13:46 |
|
wayland76 |
Moses bites? |
| 13:46 |
|
jnthn |
wayland76: I know role Foo { ... } doesn't work yet. But if there's more than that... |
| 13:46 |
|
wayland76 |
No, that's the one |
| 13:47 |
|
jnthn |
Ah, OK. Then you probably did. :-) |
| 13:47 |
|
wayland76 |
Actually, it's all coming back. I asked. Sorry. |
| 13:47 |
|
wayland76 |
Let me ask a different question -- what part of Rakudo deals with predeclared subs? |
| 13:47 |
|
wayland76 |
(ie. matches them up with the real thing?) |
| 13:47 |
|
masak |
ah, my bug in autoincrement-range.rakudo was related to try blocks and not having ICU installed. |
| 13:47 |
|
* masak |
submits rakudobug |
| 13:47 |
|
frettled |
what else is new? :) |
| 13:48 |
|
frettled |
wayland76: locale? huh? I think I must have fallen off the wagon back there. |
| 13:48 |
|
|
carlin joined #perl6 |
| 13:48 |
|
wayland76 |
frettled: It's impossible to determine how to display a non-ASCII filename correctly unless you know the encoding/locale stuff |
| 13:49 |
|
wayland76 |
Because some are not UTF-8 :) |
| 13:49 |
|
wayland76 |
I don't know stuff about filenames, I just read part of a Tom Christiansen post on it :) |
| 13:49 |
|
Matt-W |
filenames are far more confusing than they have any right to be |
| 13:49 |
|
Matt-W |
we should certainly provide as much ease of use for them as we can |
| 13:49 |
|
PerlJam |
wayland76: Is that's like staying at a Holiday Inn Express? |
| 13:50 |
|
frettled |
wayland76: ah, displaying them, yes. |
| 13:50 |
|
* Matt-W |
works in the same building as a holiday inn express |
| 13:50 |
|
wayland76 |
frettled: you see it mentioned above wheremoritz said: moritz_ wonders how we'll solve the problem that most OSs store file names as bufs, not Str |
| 13:50 |
|
|
Front_slash joined #perl6 |
| 13:50 |
|
PerlJam |
"I'm not a doctor, but I read a diatribe about doctors by Tom Christiansen" |
| 13:50 |
|
wayland76 |
PerlJam: It might be, if I knew what the significant features of a Holiday Express Inn were :) |
| 13:51 |
|
PerlJam |
wayland76: there's these commercials where non-expert people are in expert situations, but everything is okay because they stayed at a Holiday Inn Express last night. |
| 13:52 |
|
wayland76 |
PerlJam: I'm merely pointing out that if it appears like I know stuff and have thought through the issues, it simply means that I've skimmed something by someone who has, and can parrot (pun now intended :) ) back a few phrases that I remember |
| 13:52 |
|
frettled |
wayland76: Well, «buf» isn't exactly a type in itself. But that goes back to what I said about the null byte. The null byte acts as a string terminator and thus ends the filename. Slashes (in Windows: backslashes) are semantically ingrained as directory separators, and no amount of escaping will allow them. |
| 13:52 |
|
wayland76 |
PerlJam: Well, if I had a TV and lived in the USA, I guess I'd know these things :) |
| 13:52 |
|
PerlJam |
wayland76++ way to use the laziness! |
| 13:53 |
|
wayland76 |
"Most people get good Karma for knowing things. I get it for being ignorant!" -- wayland76 |
| 13:53 |
|
wayland76 |
:) |
| 13:54 |
|
frettled |
wayland76++ |
| 13:54 |
|
wayland76 |
Please don't make me laugh wile drinking :) |
| 13:54 |
|
wayland76 |
s/wile/while/ :) |
| 13:54 |
|
PerlJam |
wayland76: perl steals all the good ideas from other languages; you steal all the good ideas from other people. Use what works. |
| 13:55 |
|
wayland76 |
Yeah, that's where my good jokes come from too :). But the puns are my own :) |
| 13:55 |
|
frettled |
Okay, Windows is a bit more complicated than Unix for filenames, since the set of prohibited characters is greater. This is why you'll see some rather interesting solutions for handling filenames with e.g. Samba. |
| 13:55 |
|
masak |
ok, next spectest issue: the following two files cause failed Parrot assertions for me: t/spec/S12-attributes/class.rakudo t/spec/S14-roles/basic.rakudo |
| 13:55 |
|
masak |
anyone else? |
| 13:55 |
|
frettled |
Yup, I'm pretty sure those failed for me. |
| 13:56 |
|
frettled |
I asked about this tonight, and I was told that they were known. |
| 13:57 |
|
frettled |
That goes for the three cases of pre-declared variables as well. |
| 13:57 |
|
frettled |
The computer I built rakudo on is 2.5 km away and in suspend mode, so I can't really check right now. :) |
| 13:58 |
|
PerlJam |
frettled: those are the same I asked about yesterday or the day before. Pm said they were known. |
| 13:58 |
|
frettled |
yup |
| 13:59 |
|
PerlJam |
frettled: the predeclared variables are on purpose because that's what the test is testing IIRC |
| 13:59 |
|
frettled |
«Yes, it's known, but it's not fixed yet. *submit*» - Bastard Submitter From Hell |
| 13:59 |
|
|
JimmyZ joined #perl6 |
| 13:59 |
|
frettled |
PerlJam: two different tests testing that? hm. |
| 14:01 |
|
* frettled |
attempts to go home. :) |
| 14:02 |
|
* wayland76 |
attempts to go to bed, although it is but two minutes past midnight :) |
| 14:04 |
|
* Matt-W |
has to wait 56 minutes to go home |
| 14:05 |
|
masak |
*cough*Form.pm*cough* |
| 14:05 |
|
Matt-W |
if I worked on that now, it would belong to my employer |
| 14:05 |
|
masak |
oh noes! |
| 14:07 |
|
Matt-W |
quite |
| 14:07 |
|
Matt-W |
so I can't |
| 14:07 |
|
PerlJam |
Matt-W: definitely do *NOT* work on Form.pm then. |
| 14:08 |
|
Matt-W |
besides, I'm trying to figure out how to write a nasty test |
| 14:08 |
|
Matt-W |
PerlJam: indeed, they wouldn't know what to do with it |
| 14:08 |
|
Matt-W |
not to mention that git is unauthorised open source software |
| 14:08 |
|
Matt-W |
which I could be fired for using |
| 14:08 |
|
PerlJam |
Matt-W: does that also mean that any code you write on #perl6 right now also belongs to your employer? :) |
| 14:08 |
|
Matt-W |
theoretically, yes |
| 14:08 |
|
PerlJam |
"fired for using git" ... /me boggles |
| 14:09 |
|
Matt-W |
it's unlikely |
| 14:10 |
|
Matt-W |
but it's in the IT policy |
| 14:10 |
|
Matt-W |
so they could if they were feeling particularly mean |
| 14:10 |
|
Matt-W |
same goes for parrot and rakudo |
| 14:10 |
|
Matt-W |
last week we got approval for... drumroll please |
| 14:10 |
|
Matt-W |
GNU Make |
| 14:10 |
|
Matt-W |
once the legal department realised that the GPL doesn't mean anything you build with the assistance of GNU Make becomes GPLed |
| 14:10 |
|
Matt-W |
which is that old FUD |
| 14:14 |
|
[particle] |
rakudo: my %h = 1 => 3; my $x = %h.delete(1); say $x |
| 14:14 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«3» |
| 14:14 |
|
|
icwiener joined #perl6 |
| 14:14 |
|
* wayland76 |
actually starts heading for bed :) |
| 14:15 |
|
PerlJam |
Matt-W: I don't think I want to see you on #perl6 during your work hours if there's a chance they'll screw you or perl6 |
| 14:15 |
|
[particle] |
rakudo: my %h = 1 => 3; my $x = %h.delete(1); my $y = $x; say $y.WHAT, $x.WHAT; |
| 14:15 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«Array()Array()» |
| 14:17 |
|
|
_jaldhar joined #perl6 |
| 14:18 |
|
|
PacoLinux joined #perl6 |
| 14:24 |
|
|
RonOreck joined #perl6 |
| 14:35 |
|
|
finanalyst left #perl6 |
| 14:37 |
|
|
tak11 joined #perl6 |
| 14:46 |
|
|
xomas_ joined #perl6 |
| 14:48 |
|
|
Psyche^ joined #perl6 |
| 14:51 |
|
|
pmurias_ joined #perl6 |
| 14:53 |
|
pmurias_ |
ruoso: do you think we could get away with loading the smop stuff by a different way the linking it in at build time? |
| 14:59 |
|
|
nihiliad joined #perl6 |
| 15:05 |
|
|
jan_ joined #perl6 |
| 15:20 |
|
|
donaldh joined #perl6 |
| 15:21 |
|
arthur-_ |
rakudo: my @a = (1,2,3); my @b = map { $_++ } @a; @b.perl.say |
| 15:21 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near "@a; @b.per"in Main (src/gen_setting.pm:3369)» |
| 15:21 |
|
arthur-_ |
map does not work ? |
| 15:22 |
|
jnthn |
arthur-_: Yes, but not with Perl 5 syntax. |
| 15:23 |
|
jnthn |
std: my @a = (1,2,3); my @b = map { $_++ } @a; @b.perl.say |
| 15:23 |
|
p6eval |
std 27988: OUTPUT«===[0mSORRY!===[0mStatements must be separated with semicolon at /tmp/fVJWhL4dtz line 1:------> my @a = (1,2,3); my @b = map { $_++ } ⏏@a; @b.perl.say expecting any of: bracketed infix infix stopper standard stopper statement |
| 15:23 |
|
p6eval |
..statement modi… |
| 15:23 |
|
jnthn |
rakudo: my @a = (1,2,3); my @b = @a.map: { $_++ }; @b.perl.say |
| 15:23 |
|
jnthn |
or |
| 15:23 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«[1, 2, 3]» |
| 15:23 |
|
jnthn |
rakudo: my @a = (1,2,3); my @b = @a.map({ $_++ }); @b.perl.say |
| 15:23 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«[1, 2, 3]» |
| 15:24 |
|
jnthn |
rakudo: my @a = (1,2,3); my @b = @a.map({ $_ + 1 }); @b.perl.say |
| 15:24 |
|
mofino |
hey I was looking at some p6 the other night, what would does the colon in :my do? |
| 15:24 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«[2, 3, 4]» |
| 15:24 |
|
mofino |
s/would// |
| 15:24 |
|
jnthn |
mofino: Did you see that inside a regex? |
| 15:24 |
|
arthur-_ |
jnthn: thx a lot |
| 15:24 |
|
jnthn |
In that case, it's just the way to make a variable declaration inside a regex. |
| 15:24 |
|
mofino |
ohh, umm, I don't think so... I'm not sure now |
| 15:24 |
|
jnthn |
Outside of them, it's just "my $foo" |
| 15:24 |
|
mofino |
ok |
| 15:24 |
|
PerlJam |
mofino: I bet you did. |
| 15:25 |
|
mofino |
yeah I had to have if that's the case :) |
| 15:25 |
|
jnthn |
If you read STD.pm, you'll have seen lots of cases of :my |
| 15:25 |
|
mofino |
ahh, that was exactly it |
| 15:25 |
|
jnthn |
:-) |
| 15:25 |
|
mofino |
so that's what was going on! |
| 15:27 |
|
frettled |
Hmm, isn't there a quick wy around this particular example without using map? |
| 15:29 |
|
masak |
rakudo: say ((1,2,3) >>+>> 1).perl |
| 15:29 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«[2, 3, 4]» |
| 15:29 |
|
* jnthn |
attempts to re-write and fix up .*, .+ and .? and eliminate a chunk of code in the process. |
| 15:33 |
|
|
_jaldhar joined #perl6 |
| 15:34 |
|
takadonet |
can you pass an action object to method parsefile? i .e Grammar.parsefile("filename",:action(Action.new)) |
| 15:34 |
|
|
morensel joined #perl6 |
| 15:34 |
|
alester |
http://perlbuzz.com/2009/08/he[…]rl-newcomers.html |
| 15:35 |
|
masak |
phenny: tell mberends t/01-simple.t in the HTTP::Daemon repo says `undef( $daemon )`, but that's a perl5ism, and Rakudo dies on it. |
| 15:35 |
|
phenny |
masak: I'll pass that on when mberends is around. |
| 15:35 |
|
alester |
One of the things I very much would like to have in perl101.org is to have each solution show both Perl 5 and Perl 6. |
| 15:35 |
|
masak |
takadonet: I don't see why not. |
| 15:35 |
|
|
KyleHa joined #perl6 |
| 15:36 |
|
takadonet |
nevermind my mistake. I misspelled the new of the Action class ..... |
| 15:36 |
|
takadonet |
s /new/name/ |
| 15:36 |
|
PerlJam |
takadonet: and rakudo didn't complain? |
| 15:36 |
|
KyleHa |
Mornin' #perl6. |
| 15:37 |
|
takadonet |
PerlJam:It did but I was not listening |
| 15:37 |
|
alester |
So what's the Perl 6 equivalent to |
| 15:37 |
|
alester |
my @stooges = qw( Larry Curly Moe Iggy ); |
| 15:37 |
|
jnthn |
takadonet: Would it help if we uppercases all error messages, so they're REALLY LOUD? |
| 15:37 |
|
alester |
It's my @stooges = <Larry Curly Moe Iggy>; |
| 15:37 |
|
alester |
right? |
| 15:37 |
|
PerlJam |
alester: yes |
| 15:37 |
|
jnthn |
alester: Yes. |
| 15:37 |
|
|
rbuels joined #perl6 |
| 15:38 |
|
takadonet |
jnthn: NO that's fine :) |
| 15:38 |
|
jnthn |
;-) |
| 15:38 |
|
alester |
So <> must no longer be glob? |
| 15:38 |
|
masak |
KyleHa: mornin' |
| 15:38 |
|
masak |
alester: correct. |
| 15:38 |
|
KyleHa |
alester: No, I don't think Iggy was a Stooge. Perhaps you're thinking of Shemp. |
| 15:39 |
|
PerlJam |
KyleHa: Iggy Pop *was* a stooge, just not the ones you're thinking of. |
| 15:39 |
|
alester |
KyleHa: I think your definition of "stooge" is a little small. |
| 15:39 |
|
KyleHa |
Nyuck nyuck nyuck! |
| 15:40 |
|
alester |
KyleHa: http://en.wikipedia.org/wiki/The_Stooges |
| 15:50 |
|
|
JimmyZ joined #perl6 |
| 15:51 |
|
JimmyZ |
masak: Maigao, there is a book <<The TIBET Code>>. |
| 15:51 |
|
masak |
JimmyZ: what's it about? |
| 15:52 |
|
KyleHa |
@seen pmichaud |
| 15:52 |
|
lambdabot |
pmichaud is in #perl6. I last heard pmichaud speak 18h 56m 52s ago. |
| 15:52 |
|
JimmyZ |
masak: The secret of Tibet |
| 15:53 |
|
|
SmokeMachine joined #perl6 |
| 15:53 |
|
JimmyZ |
masak: a novel. |
| 15:53 |
|
masak |
JimmyZ: ah. |
| 15:54 |
|
JimmyZ |
my classmate bought it. there were 7 books. |
| 15:55 |
|
JimmyZ |
I think that agree with you. |
| 15:55 |
|
masak |
thanks for the tip. |
| 15:55 |
|
masak |
I'll look into it. |
| 15:59 |
|
ruoso |
pmurias_, I think we only need to make the s0native, nagc and s1native statically into the p5 lib |
| 15:59 |
|
ruoso |
the rest can be loaded later as any other p5 lib |
| 15:59 |
|
|
tann joined #perl6 |
| 16:00 |
|
|
iblechbot joined #perl6 |
| 16:01 |
|
|
__ash__ joined #perl6 |
| 16:02 |
|
__ash__ |
if you add something to actions.pm you need to add a grammar rule right? |
| 16:02 |
|
masak |
phenny: tell mberends HTTP::Daemon crashes when trying to GET /favicon.ico -- http://gist.github.com/167912 -- apparently Parrot has gotten stricter of late with decoding UTF-8. |
| 16:02 |
|
phenny |
masak: I'll pass that on when mberends is around. |
| 16:02 |
|
masak |
__ash__: not necessarily, but since you ask, probably yes. |
| 16:03 |
|
__ash__ |
and the grammar page is top down? should i add it at the bottom if i want to add something? |
| 16:03 |
|
JimmyZ |
masak: http://www.kw2007.com/news-GBC[…]8D9C9321CC8E5.htm |
| 16:03 |
|
__ash__ |
(i am trying to find instances of 'self.Foo::bar()' or $a.Foo::bar() |
| 16:04 |
|
jnthn |
__ash__: We're generally trying to stay in line with STD.pm. |
| 16:04 |
|
jnthn |
rakudo: my $x; $x.Foo::bar() |
| 16:04 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«Method 'Foo::bar' not found for invocant of class 'Failure'» |
| 16:04 |
|
jnthn |
__ash__: We're already parsing it fine. |
| 16:04 |
|
jnthn |
__ash__: Or close enough. We just need to do something smarter with it inside actions.pm |
| 16:05 |
|
__ash__ |
oh okay |
| 16:05 |
|
__ash__ |
i wasn't sure if i needed to add a grammar rule for that |
| 16:07 |
|
__ash__ |
jnthn: so, the dotty method in actions.pm is what is handling that? |
| 16:08 |
|
jnthn |
Yes, those and the ones it calls. |
| 16:08 |
|
jnthn |
See also methodop |
| 16:08 |
|
__ash__ |
kk, thanks |
| 16:14 |
|
jnthn |
__ash__: I'm actually about to commit (provided tests pass) a small patch in that area...basically, to get $foo.*@cands and friends to work. |
| 16:15 |
|
__ash__ |
jnthn: when it's up, i'll take a look at it, so hopefully i can understand this a bit better |
| 16:17 |
|
__ash__ |
so the grammar parser regex rules are linked to actions right? generally anyway, then it translates that into perl6 code, right? |
| 16:17 |
|
jnthn |
Where you see a {*} in a grammar rule, we call the method in actions.pm with the same name. |
| 16:18 |
|
|
PacoLinux joined #perl6 |
| 16:18 |
|
jnthn |
The actions method will generally build some AST and then use make to store it. |
| 16:18 |
|
jnthn |
The .ast method gets the AST built for part of the sub-tree. |
| 16:18 |
|
jnthn |
So we're building up the AST as we parse. |
| 16:20 |
|
jnthn |
Hmm. Since the ins2 merge, it seems the "do we have icu" detection is broken, and so Rakudo is running tests that depend on it for me. |
| 16:21 |
|
|
riffraff joined #perl6 |
| 16:22 |
|
__ash__ |
make takes an AST ? so a PAST object? |
| 16:22 |
|
jnthn |
Correct. |
| 16:23 |
|
jnthn |
I wish I had an up to date version of my talk on implementing Perl 6 to point you at, alas I've not given it for almost a year so it's kinda out of date... |
| 16:29 |
|
__ash__ |
thats fine |
| 16:30 |
|
__ash__ |
i am sure i can figure it out, i am just a bit slow at times at connecting the dots |
| 16:32 |
|
jnthn |
Method invocation in Perl 6 is decidedly non-trivial once you dig into it. |
| 16:32 |
|
|
rfordinal joined #perl6 |
| 16:41 |
|
|
payload joined #perl6 |
| 16:41 |
|
alester |
whoo, the first Perl 6 content for Perl101. http://perl101.org/arrays.html |
| 16:47 |
|
PerlJam |
alester: this is starting to feel like Joseph Hall's version of perlfaq.com |
| 16:47 |
|
alester |
ok |
| 16:50 |
|
alester |
Not sure where you're going with that, PerlJam. |
| 16:57 |
|
|
kane_ joined #perl6 |
| 17:00 |
|
|
tann_ joined #perl6 |
| 17:04 |
|
|
KatrinaTheLamia joined #perl6 |
| 17:16 |
|
PerlJam |
sorry, work stuff. |
| 17:17 |
|
PerlJam |
I wasn't really going much of anywhere other than to make that observation and if you ever used the old perlfaq.com, it's probably a good thing |
| 17:18 |
|
PerlJam |
Your version of editorial control seems much better though :) |
| 17:18 |
|
pugs_svn |
r27989 | jnthn++ | [t/spec] Correct and unfudge tests for dispatches of the form $obj.*@cand. |
| 17:21 |
|
dalek |
rakudo: 58bef37 | jnthn++ | src/pmc/p6invocation.pmc: |
| 17:21 |
|
dalek |
rakudo: Detect a Null PMC Access condition that could occur and throw a more meaningful exception. |
| 17:21 |
|
dalek |
rakudo: review: http://github.com/rakudo/rakud[…]e92e166dd3d7ed5df |
| 17:21 |
|
dalek |
rakudo: 4a22048 | jnthn++ | src/ (2 files): |
| 17:21 |
|
dalek |
rakudo: Refactor method dispatch code generation so that .*@foo and other similar things are no longer an error, which passes us some more tests. Also refactor .?, .+ and .* to work in terms of primitives provided by existing dispatchers, so we can rip out a dispatch helper, which duplicated the functionality they provided. |
| 17:21 |
|
dalek |
rakudo: review: http://github.com/rakudo/rakud[…]7def72e7c242161c8 |
| 17:24 |
|
pugs_svn |
r27990 | jnthn++ | [t/spec] Some corrections to lastcall.t (currently NYI in Rakudo). |
| 17:32 |
|
|
kane_ joined #perl6 |
| 17:32 |
|
jnthn |
Hmm....actually I think lastcall.t doesn't mean what the spec does. Or the spec doesn't meant what lastcall.t does. Hmm. |
| 17:33 |
|
jnthn |
TimToady: About? |
| 17:36 |
|
TimToady |
vaguely |
| 17:37 |
|
jnthn |
TimToady: Does lastcall only apply to dispatches of the form $obj.*@cands? |
| 17:37 |
|
jnthn |
Or $obj.*foo |
| 17:37 |
|
TimToady |
it applies anywhere you could say nextsame |
| 17:37 |
|
jnthn |
That is, where we are working our way through a list of methods to dispatch to? |
| 17:37 |
|
jnthn |
Oh, so it interacts with nextsame rather than with .* ? |
| 17:37 |
|
TimToady |
it means to throw away the rest of the candidates |
| 17:38 |
|
jnthn |
Since $obj.*@cands and $obj.@cands are quite different. |
| 17:38 |
|
jnthn |
OK, so is S12-methods/lastcall.t correct? |
| 17:38 |
|
TimToady |
it's useful for anywhere .* semantics would keep oing |
| 17:38 |
|
TimToady |
*going |
| 17:39 |
|
TimToady |
looking |
| 17:39 |
|
jnthn |
OK, but $x.*@foo does not provide a candidate list in the same sense that $x.@foo does. |
| 17:39 |
|
jnthn |
In the first, we're specifying a list of methods to loop through, and building a list of captures. |
| 17:39 |
|
jnthn |
In the second, we're using it as the candidate list in place of the one that the dispatcher would construct. |
| 17:40 |
|
jnthn |
That is, the first case will normally call everything in @foo |
| 17:40 |
|
jnthn |
Whereas the second only calls more if there's an explicit nextsame/callsame/nextwith/callwith. |
| 17:40 |
|
jnthn |
I'm trying to work out how lastcall interacts with both of these. |
| 17:40 |
|
jnthn |
Or which one it interacts with. |
| 17:42 |
|
TimToady |
the doit methods must be declared multi |
| 17:42 |
|
TimToady |
but the doit Int should not go to the doit () since it cannot bind |
| 17:42 |
|
jnthn |
Yes, I fixed that locally. |
| 17:42 |
|
jnthn |
Oh, committed a few moments ago.. |
| 17:42 |
|
TimToady |
only candidates that bind can be run |
| 17:42 |
|
jnthn |
Heh. |
| 17:42 |
|
jnthn |
That's a separate problem. |
| 17:43 |
|
jnthn |
(The one I never got to asking you about at YAPC.) |
| 17:43 |
|
TimToady |
in any case, lastcall is meaningless if that would be the last method anyway, which is ordinarily the case for . dispatch |
| 17:43 |
|
TimToady |
lastcall is implied at the end of such methods |
| 17:44 |
|
jnthn |
So it only applies to .* and .+ dispatches? |
| 17:44 |
|
TimToady |
unless a next/call is issued |
| 17:44 |
|
TimToady |
yes, or maybe some hypers |
| 17:44 |
|
TimToady |
not sure |
| 17:44 |
|
TimToady |
probably not hypers |
| 17:44 |
|
TimToady |
since order is not guaranteed there anyway |
| 17:44 |
|
jnthn |
OK, you say "unless a next/call is issued"... |
| 17:44 |
|
PerlJam |
TimToady: what happens when I call nextsame at the end of the method that was invoked as $obj.meth()? |
| 17:44 |
|
jnthn |
What are the semantics of nextsame/callsame etc when there are no more candidates? |
| 17:45 |
|
jnthn |
PerlJam: It will defer to the next candidate. |
| 17:45 |
|
TimToady |
failure of some sort |
| 17:45 |
|
jnthn |
PerlJam: And whatever that next candidate returns will be the resturn value. |
| 17:45 |
|
jnthn |
TimToady: Failure as in, a failure object, not an exception? |
| 17:45 |
|
TimToady |
just as if .* found no applicable methods |
| 17:46 |
|
jnthn |
Well, that's only sort of applicable, since .* if it found nothing returns an empty list. |
| 17:46 |
|
TimToady |
we always, always try to return failure inline unless we are instructed otherwise |
| 17:46 |
|
TimToady |
okay, .? then |
| 17:46 |
|
TimToady |
though maybe that just returns Nil |
| 17:46 |
|
jnthn |
.? currently hands back a failure. |
| 17:47 |
|
jnthn |
(If there's nothing to call) |
| 17:47 |
|
TimToady |
anyway, can't chat, hafta go away for a while |
| 17:48 |
|
jnthn |
OK, so a lastcall followed by a nextsame or similar will always fail? |
| 17:48 |
|
jnthn |
OK, catch you later. :-) |
| 17:48 |
|
TimToady |
yes, I would think |
| 17:48 |
|
TimToady |
it's sort of a don'tcallsame :) |
| 17:48 |
|
jnthn |
OK, but if a previous thingy callsame'd into us, we'd still return to it? It doesn't affect candidates that have already deferred to us? |
| 17:48 |
|
TimToady |
callsame should also trim the list |
| 17:49 |
|
TimToady |
correct |
| 17:49 |
|
TimToady |
later & |
| 17:49 |
|
jnthn |
OK, so the test is incorrect in that sense. |
| 17:49 |
|
jnthn |
Thanks. :-) |
| 17:49 |
|
* jnthn |
was wondering how on earth he'd implement the semantics the test seems to call for :-) |
| 17:51 |
|
|
cdarroch joined #perl6 |
| 17:52 |
|
|
gigabo joined #perl6 |
| 18:01 |
|
|
PacoLinux joined #perl6 |
| 18:05 |
|
|
kane_ joined #perl6 |
| 18:06 |
|
|
araujo joined #perl6 |
| 18:30 |
|
|
Chillance joined #perl6 |
| 18:45 |
|
|
masak joined #perl6 |
| 18:46 |
|
masak |
I'm getting untracked files in my rakudo local checkout. they're called things like dynext/perl6_group.bundle and perl6_group.c. can I go ahead an .gitignore them? |
| 18:46 |
|
masak |
there's six of them in total, three of each kind. |
| 18:49 |
|
|
__ash__ joined #perl6 |
| 18:49 |
|
[particle] |
masak: yes, those are generated |
| 18:50 |
|
masak |
[particle]: I've already pushed a .gitignore fix, relying on the forgiveness principle. |
| 18:50 |
|
masak |
(aye, I assumed they were generated, since I didn't create them) |
| 18:50 |
|
dalek |
rakudo: d50cabc | masak++ | .gitignore: |
| 18:50 |
|
dalek |
rakudo: [.gitignore] ignore some new generated files |
| 18:50 |
|
dalek |
rakudo: review: http://github.com/rakudo/rakud[…]187ccba5f0ec35b2b |
| 18:52 |
|
masak |
tonight's quiz: Temporal::DateTime (as presently specced) or Temporal::Instant (as originally specced)? |
| 18:52 |
|
masak |
lay your votes. |
| 18:53 |
|
colomon_ |
masak: Pointer to the Temporal source? |
| 18:53 |
|
masak |
colomon_: src/setting/Temporal.pm |
| 18:53 |
|
colomon_ |
Oh! |
| 18:54 |
|
masak |
colomon_: I'm currently editing Rakudo in a local branch, and the spec in a github fork, to something I believe will be a better Temporal spec. |
| 18:54 |
|
colomon_ |
Ah. |
| 18:54 |
|
masak |
oh, and the quiz question was to be read "what do people prefer?" (and perhaps "why?") |
| 18:54 |
|
colomon_ |
Sneakily I was mostly hoping to find a good example of a Perl 6 module with tests, to see how you set it up. |
| 18:55 |
|
masak |
the s/DateTime/Instant/ substitution was done in a slightly overwhelming bikeshed-avoiding global change, much like the one I'm attempting now. |
| 18:55 |
|
colomon_ |
And perhaps that distracted me when I should have said, pointer to the Temporal specs. |
| 18:55 |
|
|
takadonet left #perl6 |
| 18:56 |
|
masak |
colomon_: is you want an example of such a module, do check out Druid. |
| 18:56 |
|
colomon_ |
Okay, I believe I can find that one. :) |
| 18:56 |
|
masak |
colomon_: oh. S32/Temporal |
| 18:56 |
|
masak |
colomon_: but as I said, I believe the spec can be better than it is today. |
| 19:00 |
|
colomon_ |
Is your Temporal::Instant visible someplace, or is the question mainly which name is better? |
| 19:00 |
|
|
gigabo left #perl6 |
| 19:01 |
|
masak |
colomon_: my question is whether I should rename Temporal::DateTime back to Temporal::Instant. |
| 19:01 |
|
pugs_svn |
r27991 | jnthn++ | [t/spec] Tests for $obj.+@foo and $obj.?@foo. |
| 19:01 |
|
masak |
here's an argument for that: it rhymes better with Temporal::Duration. |
| 19:01 |
|
masak |
here's an argument against: Perl 5 has prior art with DateTime. people will recognize it. |
| 19:02 |
|
pugs_svn |
r27992 | jnthn++ | [t/spec] Test for a bug Rakudo used to have that I just fixed; not sure anybody ever hit upon it until now. |
| 19:02 |
|
masak |
another argument against: there's already Temporal::Date and Temporal::Time, and T::DateTime better highlights what this is (even though it also wraps a Temporal::Timezone::Observance) |
| 19:03 |
|
dalek |
rakudo: 62f6082 | jnthn++ | src/classes/Object.pir: |
| 19:03 |
|
dalek |
rakudo: Fix incorrect semantics in interaction of .? and multis. |
| 19:03 |
|
dalek |
rakudo: review: http://github.com/rakudo/rakud[…]b1782152501fa0fe6 |
| 19:03 |
|
dalek |
rakudo: bae2cfa | jnthn++ | src/ (2 files): |
| 19:03 |
|
dalek |
rakudo: A very first-cut implementation of lastcall, which just trims the candidate list such that nextsame and friends will find nothing else to defer to. |
| 19:03 |
|
dalek |
rakudo: review: http://github.com/rakudo/rakud[…]964cdd216779281c5 |
| 19:03 |
|
colomon_ |
gotcha. |
| 19:03 |
|
masak |
jnthn: (re r27992) looks similar to what you showed me at YAPC::EU. |
| 19:04 |
|
jnthn |
masak: Related-ish, but not same. |
| 19:04 |
|
masak |
right. |
| 19:04 |
|
jnthn |
masak: We were obviously wrong in a place where there was an obvious answer here. |
| 19:04 |
|
masak |
I certainly haven't run into that bug. |
| 19:05 |
|
jnthn |
No, but how often do you use C<.?>? :-) |
| 19:05 |
|
|
szabgab joined #perl6 |
| 19:05 |
|
masak |
until now, not very often. |
| 19:06 |
|
masak |
I mainly see it as a replacement for the Null Object Pattern. |
| 19:06 |
|
masak |
(weaving design patterns into the language)++ |
| 19:06 |
|
jnthn |
:-) |
| 19:07 |
|
szbalint |
I'd go for Temporal::Instant, I want to subclass it as Temporal::Instant::Paradox |
| 19:07 |
|
jnthn |
masak: You'll be glad to know I removed another place that could give a Null PMC Access earlier too. ;-) |
| 19:07 |
|
masak |
that's one vote for Instant. :) |
| 19:07 |
|
masak |
jnthn: that makes me very glad indeed. |
| 19:07 |
|
jnthn |
I want to subclass it as Temporal::Instance::Coffee. |
| 19:07 |
|
jnthn |
erm, Instant |
| 19:07 |
|
jnthn |
;-) |
| 19:07 |
|
masak |
jnthn: is that another vote for Instant? :) |
| 19:08 |
|
szbalint |
masak: you'd make a good auctioneer :) |
| 19:08 |
|
jnthn |
Well, instant coffee kinda sucks compared to the fresh stuff, so I'm not sure. |
| 19:08 |
|
masak |
szbalint: as long as it's over IRC, I think I'd do pretty well. :) |
| 19:08 |
|
colomon_ |
masak: I'm not wowed by DateTime, but Instant strikes me as equally vague, so I'd stick with DateTime. Besides, I think I've typed "Instance" instead of "Instant" about three times now, and I can see I'm not the only one.... |
| 19:09 |
|
masak |
colomon_: good point. |
| 19:09 |
|
szbalint |
I liked your rl presentation in Lisbon too, you were doing okay :) |
| 19:09 |
|
jnthn |
masak: In the .Net world they call them DateTime and TimeSpan, to give you a data point. |
| 19:09 |
|
masak |
szbalint: thanks. :) |
| 19:09 |
|
frettled |
DateTime is used in (sorry to mention it, really am) Python, too. |
| 19:09 |
|
masak |
jnthn: I think I prefer Duration over TimeSpan, though. |
| 19:10 |
|
frettled |
I don't know how it's used, or why, but … :D |
| 19:10 |
|
masak |
jnthn: something about TimeSpan makes it seem it only refers to Time and not Date. |
| 19:10 |
|
masak |
frettled: did you know that #perl6 is a hate-free zone? :) you're free to mention Python here. |
| 19:10 |
|
frettled |
masak: if the methods and classes are similar to what the DateTime packages offer today, then using the same naming convention seems sane. |
| 19:10 |
|
szbalint |
yeah, in all seriousness DateTime is probably better |
| 19:10 |
|
masak |
ok, sticking with DateTime. |
| 19:11 |
|
frettled |
masak: Is pity okay? |
| 19:11 |
|
masak |
frettled: as long as it's sincere. |
| 19:11 |
|
jnthn |
masak: Yes, I agree. |
| 19:11 |
|
jnthn |
masak: I prefer Duration over TimeSpan. |
| 19:12 |
|
jnthn |
DateTime vs Instant though is a more...hmm. |
| 19:12 |
|
jnthn |
Are Instant objects meant to be mutable or not? |
| 19:12 |
|
masak |
frettled: but really, collaboration is what really distinguishes us. so if someone comes in saying "I've made a Perl 6 highlighter in Python!", we'd probably celebrate that person, instead of shunning her. |
| 19:12 |
|
frettled |
masak: yup |
| 19:12 |
|
masak |
jnthn: dunno. |
| 19:13 |
|
frettled |
masak: I'm actually quite glad to see so many things being implemented from other languages. |
| 19:13 |
|
jnthn |
ooh, my chilli is cooked |
| 19:13 |
|
* jnthn |
-> nom |
| 19:13 |
|
masak |
jnthn: the current Rakudo implementation does not have mutable objects. |
| 19:13 |
|
masak |
frettled: it's a survival mechanism, for one thing. |
| 19:14 |
|
frettled |
masak: not just that, but it's about Cool Things (well, to me) |
| 19:14 |
|
frettled |
With my computer science background (I suppose that's it, or I'm just wired that way), programming languages are in general fun. |
| 19:15 |
|
PerlJam |
frettled: I'm wired that way too :) |
| 19:15 |
|
frettled |
But I've never gotten myself to learn lisp, for instance. |
| 19:16 |
|
Tene |
From what I've seen, for many people, the process of learning lisp is more about learning to generalize existing rules than about learning new rules. |
| 19:17 |
|
masak |
yes, I've also grown to love the minutia of programming languages. Perl 6 has been part in shaping me in that form, I think. |
| 19:17 |
|
|
PacoLinux joined #perl6 |
| 19:18 |
|
mkelly32 |
hrm. so, undef isa 'Failure', which is apparently just an unthrown exception ? |
| 19:19 |
|
mkelly32 |
so, 'throw undef' is a way of just throwing a generic error? |
| 19:20 |
|
masak |
mkelly32: no, that'd be 'fail()', I think. |
| 19:20 |
|
masak |
Perl 6 doesn't really have a 'throw' function. |
| 19:21 |
|
mkelly32 |
oh, http://dev.perl.org/perl6/rfc/63.html is just an rfc, i guess |
| 19:22 |
|
masak |
says there in the URL. :) |
| 19:22 |
|
mkelly32 |
yes. but i didn't read that. just was the first google hit.. |
| 19:23 |
|
mkelly32 |
hrm. so undef is a value. but, it's also the "Use of an undefined value" exception? |
| 19:24 |
|
masak |
good question. |
| 19:24 |
|
masak |
we had one of the implementors with us just now, but he's gone nomming. |
| 19:25 |
|
masak |
so I guess the rest of us will just have to take a stab in the dark in the meantime. |
| 19:26 |
|
masak |
rakudo: my $a = undef; say $a |
| 19:26 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«Use of uninitialized value» |
| 19:26 |
|
masak |
rakudo: my $a = undef; say $a + 5 |
| 19:26 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«Use of uninitialized value5» |
| 19:26 |
|
masak |
rakudo: my $a = undef; $a++ |
| 19:26 |
|
p6eval |
rakudo 0d4fe0: ( no output ) |
| 19:26 |
|
mkelly32 |
rakudo: sub foo { fail undef } |
| 19:26 |
|
p6eval |
rakudo 0d4fe0: ( no output ) |
| 19:26 |
|
mkelly32 |
rakudo: sub foo { fail undef }; foo(); |
| 19:26 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«Use of uninitialized value» |
| 19:27 |
|
masak |
rakudo: sub foo { fail "This warning will only be shown when evaluated" }; foo; say "here:"; say foo |
| 19:27 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«here:This warning will only be shown when evaluated» |
| 19:27 |
|
masak |
I hope that last example makes things clear. |
| 19:28 |
|
mkelly32 |
so, that's for returning a "failure" value? hrm. interesting. |
| 19:29 |
|
masak |
yes, it's meant to be an orthogonal return channel. |
| 19:29 |
|
masak |
making possible both many interesting ways of success, and many interesting ways of failure. |
| 19:30 |
|
masak |
instead of only one (like Perl 5), or the other (like Unix shells). |
| 19:30 |
|
mkelly32 |
yes. interesting. |
| 19:30 |
|
mkelly32 |
so, the way to just throw an exception is still die? |
| 19:31 |
|
masak |
aye. |
| 19:34 |
|
mkelly32 |
so, i can do something like: eval { something_that_might_die() }; if ($@) { given $@ { when FilesystemError { ... } } } |
| 19:34 |
|
mkelly32 |
to handle specific error types? |
| 19:34 |
|
mkelly32 |
where FilesystemError is something that isa Failure, i guess |
| 19:35 |
|
masak |
mkelly32: no, eval {} is spelled try {} in Perl 6. |
| 19:36 |
|
masak |
mkelly32: and if you want to be semantically precise, there's a CATCH block you can use. but I think your way works too. |
| 19:36 |
|
mkelly32 |
ok. cool. |
| 19:36 |
|
masak |
the CATCH block has the advantage that it does both the 'if' and the 'given' for you by default. |
| 19:36 |
|
mkelly32 |
ok. so, it's about the same, semantics-wise, as c++? |
| 19:37 |
|
masak |
don't know about that. |
| 19:37 |
|
masak |
one difference, I think, is that here you'll find the CATCH block inside of the try block. |
| 19:37 |
|
masak |
see S04 for details. |
| 19:37 |
|
* jnthn |
back from nom |
| 19:38 |
|
|
gigabo joined #perl6 |
| 19:38 |
|
jnthn |
masak: I think I'd like to see them be immutable. |
| 19:38 |
|
masak |
jnthn: oh hai. is undef, in any sense, an exception? |
| 19:38 |
|
masak |
jnthn: ok. |
| 19:38 |
|
jnthn |
rakudo: say undef ~~ Exception |
| 19:38 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«0» |
| 19:38 |
|
jnthn |
I agree with Rakudo here. :-) |
| 19:38 |
|
mkelly32 |
masak: ok. thanks. |
| 19:39 |
|
mkelly32 |
rakudo: say undef ~~ Failure |
| 19:39 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«1» |
| 19:39 |
|
jnthn |
A failure as I see it has potential to cause an exception to be thrown if you try and use it. |
| 19:39 |
|
|
pyrimidine joined #perl6 |
| 19:39 |
|
jnthn |
(In an inapproriate way.) |
| 19:39 |
|
masak |
jnthn: so, when people say "unthrown exception", they are not referring to a kind of exception, but rather the potential for one? |
| 19:39 |
|
masak |
s/for/of/ |
| 19:40 |
|
masak |
er, or 'for'. I don't know. |
| 19:40 |
|
jnthn |
I think so. I think Failure is more of a role that gets mixed into something rather than the thingy itself. |
| 19:41 |
|
|
d4l3k_ joined #perl6 |
| 19:41 |
|
|
pyrimidine joined #perl6 |
| 19:41 |
|
jnthn |
I would not expect Failure ~~ Exception. |
| 19:42 |
|
masak |
in software, failure is the rule, not the exception. :P |
| 19:44 |
|
|
leedo joined #perl6 |
| 19:44 |
|
|
andreasg_ joined #perl6 |
| 19:44 |
|
|
broquaint joined #perl6 |
| 19:44 |
|
|
kolibrie joined #perl6 |
| 19:45 |
|
|
pjcj joined #perl6 |
| 19:47 |
|
__ash__ |
if you want to add debug information to actions.pm how would you go about that? |
| 19:48 |
|
|
justatheory joined #perl6 |
| 19:50 |
|
masak |
__ash__: so, you want to print things from NQP, is that the question? |
| 19:51 |
|
__ash__ |
yeah, basically, that would be useful, that or put a breakpoint in at compile time to figure out how its parsing a string |
| 19:51 |
|
jnthn |
Probably use Q:PIR and inside is say "foo" |
| 19:51 |
|
jnthn |
*it |
| 19:51 |
|
jnthn |
(using say("foo") from actions.pm won't end well...) |
| 19:51 |
|
masak |
no? |
| 19:52 |
|
jnthn |
No, which is kinda irksome at times. |
| 19:52 |
|
masak |
why not? |
| 19:52 |
|
jnthn |
IO.say is in the setting. |
| 19:52 |
|
jnthn |
But we use the actions.pm to compile the setting. |
| 19:52 |
|
__ash__ |
is there no way we could put a breakpoint in so at parse time on a test file it will halt possibly? |
| 19:53 |
|
jnthn |
Not unless you can work out how to get parrot_debugger to do that, but I'm afraid I've really not much idea on that. |
| 19:53 |
|
masak |
jnthn: I thought NQP had its own say. |
| 19:53 |
|
jnthn |
Do you want to see the structure of a Match object? |
| 19:53 |
|
jnthn |
masak: NQP doesn't have any built-in functions. Any that you see are supplied by Rakudo. |
| 19:54 |
|
jnthn |
__ash__: For now best way is to print some stuff. |
| 19:54 |
|
masak |
jnthn: oh! |
| 19:54 |
|
__ash__ |
whats the right way to do that? |
| 19:54 |
|
__ash__ |
and yes i do want to see the structure of a match object |
| 19:54 |
|
masak |
jnthn: even the ones in the NQP test suite? |
| 19:55 |
|
masak |
__ash__: say $/.perl |
| 19:55 |
|
__ash__ |
k |
| 19:55 |
|
jnthn |
__ash__: Also don't forget --target=parse |
| 19:56 |
|
__ash__ |
is that why i keep getting Statement not terminated properly at line 1378, near "$/.perl; ? |
| 19:56 |
|
jnthn |
? |
| 19:56 |
|
jnthn |
Oh |
| 19:56 |
|
jnthn |
No, --target=parse is a command line option you can give to Rakudo. |
| 19:56 |
|
jnthn |
Instead of compiling code, it will dump the parse tree. |
| 19:57 |
|
jnthn |
Also there's --target=past |
| 19:57 |
|
__ash__ |
okay, but when i try to compile actions.pm with the say $/.perl; in it using make it gives me that error |
| 19:57 |
|
jnthn |
Statement not terminated - is that in NQP? If so, note calls there require parens. |
| 19:57 |
|
masak |
__ash__: actually, forget my 'say $/.perl' tip, since you seem to be doing Rakudo internals and not a Perl 6 application. |
| 19:58 |
|
masak |
I think jnthn's advice applies better than mine. |
| 19:58 |
|
jnthn |
Also as mentioned before, say in actions.pm is likely going to explode when compiling the setting unless you put it somewhere obscure enough. :-) |
| 19:58 |
|
__ash__ |
okay, i think the right thing in my case is --target=parse not a say in the action.pm |
| 19:59 |
|
Tene |
you could always use 'warn' instead. |
| 19:59 |
|
Tene |
that should print to STDERR |
| 19:59 |
|
__ash__ |
do those calls work in the parse phase? |
| 19:59 |
|
jnthn |
warn may well work fine |
| 20:00 |
|
jnthn |
__ash__: Also note that you can do --target=past which will show you the PAST nodes that got built. |
| 20:00 |
|
__ash__ |
okay, is there a list of all the targets somewhere i can reference and read up on? |
| 20:02 |
|
jnthn |
docs/running.pod probably offers some info |
| 20:02 |
|
jnthn |
Thhough the only other really useful one is --target=pir |
| 20:02 |
|
jnthn |
There is a --target=post, but you almost certainly never want it. |
| 20:02 |
|
__ash__ |
k, thanks |
| 20:04 |
|
__ash__ |
--target=parse didn't work when i had a $b::Foo.bar(); call method in it, it gives Null PMC access in find_method() |
| 20:04 |
|
__ash__ |
but --target=past worked |
| 20:05 |
|
jnthn |
Odd. |
| 20:06 |
|
jnthn |
I guess you wanted $b.Foo::Bar(); |
| 20:06 |
|
jnthn |
Hmm, if I try and --target=parse just that, it works here. |
| 20:07 |
|
jnthn |
oh hmm, seems class declarations when doing --target=parse cause upset. |
| 20:09 |
|
__ash__ |
yeah i just commented out that line and it still gave me the error, so class definitions are causing that problem? |
| 20:10 |
|
masak |
so, Hash[Int] gives me a Hash with Int values, right? what if I want to type the keys, too? |
| 20:10 |
|
* masak |
too lazy to read the spec today |
| 20:10 |
|
mkelly32 |
i think hash keys are always Str() |
| 20:11 |
|
mkelly32 |
at least, if i do %foo{1}, a later look at %foo.keys tells me that that's been stringified. |
| 20:12 |
|
masak |
mkelly32: yes, but that's a limitation of current Rakudo. |
| 20:12 |
|
mkelly32 |
ah, ok. |
| 20:13 |
|
masak |
one I haven't seen mentioned in the ROADMAP, now that I think about it. |
| 20:13 |
|
frettled |
Real associative arrays allow any key value, of course. ;) |
| 20:13 |
|
masak |
my sentiments exactly. |
| 20:13 |
|
frettled |
That goes for real switch-case control blocks too. |
| 20:14 |
|
masak |
oh yes. |
| 20:15 |
|
jnthn |
masak: Hash[Int] will when implemetned mean th evalues are Ints yes. |
| 20:16 |
|
masak |
and if I want to type the keys as well? |
| 20:16 |
|
jnthn |
Actually Str as the default key type really means "the keys are coerced to strings". |
| 20:16 |
|
jnthn |
Hash[Int, :key(Foo)] I suspect. |
| 20:16 |
|
jnthn |
But syntactic sugar iirc is |
| 20:16 |
|
jnthn |
my Int %hash{Foo}; |
| 20:17 |
|
masak |
nice. |
| 20:17 |
|
masak |
makes visual sense. |
| 20:17 |
|
jnthn |
But you'd better be darn careful when making hash entries if doing this. |
| 20:17 |
|
masak |
because they'll get coerced? |
| 20:17 |
|
jnthn |
%hash<42> # oops |
| 20:17 |
|
jnthn |
gah, bad example |
| 20:18 |
|
masak |
ah, so it wasn't just me. :) |
| 20:18 |
|
jnthn |
my Int %hash{Int}; # better example here :-) |
| 20:18 |
|
jnthn |
So then |
| 20:18 |
|
jnthn |
%hash<42> = 42; # oh noes, fail, because <42> = quoted string |
| 20:18 |
|
jnthn |
Of course |
| 20:18 |
|
jnthn |
%hash{42} = 42; # is fine |
| 20:19 |
|
masak |
I don't really see that as a problem. |
| 20:19 |
|
jnthn |
I'm guessing if you declare a key type it's more a "I want this type enforced" rather than "try and coerce to this". |
| 20:19 |
|
masak |
that could even be caught at compile time, methinks. |
| 20:19 |
|
jnthn |
Which is fine, because multi-dispatch means we can declare multiple versions of a role with different signatures. :-) |
| 20:20 |
|
jnthn |
Heh. If somebody wrote a compile-time type analyzer/optimizer/checker. ;-) |
| 20:20 |
|
masak |
I've been toying with the idea. |
| 20:21 |
|
masak |
I need something to do with my copious spare time. :P |
| 20:22 |
|
jnthn |
Well, you could always blog how to do it, and hope somebody else does it. ;-) |
| 20:23 |
|
masak |
jnthn: that's true. |
| 20:24 |
|
masak |
I've experimented around enough to know how to do it. and I have a whole list of nice things to check against statically. |
| 20:24 |
|
masak |
I just need tuits, or somebody with tuits. |
| 20:24 |
|
|
simcop2387 joined #perl6 |
| 20:26 |
|
* jnthn |
hides |
| 20:27 |
|
masak |
:) |
| 20:27 |
|
masak |
I wouldn't think of burdening you with more things before April. |
| 20:27 |
|
masak |
well, besides submitting bugs, of course. there doesn't seem to be a way to stop that. |
| 20:31 |
|
__ash__ |
jnthn: should i post a bug about the --target=parse issue? |
| 20:33 |
|
jnthn |
__ash__: You can if it bothers you; I suspect it'll go away when we move to STD though. |
| 20:34 |
|
jnthn |
Or maybe even in the upcoming lexicals handling refactor. |
| 20:34 |
|
__ash__ |
if you think its doesn't need attention thats fine, i just don't want to forget about it if its an issue |
| 20:34 |
|
jnthn |
Which also involves us doing some things in a more STD-ish way. |
| 20:35 |
|
jnthn |
__ash__: I've no strong feelings either way. A ticket doesn't harm. |
| 20:36 |
|
__ash__ |
i'll put a ticket it, just so someone might remember to test it after the up coming changes (cuase i know i'll forget) |
| 20:36 |
|
jnthn |
Sure, sounds good. :-) |
| 20:37 |
|
__ash__ |
oh, a tickets in there already |
| 20:37 |
|
__ash__ |
http://rt.perl.org/rt3/Public/[…]lay.html?id=66546 |
| 20:38 |
|
jnthn |
Ah |
| 20:38 |
|
jnthn |
Thanks for checking before submitting. :-) |
| 20:38 |
|
* jnthn |
is happy that we didn't just get a dupe. |
| 20:39 |
|
jnthn |
I should really do a Rakudo Day next week and try and clear up a few tickets. |
| 20:39 |
|
frettled |
Remember: Thursdays are smiley-free, so Wednesday can be Rakudo Day! |
| 20:40 |
|
masak |
Thursdays are smiley-free? I must have missed that memo. |
| 20:40 |
|
jnthn |
Since when were Thursdays smiley-free? :-O |
| 20:40 |
|
masak |
how can you go a whole say without smileys? that sounds horrible. |
| 20:41 |
|
frettled |
http://adasociety.wordpress.com/about/ |
| 20:41 |
|
jnthn |
say "I don't know :-|" |
| 20:42 |
|
jnthn |
Woo. Now nextsame and friends fail softly. |
| 20:42 |
|
masak |
jnthn++ |
| 20:42 |
|
jnthn |
TimToady++ for telling me they should. :-) |
| 20:42 |
|
frettled |
Failing me softly with this bong ... |
| 20:42 |
|
jnthn |
...what bong? |
| 20:43 |
|
frettled |
the one mst is bound to be smoking |
| 20:43 |
|
jnthn |
Win! |
| 20:45 |
|
__ash__ |
what is the value of $/ in methodop? |
| 20:45 |
|
__ash__ |
the name of the method? |
| 20:45 |
|
[particle] |
the Match object |
| 20:45 |
|
__ash__ |
okay |
| 20:45 |
|
masak |
rakudo: multi foo(:$a!, *%_) {}; multi foo(:$b, *%_) {}; my %h = :a, :b; foo(|%h) |
| 20:46 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures::(Any :$a, Object *%_):(Any :$b?, Object *%_)in Main (/tmp/2oNxN8pfHS:2)» |
| 20:46 |
|
* masak |
submits rakudobug |
| 20:47 |
|
jnthn |
masak: is the flattening important to making the bug happen? |
| 20:47 |
|
jnthn |
rakudo: multi foo(:$a!, *%_) {}; multi foo(:$b, *%_) {}; foo(:a, :b) |
| 20:48 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures::(Any :$a, Object *%_):(Any :$b?, Object *%_)in Main (/tmp/1JICUeh8sD:2)» |
| 20:48 |
|
masak |
jnthn: no, it isn't. |
| 20:48 |
|
jnthn |
No |
| 20:48 |
|
jnthn |
OK, good. |
| 20:48 |
|
masak |
I wasn't minimal, sorry. :) |
| 20:48 |
|
jnthn |
If it were, it'd suck harder. |
| 20:48 |
|
masak |
aye. |
| 20:48 |
|
masak |
jnthn: I'm curious, do you see the bug? |
| 20:48 |
|
masak |
I missed it at first. |
| 20:49 |
|
jnthn |
They both can individually accept the parameters that are being passed. |
| 20:49 |
|
jnthn |
So they are in some sense both valid candidates. |
| 20:50 |
|
masak |
yes, that's why there's a tie. nothing strange there. |
| 20:50 |
|
jnthn |
But IIRC named params act as constraint at some level, and when we have multiple of those I think last spec updated said first wins. |
| 20:50 |
|
jnthn |
Additionally, in the signature output :$a! has lost something. |
| 20:51 |
|
masak |
here it is, shortened: |
| 20:51 |
|
masak |
rakudo: sub foo(:$a!) {}; say &foo.signature.perl |
| 20:51 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«:(Any :$a)» |
| 20:51 |
|
jnthn |
heh |
| 20:51 |
|
masak |
jnthn: yes, you got it. |
| 20:51 |
|
jnthn |
two bugs for the price of one. ;-) |
| 20:51 |
|
masak |
the first bug you mentioned, I can't really relate to. :) |
| 20:51 |
|
jnthn |
Unfortunately, they're two different fixes. :-) |
| 20:52 |
|
* jnthn |
does spectest and hacks on some tests for the fail soft semantics. |
| 20:52 |
|
masak |
does the spec really say first candidate wins among tied named-param variants? |
| 20:52 |
|
jnthn |
Oh, and lastcall. |
| 20:52 |
|
jnthn |
masak: Let me check. |
| 20:52 |
|
masak |
I'd dislike-ish that. |
| 20:52 |
|
* masak |
prefers ties |
| 20:52 |
|
* frettled |
wants his lazy lists and sparse arrays. O:-) |
| 20:53 |
|
Tene |
frettled: patches accepted. we'll even help you write them. :) |
| 20:53 |
|
frettled |
hee-hee |
| 20:53 |
|
frettled |
Somehow I knew someone would say something like that. |
| 20:54 |
|
masak |
frettled: if you knew, does that mean that you volunteered? |
| 20:54 |
|
masak |
I think it does. |
| 20:54 |
|
jnthn |
So for tiebreaker |
| 20:54 |
|
jnthn |
A the candidates are simply called in the order they were declared, |
| 20:54 |
|
jnthn |
and the first one that successfully binds (and completes without |
| 20:54 |
|
jnthn |
calling nextsame or nextwith) is considered the winner, and all the |
| 20:54 |
|
jnthn |
other tied candidates are ignored. |
| 20:55 |
|
masak |
o_O |
| 20:55 |
|
masak |
is this S06? |
| 20:55 |
|
masak |
ah, S12. |
| 20:56 |
|
* masak |
reads the whole thing about tie-breaking |
| 20:56 |
|
frettled |
masak: $@*&% |
| 20:56 |
|
jnthn |
Plus laso |
| 20:56 |
|
jnthn |
Likewise an ordinary named parameter does not participate as a tiebreaker, |
| 20:56 |
|
jnthn |
but you can mark named parameters as required to effectively make |
| 20:56 |
|
jnthn |
a switch based on named binding: |
| 20:57 |
|
jnthn |
Those both from S12 |
| 20:57 |
|
jnthn |
=head1 Multisubs and Multimethods |
| 20:57 |
|
jnthn |
Under that heading |
| 20:57 |
|
masak |
jnthn: ah, the latter one seems to apply to our bug. |
| 20:57 |
|
jnthn |
Right, it shoulda let the first one that wins, well, win. :-) |
| 20:57 |
|
masak |
yes, already found it. ack++ |
| 20:57 |
|
jnthn |
It should be an easy enough fix. |
| 20:57 |
|
masak |
urgh. |
| 20:58 |
|
masak |
but it destroys a nice property of my slides software. :/ |
| 20:58 |
|
jnthn |
I was a little surprised when TimToady decided that they'd not tie though. |
| 20:58 |
|
jnthn |
Oh? |
| 20:58 |
|
jnthn |
You have a use case that this hurts? |
| 20:59 |
|
masak |
unless the latter quote is meant to imply that adding a '!' makes nameds participate in tiebreaking... yes. |
| 20:59 |
|
Tene |
Wasn't someone here going to write to the list about .?method and .*method being harmful? |
| 20:59 |
|
Tene |
I don't see it on the list... did I miss it? |
| 20:59 |
|
masak |
Tene: you didn't miss it. I'm also waiting for it. |
| 20:59 |
|
* jnthn |
would be curious to see that one. |
| 21:00 |
|
jnthn |
masak: It means that you can add a ! to a named in order to require it. |
| 21:00 |
|
masak |
jnthn: well yes, that's immediate. :) |
| 21:00 |
|
masak |
that's what '!' does. |
| 21:00 |
|
jnthn |
And if that wasn't passed, that candidate wouldn't be bindable, so would be passed over. |
| 21:00 |
|
masak |
hm. |
| 21:01 |
|
jnthn |
We use this in traits.pm for example. |
| 21:01 |
|
masak |
but I'm not interested in the first-one-wins scenario in my application. I want ties to blow up. |
| 21:02 |
|
masak |
by the way, a t-shirt with "I want ties to blow up" on it would be kinda nice. |
| 21:05 |
|
|
jrtayloriv joined #perl6 |
| 21:06 |
|
jnthn |
A tie with it on would be even classier. ;-) |
| 21:06 |
|
jrtayloriv |
What is the status of GUI development libraries in Perl 6? I've been trying to Google with things like "Perl6 tk" and haven't had any luck ... |
| 21:06 |
|
jnthn |
masak: Well, I guess you can always raise it with TimToady and point out your use-case/expectations. |
| 21:07 |
|
jnthn |
That bit of the spec was only revised recently, after all. |
| 21:07 |
|
masak |
jrtayloriv: it's a bit earlier than the stage where you'd find it on Google. |
| 21:07 |
|
masak |
jnthn: ok. sounds good. |
| 21:07 |
|
masak |
I haven't processed the whole section in S12 yet, so I don't know if I'm affected. |
| 21:10 |
|
jnthn |
If I understand S12 correctly, then by the spec the tie you got earlier is a bug. |
| 21:10 |
|
jnthn |
And the first candidate that appeared textually in your program shoulda won. |
| 21:11 |
|
masak |
yes. |
| 21:11 |
|
masak |
I agree, though I didn't know that when I typed in that program. |
| 21:11 |
|
jnthn |
If you wanted them to tie, then I think that's not what is currently spec'd, but I think the spec indicated otherwise previously. |
| 21:11 |
|
masak |
but that has almost nothing to do with the use case in my slides software. |
| 21:11 |
|
masak |
there, I have only multies with required nameds. |
| 21:12 |
|
jnthn |
Is "first wins" a problem there? |
| 21:12 |
|
jnthn |
That is, first that has its signature satisfied? |
| 21:12 |
|
masak |
that's my question, essentially. |
| 21:12 |
|
masak |
if it isn't then, I'm happy. |
| 21:12 |
|
masak |
s/ then,/, then/ |
| 21:13 |
|
jnthn |
rakudo: multi foo(:$a!) { say 1 }; multi foo(:$b!) { say 2 }; foo(:a); foo(:b); |
| 21:13 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«12» |
| 21:13 |
|
masak |
\o/ |
| 21:13 |
|
jnthn |
Does that example capture what you want? |
| 21:13 |
|
masak |
aye. |
| 21:13 |
|
masak |
well, |
| 21:13 |
|
masak |
rakudo: multi foo(:$a!) { say 1 }; multi foo(:$b!) { say 2 }; foo(:a, :b) |
| 21:13 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«No applicable candidates found to dispatch to for 'foo'in Main (/tmp/WAUvtLCP7e:2)» |
| 21:13 |
|
jnthn |
OK, that example is correct by Rakudo and the sepc. |
| 21:13 |
|
masak |
that one does. |
| 21:13 |
|
jnthn |
That is also correct by the spec. |
| 21:14 |
|
masak |
excellent. |
| 21:14 |
|
jnthn |
However, note that if they had been multi-methods it'd have been a different story. |
| 21:14 |
|
jnthn |
Because they can an implicit *%_ |
| 21:14 |
|
masak |
oh noes! :) |
| 21:14 |
|
masak |
how do I get rid of the implicit *%_ ? |
| 21:14 |
|
jnthn |
rakudo: class C { multi method foo(:$a!) { say 1 }; multi method foo(:$b!) { say 2 }; }; C.foo(:a, :b) |
| 21:14 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«1» |
| 21:15 |
|
jnthn |
huh, Rakudo gets that one right... |
| 21:15 |
|
masak |
ok, then I'm in trouble again. |
| 21:15 |
|
jnthn |
Get rid of it like... |
| 21:15 |
|
jnthn |
(this should work...) |
| 21:15 |
|
jnthn |
rakudo: class C { multi method foo(:$a!) is hidden { say 1 }; multi method foo(:$b!) is hidden { say 2 }; }; C.foo(:a, :b) |
| 21:15 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«No applicable candidates found to dispatch to for 'trait_mod:is'in Main (/tmp/ICAqe1ZgZ5:2)» |
| 21:15 |
|
jnthn |
oh, wait a moment |
| 21:15 |
|
masak |
'is hidden'? :) |
| 21:15 |
|
jnthn |
rakudo: class C is hidden { multi method foo(:$a!) { say 1 }; multi method foo(:$b!) { say 2 }; }; C.foo(:a, :b) |
| 21:15 |
|
p6eval |
rakudo 0d4fe0: OUTPUT«No candidates found to invokein Main (/tmp/3bPRKQjxQ7:2)» |
| 21:16 |
|
jnthn |
That one. |
| 21:16 |
|
masak |
great. |
| 21:16 |
|
jnthn |
is hidden = hide this class from being deferred into. |
| 21:16 |
|
jnthn |
But as a side-effect, do not add the *%_ |
| 21:16 |
|
jnthn |
See S12 under Interface Consistency. |
| 21:16 |
|
masak |
yep, found it. |
| 21:17 |
|
jnthn |
Rakudo doesn't (yet) do all of that. |
| 21:17 |
|
jnthn |
Working on it. |
| 21:17 |
|
masak |
ah, I think I glean the connection between *%_ and C<nextsame> semantics. |
| 21:17 |
|
masak |
jnthn++ |
| 21:18 |
|
|
justatheory joined #perl6 |
| 21:21 |
|
jnthn |
oh gah, one of my shiny new lastcall.t tests fails. |
| 21:22 |
|
|
Whiteknight joined #perl6 |
| 21:23 |
|
jnthn |
masak: Answer to earlier question: |
| 21:23 |
|
jnthn |
$P0 = root_new ['parrot';'Exception'] |
| 21:23 |
|
jnthn |
$P0['message'] = message |
| 21:23 |
|
jnthn |
$P1 = new ['Failure'] |
| 21:23 |
|
jnthn |
setattribute $P1, '$!exception', $P0 |
| 21:24 |
|
masak |
jnthn: a, so has-a, not is-a. |
| 21:24 |
|
jnthn |
masak: Right. |
| 21:32 |
|
pugs_svn |
r27993 | jnthn++ | [t/spec] Correct and extend lastcall tests. |
| 21:34 |
|
jnthn |
std: is foo($obj:), 'method', 'method with colon notation'; |
| 21:34 |
|
p6eval |
std 27992: OUTPUT«Potential difficulties: Variable $obj is not predeclared at /tmp/j8VwR19zTq line 1:------> is foo($obj⏏:), 'method', 'method with colon notatiUndeclared routine: is used at 1 ok 00:03 39m» |
| 21:35 |
|
jnthn |
std: my $obj; foo($obj:); |
| 21:35 |
|
p6eval |
std 27992: OUTPUT«ok 00:02 39m» |
| 21:35 |
|
jnthn |
std: my $obj; foo($obj); |
| 21:35 |
|
p6eval |
std 27992: OUTPUT«Undeclared routine: foo used at 1 ok 00:02 37m» |
| 21:35 |
|
jnthn |
Heh. So you can make a method call that way, huh. |
| 21:37 |
|
|
nihiliad joined #perl6 |
| 21:39 |
|
jnthn |
Ah, that gets a bunch easier to fix for Rakudo once we have contextuals supported in grammars. |
| 21:39 |
|
|
synth joined #perl6 |
| 21:42 |
|
pugs_svn |
r27994 | kyle++ | [t/spec] More revisions of past tests |
| 21:42 |
|
dalek |
rakudo: 4245753 | jnthn++ | src/ (3 files): |
| 21:42 |
|
dalek |
rakudo: Make deferal failures into a kind of soft fail rather than an exception. |
| 21:42 |
|
dalek |
rakudo: review: http://github.com/rakudo/rakud[…]f783392a8938914b4 |
| 21:42 |
|
dalek |
rakudo: a0082a8 | jnthn++ | t/spectest.data: |
| 21:42 |
|
dalek |
rakudo: Add lastcall.t to spectest.data. |
| 21:42 |
|
dalek |
rakudo: review: http://github.com/rakudo/rakud[…]b308ba85a2ce2444e |
| 21:42 |
|
|
eMaX joined #perl6 |
| 21:43 |
|
Tene |
Mmm, tests. |
| 21:43 |
|
szbalint |
hm, an euler problem solution is about 13500 times slower in rakudo than in p5. PIR is about 15 times slower. What are the biggest points of slowness in rakudo if anyone would have time to enlighten me :) |
| 21:43 |
|
szbalint |
? |
| 21:44 |
|
|
colomon joined #perl6 |
| 21:45 |
|
jnthn |
szbalint: Signature binding is very slow in Rakudo. |
| 21:45 |
|
colomon |
masak: Thanks for the tip to look at Druid. I now have a crude but working test script going. |
| 21:45 |
|
alester |
szbalint: Without seeing your code, we can't tell for sure. It could be that your code is done incorrectly fro Perl 6. |
| 21:45 |
|
masak |
colomon: glad to have been of help. |
| 21:46 |
|
colomon |
masak++ |
| 21:46 |
|
jnthn |
szbalint: Another thing is, did you use int or num registers in Parrot? Rakudo doesn't know how to use those yet. |
| 21:46 |
|
szbalint |
alester: http://github.com/perl6/perl6-[…]/prob004-unobe.pl # with the first reverse switched to flip |
| 21:46 |
|
jnthn |
Beyond that, I'd want to see the Perl 6 code, but also - in a couploe of weeks I guess - to run it under the profiler than chromatic++ and cotto++ are currently beavering away at. |
| 21:47 |
|
szbalint |
jnthn: yeah, int in the PIR version |
| 21:48 |
|
jnthn |
Hmm |
| 21:48 |
|
jnthn |
It isn't calling too much though.. |
| 21:48 |
|
jnthn |
Well, I guess the grep block. |
| 21:52 |
|
jnthn |
szbalint: Anyway, best is to hold on for us to have good profiling support. |
| 21:52 |
|
jnthn |
Which is being actively worked on a the moment. |
| 21:52 |
|
jnthn |
Then we'll really know, rather than guessing. :-) |
| 21:53 |
|
szbalint |
a profiler is good news :) |
| 21:54 |
|
alester |
do we still need testing on ins2 branch? |
| 21:55 |
|
jnthn |
alester: No - it's been merged to trunk. |
| 21:55 |
|
alester |
yay |
| 21:56 |
|
alester |
AND we build from an installed Parrot now |
| 21:56 |
|
jnthn |
Yup. :-) |
| 21:58 |
|
alester |
POD is going to be deifferent in Perl 6 enough that I should probably start pod6.vim, eh? |
| 21:59 |
|
alester |
I'm adding pod.vim to the vim-perl project |
| 22:00 |
|
cotto |
"beavering"? |
| 22:01 |
|
jnthn |
cotto: British English slang for something like "busily working" |
| 22:01 |
|
szbalint |
labouring? |
| 22:02 |
|
jnthn |
As in, lots of effort going in to it. :-) |
| 22:02 |
|
jnthn |
I guess that bit of slang doesn't cross the pond. :-) |
| 22:02 |
|
jnthn |
There's a chance it could just be Yorkshire slang too, I guess... |
| 22:03 |
|
cotto |
I figured, but it sounds like it could mean something different. |
| 22:03 |
|
cotto |
like making hats |
| 22:04 |
|
masak |
I think those two meanings can be distinguished easily by context. |
| 22:04 |
|
* jnthn |
wasn't aware of the "making hats" meaning of it |
| 22:04 |
|
cotto |
Sorry. I forgot to set the sarcasm bit on that. |
| 22:04 |
|
masak |
:) |
| 22:05 |
|
* cotto |
gets back to beavering |
| 22:07 |
|
* jnthn |
tries to get a bit further along with hides Foo and is hidden |
| 22:08 |
|
|
M_o_C joined #perl6 |
| 22:14 |
|
mikehh |
rakudo (a0082a8) builds on parrot r40549 - make test/make spectest (up to 27994) PASS - Ubuntu 9.04 amd64 |
| 22:23 |
|
|
jferrero joined #perl6 |
| 22:28 |
|
|
pyrimidine left #perl6 |
| 22:30 |
|
|
diakopte1 joined #perl6 |
| 22:30 |
|
|
TimToady joined #perl6 |
| 22:35 |
|
dalek |
rakudo: e5d0a37 | jnthn++ | src/parser/actions.pm: |
| 22:35 |
|
dalek |
rakudo: Fix up code generation for hides trait_mod. |
| 22:35 |
|
dalek |
rakudo: review: http://github.com/rakudo/rakud[…]f9c392cc985b4b393 |
| 22:35 |
|
dalek |
rakudo: 1a5c5f3 | jnthn++ | src/ (2 files): |
| 22:35 |
|
dalek |
rakudo: Implement trait_mod:<hides> and a trait_mod:<is> for is hidden, plus add some attributes in ClassHOW that we'll use to track these. |
| 22:35 |
|
dalek |
rakudo: review: http://github.com/rakudo/rakud[…]984439ac863655054 |
| 22:35 |
|
dalek |
rakudo: 637d803 | jnthn++ | src/ (2 files): |
| 22:35 |
|
dalek |
rakudo: Make sure we also emit a call to trait_mod:<is>($class, :hidden), even though it also has some compiler side-effects (like suppressing *%_). |
| 22:35 |
|
dalek |
rakudo: review: http://github.com/rakudo/rakud[…]515bf2c5bccc4e959 |
| 22:38 |
|
jnthn |
OK, that's all for today folks. Hopefully, will finish up hides and is hidden tomorrow, plus some blogging, maybe some traits hacking... :-) |
| 22:40 |
|
|
KyleHa joined #perl6 |
| 23:00 |
|
|
Avada joined #perl6 |
| 23:07 |
|
|
unitxt_ joined #perl6 |
| 23:21 |
|
|
avi2702 joined #perl6 |
| 23:29 |
|
|
wknight8111 joined #perl6 |
| 23:48 |
|
cognominal |
augment is the new "is also"? |
| 23:52 |
|
|
tak11 joined #perl6 |
| 23:54 |
|
cognominal |
apparently it is to be able to distinguish between "augment" and "supersede" |
| 23:55 |
|
|
frew joined #perl6 |