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
|