pugscode.org/ | nopaste: sial.org/pbot/perl6 | ?eval [~] <m oo se> | We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by diakopter on 11 July 2007.
Patterner well, you see lots of architecture in europe which is older than the USA :) 00:37
moritz_ good morning * 09:24
moritz_ or good localtime() ;-) 09:24
masak good localtime(), moritz_ 09:25
pugs_svnbot r17743 | fglock++ | [kp6] Pad, COMPILER cleanup 10:30
diff: dev.pugscode.org/changeset/17743
lambdabot Title: Changeset 17743 - Pugs - Trac 10:31
masak ?eval "hi" 12:07
pugs: say "hi" 12:08
exp_evalbot OUTPUT[hi␤]
masak pugs: say "hi".WHAT
exp_evalbot OUTPUT[Str␤]
masak pugs: say "hi".WHAT.methods
exp_evalbot OUTPUT[*** No such method in class Str: "&methods"␤ at /tmp/DRsV4ayRta line 1, column 5 - line 2, column 1␤]
masak oh, right
pugs: say ("hi".WHAT).methods
exp_evalbot OUTPUT[*** No such method in class Str: "&methods"␤ at /tmp/MCk4kwIGCf line 1, column 5 - line 2, column 1␤]
moritz_ pugs: say "hi".HOW.methods
exp_evalbot OUTPUT[["reverse","chop","index","quotemeta","join","chars","bytes","split","LIST","ITEM","bless"]␤]
masak moritz_: thx
moritz_ masak: kp6 has the precedence bug, not pugs ;) 12:09
masak ah
of course
actually, I was looking for a .pos in Str
S05 made me believe there would be one
moritz_ kp6: ("str.HOW).methods
exp_evalbot r17743: OUTPUT[Syntax Error␤]
moritz_ kp6: ("str".HOW).methods 12:10
exp_evalbot r17743: OUTPUT[[ 'perl', 'str', 'true', 'HOW', 'WHAT', ]␤]
masak ("str".HOW).HOW
kp6: ("str".HOW).HOW
exp_evalbot r17743: OUTPUT[no method 'perl' in Class 'Class'␤]
masak heh
moritz_ pugs: $_="foo"; m/o/; say .pos
exp_evalbot OUTPUT[*** No such method in class Str: "&pos"␤ at /tmp/JUkUG4Sykl line 1, column 21 - line 2, column 1␤]
masak I don't know how to refer to specific lines in the synopses, but it's under "Modifiers" 12:12
the :c modifier
moritz_ I know it should exist in some form, yes 12:16
masak now I see -- I should have checked the tests first 12:18
they are marked as TODO
I wonder if that's one of those things that don't conflict with audreyt++'s MO branch
so that it'd be safe to implement .pos 12:19
moritz_ masak: you should try ;)
masak actually, I'd like to
moritz_ masak: there's no use waiting if we don't know how long
masak true
I'll probably have time to take a look at it this week 12:22
and also, some of the failing tests
they're fun to try and resolve, almost like little crime novels 12:23
&
pmurias moritz_: $foo.bar.baz bug is not caused by precedence issues 13:02
moritz_ pmurias: then what's the problem? 13:03
pmurias term_meth dosn't call itself recursivly but call term 13:03
kp6: $foo[1][2] 13:04
exp_evalbot r17743: OUTPUT[DISPATCH: calling INDEX KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x818ef40) on invalid object:$VAR1 = {};␤␤ at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 32␤ main::DISPATCH('undef', 'INDEX',
..'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x81...') called at - line 16␤]
moritz_ so it's a grammar bug?
pmurias moritz_: yes
masak pmurias: what's the fix?
have term_meth call term_meth instead of term? 13:05
pmurias i think so (trying it out now)
but you have also to avoid infinit recursion 13:06
masak yes... 13:08
pmurias masak: do you want to try to fix it? :)
masak I'm at $work right now, so not very convenient
pmurias ok
masak I'll have some time tomorrow or later this week, but I was going to try to get Str.pos into Pugs 13:09
is there a graphing tool out there that generates a nice directed acyclic graph out of a set of dependencies? 13:13
moritz_ dot 13:14
neato
masak: it generated my keyring deps: moritz.faui2k3.org/images/tn_keyring.png 13:15
masak moritz_: thx
moritz_ masak: this is the full version: moritz.faui2k3.org/images/tn_keyring.png ;-)
no, wrong
moritz.faui2k3.org/images/keyring.png 13:16
masak looks complicated
moritz_ that's after one big and two smaller key signing parties ;) 13:17
masak my version of firefox went mildly neurotic over the larger version 13:18
moritz_ ie it crashed? 13:18
that happens from time to time ;)
masak it says it loaded it and is showing it scaled at 3%
szbalint heheh mine too masak 13:18
masak but it's showing a white surface with nothing on it
and no way to zoom in 13:19
szbalint I ran out of 2 gigs of memory :)
moritz_ well, it's 14840x18299 pixels
szbalint it's a big image
masak yes
moritz_ and firfox doesn't do any antialiased rendering
that's why I also provide a map viewer: moritz.faui2k3.org/mapit/showmap
lambdabot Title: Web of Trust Visualization- Moritz Lenz
moritz_ of course that's utterly useless, but nice to have anyway ;) 13:20
masak :)
how feature-complete is v6? 13:22
it seems to be pretty solid on grammars
[particle] masak: you can use Graph::Easy as a front end to dot... it's a nice module 13:24
masak [particle]: great, thx! 13:25
fglock masak: i'm using v6.pm at work 13:39
pugs_svnbot r17744 | fglock++ | [kp6] 'proto' 13:41
diff: dev.pugscode.org/changeset/17744
lambdabot Title: Changeset 17744 - Pugs - Trac
pmurias fglock: hi! 14:03
fglock hi
pugs_svnbot r17745 | fglock++ | [kp6] 'multi' 14:35
diff: dev.pugscode.org/changeset/17745
lambdabot Title: Changeset 17745 - Pugs - Trac
[particle] fglock: are you going to layer p6 on top of kp6, or is it just going to grow into p6? 14:37
fglock [particle]: there are some problems i'd like to discuss; both are possible 14:38
[particle] i know it's not mp6, but what features are "enough"
k
fglock kp6 already has enough for running 6-in-6, but not enough for runnin STD (which is the roadmap) 14:39
running
[particle] hrmm
fglock so we now have 2 roadmaps 14:40
one is for running STD, the other for bootstrapping kp6
[particle] yeah, it's better to run STD at a lower level, for performance
moritz_ fglock: the roadmap has many gaps... for example, when will concurrency be added?
avar meesa want concurrency too 14:40
moritz_ fglock: or are these features considered optional?
avar moritz_: concurrency of what? 14:41
moritz_ avar: threads, events, STM
fglock moritz_: concurrency is not needed for STD or for bootstrapping, so it is optional for now
we can develop concurrency in... parallel 14:42
moritz_ ;)
so the plan is basically "first get STD.pm working, then do the Rest"? ;-) 14:43
[particle1 has begun playing with intel threading building blocks for parrot 14:43
fglock it's more like - let's not forget STD
avar concurrency is also largely the problem of the runtime which kp6 offloads to something else
moritz_ avar: right... let's ask the parrot folks ;) 14:44
fglock kp6 already has junctions, and it is up to the runtime to decide on dispatching (though Junction is implemented in Perl 6)
avar Yeah, basically implemented as an array now right? 14:45
moritz_ avar: right
not basically, exactly
avar yeah, any is just a loop with an early exit if it finds something:) 14:46
moritz_ right
so is none
fglock yes, the array stores the junction data, but the actual implementation is up to the low-level runtime
avar it would probably be faster as a hash but that's a bit too early an optimization probably:)
moritz_ avar: that doesn't help for regex matching etc. 14:47
fglock [particle]: jonathan was considering working on a parrot backend for kp6 14:47
[particle1 is a junction a set or a bag? 14:48
avar bag
[particle1 so hash won't work well
avar some operations would be faster, not sure if it's a net win
[particle1 avar: right, that's for later, though (for me, anyway) 14:49
fglock: yes, i'd like to talk to him about that, when he has tuits again
fglock [particle1: re 6-in-6 problems, there are a few things that are hard to do in Perl 6 14:50
like pads
[particle1 that's hard in any language :) 14:51
does kp6 'return' implementation use exceptions? 14:52
fglock there is a workaround for now, but it would be nice if Perl 6 had support for high-level pads
fglock [particle1: no (or, not yet) 14:53
avar like my $symbols = $CALLER::; or something like that?
[particle1 ok, nqp needs 'return' and i was hoping kp6 had something helpful
hey, [particle], would you cease to exist, so i can become you once more? 14:54
time out, you bugger.
fglock [particle1: it would be possible to desugar kp6 to nqp
[particle1 hrmm
fglock avar: we need to be able to execute code inside a given pad; kpe currently uses an eval() trick 14:55
kp6
[particle1 so, pad contains blocks? 14:56
fglock yes, pads are objects that contain closures 14:57
[particle1 okay. they're not in the grammar, but that seems okay. right now, nqp/perl6 do closure has-a pad
kp6 is pad contains-a closure 14:58
*has-a
fglock it's more like Pad instances contain native closures
Block instances are a separate thing 14:59
fglock this is specific to the perl5 backend 15:03
but 6-in-6 will need something like that too 15:05
[particle1 so, are you currently working toward STD? 15:06
or towards 6on6
moritz_ 6on6 implies STD, doesn't it?
[particle1 depends where the bootstrap is 15:07
pmurias moritz_: 6-in-6? 15:08
pugs_svnbot r17746 | fglock++ | [kp6] updated roadmap 15:09
diff: dev.pugscode.org/changeset/17746
lambdabot Title: Changeset 17746 - Pugs - Trac
fglock we have 2 parallel projects: working towards STD (see last commit), and bootstrapping kp6
moritz_ updates the HTML version 15:11
pugs_svnbot r17747 | fglock++ | [kp6] fixed last commit 15:12
diff: dev.pugscode.org/changeset/17747
lambdabot Title: Changeset 17747 - Pugs - Trac
pugs_svnbot r17748 | fglock++ | [kp6] more roadmap updates 15:21
diff: dev.pugscode.org/changeset/17748
lambdabot Title: Changeset 17748 - Pugs - Trac
fglock moritz_: done, i think :)
moritz_ fglock: ok ;-)
fglock re 6-*-6 implies STD: yes, but there will be pre-christmas versions 15:25
[particle] 5.99-on-5.98 15:26
or better 5.999-on-5.99
moritz_ lol
and then finally a christmas-on-pre_christmas ;) 15:27
xinming prefers the 6.0(-)0.1 :-D 15:31
5.99 is still perl 5. But 6.0 means we enter perl 6 world now. 15:32
moritz_ debian uses ~ for negative version numbers, so 6.0~5 < 6.0 15:33
[particle] so perhaps it's 6-.01i-on-6-.1i
when the imaginary component disappears, we have real perl 6
moritz_ nice pun ;-)
TimToady masak: it's not entirely clear that strings should know their .pos anymore. It's more like positions know their string. Otherwise a string can't be shared between threads 15:34
and the positions used in S05 will be stored in the current match state, not in the current matched string 15:35
masak TimToady: that makes me very happy
TimToady you might still refer to it as .pos, but only because $_ is likely to track the match state
(within rules)
moritz_ so $_ is a "match state" in regexes, not the current string?
TimToady correct. 15:36
moritz_ ok ;)
masak TimToady: S05 is not up-to-date in that case
moritz_ ETOOSLOW 15:36
TimToady used to be $/, but that's going away
no, it's not; I have pending changes
$/ isn't going away entirely
moritz_ erm
TimToady it's still the user's link to the last match
but that's all it is
moritz_ will it go away, or just replaced by a different symbol?
TimToady within a rule $/ changes to $_ for the current match state, probably 15:37
(that's part of why "andthen" got defined the way it was)
there are several other changes to S05 that Damian, Patrick, and I have been thrashing on recently 15:38
mostly simplifications of various sorts
most $<foo> just change to $foo
(within the rule)
for instance
and current <+ws> probably settles on <.ws> 15:39
moritz_ for non-capturing groups only?
what about char classes? 15:40
TimToady <ws> captures, <.ws> doesn't
as it was, either <[...]> or <+[...]>
moritz_ ok
TimToady and you can use either <+alpha> or <.alpha> to suppress capture
TimToady anyway, that's the direction it seems to be heading at the moment 15:41
main incompatible change is that <?foo> no longer eats positions
(and that's a change we already made) 15:42
also, there will be some kind of syntax for declaring my variables directly within the rule without having to fake them up in the signature
TimToady also, setting the value of a reduction closure is likely to change from "return" to "reduce" because what the rule really returns is the next match state with the reduction value attached 15:47
afk & 15:48
pugs_svnbot r17749 | lwall++ | [STD] approximation of new standard grammar syntax (won't run yet) 16:54
diff: dev.pugscode.org/changeset/17749
lambdabot Title: Changeset 17749 - Pugs - Trac
TimToady moritz_: S05 is now updated (more or less) 19:17
[particle] i'd say "more" :) 19:18
pugs_svnbot r17750 | lwall++ | Strings no longer attempt to keep track of their "pos". 19:22
diff: dev.pugscode.org/changeset/17750
lambdabot Title: Changeset 17750 - Pugs - Trac
moritz_ TimToady: what about the somewhat weird hash matching? is that going to change eventually? 20:16
TimToady might well
ahmadz hi 20:57
moritz_ good evening ahmadz ;)
moritz_ heeds off to bed 20:58
rindolf Hi ahmadz 20:59
moritz_: night
ahmadz feather.perl6.nl:8096/p6_syntax_highlighter/ 21:25
lambdabot Title: Test
pugs_svnbot r17751 | azawawi++ | [p6_syntax_highlighter] Perl6 JS Browser Syntax highlighter script 21:38
diff: dev.pugscode.org/changeset/17751
lambdabot Title: Changeset 17751 - Pugs - Trac