svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | dev.pugscode.org/
Set by putter on 11 February 2007.
geoffb is bak 00:07
Limbic_Region, [particle]: yeah, the error that Limbic_Region just demonstrated is why I went the Perl 5 eval route
Really would like to get rid of that
It's the only Perl 5 code not related to symbol import hell 00:08
[particle] i wonder if you could wrap the symbol import into an import sub
geoffb [particle]: I partially did that for the SDL::OpenGL.can code, which used to be even worse than it is now 00:09
wrapped it in a loop inside a BEGIN block, that is 00:10
I would love to just be able to say "import SDL::OpenGL;" and be done with it
[particle] geoffb: sure i see that 00:13
00:14 dvorak joined
[particle] can you write sub import(...) { BEGIN { ... } } ?? 00:14
geoffb hmmm, I wonder if I can walk the P5 symbol table and import it ....? 00:15
[particle] ooh, tricky
geoffb dammit, I was going to get $job_work done, and now this has my brain 00:16
00:26 weinig|bbl is now known as weinig 00:35 devogon joined 00:46 diakopter joined 00:50 whooosh joined
geoffb Bwa-ha-ha-ha-haaaa .... www.broadwell.org/dl/step075.p6 00:56
[particle]: it works! It's slow as HECK, but it works 00:57
01:21 nipotaway is now known as nipotan 01:25 Schwern joined 01:31 H0LE joined
[particle] HA! geoffb++ 01:40
pugs needs a debugger. i think it should be called flee 01:41
TimToady flea? 01:43
diakopter filet 01:48
oh, I get it. fleas are bugs. 01:49
geoffb And you want to get them to run away ....
Puns multiplied are so much more sweet.
And geeky.
[particle] >>:P<< 01:50
offby1 the ultimate pun: it has infinite meanings
01:51 kanru joined 01:53 putter joined, geoffb joined
geoffb bah, damn keyboard 01:53
I'm still bothered by this line: $eval ~= 'our &' ~ $symbol ~ ' := ' ~ $module ~ ".can('" ~ $symbol ~ "') if " ~ $module ~ ".can('" ~ $symbol ~ "');\n"; 01:54
I feel like I'm writing Javascript
01:54 b00t joined
geoffb What is the proper escaping to be able to put that all in one string without accidently doing dereffing early? 01:54
I tried a few variants, and Pugs was always unhappy about one thing or another. 01:55
01:56 mr_ank joined
[particle] "our &{$symbol}..." ? 01:57
geoffb hmmm
[particle]: nope, that explodes 01:58
***
Unexpected end of input
expecting "::", dot, ":", "(", term postfix, operator or "}"
at step075.p6 line 37, column 124
No, wait, it's because I included := in the same string segment 01:59
putter $eval ~= "our \&$symbol := $module.can('$symbol') if $module.can('$symbol');\n"; 02:00
geoffb No, wait, it's because I included := in the same string segment
putter: I swear that exploded for me
Will try again, in case I went insane
putter $eval ~= "our \&$symbol := {$module}.can('$symbol') if {$module}.can('$symbol');\n"; 02:02
that at least works in a toy case. I was rather surprised that my first worked in an (even more toyish) case. this at least seems proper. 02:03
geoffb Hmmm, that last one hasn't exploded yet, let's see how it goes ...
audreyt "our \&$symbol := $module.can\('$symbol') if $module.can\('$symbol');\n";
lambdabot audreyt: You have 3 new messages. '/msg lambdabot @messages' to read them. 02:04
audreyt p6 interpolates methcalls; escaping the opening brace would work too
geoffb putter's last version worked, checking audreyt's
no explosion yet, waiting to see how final eval does 02:06
audreyt weird, my $pi = atan(2,2) * 4; $pi works for me.
geoffb Jeapordy theme ... 02:07
s/my/constant/?
OK, audreyt's version of the string works too. 02:08
audreyt ?eval constant $pi = atan(2,2)*4; say $pi 02:09
evalbot_r15692 OUTPUT[3.141592653589793ā¤] Bool::True
audreyt ?eval constant $pi = atan(2,2)*4; $pi
evalbot_r15692 \3.141592653589793
audreyt ?eval my $pi = atan(2,2)*4; $pi
evalbot_r15692 \3.141592653589793
geoffb OK, hmmm
audreyt bbiab (just woke up :)) 02:10
geoffb laughs at own blindness 02:13
My mistake was failing to s/atan2/atan/g; 02:14
sigh
Oh the insidious ways Perl 5 rots your brain 02:15
OK, latest and greatest up at same place, www.broadwell.org/dl/step075.p6 02:16
02:17 offby1 joined
TimToady p6 spec is actually atan2 also 02:23
geoffb ah, pugsbug then
TimToady not exactly bug, was atan, but ambig with default 2nd arg 02:24
geoffb hmmm? I'm not sure I see the problem. 02:27
TimToady what would be the units of atan($x) 02:28
geoffb oh, second arg for atan was going to be a unit setting, I take it? Sorry, I've not been watching the S29 stuff all that well. 02:30
02:30 rashakil_ joined
Aankhen`` ?eval constant $pi = atan(2,2)*4; $pi = 5 02:34
?eval constant $pi = atan(2,2)*4; $pi
No eval for me? :-(
evalbot_r15692 Error: Can't modify constant item: VNum 3.141592653589793
Aankhen`` Ah, there we go.
evalbot_r15692 \3.141592653589793
geoffb Bah, all my glorious P6 code simplification is eaten up by that damn symbol table thrashing:$ wc step075.p6 ../step075 02:35
704 1779 15555 step075.p6
741 1779 15880 ../step075
Aankhen`` ZOMG. 02:36
geoffb Aankhen``: ?
Aankhen`` Sorry, just being dramatic. :-)
geoffb I was just hoping to see that I'd shaved like 25% off my code or something. Ah well, it will come. 02:37
putter moritz_: ping? 02:42
Limbic_Region: ping? 02:43
btw, audreyt, as the subject of this donate.pugscode,org thing, I suspect the right model is you get final say if its ok to go, or just a nice idea which didn't quite work out and punt it. ;) 02:44
putter wonders whether to swap in a radical draft
pasteling "putter" at 66.30.117.127 pasted "donate.pugscode draft" (13 lines, 744B) at sial.org/pbot/23476 02:45
geoffb change_of_venue & 02:46
02:50 kyrbe joined
putter reoccurring subscriptions look interesting (eg, $10/mo) but are a premium thing. 02:53
03:05 geoffb joined 03:14 GreatFlamingFoo joined 03:16 mako132_ joined
svnbot6 r15693 | dvergin++ | Added ref to docs/Perl6/Overview/Variable.pod 03:18
03:21 GreatFlamingFoo left 03:27 diakopter left
ajs_ atan is confusing. What TimToady said earlier used to be correct, but the $base parameter is long since edited out of the atan(2) spec. 03:29
03:29 lambdabot joined
ajs_ I think that as it stands now, other than a typo that lists two $y in the signature, there's no reason for an atan and atan2, since the signature of atan2 has an optional second parameter 03:30
03:31 Psyche^ joined
TimToady if you omit the second parameter, how can you tell whether to default it to 1 or 'radians'? 03:33
lambdabot TimToady: You have 2 new messages. '/msg lambdabot @messages' to read them.
svnbot6 r15694 | putter++ | donate.pugscode.org/index.html - new draft text.
r15694 | putter++ | The main objectives of this draft are to be simple and focused, and not potentially over promise.
03:37 Psyche^ is now known as Patterner 03:42 weinig joined
putter Anyone know how 01Overview.html is generated from 01Overview.kwid? Or even whether it is? Perldoc's --kwid-to-html generates rather different text. 03:43
lambdabot putter: You have 1 new message. '/msg lambdabot @messages' to read it.
03:44 diakopter joined 03:55 jiing joined
putter "Is Pugs the official Perl 6? Official Perl 6 is defined as any implementation which passes the Perl 03:56
6 test suite. So yes, but not the only one."
TimToady: sound about right?
putter updates the 01Overview faq
03:57 justatheory joined 04:00 Debolaz joined
TimToady Nothing is passing the test suite yet... 04:09
svnbot6 r15695 | lwall++ | Allow split on arrays and filehandles. 04:10
r15695 | lwall++ | Emphasize that maximum laziness is not a requirement for lazy objects.
04:11 REPLeffect joined
putter hmm, good point... 04:17
modified 04:20
svnbot6 r15696 | putter++ | 01Overview.{kwid,html} - Added "Is Pugs the official Perl 6?". 04:25
r15696 | putter++ | The .html was hand edited, as I failed to determine how, or whether, to generate it from the .kwid.
r15696 | putter++ | "Official Perl 6 is now defined as any implementation which passes the Perl 6 testsuite. So Pugs is expected to be an official Perl 6, but not necessarily the only one."
nothingmuch gaal: feel free to release Test::TAP::* if hyou haven't yet, i'll take care of the patches when I'm back 04:39
04:45 amnesiac joined
putter @tell fglock what did you do about isLr in propcharset.t? It's not in perluniicode 5.8 or 5.9. It doesn't seem to be in the unicode spec under that name. ??? 05:08
lambdabot Consider it noted.
gaal nothingmuch: released twice in fact :) (second time someone reported a dep that wasn't reflected in Makefile.PL...) 05:09
nothingmuch cool 05:11
see you on the 19th
emai
ahhh
gaal moo
did 'darcs send' work by the way? or did you have only get the manual email? 05:12
nothingmuch i don't have an autoapply procmail thingy
so it worked
i will have to darcs applyu
but my ping times are very long
in fact, i've yet to see my first line show up here =/
gaal forget autoapply; I wasn't sure it actaully sent out the patches
nothingmuch ah, there it is
it did 05:13
gaal ok
05:18 Aankhen`` joined
svnbot6 r15697 | putter++ | yet_another_regex_engine/Regexp_ModuleA.pm - begin support for unicode property character sets. 05:32
r15698 | putter++ | yet_another_regex_engine/PugsRegexTestA.pm - minor tweaks.
putter not sure why I just spent an hour on that. wanted some low hanging pretty green box smoked fruit. but unicode is never low hanging. never ever. back to STD... later in the week. 05:35
good night &
06:14 BooK joined
svnbot6 r15699 | lwall++ | keep cheated STD parsable by pugs, if not very runnable 06:20
06:34 DHGE joined
svnbot6 r15700 | lwall++ | test whether one constant can be defined in terms of another constant 06:35
06:46 avarab joined 07:04 bsb left 07:14 smash joined
meppl good morning 07:29
audreyt greetings 07:40
lambdabot audreyt: You have 1 new message. '/msg lambdabot @messages' to read it.
audreyt <- @ job, hacking Inline::Java into pieces, will resume pugshack in ~24hr
07:46 avar joined 07:53 fridim_ joined 08:11 buetow joined 08:13 avar joined 08:19 fridim_ is now known as fridim 08:29 xern joined 08:31 aukjan|gone is now known as aukjan 08:44 the_dormant joined
svnbot6 r15701 | tene++ | Updated a link in the 99problems README as it currently points to a warning about the host going away soon and a redirect 08:48
moritz_ @tell putter pong ;-) 08:59
lambdabot Consider it noted.
09:27 Jedai joined 09:31 iblechbot joined 09:44 rindolf joined 09:50 the_dormant joined
svnbot6 r15702 | tene++ | Typo in test. 09:58
r15703 | tene++ | Implement problem 95 from 99problems
10:03 devogon joined 10:04 andara joined 10:06 chris2 joined, lichtkind joined
tene Should I commit minor but unrelated fixes in t/ in a single commit or separate minor commits? 10:07
moritz_ I think one commit should be OK
(unless you want more karma through tene++ ;-) 10:09
tene I'm just wondering which is more annoying, a big list of one-line typo and comment fixes, or a big patch that makes minor typo and comment fixes in a number of unrelated files. 10:10
moritz_ I think multiple commits are more annoying because you have more overhead but the same number of fixes 10:13
ayrnieu the first is more annoying, yes.
10:18 kanru_ joined 10:39 Jedai joined 10:42 drupek12 joined 10:44 mjk joined 10:57 GeJ joined 10:58 IllvilJa joined
gaal tene: don't worry about it :) if you make one commit and label it "typo/comment fixes", folks can still see the list of files affacted with sv{v,k} log -v 11:06
audreyt @tell TimToady Clearly the current spec has the &caller wrong? It should be &caller ::= &context.assuming(Routine,1,Routine) no? 11:07
lambdabot Consider it noted.
gaal audreyt: I'm $working today too, but last night I've been moosing up an imperative algorithm in pseudo-p6 we'll just have to end up runState-ing 11:27
audreyt sure, runST is very moose! 11:38
the Grand Pad Refactoring is going well
(the only thing left for VCode to be newval)
subEnv will be gone and replaced by subLexPads :: [TVar Pad]
and the Pad node will be gone as well from the runtime, as we designed 11:39
(it was blocking proper OO scoping in class{...})
gaal reason I was surprised about .signature working a few days ago was that I thought it implied VCode in newVal 11:45
11:52 fglock joined
lichtkind audreyt im currently writing perl6 article for german-perl-magazin++ and currently on the pugs chapter is there anything you want to have mentioned about pugs i maybe missed 11:53
audreyt lichtkind: send me the article :) 11:54
lichtkind audreyt its german
moritz_ audreyt: do you understand German?
fglock putter: re isLr - "*** Cannot parse regex: ^<+isLr>$"
lambdabot fglock: You have 1 new message. '/msg lambdabot @messages' to read it.
avar Wich kunn readen psueudodeutch miket gut 11:56
lichtkind audreyt by mail? 11:58
avar haha
audreyt moritz_: I've lived in .de for one year and studied philosophy for a year -- I can't really speak/listen/write German but I can read a bit with help from a dictionary
fglock audreyt: re Proxy - I wonder if 'return VAR($x)' should just work as an lvalue 11:59
moritz_ audreyt: where in .de?
audreyt moritz_: Dudweiler, SaarbrĆ¼cken 12:00
fglock: the sub has to be declared "is rw"
fglock: in which case "return $x" will be VAR($x)
S06:232
lichtkind audreyt ist 5000 words really the whole article or just the pugs chapter 12:01
fglock audreyt: ok! I'm still finding out how Proxy/Lazy/Array/Hash/typed concepts interact 12:03
audreyt lichtkind: the whole article 12:04
12:04 nipotan is now known as nipotaway
audreyt :) 12:04
lichtkind wie du meinst 12:05
fglock in short-circuiting functions, is the second argument just marked 'lazy' ?
audreyt lichtkind: vielen danke 12:07
fglock: conceptually yes
i.e. it's a parameter annotation 12:08
lichtkind audreyt vielen dank, you say danke only if it stand solitude and i still dont know to which adress to send
audreyt lichtkind: [email@hidden.address] :)
(and as you can see my spelling is totally broken now :)) 12:09
moritz_ human parsers are usually error correcting ;)
audreyt fglock: another school of thought says infix:<||> is actually a macro that constructs a scope for its rhs
fglock: neither is specced, though.
personally I prefer "is lazy". 12:10
12:10 Limbic_Region joined
lichtkind audreyt right its out 12:19
i added some info that might interest you 12:21
audreyt k cool
I need to sleep though and $job tomorrow
so maybe get back to you in 24~48hrs
is that ok? 12:22
fglock audreyt: good night
lichtkind of course
it gonne published on 1.may 12:23
so no need to hurry
gute nacht
audreyt g'nite 12:25
rindolf Hi audreyt 12:26
12:27 yts joined
Limbic_Region fglock ping 12:28
lambdabot Limbic_Region: You have 1 new message. '/msg lambdabot @messages' to read it.
Limbic_Region @moosages
lambdabot diakopter said 23h 6m 10s ago: :P
Limbic_Region lambdabot - you already gave me that message 12:29
fglock Limbic_Region: pong 12:36
Limbic_Region fglock I am confused as to the difference between the perl conference in April and the one in August. If you could, please clarify for me.
I am currently planning on coming to SA in late summer and would like to go to a conf or a local PerlMongers or what not
if you don't have the info readily available - no worries - I need to get back to work soon anyway 12:37
grrr - and now I think my client is acting up again
fglock April is YAPC::SA, August is YAPC::Brasil; also, this year we are organizing YAPC::SaoPaulo
Limbic_Region ok - well I will talk with you about it later then. 12:38
fglock YAPC::Brasil will be in Bahia, which is a cool place for tourism
but YAPC::SA is nearby where I live :) 12:39
12:39 BooK joined 12:46 mr_ank joined 12:57 ofer0 joined 13:18 the_dormant joined 13:24 shay|p6 joined, PerlJam joined, wolverian joined 13:25 Juerd joined
moritz_ ?eval my @a=1,2,3; my @b= @a;@b.elems 13:30
13:30 evalbot_r15692 is now known as evalbot_r15703
evalbot_r15703 3 13:30
moritz_ pugs> my @a = 1, 2, 3
(1, 2, 3)
pugs> my @b = @a
(1,)
what's wrong here? is my pugs build broken? 13:31
13:31 sili_ joined
allbery_b works for me (r15692) 13:32
moritz_ mine is r15614
Patterner oooold.... 13:33
13:33 devogon joined
moritz_ Patterner: the last two builds failed, then I lost my motivation ;) 13:33
Patterner need a motivational speech? :) 13:34
allbery_b audreyt was a committing dervish for a bit, was kinda difficult to squeeze good builds in between commit storms :)
moritz_ all her fault ;)) 13:35
allbery_b also, recent pugs and recent ghc HEAD haven't gotten along well (I'm building a new ghc currently to see if it's fixed yet)
13:46 jrockway joined 13:50 iblechbot joined
svnbot6 r15704 | moritz++ | 99problems: solved problem 90, 8 Queens (calculates all solutions) 13:53
13:59 rashakil__ joined
rindolf What happened to www.pugscode.org/ ? 14:15
lambdabot Title: Pugs - pugscode
moritz_ rindolf: what's wrong? DNS errors? 14:18
rindolf moritz_: yes, DNS errors.
Unknown host www.pugscode.org 14:19
moritz_ rindolf: it works for me, but I had problems the other day as well...
rindolf: you can use ns1.dragonfly.com (207.99.0.41) as a namesserver, then it works 14:20
rindolf lichtkind: here? 14:22
lichtkind what?
rindolf lichtkind: hi.
moritz_ lichtkind: you should ask "where?" ;-) 14:23
lichtkind hello rendolf you want ? 14:24
err rindol
f
gosh
moritz_ use your tab key ;)
rindolf lichtkind: were you the guy who maintains a text editor written in Perl? 14:25
lichtkind ah even chatzilla can do that
yes sir
14:26 [particle] joined
rindolf moritz_: what is the IP of www.pugscode.org? I'll put it in my /etc/hosts file. 14:26
moritz_ rindolf: 194.145.200.126
lichtkind rindolf: do you want the linux version :) :) 14:27
rindolf lichtkind: I suppose I can give it a try. 14:30
lichtkind glad to hear but there is some problems 14:31
i suppose you use linux
the problem is not that i packaged it only for windows because the sources are xplatform 14:32
the only problem ist that some parts are in transition and i plan it to be cpan installable 14:33
now its not
you have to set 2 pathes by hand and install the 2 modules it needs
but if thats no problem for you ypu can try 14:34
i use it on dayle base, even my perl6 article is wirtten in it
it has some nice little feature you hardly see anywhere
but that all you can read since the app and the docs are english as german as well 14:35
rindolf: any further questions? :)
rindolf lichtkind: OK, where do I get it from?
lichtkind all the good bugfixes are in the latest packages 14:36
i have a special site for it
web52.xeon225.server4you.de
but it containes win binaries for all the stuff
shoul i strip the sources? 14:37
mom 14:40
im uploading 14:41
rindolf: the upmost downlowd is now sources only is much smaller, it needs the module Wx and Hash::Merge and look in the starter there you set pathes to where docs and configs lay 14:44
14:44 aukjan is now known as aukjan|gone
lichtkind thats the still unproffessional part :) 14:44
14:45 fglock joined
rindolf lichtkind: web52.xeon225.server4you.de/nightly...17-src.exe gives me "Object not found!" 14:46
lambdabot tinyurl.com/2awzwq
lichtkind momi see mom
fixed stupid fault 14:48
please write me your feedback [email@hidden.address]
14:50 buetow joined
moritz_ is there a p6 equivalent to Data::Dumper? 14:54
broquaint ?eval [<I think so>].perl 14:55
14:55 evalbot_r15703 is now known as evalbot_r15704
evalbot_r15704 "[\"I\", \"think\", \"so\"]" 14:55
moritz_ broquaint++ thanks, that helps a lot 14:56
lichtkind rindolf: let me know when i can help you 14:57
15:00 iblechbot joined
ayrnieu ?eval .perl for sub {} 15:04
evalbot_r15704 undef
ayrnieu ?eval (sub {}) ==> map {.perl} # :-) 15:05
evalbot_r15704 Error: ā¤Unexpected " map"
15:06 vel joined
moritz_ ?eval my $f = sub { 1 }; $f.perl 15:06
evalbot_r15704 "\\sub \{Syn \"block\" \{1}}"
moritz_ ayrnieu: empty blocks are not allowed any more iirc 15:07
ayrnieu I see, that's pretty strange. 15:09
broquaint ?eval { ... }.perl 15:12
evalbot_r15704 "\{Syn \"block\" \{App \&fail_ (: \"... - not yet implemented\");\n Noop}}"
broquaint Sweet.
moritz_ ;)
broquaint I wonder why there's a Noop after that &fail. 15:13
moritz_ maybe that's the '...'? 15:14
broquaint The ... is &fail, I imagine it'll be a macro eventaully. 15:16
15:16 vel joined
broquaint It was an idle wonder, probably an artefact of development no doubt. 15:16
15:19 VanilleBert joined
gaal Noops are artefacts of mergeStmts, they don't mean much 15:19
they'll probably go away after move to newAST (after next release)
broquaint newAST? 15:21
svnbot6 r15705 | moritz++ | 99problems/problem50.t implemted (huffman tree) 15:26
r15706 | audreyt++ | * Pugs.AST.Internals: Code cleanups (change PadEntry 15:29
r15706 | audreyt++ | to use newVal-style constructor names, etc.)
r15706 | audreyt++ | Add an EntryFlags field to Sym and PadEntry for
r15706 | audreyt++ | annotations on pad entries; currently only "is context".
r15707 | audreyt++ | regen instances. 15:30
gaal broquaint: pugs has two related sets of tree structures; one for representing values and one for representing expressions, that is, the Abstract Syntax Tree by which a parsed program is represented
we're transitioning into new versions of both structures
svnbot6 r15708 | audreyt++ | * Pugs.Types: Cache VarCateg<->ByteString mappings to speed
r15708 | audreyt++ | up show/read speed; also make (Show Var) go through ByteString.
gaal the new Val structure will make it to this release, and new AST to the next.
broquaint Groovy. 15:31
svnbot6 r15709 | audreyt++ | * Pugs.Parser: Proper support for "is context": 15:33
r15709 | audreyt++ | my ($x is context, $y); # now works
geoffb Is pugs symbol table access not O(1)? I have a suspicion that that might be part of why my GL code runs slowly (lots of symbols loaded into the current symbol table), but I haven't had the chance yet to thoroughly test that hypothesis. 15:36
svnbot6 r15710 | audreyt++ | * Chase "is context" pad structure changes in other modules.
r15710 | audreyt++ | This concludes the contextual-declarations batch.
integral Data.Map is O(log N) or something close to that 15:38
TimToady @messages 15:39
lambdabot audreyt said 4h 31m 33s ago: Clearly the current spec has the &caller wrong? It should be &caller ::= &context.assuming(Routine,1,Routine) no?
TimToady @tell audreyt That interpretation of caller assumes the user wants to find the calling subroutine. I think the user wants to find the calling context, which is likelier to have the right line number for the actual call into this routine. 15:41
lambdabot Consider it noted.
svnbot6 r15711 | moritz++ | 99problems/problem61.t: count and collect leaves 15:42
r15712 | moritz++ | problem62.t implemented (collect internal leaves and leaves at specified 16:02
r15712 | moritz++ | height)
moritz_ only 36 problems left ;) 16:03
TimToady moritz++ gabriel++
audreyt TimToady: .assuming(Routine,1) then? 16:05
lambdabot audreyt: You have 2 new messages. '/msg lambdabot @messages' to read them.
specbot6 r14345 | larry++ | Clarify that caller is not guaranteed to return a Routine context.
r14345 | larry++ | Minor refactoring of context/caller section to avoid forward ref.
16:06 fglock joined
audreyt our %vtable; sub gen { %vtable = (k => { ...caller()... }) }; gen(); %vtable<k>(); 16:06
in that case &?ROUTINE is never in dynscope
geoffb: symbol table access will be O(1) after the Pad-refactoring, which should land soon (like, this weekend) 16:08
basically currently each statement in Pugs can introduce a lexical Pad; however perl6 spec has changed after that, and only blocks have pads now; so after the refactoring we know statically what symbol access is what, and can run O(1) 16:10
fglock hmm - re O(1), I wonder how many problems I'd avoid if I didn't insist in premature optimization
16:11 gnuvince joined
TimToady audreyt: but caller(Routine,1) will not dwtm in a displaced closure block either. 16:12
Debolaz "do what timtoady mean"?
audreyt TimToady: point.
TimToady do what "they" mean
Debolaz Ah. :)
TimToady would have to be context(&?BLOCK,1) for that
audreyt what we really want is 16:13
TimToady which is precisely the interpretation we're trying to avoid for non-displaced blocks
so that control flow blocks aren't thought of as closures unless you need to
so if they want that, the probably just write "sub {...caller...}" 16:14
audreyt context({ .routine != &?ROUTINE })
which seems to dwim more than either of the two 16:15
TimToady that doesn't make sense
audreyt mm? "nearest call frame that is in a different routine than the site of &caller" 16:16
TimToady !===, you mean
devbot6 TimToady: Error: "===," is not a valid command.
audreyt sure
TimToady I guess I don't mean that, devbot6. :)
lichtkind audreyt wow i thought you wanted sleep 16:17
audreyt I did (still do)
TimToady but other than that, yes, that might work
lichtkind so i speak with audrey subconsciousness 16:18
impressive
audreyt TimToady: woot. do you have cycles to whack it in?
TimToady sure
audreyt TimToady++
fglock just checking - <alpha> does a named capture, but <alpha+digit> doesn't ? 16:21
TimToady hmm, we have no good notation for rewriting .caller as .context, because the test would have to talk about the invocant that we're passing in. could use a temporary, I guess 16:22
audreyt or macro :) 16:23
plus, that was still wrong... context({ .routine !=== &?ROUTINE }) doesn't handle recursion.
the problem is the frame object should distinguish between "entering an inner block"
TimToady probably need to provide both
audreyt and "all other kind of calls"
for this to natively work 16:24
for
TimToady "carpcaller"
audreyt sub f { { die 1 } }
sub f { { die 1 }() }
are different; the first "die 1"'s caller is the one calling f; the second one is simply &f 16:25
(if the second one look contrived, consider a vtable indirection, etc)
(pugs's evaluator stores this info (enterBlock vs apply), which is why we can provide consistent &caller) 16:26
TimToady so it's more like "find me a context that isn't 'inline'" 16:27
audreyt we want to find the first frame that is generated with apply
right.
TimToady how to name it, then? 16:28
audreyt context({ !.inline }) ;)
TimToady not good enough
16:28 vel joined
TimToady you could be called from a context that thinks it's inline 16:28
audreyt context({!.inline},1)
TimToady might work 16:29
audreyt true that
the .inline info is populated by the evaluator
TimToady plus it still doesn't do what the user expects on custom control vs &?ROUTINE, I think 16:30
16:30 the_dormant joined
audreyt so that should work: "find me the first frame that wasn't called as a inline block; then find the one after it" 16:30
thought about that; I think the answer is that custom control are expected to always use .callswith
TimToady not apply 16:31
audreyt or some other frame-upto-caller erasure trick
TimToady ok
audreyt should talk about that in spec too
macros of course by definition fix all this
so that's another way out for customcontrol writers
TimToady </handwave>
gaal rhi
audreyt er no, I mean a macro's dyncontext is naturally separated
gaal oi, kyboar ropping hars again...
audreyt so if you write statement:for as a macro, it doesn't even have a frame at runtime 16:32
but yeah, a non-macro control structure should always use .callwith etc, which by definition erases frames upto caller
TimToady so a tail-recursed caller is always outside the recursing func? 16:33
(or however you're supposed to say that...)
audreyt (...recursively...) 16:34
gaal rerehi with an E
TimToady you can say that again...
audreyt tail recursion optimization, if present, by definition erases frames 16:35
so either require implementations still provide CONTEXT info
or explicitly say it's okay to not provide consistent context info, in exchange for speed, and pretend we're scheme (etc)
(option 1 is saner imho.) 16:36
TimToady but it would be nice to run fast 16:37
audreyt then you say &?SUB.callwith
we don't have a form that explicitly say callwith-then-return?
pugs had &?SUB.goto for that (noncanonical)
that we can unroll happily 16:38
(as can &?SUB.callwith with more work)
TimToady nextwith is the new gotowith
audreyt ahh ok 16:39
[particle] is nextto the new goto?
16:39 jisom joined
audreyt so yes. nextwith is the way if you really want fast tail call 16:39
and you are not limited to tail position then 16:40
so more general
TimToady in any case callwith is probably "inline", which neatly captures it's "unofficial" frame, I suspect 16:42
gaal how do I iterate over two arrays in parallel and get the current element of each and an index? each(@x, @y, [1..*]) ?
audreyt yeah.
how do we invoke a method with callwith?
say I want to callwith $obj.meth(1)
moritz_ gaal: zip them first, then iterate?
gaal was that yeah to me or to TimToady? :) 16:43
TimToady each is non-spec 16:44
gaal oh
so for (zip @x, @y).kv -> [$x, $y], $i { ... } ?
TimToady &method.callwith(|\($obj: 1,2,3)) perhaps
audreyt two invocants 16:45
$obj.can('meth').callwith(1,2,3)
is one way to do it
(assume a precurrying .can in Code context)
TimToady zip is now supposed to return flattened by default like each used to 16:46
audreyt in perl5 I often wondered why .can does not precurry :) 16:47
gaal TimToady: thanks
audreyt if (my $f = $obj->can('meth')) { $f->($obj, 1, 2, 3) } # $obj is duplicated
TimToady &meth.assuming($obj:) seems like it ought to work 16:49
gaal conceivably you might want to call it on another object; maybe use used can just to avoid looking at the symbol table
audreyt sure it ought 16:50
$obj.can('meth').assuming($obj:).callwith(1,2,3)
I don't know. maybe it's huffmanly correct.
"if you really want to..."
TimToady well, it's a normal thing for a dispatcher to want to do 16:51
audreyt and why punish oo dispatchers :)
TimToady to prevent people from writing their own, hopefully?
audreyt ok :) 16:52
(and .assuming is a fine way to do it; I'm content)
gaal giving a precurried $f in perl 5 means you _can't_ call it on another invocant. presumably p6 .assuming accepts overrides! 16:53
TimToady I don't think so
16:54 VanilleBert left
TimToady it's not just adding defaults 16:54
it's rewriting the sig
gaal nod, hmm you're right of course 16:55
TimToady if you assume the invocant you just have a sub call
gaal what about mmd? 16:56
orthogonal to sub/method.. riht
^ih^igh
gaal mooses out of this convo and back to sigstuff 16:57
TimToady only/multi is really an attribute of the shortname
17:00 weinig is now known as weinig_
gaal audreyt: :($x, $y) :+: :($z, $y) == ? this is lossy: :($, $, :$x, :$y, :$z) 17:02
because we didn't fix the second name to "$y"
audreyt but lossy is okay (agrees with prop)
gaal hmm maybe :($, $y, :$x, $z) is better but harder to moose 17:03
audreyt :($, $y, :$x, :$z) is okay too if you can manage it
lichtkind TimToady have you decided if there will be an for {} else {}? 17:04
17:05 gnuvince left
TimToady lichtkind: there will not 17:13
lichtkind a decicion by intiotion or by logic?
intuition 17:14
TimToady as usual, a mixture of both
gaal intuitionist logic?
audreyt sounds very constructive
gaal it's not not constructive 17:15
audreyt rofl
lichtkind TimToady understandable but as you seen on list i would prefer to have this, but perl6 will have macros++ to make this 17:16
TimToady lichtkind: when I see two sets of people who think it should dwim two different ways, logic tells me it's a bad interface
audreyt "let a thosand languages boom"
er, bloom.
TimToady boom works
lichtkind haha 17:17
gaal a boom is a good start. of course, you need a mast, a sail, a hull, halyards...
lichtkind Mao--
gaal and then a good breeze
TimToady "'Tis a mere capful of wind, lad." 17:18
lichtkind TimToady yes even if i dont know the dicussion as well as you it was my thought that some might misunderstand the the concept
TimToady it does point up something missing, though 17:19
which is that I think maybe a loop in scalar context should default to returning its last value rather than all its loop values. 17:20
using gather/take to return one item is kind of overkill
and it would make Loop.leave($final) work correctly 17:21
svnbot6 r15713 | audreyt++ | more unTODO
17:22 kanru joined
gaal goes back to making this algo scud & 17:22
svnbot6 r15714 | audreyt++ | * &code.goto is now &code.nextwith. 17:24
r15715 | audreyt++ | * Change everything from .goto to .nextwith. 17:27
17:27 pjcj joined
TimToady well, some of them my be .nextsame instead 17:28
17:29 weinig_ is now known as weinig
gaal what does C<when> without a C<given> break out from when it fires? nearest enclosing block? 17:30
17:31 Schwern joined
gaal nearest topicalizer? 17:31
17:32 Southen joined 17:33 vel joined
svnbot6 r15716 | fglock++ | PCR - refactored complex character set emitter into a submodule 17:36
audreyt gaal: the nearest &return frame, currently, in pugs 17:38
gaal okay, ended up using given anyhow... 17:39
if I run a closure in a when, can I bind lexicals there? when { $name = $xp ~name~ $yp } { ... mention $name here } 17:40
er, my $name, in the when
(well, I guess I can always declare it in larger scope...) 17:41
audreyt aye.
TimToady currently specced to break only out of the surrounding block 17:44
there is not really any "topicalizer" category for blocks
gaal TimToady: so given { { when .... } } is a bug? 17:45
17:45 andara left
TimToady S04:561 17:45
audreyt but oh wait!
gaal audreyt: :($x) :+: :(@x) = fail incompat?
audreyt sorry. the nearest dynamic frame. 17:46
which is like, surrounding block.
(implemented this way too; I misparsed the tryout code)
TimToady gaal: potentially a bug, though your snippet doesn't exercise the option 17:47
audreyt ?eval sub f { { default { 1 }; die "1" } die "2" }; f()
17:47 evalbot_r15704 is now known as evalbot_r15716
evalbot_r15716 Error: ā¤Unexpected "die"ā¤expecting operator or "}" 17:47
audreyt ?eval sub f { { default { 1 }; die "1" }; die "2" }; f()
evalbot_r15716 Error: 2
audreyt there we go.
17:48 justatheory joined
TimToady Tempting to force Label.when to work, or somehow tag $_ with the topicalizer label 17:48
(if there is one)
but I think that would likely be insane 17:49
gaal hmm, look like mismatching sigils have to be a fail, though possibly if we relegate to named w/o positional trace we can get away with it? 17:51
TimToady can always do Label.leave(42) anyway
audreyt gaal: correct.
gaal: mismatching sigils is okay if one is $ 17:52
TimToady why not just unify to $ anyway?
audreyt even % against @ can be satisfied by something that does both
well, @ against @ should unify constraint
(Array)
17:52 bernhard joined
audreyt and %/@ should unify to Array|Hash (etc) 17:52
but yeah, can always just unify to $
17:53 as joined
audreyt again, too lax not really a problem, except that we don't probably sufficient context, except htat's okay 17:53
*propagate
TimToady I wonder if "hyper" is a variant of "eager" that allows parallel execution 17:54
gaal addactive 17:55
TimToady @foo = hyper map { ... }. @bar
lambdabot Maybe you meant: faq ft todo yow
TimToady maybe I didn't
lambdabot needs a "Perl spam" filter 17:56
moritz_ ;)
gaal so I'm not clear on this. $ <> non-$, leave $? positional trace and add named
?
that might bork things though
you can't really change the arity, or leave holes in the required part
this is mad :) 17:57
eg :($x, $y, $z) :+: :(@x, $y, $z)
TimToady indeed, which is why we allow people to specify explicit protos. :) 17:58
"Warning: your prototype is not yet in 42nd Normal Form" :) 17:59
gaal "Warning: the following error message may be disturbing: ..."
brb
audreyt gaal: no, always unify to $ 18:00
:($x, $y, $z)
is correct
since @x is just
Array $
in disguise
lichtkind TimToady are there any rules that are derived from snobol? 18:01
audreyt sleeps :) & 18:02
lichtkind gute nacht
18:03 xerox joined 18:04 forsaken joined 18:05 awwaiid joined
obra seen agentzh 18:08
TimToady lichtkind: nothing directly, except the general notion that failure should be specified toward the right margin rather than the left. 18:09
18:10 cognominal left
lichtkind ah cool honestly this questionen come from a friend who likes old languages i didnt know that even snobol exist 18:11
18:11 cognominal joined
lichtkind but as far i can see pretty powerfull so i wonder that perl could grow that strong 18:12
specbot6 r14346 | larry++ | Further refinement of caller semantics to dwim in displaced closure calls.
18:12 ozo_ joined
lichtkind i think snobol hadnt this kind of community 18:12
araujo does that even have a community? 18:14
araujo hides 18:15
lichtkind ahh why be so shy
TimToady did you talk about the perl6 ex regex rules or general perl6 rules?
i ment the first
svnbot6 r15717 | fglock++ | PCR - more refactorings (causes some new failures in t/regex)
18:23 weinig is now known as weinig|bbl
gaal oh, that makes sense :) 18:23
18:25 vel joined
TimToady snobol is powerful in sort of an "assembly language for pattern matching" sense, but predates regex culture basically. 18:29
specbot6 r14347 | larry++ | New "hyper" listop that is an explicitly parallelizing variant of "eager".
TimToady in your first sense Perl didn't borrow anything directly from snobol, except perhaps the notion of keeping track of the current match position in a user-accessible fashion. 18:31
geoffb TimToady: I know the compiler is allowed to parallelize over each hyper'ed op, but what about over an entire expression involving multiple hypers? (e.g. @a = @b >>*<< @c >>+<< @d >>*<< @e) 18:32
18:32 cognominal joined
geoffb One of the performance problems I found with PDL is that if you didn't use PDL::PP, every op created, computed, and broke down a temp piddle. This is way slower than computing the entire result all at once. 18:34
TimToady all hypers are explicitly parallel 18:35
so I think that's what you want
geoffb TimToady: Ah, so my above expression needs no temp arrays, and will compute each element as @b[n] * @c[n] + @d[n] * @e[n] (in PDL::PPish notation)? 18:36
18:36 mdiep joined
TimToady seems to me that if the individual parts explicitly don't care, then you can calculate the whole thing in any order that makes sense 18:37
geoffb EXCELLENT.
TimToady++
TimToady that's the intent
most of S09 is explained by the desire to make PDLers insanely happy.
geoffb (Mind you, I expect it will be a little while before someone makes an expression optimizer that DTFT nearly always) 18:38
nodnod
18:40 vel joined
TimToady that's -> $n { @b[$n] * @c[$n] + @d[$n] * @e[$n] } in P6 autoindex notation 18:41
but I see I should remark about the parallizability of that.
s/ll/llel/ 18:42
lichtkind TimToady thanksfor answering even weird question
TimToady as long as you don't mind weird answers occasionally. :) 18:45
gaal "p15y" 18:48
specbot6 r14348 | larry++ | autoindexing should assume parallelizability (that's a hard word to type) 18:49
lichtkind hehe 18:50
18:50 silug joined
[particle] p11bility 18:50
gaal p14ity 18:51
moritz_ p16y
TimToady such a p1ty
gaal p.*y 18:52
fglock concurrency ? 18:53
gaal (wc -c users, deduct one for newline)
fglock: conc potential
18:55 mdiep joined
specbot6 r14349 | larry++ | Clarify adverbial use where infix expected. 19:16
TimToady hmm, is anyone else receiving spec updates on p6l? 19:17
geoffb yes
19:19 vel joined
TimToady in the last 12 hours? 19:27
geoffb Yes, I've gotten all the ones you've posted, reasonably quickly too 19:28
TimToady got a p6c post this morning, so it's not that perl.org has blacklisted me. hmm...
Arathorn me too, fwiw
(in terms of getting p6l posts) 19:29
geoffb (OT) Anyone here with screen(1) fu?
TimToady a little
tene geoffb: a little. what's up?
19:30 ozo_ joined
geoffb Is it possible to get screen to split the window vertically, rather than horizontally? 19:30
tene geoffb: No.
geoffb bah, humbug
(programs not yet aware of widescreen displays)--
19:30 nxu7-wrk joined
wolverian try ratpoison 19:31
ajs_ geoffb ... emacs will do that.
tene so can vim, but it's pretty lame to require an editor to do that. 19:32
geoffb ajs_: nodnod, and I use that a lot for editing, but I don't like emacs' shell handling, so I run emacs inside screen, rather than the other way around, if you understand my meaning
offby1 does any sane person run "screen" inside emacs?! 19:33
geoffb looks up ratpoison
ajs_ I do
offby1, yes
TimToady I'm just a poor Warfarin stranger... 19:34
offby1 slaps TimToady upside the haid
man, that one really hurt
geoffb wolverian: need real console-only behavior, it looks like ratpoison is an XWM. (I'm running screen on a remote system to access other boxen on its network, and X remoting is nix) 19:35
offby1 ajs_: seriously? Do you use M-x term?
svnbot6 r15718 | fglock++ | PCR - finished char sets; added more tests
ajs_ I've done a number of things, yeah. Been years, but there are times that you're in a subshell in emacs and you want to create a stateless session on some remote host with which you are interacting
Mind you, I'm the kind of whackjob that runs vi inside of emacs terminal emulation too 19:37
offby1 :-) 19:38
I didn't say it, you did
19:39 particleS joined
geoffb "My client is insane, your honor." "And what evidence do you have of that, counselor?" "Your honor, I call my client to the stand to discuss his use of editors ..." 19:39
19:39 particleS is now known as |particle| 19:40 |particle| is now known as [particle]
TimToady are you guys subscribed to perl6-language directly or through perl6-all? 19:41
geoffb p6l directly, I believe. I only watch the other ones through the digests.
TimToady maybe the perl6-all alias is hosed somehow... 19:42
except then why would I be getting p6c okay?
moritz_ Unexpected "$expected"<-- nice error message ;)
TimToady the logs show nothing coming in for p6l, so it's not making it to my machine
geoffb Maybe p6-all is hosed in the sense of "resending the wrong list of child lists" 19:43
I dunno how p6-all was created (whether it is a subscriber/forwarder from the other lists, or some special thing in the MLM)
TimToady maybe... or perhaps some friendly ISP is removing it as "spam" 19:44
for too many $ signs, no doubt. :)
svnbot6 r15719 | fglock++ | PCR - closed several TODO
geoffb heh 19:45
[particle] maybe somebody accidentally shifted @Larry
geoffb rues the number of spams he's been getting recently that try to work around bayesian filters by including sizeable chunks of unix docs .... 19:46
TimToady maybe they started including sizeable chunks of synopses. :/
moritz_ ;)
geoffb (clearly optimizing for the wrong people's filters ... this technique gets them exactly the people most likely to be pissed off)
heh 19:47
[particle] more likely it's text they have readily at hand
geoffb [particle]: my guess as well. But I had hoped that they would put 2 and 2 together and get at least 3 .... 19:48
TimToady If ever I was tempted to administer warfarin to a stranger, that would be it...
geoffb LOL
19:48 justatheory joined 19:51 prly joined
fglock @tell putter Pugs::Emitter::Rule::Perl5::CharClass may be reusable for your code, it's not meant for any specific engine; otoh it may have bugs 19:58
lambdabot Consider it noted.
19:59 ofer0 joined
geoffb fglock: Would you mind explaining what the current rule/regex engines are right now? I've gotten rather confused about what gets used by Pugs, what gets used by Parrot (PGE I assume), what gets used by v6.pm, and what is open research .... 19:59
fglock geoffb: Pugs and v6.pm share Pugs::Compiler::Rule (PCR) 20:02
geoffb fglock: or, of course, point me to an URL ...
fglock Parrot uses PGE, which is written in Parrot
20:02 devogon joined
geoffb ah, OK. 20:02
Anyone else work on PCR besides you?
fglock and kp6, which is "MiniPerl6", bootstraps with it's own rule engine 20:03
geoffb And how complete is PCR?
20:03 offby1` joined
fglock hmm, not really 20:03
it is mostly usable, but there is a long TODO list
geoffb Where does kp6 fit into the big scheme of things? And is it written in P5? 20:04
fglock it needs better integration with Pugs (haskell-perl5) communication
kp6 is written in kp6 :)
geoffb gotcha about status
What is wrong with pugs communication at present?
fglock kp6 is bootstrapped in perl5
but it could compile to parrot 20:05
20:05 offby1` is now known as offby1
[particle] some work was started on that, but never finished 20:05
ayrnieu where is kp6?
geoffb So kp6 is investigating the boundary of how little is actually needed from the "vm", and how much can be done in pure p6?
fglock re communication - it seems that variables inside regex aren't shared with haskell; needs some work to find out why 20:06
geoffb
.oO( This is part of why I'm on IRC again ... it's so hard to see the big picture when audreyt is not producing copious presentations, and all you have is the mailing lists to glean from.)
20:07
ayrnieu oh, kp6 = v6.pm?
geoffb fglock: ah
fglock sorry, I meant "mp6" - mp6 is the "how little is needed" version
v6.pm == perl6-in-perl5
geoffb See, even you get confused!
:-)
fglock kp6 == more advanced version of mp6
20:07 Aankhen`` joined
fglock heh 20:08
ayrnieu OK, where is mp6?
fglock v6/v6-MiniPerl6
geoffb OK, so we currently have: kp6, mp6, v6.pm, Pugs, PGE. Does that about cover it?
ayrnieu no, PGE is just the rules engine.
you want: languages/perl6
geoffb Oy. OK, thanks ayrnieu 20:09
fglock oh, we have about 4 or 5 rule engines actually
geoffb So kp6 -> kp6, mp6 -> ?, v6.pm -> PCR, Pugs -> PCR, l/p6 -> PGE ...?
jebus 20:10
No wonder I'm lost
fglock PCR itself has several internal engines, with different kinds of optimizations
lets see..
[particle] this merits visiolization 20:11
fglock the main projects are Perl6/Haskell and Perl6/Parrot
geoffb [particle]: hell yes.
20:11 vel joined
fglock these projects aim to a complete implementation of the spec 20:11
Perl6/Perl5 implements a reasonable subset of the language 20:12
but it doesn't aim for completeness, because it would make it too slow/too complex
geoffb (I assume P6/P5 won't implement everything because ... oh, you beat me to it.)
Making sense so far. 20:13
fglock then, there is Perl6-on-Perl6
ayrnieu that being the ultimate, holy goal.
fglock there are several small pieces of p6-p6 all around 20:14
geoffb hears a choir sing ....
20:14 cognominal joined
fglock TimToady's STD is a p6 grammar; pmichaud also did a p6 grammar; 20:14
PCR is partially written in p6 20:15
20:15 kunwon1 joined
fglock and mp6 implements a working (but limited) p6-on-p6 20:15
moritz_ this is partly confusing ;)
geoffb PCR is a P5 module written partially in P6? Using v6.pm?
fglock yes
geoffb wow, cool. OK, go on
fglock v6.pm was bootstrapped about an year ago, with a mini compiler named "lrep" 20:16
which is reverse-"perl"
geoffb (as an aside, I'm really interested in P6-on-P5, even without all the shiny semantic features, because I like the P6 syntax so much)
heh
fglock lrep was then split into PCR (the regex engine), and v6.pm (the perl6 compiler) 20:17
Pugs now uses PCR through a haskell-perl5 bridge 20:18
geoffb fglock: OK, I think I understand
fglock that's it for the main projects, but then we have many small projects 20:19
mp6 is a completely self-contained bootstrapped compiler
geoffb So why kp6 and mp6? Why were they not just improvements on v6?
fglock mp6 can theoretically be boottrapped in almost any vm/language 20:20
geoffb "Supply these n primative ops, and you're set"?
fglock but the compiler internals are too simple for the necessary AST transformations that Parrot (for example) requires 20:21
yes
geoffb ah
fglock it is a more complex compiler, written in mp6 20:22
s/^/kp6 /
kp6 implements "plugins" for almost all internal operations 20:23
geoffb OK, so mp6 is written in mp6, bootstrapped some ago in P5 I assume, then kp6 was written in mp6, providing more complexity with the goal of ... being able to target Parrot?
meppl good night
geoffb g'night, meppl
Is mp6 complete enough that it's not needing to change to support new kp6 features? 20:24
fglock yes; kp6 can also provide a more feature-complete p6-on-p5
meppl ;) 20:25
20:25 Schwern joined
fglock other small projects going on: 20:25
geoffb fglock: Does it get that feature completeness at the expense of speed? In other words, will both kp6 and v6.pm have separate niches in the end game?
fglock putter's implementation of a rule engine in ruby, and another one in perl5
geoffb go putter
svnbot6 r15720 | moritz++ | 99problems/problem64.t implemented (tree alignment 1) 20:26
fglock geoffb: re speed, yes
geoffb fglock: got it.
geoffb is glad to have the choice, frankly.
[particle] use more <speed>; use more <features>; 20:27
geoffb [particle]: 'xactly.
fglock kp6 would be *very* slow to compile itself; but mp6 does it very reasonably
geoffb cool
So has anyone other than Pmichaud managed to target parrot as a back end yet? 20:28
fglock that's it, I guess :) 20:29
yes, Pugs can do it
geoffb And whatever happened to the JS backend?
[particle] there may be some bitrot on the pugs/parrot integration atm
fglock it's still there
geoffb Ah, the pugs -> parrot backend works? I always thought it was rotten
[particle]: nodnod, that's what I thought
fglock: maintained at all? 20:30
fglock it needs a lot of work
geoffb k
fglock for some value of "works"
moritz_ fglock: dW = Fdx
fglock: that's my definition of work ;)
fglock hmm - I need a better irc client
geoffb ? 20:31
fglock moritz_ is that "work" and "features"?
moritz_ fglock: that's just "work" ;) 20:32
differential work, to be exact ;)
[particle] an incremental unit of work is equal to a force applied to an incremental distance
fglock re kp6, there are several experiments there with p5, parrot, C 20:33
geoffb fglock: OK, do tell ... 20:34
fglock I think the most useful place to apply more work right now is TimToady's STD
moritz_ can pugs compile STD.pm right now?
geoffb moritz_: I saw a recent TimToady commit mentioning trying to get STD more parseable by pugs ... 20:35
fglock though I've been procastinating implementing DFAs in PCR for a while
STD in pugs depends on PCR...
geoffb heh ... no pressure fglock 20:36
20:36 the_dormant joined
[particle] STD is *parseable* by pugs, with certain hacks 20:37
languages/perl6 can't parse it yet
we should probably have a set of tests, similar to 01-sanity, as prerequisites for compiling STD 20:38
tene is STD parseable by STD?
[particle] ESPACETIMERIFT 20:39
geoffb WORMHOLE EXTREME! *cough* sorry about that ... 20:40
20:41 lichtkind joined 20:42 cognominal joined
fglock the problem for PCR is not just parsing it, but being able to emit working code for some constructs 20:44
a hackathon for this would be nice :) 20:46
20:48 ozo_ joined
fglock I wonder if porting PCR to pugs would make it easier to make progress 20:48
20:49 Caelum joined
geoffb fglock: porting in what sense? Rewriting it in full P6? 21:01
fglock geoffb: yes; the parser is already in p6 21:08
all it needs is an emitter that emits perl6 code. There are partially written emitters for perl6 and for haskell, even 21:10
geoffb wheee 21:11
21:12 ludan joined
geoffb sees Perl 6 as a massive construction site involving multiple buildings, each in a different state of completion from just laying out the foundation up to hanging the facades 21:12
geoffb is free associating a lot today and clearly lacking sleep .... 21:13
ludan hi
21:13 Schwern joined
moritz_ hi ludan ;) 21:13
geoffb: but sounds quite right ;)
fglock geoffb: yes, like that
moritz_ geoffb: and in your analogy, what are the test cases? *g* 21:14
geoffb cannoneers from the opposing army? Oh wait, mixing time periods there ....
Maybe gravity is the ultimate test case. :-) 21:15
moritz_ ;)
and "make smoke" is an earth quake ;)
geoffb LOL
nice
*foreman with arms akimbo* Hey buddy, which you mind taking your earthquakes elsewhere? We're trying to build something here .... 21:16
21:22 offby1` joined
fglock home & 21:23
21:32 buetow joined, stevan__ joined 21:36 ozo_ joined
[particle] svn.perl.org is down :( 22:10
moritz_ ... speaking of earthquakes ;) 22:14
svnbot6 r15721 | moritz++ | 99problems/problem65.t implemented (layout a binary tree (2)) 22:18
22:20 zald joined 22:33 cognominal joined
moritz_ prof.ti.bfh.ch/hew1/informatik3/prolog/p-99/ any ideas how to tackle P66? 22:34
22:54 Psyche^ joined 22:55 larsen_ joined 23:10 Psyche^ is now known as Patterner 23:19 offby1` is now known as offby1 23:20 cognominal joined 23:31 forsaken joined
svnbot6 r15722 | moritz++ | problem67.t: implementation of first bit 23:54