Summer of Perl | 6.2.12 released! | paste: sial.org/pbot/perl6 | pugs.blogs.com | pugscode.org | pugs.kwiki.org
Set by ingy on 4 July 2006.
vsoni seen audreyt 00:02
jabbot vsoni: audreyt was seen 4 hours 56 minutes 48 seconds ago
00:07 justatheory joined 00:10 FurnaceBoy_ joined 00:12 macroron joined 00:13 SamB joined 00:22 qu1j0t3 joined 00:23 frederico joined 00:31 qu1j0t3 is now known as FurnaceBoy 00:38 miyagawa joined
mugwump audreyt, TimToady, @Larry: if you define a class and a role with the same name, what happens? 01:11
by design, I mean
01:20 marksto1 joined 01:31 hcarty left
merlyn what's the name of the Module::Compiler thingy that works like filter? 01:34
Steve_p Module::Compile? 01:38
Steve_p isn't sure 01:39
merlyn Yeah, the v6 thingy
I remember seeing a second distro that was like Filter::Simple was to Filter
01:39 enantiodrome joined
Steve_p Hmmm 01:39
mugwump search.cpan.org/dist/Module-Compile/ is it 01:42
lambdabot Title: "Ingy döt Net / Module-Compile - search.cpan.org"
merlyn right, but there was another module released nearby
perhaps from audreyt?
nope, I guess not 01:43
marksto1 Filter::Simple::Compile 01:44
01:44 marksto1 is now known as markstos_
merlyn that' it! 01:44
markstos_ I haven't used it, but I remembered that it existed.
TreyHarris I thought you were talking about Inline::Module 01:47
merlyn nope
oh, but that's interesting too
audreyt suddenly, perl6now.com/ becomes very relevant. 02:40
lambdabot Title: "Perl 6 Now"
audreyt as does search.cpan.org/~swalters/ and search.cpan.org/~abergman/ and search.cpan.org/~chocolate/ . 02:41
lambdabot Title: "Scott Walters - search.cpan.org"
ingy bleh 02:48
bring me your tired and weary
and I will call them Ingy
stevan do we get umlauts as well? 02:49
ingy stevan!
stevan ingy!
nothingmuch stevan!
ingy that used up all my remaining energy
noth...!in.,, 02:50
bleh
stevan refills nothingmuch's ritalin drip 02:52
actually I think ingy needs it more 02:53
nothingmuch more ritalin tomorrow
ingy huh, there's an idea
I wonder if a gram of ritalin would kill you 02:54
stevan I am getting sleepy listening to nothingmuch yawn all the time
obra heh
stevan ingy: ever meet an old meth addict?
02:54 amnesiac joined
ingy where is nuffin? 02:54
stevan: no
stevan ingy: yeah, they tend to not last very long,.. very ugly drug,.. which is the same base as ritalin 02:55
although to be honest,.. alot of times it is the crap meth is cut with which does the most damage
ingy: nothingmuch is in my basement
ingy jealous 02:56
obra _I_ kept hime above ground
ingy for how long?
stevan and if you want him back,.. you need to leave a suitcase of small unmarked bills at the phonebooth around the corner
obra: its much cooler in the basement,.. damn humidity
ingy how about a gram of ritalin?
stevan ingy: probably kill you
explode your heart and such 02:57
ingy no, I mean for nuffin
vsoni audreyt: hi
nothingmuch
.oO( i wonder what ann's going to think of all this )
stevan no,.. I need him alive
if my plan is to succeed ... muhahahahaha
audreyt vsoni: greetings
nothingmuch audreyt: also ping
ingy nothingmuch: ann is behind all of this
nothingmuch audreyt: can i have permission to hack $YAML::Syck::SortKeys = sub { }
oh
audreyt yes you may. 02:58
vsoni audreyt: Has a big debate about :immediate............again :)
nothingmuch in that case i'm not sure what i'm going to think of her
audreyt permission is implicit
vsoni: yeah. seems chip+allison are reserving it "for unknown future use"
nothingmuch audreyt: also, how do i make it pack more nicely when it dumps?
audreyt vsoni: so I think maybe hack in .loadlib?
vsoni: and leave :immediate alone without special handler
after all, with .loadlib, nobody in the current language/ tree has a reason to use :immediate
so we can just let it bitrot.
pasteling "nothingmuch" at 71.234.68.135 pasted "YAML prettier than YAML::Syck" (26 lines, 607B) at sial.org/pbot/18337 02:59
ingy obra: are you in town for wikimania?
nothingmuch audreyt: the nopaste explains what I meant
obra ingy: where/when?
audreyt i.e. ".loadlib 'foo'" just sugar for ".sub anon :immediate ; loadlib 'foo' ; .end"
vsoni audreyt: what needs to happen in loadlib
audreyt vsoni: see the desugaring above
ingy obra: see google for details
audreyt vsoni: grep -r :immediate languages
PerlJam audreyt: Isn't the second arg to .HLL something like what you would send to .loadlib? WHy not just make it N optional args?
audreyt vsoni: it gives you all the current use cases
nothingmuch obra: it's next to you
ini august
audreyt PerlJam: sure, that works too, one-at-a-line works too 03:00
ingy Cambridge Aug 4-6
nothingmuch next to you == walking distance
obra wikimania2006.wikimedia.org/wiki/Main_Page comes up blank here :(
audreyt the analogy is that we have people writing BEGIN{require} over and over again
obra but cool.
yeah. I should be here
audreyt and we want to introduce "use"
and "use" is one per line
but I'm fine either way
03:00 markstos_ left
PerlJam audreyt: all of the uses look like it's used approximately once per compilation unit. 03:01
nothingmuch is why generally on freenode?
audreyt PerlJam: yeah, so one-per-line.
vsoni audreyt: will look into that
audreyt PerlJam: my argument was really just "use" doesn't deserve "BEGIN{rm-rf}", but if it's reserved for future purpose, I can just advice sandboxing on it, and the rest is up to @allison 03:02
vsoni audryet: or will take care of it my rewrite ;D)
audreyt vsoni: cool, yay :D
vsoni++
vsoni audreyt: I am just kidding...I need to run it by Allison and Chip
audreyt vsoni: they both said okay for .loadlib 03:03
vsoni audreyt: ok
audreyt on the RT ticket
so that's a go-ahead
PerlJam vsoni: Have I mentioned to you before that you should have "ack" installed?
vsoni ParlJam whats ack
PerlJam vsoni: it's a smarter grep.
vsoni PerlJam where could i get it 03:04
nothingmuch cpan
audreyt cpan
nothingmuch install App::Aclk
PerlJam vsoni: for instance, ack --parrot :immediate will tell you all of the instances of :immediate in any parrot source files beneath the current dir.
nothingmuch tr/l/d
PerlJam vsoni: as nothingmuch is trying to say ... install App::Ack :-)
vsoni PerlJam: Its installing...thanx 03:05
svnbot6 r11465 | Ivan_A_Frey++ | M TASKS
nothingmuch audreyt: did you look at the nopaste?
03:07 sanug joined
audreyt nothingmuch: yes, saw that 03:07
nothingmuch do you know how i could fix it?
audreyt very carefully
nothingmuch boilerplate
SamB boil your boilerplate! 03:08
audreyt line 574 perl_syck.h perhaps
not sure
you want to ask why? you have to ask why!
("why the lucky stiff", that is.)
mm boil your scratchpads 03:09
nothingmuch =)
boil your scraps and serve on plate 03:10
a.k.a veggie pizza
i think you are unintentionally an eco head
because your plates are bio degradable 03:11
audreyt nothingmuch: so, you are supposed to feel a bit tired and can sleep soundly at this hour :)
nothingmuch yhes 03:12
i have been so for ~30 mins
maybe a little more
audreyt don't fight it; just sleep 03:13
nothingmuch not fighting it
audreyt fighting it will lead to commit-at-sleep syndrome
nothingmuch i don't feel "ready" yet
when it's time to sleep i will sleep
audreyt 'k
nothingmuch == soon
meh 03:17
syck docs few
audreyt: should plain refs be !!perl/ref: or !!perl/ref 03:22
audreyt nothingmuch: whatever YAML.pm does 03:24
nothingmuch ick 03:25
it uses trailing :
but that's not what the pyaml wiki said
audreyt ingy: purr? 03:26
03:27 kanru joined
nothingmuch anyway, turns out i forgot to add the test i wrote 03:27
and once i change ref: to ref in perl_syck and ! to !! in the test it passes
ingy: ping 03:32
03:35 khisanth_ joined 03:37 khisanth_ is now known as Khisanth 03:39 rlb3 joined
nothingmuch audreyt: i'm going to rely on my memory 04:13
because i trust it more than ingy's
and commit 04:14
it's consistent with the other emissions
!perl/array etc
err
the other parsings
audreyt just go ahead
and let ingy know
I've just released Syck 0.62
so trunk is safe to checkin
nothingmuch of course, this is a special case because aside from !scalar which is always blessed it';s the only one that's ever emitted as a type
audreyt (you broke pretty much all non-GCC compilers btw) 04:15
by using statement-level instead of block-beginning declarators
{ expression; expression; char *x = expression; ... }
nothingmuch oops ;-)
i can only cargo cult gcc
audreyt I know; I'm on the same boat. but try -Wall for once :) 04:16
nothingmuch is that the good version or the bad version?
audreyt you can turn -Wall on in Makefile.PL
nothingmuch how do i do that?
okay
audreyt optimizer_flags
anyway, I gotta sleep
see ya tomorrow!
nothingmuch sleeps too
04:24 khisanth_ joined 04:25 khisanth_ is now known as Khisanth 04:31 kanru joined 04:37 khisanth__ joined 04:38 khisanth__ is now known as Khisanth 05:17 wesle1 joined 05:32 weinig|coffee is now known as weinig 05:41 macroron joined 05:51 weinig is now known as weinigZZZ 06:01 unobe_ joined 06:13 r0nny joined 06:17 lisppaste3 joined 06:18 unobe joined 06:39 LCamel joined 06:40 unobe_ joined, iblechbot joined 06:41 masak joined 06:43 rgs joined 06:45 hikozaemon joined 06:49 drrho joined 06:56 unobe joined 06:58 stephanepayrard_ joined 07:42 Aankhen`` joined 07:46 buetow joined 07:49 cognominal joined 07:52 elmex joined 07:58 daxim_ joined 08:07 Aankh|Clone joined 08:11 evalbot_11465 joined 08:12 mauke_ joined 08:27 mauke_ is now known as mauke 09:04 ludan joined 09:05 revision17_ joined 09:12 shachaf joined 09:56 tup joined
svnbot6 r11466 | agentz++ | added myself to AUTHORS although i haven't done anything useful yet :P 10:08
clkao nothingmuch: i am not seeing my diag() being captured if the test is ok 10:39
xerox /AWAY /AWAY 10:41
Ops.
Bleadof right
gaal clkao: are you going through yaml_harness?
clkao: if so, is it in the yaml?
clkao gaal: no, i have other use of that
gaal clkao: I understand
clkao i am just dumping the structure from ttm 10:42
gaal just trying to pinpiont the problem
ACK
10:50 pdcawley joined 10:53 nothingmuch joined 10:54 ivanfrey joined
gaal mugwump: I doubt you can have a role and a class with the same name, because they are both packages underlyingly, and it's the package that has a name. 10:57
but then, that's based on the prospective implementation, which may be wrong :) 10:58
11:03 Yaakov_ joined 11:37 tup joined
gaal clkao: does t/comprehensive.t pass for you? 11:51
11:52 Yaakov_ is now known as Yaakov 11:54 chris2 joined
clkao gaal: which distribution? 12:05
12:08 Muixirt joined
xerox pugs uses PArrows? 12:08
12:08 szbalint joined
gaal clkao: TTM 12:29
clkao gaal: it should. let me look at it
because i didn't force install it
12:30 buetow joined 12:31 iblechbot joined
xerox gaal: your licensing is nuts. 12:36
gaal xerox: what license do you refer to? 12:37
xerox D&R :)
gaal umm.. what? 12:38
xerox rt.openfoundry.org/Foundry/Project/...?rev=10175
gaal ahhhh
that's why's stuff, we just rebundle it. 12:39
xerox: you do have the option of not choosing that license you know :) 12:40
xerox chuckles 12:42
gaal audreyt: the other night I noticed we have a Show instance for (a->b). do you remember where we use it? probably just for some debugging session right? 12:48
(well, Typeable a, Typeable b => a -> b, of course) 12:49
xerox Maybe it is like lambdabot's ShowQ. 12:52
gaal xerox: demo? 12:53
12:53 Odin- joined
xerox What? 12:53
gaal I'm not familiar with that. can you demo? 12:54
xerox > chr
lambdabot <Int -> Char>
gaal xerox: oh, nice, though in that case the user can just do @t 12:55
err, @typew
s/w// I can't type :(
xerox ?type (+)
lambdabot forall a. (Num a) => a -> a -> a
xerox > (+)
lambdabot Add a type signature
xerox %)
gaal urp!
> (+) ::Int-> Int
lambdabot Expecting a function type, but found `Int'
Expected type: Int -> I...
gaal heh
12:56 bpphillips joined
gaal > (+) :: (Int-> Int) 12:56
lambdabot Expecting a function type, but found `Int'
Expected type: Int -> I...
xerox > id :: () -> () -- Specializing works.
lambdabot <() -> ()>
xerox (+) takes two nums and returns another one.
gaal xerox: no doubt it was added for some sort of runtime error message, yes, I was just curious where 12:57
doh, of course
> map
lambdabot Add a type signature
xerox > (+) :: Int -> Int -> Int
lambdabot <Int -> Int -> Int>
xerox > map :: (Int -> Char) -> [Int] -> [Char] 12:58
lambdabot <(Int -> Char) -> [Int] -> [Char]>
gaal up to what arity was this ShowQ added?
> . 12:59
lambdabot Parse error
gaal > (.)
lambdabot Add a type signature
gaal grrr
anyway, it's a pity this can't handle typeclasses directly. 13:00
xerox Every arity. 13:01
gaal I bet there's a Good Reason why that's hard
xerox map is such an example.
gaal xerox: well, they could have added intsances just up to arity four or something.
xerox Its type is of the form a -> b -> c.
gaal how is it done for all arities?
xerox Which reads a -> (b -> c), which in turn is of the form a -> d; for which there is the instance. 13:02
That is, because (->) is right-associative.
gaal ah, yes. cool.
xerox :D
> (>>>) :: (Arrow (~>)) => (a ~> b) -> (b ~> c) -> (a ~> c) 13:04
lambdabot Parse error
xerox Awww.
gaal @type (>>>) 13:05
lambdabot forall (a :: * -> * -> *) d b c. (Arrow a) => a b c -> a c d -> a b d
xerox ?twww.
lambdabot Unknown command, try @list
xerox ?t (>>>) :: (Arrow (~>)) => (a ~> b) -> (b ~> c) -> (a ~> c)
lambdabot Maybe you meant: tell time todo todo-add todo-delete topic-cons topic-init topic-null topic-snoc topic-tail topic-tell type . v
xerox ?type (>>>) :: (Arrow (~>)) => (a ~> b) -> (b ~> c) -> (a ~> c)
lambdabot (Arrow (~>)) => (a ~> b) -> (b ~> c) -> (a ~> c) :: forall (~> :: * -> * -> *) a b c. (Arrow ~>) => ~> a b -> ~> b c -> ~> a c
xerox It was right, at least.
gaal what's the difference between ?type and @type?
xerox Oh, it's just that ShowQ doesn't parse constraints.
There is no difference. 13:06
gaal hasn't studied lambdabot carefully
xerox ?version
lambdabot lambdabot 4p23, GHC 6.5 (OpenBSD i386 )
darcs get www.cse.unsw.edu.au/~dons/lambdabot
xerox Get it on your computer, it's *so* handy.
13:06 ivanfrey joined
gaal xerox: I have it somewhere, I was going to add a pugs evaluator to it 13:06
xerox Go for it!
gaal but got inevitable sidetracked :) 13:07
s/ly/ly/
xerox (You need latest fps for sure.)
gaal grrr
xerox heh heh
Type slowly.
gaal "read before hitting enter" should also work.
anyway, I'd better get back to work. 13:08
xerox What are you working on? 13:09
gaal getting paid
xerox Sensible work.
13:11 frederico joined
gaal xeox: heh sorry, didn't mean to be snub - it's $work work, not Perl or Haskell related. 13:16
ivanfrey Just ran a smoke test. I was able to shave 20 min. off the last run. 13:23
I tried to run it overnight but the powerbook went to sleep in the middle of it. 13:26
scw clkao: about r10993, IIRC, ':p' in perl 6 is translated into 'p' => 0 13:32
svnbot6 r11467 | ajs++ | a first pass at pack, which seems to play nice with the Perl 6 sense of strings, and yet is not TOO hard to use
clkao scw: really? 13:33
scw clkao: And about why it makes MiniPerl6 work, since I checked the value in maybe Pugs::Emitter::Rule::Perl5
clkao: oh, no, should it be 1? 13:34
clkao i thought it should be 1
scw ya, I just think of audrey's "since write nothing means 0" 13:35
so now I have to find where did I check the value :(
clkao i think 0 is :!p
scw look like something appeared when I didn't take attension on Perl 6 :p 13:36
clkao where have you been
13:36 daxim joined
scw just overwhelmed by final exam and projects 13:37
fglock hi 13:41
13:41 mj41__ joined
scw hi! 13:42
fglock is there a system command that tells a program memory usage, like 'time' does for cpu? 13:45
clkao after the program finishes or ? 13:50
tcsh time does. or you can use bsd::resource in your program
fglock clkao: I want to compare memory usage while compiling Test.pm 13:51
clkao does time -l work? 13:54
nothingmuch clkao: vvely odd 13:59
fglock the man page says 'time -v perl ...' should work, but I only get 'bash: -v: command not found'
nothingmuch clkao: look at search.cpan.org/src/NUFFIN/Test-TAP...P/Model.pm
_handle_other
fglock fixed - it needs to be run with 'sudo' 14:01
nothingmuch clkao: please write a failing test
i'm expandinig this a bit: search.cpan.org/src/NUFFIN/Test-TAP.../t/basic.t 14:02
clkao k later 14:06
fglock: \time
nothingmuch clkao: 14:09
clkao: i just added more passing tests 14:10
nothingmuch.woobling.org/Test-TAP-M.../t/basic.t
look for ->diag
scw fglock: is Pugs::Compile::Rule used some where sensitive now? 14:12
fglock: I modified the rule so that the first '|' is skipped
fglock scw: it's the parser module for v6.pm
scw: no problem, afaik
scw so, what should I do before commit to ensure not breaking it? 14:13
fglock try to run hello_world.pl in Pugs-Compiler-Perl6
14:17 xdg joined
scw cpan installing Module::Compile *giggle* 14:19
fglock scw: v6.pm is a sponge that absorbs half of cpan 14:20
scw does that means that I have to wait for cpan to install modules overnight? 14:22
kolibrie I tried to build pugs without embedded parrot (removed parrot from PUGS_EMBED), but the executable still executes rules when external parrot is not in the path
must I also clear PARROT_PATH? 14:23
fglock scw: it depends on your system and bandwidth - it takes only a few minutes in ubuntu, and a few hours in windows for me
scw I work on a workstation on our department and install everything under my ~ ... 14:24
Maybe our admin will kick me before I complete the test :P
kolibrie yep, that worked. I had to clear out PARROT_PATH as well as PUGS_EMBED 14:30
scw fglock: I give up testing it... committed and hope it breaks nothing 14:35
svnbot6 r11468 | scw++ | Pugs::Compiler::Rule & Pugs::Grammar::MiniPerl6
r11468 | scw++ | * fix r10993
r11468 | scw++ | * skip the first '|' in rules
scw also, I think you'll be able to fix whatever happens :)
fglock scw: ok - no problem!
clkao: would you try compiling Test.pm again? 14:39
svnbot6 r11469 | fglock++ | v6 - optimized memory usage:
r11469 | fglock++ | -- compiling a single statement - 13k pages
r11469 | fglock++ | -- compiling Test.pm - 40k pages
14:40 miyagawa joined, cjeris joined
fglock bbiab 14:40
scw going home... there's a typhoon approaching Taiwan now :p hope I can get home before it rains again 14:41
kolibrie scw: good luck 14:43
fglock scw: it works fine - thanks! 14:48
clkao fglock: sure 14:50
i have some data::bind weirdness 14:51
14:54 justatheory joined
buu Magical web irc log someplace? 14:56
nothingmuch Summer of Perl | 6.2.12 released! | paste: sial.org/pbot/perl6 | pugs.blogs.com | pugscode.org | pugs.kwiki.org | www.treehugger.com/files/th_images/paradigm.jpg 14:56
svnbot6 r11471 | clkao++ | Fix slurpy. 14:57
fglock buu: colabti.de/irclogger/irclogger_log/perl6 14:58
buu Thanks.
svnbot6 r11472 | clkao++ | Don't bother binding undef for now, because it sometimes segfaults. :(
r11473 | clkao++ | * Emit array method calls. 15:01
r11473 | clkao++ | * Fix while/until with pointy sub.
r11473 | clkao++ | * Pass statement/while.t
15:01 prefiks joined
clkao fglock: PCR no worky 15:02
fglock clkao: it worked here - I'll make clean and retry 15:03
still works 15:04
clkao ah, i have to make clean. 15:05
fglock++ # mem usage is about 160M now 15:07
nothingmuch ingy: ping 15:08
fglock :)
nothingmuch clkao: did you see your passing test?
15:09 vel joined 15:10 rzoz joined
cjeris Does anybody have a moment to help me build my first pugs? I think I'm doing something wrong wrt cygwin 15:10
Windows ghc 6.4.2, cygwin perl... typing perl Makefile.PL gives the following message a couple of times:
[NAME OF COMPONENT]: /usr/local/src/pugs/third-party/installed/packages.conf: openFile: does not exist (No such file or directory) 15:11
[sorry, replace NAME OF COMPONENT with runcompiler.exe] if I ignore that and proceed, make crashes out with a similar message later. 15:12
kolibrie cjeris: Limbic_Region is on windows and recently had to do some workaround 15:13
cjeris: I'm not sure what it was, and he doesn't seem to be around just now 15:14
ajs WRT S03, what is a "reference type"? I thought any object would be a reference type, but Str behaves unlike a reference type in S03 WRT C<===> (e.g. it compares two Str values by value, not by .id)
15:14 rzoz left
ajs Is that an exception or is Str not a reference type? 15:14
kolibrie I thought references were gone 15:15
PerlJam kolibrie: different usage of the word.
ajs kolibrie: as in "by reference" rather than "a reference"
cjeris kolibrie: ok, I'll drop him a line later, thanks!
clkao nothingmuch: not yet, still stuff on my stack 15:16
nothingmuch clkao: anyway, i'm declining your task since I can't reproduce
ajs If no one knows, I think I'll pose this to p6l. I think something got lost between the original plan to have a "str" type and the current "Str-only" concept. 15:17
nothingmuch IIRC there is no more str type
there are low level byte buffers
and Str
ajs nothingmuch: You are correct. That's what I meant. There used to be a "str", but we dropped it because of representation issues. I think S03 is still partially in the "str" mindset WRT C<===> 15:18
The two solutions that I see are "Str is an exception for C<===>, and that's OK," or "S03 is wrong, C<~$s1 === ~$s2> compares by .id" ... either one is fine with me, but the ambiguity sucks 15:19
nothingmuch Str.id is just the low level buffer in some canonical encoding, i think 15:21
so if it compares by .id it's OK
since that's just string equality
ajs ... uh ... that's not good.
nothingmuch but this, of course, could be made more efficient by making === for strings special case
why not?
15:22 cognominal joined
nothingmuch $obj.id, according to audrey is: "return any low level type that uniquely identifies this value" 15:22
ajs Because .id should be the same, if and only if the things being compared are THE SAME THING, not things that happen to have the same value under certain circumstances.
nothingmuch some people disagree 15:23
i personally don't cacre anymore
neither scheme makes sense
ajs Ok
nothingmuch in a language with mixed semantics
fglock ajs: that's only valid for containers - values are compared by value
nothingmuch isn't === supposed to be value oriented, and more DWIM in that it also recurses downwards? 15:24
ajs fglock: "containers" or "reference types"?
nothingmuch: I didn't see anything about DWIMery or recursion. It's either value-to-value for value types (which I presume to mean unboxed objects) or .id-to-.id for reference types (which I presume to mean containers and objects). 15:26
fglock if you have '$a := $b' then they share the same "cell"
ajs fglock: aye
nothingmuch i always thought === was deep by-value comaprison
e.g. [ 1, 2, 3 ] === [ 1, 2, 3 ] is true
but == is not since they are different containers
ajs nothingmuch: Search for === in S03
fglock that's what makes $a.id ~~ $b.id
PerlJam There's enough confusion on the subject here, that someone should probably summarize and send a message to p6l 15:27
nothingmuch ughhhhhhhh
ajs PerlJam: I'm composing the mail now
nothingmuch we already have that broken behavior with ==
*sigh*
acomparing reference deeply is still going to stay a few characters harder than it should be 15:28
fglock see perl5/Perl6-Container/lib/Perl6/Container/Scalar.pm
ajs nothingmuch: I understand where you're coming from and whether I agree or disagree, that wasn't really my question. I was trying to make sense of S03, not question how it might ought to have been, if I may use the plu-perfect subjunctive for a moment ;) 15:29
fglock: Wilco
nothingmuch yeah, i'm just complaining
not to you
but in general
15:31 Jedai joined
ajs nothingmuch: The other day, I was writing about Perl 6 on a talk page on Wikipedia. I pointed out that everyone involved in P6 could write a book of rants about the process if they had the time, but that's just the nature of a huge, ambitious project ;-) 15:31
nothingmuch ajs: the reason i'm bitching is that i bitched a lot before === came to be
and i thought that === resolved the issues i raised 15:32
so i ticked that off in my list
ajs nothingmuch: ah... yeah, I think I have some vague memory of that thread.
nothingmuch i thinik it's going to introduce bad coding style to have too much .id everywhere
and i think that it's easy to do that anyway 15:33
otoh explaining to a newbie that @$foo === @$bar and not $foo === $bar... meh
PerlJam nothingmuch: er, what do you mean about "too much .id everywhere"
?
nothingmuch also, i don't think it's going to recurse
PerlJam: well, most of my Perl code deals with values
except where it's very explicit about refaddr 15:34
all the code i've read is also like that
ajs nothingmuch: I see === as mostly an "implementation detail". Most comparisons will use ~~, == or eq
nothingmuch == and eq suck even more
~~ is not equality, it's "match"
we need an equality checking operator that will basically be used to implement is_deeply in one line
Data::Compare
ajs nothingmuch: exactly, which is what most people mean when they say == or eq in Perl 5.
nothingmuch yes 15:35
but == and eq are *not* that for arrays
PerlJam nothingmuch: you do that by defining your own .id for the type and then using ===
nothingmuch they check derivitive data types
PerlJam: and that really really sucks for nested structures
?eval my @foo = ( [ 1, 2 ], 3 ); @foo 15:36
15:36 evalbot_11465 is now known as evalbot_11473
evalbot_11473 [[1, 2], 3] 15:36
nothingmuch ?eval my @foo = ( [ 1, 2 ], 3 ); my @bar = ( [ 1, 2 ], 3 ); @foo === @bar;
evalbot_11473 Bool::False
nothingmuch ?eval my @foo = ( 1, 2, 3 ); my @bar = ( 1, 2, 3 ); @foo === @bar;
evalbot_11473 Bool::True
nothingmuch explain that to a newbie
explain why it's worth anything 15:37
;-)
merlyn ?eval my @inner = (1, 2); my @foo = (@inner, 3);
evalbot_11473 [1, 2, 3]
15:37 Muixirt left
merlyn Hmm. how do I get that to be a reference? 15:37
\@inner ? :)
?eval my @inner = (1, 2); my @foo = (\@inner, 3);
evalbot_11473 [[1, 2], 3]
merlyn ahh, there it is
PerlJam That makes it a Capture :) 15:38
cognominal ?eval my @foo = ( [ 1, 2 ], 3 ); my @bar = ( [ 1, 2 ], 3 ); @foo == @bar;
merlyn ?eval my @inner = (1, 2); my @foo = (\@inner, 3); my @bar = (\@inner, 3); @foo === @bar;
evalbot_11473 Bool::False
merlyn hmm. why is that false?
ahh, thinking p5 again
?eval my @inner = (1, 2); my $ref = @inner; my @foo = ($ref, 3); @foo === @bar;
PerlJam merlyn: for the same reason [1,2] === [1,2] is false
evalbot_11473 Error: Undeclared variable: "@bar"
merlyn ?eval my @inner = (1, 2); my $ref = @inner; my @foo = ($ref, 3);
evalbot_11473 [[1, 2], 3]
cognominal ?eval my @foo = ( [ 1, 2 ], 3 ); my @bar = ( [ 1, 2 ], 3 ); @foo === @bar;
evalbot_11473 Bool::False
merlyn ?eval my @inner = (1, 2); my $ref = @inner; my @foo = ($ref, 3); my @bar = ($ref, 3); @foo === @bar; 15:39
evalbot_11473 Bool::False
cognominal oops
merlyn ok - that's still confused
or I'm still confused
cognominal ?eval my @foo = ( [ 1, 2 ], 3 ); my @bar = ( [ 1, 2 ], 3 ); @foo == @bar;
evalbot_11473 Bool::True
merlyn Oh. @foo is not the same object as @bar
duh
15:39 weinigZZZ is now known as weinig
merlyn needs to go back to p5 now. ) 15:39
PerlJam merlyn: too much perl6 will mess you up wrt perl5. 15:40
gaal merlyn: there are no references any more. there will be Captures: svn.openfoundry.org/pugs/docs/Perl6...apture.pod
fglock ?eval my @inner = (1, 2); my $ref = @inner; my @foo = ($ref, 3); my @bar = ($ref, 3); @foo ~~ @bar;
evalbot_11473 Bool::True
gaal but the implementation currently is broken.
ajs Silly question 2: do all classes automatically define: C<multi submethod *infix:<as> ($self: $?CLASS) { $self }> ? 15:43
That is to say, can I always .as<anscestor> ? 15:44
PerlJam That's not a silly question at all. 15:45
unfortunately for you, I don't have an answer :)
ajs PerlJam: heh 15:46
PerlJam Wait for TimToady or ask on p6l
svnbot6 r11474 | fglock++ | v6 - ChangeLog update
ajs PerlJam: Will do. Just trying not to ask leading questions on p6l if a quick answer here will do.
PerlJam ajs: re your latest email to p6l ... stop apologizing! :-) If you can't understand it or find an answer to your question, odds are other people would have the same problem if they thought about it 15:49
ajs Will try... still unsure of self
Was slacking so long...
PerlJam Well, ajs++ for the work 15:50
and again ajs++
ajs Thanks
PerlJam (will karms substitute for confidence? :)
er, s/karms/karma/
Jedai ?eval my @foo = ( [ 1, 4 ], 3 ); my @bar = ( [ 1, 2 ], 3 ); @foo == @bar;
15:50 evalbot_11473 is now known as evalbot_11474
evalbot_11474 Bool::True 15:50
ajs PerlJam: I suppose it's the same as a pay raise substituting for self-respect, right ;-) 15:51
Jedai ?eval my @foo = ( [ 1, 4 ], 3 ); my @bar = ( [ 1, 2 ], 3 ); @foo ~~ @bar;
evalbot_11474 Bool::False
Jedai ?eval my @foo = ( [ 1, 2 ], 3 ); my @bar = ( [ 1, 2 ], 3 ); @foo ~~ @bar; 15:52
evalbot_11474 Bool::True
Jedai I'm unsure why we would need "===" if ~~ does the job better ? 15:53
PerlJam ajs: you just reminded me of this guy I know who kept getting pay raises because the boss thought that would motivate him to work harder. The only problem was that the guy was already working 110% and throwing more money at him isn't going to give him more hours in the day or somehow magically make the work easier
Jedai: they do different things. ~~ does the "deep comparison" that nothingmuch was talking about (I think), and === does an identity comparison. 15:54
svnbot6 r11475 | clkao++ | * Parse :foo(1)
r11475 | clkao++ | * Pass 02-test-pm/2-force_todo.
Jedai "==" is stupid that's ok, "~~" is very smart and that can have unexpected side-effect, but "===" needs to be a little bit smarter in my opinion
A "is_deeply" operator is really needed while I don't really when I would use the current "===" 15:55
PerlJam hmm. and I think I need to relook at S03 too because I just realized what's been bothering me about === is that I thought it was spelt =:=
Jedai ?eval 2 =:= 3 15:56
evalbot_11474 Bool::False
Jedai ?eval 2 =:= 2
clkao fglock: can you make [ 1, 4 ] parse? ;)
evalbot_11474 Bool::True
ajs Jedai: I expect that the single major use of === is to implement ==, eq and ~~
PerlJam Hrm.
svnbot6 r11476 | fglock++ | v6 - changelogging for 0.007
Jedai ?eval my ($i, $j) = (1, 2); ($i + 1) =:= $j; 15:57
PerlJam I'm not sure that there's enough of a difference between === and =:=
evalbot_11474 Bool::True
Jedai ?eval my ($i, $j) = (1, 2); ($i + 1) === $j;
15:57 evalbot_11474 is now known as evalbot_11476
evalbot_11476 Bool::True 15:57
ajs That is: our bool multi infix:<==> (int $a, int $b) { $a === $b }
Jedai ?eval my ($i, $j) = (1, 2); ($i + 1) == $j;
evalbot_11476 Bool::True
fglock clkao: added to first item in TODO :)
ajs And the same for num, etc. 15:58
PerlJam or, rather === tries to be a magical =:= or something
Jedai ?eval my @foo = ( [ 1, 2 ], 3 ); my @bar = ( [ 1, 2 ], 3 ); @foo =:= @bar;
evalbot_11476 Bool::False
svnbot6 r11477 | fglock++ | v6 - TODO update
PerlJam Jedai: in that instance =:= is the same as ===
They're testing the exact same things. 15:59
Jedai Ok, now I'm confused...
?eval "2" =:= 2;
clkao fglock: also !0 is right, but !(0) is parsed as a call
evalbot_11476 Bool::False
clkao not op
Jedai Ok...
clkao is that an easy fix?
PerlJam Assuming .id things are stringy, @foo =:= @bar is the same as @foo.id eq @bar.id 16:00
ajs PerlJam: I think the key difference between === and =:= is this bit in S03 for =:=: "The binding fails if the type of the variable being bound is sufficiently inconsistent with the type of the current declaration."
Note that === is ALWAYS false if the types differ
fglock clkao: I think !(0) is a call 16:01
Jedai ?eval my @foo = ( 1, 3 ); my @bar = ( 1, 3 ); @foo =:= @bar;
evalbot_11476 Bool::True
PerlJam ajs: that sentenxt you quote is referencig := and ::=. It says nothing about =:=
clkao ?eval !(Bool::False)
evalbot_11476 Bool::True
SamB ?eval !(0)
evalbot_11476 Bool::True
PerlJam ajs: but, I see what you're saying.
ajs You're right. Ignore that statement on my part
nothingmuch PerlJam: no, ~~ will also match [ 1, 2, 3 ] with [ { 1 }, { 1 }, { 1 } ]
it's matching
the right side is an expression
the left side is a value 16:02
PerlJam ajs: @foo =:= $bar could be true if both of their .id methods return the same thing even if their types are radically different.
nothingmuch my point is that =:= already has .id ish semantics
?eval [ 1, 2, 3 ].id 16:03
16:03 evalbot_11476 is now known as evalbot_11477
evalbot_11477 undef 16:03
nothingmuch ?eval "foo".id
evalbot_11477 undef
nothingmuch ?eval 1.id
hmm
evalbot_11477 undef
nothingmuch nevermind that then
PerlJam nothingmuch: well, I'm with you then. I don't get why we have ~~ === and =:=
nothingmuch i think that === is confusingly overlapping with =:=
PerlJam indeed!
ajs I don't think =:= checks the .id... at least not in spirit. I would think that it is actually grovelling the namespace
nothingmuch =:= should be "is it the same data, in that when i change one side the other side will change with it"
ajs My jogging buddy just showed up. Must run! Ciao!
nothingmuch === should be "are these the same values?", but deeply
and ~~ should be "does the right hand side describe the left hand side" 16:04
PerlJam ajs: oh, perhaps you're right. =:= is just "do these two things occupy the same slot"
nothingmuch where describe is the lovely ~~ semantics, but almost always unrelated to equality
SamB ?eval "foo".id
evalbot_11477 undef
nothingmuch see you ajs
SamB ?eval {}.id
evalbot_11477 undef
SamB what took so long?
and why are all these ids coming out as undef? 16:05
nothingmuch because pugs is broken ;-)
SamB ?eval Pugs.id
evalbot_11477 Error: No such sub: "&Pugs"
SamB oh, nice
something other than undef...
?eval $Pugs.id 16:06
PerlJam Maybe we can corner TimToady today until we get a resolution on these comparison operators ;)
evalbot_11477 Error: Undeclared variable: "$Pugs"
nothingmuch TimToady: ping
SamB hmm, maybe I should read some documentation at some point
nothingmuch will try to write up a small set of questions
PerlJam nothingmuch++ good idea
SamB ?eval {}.crazy 16:09
evalbot_11477 Error: No such method in class Hash: "&crazy"
svnbot6 r11478 | clkao++ | * Workaround !(0) parse result.
r11478 | clkao++ | * Kill ';' from eval.
r11479 | fglock++ | v6 - updated TODO, MANIFEST - this is v6 0.007 in CPAN
SamB okay, so there is *some* support for .id somewhere...
fglock lunch &
pasteling "nothingmuch" at 71.234.68.135 pasted "===, =:= questions" (23 lines, 1K) at sial.org/pbot/18346 16:11
nothingmuch PerlJam: please review
clkao fglock: need to support interpolation in double quote
PerlJam nothingmuch: bueno. 16:13
nothingmuch p6l?
PerlJam The last time this came up I think someone mentioned the idea of modifiers on operators, I don't remember what the general concensus was on that though
nothingmuch *gag* *cough* *barf*
PerlJam well, that's a one opinion :) 16:14
16:21 FurnaceBoy joined
kolibrie audreyt: I am trying to get <ws> overriding to work, picking up where I left off at the Chicago hackathon, but I cannot get it to work anywhere 16:23
pasteling "kolibrie" at 66.239.158.2 pasted "overriding <ws>" (23 lines, 502B) at sial.org/pbot/18347
nothingmuch so 16:25
posted, a bit more details were added
i hope i didn't err on the side of verbosity
16:26 penk joined
kolibrie fglock: after I get this working under pugs/parrot, I will of course want it to work under v6.pm 16:31
Jedai ?eval "2" =:= 2 16:34
16:34 evalbot_11477 is now known as evalbot_11479
evalbot_11479 Bool::False 16:34
Jedai ?eval "2" === 2
evalbot_11479 Bool::False
Jedai ?eval "2" == 2
evalbot_11479 Bool::True
16:34 swaroop joined
Jedai So we in fact have a equal method for Int and Str as ops "==" and "eq" 16:35
and =:= and === work without implicit conversions 16:36
nothingmuch i think so
i just posted on p6l on this just now
p[lease see if it makes sense
Jedai I read it, it makes sense (to me at least ;) ) 16:37
nothingmuch on your == / eq thing?
as i see it === is never the same for different types
and eq is just "force it into Str first, then run ==="
Jedai exact 16:38
nothingmuch and == is the same but Num
okay
=)
Jedai so === is higher level...
nothingmuch right now it isn't ;-)
?eval "2" === "2"
evalbot_11479 Bool::True
Jedai It should :-(
nothingmuch it works everything but references
?eval (1, 2, 3) === (1, 2, 3) 16:39
evalbot_11479 Bool::True
nothingmuch ?eval [1, 2, 3] === [1, 2, 3]
*BLAM
evalbot_11479 Bool::True
nothingmuch *
oh
shit
?eval ([1, 2], 3) === ([1, 2], 3)
evalbot_11479 Bool::False
nothingmuch that's even more confusing
===--
Jedai ?eval my $foo = [ 1, 3 ]; my $bar = [ 1, 3 ]; $foo =:= $bar; 16:40
evalbot_11479 Bool::True
Jedai Broken...
nothingmuch EEIIIIIIIIIIIIIII
let's make a list of broken behaviors
Jedai I'm quite sure =:= should give False here o_O 16:41
nothingmuch do you have subethaedit?
Jedai no ? 16:42
Why ?
nothingmuch so that we can ediut the file together
?eval "42" === 42
evalbot_11479 Bool::False
nothingmuch ?eval "42" === "42"
evalbot_11479 Bool::True
Jedai Ok, but I'm not on Mac :-( 16:43
nothingmuch ?eval " 42 " == "42.0"
evalbot_11479 Bool::True
nothingmuch that's OK
i can just share the file when I'm done
?eval $foo = [ 1, 2, 3]; $foo =:= $foo 16:45
evalbot_11479 Error: Undeclared variable: "$foo"
nothingmuch ?Eval [ 1, 2, 3 ] === [ 1 .. 3 ]
?eval my $foo = [ 1, 2, 3]; $foo =:= $foo
evalbot_11479 Bool::True
nothingmuch ?val [ 1, 2, 3 ] === [ 1 .. 3 ]
16:46 frederico joined
Jedai ?eval " 42 " === "42" 16:46
nothingmuch $foo = [ 1, 2, 3 ]; $bar = $foo; $bar =:= $foo
evalbot_11479 Bool::False
nothingmuch ?eval $foo = [ 1, 2, 3 ]; $bar = $foo; $bar =:= $foo
evalbot_11479 Error: Undeclared variable: "$foo" 16:47
nothingmuch ?eval my $foo = [ 1, 2, 3 ]; my $bar = $foo; $bar =:= $foo
evalbot_11479 Bool::True
nothingmuch ?eval my $foo = [ 1, 2, 3 ]; my $bar := $foo; $bar =:= $foo
evalbot_11479 Bool::True
Jedai ?eval [ 1, 2, 3 ] === [ 1 .. 3 ]
evalbot_11479 Bool::True
pasteling "nothingmuch" at 71.234.68.135 pasted "broken ops" (29 lines, 1.1K) at sial.org/pbot/18350 16:48
Jedai ?eval my @foo = (1, 2, 3); my @bar = @foo; @foo =:= @bar;
evalbot_11479 Bool::True
16:49 frederico joined
nothingmuch that's nasty 16:49
?eval my @foo = (1, 2, 3); my @bar = @foo; @foo === @bar 16:51
evalbot_11479 Bool::True
nothingmuch ?eval my @foo = (1, 2, 3); my @bar = @foo; @bar[1] = "moose"; @foo =:= @bar
evalbot_11479 Bool::False
Jedai So I'll add : my @foo = (1, 2, 3); my @bar = @foo; @foo =:= @bar; - false, not the same container, BROKEN
nothingmuch yeah, i added that =)
Jedai Ok
nothingmuch i added an inspired === test 16:52
and the last thing i ?eval'd
Jedai ?eval my @foo = (1, 2, 3); my @bar = @foo; @foo[0] = 4; @foo.say; @bar.say;
evalbot_11479 OUTPUT[423 123 ] Bool::True
cjeris ?eval [1, 2, 3] === [1, 2, 3]
evalbot_11479 Bool::True
Jedai Ok.. 16:53
So is Pugs optimising in intern ?
16:53 kudra joined
nothingmuch it looks like it 16:53
16:53 ruoso joined
Jedai Quite a good optimisation then, but the ops should account for it in this case 16:54
nothingmuch ?eval my @foo = ([1, 2], 3); my @bar = @foo; @bar === @foo 16:55
evalbot_11479 Bool::False
clkao v6 passes 147 more tests!
Jedai Wow ! :-) 16:56
nothingmuch clka++
fglock++
clkao++
pasteling "nothingmuch" at 71.234.68.135 pasted "broken ops" (36 lines, 1.9K) at sial.org/pbot/18351
nothingmuch this is the new version
please see if it's missing anything
fglock clkao: wow! 16:58
Jedai It seems complete 16:59
It would be interesting to know if Pugs optimisation does not arise from the Haskell backend 17:00
nothingmuch sent
pugs may be cheating by asking GHC for the unsafe pointer to operation
Jedai (as OCaml has this kind of quirk I guess Haskell may be the one to blame) 17:01
nothingmuch and using that as internal id for refs
in which case they are actually bound to the same point in memory, until pugs tries to change it
fglock kolibrie: PCR have problems mixing rule/regex in the same statement - I'm working on it on my "free time" :)
Jedai Yes, that seems likely as this kind of optimisation is easy and implemented in functionnal programming
nothingmuch anyway, i need to go take a shower and stuff
Jedai Ok, see you later :-) 17:02
kolibrie fglock: I'm only finally getting back to this example I started two weeks ago
time seems always short 17:03
merlyn I'm thinking of writing an article on Module::Compile for my next trick
then an article using p6-rules to parse my "Spew" compiler
time is indeed short
fglock merlyn: :) 17:04
broquaint Write some perl6 to adapt existing articles to perl6.
merlyn so two articles in a row that go from Inline::Spew to Spew in the p6 world
merlyn-columns: spew
17:04 grufti joined
buubot Found Random sentence generator (Sep 99) at www.stonehenge.com/merlyn/LinuxMag/col04.html; Creating an Inline language (Mar 04) at www.stonehenge.com/merlyn/LinuxMag/col57.html; Editing files in-place (dec 98) at www.stonehenge.com/merlyn/UnixReview/col23.html; Watching a 17:04
..logfile in an IRC channel (Feb 04) at www.stonehenge.com/merlyn/PerlJourn...ol09.html;
lambdabot Title: "Watching a logfile in an IRC channel (Feb 04)"
Title: "Random sentence generator (Sep 99)"
merlyn dueling btos 17:05
bots
fglock I've been thinking about writing a compiler which adds p6 syntax to p5 but doesn't change semantics - and is easy to install
merlyn so Module::Compile-based modules just have to return p5 code that replaces the filtered code? 17:07
fglock but that would just confuse the users
merlyn: yes
merlyn and what is "use Module::Compile -base";
I don't understand the -base there
as in, undocumented. :)
mauke looks spiffy
broquaint A Spiffy-ism perhaps.
merlyn Ugh. this uses spiffy below? 17:08
merlyn sighs
bpphillips merlyn: I don't believe Module::Compile uses Spiffy at all, I think it is just a "Spiffy-ism" 17:10
fglock # Handler modules can do C< use Module::Compile -base; >. Makethe source says: # Handler modules can do C< use Module::Compile -base; >. Make them ISA Module::Compile and get the hell out of Dodge. 17:11
ugh
it's the same as 'use base ...' 17:12
merlyn OK 17:15
how weird.
nothingmuch /w 26 17:18
svnbot6 r11480 | fglock++ | v6 - updated HACKING file
merlyn use Foo -base; instead of just use base Foo; 17:19
that's ... crazy
17:19 fglock left
clkao fglock: i broke pair parsing. hwo do i make Pugs::Grammar::Term.pair with higher priority than the one after? 17:20
merlyn maybe I should submit a patch. :)
17:20 fglock_ joined, wesle1 joined
gaal fwiw, use base Foo is not strict-clean. 17:20
17:21 Daveman joined
fglock_ clkao: the priority is set by longest-token 17:21
bpphillips merlyn: I think it's to differentiate between code that uses Module::Compile (like v6) vs. code that is supposed to be compiled by Module::Compile
mauke use base Foo::;
clkao fglock_: it doesn't seem so
fglock_: also statement/redo kindof compiles with V6DUMPAST set 17:22
but fails horribly without
fglock_: see latest parsing of ':foo<bar>' :/ i broke it
fglock_ clkao: the first rule matches :a:<b> - extra colon there 17:27
17:27 elmex joined
clkao fglock_: oh! but even if i kill that : it still doesnt matche 17:29
fglock_ clkao: did you commit 'redo'?
clkao fglock_: no. i made some changes to kill extra block in if/else 17:30
fglock_ :foo<bar> and :foo work for me 17:32
svnbot6 r11481 | clkao++ | DOn't emit extra level of block so redo would work.
fglock_ clkao: I'll commit my Term.pm
clkao cool 17:35
17:38 amnesiac joined
clkao fglock_: that's the same change i have, but i still have :foo<bar> wrong 17:40
fglock_ clkao: I've seen the error now - fixing... 17:42
ok 17:45
svnbot6 r11482 | fglock++ | v6 - parser fix - :foo :$foo :foo<bar>
fglock_ PCR can't merge keys yet - you have to implement all the parsing in a single place 17:47
svnbot6 r11483 | fglock++ | v6 - clean up comments in Term.pm 17:51
17:57 weinig is now known as weinig|away 18:02 fglock joined 18:03 sahadev joined
nothingmuch merlyn: it's ingy code 18:11
but it actually doesn't reallyy matter
M::C does the job
18:13 cognominal left 18:14 penk joined 18:19 cognominal joined
clkao fglock: *nod* my grammar-fu is still weak ;) 18:25
fglock: did you see the weird thing for statement/redo? 18:26
Error in perl 6 parser: Not a SCALAR reference at lib/Pugs/Grammar/Expression.pm line 208.
but it kindof works (2 tests emitted) with v6dumpast 18:27
18:28 weinig|away is now known as weinig
fglock sorry, I can't check right now 18:29
I'm doing some sysadmin $work 18:30
clkao k 18:36
18:39 frederico joined
svnbot6 r11484 | clkao++ | Make ~@a work. 18:39
clkao it seems v6 is still generating partial .tc file when compilation failed 18:43
18:44 xdg joined 18:48 hexmode joined
clkao nothingmuch: ok ttm is on my stack on 18:50
nothingmuch clkao: look for the link i sent you
that test passes
clkao nothingmuch: basic? 18:51
nothingmuch clkao: yes
clkao nothingmuch: i think you missed something, diag actually goes to stderr 18:52
nothingmuch oh
right
that's the harness's problem
clkao so i have to do my own print of ^# 18:53
:(
nothingmuch some outputters output on stdout
there's a Test::Builder hack for this
but it should be fixed in Test::Harness::Straps
clkao is it being fixed?
nothingmuch that's Not My Problem 18:54
i remember it being discussed on perl-qa
it's probably unfixable in Test::Builder
clkao nothingmuch: can i have something post_diag like pre_diag?
nothingmuch possibly unfixable in Test::HarnesS::Straps for backwards compat reasons
pre_diag and post_diag?
18:54 lollan joined
clkao there's already pre_diag in ->structure 18:55
so diags are attached to the previous test
which is actually a bit weird. because test should be covering things before you actually run the ok().
nothingmuch: also, the is($a,$b) test also outputs to stderr. :/ 18:57
nothingmuch pre_diag is diag before any subtests
diag is automatically attached to any subtest that was right before it
because is($a, $b) outputs the diag (in Perl 6's Test.pm) right after the ok line 18:58
Test::Builder is not to spec
because it says diag is emitted to stdout
obra Didn't it predate the spec? ;)
nothingmuch i don't remember
clkao i see.
nothingmuch but Test::More implies diag goes out to stderrr, when it doesn't
clkao nothingmuch: do you hate software? 19:00
nothingmuch clkao: very 19:01
gaal awww, crap. and it's impossible to synchronize streams. 19:03
xerox Today I saw a slick implementation of streams in Haskell-on-acid.
19:04 fglock joined
nothingmuch gaal: moose 19:04
gaal nothingmuch: elk
xerox Yak. 19:05
fglock clkao: my last Compiler::Perl6 change may have broken error reporting back to v6.pm 19:06
obra gaal: we're very, very close to doing a first cpan release of chimps
gaal obra: excellent!! 19:07
obra I suspect we may want a little help to add in the hooks pugs needs to do your sexy, sexy test-linking
gaal <stevan audreyt> >>.ping
nothingmuch obra: with non HTML result formats?
obra gaal: audreyt is off to food.
nothingmuch: I don't actually know ;)
19:07 DaGo joined
nothingmuch obra: you really want that 19:07
obra I know
but. what we have now is still better than what's out there for most everyone 19:08
gaal nothingmuch: what do you mean by non-HTML result formats? I mean, Dump($tap)?
obra and getting it released and getting people hacking on it and using it is more important than making it Entirely Perfect
nothingmuch gaal: yes
obra (I think this 0.001, not 1.00)
nothingmuch Test::TAP::Model was designed for that
obra: you know that there is smolder.sf.net 19:09
gaal obra: util/catalog_tests.pl is slightly hacky. I'd suggest, first, porting it to TTM
nothingmuch sf.net/projects/smolder
cgi app based smokeserver
hmm, i wonder where they got this from: sourceforge.net/project/screenshots...ssid=29635 19:10
;-)
obra nothingmuch: no, I've never seen it
gaal also, it presupposes the small TAP position patch (basically two lines in Test::More or somewhere like that)
In Perl 6, those two lines are: 19:11
$Test::ALWAYS_CALLER = %*ENV<TEST_ALWAYS_CALLER>; # at module init
$out = "$out <pos:$?CALLER::CALLER::POSITION>" if $Test::ALWAYS_CALLER; # in &proclaim
gaal looks at Test::More
19:12 kudra left
gaal ok in Test::More it's delegated to Test::Builder, and is just a little more complicated, because that isn't careful about uniform callstack depths 19:13
an AOPish solution would be prettiest for this :/ 19:14
either that, or walk up caller() filtering out stuff from /^Test/ packages, but that's kinda ugly. 19:17
incidentally, TimToady++ for seeing that caller :LABEL is useful 19:18
bbiab & 19:21
kolibrie would some volunteers like to test sial.org/pbot/18347 and tell me if any of the commented out 'schedule' rules work? 19:25
lambdabot Title: "Paste #18347 from "kolibrie" at 66.239.158.2"
kolibrie needs parrot r13061 or later 19:26
19:27 r0nny joined
sahadev hello, how do fix this compilation error ? 19:34
Cannot import `Data.ByteString':
it was found in multiple packages: pugs-fps-0.7 fps-0.7
(imported from src/Pugs/AST/Internals/Instances.hs)
audreyt sahadev: ghc-pkg unregister fps 19:35
sudo if neccessary
xerox pugs does weird things wrt fps
audreyt xerox: Cabal is broken, more likely
:/
SyntaxNinja volunteered this workaround
xerox Aww.
audreyt but we still need a more robust solution to say "prefer this package"
xerox What does the breakage look like?
audreyt xerox: can't tell cabal to use a package.conf only 19:36
need food, will bbiab :) &
xerox ~~ enjoy
19:36 rindolf joined
rindolf Hi all. 19:36
sahadev audreyt: "ghc-pkg: cannot find package fps" 19:37
and "ghc-pkg: cannot find package fps-0.7"
audreyt sahadev: sudo ghc-pkg ?
sahadev yet, "ghc-pkg list" shows fps-0.7
yes, it was with sudo
audreyt ghc-pkg unregister --user fps-0.7 19:38
sahadev ah! that did the trick
thank you
audreyt np :) &
19:39 fglock joined 19:40 macroron joined
stevan gaal: pong 19:44
20:00 kudra joined 20:06 r0nny joined
gaal hey stevan, I wanted to work some on the MOP in pugs 20:07
svn.openfoundry.org/pugs/src/Pugs/MOP.hs
there are a few "stevan" todos there 20:08
stevan gaal: hmm, I have no tuits today,.. but I should have some tomorrow
gaal okay, it's getting late here anyway. but let's try to moose it soon 20:09
stevan gaal: agreed 20:11
gaal yay
20:15 fglock_ joined
ajs "let's try to moose it soon": Perl 6 speak for "have youre lawyer's machine call my lawyer's machine, we'll do lunch!" 20:22
20:23 cognominal left 20:25 cognominal joined
FurnaceBoy "have your moose call my moose"? 20:33
20:34 bpphillips left
ajs FurnaceBoy: Our moose are not Herbert... we reach... oh, sorry, different decade. 20:37
FurnaceBoy well, my moose simply said, "That trick never works." 20:38
ajs *snort*
FurnaceBoy oups
wrong way round
well, my moose simply said, "watch me pull a rabbit out of a hat!" 20:39
svnbot6 r11485 | Sage++ | More parser revisions. Heredoc support is in the code, but does not work correctly (but doesn't perturb anything else either). Empty yaml now supported (i.e. /- ''/). Foreach revised and expanded, foreach my $foo (@bar) now translates to foreach @bar -> my $foo (further support may be needed, but split.t is now completely translated). Revised support for literals in multiline quoted yaml scalars. mainParse useage is now mainParse inputf
FurnaceBoy hasn't seen the show for a long, long time...
20:40 hexmode joined 20:49 FurnaceBoy_ joined
kolibrie audreyt: I thought that pmichaud had made changes to PGE to get <ws> to be overridden in a grammar, but I am not seeing a commit from him during that time (parrot r13059 - r13061) 20:54
pmichaud <ws> can be overridden in a new grammar 20:55
kolibrie pmichaud: do you have recollections of that fix?
pmichaud it's been that way for a long time
kolibrie so it was just audreyt's bridge that needed to change? 20:56
I know it worked on her laptop that night, but I can't get it to work anywhere else (feather, locally) 20:57
pmichaud I think so
20:58 gruft1 joined
kolibrie pmichaud: okay. Maybe audreyt can help 20:58
pmichaud: by-the-way, thank you for promptly implementing <'...'> literal matches after I asked 21:00
pmichaud kolibrie: my pleasure. In fact, when I went to look to see if any tests were there, they already existed :-)
kolibrie nice!
pmichaud kolibrie: and I've already come across a couple of cases where they were needed/useful, so it was a big win
kudra goodnight 21:06
ivanfrey Should I run smoke tests every day? 21:08
svnbot6 r11486 | clkao++ | Support default value in signature. 21:21
21:23 fglock joined
fglock v6-pugs was sent to backpan 21:31
ruoso fglock, ? 21:33
fglock ruoso: hi
ruoso fglock, hi.. 21:34
fglock, so v6-pugs is now v6-alpha... 21:35
fglock ruoso: yes - it makes more sense across implementations
it gives a feeling of "the real thing" too :) 21:36
ruoso hehe ... 21:37
in fact v6-pugs was a bit confusing with pugs itself
clkao fglock: you didn't fix my :foo(1) parsing 21:38
i was to have perl6_expression in ()
fglock clkao: I'll fix it now 21:39
clkao fglock: excellent 21:40
i'd love to learn how to
svnbot6 r11487 | fglock++ | v6 - aborts code emission if there is a parser error 21:42
fglock clkao: I think it's better to move the implementation to plain rules - I'll do this first
21:43 qu1j0t3 joined
svnbot6 r11488 | fglock++ | v6 - cleanup comments in Term.pm 21:48
21:51 ivanfrey joined
ruoso will use v6-alpha to write a quick latex(abntex)2txt converter 21:52
fglock ruoso: rules are not fully implemented yet 21:54
ruoso ahhh
:)
fglock but you can help :) 21:55
ruoso :)
what's missing?
21:57 FurnaceBoy_ joined
fglock ruoso: I think the 'token' declaration already works - I'm not sure how well ~~ works - this is mostly in Emitter/Perl6/Perl5.pm 21:58
ruoso ok... so it can parse it already... 21:59
but the generated code is still buggy... 22:00
is it?
fglock it is untested - probably buggy 22:01
ruoso ah... ok... so first step is to write test cases...
fglock ruoso: you can reuse pugs tests - v6-alpha can run ext/Test.pm ! 22:02
ruoso hmm... nice
fglock clkao: I'll check :foo(x) now 22:03
clkao fglock: yay
fglock ruoso: see t/08-test.t
oops - I killed a terminal and it closed my editor 22:04
svnbot6 r11489 | fglock++ | v6 - rewrite of 'pair' parser using rules
ruoso heh
fglock clkao: this is not :foo(x) yet
ruoso prays for a better bandwidth 22:07
fglock clkao: please try again 22:11
svnbot6 r11490 | fglock++ | v6 - more pair parsing - ':foo<bar>; :$foo; :foo; :foo(1+1);'
r11490 | fglock++ | { 'foo' => 'bar' };
r11490 | fglock++ | { 'foo' => $foo };
r11490 | fglock++ | { 'foo' => 1 };
r11490 | fglock++ | { 'foo' => 1 + 1 };
clkao yey
wolverian o vey! 22:12
fglock clkao: now I can guide you through the code - see Term.pm #229
clkao fglock: now that looks easy ;) 22:13
fglock if ' :foo{"bar"} valid syntax too? 22:14
clkao i think so 22:15
:infix{"+"}
:infix<+>
fglock: also there are ony two tests hanging compiling
subroutine / subroutine and multidimension 22:16
fglock mm - it's a hash deref - not a pair constructor 22:17
I'm not sure how it works 22:18
clkao (!) 22:20
svnbot6 r11491 | clkao++ | $*PID & $*EXECUTABLE_NAME.
clkao t/Dialects/perlego/ passes
fglock t/subroutines/subroutine.t parsefails, but doesn't hang 22:21
clkao oh ok. maybe it got fixed
fglock: can you check my signature default param rules, see if i am crazy and using something redundant? 22:22
fglock clkao: it look ok 22:23
looks
clkao thanks 22:24
fglock maybe it should allow a <ws> after '='
clkao i tried with a space and it seems to work
so i am bit confused about the ws
fglock ok - Expression.pm removes extra ws - no problem 22:25
line #81 22:26
22:30 cjeris left
fglock what does '{ @;AoA }' means in t/subroutines/multidimensional_arglists.t ? 22:32
22:33 prefiks left
fglock is '@;AoA' a single identifier? 22:33
I'll parse it as 'not implemented' for now 22:34
TimToady the @;AoA syntax changed into the @@AoA syntax. 22:39
fglock is @;AoA just a syntax error? 22:40
TimToady should be, until we come up with a different use for a ; twigil. 22:41
fglock ok!
clkao is there test for subs without signature but with parameter ? 22:42
t/data_types/subtypes.t hangs as well 22:43
svnbot6 r11492 | fglock++ | v6 - @;AoA is a syntax error; fixed infinite loop 22:44
fglock clkao: it's not hanging here 22:46
maybe it's fixed
22:53 leo-max joined
leo-max hi all 22:53
22:53 penk joined
leo-max just wanted you to know... you [perl6 dev team] have totally screwed it in every possible way :( 22:54
not even funny
TimToady would you like a commit bit?
ruoso really hopes to have a better bandwidth someday 22:58
ruoso also hopes for a better processor... 23:04
fglock, are many tests failing? or I just have my environment screwed 23:05
?
clkao ruoso: PCR? make clean first 23:06
fglock ruoso: check the Pugs-Compiler-Rule installation - see also the Requirements section in v6 pod
bbiab &
ruoso going home... 23:07
clkao we pass 424 tests as of now 23:10
(was 225 two days ago) 23:11
obra nice 23:21
23:40 Davemon joined 23:42 Davemon is now known as Daveman 23:52 macroron joined