pugscode.org | Beware of `make install` and Pugs, it will do bad things to your system
Set by Aankhen`` on 22 May 2007.
00:04 theorbtwo joined
thoughtpolice has .wrap not been implemented yet? pugs is reporting no .wrap method in class Sub, although .wrap is defined for Routine's. Anybody got an idea? 00:41
perlmonkey2 Is there a way to force perl5 to give back memory from its memory hash?
heap deallocation :) 00:43
00:46 nipotaway is now known as nipotan
Caelum perlmonkey2: if you compile it with the system malloc on a system that supports it 01:05
thoughtpolice woo, done with round 2 :) 01:15
diveintoperl6.blogspot.com/2007/05/...und-2.html
lambdabot Title: Dive into Perl 6: Perl 6: Round 2
avar You might want to mention after "The above could also have been started with:" that ($a, $b, $c --> String makes them all String, not just $c 01:17
that is what it does, right?
daxim give a reminder what the ~ does when you use it for the first time 01:22
avar but this is very cool:)
thoughtpolice++ 01:23
daxim there's a HTML escaping mistake in the cool refrigerator example 01:27
Aankhen`` avar: Haven't read the post yet, but is the --> String from a signature? If so, it indicates the return type. 01:28
avar ah
has sub ($x) return Str {} been dropped? 01:29
Aankhen`` No, you can still say sub foo (...) returns Bar { ... }
I don't remember the relationship between returns Bar, of Bar and --> Bar, I'm afraid.
TimToady those three are now synonymous, and the coercion type, if any, is the "as" type 01:31
Aankhen`` Ah, okay.
"coercion type" means it tries to automatically coerce the return value, right?
TimToady basically just saves you from having to put the same coercion on all the return statements
Aankhen`` Okey. 01:32
TimToady but generally you just want to declare the return type officially, which also coerces, I think
avar ?eval sub anon as Str { 5 } anon
Aankhen`` I see.
01:32 evalbot_r16553 is now known as evalbot_r16560
evalbot_r16560 Error: ā¤Unexpected "as"ā¤expecting "handles", "is", bare trait, subroutine parameters, trait or block 01:32
TimToady not implemented that way yet, of course
avar hrm, anyway the version that works would mean "" ~ 5 basically? 01:33
TimToady since it was just renamed last week...
yes
avar neat
TimToady "as" is basically for being more strict in what you return than in what you claim to return. 01:34
dunno if it's actually a useful context...
*concept
01:37 araujo joined 01:40 dolmans joined
dduncan TimToady, having now caught up with p6l posts, I've replied to r14407 and recommend renaming Object to Universal ... also, I agree with Any being the complement of Junction under Universal/Object 02:01
rationale was given there
02:02 SubStack joined
Aankhen`` Maybe "Any" should be "Scalar". 02:14
Aankhen`` ducks.
02:35 kaether_ joined 02:55 ilogger2 joined, kaether_ joined, kaether_ is now known as kaether 03:17 mako132_ joined 03:20 kanru joined 03:21 amnesiac joined 03:26 daxim_ joined
perlmonkey2 Is it too late to have Perl6 with dynamic heap allocation that will both grow and shrink? 03:30
dduncan that's an implementation detail 03:31
and generally not something that users worry about
or please clarify your question 03:32
perlmonkey2 dduncan: I just spent the last 5 days straight tracking down a "memory leak" in Perl5 that wasn't a leak at all. I was simply at one point using 1.4 gigs of ram, which mean the perl interpreter kept 1.4 gigs of ram in the hash, even though it only needed it for a few seconds. 03:33
dduncan: Apparently I'm mildly retarded and should have known that most languages don't normally give back memory once allocated to the process. This was a painful lesson and not intuative. 03:34
dduncan the behaviour you refer to is implementation dependent ... but I would anticipate that smart backends will handle memory efficiently
that's why virtual address spaces are useful, one reason
er 03:35
whatever
on this discussion point, maybe you will want to experiment with Pugs
try making a really big hash, then deallocate it and see what happens 03:36
03:36 stevan_ joined
perlmonkey2 I'm supposed to be helping test Pugs, but I'm drowning at work (at least until this Friday) and then I'm committed to a small WebGUI project. Then I'll have time to work on Pugs/P6. 03:36
dduncan okay 03:44
Aankhen`` rhr: Looking at unitsdat-grammar.pm again, and wondering if there was a reason for using `die` instead of `fail`?? 04:10
s/\?//
04:17 justatheory joined 05:02 buetow joined 05:04 devogon joined 05:06 BooK_ joined 05:30 kanru joined 05:38 obvio171 joined
svnbot6 r16561 | Darren_Duncan++ | ext/QDRDBMS/ : added the Tuple and Relation node types to AST.pm 05:42
05:45 obvio171 joined 05:48 mjk joined 05:54 obvio171 joined 06:00 obvio171 joined 06:04 obvio171_ joined 06:05 obvio171_ is now known as obvio171 06:06 ahmadz joined 06:08 jisom joined
meppl good morning 06:10
ahmadz good morning 06:14
meppl good morning ahmadz 06:16
dduncan good morning 06:17
06:18 franck__ joined 06:21 buetow joined 06:25 Averell joined
gaal moose all 06:26
lumi Merry moose to you, too 06:27
meppl good morning dduncan 06:28
dduncan aye
06:35 franck___ joined 06:37 weinigLap joined 06:38 bpalmer joined 06:40 pbuetow joined 06:41 dolmans joined 06:43 miyagawa joined 06:44 VanilleBert joined 06:59 iblechbot joined
svnbot6 r16562 | Darren_Duncan++ | ext/QDRDBMS/ : in AST.pm, fleshed out the Set|Seq|Bag node types 07:09
Tene So, I've got a PEG, do I transform it to Perl 6 rules with vim or by writing a Perl 6 grammar to transform it for me? 07:38
svnbot6 r16563 | Darren_Duncan++ | ext/QDRDBMS/ : in AST.pm, added Maybe node type
Tene ?eval 'foo' ~~ /<!before f> ./ 07:57
evalbot_r16562 *** Cannot parse regex: <!before f> .ā¤*** Error: ā¤Match.new(ā¤ ok => Bool::False, ā¤ from => 0, ā¤ to => 0, ā¤ str => "", ā¤ sub_pos => (), ā¤ sub_named => {}ā¤) 07:58
Tene Oh, right.
ahmadz hi... how do i get commit access to svn? 07:59
Tene ahmadz: just ask here in the channel! 08:00
ahmadz Tene: cool
Tene let's see if the web interface to add people to svn is loading today.
The box it runs on has load issues sometimes. 08:01
08:01 buetow joined
Tene Also to discover if it works in a text-only browser. ;) 08:02
Hmm. It's not loading in links... anyone else up to give out a commit bit, or should I give in and load X? 08:03
08:04 rindolf joined
Tene Hi, shlomi! 08:06
08:06 rissy joined
rindolf Hi Tene 08:13
dduncan I can give out commit bits, assuming I remember the url
rindolf Tene: please call me rindolf here so your addressing will be highlighted.
dduncan whomever needs one, state your email address 08:14
Tene dduncan: commitbit.pugscode.org/
dduncan yes
I just found that out via Google too
Tene rindolf: okay.
dduncan "commitbit pugs"
lambdabot Title: Welcome to CommitBit for PugsCode
dduncan that said, its being slow to load 08:15
Tene ahmadz: please give dduncan your email address so that he can give you svn commit access
rindolf Tene: thanks.
dduncan I seem to be having trouble logging into that site ... as I recall it used to work a few months ago 08:27
but I do know I have admin privs
I'll try again tomorrow, good night 08:28
ingy hola 08:35
rindolf Hi ingy 08:37
ingy: I saw you uploaded a new ver of YAML::LibYAML
ingy rindolf: yes 08:38
handles blessed stuff 08:39
basically handles 98% of perl stuff
now time for the fun stuff :)
gaal ingy: cool! REs, too? 08:40
cycles?
streaming docs?
Aankhen`` streams gaal at 96 Kbps. 08:41
ingy cycles are done
gaal ossum
Aankhen`` rindolf: Can't your IRC client handle highlighting something that isn't necessarily your nick?
gaal Aankhen``: moose! Is that VBR?
Aankhen`` gaal: No, sorry, it's CBR. :-( 08:42
And mono, at that.
gaal sonds ike i'l b chppy 08:43
Aankhen`` Yeh.
I had to work with the materials I was given.
On the plus side, how many people do you know who can be streamed?
Tene Aankhen``: probably, but perhaps he doesn't want to bother setting it up to do so. 08:44
Aankhen`` Tene: Seems like it would be easier than telling people to say "rindolf" if they want to get his attention. *shrugs*
gaal telling's the easy part
rindolf Aankhen``: maybe it can.
Aankhen``: but it's good practice to address someone by my nick. 08:45
ingy > ysh -MYAML::LibYAML
ysh > --- &foo [*foo]
yaml> ...
$VAR1 = [ $VAR1
];
lambdabot Not in scope: type constructor or class `LibYAML'
Tene Aankhen``: I've learned to avoid asking questions about people's IRC habits and client preferences. It's worse than religion sometimes.. ;)
ingy :)
Aankhen`` Tene: LOL. True, true.
rindolf It's similar to the fact you need to paste fully-qualified URLs.
Aankhen`` No, not really.
URIs are intended for consumption by computers.
ingy gaal: nice eh? 08:46
gaal it's only good practice if the someone is you, otherwise it could get really confusing
yay :)
the cat is chasing its tail
Aankhen`` LMAO gaal.
gaal ingy: typeglobs are easy though, aren't they?
just make the switch-case nonterminal 08:47
I did that in Class::Rebless, iirc
ingy ysh > *foo
--- !!perl/glob:
PACKAGE: main
NAME: foo
SCALAR: 1
that's YAML.pm 08:48
I need to do that
pasteling "rindolf" at 82.81.224.167 pasted "Question to Paul Graham" (29 lines, 1.2K) at sial.org/pbot/25246
ingy convert the glob into a hash
a 6 sided hash
;)
gaal sounds much easier than what you'd already accomplished here...
ingy the perl_syck code seems pretty unclean 08:49
I'm taking code from there
but want to clean it up
make it sexy
there doesn't seem like too much is hard 08:50
gaal remember though that perl distinguishes between an undef value and a missing slot in globs too 08:51
ingy I don't like the New/SafeFree stuff from tags
gaal isn't familiar with that
ingy gaal: can you express that in code? 08:52
not sure I follow
gaal "unsupported: Format refs" !?!! lol
do you mean Perl 5 formats?
ingy yes
gaal ingy: oh, just the minor thing that AFAIR, once you do *foo = \1, *foo has a SCALAR slot that can't be removed 08:53
but it doesn't exist before that
likewise for code etc.
ingy I'm surprised at how sexy Dumps from the libyaml emitter look
it knows when to keep stuf on the same line
gaal as opposed to? ah
cool
ingy syck isn't quite as good at that 08:54
gaal is its throughput better than syck's? if it is we might use libyaml to speed up pugs
ingy so far
gaal we inline everything in the bytecode emitter so that's not an issue there at least 08:55
because it results in smaller bytecode which directly translates to faster startup in pugs
ingy i want to start s/syck/libyaml/ in pugs soon
gaal audrey also put in that mad compressor
08:55 andara joined
gaal did you see that stuff? it's crazy 08:56
ingy no
what is it?
gaal maximal sharing; it caches objects and anchors back to things that had already been emitted 08:57
&1 moose and *1 all over the place
utterly impossible to read for humans, really
ingy oh neat 08:58
ysh > [[42]] 08:59
---
- - 42
that's libyaml
syck is
---
-
- 42
wow. the dump of {foo => [[42]]} is better too 09:01
gaal cool; sounds like userland .yaml would benefit from it, too
ingy it uses the zero indent array in hash feature
foo:
- - 42
gaal what does that look like? /me isn't up to spec
you can do that? huh. 09:02
looks a little anti-yaml
what ends foo? another : ?
ingy yes, technically the '-' counts towards the indentation
gaal nod
ingy or somesuch
it all works out nicely
do you know about yaml set notation? 09:03
gaal nope, what's it like? 09:04
need the parser enforce uniqueness?
ingy {foo, bar}
same as {foo: ~, bar: ~}
and ordered map notation 09:05
gaal hmmm that sounds slow to parse
or maybe you can get away with only looking ahead one token
like, {foo} is a singleton set, not a map
and {foo:} is an error 09:06
ingy well it's still a map really
09:06 felipe joined
gaal ordered maps would be [foo: bar, elk: caribou], yes? 09:06
# guess
ingy yes! 09:07
you++
Aankhen`` perlbot, karma you
perlbot Karma for you: -11
jabbot Aankhen``: you has karma of 9
gaal so, that's sugar to [{foo: bar}, {elk: caribou}]
ingy right
clark realized that they were useful invalid yaml
gaal heh
ingy this was the last time we met in Portland 09:08
gaal the question is when to emit them that way
ingy syck does these both right 09:09
libyaml makes the set values '' instead of undef
gaal e.g. if one dataset happens to be unique, but isn't schemed to be a Set, then emitting it as if it were is slightly bogus
ingy writes a test :)
gaal because it can give the impression that this node always represents a set 09:10
brrb
nub r
ingy y emitters do this
I'm not sure any emitters do this
more of a human written and yaml loaded kind of thing 09:11
lumi rindolf: Your client supports arbitrary highlights
rindolf lumi: yes, I know.
lumi: but people should still address people by their nick. 09:12
gaal ok, i'm off to lunch &
ingy gaal: yaml really needs a schema language
bye
gaal i thought it had one?
but yeah, bye :)
09:18 elmex joined
moritz ahmadz: did you get a commit bit by now? 09:26
Tene moritz: I don't think so. dduncan couldn't get it to work, and said he'd try again tomorrow. 09:31
ahmadz moritz: sorry i was away in a meeting
moritz: i need a commit bit... i sent you my email address... 09:32
moritz didn't receive anything
ahmadz: you can't /msg on freenode unless you are registered :( 09:33
ahmadz no problem... it is [email@hidden.address]
Tene moritz: /msg nickserv set unfiltered on
moritz Tene: thanks ;)
ahmadz the commit pugs site is slow since feather had an uptime of 11 at one time 09:34
moritz I'm not registered either, so that doesn't work ;)
Tene heh
moritz ahmadz: ok, I send the request, hopefully in a few minutes time you'll receive a mail
ahmadz: if not, please poke me again 09:35
ahmadz moritz: thx
i will be working on updating runpugs this weekend to a true ajax interface with examples
ingy gaal: fixed loading plain empty as undef instead of empty string 09:36
moritz ahmadz: cool ;) 09:37
ingy YAML-LibYAML-0.14
moritz it says "Created
ingy always skips 0.13
moritz " that's a good sign
ahmadz quick question: do we have a perl6 pretty printer or syntax highlighter? 09:38
Tene ahmadz: there's a syntax file for vim
moritz and you can use Text::VimColor to turn perl 6 code into hilighted html 09:39
ahmadz moritz, tene: cool i'll check it out 09:40
i got my commit bit but the server is so slow...
moritz ahmadz: we know :(
but we haven't really found the bottleneck 09:41
ahmadz runpugs does between 20-50 forked processes btw in the default config...
andara ahmadz, hi! 09:43
ahmadz andara: hi 09:44
andara ahmadz: I'm back from hols. Good to see you got the commit bit
ahmadz andara: i have been busy but i looked at runpugs yesterday and i found some things to fix in the documentation for a start 09:45
andara great! I won't be able to work on it for the next few weeks, but then I'll get a better scheduler in 09:46
svnbot6 r16564 | azawawi++ | updated README to include required CPAN modules 09:48
andara in practice, there are on average 10 pugs processes active for runpugs, asleep most of the time, so that should not slow down feather much.
ahmadz andara: looking forward to it... we're using termserv4.pl right?
andara ahmadz: let me check... 09:49
ahmadz andara: remind me again... where is the near-AJAX version of runpugs? 09:50
andara ahmadz: I run termserv.pl; the near-AJAX version is in htdocs/runpugs/index.html with script runpugs.js 09:52
ahmadz: and the mod_perl front-end is perl/runpugs.pl
ahmadz: in meeting now, back in an hour or so 09:55
09:56 xinming joined, isaacd joined
ahmadz andara: ok 09:59
10:07 bpalmer left 10:17 VanilleBert left
gaal ingy's an elevator? 10:18
Tene ingyvator? 10:30
moritz andara: are you going to visit debconf in edinburgh? 10:31
10:33 mj41 joined 10:35 beppu joined 10:46 ruoso joined 10:51 mj41 is now known as logs-parrot-lgp, logs-parrot-lgp is now known as mj41 10:52 mj41 joined 10:53 mj41 left 10:57 mj41 joined 10:58 nipotan is now known as nipotaway 10:59 prism joined 11:00 chris2 joined
gaal ingy: where's yaml-libyaml's svn? 11:09
ingy: uhhh tests seem to depend on YAML::Tiny... 11:11
not mentioned in the makefile
11:31 avar joined 11:45 zzzz joined, zzzz is now known as ahmadz 11:50 Limbic_Region joined 11:51 isaacd_ joined
Limbic_Region salutations all 11:58
moritz hi L_R ;)
rindolf Hi Limbic_Region 12:02
Limbic_Region: what's up?
12:11 buetow joined
andara moritz: I didn't know about it. Are non-debbers welcome? ;-) 12:11
moritz andara: I think so ;) 12:12
andara: 17th to 24th of june iirc
andara moritz: I could go on Wednesday or Thursday. How about you? 12:13
moritz andara: I can/will go on all days, propably ;) 12:14
andara: my last exam is on 11/6/07, so if nothing goes wrong I have much time left ;)
andara moritz: good for you :-) 12:15
moritz yes ;)
andara moritz: are these your finals? 12:16
moritz andara: depends on your defintion of "final" ;)
andara: they are my master exams...
andara: but back home in germany I'll do my "Diplom" as well
andara moritz: I see. You'll be multi-degreed ;-) 12:17
moritz andara: hopefully... Heriot Watt's master degrees are not that good, so I try not to rely on them
Limbic_Region sorry rindolf, wasn't paying attention. Just getting settled into work and thinking about parallelized junctions 12:18
moritz andara: you can buy them for 40 Pounds ;)
rindolf Limbic_Region: do you monitor the use.perl.org journals feed?
andara moritz: I don't think Glasgow's are any better :-)
rindolf Limbic_Region: I wrote this - use.perl.org/~Shlomi+Fish/journal/33364
lambdabot Title: Journal of Shlomi Fish (918)
moritz andara: depends on which "Glasgow" you mean... 12:19
rindolf And it deteriorated into a personal criticism of me.
moritz andara: I think glasgow university is better, calle perhaps not
andara moritz: Glasgow Uni Comp Sci. The Advanced MSc is really good, the others less so
Limbic_Region rindolf - it happens. Humans by nature are subjective not objective. I wouldn't worry about it too much 12:20
and rather, I should have said - I open ever single journal entry - I don't always read them. 12:23
rindolf Limbic_Region: OK. 12:24
Limbic_Region: I personaly think that while humans are subjective they should always strive for objectivity.
Limbic_Region: and there's a different between Objective/Factual/Moral and things that are a matter of taste. 12:25
For example, Perl vs. Python is not always an objective discussion.
Or chocolate ice cream vs. vanilla ice cream.
rgs only if you deal with those disgusting heathens who pretend to like chocolate ice cream. 12:26
12:28 theorbtwo joined
Limbic_Region I can remember riding in the back seat of a car at night staring out the window looking at all the houses go by with the lights on 12:29
it was the first time I realized people had lives that existed outside of my own
moritz Limbic_Region: you only imagine that ;)
Limbic_Region it was much later in life that I realized people experienced the world differently from myself
12:29 rfordinal_ joined
Limbic_Region I still struggle with the fact that people do not think the same way I do, that there moral compass is not the same as my own, that - even after laying out a concrete argument for a position - they would still fail to see things my way 12:30
so sorry rindolf if you were attacked for no reason but humans are funny creatures 12:32
rindolf Limbic_Region: I realise there are other people, but I still think Ethics is absolute and objective. 12:34
12:36 knewt joined
Limbic_Region wow 12:37
unfortunately, this is not the forum for exploring that statement but I could not disagree more
just to be clear though, you use the word Ethics as defined by dictionary.reference.com/browse/ethics right? 12:38
lambdabot Title: ethics - Definitions from Dictionary.com
12:43 sahadev joined 12:46 vel joined 12:56 fglock joined 13:05 rfordinal__ joined 13:08 rfordinal__ is now known as rfordinal
svnbot6 r16565 | fglock++ | kp6-Perl6-roadmap.txt - added unsorted tasks after __END__ 13:08
r16565 | fglock++ | - "phase III" needs to be split
13:30 rodi joined 13:34 stevan_ joined
rhr Aankhen``: thanks for looking at it! re: die vs. fail, that's a good question, I'm not sure exactly how error handling should work. 14:00
14:00 SubStack joined
rhr I think it should be more or less equivalent to normal type errors, since that's basically what they are 14:01
but I don't understand how exceptions work yet, etc. The one thing I have tried to do is to report all errors at unit-compile-time (which happens to often be runtime...) 14:04
suggestions are welcome :) 14:06
14:06 fglock joined
fglock I wonder if is it too late to add 'Inf' and 'NaN' to Perl 5 14:09
as core keywords or functions 14:10
rgs yes it is
but you could use a module :)
14:15 ruoso_ joined
fglock rgs: I do - Set::Infinite and DateTime::Infinite implement their own "Inf" 14:16
rgs: thanks 14:18
rgs fglock: you could also use bigint 14:19
actually perl 5 understands NaN 14:20
perl -wle 'print "NaN"=="NaN"' 14:21
prints nothing
which is the right thing
Limbic_Region really? 14:22
I would have thought the right thing would have been the return code
rgs the return code ? 14:23
fglock rgs: weird - I never tried it with quotes :)
rgs also, "Inf" works.
fglock Inf seems to work too
yep
Limbic_Region well, the return value of the evaluation as in 1 == 1 is true
rgs Limbic_Region: certainly 14:24
but NaN is not equal to itself
according to the IEEE
Limbic_Region so why is nothing the right thing?
oh, nevermind then. If you had said, it prints nothing which in perl's world is "false" which is the right thing - I would have understood 14:25
fglock rgs: is this documented? ( "Nan" and "Inf" do the right thing )
rgs yes
clkao *yawn*
rgs hi cl
offby1 clkao: don't start that!!
fglock clkao: yawn
offby1 barely stifles a yawn
clkao sorry, all my fault
hello rgs!!
fglock rgs: otoh, would it be possible to define what these values stringify to, instead of relying on the C library? Windows, OSX and Linux have different results 14:29
rgs like what? 14:30
fglock perl -e ' use strict; my $a = "NaN" + 0; print $a ' # nan on OSX 14:31
rgs on my linux and freebsd too
fglock hmm - it just doesn't work in windows - 'NaN' is just a string (perl 5.8.7) 14:34
isn't this relying on atof() or something?
rgs yes 14:37
fglock so it depends on which C library my perl uses 14:38
14:44 kanru joined
svnbot6 r16566 | fglock++ | kp6-Perl6-roadmap.txt - 2 more phases 14:53
14:56 b_jonas joined
b_jonas this is wierd 14:56
www.perlmonks.com/?node_id=618036 says that $foo.$bar is an indirect method call like $foo->$bar in p5
lambdabot Title: Re^3: &#91;Perl 6&#93; Any provision for a "dereferencing object"?
b_jonas for some reason, I had the impression that $foo.$bar called the method <bar> in scalar context, and the indirect call was written as $foo.<$bar> 14:57
did that change or is that only my imagination?
hmm 15:02
15:02 silug joined
b_jonas S12 says it's $.foo that calls self.foo in scalar context 15:03
moritz but that's not what you meant
?eval class Foo { method bar { say "bar" } } my $f = Foo.new(); my $b="bar"; $f.$b 15:04
evalbot_r16565 OUTPUT[barā¤] (Bool::True,)
moritz so if pugs is correct, it is an indirect method call indeed
b_jonas yep 15:07
doe the .<$b> form work too?
?eval class Foo { method bar { say "bar" } } my $f = Foo.new(); my $b="bar"; $f.<$b>
evalbot_r16565 \undef
moritz <...> is an array constructor 15:08
?eval class Foo { method bar { say "bar" } } my $f = Foo.new(); $f.<bar>
evalbot_r16565 \undef 15:09
15:12 pbuetow joined
b_jonas and .<$b> is hash indexing anyway 15:12
lumi .<$b> is like .{'$b'} 15:14
b_jonas yep
moritz wants circumfix<.oO( )Oo.> ;-) 15:24
15:32 ruoso__ joined 15:34 aukjan|gone joined
offby1 ā„ Ā®ā„¢Ā©Or thisĀ©ā„¢Ā®ā„  15:35
15:38 araujo joined
gaal that's what, the encumberence operator? 15:40
moritz virtual reality operator? 15:41
gaal your one is pronounced "hmmm", I guess 15:42
15:42 weinigLap joined
offby1 gaal: it's the if-I-sprinkle-enough-magical-anti-lawyer-fairy-dust-maybe-I-won't-get-sued operator 15:52
gaal is it maybe i won't get sued, or maybe i can take money just by suing others? 15:56
spinclad offby1: looks to me like lawyer-fairy-dust rather than anti- 16:13
16:13 aukjan|gone joined
gaal omnivisiblol: www.ee0r.com/lolckyhorror/index.html 16:15
lambdabot Title: "The LOLcky Horror Picture Show" by Elliott C. Evans
16:22 fglock joined 16:23 justatheory joined 16:30 andara left 16:32 weinigLap joined
svnbot6 r16567 | moritz++ | [irclog] color reform: the 5 most active nicks get colors assigned statically, 16:33
r16567 | moritz++ | and a few more color combinations are avlable.
r16567 | moritz++ | If the contrast ist too low for a nick, please tell me so
16:33 franck__ joined
gaal what, no color auction? :) 16:38
moritz there are 3 or 4 colors left over that will go to the highest bidding nick ;) 16:39
16:40 weinigLap joined
gaal whee i got silver 16:41
16:48 ruz joined
thoughtpolice oi 17:00
i have i missed anything in about, the past 18 hours? i hope not.
17:05 aukjan211 joined, aukjan211 is now known as aukjan
fglock thoughtpolice: you can find out at irc.pugscode.org/ 17:08
lambdabot Title: IRC log for #perl6
thoughtpolice hah. :o 17:09
17:10 rodi left 17:13 isaacd__ joined 17:17 drupek12 joined 17:20 ahmadz joined
ahmadz hi 17:20
gaal hello ahmadz 17:26
17:37 Lunchy joined 17:41 Psyche^ joined, Psyche^ is now known as Patterner
moritz hi 17:44
fglock hi 17:45
TimToady lo
Tene I'm having some severe performance problems with some p6 rules iin pugs. Is that likely to be poor architecture (machine translated from PEG) or problems with pugs' implementation? 17:47
avar p6 rules in pugs seem to be pretty slow 17:48
fglock Tene: most likely related to Pugs::Compiler::Rule performance, or the bridging code; but can you give an example?
17:49 dduncan joined
fglock do you mean PGE? 17:49
17:49 dduncan left
Tene It's a pretty complicated grammar. It was heavily modified by someone who didn't have any experience with parsers. I spent a few horus last night trying to track down a specific subset of rules that seem to terminate and rules that don't, but I didn't get very far. 17:50
17:50 dduncan joined
moritz Tene: if you can't how should the compiler to it? *g* 17:50
Tene Heh. :)
fglock: no, I mean PEG 17:51
en.wikipedia.org/wiki/Parsing_expression_grammar
lambdabot Title: Parsing expression grammar - Wikipedia, the free encyclopedia
Tene I finally decided to get some sleep and see if there was a "rules have many known problems right now" response to that question after I woke up. 17:53
moritz Tene: "rules have many known proglems right now" 17:54
Tene allalone.org/lojban-parse.pl btw 17:55
The parts that do work are quite promising.
18:00 iblechbot joined
TimToady the current definition of p6 rules is quite PEGlike, but pugs doesn't really do longest-token yet. though we can emulate that to some extent by rule ordering at the moment. 18:02
18:03 [particle] joined 18:04 [particle] left 18:06 [particle] joined 18:14 PapaChub joined 18:18 Loro_ joined 18:27 jisom joined 18:38 japhb joined 18:47 jisom_ joined
svnbot6 r16568 | Darren_Duncan++ | ext/QDRDBMS/ : in AST.pm, removed all the (Set|Seq|Bag|Maybe)Sel node types, now redundant with the RelationSel node type 18:47
japhb moritz: noticing moritz.faui2k3.org/irclog/out.pl?ch...30#id_l357 , you may want to do automatic email address hiding for the logs .... 18:51
lambdabot Title: IRC log for #perl6, tinyurl.com/yuk69w
18:55 vel joined
lumi japhb: There already is -- that @ is a picture 19:00
japhb lumi: nice! It fit the font perfectly, so I didn't notice. 19:01
japhb is duly impressed
TimToady sneaky!
19:02 rindolf joined
japhb But it brought up another apparent bug -- either lambdabot or tinyurl did not capture the #fragment identifier, so the tinyurl just points to the top of the page .... 19:02
daxim_ for some reason, konqueror doesn't jump there 19:03
though it should 19:04
19:05 the_dormant joined 19:19 jhorwitz joined 19:36 larsen_ joined 19:38 perlmonkey2 joined
perlmonkey2 Anyone know if the Perl5 memory heap suffers from fragmentation problems if many large data structures are quickly allocated and deallocated? 19:38
19:45 penk joined 19:47 ahmadz_ joined
japhb perlmonkey2: I believe that depends completely on whether you are using the system malloc or Perl's internal malloc ... 19:55
It has been quite some time since I read about it, but IIRC on most modern platforms perl by default uses the system malloc, because current mallocs are usually pretty well tuned. 19:56
Tene What bot is producing the web-visible logs? 19:57
perlmonkey2 japhb: Cool, thanks. 19:58
Tene it's not examples/network/logbot.pl
oh, examples/irclog2html.pl 20:00
20:01 weinigLap_ joined
svnbot6 r16569 | fglock++ | kp6-Perl6-roadmap.txt - prioritize the Perl6-STD devel track 20:01
20:02 weinigLap_ joined 20:06 Jmax joined
fglock I read that "prioritizing can be time well-spent or a useful excuse for procrastinators" 20:06
daxim_ I'm too lazy to think about that, I'll do it later 20:07
20:08 ahmadz joined
offby1 I'll think about that, but only after I've thought about lunch, and my trip 20:08
20:10 polettix joined
moritz japhb: re email hiding... I already do. The '@' is displayed as an image 20:12
japhb: I hope that's enough ;)
japhb: it you didn't notice it's fairly unobstrusive at least ;)
japhb moritz: yep, lumi already pointed that out. Works perfectly. :-) 20:14
moritz ok, I didn't backlog all the way, just scrolled to the hilighted line ;) 20:15
thoughtpolice should zip not truncate a resulting list if one of the two being zipped is of a shorter length than the other? i.e. "zip 1..50,'a'..'z'" produces 50 sets of pairs, rather than 26. i'm wondering because otherwise you're just left with extraneous values afterwords that have an undef stuck inside. 20:28
my thoughts are leaning towards this being a bug, rather than a feature. 20:29
Tene thoughtpolice: consider various usage scenarios for 'zip' 20:30
moritz thoughtpolice: if want to do something like map {$_[0] + $_[1]} (@a zip @b), then the extraneous values are propably what you want 20:34
of course you could do that with a hyperoperator, but you get the picture
Tene It's generally bad practice to silently discard values, I believe.
thoughtpolice what about if you were doing something along the lines of an infinate list? i.e. zip 1...,@a if you wanted to give an order to an array of values (something like haskell's Data.Map) 20:35
moritz thoughtpolice: then you'll get an "out of memory" exception :( 20:36
thoughtpolice :(
moritz but good point
thoughtpolice maybe it's just because I come from Haskell. 20:37
TimToady the default changed on this but pugs hasn't caught up
fglock thoughtpolice: the "pil-run" implementation handled such things as special cases; most of the time it just worked 20:38
TimToady you can replicate the final value of a list by putting ,* on the end
moritz actually I don't know if lazy lists in p6 are just a tool to do cool iterator stuff, or if they should be as tightly integrated as in haskell
TimToady so the spec switched to "shortest" semantics
moritz ?eval 1..2 Z 'a'..'c' 20:39
evalbot_r16569 ((1, "a"), (2, "b"), (undef, "c"))
TimToady that's the old semantics
Tene And what if you don't know which list might be longer? add ,* to both? 20:40
moritz was that undef really specced?
Tene ?eval 1..3,* Z 'a'..'c',*
moritz I always assumed the last array should contain just one value
evalbot_r16569 ((1, "a"), (2, "b"), (3, "c"), (Inf, Inf))
TimToady ?eval 1..2,undef,* Z 'a'..'c'
evalbot_r16569 ((1, "a"), (2, "b"), (undef, "c"), (Inf, undef)) 20:41
thoughtpolice it's just I was dealing with doing somewhat functional programming in perl 6 (blog interlude) and laziness came up, i messed around with zip and it didn't work as expected (in haskell, values are truncated if one list is longer than the next)
so I was primarily wondering; I wrote a filter function as an example, so if I need to I might just chain zip to my filter if I can.
TimToady as I say, it's newly specced to truncate but pugs does the old spec
fglock hmm - pil-run is gone from pugs
thoughtpolice so it should act like haskell's zip, but it just doesn't. :) 20:42
answered my question
Aankhen`` <rhr> Aankhen``: thanks for looking at it! re: die vs. fail, that's a good question, I'm not sure exactly how error handling should work. # based on the Synopses, my understanding is that whenever you want to basically indicate "I couldn't match anything", you want to use `fail`. 20:43
Of course, I could be wrong. So sue me. :-)
moritz fail in rules is fine
if you don't want to abort your program, as die does
Aankhen`` Yeh, that was my thought. 20:44
fglock ext/Perl6-Value-List - has the old behaviour too; gotta fix 20:45
20:46 weinigLap joined 20:57 perlmonkey2 left 21:05 SubStack joined, vel joined
svnbot6 r16570 | fglock++ | [ext/Perl6-Value-List] - updated .zip behaviour 21:08
moritz stares at op0Zip' in Prim/List.hs
functional programming is _so_ different :( 21:09
21:11 obvio171 joined
fglock & 21:12
21:18 weinigLap joined
svnbot6 r16571 | Darren_Duncan++ | ext/QDRDBMS/ : added part 1/2 of a test block (resembling actual user code) to Validator.pm, fixed bugs in AST.pm that this exposed 21:23
lumi I'm trying to write Pugs.Meta.List 21:24
moritz what are the Pugs.Meta.* modules for? 21:25
lumi Does anyone grok (...) any? 21:26
They're for the MOP methods
moritz: If you look at Pugs.Meta.Str you'll note it's absolutely beautiful
But.. I don't know how to use it right yet 21:28
moritz it's beatiful alright - but I have no idea what it does and how to use it ;)
lumi I was hoping someone could clue me 21:29
21:29 iblechbot joined
moritz hasn't got a clue himself 21:31
svnbot6 r16572 | moritz++ | fixed zip to truncate to the shortest list
moritz that's my first haskell hack, so I really don't know if it works 21:32
at least on my maschine it still compiles ;)
lumi moritz: Good sign :)
moritz pugs> 2,3 Z 4 21:33
((2, 4),)
lumi Success!
moritz for that one test case, yes
thoughtpolice moritz: nice :) 21:34
21:34 prism joined
thoughtpolice moritz: where was the fix anyway? i was going to find it, but I had to get food. :x 21:34
moritz thoughtpolice: in src/Pugs/Prim/List.hs 21:35
thoughtpolice ah
man, my chair is totally screwed. :(
moritz op0Zip' lists | any null lists = []
that was "all" instead of "any" before
so it was just two characters ;)
thoughtpolice i guess my next goal is to find something else to sit in :( 21:36
moritz thoughtpolice: if I knew you'd fix it I would have waited for you ;)
thoughtpolice hah, i haven't gotten into really hacking the pugs source yet. 21:37
so i wouldn't even have a clue where to have looked first ;)
moritz that was not too hard - grep is your fried ;)
s/fried/friend/
thoughtpolice: that was my first dive into pugs sources as well ;) 21:38
thoughtpolice well at least now I have -some- idea I guess.
:)
but like I was saying; I need a new device to put myself in so I may use this beastly thing called a computer.
moritz: but from the look of your change that 'any' is all that was needed 21:39
moritz thoughtpolice: I sincerly hope so ;) 21:40
thoughtpolice moritz: well it's just from a quick look and what haskell-mode is telling me from a few function types. 21:42
moritz looks at t/builtins/lists/zip.t - that's weird
it just tests the stringification 21:43
21:45 lisppaste3 joined
thoughtpolice well at least I got a new chair. 21:51
:)
meppl good night 22:17
moritz damned, my comit broke each() 22:22
it loops infinitely on 'each()'
does each uses zip internally? 22:23
I don't understand that
lumi op0Each = fmap (VList . concat . op0Zip') . mapM fromVal 22:25
moritz oh, indeed
lumi If those are the only place it's used, you could, at a hack, parameterize if on the different function 22:31
s/if/it/
It's only ever used in those two and in op0RoundRobin 22:32
moritz: ^^
moritz lumi: I don't know how to do that :( 22:33
and I don't understand why it should loop infinitely on empty lists
lumi moritz: I don't get why it's looping either
moritz lumi: is zipRest identical to tail? 22:34
lumi moritz: But you could either pass a function (either 'all' or 'any') or a boolean
moritz it looks like to me
lumi moritz: I thought so too for a second, but:
> tail []
lambdabot Exception: Prelude.tail: empty list
moritz right
lumi @type all 22:35
lambdabot forall a. (a -> Bool) -> [a] -> Bool
22:35 vel joined
lumi Meh, better to pick either all or any based on a bool, perhaps 22:36
moritz @type any
lambdabot forall a. (a -> Bool) -> [a] -> Bool
moritz as expected
lumi: that's ugly
lumi Like: op0Zip' b lists | (if b then any else all) null lists = []
True :/ 22:37
moritz is trying op0Zip' [] = []
lumi > all (const False) []
lambdabot True
moritz that might be the problem 22:38
lumi moritz: That might be it
moritz I'm compiling right now
> any (const False) []
lambdabot False
moritz > any null []
lambdabot False
TimToady note that each() as a variant of zip() is not supposed to exist anymore...zip() is supposed to be context sensitive to @ vs @@ 22:39
moritz is happy if stops each() from looping, correctness considerations come later 22:40
first make it run, than make it right ;)
s/than/then/
japhb ... then make it fast.
;-)
moritz then make it correct again ;)
japhb heh 22:41
moritz commiting...
thoughtpolice in the middle of all that just don't shoot your foot off
'cause that's bad, last time I heard. 22:42
svnbot6 r16573 | moritz++ | fixed looping each() with empty arg list, introduced in previous commit
22:47 weinigLap_ joined
moritz ?eval class F { has $.f is rw = 1; } 22:55
evalbot_r16572 undef
moritz in HTTP.pm it's the other way round, syntax error 22:59
22:59 mmk[null] joined
TimToady yes, the pseudo assignment must follow the traits 23:04
otherwise we'd have to throw all the possible traits in as expression terminators 23:05
23:06 devogon joined
moritz and the traits seem to be more important than the initial value 23:06
TimToady and they happen "first" notionally
23:06 devogon joined 23:08 devogon joined
moritz t/blocks/goto.t fails to compile 23:11
a ref to sub is used before that sum is declared
is that a bug in the test file?
to me itlooks like a wrong/outdated test 23:12
audreyt++ # compile time checking if variables are declared 23:14
svnbot6 r16574 | moritz++ | t/blocks/lvalue_subroutines.t: fixed two brainos that prevented it from
r16574 | moritz++ | compiling (undeclared variables)
23:17 demq joined 23:18 Caelum joined
svnbot6 r16575 | moritz++ | t/builtins/io/open.t: fixed undeclared variable 23:18
moritz should try { &nonexisting_subroutine } still produce a compile time error? 23:22
that's in t/magicals/dollar_underscore.t 23:23
svnbot6 r16576 | moritz++ | t/regex/from_perl6_rules/subst.t: removed localization of $_ at top level. 23:28
r16576 | moritz++ | If that should be possible it should be tested somewhere else.
japhb moritz: I should think try { &nonexisting_subroutine } should still fail at compile time, because to my understanding try handles runtime errors, not compile time. If you want to ignore compile time errors, I would think you'd need eval or more advanced trickery 23:33
s/ignore/catch/
moritz japhb: I agree, but I will not change that test without TimToady's approval... 23:34
japhb nod 23:35
moritz japhb: if you are certain, you can change it by yourself ;)
japhb actually not -- for some reason I've been having trouble committing to the repo. Of course, last time I checked was a couple weeks ago ...
moritz japhb: a couple of weeks ago pugscode.org had DNS problems 23:37
japhb moritz: fair enough
moritz due to a registrat that lost his licence or something
23:44 daxim_ joined 23:54 weinigLap_ is now known as weinigLap