6.2.2 is airborne! | pugscode.org <Overview Journal Logs> | pugs.kwiki.org
Set by autrijus on 1 May 2005.
01:45 cm_ is now known as cm
cm does the camel thing 01:54
nothingmuch_ *yawn* 05:27
gaal Morning _
nothingmuch_ hola 05:29
05:30 nothingmuch_ is now known as nothingmuch
nothingmuch what's up with ::Model? 05:30
machack666 hey, is it clever or kludgy to implement some of pugs' features in perl? 05:31
gaal nothing is, i said i won't be working on it $last_night.
machack666: if it's perl6, it's all good
i started doing that for various forms of open 05:32
but defered that since there's so much disagreement about it
machack666 do you just give a string to the Eval monad?
disagreement about p6 code, or about the various forms of open? 05:33
gaal the latter
nothingmuch gaal: i mean what is the plan
. o O ( the surest way to forget that something exists is to put it in a toaster )
. o O ( the only problem is that something will probably remind you later, and it won't be as pleasant ) 05:34
gaal m6: about whether open should be highly dwimmy like p5, or split to several separate calls like the underlying libs, or somewhere in the middle.
forum2.org/gaal/pugs/smoke-cygwin.html # where's the global unforcetodo switch now? 05:38
nothingmuch gaal: want to update pugs.kwiki.org/?SmokedPugs with that URL? 05:40
gaal oh, it isn't global :) shall i unforce everything?
sure
nm, commit your autosmoke script? 05:42
nothingmuch it's not that generic 05:45
should i commit and someone will edit?
or maybe i should just nopaste?
gaal sure, why not.
that works too.
anyway, i gotta run for work. see ya.
nothingmuch perlbot nopaste 05:46
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
nothingmuch same here actually
pasteling "nothingmuch" at 212.143.91.217 pasted "shell test loop" (40 lines, 966B) at sial.org/pbot/9831
nothingmuch make clean is probably not necessary for everyone, but sometimes incremental builds die on my box 05:47
gaal yeah, mine too.
wait == teh clever 05:48
never occured to me /bin/sh could do that :) 05:49
oh, btw
make smoke can now automatically u/l results 05:50
modulo the actual u/ling that is. -- it has a %ENV<PUGS_SMOKE_UPLOAD> mech. 05:51
anyway, i gotta go. bye! &
(nm: is there a way to abort the smoke if it hangs?) & 05:53
nothingmuch killall pugs? 06:01
nothingmuch looks at how make smoke uploads 06:02
skew is util the right place to put little scripts for working on pugs? 06:03
nothingmuch yep 06:04
skew hmm, I suppose I should make a perl script 06:06
right now it's just egrep '([1-9]00|[1-9]0|[1-9])\.[0-9][ ]+[^ ]+$'
but it could be imporved 06:10
that turns out to be enough for the filtering of the profiling output that I wanted 06:11
does anybody want to show me how to turn that into perl so it has room to grow?
gaal nm, killall is very unportable. on solaris it does something completely different. i was more worried about the alarm thogh; my sh-fu isn't that strong.
skew, naively that's perl -ne 'print if /that_regex/' in p5 06:12
skew what does that look like as a .pl file?
gaal #!/usr/bin/perl -n 06:13
print if /that_re/
work & # for real
skew does that regexp work? 06:14
that is, is there any way to do it much better?
gaal that is a valid p5 re - but i don't know your data very well 06:15
gotta go now, back later.
skew columns of floating point numbers, I want lines where the second from the last is at least 1
well, some text earlier on the line
is nobody else around? 06:16
06:43 castaway_ is now known as castaway
castaway Nope 06:45
jabbot pugs - 2600 - * pugscc --pugs repaired! 06:46
pugs - 2601 - * This be Pugs, version 6.2.2.
pugs - 2602 - Made util/*.pl and script/pugscc svn:exe
pugs - 2603 - Skip /etc/shadow tests.
pugs - 2604 - * This be Pugs 6.2.2 for real.
pugs - 2605 - * nitpick
pugs - 2606 - Updated svnlog2graph.pl to use a better
pugs - 2607 - * `system(Str: List)` and `exec(Str: Lis
pugs - 2608 - eol-style => native on AUTHORS
pugs - 2609 - add some (mostly failing) #line tests
castaway good morning jabbot ,)
jabbot pugs - 2610 - * make gaal's line_basic.t pass. 06:55
nothingmuch gaal: yeah, i know killall is terribly broken on some platforms... /me did (aix|solaris|hpux|osf) sysop for a living up to a while ago 07:13
i haven't really thought about what would work 07:14
because i don't think it's really an issue
i just kill the shell script
you could have it write $$ somewhere, and then use that if you want it managable 07:15
gaal|work it's not *broken*, it just means something else 07:22
but does killing the script kill the running smoke? 07:23
nothingmuch eventually
gaal|work why?
hey, trillian is smart! i just noticed it logged me in automatically with the last nick i'd used on this client. 07:24
nothingmuch the child process receives a SIGFLKS
;-)
i don't know
i just kill till it's dead
kill pugs kill make kill perl
lots of ps | awk
and everyone is happy 07:25
gaal|work SIG fuck, lookslikemyparentdied?
nothingmuch sig folks
gaal|work no, you could have a manual make going on
ps|greps suck.
nothingmuch right
i don't do it blindly
one thing i haven't looked into is process groups 07:26
you could make it setsid
but perhaps even just killing the process group that == pid of the parent is enough
again, i haven't bothered with this stuff at all 07:27
skew hi, how do I send a patch?
nothingmuch skew: svn ci
i can give you commit privs 07:28
skew that should do it then
nothingmuch okay, i'll just need an email
skew I'm brandon 07:29
hmm, let's use its.caltech.edu
nothingmuch okay, sent 07:30
skew I got it 07:33
nothingmuch welcome aboard 07:34
jabbot pugs - 2611 - Added a profiled-optimized (with synonym 07:35
castaway (and dont forget to fill in AUTHORS) 07:36
skew there we are
I'm already in there, actually
mj perlbot nopaste 07:52
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
pasteling "mj" at 147.229.221.107 pasted "Are these "for is rw" tests right?" (14 lines, 566B) at sial.org/pbot/9833 07:55
nothingmuch mj: looks good
i'm not sure about the hash comparison though
since hash order is not guaranteed the stringification might be different 07:56
i would just test %hash<a>, 2, and then %hash<c>, 4
but overall the test is good
the name 'nothingmuch' is being taken by impostors! 07:57
gmail, livejournal
beh
mj is( %hash_kv.sort, %kv.sort, ... or 08:00
is( %hash_kv<a>, 2, ...
is( %hash_kv<b>, 3, ... ?
nothingmuch yup
jabbot pugs - 2612 - for.t - "for @list.values -> $num is rw" 08:05
mj t/statements/for.t needed for new tutorial_gen. thanks :-) 08:08
gaal|work forum2.org/gaal/pugs/smoke-cygwin.html # aiming for a two minute smoke 08:25
this time with aggressive concurrency i saw tests fail too because of contentions. 08:26
oops, why is the css screwed?
nothingmuch gaal: where can scp something?
gaal|work oh, it isn't inlined 08:27
nm, you want to send someitnhg to me?
nothingmuch yep
gaal|work i'm at work, so i'd rather pull, if possible. 08:28
nothingmuch okay
rsyncying to home
ooh, 180k =)
gaal|work that can go in email, even.
nothingmuch no, i meant per second =)
gaal|work gaal strudel sheernetworks.com
oh 08:29
cool
nothingmuch nothingmuch.woobling.org/Karin%20Kr...%20Joe.mp3 - xrl.us/fxzf
gaal|work decent uplink you have there. 08:30
nothingmuch pays good money for it
nothingmuch should rerip it 08:31
as ogg this time
this rip was for others at work
gaal|work nm, this is just in time - now i have an excuse to stop the cowerkre's crummy stuff
nothingmuch =)
NHOP is amazing 08:32
gaal|work NHOP?
nothingmuch Nils-Henning-ĆøĆøsomething-Pederson 08:33
sorry, pedersen
and Ƙrsted is the Ƙ bit
and he's the bassist on that record =)
more people refer to him as NHOP than by the full name though 08:35
btw, this is the CD from poland 08:37
gaal|work forum2.org/gaal/pugs/smoke-cygwin.html - updated css
nothingmuch took it about a month and a half to get here, i think
jabbot pugs - 2613 - print message when all chunks are comple 08:45
autrijus hey. 08:49
somebody added a profiled-optimized 08:50
skew: is that you?
skew yes
autrijus problem being, since yesterday, our "make profiled" is already optimized.
note the -O.
skew oops
autrijus please revert the change :)
skew how does that go?
autrijus in general, I think -O reads better than -O1, despite them being synonyms 08:51
reverting?
skew yes, I've never used svn before
autrijus svn merge -r 2611:2610 .
I'll revert it for you :)
nothingmuch morning autrijus
autrijus hey nothingmuch. 08:52
skew where are patches listed?
nothingmuch skew: 'svn log'
skew okay
autrijus done
skew does co describe the new patches?
autrijus hm" 08:53
nothingmuch like darcs, you mean?
autrijus "svn up" is update
nothingmuch no, it lists the files that changed
and in 'svn co' it's probably all of them
autrijus to see the new changes, use svn log or something
if you want offline information about specific patches
as well as patch dependency information
skew svn log wants to show me everything that ever happened
autrijus and patchset generation and contexts
then you want svk, not svn :) 08:54
svn is more... traditional
it's basically the cvs model with much better internals
skew I'd like to leave the little script, unless somebody already did that too 08:55
Juerd moin!
autrijus skew: I left that alone too
jabbot pugs - 2614 - revert profiled-optimized because profil
nothingmuch ooh, we're going out to lunch
autrijus I only reverted Makefile.PL
hey Juerd.
skew oh, okay 08:56
nothingmuch hola Juerd
autrijus bbiab. :) 08:58
skew Is Context just someting internal to the interpreter, or can code directly manipulate the class tree in perl6? 09:00
basically, can I just rewrite it or do I have to worry about exposing it to the interpreted code 09:01
decay *g* 11:01
castaway whose idea was this utf8 thing again? :)
jabbot pugs - 2617 - More Haddocks (AST/Junc/Types) 11:25
pugs - 2618 - Concurrency fixes in tests 11:35
castaway pingpong, Odin 11:37
11:57 greg is now known as drbean
nothingmuch gaal: ping 12:01
Limbic_Region did I misintrpet "# for @a { say } is now parsed as for @a -> $_ is rw { say } " from yesterday's release notice? 12:03
I interpreted it to mean that for @foo { ... } now worked as for @foo -> $_ is rw { ... } 12:04
but that doesn't seem to work?
castaway sounds like thats what it means.
Limbic_Region I am doing a fresh checkout now, but it doesn't work for me 12:06
can someone please confirm?
castaway do the tests run? 12:09
Limbic_Region didn't see a test for it
but then again - I have wiped out my build and starting from scratch 12:10
Juerd Limbic_Region: No, it only works for arrays called @a ;)
nothingmuch eh?
Limbic_Region my @a = 1..5; for @a { $_ = 2 }; @a.say; # would be enough to test/verify for me
luqui there is a test for that, I believe 12:13
t/statement/for.t, four from the end or so?
Limbic_Region I will look as soon as the compile is done
my guess is that I have found another bug
nothingmuch why is it just for @a?
Limbic_Region last worked too but not properly
luqui I think that was a joke
Limbic_Region wonders if nothingmuch missed the smiley
nothingmuch ah
yes i did 12:14
nothingmuch was panicking for a second there
Limbic_Region so if sub foo ( *@bar is rw ) { for @bar { $_ = 2 } @bar.say } foo( 2, 3, 5); # doesn't work - it is a bug? 12:15
jabbot pugs - 2619 - Fixed some comments that were confusing
Juerd grins 12:16
nothingmuch: Yes, it was a joke :)
Limbic_Region: Depends on your definition of "work" 12:17
Limbic_Region: It shouldn't work as in assign 2 to any of 2, 3, 5, becuase literals are read only.
Limbic_Region err - that was for the sake of brevity 12:18
imagine that foo( @list ) was what I had really said
and @list = (2, 3, 5)
Limbic_Region is nearly finished with the compile now 12:20
nothingmuch Limbic_Region: look at pugs.kwiki.org/?SmokedPugs if you need Q&D results 12:25
you can browse the test files themselves
nothingmuch.woobling.org/pugs_test_status/ <-- t/statements/for.t fails two subtests
s/two/three/
that run is from around 20 minutes ago 12:26
unsurpriisingly these are the is rw tests (mouse over the red boxes)
Limbic_Region nothingmuch - it isn't a matter of not working under the right conditions 12:27
I think I found a bug in which it doesn't work when it should
Limbic_Region is building a test case now
nothingmuch for @list_s -> { $_++ }; <-- does seem to work, btw 12:28
and in your example i think it shouldn't work 12:29
because it can't is rw what is constant
Limbic_Region nothingmuch - they aren't constants
again, that was for brevity
the actual code sticks them in an array that is modifiable
nothingmuch foo(1, 2, 3); # not constants?
ah 12:30
why are you splatting the array?
Limbic_Region [08:22] <Limbic_Region> err - that was for the sake of brevity
[08:22] <Limbic_Region> imagine that foo( @list ) was what I had really said
[08:22] <Limbic_Region> and @list = (2, 3, 5)
nothingmuch sorry, i'm having trouble concentrating =P
Limbic_Region hang on - I am almost finished
ok - so the trouble appears to be with splatting the array
nothingmuch 's train of thought looks more like a train accident, things splatterred all over 12:31
Limbic_Region perlbot nopaste
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
nothingmuch say 'sub foo (@bar is rw) { }';
btw, if you like, try the CLI
i couldn't get used to it 12:32
but maybe i should try again
pasteling "Limbic_Region" at 69.250.48.119 pasted "Example of working and broken code" (22 lines, 290B) at sial.org/pbot/9837
Limbic_Region so @bar is rw for the parameter definition works 12:33
nothingmuch i don't think that's a bug
Limbic_Region but *@bar is rw doesn't
and neither do I
now
nothingmuch so add a test making sure it never works ;-)
no sense in not using what you wrote
Limbic_Region it took finding the smallest test case I could before the real issue identified itself
nothingmuch especially since it's a very clear disambiguation of behavior 12:34
Limbic_Region is more interested in getting the code he was trying to write working first
nothingmuch put it the sub parameter tests
what were you trying to write?
Limbic_Region an infinite lazy list
translation of a p5 piece of code 12:35
needed for @foo -> $_ is rw { ... } first
saw that it got added
went to work
had same problem
got confused
nothingmuch that works
Limbic_Region the rest as they say is history
wow - it doesn't blow up now 12:38
it doesn't give the correct results, but it doesn't blow up 12:39
yay - it works 12:57
pasteling "Limbic_Region" at 69.250.48.119 pasted "Infinite Lazy List" (23 lines, 588B) at sial.org/pbot/9838 12:58
Limbic_Region wanders off to eat some breakfast and will return to check in a test and an example 12:59
Shillo Hullo! 13:02
shapr bok Shillo 13:03
autrijus: Hey, to which address should I forward the SPJ email? 13:04
Limbic_Region nothingmuch ping 13:05
nothingmuch pong 13:08
Limbic_Region WRT to writing a test for failure
it is currently a parse fail
not sure how to construct a test that says "this shouldn't work" 13:09
any ideas? 13:13
jabbot pugs - 2620 - Added infinite lazy list example 13:15
Limbic_Region nothingmuch - if you think of how to add such a test, the example is still at sial.org/pbot/9837 13:16
perlmonks.org/?node_id=453215 # post about latest example 13:24
nothingmuch sorry, i had to go do what i write down in the MS proj server as "internal support" 13:38
what we normally do (see t/README) is comment that stuff out 13:39
and then do fail("parse error", :todo), or maybe without the todo
Limbic_Region nothingmuch - really - be my guess 13:41
errr guest even
gaal|work rehi # internet blackouts make me jitter 13:42
nothingmuch gaal|work: whats the current status quo of parsefails in tests? 13:45
block comment + fail("parsefail")?
gaal|work i think so, yes
nothingmuch Limbic_Region: did you comit a broken test? i can fix it if you like 13:46
Limbic_Region no 13:47
I didn't commit at all
nothingmuch so please do =)
Limbic_Region because I didn't know how to say "this test should break"
and would just soon learn from example 13:48
sial.org/pbot/9837
nothingmuch Limbic_Region: make it into a test first
is(@foo, @expected);
...
one that doesn't even compile
(use Test, plan x
Limbic_Region you are almost as bad as stevan - you know that? 13:49
nothingmuch then comit it, and we'll see what we can do about cleanup
Limbic_Region alright alright
nothingmuch hehe
stevan and I think alike for the most part, i guess
stevan hey, you guys talking about me? 13:51
nothingmuch yeah, we were saying stuff about your mother
but we took care to [off] that so it won't be logged
stevan ok 13:52
good
mom is sensitive about people talking about about her on IRC :P
nothingmuch there's a nice #bash quip about that 13:53
=)
pasteling "Limbic_Region" at 69.250.48.119 pasted "splatted parameters shouldn't be rw test for nothingmuch" (22 lines, 338B) at sial.org/pbot/9839 13:54
Limbic_Region nothingmuch - there ya go 13:55
notice the 'Some Failure'
maybe it should even be in an eval_is() ?
nothingmuch one second 13:56
Limbic_Region counts to at least 60 13:57
nothingmuch metaphorical second please 13:58
drbean Pugs.Parser is taking a long time to compile 13:59
Limbic_Region drbean - if you want it to go faster, make unoptimized
optimized is the default build now - which takes longer
drbean How long is long? 14:00
nothingmuch drbean: on my ppc g4 around 10 mins 14:01
Limbic_Region 15 on my 1.5ghz pentium with 512mb of ram
nothingmuch ppc g4 = 1ghz (dual, but not that it matters when compiling), 1.25gb ram 14:02
Limbic_Region hmmm
nothingmuch okay, i'm with you LR
Limbic_Region I should have mentioned that 15 minutes is for a 100% fresh build
nothingmuch sorry, new sysadmin needed hand holding
i think splatted + rw does not make sense at all
Limbic_Region not just Pugs.Parser
nothingmuch (same)
Limbic_Region well, that's what the test says and does
nothingmuch what kind of error does that file give you?
i mean it should be a parse error, maybe 14:03
Limbic_Region but not sure how to properly capture that
nothingmuch in the future
i would make it several parts
let me try a bit
Limbic_Region I was thinking it should be a catchable error that could be caught with eval 14:04
and that we would just need to check $@ (or whatever it is now) 14:05
but since we want to write a test before that functionality exists - not sure how it should look
Limbic_Region wanders off to put some clothes on
autrijus hi. 14:06
I bring you... eval_yaml().
nothingmuch there's dies_ok, but that's for code refs
autrijus++
autrijus committing.
done as r2621. 14:07
skew autrijus: where is the class stuff for Context.hs specified?
nothingmuch Limbic_Region: i can whip you up a dies ok for eval string... would that be good enough?
autrijus skew: S06 14:08
Limbic_Region nothingmuch - haven't got my pants on yet
explain to autrijus real quick
come up with a consensus
and I will commit the test
nothingmuch Limbic_Region: ? 14:09
Limbic_Region about how to represent a test that should fail but with behavior we aren't sure of yet 14:10
or will the dies_ok not care about the string 14:11
nothingmuch dum dee dum
Limbic_Region just needs an example
autrijus so, anyone up for svn up to r2622
and see if eval_yaml indeed works?
the .yaml() emitter interface is easy too 14:12
Limbic_Region: you have a curious habit of writing 14:14
sub { ... }
where
{ ... }
will suffice and a bit more lightweight
Limbic_Region autrijus - not curious - expected
I start with the p5 code
autrijus ahh.
that explains
Limbic_Region and only change those things I know will break otherwise
feel free to change the example
I will change the Monastery post 14:15
Limbic_Region has finished dressing now
jabbot pugs - 2621 - * `eval_yaml()` support.
pugs - 2622 - * fix build.
shapr "Actually, we're rather impressed at the sophistication of the programming techniques that Autrijus and you and the other Pugs folk are deploying. Subcontinuations, GADTs, what next?" -- SPJ 14:16
Limbic_Region autrijus - actually - dropping sub from the place where I think you mean breaks the code
my $by_n = sub { my ($n, $k) = (shift(@_), 0); return sub { @_[0] ?? $k += $n :: $k } };
dropping either "sub" breaks the code autrijus 14:17
autrijus woot, eval_yaml(slurp("META.yml")) works
Limbic_Region err - no
autrijus shapr: wow?
STMs of course :)
Limbic_Region dropping the first one does
shapr autrijus: yes, I thought about STM as soon I read that.
autrijus Limbic_Region: yeah, because a block is not a proper sub 14:18
hrm.
wait, that makes no sense.
autrijus needs food to think coherently
shapr needs sleep to think coherently 14:19
Too bad it's not working.
elmex the parrot backend of pugscc is experimental i guess?
autrijus shapr: fwd me that mail? :)
elmex: all of pugs is experimental
shapr Sure, which address?
autrijus but yes, --parrot doubly so
elmex ;)
autrijus shapr: autrijus at autrijus dot org
elmex autrijus: ;)
shapr ok
Limbic_Region nothingmuch - I am afraid I am almost out of tuits this morning - need to go pick up my Dad from the airport RSN
autrijus elmex: helps welcome -- it's in src/Compile/Parrot.hs
elmex autrijus: my knowledge in imc/pasm is even less than in haskell 14:20
(heck, i know more MIXAL than IMC ;)
nothingmuch Limbic_Region: okay then, i'll commit something partial 14:21
or you can commit, and i can edit
autrijus elmex: it's quite easy to learn actually :)
elmex autrijus: i guess so
autrijus imc is a sane assembly language
as assembly goes
Limbic_Region nothingmuch - I will make same deal with you as I did with stevan 14:23
nothingmuch #!/usr/bin/pugs 14:24
use v6;
Limbic_Region check in sial.org/pbot/9839 however it needs to be to minimally do the right thing
nothingmuch use Test;
=kwid
Splatted parameters shouldn't be rw even if stated as such
=cut
plan 2;
# test splatted parameter for rw ability
eval '
Limbic_Region I will follow it up with investigation
nothingmuch sub should_fail ( *@list is rw ) {
@list[0] = 'failure expected';
}
my @test = 1..5;
';
ok(defined($!), "trying to use an 'is rw' splat doesn't work out");
eval '
sub should_fail (*@list is rw) { }
';
ok(defined($1), "trying to define an 'is rw' splat doesn't work either");
shyte, sorry
Limbic_Region wonders why nothingmuch is pasting everything I nopasted
nothingmuch i meant that to be: sial.org/pbot/9840
nothingmuch--
that's not what you nopasted, that's what I nopasted, and then also pasted 14:25
Limbic_Region ahhh
ok - so check that in and I will follow up
nothingmuch righty-o
how should we call the test?
Limbic_Region autrijus - I will also follow up with you about why 1 "sub" can be dropped but not the other
s/how/what/
splat_rw.t
nothingmuch our internet is dying, look at all the packets that we send 14:27
nothingmuch looks for formaldehyde
shapr finds some informaldehyde 14:28
I guess that's when formaldehyde dresses down.
nothingmuch Limbic_Region: r2623 14:31
it has one fail
Limbic_Region nothingmuch - I have about 10 minutes before I need to head to the airport which isn't enough time 14:32
will look at it tomorrow though
thanks
nothingmuch it's just FYI, there's not much else to do for that test
except maybe do a dies_ok on strings and refactor it to use it
jabbot pugs - 2623 - Add limbic_regions' test with some modif 14:35
14:54 wilx` is now known as wilx
gaal|work yaml serializes perl5 regexps 15:08
it calls them perl/regexp 15:09
rather, !perl/regexp
castaway seen theorbtwo 15:16
jabbot castaway: theorbtwo was seen 18 hours 10 minutes 19 seconds ago
autrijus hm. 15:19
somebody wrote me to say that his sieve.p6 is too slow.
running it on my computer yields 25s real time
so I tweaked Types.Array a bit.
now it runs in 5s. 15:20
about to commit ;)
castaway *g* 15:21
wilx Diabolous.
shapr haha
autrijus but more importantly, it's now O(n) instead of O(n**2). 15:22
stevan autrijus++ 15:25
autrijus tests++ # caught a implementation glitch 15:26
stevan speed++ # moves me that much closer to ditching perl5 :)
autrijus stevan: you saw we have eval_yaml now? 15:27
stevan yes I did
autrijus I'm quite excited. :) that moves me much closer to ditch perl5 too. 15:28
stevan I wish I could test/play with it, but $work has been killing me lately
BTW- for the :todo<attr> idea
I thought maybe 3 levels
:todo<bug>
:todo<feature>
:todo<parsefail>
can you think of any more?
shapr 9r 9r, what's your 10-20? 15:29
autrijus probably that's enough
ninereasons hi shapr :_)
stevan maybe I should talkt o chromatic about this too?
autrijus hardfail too
shapr waves a subcontinuation
autrijus I have an idea
stevan integrate into Test::Builder
autrijus if it's :todo<hardfail>
then we don't evaluate the condition at all 15:30
stevan yes
autrijus ok(core_dump(), :todo<hardfail>);
stevan hardfail == uncatchable in pugs?
autrijus yeah
stevan ok
but parsable
autrijus but parsable
stevan :)
autrijus you can implement that using the "is lazy" trait.
stevan is that available ? 15:31
autrijus sure
stevan cool
ok($cond is lazy, ...
then how do I un-lazy-ify it?
autrijus pugs> sub cond (Bool $cond, $true is lazy, $false is lazy) { $cond ?? $true :: $false } 15:32
undef
pugs> cond(1, 2, die(3))
2
"is lazy" is param trait
stevan very cool
so if I dont ask for it, it will never evaluate
autrijus exactly.
and you don't need to force it
stevan *sniff* I love perl 6
autrijus it will just evaluate when needed
I think @larry wants to rename it 15:33
"is delayed" or something
but anyway, the functionality is there
stevan excellent
I will work on it after $work tonight
autrijus stevan++
stevan autrijus++
shapr C--
stevan Pascal-- 15:34
autrijus C--++
shapr laughs
stevan pcode++ # bootstraping rules
gaal|work say, i was looking for a list of platforms parrot currently builds on. i couldn't find it :)
any idea where it's at?
jabbot pugs - 2624 - * switch IArray implementation to IntMap 15:35
ninereasons "is delayed" sounds less virtuous than "is lazy" 15:39
gaal|work yeah, and "is lazy" makes you wonder what "is impatient" does.
castaway heh 15:40
stevan "lazy evaluation" is well known terminology I think 15:41
but hey,.. I dont design the things I just write tests for 'em
shapr non-strict vs strict
gaal|work my $programmer is lazy is impatient is hubristik; 15:42
tic
stevan my $programmer is delayed; 15:43
ninereasons that makes me wonder if traits are additive
stevan or junctive
shapr My computer is a pile of junc!
stevan my $programmer is lazy & impatient & hubristik
my $project is cheap | fast | good; 15:44
$project.pick()
gaal|work My hovercraft is full of eels
it's pick two, no?
stevan $project.pick()
of course you might get the same one :) 15:45
gaal|work my smoke is insanely fast
must not be very good or cheap then
jabbot pugs - 2625 - * eval_yaml now takes and emits UTF8 str
pugs - 2626 - * preliminary checkin for ChangeLog lest
gaal|work forum2.org/gaal/pugs/smoke-cygwin.html # looks like no concurrency problems now 15:54
jabbot pugs - 2627 - * much faster pop/push implementation 15:55
nothingmuch drop your panties sir william, i cannot wait till lunch time 15:58
gaal|work i have a better idea for fixing the pugsrun/ concurency issues! expose open pipe already. hackage tonight. 16:00
or maybe that complicates the tests too much? what do you guys tihnk? 16:01
ie adds another fallible factor
stevan gaal|work: how do I get the concurrency working? 16:07
gaal|work env PUGS_TESTS_CONCURRENT=7 make smoke 16:08
you may want to use a lower value of 7 though.
home! bye. 16:10
nothingmuch maybe we can buy CPU hours from that sun Ć¼ber cluster
PUGS_TESTS_CONCURRENT=30
they charge $1 per cpu hour 16:11
perhaps we can get a charitable discount
nothingmuch goes home too
autrijus gaal_: I think go for it. 16:12
hey Corion. 16:16
Corion bows to autrijus-sama 16:17
autrijus ponders what to use the builtin yaml support for 16:18
I also wonder if yaml emitting is important.
$obj.yaml
PerlJam autrijus: my gut says that it is or will soon be.
Odin-LAP It'd be cool, at least. 16:19
Corion autrijus: Please fix YAML so that newlines at the end of file don't break the import :)
autrijus: (or missing newlines, I forget which breaks YAML) 16:20
autrijus Corion: try it yourself?
Corion (Perl5 YAML, that is)
autrijus: I thought there is some holy spec to YAML?
autrijus er, I mean
eval_yaml()
in pugs.
it's available now
only supports strings, arrays and hashes
no pairs or native int yet
but it's a start
Corion autrijus: Supporting much more is overkill/useless anyway :) 16:21
autrijus I think the newline bug is solved 16:27
in pugs
or rather, in syck
I wonder why we don't switch to syck for perl5 anyway.
it has both parsing and emitting capabilities.
and it will ensure interop with php ruby python ocaml haskell :) 16:28
or and objc.
s/or/oh/
committing PGE as part of Pugs tree. 17:06
shapr PGE?
autrijus perl 6 rules parser thing. 17:07
theorbtwo The Perl6 Rules Engine.
shapr ohh
autrijus lifting the :P5 requirement on Eval.hs 17:08
theorbtwo autrijus: What are you working on for the next week or so?
autrijus theorbtwo: no idea. :-/
I should do $work.
shapr too
autrijus praises pattern guards 17:09
theorbtwo Just wondering -- it sounds like you're going to be doing p6 rules, but I think more people are wanting objects. 17:10
Hm, I can see that a p6 rules implementation might bring us closer to the point where we can start folding ourselves over to selfhosting.
autrijus er, I'm not doing p6 rules :)
I'm just committing PGE in the tree. 17:11
PerlJam theorbtwo: autrijus won't be doing rules. Pm is doing rules.
autrijus yup.
certain rumour says he'll deliver the promised revision
in the next 8 hours.
theorbtwo pmichaud is doing the glue too, or just the C bits?
PerlJam theorbtwo: and you are correct. Once pugs has perl6 rules, we are ready to start bootstrapping (unless someone can think of a showstopper that I can't) 17:12
autrijus er.
writing a compiler without using objects.
theorbtwo Differing semantics between p6 rules and parsec?
That too.
autrijus not happy.
so, objects still priority #1.
gaal_ rehi 17:14
PerlJam autrijus: pmichaud also said that when he's done, he'll pop in here to give you guys a heads up.
theorbtwo Allo, Gall of the Order of the Underscore.
gaal_ am i underscored? phew. 17:15
17:15 gaal_ is now known as gaal
gaal nickserv is bothering me again :( 17:15
theorbtwo autrijus, is the theory to rewrite what we have into p6, or to write a haskell to p6 converter... that understands all the "interesting" features we're using, like GADT, TH, etc? 17:16
autrijus theorbtwo: I think writing Grid -> PugsAST 17:17
is the easiest rout.
I mean Grin -> PugsAST
and route.
PerlJam "Grin"?
theorbtwo Grin?
Is this another name for Core?
autrijus Grin is the intermediate code that JHC uses.
theorbtwo Ah.
PerlJam righto.
obra Is grin some weird smiley variant of ook?
autrijus looks cleaner than Core
alternatively 17:18
Grin -> IMC
theorbtwo Does jhc compile us?
autrijus is possible, but then it won't be "bootstrapping"
it will just be parrot-hosting
PerlJam I was going to suggest that compiling haskell to PugsAST would be simpler than haskell to p6, but grin -> AST sounds even better
autrijus theorbtwo: I don't know, not yet tried. jhc however supports lots of ghc extensions already 17:19
and emits very fast code due to whole program analysis
so in any case I think helping out jhc may prove more fruitful.
theorbtwo Nod.
autrijus but Core -> IMC or Core -> PugsAST isn't ruled out either.
I still prefer -> PugsAST
because then Pugs.Compile.Perl6 (aka deparse) can yield a p6 version of pugs.
shapr I think grin is short for something like Graph Reduction Intermediate Notation 17:20
theorbtwo Well, assuming we don't use features of PugsAST that cannot be expressed in p6...
...or create ways to express them.
autrijus thing is, Grin is comparable in complexity with Pugs's Exp
PerlJam autrijus: heh, do the same for p5 and obviate Larry's current work ;-)
autrijus that is, extremely simple
PerlJam: based on PPI, or mandrake's Ocaml perl5 parser?
because you know, doing it based on B::* is impossible without Larry's PPD work. 17:21
shapr Grin - www.cs.chalmers.se/~boquist/ifl96-abstract.html from www.cs.chalmers.se/~boquist/
PerlJam autrijus: yeah, and you'll need more annotation to get the exact source out that you put in as Larry has done with PPD
lots more annotation 17:22
autrijus I sometimes wonder if Pugs should have Pugs.Compile.Grin.
" Preliminary measurements look very promising: we are currently twice as fast as the Glasgow Haskell Compiler for some small programs. Our approach still gives us many opportunities for further optimisations (though yet unexplored)."
PerlJam: you are welcome to do that or bribe people to do that :)
shapr John also said a few days back that he found a paper that will likely solve even more of the speed issues of jhc.
autrijus I think John is amazing. 17:23
shapr Yeah, I agree.
Many people on both #haskell and #perl fall into that category.
er #perl6, I dunno #perl
autrijus :)
PerlJam shapr: Are you including yourself in that group? ;-) 17:24
shapr I regularly amaze myself, both positively and negatively.
PerlJam heh
autrijus PGE segfaults on empty strings.
I hope pmichaud solved that on his new release. 17:25
shapr I like to hang out with people who know more than me, and can do more than me. I think it's a much faster way to improve than being a hermit.
PerlJam autrijus: hopefully we'll find out later today
jabbot pugs - 2628 - * Env is now constructed with MkEnv for
obra how old is the old release, autrijus? 17:26
autrijus obra: several months
PerlJam one of the cool things about pge-in-parrot is that we get unicode "for free"
autrijus close to half a year or something
~very old
obra nods
theorbtwo In pugs terms, that's dottering old age. 17:27
OK, perhaps not quite.
theorbtwo wonders if there's a nice web view of svn log -v somewhere. 17:28
autrijus theorbtwo: pugs.openfoundry.org 17:29
click on "version control" table or something
ok, PGE is now part of Pugs. watch this space to see if pmichaud would actually release something tomorrow :) 17:30
obra ponders poking gugod about designing a task-centric foundry interface
nothingmuch evening
how fast do we get rules? 2-3 days max? or are you planning on sleeping just a bit this week? ;-) 17:31
autrijus also, I think a concrete PGE node representation in haskell will help
because that will make a PgeExp based parser monad possible
and someone can write a Parsec -> PgeExp engine.
that will translate our existing Parsec primitives to Perl 6 Rules. 17:32
that is not even very hard :)
just port the .Prim and .Combinators.
nothingmuch: no, it will take quite some time :)
nothingmuch thinks that could be a nice excercise
autrijus certainly after objects.
unless, of course, _you_ help :)
theorbtwo Hm? But parsec is smart infinite lookahead whereas perl6 rules are... um... not.
gaal theorbtwo: <lj user=pugscode_svn>
autrijus theorbtwo: actually they are isomorphic!
theorbtwo Oooh, nifty? 17:33
autrijus theorbtwo: the only difference being parsec commits by default, and p6rules tries by default.
but that is a syntactic level difference.
shapr What about arrow-style parsers? Any use here? 17:35
jabbot pugs - 2629 - * PGE is now part of Pugs; :P5 restricti
pugs - 2630 - * fix segfault
autrijus not sure. 17:37
nothingmuch summons stevan 17:40
Corion Ooops. Text.PGE is not included in the current build ? 17:49
(or should it be part of GHC ?)
pernod Hi all.
nothingmuch hola
pernod Can anyone please tell me how I get make smoke to run on XP?
Mine says: "sorry, concurrency not supported on your platform" 17:50
Did I miss an Obvious Command Line Option?
gaal don't set PUGS_TESTS_CONCURRENT 17:51
pernod I don't :)
gaal huh? looking.
pernod c:\dev\fun\pugs>nmake smok 17:52
(+e)
gaal oops, yes, a big. fixing.
Corion gaal: Make the script smarter and force it to 1 if Win32 is detected maybe? :)
gaal sure
autrijus Corion: oops.
added
Corion ... this reminds me, I should really fix run_smoke.pl to use File::Spec instead of hardcoded ./pugs
gaal (i did that at some point and must have moosed it up soemtime)
pernod so "env PUGS_TESTS_CONCURRENT=1 nmake smoke" should work? 17:53
obra is the build supposed to be broken right now?
autrijus obra: svn up
obra "Could not find module `Text.PGE'
oh. am I on the wrong repository?
obra is on svn.openfoundry.org 17:54
2631
autrijus no, that is the right one. r2632.
gaal pernod, sec
obra :P
pernod No problem :)
autrijus if tomorrow's PGE is what it claims to be, then I think full perl6 bootstrapping is definitely in sight this year. 17:55
jabbot pugs - 2631 - * luqui noted that `for (@list): {block}
pugs - 2632 - * Text.PGE
autrijus (note: we don't need macros to bootstrap. :-)) 17:56
gaal pernod: svn up 17:57
pernod (Ah. I'm on darcs ...)
pernod wanders off to install svn 17:58
theorbtwo The darcs mirror doesn't update all that often, IIRC.
autrijus there's a ~100sec lag.
pernod Ok, no problem then :)
theorbtwo Oh, not that bad. I thought it mirrored at fixed times. 17:59
autrijus if connection to svn.perl.org is slow though, as sometimes it, darcs will suffer a bit
because I push to svn.perl.org first
theorbtwo Hm, still lots of def w/o signature in the Lexer & Parser. 18:00
stevan runs off to fetch the package with his Haskell book in it :)
autrijus theorbtwo: btw, work on the oo model needs a refactoring on the Val model 18:01
currently everything but VRef, VOpaque, VError and VControl is "unboxed"
which is Wrong
because perl6 doesn't have unboxed handles
(or unboxed "code")
once that refactoring happens (i.e. use method calls for internal dispatch) 18:02
OO is a matter of applying the metamodel and expose it to the syntax level
pernod gaal: What's the revision number in question?
autrijus but that refactoring is kind of hard... esp with the broken reference semantics we have 18:03
to wit:
my $x; $x = \$x;
doesn't do what it should do.
but again, I'm not sure if it doesn't infinite loop forever if invoked.
my $x; $x = \$x; $x[0] = 1;
this infinite loops. I thought it is a bug, so I "fixed" it
but maybe it isn't a bug, it's a feature.
anyone care to look up the bible and/or ask on p6l?
theorbtwo BTW, that can be written as my $x=\$x; now; the scope for the new variable starts with the current statement, not the next one. 18:04
autrijus yeah. that works in pugs too 18:05
theorbtwo I don't see why $x[0]=1; would invoke the reference at all.
Shouldn't it simply replace it?
autrijus no.
jabbot pugs - 2633 - graceful fallback on native win32
autrijus my $y = (1); my $x = \$y; $x[0] = 1 18:06
it needs to follow the reference
my $y = (1); my $x = \\\\\$y; $x[0] = 1
that too.
pasteling "gaal" at 192.115.25.249 pasted "modest io proposal" (20 lines, 766B) at sial.org/pbot/9847
gaal please comment. these two functions will use (the existing) Pugs::Internal::openFile and ::runInteractiveCommand internally, and the existing Prim open will be removed. 18:07
oh, also, we'll now have a way to open-pipe w/o using the shell.
also also, i am completely ignoring shell fd magic (dupes etc.) 18:08
i have no idea how to handle that :(
autrijus looks sane. 18:09
theorbtwo Looks sane to me. 18:10
autrijus p6l it?
gaal thanks. other than the pipes, i'll pick up the existing aliases (eg > == w and so on)
autrijus (so Rod can include it)
obra pugs appears 1/13th faster than when I tried it on friday
gaal sure
theorbtwo I'd handle dup as a method on an existing handle. 18:11
autrijus obra: yeah, because the smoke test doesn't use much arrays.
or rather, long arrays.
gaal i want to implement it first though, so autrijus you can help with gluing it, so i can then remove the Prim open and fix all the tests :)
autrijus you go ahead with Prim 18:12
we'll see what we can do :)
gaal if there's both a Prim open and a perl6 multi sub open, which gets called?
autrijus eh? 18:13
gaal (with no invocant)
autrijus the Prim is merely dispached with the table below
they are not really special
and they are all multi subs underneath.
gaal suppose i define, oh, multi sub time() 18:14
theorbtwo gaal, I'd like to see an explicit encoding argument, with the default being "auto".
gaal and somewhere do say time
theorbtwo (Which notices a BOM if one is present, and defaults to ASCII if one is not.)
autrijus er, I want perlIO layers :)
gaal does pugs's haskell op0 time get called, or my p6 code? 18:15
yeah, i was afraid of that! :)
but you'
re right of course
layers oughta be in
i <3 IO::via::gzip autopop
theorbtwo Do we need an explicit layers thing, and not just multiple classes that Does filehandle? 18:16
gaal hmmm, should pipe() have encoding too? :/ 18:18
it's three handles...
autrijus gaal: try and see. flu is massacring my brain now
gaal potentially
autrijus so I really need to sleep. :)
theorbtwo It should.
Having just the one is probably OK for most purposes.
autrijus journal up, btw. 18:19
autrijus waves &
theorbtwo G'night.
gaal feel well, autrijus
obra night 18:20
pernod finally got the darcs synch 18:29
nmake smoke is ok. Thanks.
gaal yay. thanks for the report :) 18:30
pernod Is there something an aspiring lambda-camel can look into?
I'd like to try to contribute ... something. 18:31
castaway look at the todo tests ? 18:32
pernod Any specific areas that aren't too difficult to start with? 18:33
castaway has no idea
pernod :)
gaal pernod, another way to start is to port your favorite p5 module from cpan 18:34
theorbtwo Adding missing prims was long considered an easy starter, but I think we mostly have them now.
gaal as you go you might find missing features
then you have motivation to add them :)
pernod looks for Test::LectroTest
shapr Oh, good choice. 18:36
pernod Should be more than a little challenging ...
theorbtwo wonders if there's a better way to write Pugs.Rule.Char.CharParser from in src/Pugs/Lexer.hs (I can't find one). 18:49
gaal to2, doesn't CharParser just work? see l 143 18:52
(i know that's a comment)
theorbtwo Nope.
Which is probably why it's a comment.
gaal how does the compiler figure out the type though? 18:53
theorbtwo --show-iface renders it as parens :: Pugs.Rule.Char.CharParser{1} st a -> Pugs.Rule.Char.CharParser{1} st a, but that doesn't work.
lightstep you can import Pugs.Rule.Char (CharParser) 19:00
what does the comment on line 429 in AST.hs mean? 19:23
| VList VList -- Lists are lazy.
that's that only non-strict constructor
but VList is a lazy datatype anyway - so what does it matter?
theorbtwo VList is a lazy datatype being modeled by a lazy datatype. 19:24
The rest are strict datatypes being modeled by strict datatypes.
(That's how I interpreted it, at least.)
lightstep but type VList = [Val] 19:25
a lazy list of values
that doesn't mean that VList (the function) shouldn't be strict
theorbtwo Donno.
autrijus mind if I paste a 11 line poem? :) 19:29
gaal :)
shapr go for it!
pjcj written in perl6?
autrijus for $*Larry -> $Elbereth {
our Ship $pugs .= new(:of<mithril elven-glass>);
given $pugs {
$.prow does Shine;
Silver $.mast but none(Oar::Shaven, Sail);
Light $.lantern := $*Silmaril;
Bright $.banner := Flame.bless;
when $Elbereth.gleam {
.sail;
}
}
}
(see src/Main.hs)
there's lots of room for improvement :) 19:30
clkao giggles at autrijus
autrijus I wonder where should I commit it, though :)
PerlMonks, for sure. 19:31
I tweaked it slightly... submitting to perlmonks 19:32
pjcj examples/poetry ?
autrijus mayybe. 19:33
sure.
theorbtwo Wern't you going to bed?
jabbot pugs - 2634 - minor cosmetic changes 19:35
autrijus true. :) 19:38
autrijus goes to sleep.
r2635.
&
lightstep i wonder if there are rss subscribers for pugs updates
shapr There's autrijus' journal. 19:39
gaal lightstep, <lj user=pugscode_svn>
theorbtwo livejournal.com/users/pugscode_svn, that is.
gaal that's referentially transparent (for me at least :)
pasteling "ninereasons" at 199.107.164.126 pasted "bug accessing pairs in subroutines" (16 lines, 391B) at sial.org/pbot/9849 19:40
theorbtwo Thought I'd expand for those not in the know of the pointless style of LJ.
gaal point free, i beg you :)
theorbtwo @pointless foo = \x a b -> b a 19:42
Oh, lambdabot isn't here. 19:43
jabbot pugs - 2635 - * hopefully, the first Perl 6 poem. 19:45
pugs - 2636 - add tests to illustrate a bug, accessing
theorbtwo @botsnack 19:46
lambdabot Unknown command, try @listcommands.
mauke @type flip id 19:47
lambdabot flip id :: forall b c. b -> (b -> c) -> c
mauke yay 19:48
lightstep when describing swing, one usually says (flip ($)) instead of (flip id), to confuse the crowd
shapr I think ($) is idiomatic in Haskell. 19:50
Of course, so is id
ninereasons @pointless 19:51
lambdabot (line 1, column 1):
unexpected end of input
expecting white space, natural, identifier, lambda abstraction
or expression
theorbtwo wonders what a natural is.
@type (->) 19:52
lambdabot bzzt
lightstep @kind (->)
lambdabot (->) :: ?? -> ? -> *
ninereasons @pointless 2+2
lambdabot 4
jabbot pugs - 2637 - * add "use v6;" 19:55
theorbtwo wonders why sometimes --show-iface shows a [Char] and sometimes a String. 19:59
20:13 integral is now known as spelugx
jabbot pugs - 2638 - Pugs.Lexer: Signatures. 20:25
metaperl_ $val = $_( 'next' ) if $val <= $last; 20:29
what does $_('next') do?
gaal what does $_ contain? 20:30
if if contains Code, this is a call.
metaperl_ I was looking at this: perlmonks.org/?node_id=453215 20:31
gaal though, interesting:
pasteling "gaal" at 192.115.25.249 pasted "say $_-less" (4 lines, 151B) at sial.org/pbot/9851
metaperl_ gaal, you know what? 20:32
gaal it's the same thing as $_->('next') in p5
or 20:33
metaperl_ I think <> is used for named parameter
gaal &$_('next')
metaperl_ there is no such thing in p5....
$_->('next') ... oh yeah
gaal that was p5
both
metaperl_ where is the "." for a method call
gaal <x y z> is p6 for qw/x y z/
it's optional in this case.
see also $next() in that example 20:34
you can spell that $next.() too if you prefer.
metaperl_ gaal, I meant that named parameters can be passed using a <> syntax: dev.perl.org/perl6/doc/design/syn/S06.html 20:35
gaal what section are you linking to? that's a long doc.
metaperl_ Named parameters
search for that
i'm just making a comment that <> has two uses and I got confused... I see what you are doing 20:36
gaal oh, :justify<right> ? yes, that's like saying justify => 'right'
also useful in hash lookups
metaperl_ I dont see the point in having both syntaxes do you? 20:37
stevan metaperl_: I added to that perlmonks post of L~Rs
metaperl_ I think this is an example currying isn't it: ./pugs -e '$_={say};$_(<asdf>)'
metaperl_ checks perlmonks
gaal %ENV<PUGS_TESTS_CONCURRENT>
stevan $_(<next>) should work 20:38
gaal sure it does
metaperl, it's just like having qw in p5.
you can do things like
use strict qw(refs) 20:39
Juerd metaperl_: <> is qw, but can also be used for hash subscripting.
metaperl_: Which makes it useful for :pair{'subscript'} syntax and &infix:{'operator'} syntax
Which you can now spell as :key<value" and &infix:<operator> 20:40
Which you can now spell as :key<value> and &infix:<operator>
Saves a lot of typing.
And %hash<key>
Instead of %hash{'key'}
The difference is greater even when you have multiple values
gaal ...because %hash{key} no longer works.
stevan metaperl_: I updated my perlmonks post to use $sub(<next>) 20:41
cause it just looks cooler :P
Juerd %hash{'first', 'second', 'third'}, :import{'get', 'post', 'head'}, &postcircumfix:{'[', ']'}
%hash<first second third>, :import<get post head>, &postcircumfix:<[ ]>
metaperl_ Juerd, can you explain :import<get post head>
%hash<first second third> looks like a hash slice 20:42
Juerd metaperl_: It is equivalent to import => [ 'get', 'post', 'head' ]
It *is* a hash slice! neat, huh?
.
metaperl_ oh I see
that's pretty neat 20:43
Juerd :paths< /tmp /var/tmp ~/tmp >
In general, key => 'value' is preferred syntax when building hashes 20:44
gaal ...and you can magically later do
for $paths -> $path { ... }
Juerd And :key(value) or :key<value> is preferred syntax when supplying modifiers/adverbs.
And, as an extra FREE bonus!!!!! (gratis gratis gratis), you get a free 1 for every bare :pair 20:45
metaperl_ one more thing: &postcircumfix:<[ ]> # the colons are starting to get me mixed up
Juerd That is, if you write :pair, you get pair => 1
metaperl_: A colon in a sub name indicates a special sub.
metaperl_ special in what way?
Juerd metaperl_: In this case, it's the [] operator you use after an array.
metaperl_: postcircumfix is not something you can define yourself - it's a preset category.
metaperl_ Juerd are you learning p6 from the synopses? I'm starting to feel behind
Juerd For all post-circumfix operators 20:46
metaperl_: No
metaperl_: I learn it from p6l, synopses, and by having followed the As and Es from the very beginning.
metaperl_: Also, I read books and articles about Perl 6
gaal needs sleep - see y'all later 20:47
metaperl_ gnite gaal
gaal (Juerd, ACK your sensible post to p6l about open, I just wish there was a decision already :)
Juerd I want write|w, read|r, pipe|p
And bidi|rw 20:48
gaal oh, that bit i don't knwo about, since that means changing sigs
Juerd And if there's a +$mode, let it please accept constants like O_WRCREAT
gaal starting to look like Getopt...
Juerd gaal: Again, a decision on the way to define short names would be fun 20:49
gaal so you're tempted to define :append excludes :rw, or thing slike that
Juerd gaal: Yes
gaal well, have a ball with that, but that may take a little longer to get done :)
Juerd Although, of course, rw+append SHOULD be possible. 20:50
gaal anyway, i'm off. tomorrow i'll ci a *basic* version of this.
Juerd gaal: fail "mutually exclusive arguments" if $foo and $bar;
Which can perhaps somehow be a compile time thing
gaal Juerd, I believe that's called r+append, not rw+append 20:51
anyway, night :) &
Juerd sub open (...) will test { ... } returns IO::Handle { ... }
gaal: I thought there was some subtle difference in the initial tell()
wolverian will test? 20:53
Juerd made up.
wolverian ah. what does it do?
(by the way. I completely agree with you on the :r/< issue on p6l, and I think your mails are well written. thanks for standing up for me!) 20:54
20:57 spelugx is now known as integral
theorb is surprised to find that he is still connected on here. 21:06
shapr is mentally disconnected 21:07
21:34 khisanth_ is now known as Khisanth
Shillo Hullo, all! 21:44
Shillo dances the Upgrade Dance. :)
lightstep what are temp-ex-output.3813.126 temp-ex-output.5125.19 21:47
?
theorbtw1 lightstep: No clue. Where, and what do they appear to contain? 21:49
lightstep they both contain \('Hello', 'Pugs')
probably a local artifact
theorbtw1 Oh, possibly the output of an example, from the examples-testing framework? 21:50
lightstep yes 21:51
Shillo What exactly is yaml? Spammed me with tons of warnings during compile. 21:57
mauke yaml ain't a markup language 21:58
Shillo just changed CPU, MB and GPU. And pugs (and compilers, for that matter) seem to have stopped crashing randomly. For now... still running tsts.
theorbtw1 (Previously, YAML was Yet Another Markup Language, but then some bright soul looked up the def. of markup language, and realized it wasn't.) 22:00
Shillo svnups, rebuilds... 22:01
Whoa. This machine is *fast* 22:04
And stable. Finally! :) 22:08
theorbtw1 ++
Shillo tests Morrowind Bootloader (the last time I changed MB, it wouldn't. Boot. Or load) 22:09
Laters! :)
theorbtw1 G'luck. 22:10
Shillo Windows actually survived the hardware change. Of course, there's this minor matter of drivers. I just don't feel like spending 2 hours on that. :) 22:34
Anyhow... now I have a devel machine. Yay. 22:35
theorbtw1 Yey indeed. They're handy things to have around when developing.
Shillo theorbtw1: Esp. the kind that doesn't corrupt data when it overheats. 22:36
Shillo had the -other- kind.
Shillo has high hopes for this thing. :)
theorbtw1 What are the specs.
Shillo Athlon64 3000+ (sock 939), EPOX Nforce4 Ultra MB, 1 gig DDR400, Gigabyte 6600GT video card. 22:37
theorbtw1 Nice.
Shillo plans to use it for time-wasters other than devel. :)
Juerd open no longer defaulting to $_ 22:38
Can anyone guess why?
theorbtw1 gaal was changing the interface earlier. 22:39
Juerd No, I'm talking about Larry's preference.
It amazes me # understatement
theorbtw1 Oh, I haven't checked p6l lately.
Juerd found it a shocking statement.
theorbtw1 I've been shocked a lot by p6l of late. 22:40
Juerd I'm of the opinion that every operator that has a main argument should be able to default to $_.
Shillo Hmm, say so on the list? :) 22:41
Juerd I first want to know why Larry wants this.
He must have his reasons for it
Shillo Honestly, I can't remember ever using argless open (or wanting to), so I just don't care either way. :)
Yeah.
Juerd Shillo: That's because in Perl 5, open doesn't return a filehandle
Shillo You asked him privately?
Juerd No 22:42
Why would I do anything privately? The list is there to *use*.
Shillo Juerd: Duh. Right.
theorbtw1 wonders if he should start really follwoing p6l again.
Shillo Oh, umm, I just thought it was somehow implied, but guess I misunderstood you.
(about not asking privately)
Juerd theorbtw1: There's a highly visible 'BTW' in your name now
Shillo <-- confuzzled agent of primal chaos, most of the time. 22:43
Juerd theorbtw1: In Dutch, that's belasting op de toegevoegde waarde -- internationally known as VAT
Shillo :)
Juerd theorbtw1: This tax cost me 1500 euros the past 3 months :(
And you remind me of that :(
theorbtw1 It really feels like Larry has started to abandon some "hard things possibe" for a little bit of "easy things possible".
22:43 theorbtw1 is now known as theorbtwo
Juerd Thanks :) 22:43
Shillo just shelled >100E of PDV right today. :(
Croatia has 22%.
Juerd PDV? 22:44
We're at 10%
Shillo Oh, sorry. 'what we call VAT here.
Juerd eh
19%
typo
Shillo Hehehe!
shapr 25% here
Juerd And because I run a company, I pay tax collector.
Shillo (and no, here's not in EU yet, but it comes down to the same thing).
Juerd s/pay/play/
Shillo 25%?!
shapr: Where are you?
shapr And because I own my own company, I pay the tax collector twice in some cases.
Sweden, highest VAT in the EU.
Shillo Woah. 22:45
Juerd I have to add VAT to my invoices, and then collect that, and then pay the same amount to the tax bureau
Which sucks.
Shillo And here 22% nearly killed the economy.
Juerd I hate VAT :)
Shillo What sucks here is that courts don't function.
shapr We work for clients in Germany, and they really don't like our extra 25% tax we're forced to charge.
theorbtwo Here it's MwST, and I'm not sure what it's at, though I know there's at least two different rates.
Juerd Shillo: You're both in the european union. You can sell at 0%
Shillo So, your customers tend to be late with payments. So you pay VAT when you bill but get the money whenever.
Juerd Shillo: Or, in fact, you should|must. 22:46
Shillo Juerd: I'm not.
Juerd Oh, sorry, confused shapr and you.
Same first two letters.
Shillo Juerd: Croatia's a candidate, so far.
Juerd Shillo: Then it really sucks for the germans.
Shillo: They have to pay 25% *and* never get it back
While locally, they pay 16% and *get it back*
Shillo theorbtwo: MWST is Austrian, or both Aus or German? 22:47
Juerd afk
theorbtwo It's likely the term in both Aus and DE. I'm in DE.
Shillo works for Austrian company, so I visit Graz pretty often.
theorbtwo (But I'm American, not German.) 22:48
Juerd I thought it was MwSt
Not MWST
Shillo Hmm, and Vienna, on a not-so-regular basis. Guess I could say hi to Leopold sometime. ;)
Juerd: To be honest, my German is... nonexistant. :)
Juerd: Wouldn't know either way.
Juerd Shillo: Hallo! 22:49
Shillo is slowly picking a word here, word there. :)
Juerd Then it's not nonexistent
theorbtwo I think MwST.
Juerd theorbtwo: What does the T stand for?
Shillo Juerd: Truthfullness of that comment depends on the definition of existence we're discussing. ;)
mauke dict.leo.org/?search=mwst 22:50
Shillo tries to figure out if he can pass the basic test. Wo ist die toalette? <-- is this correct? ;)
mauke s/toa/toi/
but it's phonetically correct 22:51
Shillo Oh. Okay. Hmm. Juerd wins, it's not nonexistent, then. :)
Juerd Shillo: es gibt keine Toilette! *evil grin*
theorbtwo wonders how it got to be MwSt, considering it's apparently all one word when spelled out.
Juerd theorbtwo: Steuer is also a word of its own.
Shillo Juerd: I'd get that one if I knew what 'es' is. :)
Juerd Shillo: "it", and you still don't get it then. 22:52
mauke "es gibt keine" = "there is no"
Juerd afk, brb
theorbtwo I suppose that makes some seance.
Er, sense.
Shillo :) Hm, most of my colleagues at work actually call it Marwehr (sp?)
Shillo is exposed to a lot of spoken German, so... 22:53
mauke Mehrwert?
Shillo Ah. Right.
. o O (I guess)
Juerd re 23:01
Shillo: s/Right/Richtig/ :P 23:02
Juerd used to read that as right-ish.
sort of right.
Shillo Juerd: I know that one, actually. As well as Jawohl. 23:04
Odin-LAP LINKS!
mauke zwo? 23:05
Odin-LAP Which would be 'left'.
Juerd mauke: Why is that zwo, by the way, and not zwei? 23:08
And if after links comes zwo, then why isn't it followed by dro?
mauke good question.
probably to avoid confusion between "zwei" and "drei"
Juerd imagines German soldiers skipping the every second of four steps... 23:09
mauke dict.leo.org/cgi-bin/dict/urlexp/20021217164424
Shillo knows the words arbeit, and morgen. And 'Die ist 1 Uhre' (although I'm not so sure about that one). :)
So, later, folks! :) 23:10
Shillo will have to hunt down a new power supply in the morning. But so far things look good. :)
Juerd knows more German than he likes.
mauke: How is it to be surrounded by German? 23:12
I can tell you that Dutch sucks.
(English would be worse though)
mauke Dutch sounds funny
Juerd "funny"?
mauke I can't explain it :-) 23:13
Juerd You could at least try.
Juerd thinks german sounds funny because they sort of *sing* when they talk. 23:14
There's a lot of tone variation.
Odin-LAP points in the general direction of Norway, and says that's nothing.
mauke it has to do with how they speak this weird language with a totally straight face, as if it was normal 23:15
Odin-LAP I maintain that norwegians take singing lessons before learning to speak.
Juerd In a simple word like "Hallo" or even "Ja?", there can be an entire musical octave.
We have the same words, but here they're pronounced much simpler. 23:16
mauke: "weird"?
Odin-LAP Juerd: "Simpler" is also known as 'more familiar'. "Weird" is also known as 'unfamiliar'. 23:17
Juerd Nono, it's not just familiarity 23:18
You can hear the accents when people of different languages speak esperanto
Germans sing that too
Odin-LAP Juerd: Indeed. That's because their language is that way, and it carries over. ;)
Juerd And Americans have trouble accepting that the pronunciation of vowels is predictable and defined.
Odin-LAP: One can say the same thing in their language without singing, yet they all (afai have heard) do sing it. 23:19
Which is funny.
Odin-LAP English-speaking folks have trouble accepting that there is a fixed pronunciation of anything at all.
Juerd Odin-LAP: But Americans have more trouble with this than British.
Odin-LAP Juerd: Sure. It's also possible to pronounce 'g' somewhere above your gut. The dutch don't, though. >;) 23:20
Juerd Odin-LAP: We have many sorts of g
Odin-LAP Hm. True. But the british aren't good, though.
Juerd The 'hard g', the 'soft g', the 'foreign g'
Odin-LAP Note the smiley. :)
Juerd I want to know which g you were referring to :) 23:21
mauke "herdenkings-plechtigheid" looks like some sort of nonsense German
Odin-LAP Hm. Good question. I don't know dutch well enough to answer it ... unfortunately. :(
mauke "vliegticket" could be children language 23:22
Juerd mauke: No, that'd be herdenkungsplechtichkeit
mauke: What do you think about stoomtrein?
mauke: And hagelslag?
mauke: Do you know what our word 'slim' means? :) 23:23
mauke I don't know what stoomtrein means but it looks vaguely German; hagelslag looks like Hagelschlag; no 23:24
"difficult, sly, smart, cunning, inconvenient"? 23:25
Juerd mauke: Of those, only smart. 23:26
It gets funny when it's translated to German as Schlimm
mauke hahaha
Juerd And that happens.
een slimme jongen => ein schlimmer jungen 23:27
mauke ouch
Juerd yeah. 23:28
Odin-LAP Stoomtrein ... steam locomotive? :D
Juerd Odin-LAP: trein is train - the entire train pulled by a steam locomotive is called stoomtrein... 23:29
Odin-LAP Ahh. Okay. :) 23:30
theorbtwo Damn, and there was me thinking it referred to storm troopers.
Juerd heh
Odin-LAP It's kinda like english with german orthography. ;)
crysflame steam troopers!
crysflame blows hot air at theorbtwo
mauke ah, like Dampfzug except that's not a word
Odin-LAP Well, sometimes. 23:31
Juerd mauke: hehehe, right :)
TreyHarris is C<@list = (0..Inf)> legal? Or must you say C<@list = (0...)>?
wolverian it is legal.
theorbtwo Both are legal, and equivlent.
TreyHarris thanks
Juerd TreyHarris: The parens are not needed.
TreyHarris: .. in list context returns a list. 23:32
Which has proven to be a great convenience.
theorbtwo Didn't it always?
TreyHarris yeah, but @list = 0..Inf; looks funny to me. Maybe that's just my Perl 5 trainer intuition fighting with the new P6 gestalt :-)
Juerd Yes, it has always done this.
TreyHarris: If Perl 5 had Inf, it'd be valid Perl 5. 23:33
TreyHarris: @array = 0..5;
mauke "gestalt"? that's our word!
Juerd TreyHarris: Don't call your array "list" - that's misleading and a stupid name anyhow.
list of *what*?
$data 23:34
&does_something
%mapping
mauke # comment
theorbtwo mauke: English has stolen a lot of German philosiphy and psychology words. 23:35
OTOH, they don't always mean the same thing.
Juerd theorbtwo: Freud's fault.
theorbtwo Angst and anger are /not/ the same thing in English.
TreyHarris Juerd: :-P oh, shush. i'm not going to put "@list" into real code. i was asking a question about lists, so @list made perfect sense :-)
wolverian TreyHarris: that's an array, not a list.
Juerd theorbtwo: Angst isn't anger anyway.
Odin-LAP Angst is fear, actually. :)
Ich habe Angst!
Juerd TreyHarris: What is 'real code'?
theorbtwo Er, right. Whatever it is in German, it's not quite the same thing in English. 23:36
TreyHarris wolverian: 0..Inf is an array, not a list?
wolverian TreyHarris: no, @list is an array.
TreyHarris: a list assigned to an array promotes to an array. magically!
TreyHarris Juerd: code meant to do something, rather than code meant to gloss a syntactic concept in the language.
theorbtwo If you put it in @somethingoranother, it's an array.
Juerd Ich bin muede und soll eigentlich schlafen muessen 23:37
(big guess)
Gute Nacht, leuten!
mauke Gute Nacht, und schlaf gut.
Odin-LAP "should really have to sleep"?
theorbtwo G'night, mauke.
Er, G'night, Juerd.
Juerd danke - gleichfalls 23:38