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.
TimToady on the flakiness of the pugs compiler, I wonder whether that means ghc 6.6.1's GC is a bit flakey... 01:02
definitely something non-deterministic 01:03
SamB TimToady: you expect GC's to be deterministic now?
TimToady nope, I just expect them not to make a parser fail half the time 01:04
TimToady it's kindof about 50/50 whether pugs's parser will succeed in parsing the metholated STD 01:05
SamB fail in a SIGSEGV-esque way, or a mysterious wrong answer way?
TimToady mysterious wrong answer 01:06
in fact, fairly consistenly claiming that a variable wasn't declared when in fact it was
PerlJam TimToady: earlier I was musing over using |? as the "shortest token" version of | (i.e., / f|fo|foo / matches "foo" at first approximation while / f|?fo|?foo / matches "f" at first approx.) Do you think that's useful at all.
SamB what sort of flakiness do you suspect the GC of exhibiting?
PerlJam ?
TimToady PerlJam: I don't know what it'd be useful for 01:07
SamB: possibly reclaiming some memory that shouldn't have been reclaimed 01:08
TimToady otherwise how can running the same program on the same data result in a different answer? 01:08
rhr TimToady: also, that pugs internal error I was getting yesterday is also an intermittent thing, but it happens far less often than the hash decl error
SamB TimToady: how can it do that without causing a SIGSEGV or similar dramatic failure? 01:09
TimToady well, for sure, methstd is stressing the pugs compiler for than usual
SamB are there flakey finalizers involved?
PerlJam TimToady: I don't know either, but it feels weird to have operators that match only the longest match when we have other operators that can match either the longest or shortest
SamB weak references?
TimToady SamB: because Haskell mostly doesn't change memory once it's allocated it for something 01:10
one of those side effects of a pure language. :)
SamB TimToady: if the memory was wrongfully reclaimed, wouldn't that leave a dangling pointer and cause a dramatic crash later?
or alternatively, leave a dangling pointer and have absolutely no effect on the result 01:11
TimToady maybe, unless it just tends to reclaim it for something similar, but with different enough contents to give a different answer to "is this variable declared?"
SamB are there any kind of weak references involved at all? 01:12
TimToady maybe it keeps different pools for chunks of different sizes, and that particular pool is mostly only that
SamB: no kloo
SamB TimToady: last I heard, GHC did allocation by incrementing a Cmm "register" 01:13
rhr is there any way to tweak ghc's GC behavior other than changing the heapsize? 01:15
SamB ghc +RTS --help 01:16
pugs_svnbot r17388 | lwall++ | [STD] noun unreliable, so postfix must do its own ws test, noted by pmichaud++ 01:18
diff: dev.pugscode.org/changeset/17388
lambdabot Title: Changeset 17388 - Pugs - Trac
TimToady rhr: I'll be offline the next few hours, so if you want to whack on things, feel free. 01:20
we do need to figure out how to integrate $/ back in, as you noticed
I can tell you that trying to do "class MCont does Match" doesn't work out very well, so for now method probably need to rewrite all references to $/ or $<foo> 01:21
s/method/metholate/
rhr OK, I'm not sure I understand things well enough yet to do that, but I'll look 01:23
TimToady well, whack on anything you care to 01:28
bbl &
kingdong wtf is going on with Perl6 ? 01:55
it is going to be released one day ?
pugs_svnbot r17389 | rhr++ | [Metholated.pm] defeat bogus string reverse in STARg and PLUSg 02:04
diff: dev.pugscode.org/changeset/17389
lambdabot Title: Changeset 17389 - Pugs - Trac
rhr $¢ is getting stringified somewhere, but I don't see it. _STARg -> retm -> whats -> *** Odd number of elements found where hash expected: VStr ">tnoCM:jbo<" 02:05
SamB that is the craziest name...
dollar cent... 02:06
rhr :) (I think it's supposed to stand for continuation) 02:07
rhr if I do .perl.say on a MCont object, sometimes I get MCont.new(...), but sometimes it says $_ := \MCont.new(...). What's up with that? 03:10
allbery_b depends on context 03:11
if you're looping over a list then you're getting an lvalue variable
rhr not sure I understand... it's the same say statement producing both 03:14
allbery_b wonders if someone better versed in p6 is around 03:19
okay, same say statement. but in perl6 there is a difference betweena variable being assigned a normal value and being assigned a reference into some other collection 03:20
pugs_svnbot r17390 | rhr++ | [Metholated.pm] prevent MCont object from being stringified
diff: dev.pugscode.org/changeset/17390
lambdabot Title: Changeset 17390 - Pugs - Trac
allbery_b (in perl5 the same distinction exists but is less obvious) 03:20
so when you .perl.say a variable which is actually holding a reference into a list you get the wacky := ... 03:21
indicating that the variable really has an lvalue reference in it 03:22
rhr ?eval my @a = 1,2,3; my $b := @a[1]; $b.perl.say; 03:24
pugsbot_r17185 OUTPUT[\2␤] Bool::True
rhr did you mean something different?
allbery_b don't think it works there, it's looping constructs that do the weird thing
really we need someone who better understands perl6 and who isn't currently suffering from fuzzy-brain 03:25
rhr looping where?
allbery_b hm, I suusally see it in looping constructs, there might be others
allbery_b decides to back off and wait for someone with a working brain and actual p6 internals knowledge to answer 03:26
rhr np
pugs_svnbot r17391 | rhr++ | [Metholated.pm] revert string reverse fix; it just hides a deeper problem 03:38
diff: dev.pugscode.org/changeset/17391
lambdabot Title: Changeset 17391 - Pugs - Trac
rhr no more commits tonight, but I'll be around for a while 04:33
also, to see the weird stringification bug, undo my fix and try to parse 'foo(1)'
meppl good morning 07:33
bloonix morning 07:40
pmurias morning 07:42
pugs_svnbot r17392 | pmurias++ | kp6: fixed some test depending on the harness requiring numbering; 07:54
r17392 | pmurias++ | changed parsing of subs
diff: dev.pugscode.org/changeset/17392
lambdabot Title: Changeset 17392 - Pugs - Trac
pmurias & 08:45
pmurias b 09:17
pmurias fglock: hi 10:42
the thing left for having subs is the get a sig which expects an invocant 10:46
it would be solved by the new calling convention so i'm not sure if to fix it 10:47
what's missing for changing the calling convention to passing Captures? 10:48
fglock pmurias: i'm thinking about that, 11:12
but i'd like to have a version of multis soon 11:13
so i'm thinking which to do first
fglock re invocant, i think it's not a problem, if the invocant is optional 11:18
pmurias optional in what sense? 11:21
the problem it is passed as the first argument
fglock pmurias: it is only passed in methods, subs don't get an invocant now 11:23
pmurias can method choose not to receive and invocant
fglock i don't think so
pmurias methods
s/and/an/
subs get an invocant in their sigs because the use method_sig 11:24
fglock yes, but it is safe to ignore the invocant for now; it is only in the sig (not in the param list) 11:25
pmurias a solution would be to write sub_sig which dosn't default for an invocant
fglock yes, that works
pmurias fglock: subs and methods use the same code for parameter handling
the problem would solve itself under the new calling convention because grabing a non-existant invocant dosn't eat up one of your positional parameters 11:26
fglock but this is not a problem, because subs don't do '$self = shift' 11:28
self keeps undefined
pmurias figured out how to do it 11:32
re: multis and calling convention, changing the calling conventions before multis would save some work, but multis are likely more fun 11:37
pmurias seen svnbot 12:22
buubot pmurias: Sorry, I haven't seen svnbot
fglock #kp6 123.say 12:36
exp_evalbot r17394: OUTPUT[123␤]
pmurias #kp6 sub f($a) {say $a};f(123); 12:39
exp_evalbot r17394: OUTPUT[123␤] 12:40
fglock lunch & 12:44
b_jonas ?eval (0..*) 12:46
oh, it's not online
pmurias #eval (0..*) 12:50
exp_evalbot kp6: OUTPUT[Syntax Error␤]
..pugs: No output
xinming #kp6 (0..10) 12:52
exp_evalbot r17394: OUTPUT[Syntax Error␤]
xinming pmurias: It seems, the array syntax is still under going.
Limbic_Region salutations all 12:58
pmurias xinming: was testing if exp_evalbot's pugs works
Limbic_Region: welcome
b_jonas I'd like to know if ^* would work instead of (0..*) 13:01
pmurias b_jonas: #eval runs the code on both pugs *and* kp6 so it's a ?eval replacement 13:15
#eval (0..^*)
exp_evalbot kp6: OUTPUT[Syntax Error␤]
..pugs: No output
pmurias #eval say (0..^*)
exp_evalbot kp6: OUTPUT[Syntax Error␤␤] 13:16
..pugs: No output
pmurias #eval say 3
exp_evalbot kp6: OUTPUT[3␤]
..pugs: OUTPUT[3␤]
b_jonas no, U mean just ^* 13:27
#eval ^*
exp_evalbot kp6: OUTPUT[Syntax Error␤] 13:28
..pugs: No output
b_jonas #eval ^10
exp_evalbot kp6: OUTPUT[Syntax Error␤]
..pugs: No output
b_jonas hmm
#eval (0..)
exp_evalbot kp6: OUTPUT[Syntax Error␤]
..pugs: OUTPUT[*** ␤ Unexpected end of input␤ at /tmp/nHBKOAJAVb line 1, column 6␤]
b_jonas #eval say (0..)
exp_evalbot kp6: OUTPUT[Syntax Error␤␤]
..pugs: OUTPUT[*** ␤ Unexpected end of input␤ at /tmp/zyhSLbM3Iw line 1, column 10␤]
b_jonas #eval say (0..*)
exp_evalbot kp6: OUTPUT[Syntax Error␤␤] 13:29
..pugs: No output
b_jonas #eval say ^*
#eval say (0..10)
exp_evalbot kp6: OUTPUT[Syntax Error␤␤]
..pugs: No output
kp6: OUTPUT[Syntax Error␤␤]
..pugs: OUTPUT[012345678910␤]
b_jonas #eval say 3*3
exp_evalbot kp6: OUTPUT[9␤]
..pugs: OUTPUT[9␤]
diakopter <sigh> stupid bots... 13:38
fglock stevan_: hi 14:16
stevan_ fglock: hello
fglock: ready for vienna?
fglock i hope so :) 14:17
i saw you in the hackathon list :)
stevan_ fglock: yes, I should be floating around 14:18
fglock it would be nice if we could discuss the kp6 MOP
stevan_ we should definitely meet up and chat
[particle] stevan_: try to connect with allison and jonathan re parrot mop, too
stevan_ [particle]: are they done with it yet? 14:19
the documentation?
fglock stevan_: did you see the kp6 infrastucture modules written in real-perl6? 14:19
stevan_ fglock: not yet 14:20
stevan_ has just come out of a long $work project
fglock svn.pugscode.org/pugs/v6/v6-KindaPe...ime/Perl6/ - except for Prelude and P6Opaque, which are obsolete 14:21
lambdabot tinyurl.com/2xxpgb
fglock this is actual runtime code 14:22
stevan_ fglock: very cool 14:23
fglock: we should also talk to mst as well, he and I have been discussing some p5 lexer hacks he is doing to get a p6-ish method syntax in p5 14:24
amoung other crazy ideas he has as well
fglock ruoso has some cool ideas about p5 - he will be in the hackathon too
p5 as a plain VM 14:25
stevan_ cool
mst and I were discussing trying to do a perl-- type thing too 14:26
a small subset of highly optimized opcodes
which can easily be built on
somewhat inspired by the PIL^N work audreyt_ and I did way back when
fglock you should definitely talk to ruoso :) 14:27
[particle] stevan_: 90+% of the tests are passing, so yes, the docs are "done" 14:29
stevan_ :) 14:30
[particle]: is it all PIR?
fglock the plan would be to use something like B::Generate, so that you can create code that you can run in the plain p5 debugger, and see p6 code
stevan_ fglock: mst is desperate to give p5 real macros.,.. probably on the B::* level though 14:31
[particle] stevan_: all pir? not sure what you mean. the spec is here: www.parrotcode.org/docs/pdd/pdd15_objects.html
lambdabot Title: Object and Class semantics for Parrot - parrotcode:
stevan_ so that sounds very similar
[particle]: I mean is the code which is passing the tests in PIR
[particle] oh, yes 14:32
the tests are under t/pdd15oo/
stevan_ ok,... I will have to brush up on my PIR then
[particle] ...if you feel like browsing....
[particle] fglock: i wish pmichaud would be there. nqp is progressing nicely... as is kp6, i see 14:35
fglock [particle]: i wish we could converge into a single roadmap some day 14:42
[particle] yes, indeed!
pmichaud provided a syntax example of using external libraries from nqp yesterday: nopaste.snit.ch:8001/10975
we're hoping to be able to write mod_parrot handlers in nqp soon
fglock i have an evil plan, to compile kp6 to nqp; i've already done some experiments with mp6 to nqp
hmm - no, i was doing mp6 to parrot-perl6
[particle] i'd rather see ast transforms 14:44
a two way transform between the kp6 ast and past would yield interesting results 14:45
fglock that should not be difficult at the kp6 side - we even have an AST-as-HTML emitter 14:48
svn.pugscode.org/pugs/v6/v6-MiniPer...-parrot.sh - mp6 to parrot experiment
[particle] where is the kp6 ast spec/impl? 14:50
fglock one sec 14:52
$ echo echo 'class Main { say "hello, World" }' | perl kp6-perl5.pl --do EmitHTML 14:53
this prints the html version of the ast :)
the ast is defined here: svn.pugscode.org/pugs/v6/v6-KindaPe...raverse.pm 14:54
lambdabot tinyurl.com/283h7h
fglock the node list is still a bit incomplete 14:54
but it is based on the proposed Pugs AST 14:55
[particle] okay, then. i'll check it out
fglock s/echo echo/echo/ 14:56
it had an echo
oops - EmitHTML is actually the code colorizer 14:57
this is the AST-to-HTML: 14:58
$ echo 'class Main { say "hello, World" }' | perl kp6-perl5.pl --do EmitAstHTML
kp6 has got some cute little tools 15:00
[particle] but doesn't build on windows :( 15:04
the makefile isn't nmake-friendly 15:05
ooh, wait. i have 'make'.
fglock it should work without make
[particle] oh, okay
it's building now, anyway
fglock the image is plain perl5
[particle] i get a perltidy error, since it's not installed. anyway, trying echo now 15:20
pugs_svnbot r17395 | fglock++ | [kp6] fixed .WHAT
diff: dev.pugscode.org/changeset/17395
lambdabot Title: Changeset 17395 - Pugs - Trac
fglock hmm - you may end up with some empty files because of the missing perltidy 15:21
i hope not
if you do, just do a revert and use kp6 without make'ing 15:22
[particle] the ast html is very small
540characters
fglock oops - it is missing a css 15:24
[particle] i'll just install it
yeah, that too
fglock install?
[particle] $it := perltidy;
fglock ah
you can use: echo 'class Main { say "hello, World" }' | perl kp6-perl5.pl --ast | perltidy 15:25
it is reasonably readable
pugs_svnbot r17396 | fglock++ | [kp6] ::Class cleanup 15:41
diff: dev.pugscode.org/changeset/17396
lambdabot Title: Changeset 17396 - Pugs - Trac
pugs_svnbot r17397 | fglock++ | [kp6] more cleanup 16:04
diff: dev.pugscode.org/changeset/17397
lambdabot Title: Changeset 17397 - Pugs - Trac
ObeLisK_12183 Hey @ aLL :)) 16:07
can somebody help me?=D this site: www.pennergame.de/ref.php?uid=12183 16:08
pugs_svnbot r17398 | fglock++ | [kp6] is it possible to implement Multi using Perl 6? 16:49
diff: dev.pugscode.org/changeset/17398
lambdabot Title: Changeset 17398 - Pugs - Trac
pugs_svnbot r17399 | fglock++ | [kp6] added Signature 17:03
diff: dev.pugscode.org/changeset/17399
lambdabot Title: Changeset 17399 - Pugs - Trac
_ hey @ all ^^ 17:09
can somebody help me?=D on this site here: www.pennergame.de/ref.php?uid=12183
thanks
qmole nice nick though 17:09
pugs_svnbot r17400 | fglock++ | [kp6] started Code.signature 17:21
diff: dev.pugscode.org/changeset/17400
lambdabot Title: Changeset 17400 - Pugs - Trac
pugs_svnbot r17401 | fglock++ | [kp6] refactored Code.signature 17:39
diff: dev.pugscode.org/changeset/17401
lambdabot Title: Changeset 17401 - Pugs - Trac
laniz_ hi 19:27
is the release of perl 5.10 planned before or after the release of perl 6? 19:28
b_jonas laniz_: both well be released "when they're ready" but it's belived that 5.10 will be released before 6
laniz_ i see! 19:29
b_jonas some say that 5.12 will be released after 6 or even not at all because of it, but we can't know for sure
try asking on #perl where they might have a different opinion :)
laniz_ i was hoping Larry would correct the people in case, if i ask here :P 19:30
b_jonas if you wait more, he might 19:31
but he is by definition optimistic about P6
SamB how often do perl releases usualy happen anyway?
laniz_ tries to find a seat near TimToady :P
b_jonas SamB: see perldoc perlhist
but as often as neccessary 19:32
it doesn't have to change with hardware like OS kernels so there's no need for a frequent release
SamB hmm, minor releases somewhere near once a year it looks like... 19:33
laniz_ Perl 5.8.8 works pretty decent for me, was just curious about the future plans
[particle] it all depends on the pumpking. for a time, it was quarterly releases for perl 5 19:34
SamB where by minor releases, I mean releases incrementing the third number 19:35
[particle] parrot has a monthly release cycle, which i *love*
s/minor/bugfix/
SamB ah.
well, what are the real minor releases for then?
[particle] major features
major releases are for rearchitecting 19:36
i should say 'new features' rather than using the loaded term 'major' there
pugs_svnbot r17402 | pmurias++ | kp6: fixed for, testing invocant in capture literals 20:37
diff: dev.pugscode.org/changeset/17402
lambdabot Title: Changeset 17402 - Pugs - Trac
pmurias fglock: mp6 dosn't support after 20:51
?
fglock maybe not - what you need to do? 20:52
pmurias i want allow ending statements with }\n
if 1==2 {print "hello"} \n say " world"; 20:53
fglock it is possible that this was implemented in mp6, but wasn't ported to kp6
pmurias with \n being "
"
lib/MiniPerl6/Emitter/Token.pm:# no <after .. > - so it doesn't need to match backwards 20:54
fglock pmurias: ending a line with } works in mp6 - it could be ported to kp6 20:56
pasteling "fglock" at 87.103.44.98 pasted "line ending in mp6" (13 lines, 330B) at sial.org/pbot/27047 20:57
pmurias tested it myself too, and it worked 20:58
too
fglock mp6 was still being implemented when kp6 started, so the grammar is a bit different
pmurias mp6 dosn't require semicolons 21:06
say "a"
say "b"
works
fglock ah - I knew there was some hack :) 21:09
TimToady might be easier to do what STD does there 21:10
(and nqp) 21:11
fglock hmm - what do they do? 21:13
looking 21:14
pmurias vim tags for perl6 grammars would help much 21:18
pugs_svnbot r17403 | fglock++ | [kp6] a possible implementation for the signature emitter 21:28
diff: dev.pugscode.org/changeset/17403
pmurias nqp uses a special variable
marks if the last thing was a block 21:29
pmurias sleep& 21:30
pugs_svnbot r17404 | fglock++ | [kp6] added t/kp6/29-signature.t 22:04
r17404 | fglock++ | &sub.signature works
diff: dev.pugscode.org/changeset/17404
YuGi_11118 heey people ^^ 22:16
pugs_svnbot r17405 | fglock++ | [kp6] fixed Signature.perl 22:24
diff: dev.pugscode.org/changeset/17405
laniz_ TimToady: do you have release plans for perl 5.10 already? 22:56
Limbic_Region laniz_ - TimToady is not the pumpking for 5.10
rgs might have more info though
[particle] on #perl 22:57
ubajas I WANT BIG == FOR EVERY $. IS POSSIBLE IN PERL SIX PLZ`?
laniz_ Limbic_Region: thanks!
Limbic_Region particle - which network?
Tene ubajas: I don't understand what you mean. 22:58
CapNemo hello guys :) 23:03
Tene Hi!
CapNemo what would be the best doc to read to create a compiler on parrot to support another language ? 23:03
Tene CapNemo: you probably want #parrot on irc.perl.org 23:04
What language would you like to support?
CapNemo it's a language I use to use at university for simulation
it's called ADT'81