Camelia, the Perl 6 bug

IRC log for #parrot, 2012-06-12

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:48 dalek parrot/pmc_emitter_document: a608886 | jkeenan++ | lib/Parrot/Pmc2c/Emitter.pm:
01:48 dalek parrot/pmc_emitter_document: pmc2c.pl is in tools/build/, not tools/dev.
01:48 dalek parrot/pmc_emitter_document: review: https://github.com/parrot/parrot/commit/a608886de3
01:48 dalek parrot/pmc_emitter_document: e25901d | jkeenan++ | / (2 files):
01:48 dalek parrot/pmc_emitter_document: Update branch with recent config system updates in master.
01:48 dalek parrot/pmc_emitter_document: review: https://github.com/parrot/parrot/commit/e25901d283
02:15 alester joined #parrot
03:34 dalek m1: 19a40db | jimmy++ | Makefile:
03:34 dalek m1: improved Makefile
03:34 dalek m1: review: https://github.com/parrot/m1/commit/19a40db15d
06:31 dalek rakudo/nom: 1b00e64 | moritz++ | src/Perl6/ModuleLoader.pm:
06:31 dalek rakudo/nom: note end of module loading in debug mode
06:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1b00e6425e
06:31 dalek rakudo/nom: 339771a | moritz++ | src/ (2 files):
06:31 dalek rakudo/nom: start to trace module loading in a dynamic variable
06:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/339771a1a8
06:31 dalek rakudo/nom: b5d0d37 | moritz++ | src/ (2 files):
06:31 dalek rakudo/nom: enable basic module traces in X::Comp
06:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b5d0d37b75
06:32 dalek rakudo/nom: f97e562 | moritz++ | src/Perl6/ModuleLoader.pm:
06:32 dalek rakudo/nom: restore GLOBAL if module loading failed
06:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f97e562eee
06:32 dalek rakudo/nom: 3d9fa49 | moritz++ | src/Perl6/ (2 files):
06:32 dalek rakudo/nom: pass the line number to the module loader
06:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3d9fa49592
06:32 dalek rakudo/nom: 22f512d | moritz++ | src/Perl6/ModuleLoader.pm:
06:32 dalek rakudo/nom: add line numbers where module loading occurs
06:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/22f512dc24
06:32 dalek rakudo/nom: 7812723 | moritz++ | src/ (3 files):
06:32 dalek rakudo/nom: p6ize module trace in World and pass it to the exception
06:32 dalek rakudo/nom:
06:32 dalek rakudo/nom: it almost works, but the hashes seem to get flattend out
06:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7812723944
06:32 dalek rakudo/nom: d53986b | moritz++ | src/ (2 files):
06:32 dalek rakudo/nom: itemize hashes in p6ize_recursive; remove debugging output
06:32 dalek rakudo/nom:
06:32 dalek rakudo/nom: Now the output looks like I wanted it
06:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d53986b173
06:32 dalek rakudo/nom: 030721d | moritz++ | src/ (4 files):
06:32 dalek rakudo/nom: Merge branch 'module-trace' into nom
06:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/030721d9a6
06:32 dalek rakudo/nom: de72404 | moritz++ | docs/ChangeLog:
06:32 dalek rakudo/nom: note module-trace merge in ChangeLog
06:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/de724042b9
06:36 brrt joined #parrot
08:10 kjs joined #parrot
08:24 dalek m1: e3a093b | jimmy++ | t/obj.m1:
08:24 dalek m1: removed t/obj.m1, use t/struct.m1 instead
08:24 dalek m1: review: https://github.com/parrot/m1/commit/e3a093bace
08:32 crab2313 joined #parrot
08:33 lucian joined #parrot
08:52 dalek rakudo/nom: 684fd2c | moritz++ | src/core/Exception.pm:
08:52 dalek rakudo/nom: tweak module backtrace, masak++
08:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/684fd2c6dc
09:14 dalek parrot: e439c14 | isBEKaml++ | / (6 files):
09:14 dalek parrot: Addresses #280
09:14 dalek parrot:
09:14 dalek parrot: Copy over all attributes from sysinfo into interpinfo core op.
09:14 dalek parrot: Currently, this is duplicated between sysinfo and interpinfo. We may
09:14 dalek parrot: move these in favour of interpinfo sometime in future deprecating
09:14 dalek parrot: sysinfo.
09:14 dalek parrot: review: https://github.com/parrot/parrot/commit/e439c14390
09:14 dalek parrot: 258e0ef | isBEKaml++ | src/interp/api.c:
09:14 dalek parrot: First shot at implementing CPU_TYPE
09:14 dalek parrot:
09:14 dalek parrot: This information is picked out of <sys/utsname.h>, equivalent to `uname
09:14 dalek parrot: -m` output. I'm unsure as to what should go in there. Fair warning: it's
09:14 dalek parrot: not quite portable.
09:14 dalek parrot: review: https://github.com/parrot/parrot/commit/258e0ef868
09:14 dalek parrot: 329e690 | isBEKaml++ | / (4 files):
09:14 dalek parrot: CPU_TYPE information is now available for win32
09:14 dalek parrot:
09:14 dalek parrot: I have not tested this in win32 since I don't have one available. When
09:14 dalek parrot: you get time, please test this and let me know. Particularly, I'm unsure
09:14 dalek parrot: about the type ramifications between WORD and char* (or STRING).
09:14 dalek parrot: review: https://github.com/parrot/parrot/commit/329e690f08
09:14 dalek parrot: a1b89a3 | jimmy++ | / (9 files):
09:14 dalek parrot: Merge pull request #772 from svatsan/b280
09:14 dalek parrot:
09:14 dalek parrot: Addresses #280
09:14 dalek parrot: review: https://github.com/parrot/parrot/commit/a1b89a3cd0
09:15 aloha (parrot/parrot) Issues closed : 772 (Addresses #280) by svatsan : https://github.com/parrot/parrot/issues/772
09:25 kjs joined #parrot
09:26 schm00ster joined #parrot
10:30 JimmyZ joined #parrot
10:43 kjs hi JimmyZ
10:43 JimmyZ hello kjs
10:43 kjs thanks for the cleanups!
10:44 JimmyZ kjs: you're welcome
10:51 travis-ci joined #parrot
10:51 travis-ci [travis-ci] parrot/parrot#421 (master - a1b89a3 : Jimmy Zhuo): The build was broken.
10:51 travis-ci [travis-ci] Change view : https://github.com/parrot/parrot/c​ompare/e69972a105f4...a1b89a3cd01a
10:51 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/1599313
10:51 travis-ci left #parrot
10:52 dalek parrot: 4a7d8c9 | jimmy++ | src/platform/ (2 files):
10:52 dalek parrot: fixed build on windows, fixed wrong code
10:52 dalek parrot: review: https://github.com/parrot/parrot/commit/4a7d8c91cc
10:57 JimmyZ kjs: looks like m1 will be between C and C++, that's, it's C+ ;)
10:58 kjs JimmyZ: :-) It wont have pointers I think. Not unless M0 starts supporting indirect addressing.
10:58 kjs so in that sense it's a bit like Java.
10:59 JimmyZ kjs: Is there any advanced if M0 supports indirect addressing?
10:59 kjs don't know. the advantage would enabling pointers, which as it stands, is impossible I think
11:00 kjs well, to do it efficiently anyway
11:00 kjs not sure if we need them. References will do I suppose.
11:01 JimmyZ kjs: indirect addressing makes M1 code more efficient or people coding in M1 more efficiently?
11:02 kjs JimmyZ: don't know. not necessarily.
11:02 kjs it prevents a whole lot of bugs anyway, not having pointers .
11:02 JimmyZ But I think I'd like to have pointers
11:03 kjs why? :-)
11:03 JimmyZ rakudo may want it
11:03 kjs Not sure if they're needed. We'll see I suppose
11:04 kjs I hope to have parameters implemented by the end of the week. by then M1 will be close to finishing (though much is needed to fix up the holes)
11:05 JimmyZ kjs: I'd like to have macro too :P
11:05 kjs ugh!
11:05 JimmyZ macro support will be a big project
11:06 * JimmyZ thinks
11:06 kjs I don't want macros
11:06 JimmyZ or inline function
11:06 kjs ugh!
11:06 kjs :-)
11:06 JimmyZ hehe
11:07 kjs well, I'll let someone else do M1++.
11:07 kjs :-)
11:07 JimmyZ anyway, I don't like features unless it's a blocker
11:08 JimmyZ *like to add
11:08 kjs JimmyZ: there's been quite some discussion on what M1/Mole should look like, about a year ago. The IRC logs are still there.
11:09 JimmyZ kjs: https://github.com/parrot/mole this one?
11:09 kjs well that too I suppose. I meant the IRC logs at...
11:10 kjs http://irclog.perlgeek.de/parrot/
11:25 not_gerd joined #parrot
11:26 not_gerd hello JimmyZ, kjs
11:26 kjs hi not_gerd
11:26 JimmyZ hello not_gerd
11:26 not_gerd re pointers in m1 - they are probably necessary
11:26 not_gerd the gc and 6model are supposed to be implemented in m1, and they need to be efficient
11:27 JimmyZ not_gerd: I'm expecting your new M0!
11:27 not_gerd JimmyZ: well, I did a lot of bikeshedding, but I'm reasonably happy with how the code looks now
11:27 not_gerd so I might get around to actually implementing stuff ;)
11:27 kjs not_gerd: at the moment, you cant take the address of a variable, or look into whatever an address points to. So no & and * operators as in C.
11:27 kjs as a result, what you end up with is references
11:28 JimmyZ not_gerd: great
11:28 JimmyZ not_gerd++
11:28 not_gerd kjs: we only need to implement pointers to allocated objects, not variables (assuming these are implemented as registers)
11:29 not_gerd a jit may map m0 registers to hardware registers, so no direct pointers
11:29 kjs that assumption is correct.
11:29 JimmyZ not_gerd: Could you give us a vision about the new M0?
11:30 kjs not_gerd: at the moment, you can allocate blobs of memories (structs, arrays) and store the address. But the operations that you can do with that address defines the difference between a "pointer" and a "reference".
11:32 not_gerd I believe ops for pointer arithmetics need to be added to the instruction set
11:32 not_gerd a minimal implementation would be convert_i_p/convert_p_i
11:32 kjs not_gerd: yes, I think so too. But not sure if they're actually /needed/.
11:33 kjs they are only needed for implementing * and & operators.
11:33 kjs and I'm not sure what effect that has on the JIT-ability.
11:33 not_gerd JimmyZ: my vision for my M0 implementation: fix the stuff I mentioned in the pull request, implement direct bytecode access via memory mapping, fix any other stuff that I consider broken as it comes up ;)
11:35 kjs afk #lunch
11:35 not_gerd also, I think we do need typed registers, ie each callframe allocation should be accompanied by metadata which provides a mapping from typed registers to m0 register index
11:36 not_gerd the fixed mapping in the spec is not a good idea, imo
11:37 JimmyZ hmm, https://github.com/parrot/parro​t/blob/m0/src/m0/c/ROADMAP#L23 mentioned  mapping  too :
11:38 not_gerd yes, that was a design goal of m0b from the start
11:39 JimmyZ typed registers? that's what I wanted too.
11:40 JimmyZ I had a branch for it
11:40 not_gerd the C interpreter will have untyped registers, but store the metadata about the register types which a potential JIT compiler could use to map m0 registers to hardware registers
11:41 JimmyZ ok
11:41 JimmyZ wfm :P
11:41 not_gerd this wastes a bit of space (ie if you have 64-bit integers and 32-bit pointers), but it's a reasonable tradeoff to avoid complexity
11:42 JimmyZ yeah.
11:42 * JimmyZ hates complexity
11:45 JimmyZ not_gerd:  how do think thread in m0?
11:45 JimmyZ or in m1?
11:46 JimmyZ *think about
11:47 not_gerd we should probably keep close to what nine has been doing
11:48 not_gerd m0 probably won't care about threads, same as it doesn't care about gc or 6model
11:49 not_gerd this means we'll likely end up with one m0 interpreter per thread
11:49 * not_gerd needs to look after lunch
11:49 * JimmyZ dinner too
12:02 whiteknight joined #parrot
12:04 brrt joined #parrot
12:14 whiteknight joined #parrot
12:15 whiteknight good morning, #parrot
12:16 brrt good afternoon :-)
12:26 kjs joined #parrot
12:28 whiteknight hello brrt. How are you doing today?
12:29 brrt well, good enough :-) how are you?
12:29 whiteknight doing well.
12:29 brrt I'm at the point of implenting one or the other huge hack
12:30 whiteknight what problem are you trying to solve, and what are the hacks?
12:30 brrt the problem is that I need to load the 'loader' parrot programs
12:31 brrt currently, mod_parrot.pbc
12:31 brrt the problem is... from where
12:31 whiteknight heh
12:31 lucian joined #parrot
12:31 brrt the most obvious solution is that all loaders are installed alongside the module
12:31 moritz from disc? :-)
12:31 brrt from disc is prefered, in fact :-)
12:32 brrt so if I install mod_parrot.so in /usr/lib/httpd/modules/, if install mod_parrot.pbc in the same location
12:32 brrt there is nothing really so hard about that
12:32 moritz (or anywhere into the module search path, wherever that is)
12:33 brrt ah, good point
12:33 brrt at runtime I can get this directory by using ap_server_root_relative() or something,
12:33 brrt ServerRoot in this case would be /usr/lib/httpd/ I believe? anyway, appending /modules would end up doing the 'right thing'
12:34 brrt but that conflicts with my test setup
12:34 whiteknight Well, you can change the test setup or use an environment variable
12:35 brrt because then I must copy mod_parrot.pbc to the /usr/lib/httpd/modules *every time* I test it
12:35 brrt ... that is an option, yes
12:35 brrt best case scenario, is that I would find the directory from which the modules are loaded
12:36 brrt (the changing the test setup part, that is in fact optional)
12:36 brrt the other way to solve it would be to store mod_parrot.pbc (and associated loaders) in the 'natural' search path of the parrot interpreter
12:36 brrt but that is hackish because it 'splits' the module apart
12:39 whiteknight oi
12:39 brrt .. possibly the best way to fix it is to change my test setup and assume a 'hardcoded' module dir relative to the server root
12:40 brrt anyway, i will blog about this, because it is a inelegant hack either way and the community should know about those
12:40 moritz if you need to twist your setup to fit the program's needs, it's a bad sign
12:41 moritz falling back to an environment variable would be much nicer for testing
12:41 brrt my point exactly
12:41 whiteknight maybe somebody will be able to suggest something nicer
12:41 moritz so if that environment variable is set, search there, otherwise in $server_root/modules/
12:45 not_gerd msg cotto please let me know if https://raw.github.com/gerdr/m0/HEAD/README seems reasonable
12:45 aloha OK. I'll deliver the message.
12:49 not_gerd bye, #parrot
12:49 not_gerd left #parrot
12:51 brrt there is an even better option
12:51 brrt i can set a apache configuration option
12:51 brrt ParrotLoaderPath or something
12:52 moritz that sounds very good and non-hacky
12:52 bluescreen joined #parrot
12:52 brrt it does
12:52 moritz I hope it's not too much effort
12:53 brrt a little more than an enviroment variable, but managable non the less
12:53 PacoAir joined #parrot
13:08 Psyche^ joined #parrot
13:44 mtk joined #parrot
13:50 jashwanth joined #parrot
13:59 kjs joined #parrot
14:09 JimmyZ joined #parrot
14:16 jashwanth joined #parrot
14:25 jashwanth joined #parrot
14:40 crab2313 joined #parrot
14:43 jashwanth joined #parrot
14:45 crab2313 joined #parrot
15:12 dduncan joined #parrot
15:12 dduncan left #parrot
15:37 dmalcolm joined #parrot
15:46 brrt joined #parrot
15:54 isBEKaml joined #parrot
15:55 isBEKaml ~.~, #parrot!
15:57 isBEKaml JimmyZ++ # #772 finally merged! \o/ though the win32 thing was a bummer - that's what I get if I code and forget at 4am without a windows box. :D
15:57 whiteknight :)
16:07 dngor joined #parrot
16:09 isBEKaml Did anyone with a 32 bit machine find the same issues I reported here last week? Or is it just me?
16:09 isBEKaml erm, issues with clang auto::va_ptr.
16:36 benabik joined #parrot
16:37 whiteknight I probably haven't tested on a 32-bit machine since then
16:43 davidfetter joined #parrot
16:49 not_gerd joined #parrot
17:28 crab2313_ joined #parrot
17:30 contingencyplan joined #parrot
18:28 ilbot2 joined #parrot
18:28 Topic for #parrot is now Parrot 4.4.0 "Banana Fanna Fo Ferret" | http://parrot.org | Log: http://irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
18:34 alvis left #parrot
18:43 lucian joined #parrot
18:43 alvis joined #parrot
18:56 dngor joined #parrot
18:59 not_gerd left #parrot
19:16 benabik ~~
19:16 moritz \o benabik
19:17 benabik o/ moritz
19:17 moritz how is gsoc coming along?
19:17 dalek website: benabik++ | PACT: Infrastructure
19:17 dalek website: http://www.parrot.org/content/pact-infrastructure
19:17 benabik Heh.  dalek++ # timing
19:17 benabik Pretty well.  My planning for last week was thrown off by my mother-in-law showing up, which required some sorting out of the guest/baby room.
19:18 benabik Starting to get into the nitty gritty now though, so progress should be more impressive.
19:21 dalek m1: 16126de | kjs++ | src/ (4 files):
19:21 dalek m1: Add profiling flags to makefile. Enter parameters in chunk's symbol table.
19:21 dalek m1: review: https://github.com/parrot/m1/commit/16126dea3e
19:21 dalek m1: 07692dd | kjs++ | Makefile:
19:21 dalek m1: add flags for profiling to makefile
19:21 dalek m1: review: https://github.com/parrot/m1/commit/07692dd0f2
19:27 cotto hio benabik
19:28 benabik o/ cotto
19:30 dalek m1: 1536c12 | kjs++ | / (3 files):
19:30 dalek m1: add a test for params and fix it.
19:30 dalek m1: review: https://github.com/parrot/m1/commit/1536c12ef9
19:30 cotto It's good to see that you've been busy
19:30 cotto also, #ps in -1
19:31 whiteknight blah, #parrotsketch!
19:33 cotto msg not_gerd After a quick read, I like where you're going.  It's great to have multiple people poking holes in M0 and trying to get implementations going.
19:33 aloha OK. I'll deliver the message.
19:35 whiteknight ...are we having a #ps meeting now?
19:35 cotto yup
19:35 whiteknight oh blah, I misspelled the channel name
19:36 crab2313_ joined #parrot
19:55 kjs joined #parrot
20:11 lucian joined #parrot
20:15 kid51 joined #parrot
20:19 * kid51 checked into dorm at UWM for YAPC ... and next-in-line was pmichaud :-)
20:20 * Coke is jealous that work interfered with his plans for YAPC this year.
20:29 dduncan joined #parrot
20:43 dduncan left #parrot
20:59 davidfetter UWM is about an hour east of madison :P
20:59 davidfetter <-- UWM alumnus
21:04 dalek m1: e7ca993 | kjs++ | / (6 files):
21:04 dalek m1: First go at parameters. Seems to work.
21:04 dalek m1: review: https://github.com/parrot/m1/commit/e7ca99388b
21:06 dalek m1: bff4dca | kjs++ | t/param.m1:
21:06 dalek m1: fix parameter test.
21:06 dalek m1: review: https://github.com/parrot/m1/commit/bff4dca15a
21:14 dalek m1: 8d4e4bc | kjs++ | src/gencode.c:
21:14 dalek m1: remove magic number. only int params work.
21:14 dalek m1: review: https://github.com/parrot/m1/commit/8d4e4bc670
21:15 kurahaupo joined #parrot
21:17 * kid51 tests master in anticipation of merging several branches
21:19 kid51 damn, we have a test failing in master
21:19 kid51 ... as well as codingstd failures
21:22 nopaste "kid51" at 70.85.31.226 pasted "t/run/options.t: causes make test to fail" (55 lines) at http://nopaste.snit.ch/143928
21:23 kid51 Test 27 in t/run/options.t failing (linux/i386)
21:23 kid51 I've never seen a failure in this file before.
21:23 kid51 Anybody know anything about it?
21:24 dalek m1: e8d581d | kjs++ | src/gencode.c:
21:24 dalek m1: fix some stuff for types of parameters. not working yet.
21:24 dalek m1: review: https://github.com/parrot/m1/commit/e8d581da6f
21:27 dalek m1: 7a2a975 | kjs++ | docs/TODO.txt:
21:27 dalek m1: that's worth in the list of achievements. update todo with working int params.
21:27 dalek m1: review: https://github.com/parrot/m1/commit/7a2a975dd5
21:30 kurahaupo left #parrot
21:30 nbrown joined #parrot
21:36 dalek parrot: f2c651f | jkeenan++ | lib/Parrot/Pmc2c/PMC.pm:
21:36 dalek parrot: For clarity, distinguish between the emitter for .c files and that for .h
21:36 dalek parrot: files.
21:36 dalek parrot: review: https://github.com/parrot/parrot/commit/f2c651f3f1
21:36 dalek parrot: 6aa8b68 | jkeenan++ | lib/Parrot/Pmc2c/Emitter.pm:
21:36 dalek parrot: Correct spelling error.
21:36 dalek parrot: review: https://github.com/parrot/parrot/commit/6aa8b68740
21:36 dalek parrot: 944e742 | jkeenan++ | / (2 files):
21:36 dalek parrot: Merge branch 'master' of git@github.com:parrot/parrot
21:36 dalek parrot: review: https://github.com/parrot/parrot/commit/944e742cf3
21:36 dalek parrot: eae31fe | jkeenan++ | / (3 files):
21:36 dalek parrot: Merge branch 'master' of git@github.com:parrot/parrot
21:36 dalek parrot: review: https://github.com/parrot/parrot/commit/eae31fee5b
21:36 dalek parrot: fa13983 | jkeenan++ | config/auto/icu.pm:
21:37 dalek parrot: Merge branch 'master' of git@github.com:parrot/parrot
21:37 dalek parrot: review: https://github.com/parrot/parrot/commit/fa139832c4
21:37 dalek parrot: dd024c5 | jkeenan++ | / (9 files):
21:37 dalek parrot: Merge branch 'master' of git@github.com:parrot/parrot
21:37 dalek parrot: review: https://github.com/parrot/parrot/commit/dd024c5259
21:37 dalek parrot: 22e79b8 | jkeenan++ | src/platform/ (2 files):
21:37 dalek parrot: [codingstd] Fix POD syntax in similar location in two files.
21:37 dalek parrot: review: https://github.com/parrot/parrot/commit/22e79b81d3
21:37 dalek parrot: aefede4 | jkeenan++ | / (3 files):
21:37 dalek parrot: [codingstd] No trailing whitespace\!
21:37 dalek parrot: review: https://github.com/parrot/parrot/commit/aefede4e1f
21:37 dalek parrot: 4c74eb8 | jkeenan++ | src/platform/generic/misc.c:
21:37 dalek parrot: [codingstd] Fix incorrect indentation of preprocessor directive.
21:37 dalek parrot: review: https://github.com/parrot/parrot/commit/4c74eb88dc
21:37 dalek parrot: 82dcd8d | jkeenan++ | src/interp/api.c:
21:37 dalek parrot: [codingstd] Fix non-2 space outdenting.
21:37 dalek parrot: review: https://github.com/parrot/parrot/commit/82dcd8dd1d
21:39 kid51 rurban: ping
21:46 ttbot Parrot eae31fee i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/89765
22:22 dngor joined #parrot
22:39 whiteknight joined #parrot
22:42 whiteknight good evening, #parrot
22:44 sorear good evening, whiteknight
22:45 whiteknight hello sorear
23:35 alvis joined #parrot

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced