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.
dduncan to follow up, it appears that what I missed was running this: sudo ranlib /usr/local/lib/ghc-6.6.1/*.a ... which got me past my stated problem 00:05
and the Pugs Makefile.PL now cmopleted
diakopter moritz_: ping 00:30
pugs_svnbot r17316 | lwall++ | [STD] cheated/metholated version now 100% parsable by pugs 04:16
diff: dev.pugscode.org/changeset/17316
lambdabot Title: Changeset 17316 - Pugs - Trac 04:17
bsb 100% proof metholated 04:49
moritz_ diakopter: pong 05:15
diakopter: I'm only here for a few minutes, then again in ~10h 05:16
moritz_ perhaps a mail might be more efficient... you find my address in commitbit 05:26
$work &
pugs_svnbot r17317 | lwall++ | [STD] can now parse terminators, ws, and (very nearly) prefix ops 08:12
r17317 | lwall++ | [Metholated] now knows ALNUM, VSPACE, HSPACE, after, and BOL
r17317 | lwall++ | [metholate] fixes context vars that pugs doesn't like in sigs
diff: dev.pugscode.org/changeset/17317
lambdabot Title: Changeset 17317 - Pugs - Trac
pugs_svnbot r17318 | fglock++ | [kp6] added t/kp6/34-typed-container.t (fails) 12:53
diff: dev.pugscode.org/changeset/17318
lambdabot Title: Changeset 17318 - Pugs - Trac
pugs_svnbot r17319 | fglock++ | [kp6] typed containers are "not wrong" 12:56
diff: dev.pugscode.org/changeset/17319
lambdabot Title: Changeset 17319 - Pugs - Trac
pmurias fglock: hi 13:16
fglock pmurias: hey
pmurias fglock: is there anything in particular i could do? 13:27
fglock pmurias: I'm trying to follow the plan at moritz.faui2k3.org/pugs/v6/docs/kp6...p.pod.html 13:28
lambdabot Title: kp6-roadmap
fglock the next step could be to fix the Array and Hash implementations 13:29
in order to implement Signatures/Captures
the plan also needs work - there is no Milestone 4.2 13:30
4.2 will depend on which extra functionality STD needs 13:33
pmurias i'll try to do the Hash then 13:35
fglock cool - there is some previous work from the pil-run implementation 13:38
masak reuse++
fglock but we don't need everything right now (slices, OO-keys)
masak fglock: what's the goal of kp6? 13:40
fglock masak: it's yet another Perl 6 compiler, but it is written in a subset of Perl 6
masak what's "kinda" about it? 13:41
fglock because the "real" Perl 6 compiler would be written in "full" Perl 6
masak ah, ok
fglock the "kinda" is about the source code
masak doesn't sound like a real disadvantage to me, that it's being written in a subset 13:42
that might be good for portability, for example
fglock yes, that's one advantage; the disadvantages are that we have to implement our own tools (Pugs reuses a lot from Haskell and Perl 5), and it's slow (the Parrot compiler should be much faster) 13:47
masak "nod"
*nod*, even
fglock but it's fun :)
pmurias using mp6 instead of full p6 hinders portability in a way 13:49
as writing a backend in mp6 is way more work then it would in full p6
masak pmurias: why? 13:50
or rather, does that not presuppose the existence of a full p6 compiler? 13:51
pmurias i mean that mp6 might be an advantage over for example pir, but when kp6 is ready enough i don't think one would gain much by not writing it in itself 13:55
pmurias it's not as if i had a finished p6 compiler hidden somewhere ;) 13:56
masak I hope not ;) 13:57
fglock pmurias: that's the idea; rewriting kp6 in itself == writing Perl 6 in Perl 6 13:58
masak fglock: so the goal of kp6 is to converge towards a full p6 compiler, written in itself? 13:59
pmurias fglock: i know 14:00
masak: yes
masak ponders that 14:01
fglock hmm - I'd better remember the reason why we are not using pugs to write the compiler 14:02
fglock I think it's because perl5 is just easier to hack with 14:05
pmurias i'm thinking of writing a helper function: class ClassName=>{method_name=>sub {...}} 14:07
pasteling "pmurias" at 81.168.228.98 pasted "how ugly things look right now" (13 lines, 329B) at sial.org/pbot/26953 14:10
pmurias anything wrong with the suggestion, DispatchSugar turned out to be toxic so not sure if i should go with it 14:13
s/,/?/
fglock pmurias: looking 14:14
fglock pmurias: toxic in what way? 14:14
i'm not much into sugar functions 14:18
pmurias DispatchSugar requires sprinkling sugar calls all over the place, and makes the objects too magical internally 14:19
pasteling "pmurias" at 81.168.228.98 pasted "comparision of sugar versus no sugar" (23 lines, 504B) at sial.org/pbot/26954 14:23
fglock pmurias: it looks like Moose 14:25
i think the most cryptic part is " sugar { %{ $_[0] }, _value => {}, } ", and the sugar doesn't help there 14:29
pmurias &sugar is intended for deletion 14:36
fglock pmurias: i guess i'm ok with no-sugar; i think it ends up easier to debug 14:38
we could use ::CALL instead of ::DISPATCH 14:39
i guess i'm bikeshedding 14:40
pmurias fglock: ::DISPATCH works great withought &sugar why should we change it 14:49
pugs_svnbot r17320 | pmurias++ | kp6: a Hash stub implemented using a new helper function
diff: dev.pugscode.org/changeset/17320
lambdabot Title: Changeset 17320 - Pugs - Trac
pmurias the point of &sugar was to use -> instead of ->{_dispatch}, but ::DISPATCH does the same thing 14:51
cycling&
fglock pmurias: ah, ok 14:52
masak what's the difference between v6/v6-KindaPerl6/lib and v6/v6-KindaPerl6/llib5? 15:35
s/llib5/lib5/
fridim_ b5?
(sorry)
masak :)
but really 15:36
they seem to contain many of the same files
TimToady I would imagine blib5 is the p5 translation of the kp6 versions in lib
masak except it's not blib5, it's lib5 15:37
moritz_ TimToady: you imagine right ;-)
masak and some of the files are identical
moritz_ they are not "binary", after all
masak so if I'm curious, I should look at the originals in lib? 15:38
moritz_ right
fglock masak: the files in Runtime/Perl5/ are identical, because they are already Perl 5 15:45
masak ah
moritz_ wonders if the supplemental services like evalbot, irc logging etc. should go into a separate svn repository 16:17
to keep the pugs repo a bit cleaner
on the other hand the overhead of maintaining to svn repos might be overkill 16:18
diakopter moritz_: while you're at it, I'd like to see separate trunk/branches(/tags?) for the various implementations - pugs, mp6/kp6, etc. And even a separate one for the test suite (building pugs' CPAN distribution would either include it or refer to a separate distribution)... but all of that can still be in the same repo - just in different dirs. We can do /pugs/* -> /projects/trunk/pugs/* redirecting for the old links.... yes I know it's 16:20
... suggestion. :(
oops, /projects/pugs/trunk/* I meant... 16:21
masak diakopter: that sounds like a really good idea
diakopter masak: there are detriments, though 16:22
moritz_ diakopter: you are thinking of a perl 6 repo, not a pugs one ;-)
diakopter moritz_: yeah :/
moritz_ I don't object, but you should consult audreyt and TimToady at least ;-)
masak pugs practically is a perl 6 repo...
s/pugs/the pugs repo/ 16:23
diakopter I'm certainly not wholeheartedly recommending it, as I know it would cause grief
masak it would certainly cause disorientation at least
diakopter but I thought I'd bring it up since you mentioned splitting some out at all.
masak but it might be good long-term 16:23
diakopter honestly I'd kinda like to "start over" with all the non-haskell svn.pugscode.org/pugs/* stuff... in either one new repo or a bunch of new repos... 16:24
masak why? 16:25
diakopter masak: purely in case audreyt can't be reached for a decision on pugs proper
masak hm 16:27
diakopter masak: I mean, the repo could be cloned to retain history.
masak that's what svn does, retain history
diakopter bbiab
er, yeah
masak did not mean to score a cheap rethoric point, I just don't really understand the exact purpose 16:30
masak (and I sincerely hope that audreyt can be reached for a decision on pugs proper for all foreseeable future) 16:31
diakopter I meant that it could be forked, (tentatively/temporarily) to leave both options open for her. 16:34
masak which two options?
restructured repo vs old repo? 16:35
diakopter keeping pugs proper in the existing repo/url/structure or moving it to some new structure/url (whether in the same (actually "forked") or its own repo).
masak was audreyt almost coming back to pugs development for a while, and then disappeared again? I seem to recall her talking briefly about relenging, but haven't seen her since 16:37
diakopter I haven't heard much recently. obra: ping? 16:38
masak there certainly are benefits to keeping all activity in one repo, as now
diakopter definitely 16:40
masak this channel is one. would perl 6 activity split into many projects, channel activity might split, too 16:41
diakopter I'd hope not. I'd think moritz_++ 's new AIO bot would keep it close :) 16:41
masak yes, most likely :) 16:42
depends how independant the other projects got, I guess
diakopter sharing a virtual bazaar is healthly for competitors and cooperators. :)
masak is desperatly waiting for 6.28.0 16:43
diakopter the question is whether/when would parrot/nqp and parrot/perl6 discussion migrate over here.....
masak heh
moritz_ somehow I doubt that they will
they have stricter coding styles, stricter access controll (less commiters)... 16:44
somehow I think they feel safer in their own repository
diakopter I didn't mean repository
I meant the channel
moritz_ ah, ok
@seen pmichaud 16:45
lambdabot I haven't seen pmichaud.
moritz_ seen pmichaud 16:45
buubot moritz_: Sorry, I haven't seen pmichaud
masak diakopter: it might be that, to the extent that they intersect, the discussions have already migrated
in which direction I'm not sure, probably both
diakopter TimToady and pmichaud routinely have syntax/grammar discussions on #parrot the past coupla months
Muixirt hi 17:27
masak hello. 17:27
Muixirt in what charcter encoding is perl souce code written in? 17:28
moritz_ are you talking about perl6?
Muixirt yes
moritz_ that assumes utf8
Muixirt does the language itself use characters that arent ascii? 17:29
moritz_ yes 17:30
moritz_ for example «...» (that can be written as <<...>> as well) 17:31
wolverian though that is latin1
moritz_ ?eval «foo bar baz».perl
wolverian I think the core language still doesn't require any characters outside the latin1 set
moritz_ even latin1 is not ascii
wolverian sure
moritz_ and previously the Yen sign was a valid operator... 17:32
wolverian just saying that you don't need utf8 encoding if you're working in a legacy environment -- latin1 will do fine
moritz_ ENOEVALBOT
#pugs say «foo bar».perl
exp_evalbot OUTPUT[decodeUTF8': bad data: '\171'␤decodeUTF8': bad data: '\187'␤("foo", "bar")␤]
moritz_ my "evalbot" thingy doesn't do non-ascii data yet 17:33
where is the real one?
pmurias #kp6 say "Hello" 17:59
exp_evalbot r17316: OUTPUT[Hello␤]
pmurias #kp6 my $a=1;say "Hello $a"
exp_evalbot r17316: OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 35.␤]
pmurias #kp6 my $a="World";say "Hello $a"
exp_evalbot r17316: OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 35.␤]
fglock pmurias: no var interpolation yet 18:03
pugs_svnbot r17321 | fglock++ | [kp6] minimal implementation of Pair
diff: dev.pugscode.org/changeset/17321
pmurias dinner& 18:11
pugs_svnbot r17322 | fglock++ | [kp6] fixed Pair.str 18:12
diff: dev.pugscode.org/changeset/17322
lambdabot Title: Changeset 17322 - Pugs - Trac
pugs_svnbot r17323 | fglock++ | [kp6] Pair.str works 18:18
diff: dev.pugscode.org/changeset/17323
lambdabot Title: Changeset 17323 - Pugs - Trac
pasteling "pugsbot_r17185" at 193.200.132.135 pasted "Pugs build failure" (6 lines, 278B) at sial.org/pbot/26961 18:19
diakopter ?eval "yo" 18:19
pugsbot_r17185 "yo"
Pat____ ?eval [~] <m oo se> 18:21
pugsbot_r17185 "moose"
Pat____ ?eval 1??2!!3
pugsbot_r17185 2
Pat____ ?eval 1??$a=2!!$a=3; $a; 18:22
pugsbot_r17185 Error: ␤Unexpected "="␤expecting "::"␤Variable "$a" requires predeclaration or explicit package name
Pat____ ?eval my $a; 1??$a=2!!$a=3; $a;
pugsbot_r17185 \3 18:22
wolverian ?eval my $a = 1 ?? 2 !! 3 18:23
pugsbot_r17185 \2
Pat____ cananyone explain the previous ?
why is my result different than wolverian's ?
wolverian hm
Pat____ even though the precendence of the assignement should be lower ... 18:24
Pat____ actually it is not a perl6 thingy ... it is a perl thingy that bit us at work .. i just wanted to make sure perl6 behaves the same way 18:25
?eval my $a; 1?? $a=2 !! ($a=3); $a; 18:29
pugsbot_r17185 \2
masak seems there is only one way to parse it, precedance-wise 18:30
s/da/de/
Pat____ I tried figuring out the precedence rule but could not ...
masak ?eval 2 !! 3 18:31
pugsbot_r17185 Error: ␤Unexpected "!!"␤expecting operator
masak exactly.
I don't understand how it goes wrong
wolverian it compiles to 18:33
(1 ?? $a=2 !! $a) = 3
masak aaah
wolverian i.e. $a = 2 = 3
same thing in perl5
masak lvalues!
($a = 2) = 3 18:34
wolverian we have constant folding too, so it's actually directly compiled to $a=2=3
in perl5 anyway
yar, that.
masak will we ever get constant folding that reomves the 2? :) 18:34
s/om/mo/ 18:35
Pat____ :-)
who thanks guys
i mean whoa ...
i could not have guessed on my own
masak trust the #perl6 team to solve all your perl 5 questions :) 18:36
wolverian Pat____, you can play with perl -MO=Deparse -e'....' , and with B::Deparse's various options to make the output make more sense
it wasn't particularly useful in this instance, until I replaced the 1 with a variable.
Pat____ masak heheheh I thought this would do the trick ... 18:37
thanks wolverian I'll sure do that next time
Pat____ the output is at least helpful enough to know where perl was putting the implicit parens ... 18:39
ok so while I am here 18:45
how is perl 6 coming along ?
masak :)
Pat____ slowly but steadily ?
wolverian it's converging
masak \lim t->\infty perl6 = christmas 18:46
Pat____ hehhehe
then it'll be constant chrismas
wolverian I hope we don't need to wait infinitely... 18:48
[particle] don't worry, we'll let you unwrap some presents on christmas eve :)
masak pugs has at least brought christmas this side of infinity... 18:49
wolverian what's on the other side of infinity?
pmurias dosn't think constant christmas would be a good thing 18:50
[particle] Pat____: the behavior is documented under Conditional Operator section of perlop
masak wolverian: new years eve 18:51
[particle] (thanks goes to pmichaud on #parrot for that reference)
Pat____ thanks [particle] hehhe and to think i could have gotten an rtfm as an answer :-) 18:51
[particle] seems you're not the first deranged programmer to try that :P 18:52
masak Pat____: RTFM is not as -O fun as finding the answer :)
PerlJam Pat____: btw, the general rule is "if you're using assignment in the branches of the ternary op, you're doing something wrong" 18:53
masak heh 18:54
wolverian true :)
Pat____ perlbot are there other reasons beside the behaviour that bit me in the butt ?
oopps i meant PerlJam :-)
not to imply that you are a perlbot ... or that being a perlbot is a pejorative term :-P 18:55
PerlJam Pat____: There's the aesthetics of it. The abuse of the ternary op. And, of course, precedence.
Pat____ OK lesson learned 18:56
Pat____ oops time's getting late 18:59
gotta leave
pmurias fglock: ping 19:07
moritz_ #kp6 Pair.new(2, 3).say 19:28
exp_evalbot r17323: OUTPUT[Syntax Error␤]
pmurias #kp6 $p=Pair.new(2,3);$p.say 19:29
exp_evalbot r17323: OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 36.␤]
pmurias #kp6 my $p=Pair.new(2,3);$p.say
exp_evalbot r17323: OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 36.␤]
pmurias #kp6 my $p=Pair.new(2,3);say $p 19:30
exp_evalbot r17323: OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 36.␤]
moritz_ #kp6 class Main { has $p=Pair.new(2,3); say $p; }
exp_evalbot r17323: OUTPUT[syntax error at - line 3, near "( sub GLOBAL::p "␤Execution of - aborted due to compilation errors.␤]
pugs_svnbot r17324 | pmurias++ | kp6: basic Hash implementation (using the latest syntax sugar) 19:46
diff: dev.pugscode.org/changeset/17324
lambdabot Title: Changeset 17324 - Pugs - Trac
pmurias moritz_: the exp_evalbot is updated by hand?
i mean the kp6 in exp_evalbot 19:47
moritz_ pmurias: yes :( 19:51
pmurias: I added a cronjob, but somehow it doesn't run
.oO(maybe I should start cron in the chroot...)
moritz_ I never bootet the chroot, no wonder it didn't run 19:52
DarkWolf84 I made short program wich prints first 10 numbers in fibunacci sequence :) 20:07
masak ?eval (@fib := 0, 1, @fib >>+<< @@fib[1..*])[^10] 20:09
pugsbot_r17185 Error: ␤Unexpected " :="␤expecting "::"␤Variable "@fib" requires predeclaration or explicit package name
masak ?eval (my @fib := 0, 1, @fib >>+<< @@fib[1..*])[^10]
pugsbot_r17185 Error: ␤Unexpected "["␤expecting "::"␤Variable "@@fib" requires predeclaration or explicit package name
DarkWolf84 wow
masak ?eval (my @fib := 0, 1, @fib >>+<< @fib[1..*])[^10]
pugsbot_r17185 [0, 1, undef, undef, undef, undef, undef, undef, undef, undef]
masak :/
DarkWolf84 mine wasn't that shorter 20:10
but works
masak :)
DarkWolf84 :)
masak yeah
masak goes to look in examples/
PerlJam masak: I think perhaps pugs isn't that lazy yet. 20:11
DarkWolf84 ?eval my ($last,$now)=(0,1); ($now=$last+$now,"\n",$last=$now+$last).say for 1..10;
pugsbot_r17185 OUTPUT[1␤1␤2␤3␤5␤8␤13␤21␤34␤55␤89␤144␤233␤377␤610␤987␤1597␤2584␤4181␤6765␤] undef
DarkWolf84 :)
masak PerlJam: it's been known to work
DarkWolf84 but with pugs really can make short programs 20:12
pugs_svnbot r17325 | moritz++ | added svn-search, an web based and (of course) experimental
r17325 | moritz++ | search in the pugs svn logs.
diff: dev.pugscode.org/changeset/17325
lambdabot Title: Changeset 17325 - Pugs - Trac
DarkWolf84 :)
masak yes
DarkWolf84 ?eval (1, 2, 3).HOW.methods 20:55
pugsbot_r17185 Error: No such method in class Class: "&methods"
DarkWolf84 ?eval 42.HOW.methods
pugsbot_r17185 ["LIST","ITEM","bless"]
DarkWolf84 maybe bug again
DarkWolf84 why there is no .methods method on list 20:56
wolverian ?eval [1..3].HOW.methods 20:57
pugsbot_r17185 Error: No such method in class Class: "&methods"
wolverian bug. :)
masak ...which doesn't seem to have a test 21:03
I'll add one
masak but where? t/oo/meta_class.t? 21:04
hm, perhaps t/data_types/array.t 21:05
?eval [1,2,3].HOW
pugsbot_r17185 \Class.new(("is" => ("Lazy",)), ("name" => "Array")) 21:06
masak ah-ha!
not exactly _wrong_, is it? just... kinda wrong
is it unreasonable to expect the above to be equal (in the is() sense of 'equal') to "Array"? 21:07
masak ?eval [1,2,3].isa('Array') 21:09
pugsbot_r17185 Bool::True
masak hrm
DarkWolf84 mine says just {obj:Class} 21:10
:)
maybe I have to update my version
masak no, I don't think so
masak seems that isa() does the right thing 21:10
but .HOW does... something else 21:11
masak so... 21:17
either .HOW reports things in the wrong format and is at fault 21:18
or one is not meant to ever do [1,2,3].HOW eq 'Array', and should always use isa() 21:19
question is, which one is it?
DarkWolf84 [1,2,3].HOW 21:21
oops
?eval[1,2,3].HOW
lambdabot Unknown command, try @list
pugsbot_r17185 \Class.new(("is" => ("Lazy",)), ("name" => "Array")) 21:21
DarkWolf84 ?eval (1,2,3).HOW 21:22
pugsbot_r17185 \Class.new(("is" => ("Lazy",)), ("name" => "Array"))
DarkWolf84 the same
?eval < 1 2 3 >.HOW
pugsbot_r17185 \Class.new(("is" => ("Lazy",)), ("name" => "Array"))
masak yes, those should all be the same
DarkWolf84 I know but I wanna test 21:23
:)
masak mm, good
Tanja alooooooooooooooooooooo 23:09
alooooooooooooooo
alooooooooooo
DarkWolf84 O_O 23:53