The topic for #perl6 is: pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, elf: etc.) (or perl6: for all) | irclog: irc.pugscode.org/
Set by TimToady on 25 November 2008.
rakudo_svn r33784 | tene++ | [rakudo]: Fix the ordering of multiple CATCH blocks in a block. 00:00
00:05 mncharity joined 00:11 araujo joined
mncharity moritz_: re "Mitchell Charity updated the Elf homepage and continued his work on bootrapping Elf on Common Lisp.", well, not quite. Wiki updated, yes. But the CL backend is inactive until either there's an additional developer, or the front-end gets bootstrapped (ie, elf runs STD.pm) and various other things happen. 00:12
00:13 broquaint left, broquaint joined 00:17 vixey left
mncharity re "It's beginning to look a lot like Christmas..." blog entry, sigh. very long sigh. 00:18
Tene why? 00:20
mncharity Part of the difficulty of attracting developers to p6 is n years of throwing away any fragment of credibility in progress and status reporting.
00:23 ChrisDavaz left
jnthn mncharity: What makes it not credible? 00:24
mncharity Perhaps Boston.pm isn't representative, but saying p6 status reports are given zero credibility would I think be an entirely uncontroversial observation.
jnthn It acknowledges the progress that is being made, while still saying that "we're still a good distance from an true Perl 6 release".
Moreover, it clearly states *what* progress has been made. 00:25
I think anyone claiming "we'll certainly ahve a release in year X" can be dismissed as uncredible at this point, sure. 00:26
But this report doesn't do anything like that.
mncharity jnthn: "It's beginning to look a lot like Christmas..."
It's the title I find problematic, rather than the contents.
jnthn If the title is taken in isolation from the contents, I guess I can see room for misunderstanding. 00:28
mncharity Current state doesn't at all resemble Christmas. It most resembles what pugs was doing three years ago. Great progress, yay. But very very far from a release. Or a release candidate. Or anything remotely associated with a release. We're still in development toy mode. 00:29
Pugs three years ago didn't resemble Christmas. Neither does parrot today. I didn't mean to flame. But... given parrot/p6 history, we really need to be bending over backwards to give people high-integrity descriptions of where we're at. If we care about folks believing us at all. 00:32
00:38 broquaint left, broquaint joined 00:42 elmex left 00:43 eternaleye joined 00:45 DemoFreak left 00:54 apeiron left 00:59 apeiron joined
meppl good night 01:00
01:02 eternaleye left 01:03 meppl left 01:21 felipe left 01:26 LimbicRegion joined
mncharity parrot: ("bac" ~~ /a/).perl 01:39
rakudo: ("bac" ~~ /a/).perl
p6eval rakudo 33784: OUTPUT[Method 'perl' not found for invocant of class 'PGE;Match'ā¤current instr.: '_block11' pc 40 (EVAL_13:19)ā¤]
mncharity rakudo: ("bac" ~~ /(a)/)[0] 01:40
p6eval rakudo 33784: RESULT[Method 'perl' not found for invocant of class 'PGE;Match'ā¤current instr.: '_block11' pc 29 (EVAL_13:16)ā¤]
mncharity rakudo: ("bac" ~~ /(a)/).WHAT 01:41
p6eval rakudo 33784: OUTPUT[Null PMC access in get_integer()ā¤current instr.: 'parrot;PGE;Match;get_bool' pc 504 (compilers/pge/PGE/Match.pir:328)ā¤]
mncharity rakudo: ("bac" ~~ /(a)/).[0]
p6eval rakudo 33784: RESULT[Method 'perl' not found for invocant of class 'PGE;Match'ā¤current instr.: '_block11' pc 29 (EVAL_15:16)ā¤]
mncharity ("bac" ~~ /(a)/).[0].Str
rakudo: ("bac" ~~ /(a)/).[0].Str
p6eval rakudo 33784: OUTPUT[Method 'Str' not found for invocant of class 'PGE;Match'ā¤current instr.: '_block11' pc 58 (EVAL_15:22)ā¤]
mncharity rakudo: ("bac" ~~ /(a)/).[0] ~ ""
p6eval rakudo 33784: RESULT["a"]
mncharity rakudo: ("bac" ~~ /(a)/).{0}~ "" 01:42
p6eval rakudo 33784: OUTPUT[Use of uninitialized valueā¤]
01:44 Limbic_Region left, LimbicRegion is now known as Limbic_Region
mncharity rakudo: ("bac" ~~ /<ident>/).{'ident'}~ "" 01:50
p6eval rakudo 33784: RESULT["bac"]
01:50 eternaleye joined 01:56 dukeleto joined
rakudo_svn r33785 | tene++ | [rakudo]: Create a protoobject for Exception 02:10
02:15 pasteling left 02:17 pasteling joined 02:29 pasteling left 02:30 pasteling joined 02:39 mncharity left 02:42 pasteling left 02:43 pasteling joined 03:11 Psyche^ joined 03:22 Patterner left, Psyche^ is now known as Patterner
rakudo_svn r33789 | tene++ | [rakudo] 03:40
r33789 | tene++ | * More fixups for the Exception class
r33789 | tene++ | * Add a :multi(Exception) for the 'die' op
03:41 Minthe joined 04:05 notbenh joined
rakudo_svn r33790 | chromatic++ | [Rakudo] Fixed a typo in an exception message. 04:20
04:26 rhr_ joined 04:31 Limbic_Region left 04:39 rhr left
pugs_svn r24254 | leto++ | Unfudged passing CATCH test for Rakudo 04:43
dukeleto w00t
Minthe Excuse me, but does pugs-svn run fine? 04:44
pmichaud dukeleto++ 04:45
Minthe I built r19955 with GHC 6.6.1 and it worked fine, but when I tried to build r22??? using GHC 6.8.2 it failed to start.
Is the issue fixed?
04:55 dukeleto left 04:59 araujo left
rakudo_svn r33791 | chromatic++ | [Rakudo] PDX.pm added a basic implementation of warn to Rakudo. This will need 05:00
r33791 | chromatic++ | revision when HLLCompiler and/or Rakudo supports a top-level exception handler.
05:11 notbenh left 05:17 Minthe left 05:29 azawawi joined
azawawi ping 05:38
lambdabot azawawi: You have 1 new message. '/msg lambdabot @messages' to read it.
azawawi @tell moritz_ will move it to misc asap.... i was wondering where to place it. 05:39
lambdabot Consider it noted.
05:49 ozy` joined
pugs_svn r24255 | azawawi++ | [Perl6::Highlight] moved from src/perl6/lib/ to misc/, moritz_++ 05:55
r24256 | azawawi++ | [Perl6::Highlight] Removing unneeded files committed by mistake. 05:59
06:09 notbenh joined 06:11 ashizawa joined 06:19 ozy` left 06:21 notbenh left 07:03 adc_penner joined 07:12 mberends joined 07:15 DemoFreak joined 07:18 sri_kraih joined 07:57 iblechbot joined 08:12 justatheory joined 08:13 magnarjg joined 08:19 aartist left 08:27 araujo joined 08:34 riffraff joined 08:44 azawawi left 08:45 stephens left 08:54 dukeleto joined, justatheory left 09:05 dr_df0 joined 09:29 felipe joined 09:32 adc_penner left 09:37 alexn_org joined 09:41 azawawi joined 09:49 riffraff left 10:16 kisu joined 10:28 elmex joined 10:43 ruoso joined 10:59 meppl joined 11:14 masak joined
masak has backlooged a bit 11:35
I agree with mncharity's sentiment.
azawawi which is? ;-) 11:36
hi masak
masak azawawi: hi
azawawi: irclog.perlgeek.de/perl6/2008-12-11
it's difficult to walk the line between pride/happiness over progress and creating too high expectations outside of the community. 11:37
add to that the fact that Perl 6 has been... a bit of a wait so far.
azawawi btw, which is the blog entry '...beginning to look a lot like Christmas' ?
masak azawawi: I'll get it for you.
use.perl.org/~pmichaud/journal/38058 11:38
11:38 xinming_ joined
azawawi is reading it... 11:38
thx
11:38 xinming left
masak I think that the phrase is not difficult to understand in context, but the dangerous thing might be that outsiders don't have that context. 11:39
(btw, I've been guilty of exactly the same sin, saying "Christmas is really close, you can feel it" in a filmed lightning talk) 11:40
11:40 xinming_ is now known as xinming, magnarjg left
masak but mncharity is right, we're really just at the beginning of a fairly long process. 11:41
azawawi oh well, baby steps ;-)
masak it's not the baby steps that are the problem.
it's keeping the external expectations at an appropriate level.
azawawi that's why i said baby steps... ;-) 11:42
release often...
masak azawawi: aye. I wish people were more aware of that.
it's very hard to take the word "vapourware" in one's mouth when one is aware of the monthly releases. 11:43
azawawi im working on Perl6::Highlight cpan module atm
masak azawawi++
azawawi i was also reading ovid's use.perl.org/~Ovid/journal/38010 in the morning 11:44
masak hadn't seen that yet 11:45
ruoso later & 11:47
11:47 ruoso left
masak food & 11:49
11:49 masak left 11:53 dr_df0 left 12:05 vixey joined
pugs_svn r24257 | azawawi++ | [Perl6::Highlight] Added missing jquery 1.2.6 to package 12:07
r24257 | azawawi++ | [Perl6::Highlight] Moved STD.pm required files into lib/Perl6
r24257 | azawawi++ | [Perl6::Highlight] Updated Perl6::Highlight structure and pod docs
r24257 | azawawi++ | [Perl6::Highlight] Added initial methods and constructor (not implemented yet)
r24257 | azawawi++ | [Perl6::Highlight] Updated cpan module dependencies in Makefile.PL
r24258 | azawawi++ | [Perl6::Highlight] SVN-ignored generated files 12:13
12:18 masak joined
pugs_svn r24259 | azawawi++ | [Perl6::Highlight] Moved STD.pm required p5 files to lib/ 12:25
masak perl6: +(a => 2) 12:37
p6eval pugs: RESULT[2]
..elf 24259: RESULT[2ā¤]
..rakudo 33797: OUTPUT[get_number() not implemented in class 'Perl6Pair'ā¤current instr.: 'prefix:+' pc 16648 (src/builtins/op.pir:111)ā¤]
masak is the aboce specced?
s/c/v/
12:38 Lorn joined
masak perl6: +(a => 42) 12:39
p6eval pugs: RESULT[2]
..elf 24259: RESULT[2ā¤]
..rakudo 33797: OUTPUT[get_number() not implemented in class 'Perl6Pair'ā¤current instr.: 'prefix:+' pc 16648 (src/builtins/op.pir:111)ā¤]
masak seems Pugs and Elf just numify to the number of items in a pair (2). 12:40
one could imagine numifying to the value instead, for example. 12:41
masak asks p6l 12:45
jnthn masak: I can't recall reading anything on that. 12:46
masak neither
jnthn: needs tests eventually too, I guess.
jnthn Yes, once there's a spec.
masak but I'll start with p6l.
jnthn :-)
masak just realized that he could theoretically add something to the spec at this very moment 12:50
hm, with great power comes great responsibility. 12:51
I could introduce COMEFROM into the Perl 6 spec! :> that'd be eclectic.
masak cackles evilly 12:52
jnthn I could use svn revert for the first time shortly afterwards. :-P
12:52 iblechbot left
jnthn masak: Do it as a module. ;-) 12:52
use IntercalsInsaneFeatures;
masak jnthn: aye. :)
masak is really studying Chinese Literature today -- just easily distracted 12:53
jnthn svn.pugscode.org/pugs/docs/Perl6/Spec/ - this is where the Perl 6 spec lives now, right?
masak aye 12:54
jnthn Has the proposed use of the other numbers been put somewhere in the Pugs repository?
masak knows not
jnthn doesn't see it 12:55
masak in some sense, it's kind of appropriate that Pair numifies to 2 :)
it's almost a bit funny.
I'm also thinking that it might sometimes be useful and "expected" 12:56
but I cannot think of an actual piece of code that exemplifies this.
jnthn If you see a pair as a kinda tuple and a tuple as a kinda list... :-) 12:58
masak mm
but does that mean that you need a 2 to fall out of it sometimes?
jnthn Well, that line of thinking is perhaps more a consistency than a DWIM argument. :-) 12:59
masak it is.
is it surprising if (switch => False) numifies to 2? 13:00
people won't be surprised by [False, False, False] numifying to 3. 13:01
jnthn I'm not sure what the obvious answer is. 13:02
masak if 2 is the consistency answer, is there an obvious DWIM answer? 13:03
masak is leaning towards the pair value
perl6: say [min] (1,2,3) 13:13
p6eval elf 24259: OUTPUT[Parse error in: /tmp/PwbigUqbiyā¤panic at line 1 column 0 (pos 0): Can't understand next input--giving upā¤WHERE: say [min] (1,2,3)ā¤WHERE:/\<-- HEREā¤ STD_red/prelude.rb:99:in `panic'ā¤ STD_red/std.rb:76:in `scan_unitstopper'ā¤ STD_red/std.rb:224:in `comp_unit'ā¤
..STD_red/std.rb:210...
..pugs: OUTPUT[*** ā¤ Unexpected "("ā¤ expecting operator, ":" or ","ā¤ at /tmp/d2tK1YmCol line 1, column 11ā¤]
..rakudo 33797: OUTPUT[Statement not terminated properly at line 1, near "(1,2,3)"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤]
masak did I misunderstand the use of &min? 13:23
pmichaud min isn't implemented in rakudo yet, apparently. 13:26
I probably shouldn't have used it in my post, then.
masak sounds like low-hanging fruit.
pmichaud it is, somewhat. 13:27
the problem is getting the default min value in place
so that [min] () works
because we don't have +Inf yet
masak nod
pmichaud for now, though, let's go ahead and use zero 13:28
masak as long as there are tests for +Inf, that's fine I guess
pmichaud right.
here's my comment for those who didn't like the title of my "looking like Christmas" post 13:29
Your point is well-taken. On the other hand, my experience has been that even the "well reasoned" posts are invariably met with cries of "Perl 6 will always be vaporware" and "Parrot is a waste of time" and the like. To preserve my own sanity (and -Ofun), I've decided to not worry too much about preaching to that choir. (more) 13:31
For now, I'm going with the theory that "working code" is really the only way to handle any naysayers, and let expectations fall out of that. If we don't have working code, then the naysayers are right. If we have working code but the naysayers want to focus on the years that we didn't, that's not useful or important to me. 13:34
masak pmichaud++ 13:35
at one point, the #perl6 topic linked to an image with a text along the lines of 'The best way to make a paradigm shift happen is to have so much fun that other people simply cannot spare to ignore you.' I liked that.
13:37 renormalist joined
masak I agree that there are probably unchangeable naysayers out there. a more interesting question is how to make converts of people who haven't heard of Perl 6 yet. 13:39
pmichaud so, when something happens that I think is worth blogging about (and I think there will continue to be a lot of this), I'm going to give my best account of it and let things go from there. The fact that there were a lot of broken claims in the past really shouldn't stop us from touting our successes in the present. 13:40
13:40 Caelum left
pmichaud masak: I think it'll start to happen naturally, as people (re)discover Perl's expressiveness and how easy it is to do things in this new language. 13:41
moritz_ jnthn: the proposed numbers of the specs can be seen on perlcabal.org/syn/
lambdabot moritz_: You have 1 new message. '/msg lambdabot @messages' to read it.
pmichaud _especially_ the grammar and regex stuff.
masak pmichaud: yes, I think so too. I'm glad I'm an early adopter in this case -- that's what I want to get through in most of my blog posts. 13:42
moritz_ has received an email of acceptance for his talk "Perl 6 Rulez" (German Perl Workshop 2009), which will use only examples that work right now (or then, march 2009) in rakudo
pmichaud and yes, it's those blog posts of "here's what I'm able to do with Perl" (both *5* and *6*) that will start to spark interest and enthusiasm about Perl again. 13:43
azawawi moritz_++
masak moritz_: nice title. :)
pmichaud (phone)
I just submitted my abstract for a similar talk at Frozen Perl
azawawi moritz_: maybe now you can use --snippet-html mode in STD_syntax_highlight
13:43 ashizawa left
moritz_ azawawi: I will, probably :-) 13:44
I'll develop a basic grammar for XML, and introduce the regex features on the way
pmichaud moritz++ 13:45
masak nice.
pmichaud my talk is going to be a introduction to Perl 6 with working code examples
masak wonders if it would be possible to write a SAX parser with {*} actions 13:46
pugs_svn r24260 | azawawi++ | [Perl6::Highlight] more fixes and tests nothing fancy...
moritz_ it would be very nice to have parametric regexes working by then (ie regexes that take arguments), but it's definitively not a requirement 13:47
azawawi moritz_: and maybe highlighted regexps ;-)
moritz_ wonders if he should start giving Perl 6 answers on perlmonks.org 13:48
masak moritz_: sure, why not?
moritz_ masak: it's hard to get IO think right atm, because it's mostly underspecced 13:49
masak true. I've felt some of that lately, developing that board game.
TSa thinks a pair should numify to the numification of its value. 13:51
sometimes I think I think so too. :)
moritz_ that can easily be achieved with ~+$pair, of course (and so pretty...) :-) 13:52
uhm, ~+$pair.value
masak why both ~ and + ?
what does that acheive? 13:53
moritz_ ~ is the stringification
masak I know.
moritz_ if you want to force it, that is
if you have string context anyway, you can omit iit
pmichaud my initial impression is that +Pair should do its value also 13:54
masak but why would you want to stringify after numifying? I don't get it.
moritz_ which is probably what you want
masak moritz_: the question here is what $pair numifies to by itself.
moritz_ I don't see a good reason not to numify to its value 13:55
masak moritz_: well, one good reason might be that a Pair works like a list of its key and value in some contexts. and such a list numifies to 2. 13:56
moritz_ so you can do %occurences.pairs.sort: &infix:<< <=> >>;
masak moritz_: again, not relevant.
pmichaud or even sort %hash
moritz_ pmichaud: no, that uses cmp
pmichaud oh, yes.
moritz_ pmichaud: and cmp first decides on the key, then on the value
masak moritz_: oh, wait. it is. sorry.
pmichaud so, what's the quick-and-easy way to sort on hash values? 13:57
I saw the post on use.perl and thought "that seems a bit long"
moritz_ pmichaud: I think we should allow arity-1 subs that automagically do a schwartzian transform 13:58
masak what's wrong with %hash.sort? seems to me cmp is a good default.
moritz_ pmichaud: so that you can simply say %hash.sort: { .value }
masak: it is, but not if you want to sort by value
pmichaud %hash.sort sorts by key and then value
masak moritz_: ooh! I like that.
moritz_ or %hash.pairs.sort: { .value }
masak pmichaud: sounds good to me. 13:59
moritz_: what's the difference?
moritz_ masak: it has been proposed by TheDamian back in the days, but it's not in S29, unless you put it there :-)
masak makes a little note
moritz_ masak: probably none, but I'm not sure what a hash in list context does
pmichaud hash in list context is a list of Pairs 14:00
moritz_ ok, so the .pairs is superfluous
moritz_ has to go now and hold his third tutorial today
pmichaud we could do arity-1 subs using (1) a different methodname from sort, or (2) an adverb on sort 14:01
masak I have a blog post in my queue about all the things that need to be done with S29.
will write it when $SCHOOL stops bugging me so much.
pmichaud (IO underspecced): One way to improve the S16 situation would be to write code that is the way you'd like it to work and document that
part of the reason why S16 is underspecced is that the design team was hoping it would fall out from use cases 14:02
and a big part of the reason why it's in the pugs repo is so that people can adjust the spec to use cases
so, rather than ask "what does the spec say", our real question is "what _should_ it say", and the implementors/early adopters have some latitude to negotiate that and explore the design space for a while 14:03
masak to varying degrees that is true of all S?? specs, I guess. 14:04
pmichaud taking that as a starting point, Rakudo's philosophy with respect to S16 will be that as long as S16 is underspecced, we won't limit ourselves to doing "what is actually listed there".
and yes, that's true of the S?? specs in general, although obviously the "more complete" specs have less room to wiggle.
also, there comes a point where we really design to the test suite more than the synopses 14:05
masak aye.
pmichaud so if the test suite has a certain feature in it, then we implement to that even if the synopsis is silent on the subject (and we write a ticket asking that the synopsis be updated)
the same will be true not only of S16, but also S19 (command line) and S24 (testing) 14:06
and others.
moritz_: I totally agree with the schwartzian transform approach, now that I think about it. 14:08
masak on the first sign of tuits, I'll add it to S29. 14:09
pmichaud the problem with %hash.sort { foo(%hash{$^a}) op foo(%hash{$^b}) } is that we end up computing foo() for each comparison, even though it's invariant.
masak maybe there should be a multi version of sort taking only a binary operator, which also does a schwartzian transform 14:10
s/version/variant/
pmichaud maybe, but typically it's not the operator (or its arity) that we're interested in
14:11 iblechbot joined
pmichaud even in %hash.sort { %hash{$^a} cmp %hash{$^b} } we aren't passing the cmp operator to 'sort' 14:11
masak right.
pmichaud i.e., the "comparison" that sort sees is still an arity-1 sub.
oh, I guess it's arity 2. 14:12
but it's not infix:<cmp>
masak true.
pmichaud so perhaps keying based on arity is sufficient.
anyway, something like %hash.sort { foo($_) } would mean that we could cache the value of foo($_) for each element prior to doing the sort, instead of (re)computing it at each comparison step. 14:13
it also becomes really useful for things like 14:14
@list_of_dogs.sort { .breed }
lambdabot Unknown command, try @list
masak lambdabot: ssh!
pmichaud which would sort the list based on the breed of each dog.
masak I like it.
pmichaud actually, it almost calls for *two* adverbs to sort 14:15
one of them is the comparison function to use (default infix:<cmp>)
the other is the value ot use (default: $_)
masak how would the latter work? can adverbs refer to variables? 14:16
pmichaud @list_of_dogs.sort :by(&infix:<eq>) :value{ .breed }
or something like that. 14:17
masak oh, a closure.
I see.
pmichaud right, it's still a closure, but it's invoked on each element of the sort prior to doing the sort
and then _those_ are the values used in the comparison
masak it does read well. 'sort ... by ... value'.
pmichaud but what we're sorting is still the invocant
anyway, this is a place where I suspect we need TimToady to tweak the dwimminess knob 14:18
masak maybe s/:by/:using/, though.
pmichaud yes, I thought of :using as well. 14:19
masak :by is for ranges :)
pmichaud the arity-1 thing initially feels like a nice level of dwimminess too.
I really like %hash.sort { .value }
masak indeed.
pmichaud %hash.sort { .key }
@dogs.sort { .name } 14:20
@dogs.sort { .age }
masak \o/
Perl 6 rocks.
pmichaud ...if we can get that into the spec, yes. Although I'm sure S29 is up for that sort of modification. Maybe we can implement it in Rakudo.
masak I've written it down, and I will get to S29 early next week, if no-one else gets there first. 14:21
pmichaud excellent. 14:22
I'm reviewing most of the list functions anyway, so I might see if I can sneak that into .sort
masak also, I plan to blog about my new favourite Perl 6 pattern: putting blocks in lexical &-variables and then using them as built-ins without the &. 14:23
pmichaud isn't that just my sub foo { ... } ?
masak no, I can't use sub for my purposes, because I have a `return` in my block. 14:24
pmichaud ahhhhhh
clever.
masak it's half evil, half very useful :)
pmichaud definitely blog that.
masak will
just going to finish this Chinese course first. 14:25
pmichaud anyway, I need to get to today's meetings 14:27
14:29 ozy` joined
rakudo_svn r33800 | pmichaud++ | [rakudo]: spectest-progress.csv update: 235 files, 4916 passing tests 14:30
pmichaud 84 to go.
masak so, sometime this weekend, probably.
pmichaud yes. 14:32
I'd really like to have 5k before tuesday's release.
I'll be reviewing the suite today/tomorrow looking for ripe candidates.
I'm thinking I'll fix complex issues -- that'll give us a bunch of tests (back)
masak (reclaiming functionality)++ 14:33
PerlJam ruby has a routine called sort_by that does a ST automagically.
pmichaud and we can always write *new* tests :-)
masak pmichaud: 哈哈 :) 14:34
14:35 jhorwitz joined
pmichaud 14:37 <nopaste> "pmichaud" at 12.146.222.130 pasted "spectest progress, by synopsis" (17 lines) at nopaste.snit.ch/14900 14:37
masak wow, S09 really is under-tested. 14:38
considering what it contains.
pmichaud I don't know that we have any active implementations doing much of S09
14:50 masak left
moritz_ we don't 15:07
15:14 SamB left 15:17 Caelum joined
pugs_svn r24261 | azawawi++ | [Perl6::Highlight] merged of STD_syntax_highlight and this module 15:19
r24261 | azawawi++ | [Perl6::Highlight] Added a sample test script
azawawi moritz_: ping 15:22
moritz_ p o n g 15:23
azawawi moritz_: im facing a problem when moving STD inside Perl6::Highlight module
pasteling "azawawi" at 212.38.154.37 pasted "stacktrace (perl -d foo.pl)" (10 lines, 863B) at sial.org/pbot/33623 15:24
azawawi any ideas? 15:25
moritz_ azawawi: you have an undef somewhere
azawawi ;-)
moritz_ azawawi: where you think you have a an object instead 15:26
jnthn S09 - we've not much implementation progress as of yet. 15:32
moritz_ it's one of those things you don't really need to bootstrap a compiler, write the prelude in Perl 6 etc. 15:33
jnthn It's also full of vaguely obscure stuff.
Cool, useful stuff.
Typed arrays will land in a couple of months, I expect. 15:34
moritz_ I think Perl 6 itself is cool, vaguely obscure and not very cleanly specced :-)
15:37 alester left
jnthn looks at /syn/ 15:37
14 Roles and Parametric Types (Deprecated, use implementation types)
Roles and parametric types are deprecated? :-|
.oO( What was 14 in the camel? )
15:38
moritz_ jnthn: no, not deprecated, probably just the previous draft or something
jnthn Ah, tied variables.
OK, I think the plan was to re-claim 14 for describing parametric types.
Since I'm going to be doing a load of work on those, I wondered if it might be helpful if I was to take on the task of moving the bits out of other synopses that belong in such an S14 to that. 15:39
moritz_ jnthn: so the "deprecated" notice doesn't apply to the old one, but to the new one 15:40
15:40 alester joined
jnthn is confused 15:41
moritz_ erm, the other way round
jnthn spreadsheets.google.com/ccc?key=p8p...v7Fsq9u4eA is what I have been looking at
moritz_ sorry
jnthn 14Generics? Roles and Parametric Types
The person I probably need to ask is TimToady 15:42
pugs_svn r24262 | moritz++ | [docs] remove deprecated deprecation notice in syn_index.html 15:43
moritz_ jnthn: re synopsis numbers, that spreadsheets lists chromatic as the owner of S24 (testing), but he didn't respond when I said I'd take a stab at that (during last #parrotsketch) 15:50
jnthn stares at the bit of SPAM he just got, wondering what on earth language it's in 15:54
It's Slavic of some kind. But it's got characters from both latin and cyrillic alphabets in. 15:55
jnthn didn't know of a language that did that
ozy` jnthn: there are a bunch. I think Yugoslavian does that but I'm probably wrong 15:57
jnthn Oh, really? 15:58
Interesting.
jnthn knows less about the South Slavic languages.
15:59 exodist_ joined
jnthn I'm working hard on learning a West Slavic one and know a little bit of an East Slavic one. 15:59
15:59 exodist_ left
ozy` I think two Slavic langs would be my lifetime limit... if even that 16:00
jnthn Well, I can happily do bits of several, but as for seriously learning them one is quite enough for me right now. Lifetime limit...well, we'll see. :-) 16:01
ozy` they're hella hard to pronounce
damn palatals 16:02
jnthn Yes.
But I guess once you get the technique in one of them it helps with others. 16:03
16:06 kanru left
[particle] Rakudo Spec Test Coverage percentage chart: 16:09
spreadsheets.google.com/pub?key=p_p...tput=image
16:10 kanru joined 16:24 justatheory joined, Exodist left 16:25 stephens joined, Exodist joined 16:26 Exodist left
pugs_svn r24263 | azawawi++ | [Perl6::Highlight] first working ->snippet_html() sample 16:32
r24263 | azawawi++ | [Perl6::Highlight] Fixed STD.pm with a workaround.
r24263 | azawawi++ | [Perl6::Highlight] You need to put 'use STD;' before using this module.
azawawi moritz_: $::PARSER was undef when you 'use STD' in Perl6::Highlight 16:33
pugs_svn r24264 | azawawi++ | [Perl6::Highlight] Implemented simple_html method 16:43
r24265 | azawawi++ | [Perl::Highlight] Implemented semi-working full_html() 16:47
r24266 | azawawi++ | [Perl6::Highlight] old STD_syntax_higlight now works with the new STD.pm lib path 16:58
r24266 | azawawi++ | [Perl6::Highlight] ansi() and yaml() are now implemented and parsing is done in new()
azawawi @tell TimToady STD.pm does not behave as expected when it is used in another package (e.g. Perl6::Highlight); $::PARSER become undef; You need to manually use it before using packages that use it. 17:00
lambdabot Consider it noted.
17:02 rff joined
rff hi 17:02
vixey oh so with this you can turn perl 6 code into colorized HTML?
hi rff
azawawi vixey: yeah 17:03
vixey cool! I've got to try it out
azawawi feather.perl6.nl/~azawawi/html/inte...ngs.t.html
but Perl6::Highlight is still 0.01 and not yet released on CPAN 17:04
vixey wow that syntax tree view is good
azawawi you can meanwhile try src/perl6/STD_syntax_highlight
that's the --full-html mode 17:05
jnthn Wow. That rocks. 17:07
17:08 rff is now known as riffraff
azawawi Perl6::Highlight will have two output renderers: STD.pm and Text::VimColor (perl6.vim) 17:09
@tell moritz_ can u plz install on feather 1 Text::VimColor; i need it in Perl6::Highlight 17:11
lambdabot Consider it noted.
17:14 hercynium joined
pugs_svn r24267 | azawawi++ | [Perl6::Highlight] More TODOs 17:19
17:23 alexn_org left
azawawi dinner & 17:25
17:25 azawawi left 17:46 renormalist left
moritz_ @tell azawawi installed 17:53
lambdabot Consider it noted.
17:57 REPLeffect left 17:58 REPLeffect joined 18:00 adc_penner joined 18:11 araujo left, sri_kraih left 18:25 azawawi joined
azawawi ping 18:25
lambdabot azawawi: You have 1 new message. '/msg lambdabot @messages' to read it.
azawawi moritz_: thx 18:26
moritz_ azawawi: when I'm in the channel you don't have to @tell me stuff through lambdabot, I backlog when I'm highlighted
lambdabot moritz_: You have 2 new messages. '/msg lambdabot @messages' to read them.
moritz_ @mossages 18:27
lambdabot azawawi said 12h 47m 17s ago: will move it to misc asap.... i was wondering where to place it.
azawawi said 1h 16m ago: can u plz install on feather 1 Text::VimColor; i need it in Perl6::Highlight
18:34 schmalbe joined 18:37 alech_ joined 18:38 pmurias joined 18:40 tewk_ joined 18:51 alech left 18:53 tewk left 18:57 mberends left 19:00 adc_penner2 joined 19:02 adc_penner left
Tene jhorwitz: can you commit some spectests for .assuming? 19:13
19:13 adc_penner2 left
moritz_ Tene: there are such tests in pugs/t/blocks/currying.t 19:14
Tene looks
19:14 araujo joined
jhorwitz Tene: what moritz_ said. :) 19:14
moritz_ I don't know how up-to-date they are 19:15
19:15 adc_penner joined 19:22 adc_penner left 19:26 adc_penner joined
pugs_svn r24268 | moritz++ | [t/spec] move currying tests to t/spec 19:34
19:37 adc_penner2 joined
rakudo_svn r33804 | tene++ | [rakudo]: Add .assuming on Code objects for currying. 19:40
19:40 adc_penner left 19:41 aindilis left 19:42 adc_penner joined
pugs_svn r24269 | moritz++ | [t/TASKS] we need tests for warn() and various exception things 19:42
19:44 pbuetow joined, adc_penner2 left
pugs_svn r24270 | moritz++ | [t/spec] initial tests for currying with named params only 19:46
19:47 adc_penner2 joined
moritz_ perl6: sub foo {1;}; sub foo {1;}; say 'alive' 19:53
p6eval elf 24270: OUTPUT[Subroutine foo redefined at (eval 121) line 4.ā¤aliveā¤]
..pugs, rakudo 33804: OUTPUT[aliveā¤]
moritz_ perl6: only sub foo {1;}; sub foo {1;}; say 'alive'
p6eval rakudo 33804: OUTPUT[aliveā¤]
..pugs: OUTPUT[*** ā¤ Unexpected "foo"ā¤ expecting "=", subroutine parameters, trait or blockā¤ at /tmp/Kvt2pDDKgm line 1, column 10ā¤]
..elf 24270: OUTPUT[Unknown rule: plurality_declarator:onlyā¤It needs to be added to ast_handlers.ā¤ at ./elf_f line 1918ā¤]
jnthn moritz_: Both of those should be errors. 19:54
moritz_ elf++ # telling us exactly what should be done
jnthn: I think so too
pugs_svn r24271 | moritz++ | [t/spec] tests that sub foo {1;}; sub foo {1;}; dies 20:00
20:01 adc_penner left
pugs_svn r24272 | moritz++ | [t/spec] fix fuding for multiple.t 20:01
azawawi moritz_: fuding? ;-) 20:02
moritz_ azawawi: see t/spec/README 20:03
azawawi: it's a way to skip tests, or mark them as todo
azawawi moritz_: i think you mean fudging right? 20:04
20:04 Lorn left
moritz_ azawawi: yes ;-) 20:05
azawawi Text::VimColor failed me so far :-( 20:06
the thing is we need to 'setf perl6|source perl6.vim' and vim_options do not do that.
20:09 riffraff left
moritz_ azawawi: it worked pretty well for me 20:10
moritz_ shouldn't commit when can't even type properly 20:11
azawawi moritz_: yeah but if you dont have perl6.vim pre-installed, then it wont work.
moritz_ azawawi: but why do you need it anyway? you write a different hilighter... 20:13
azawawi moritz_: for fun ;-)
moritz_: i wanted to compare perl6.vim and STD highlighter so they can evolve better... 20:14
20:15 pmurias left
moritz_ azawawi: if it's just for comparison, I think you can be bothered to copy or symlink perl6.vim to ~/.vim/syntax/ 20:17
azawawi hmmm nice idea; sym-links
i guess working mostly on win32 does affect one's way of thinking 20:18
moritz_ aye 20:19
azawawi i got an email from cpan ppl telling me why not Syntax::Highlight::Perl6 ;-)
moritz_ I've never been good with names :( 20:20
azawawi but Perl6::Highlight sounds more cool ;-) 20:21
pugs_svn r24273 | tene++ | Fix variable declaration in new currying test.
avar Call it Perl6::Christopher::Walken 20:23
Hinrik that's a bit /too/ cool 20:26
alester I spent three and a half years with this zip operator up my ass.... 20:32
20:32 eternaleye left 20:33 eternaleye joined 20:41 schmalbe left 20:43 azawawi left 20:51 justatheory left 20:55 jfroebe joined
pugs_svn r24274 | moritz++ | [t/spec] unfudge lists.t for rakudo 20:57
20:58 ozy` left 20:59 azawawi joined
rakudo_svn r33808 | moritz++ | [rakudo] add a test file for list assignment to spectest.data 21:00
Hinrik azawawi: why not just use the filetype option instead of vim_options?
pugs_svn r24275 | moritz++ | [t/spec] unfudge another test 21:02
21:09 bacek joined 21:14 dr_df0 joined
pugs_svn r24276 | moritz++ | [t] move some parsing tests to spec/ 21:16
azawawi Hinrik: i tried Text::VimColor and it is working correctly as advertised, but in a vanilla vim installation, perl6.vim will not be in ~/.vim/syntax. I guess i could make it part of the module installation procedure.
rakudo_svn r33809 | moritz++ | [rakudo] two more files for spectest.data: array slicing, and IO 21:20
Hinrik azawawi: or you could have the module install perl6.vim to something like /usr/share/.../perl6.vim and then do vimoptions => '-s /usr/share/.../perl6.vim'
vim_options even
azawawi that's what i tried but vim_options is used first and seems to be overridden afterwards... 21:21
Hinrik oh 21:22
what if you do it with syntax_mark_file? syntax_mark_file($file, vim_options => ['-s /usr...']) 21:24
21:24 sri_kraih joined
azawawi havent tried all the options but will certainly retry later 21:24
pugs_svn r24277 | azawawi++ | [Perl6::Highlight] Renamed to Syntax::Highlight::Perl6 per PAUSE admin suggestion 21:25
21:26 kisu left
pugs_svn r24278 | moritz++ | [t] move a hash test to spec/ 21:29
rakudo_svn r33811 | moritz++ | [rakudo] add a test for predictive parsing to spectest.t 21:30
21:30 sri_kraih left
jnthn Predictive parsing? 21:33
moritz_ jnthn: knowing whether to expect an operator or a term
jnthn Aha, ok. :-) 21:34
moritz_ jnthn: in this case to know if '<' is a less-than or left angle quote
now we're at 4962 passing tests
jnthn likes the "add more tests" approach ;-) 21:35
pugs_svn r24279 | azawawi++ | [Syntax::Highlight::Perl6] more namespace renaming 21:37
moritz_ jnthn: I had exhausted that approach ~2 months ago. Now so much more works, it's time to start over ;-)
pugs_svn r24280 | azawawi++ | [Syntax::Highlight::Perl6] one missed, sorry 21:39
rakudo_svn r33812 | moritz++ | [rakudo] tests for passing hashes to subs 21:40
21:42 bacek left 22:03 hercynium left
azawawi how much time does it take search.cpan.org to index a module? 22:09
moritz_ azawawi: usually less than two hours 22:10
azawawi cool then im going to sleep ;-) i submitted it 10 mins ago
good night * 22:11
moritz_ good night azawawi
22:11 azawawi left 22:13 dr_df0 left 22:18 jfroebe left
pugs_svn r24281 | moritz++ | [t/spec] update some skip reasons in lists.t (and finer graded fudging) 22:18
r24282 | moritz++ | [t/spec] fudging updates to assign.t 22:24
22:26 adc_penner joined
moritz_ rakudo: my ($x, @y) = <a b c d e>; say @y.perl 22:27
p6eval rakudo 33813: OUTPUT["b"ā¤]
22:27 FurnaceBoy joined
pugs_svn r24283 | tene++ | [S04-statements/given.t]: Unfudge two tests and update comments on several others 22:28
22:29 eternaleye left
pugs_svn r24284 | moritz++ | [t/spec] fix two tests in assign.t, and improve fudging 22:31
r24285 | moritz++ | [t/spec] all these is(!defined($stuff), ...) instances need to be ok(). 22:35
22:42 adc_penner2 left 23:05 billy- joined
billy- so basic question; if i want to play with perl6 now, i need to use pugs? 23:08
Hinrik pugs or rakudo 23:09
moritz_ billy-: you can try pugs or rakudo. Pugs is more feature complete, but rakudo is actively developed
billy- ok, i wasnt aware of rakudo. ill take a look, thanks
moritz_ it's Perl 6 on Parrot 23:10
23:11 adc_penner left
billy- im sick of python and remembered perl. though i wont hold my breath i guess 23:11
Hinrik Perl 5 is still good :) 23:13
[particle] rakudo: <python is cooler than perl>.[<4 1..3 0>].say 23:14
p6eval rakudo 33813: OUTPUT[perlispythonā¤]
[particle] urk
rakudo: <python is cooler than perl>.[<4 1 2 3 0>].say
p6eval rakudo 33813: OUTPUT[perliscoolerthanpythonā¤]
[particle] rakudo: <python is cooler than perl>.[<4 1 2 3 0>].join(' ').say
p6eval rakudo 33813: OUTPUT[perl is cooler than pythonā¤]
billy- yeah i know, but i was looking forward to the object.method syntax 23:15
[particle] rakudo has a fairly complete object model
better than pugs
23:16 pbuetow left
Tene moritz_: is pugs really more feature complete? How does it do on the spectests? 23:18
moritz_ Tene: uhm, before I mercyless broken them, pugs passed around 15k tests 23:19
Tene: I don't know what the current count is
Tene kk
Let's see what I can do to help rakudo, then. 23:20
23:21 Leon_ joined 23:24 [particle] left
Leon_ Anyone here not AFK? 23:24
23:24 [particle] joined
[particle] pugs has a better parser, rakudo a better runtime imo 23:25
Hinrik [particle]: is that rakudo's fault or parrot's? 23:27
the parser, that is
moritz_ more of rakudo's, I'd say
[particle] rakudo's parser models STD.pm more closely than pugs, but PGE needs some refactoring for longest-token matching to work properly 23:28
pugs has ltm problems, too, but not as many. the parser is very custom, though. it needs to be redone 23:29
after parrot's parser engine (pge) is refactored for ltm and extended for protoregexes, rakudo will be able to use STD.pm directly 23:30
patrick is funded to do that work in the next few months
jnthn Does Pugs parse Perl 6 using Perl 6 regex?
[particle] no, it uses haskell
moritz_ jnthn: no, it uses a haskell parsing lib
(parsec)
Leon_ particle: I have a question and I suspect you can answer it 23:32
[particle] ask away!
Leon_ in Perl 6 Design Minutes for 29 October 2008 Allison mentions: "looks like we won't use roles at all for IO". Why not? 23:33
[particle] don't need them (yet)
parrot's design specifies not only classes, but roles, at the base level. 23:34
that is, it allows pmcs (parrot's abstract data type aka class) to be composed of pmrs (roles) 23:35
we haven't implemented the infrastructure to support roles written in C yet
Leon_ Ah 23:36
[particle] you can write them in PIR and mix them in
but, at the C level, no roles yet. we'll get them in by our 2.0 release for sure, which is jan 2010
by which time we'll also have async io
Leon_ That's a long time from now
[particle] (not that the two are coupled)
pugs_svn r24286 | moritz++ | [t/spec] unfudge assign.t a bit. We have a bunch of passing TODO tests that I 23:37
r24286 | moritz++ | plan to unfudge tomorrow
[particle] Leon_: why do you want roles for io?
moritz_ heads off to bed
Leon_ I was kind of thinking about S16, and it really struck me that using roles would make much more sense than the current fat interface approach
[particle] use cases are always helpful 23:38
Leon_ Essentially, close() is the only operation that is shared by all kinds of handles
All other operations are invalid on a significant number of cases
[particle] true
Leon_ Read versus write is one example
Trying to seek on a pipe or socket another 23:39
jnthn What Perl 6 does for IO doesn't need Parrot's underlying model to match it all that closely.
Perl 6's IO interface can be done in terms of roles just fine. Parrot doesn't need such an IO-layer under the hood.
moritz_ Leon_: there are roles in parrot and rakudo right now, not just on the C level, so you that shouldn't be a blocker
Leon_ OK, that's what I needed to know
[particle] right, it's not a blocker, except perhaps for performance 23:40
jnthn particle: How so? 23:42
[particle] jnthn: if you need to write vtable functions in pir to mix in with an io class 23:43
i expect there will be impedence mismatches between the parrot and rakudo io implementations 23:44
jnthn IO is generally not CPU-bound, I don't think there'd be enough difference here to make it noticably slowly...not to mention that Rakudo IO will not map Parrot's FileHandle directly but just hold onto one as an attribute under the hood anyway.
[particle] you might be right about that 23:45
jnthn (will probably not map, I should say...)
(it could do, but it feels unlikely to me ATM)
Leon_ thinks he'll post his ideas on perl6-language 23:46
[particle] Leon_++ 23:48