www.parrotcode.org/ | Last release: 0.7.1 "Manu Aloha"
Set by moderator on 17 September 2008.
00:09 AndyA joined 01:05 silug joined 01:17 chromatic joined 01:36 Ontolog joined 02:31 Ontolog_ joined 02:43 gryphon joined
chromatic pmichaud, did you send a note about your lexical proposal to the list? 02:51
03:08 adu joined
adu hi 03:08
03:34 grim_fandango joined
Tene Okay, time to look into next/last/redo. 03:44
adu hi Tene 03:47
Tene hi adu
What's up?
purl The Canadian Dollar
03:47 chromatic_ joined
adu Tene: I'm revisiting parrot 03:47
Tene: I looked at it about a year ago and it was hard to make (and use) but I hear that's changed... 03:48
Tene A lot has changed in the past year.
I don't know much about what's change din the build process, though.
adu I'm designing a dynamic functional language, and I don't want to write a VM... 03:49
Tene Parrot is a pretty good platform for that.
adu :)
Tene I'm glad to answer any questions I can for you.
03:50 Theory joined
adu are there any pdf manuals? or just the .pod's? 03:50
Tene Just the .pods, but there's a .pod->pdf convertor somewhere, I think. 03:51
adu hmm
Tene search.cpan.org/~ajfry/Pod-Pdf-1.2/Pdf.pm 03:52
04:15 adu joined
adu hmm 04:15
I got a couple warnings
Parrot_dlsym generates 3 warnings about deprecated macosx functions 04:17
Tene should be okay.
adu well, at least it didn't say they were undefined :)
hmm 04:18
still got the "make install" warning... that much I remember 04:19
so I guess it hasn't changed too much
Tene I've never tried 'make install'
with parrot.
adu how else am I supposed to run "parrot example.pir"? 04:20
Tene run it from the current directory.
./parrot example.pir
adu "../../../../../src/parrot/parrot example.pir"
thats rediculous 04:21
Tene I personally set an alias: p=/home/sweeks/src/parrot/parrot
chromatic_ Make a shell alias then.
adu what's miniparrot? 04:22
purl i heard miniparrot was not working yet, is it?
chromatic_ It's mostly just normal Parrot... sort of a vestigial stage that one day may be bootstrappable. 04:24
adu I already have an alias p='ps auxww' 04:25
Tene adu: so set alias parrot=/whatever/path/parrot/parrot
adu sorry
don't mind me, i'm just complaining 04:26
Tene I don't mind. :)
I complain in here all the time.
adu lol
uh oh 04:45
Tene Hm?
adu pheme failed 1 test, but the bottom says
"All tests successful."
chromatic_ It shouldn't fail anything, but it does currently give a PGE parse error that doesn't affect the tests. 04:47
I think I need to create an operator precedence level for the quoting operator.
adu perl.pastebin.us/1800
chromatic_ Yeah, that looks like what I see. 04:48
It's more a warning than anything else.
adu then why does it say "error"... shouldn't it say "warning"?
chromatic_ Because it generates invalid PIR code that happens to work anyway. 04:49
Tene allison didn't show up for #ps, it looks like. I guess she's too busy for parrot lately. 04:50
chromatic_ She's been traveling, I think.
04:50 tetragon joined
chromatic_ If I recall correctly, she was supposed to be in Portland sometime. 04:51
Tene Ah, right.
chromatic_ Ahh, there's tetragon. 04:53
tetragon ?
adu tetragon: why not a square?
chromatic_ I'm looking for more segfaults to fix.
Tene Oh, I think I saw one recently. Lemme check. 04:54
tetragon adu: Goes back to a hostname scheme I had years ago that I screwed up on the first computer
adu: I entered "icosagon" instead of "icosahedron"
chromatic_ Could have been worse. Could have been icosaigon. 04:55
adu lol
so how hard would it be to mix languages in the middle of a function? 04:56
chromatic_ Depends on the language.
tetragon chromatic_: An easy way I can generate too many segfaults is to make use of jit
chromatic_ Darwin PPC? 04:57
tetragon And in other news, I have yet another laptop with screen issues...
chromatic_: Darwin i386
chromatic_ Interesting. I thought we had JIT working on Darwin and x86. 04:58
tetragon chromatic_: I still haven't obtained a replacement PPC. New glasses took higher priority
JIT worked on PPC Darwin but not i386 Darwin
(As of my last check)
adu like parrot.pastebin.us/1801 04:59
chromatic_ adu, the top-level language has to understand quoting constructs, but in theory PCT should allow that. 05:00
It all gets translated down to PAST and PBC eventually anyway.
adu chromatic_: ok
chromatic_: I'm on darwin PPC 05:01
chromatic_ adu, can you type 'make testj' and nopaste the results 05:02
?
adu and I know PPC asm if you guys need help
chromatic_ If my intuition is correct, we just need to change some function signatures for tetragon and Darwin/x86. 05:03
Tene chromatic++ # --runcore=gcdebug 05:04
tetragon chromatic_: I haven't done a recent JIT build, but I still have my crash reports from last time. The typical frame at the top was misaligned_stack_error
(And this was a 32-bit build) 05:05
dalek r31377 | tene++ | exceptionmagic:
: [exceptionhandler]
: * Set a custom mark for ExceptionHandler
diff: www.parrotvm.org/svn/parrot/revision?rev=31377
tewk OSX wants 16 byte aligned stacks 05:06
at calls, If I remember right.
tetragon developer.apple.com/documentation/D.../IA32.html 05:07
adu tewk: they must be getting ready for 128-bit computing :P 05:08
tewk It allows use of SSE for floating point.
tetragon adu: I already have to deal with 128-bits, and PPC has Altivec 05:09
05:09 chromatic joined
chromatic I wonder if it's a stack error, or if we're generating the wrong number of arguments to calls. 05:10
Exception handlers have changed.
adu tetragon: what do you mean "deal with"?
tetragon You saw the link to the ABI function call guide?
chromatic Althought you should be using the x86 JIT, which works on Linux.
tetragon adu: Some of the graphics APIs on OS X are pretty wide in what they operate on, and you can define your own operations over them 05:12
chromatic tetragon, are the backtraces in your tickets?
adu tetragon: are you talking about like IOKit or CoreGraphics? 05:13
tetragon chromatic: I can't remember off-hand if I got a ticket in, make test was causing a plethora of stack traces to fill up the entire screen, multiple layers thick
adu: I use CoreImage
chromatic Okay. I see some non-JIT tickets. 05:14
nopaste "tetragon" at 216.126.67.44 pasted "An old JIT stack trace for i386 OS X" (144 lines) at nopaste.snit.ch/14157 05:16
adu i just started a dev job, so I'm not doing fancy stuff like that...
although I have noticed something interesting 05:17
I think I'm better with invisible stuff than with visible stuff 05:18
chromatic tetragon, sadly the line numbers don't match up with the current code.
adu like most of my tickets have been about fixing parsers, and priority queues and stuff, you know easy stuff
tetragon I've got a new build cooking
adu but then I got something about adding a GUI option
it was so hard 05:19
05:20 gryphon_ joined
tetragon chromatic: I now have a current trace, I'll just take a moment to determine the associated test case 05:22
adu i think make testj is taking awhile
chromatic Thanks!
If you can narrow it down to a PIR file, even better.
adu chromatic: it? my slowness or tetragon's trace? 05:25
t/compilers/pge/pge_examples is slow
tetragon adu: I killed testj after I started getting the errors, but I'm trying to trace down the file
chromatic adu, tetragon's trace and one of the PIR files causing it. 05:26
nopaste "tetragon" at 216.126.67.44 pasted "A current i386 OS X stack trace" (149 lines) at nopaste.snit.ch/14158
tetragon This came from t/op/calling.t at the lastest 05:27
chromatic Any idea which test within the file? 05:28
tetragon I had two traces 05:29
It just so happens that the one I've identified the test for is the other trace.
adu t/compilers/pge/pge_examples is still slow
nopaste "tetragon" at 216.126.67.44 pasted "Segfault on t/op/calling_12.pir" (144 lines) at nopaste.snit.ch/14159 05:30
chromatic Hm. Any idea which op crashes? 05:32
tetragon Not at this point 05:33
adu i'm tired 05:34
chromatic You should be able to sprinkle say ops within t/op/calling_12.pir and binary chop it to a location.
tetragon Actually, the uint_to_str was a bit of a hint for this case 05:35
If I convert the numeric 42 to "42", it works
(line 7 of calling_12.pir) 05:36
chromatic The problem's somewhere around line 14 then?
the int to string conversion on the array access?
tetragon For this segfault 05:37
chromatic Can you put "say 'before'" and "say 'after'" around that line and run it with ./parrot -j to confirm? 05:38
tetragon Crashes before 'after' is output 05:39
It doesn't crash if I hand it a constant 42
chromatic Something in the set opcode then perhaps. 05:40
... but it's not a JITted op. Hm. 05:41
nopaste "cotto" at 96.26.202.243 pasted "patch to add -Werror=declaration-after-statement to build" (13 lines) at nopaste.snit.ch/14160 05:43
cotto_home can someone with gcc >=4.2.3 apply, make realclean and see if it builds? 05:44
chromatic Hm, it must be JITted.
It's Parrot_set_s_p_kic.
tetragon The first current stack trace I pasted is for test 52 of t/op/calling.t 05:49
chromatic That's weird, because if it's an alignment problem, I expect the previous call to fail. 05:52
The args get passed through.
tetragon #2 0x0057063f in uint_to_str (interp=0x1120f0, tc=0xbffff5fc "[?]", num=42, base=10 '\\n', minus=0) at src/string.c:3074 05:58
(Looking in a coredump)
chromatic interp and tc look wrong. 05:59
What are they at #3?
tetragon #3 0x00570763 in int_to_str (interp=0x1120f0, tc=0xbffff5fc "[?]", num=42, base=10 '\\n') at src/string.c:3114
chromatic How about #7? 06:00
purl rumour has it #7 is the joke that's still funny or Ow
tetragon #7 0x01012320 in ?? ()
chromatic The JIT pointer... okay, #8?
tetragon #8 0x005ea5cd in runops_jit (interp=0x1120f0, pc=0x133d20) at src/interpreter.c:706
chromatic 0x1120f0 is a valid pointer for Darwin x86? 06:01
tetragon It's invalid for 64-bit, but this is a 32-bit build 06:02
chromatic Mine's: 06:03
#0 uint_to_str (interp=0x804f040, tc=0xbfdb2f50 "", num=42, base=10 '\\n',
minus=0) at src/string.c:306
06:09 clunker3 joined
tetragon I took a quick look at vmmap of another 32-bit process. It looks like 0x1120f0 is in a valid range 06:21
chromatic tetragon, can you change src/jit/i386/jit_emit.h:3304 to define JUMP_ALIGN to 1?
06:23 tewk_ joined
tetragon chromatic: Still crashes 06:25
06:25 uniejo joined
chromatic You probably have to change it in src/jit_emit.h as well; I don't remember if the arch-specific file gets copied into src/ when it changes. 06:26
tetragon It was 06:27
chromatic No luck with that one at all then. Hm. 06:28
tetragon Need sleep. 02:40 here 06:39
chromatic Yeah, I'm not figuring it out.
I'll have to borrow a laptop somewhere.
Thanks for reporting it.
My only other guess is setting JUMP_ALIGN to 5. 06:40
Ontolog I'm going through the PCT tutorial. I have an error: PAST::Compiler can't compile node of type Monkey::Grammar 06:47
Is there any way to get parrot to tell me why it can't compile the node?
I get a correct parse 06:51
but generating a 'post' i get the error
my problem seems to be with make PAST::Val.new( :value( ~$/ ), :returns('Integer'), :node($/) ); 07:00
07:03 rafl joined 07:22 iblechbot joined 07:30 johbar joined 07:46 Zaba joined 08:08 barney joined 08:16 TiMBuS joined
dalek r31378 | kjs++ | trunk: 08:51
: [pirc/new] use hashtables for constants, global labels, symbols. (instead of linked lists)
: + refactoring, cleanup, documentation
diff: www.parrotvm.org/svn/parrot/revision?rev=31378
09:10 Whiteknight joined 09:12 kj joined 09:24 cosimo joined 10:26 bacek joined 10:31 Zaba joined 10:40 bacek joined 10:57 Whiteknight joined 11:03 bacek joined 11:09 iblechbot joined 11:30 bacek joined 11:50 pjcj joined 12:26 tetragon joined 12:35 donaldh joined 12:37 dmknopp joined, Zaba joined 12:47 donaldh joined 12:48 donaldh joined 12:53 contingencyplan joined
dalek r31379 | pmichaud++ | trunk: 13:18
: [rakudo]: spectest-progress.csv update: 177 files, 3779 passing tests
diff: www.parrotvm.org/svn/parrot/revision?rev=31379
13:22 Lorn joined 14:00 gryphon_ joined 14:02 gryphon joined 14:13 jhorwitz joined
spinclad purl: by the way, i found some quotes in my #parrot logs from you on 'every day christmas', do you object if i pass them on? 14:24
purl i haven't a clue, spinclad
spinclad though maybe not. thanks, purl
s/though/thought/
14:33 jan_ joined 14:41 gaz joined 14:49 Zaba joined
dalek r31380 | Whiteknight++ | trunk: 14:53
: [Book] Update chapter 3 heading numbering. Pages will start with a level 1 heading (not level 0).
diff: www.parrotvm.org/svn/parrot/revision?rev=31380
14:57 cjfields joined
dalek r31381 | julianalbo++ | trunk: 15:04
: more patches for RT#56468 bacek++
diff: www.parrotvm.org/svn/parrot/revision?rev=31381
15:15 apple-gunkies joined 15:16 davidfetter joined 15:24 hercynium joined 15:41 cotto_w0rk joined 15:42 pjcj joined 15:54 Theory joined 15:56 sjansen joined
dalek r31382 | Whiteknight++ | trunk: 16:01
: [Book] Expand chapter 4 with information about coroutines, multisubs, and lexical subs. Most new sections are just stubs.
diff: www.parrotvm.org/svn/parrot/revision?rev=31382
r31383 | Whiteknight++ | trunk: 16:35
: [Book] Adding pseudopod cheat sheet and VIM suffix to all book files.
diff: www.parrotvm.org/svn/parrot/revision?rev=31383
cotto_w0rk heh. pseudopod 16:36
16:36 sjansen joined
cotto_work I don't think that word means what you think it means. 16:37
NotFound Pseudo ipod?
cotto_work pseudiPod 16:39
cognominal NYT : John McCain decries greed on Wall Street and suggests a commission be formed to look into the problem. This is like Casanova coming out for chastity 16:49
16:51 chromatic joined 17:13 masak joined 17:17 slightlyoff joined, slightlyoff left 17:26 ruoso joined 17:35 davidfetter joined 17:38 slightlyoff joined, slightlyoff left
dalek r31384 | Whiteknight++ | trunk: 17:43
: [Book] more information about multisubs
diff: www.parrotvm.org/svn/parrot/revision?rev=31384
cotto_work easy karma if someone wants to make the commit for #50908 17:47
see the last message 17:48
17:51 slightlyoff joined
NotFound cotto_work: -Werror options are dangerous, IMO 17:52
17:56 Zaba joined
cotto_work why so? 18:02
NotFound cotto_work: they can make fail test, without giving any clear message about why. 18:03
davidfetter TEST FAIL :( 18:04
cotto_work you mean a build?
NotFound Test about availability of functions or libraries during Configure, I mean.
cotto_work From my understanding, they just turn warnings into build-stopping errors
NotFound cotto_work: yes, but is very usual that tests for availability have lots of warnings. 18:05
cotto_work I'll wait for a +1 from someone on the fix, then, although coke and chromatic seemed to think it was a good idea. 18:09
At any rate, it Works For Me (tm).
NotFound Is not a bad idea, but we must take into account the secondary effects.
We just need to be carefull in Configure probes. 18:10
particle we need to be careful in *all* code
NotFound Maybe this a good reason to do it :) 18:11
18:11 rurban joined
particle this is how we are able to compile on icc/gcc/msvc/etc ppc/x86/x64/arm/etc 18:11
NotFound particle: yes, but probes sometimes need to do ugly things to be able to work with ugly compilers. 18:12
autotools, for example, is full of such things.
particle that's what preprocessor directives are for 18:13
18:13 Theory joined
rurban autotools would give us cross-support for free 18:13
NotFound Is almost impossible to configure with CCFLAGS=-Werror any autotools based project.
particle autotools doesn't work everywhere
rurban with autotools you set the flags in the env before 18:14
NotFound rurban: set it the way you want or the version of autotools requires, is the same. -Werror will do ugly things.
rurban Now I understand what you mean. Probes will fail. 18:16
particle btw it's possible for us to override ccflags on specific files, so we can make exceptions to the rule 18:17
it's worth sending to the smokers, i suspect
NotFound We can just try and see what happens, just need to have an eye on all reports for a while. 18:18
18:18 Ivatar joined
particle i hope you look at the smolder failing test feed 18:18
(like i do) 18:19
NotFound I must confess that not, must install some feed reader.
cotto_work smolder? 18:20
purl smolder is sourceforge.net/projects/smolder or web-based smoke test aggregator used by developers and testers to upload (automated or manually) and view smoke/regression tests using the Test Anything Protocol (TAP).
cotto_work smolder feed?
18:20 Zaba_ joined
dalek r31385 | Whiteknight++ | trunk: 18:23
: [Book] Add some basic info about VTables and HLL namespaces.
diff: www.parrotvm.org/svn/parrot/revision?rev=31385
cotto_work smolder is also smolder.plusthree.com/app/public_pr..._reports/8 18:25
purl okay, cotto_work.
particle beat me to it
i look at 8/failed, though
dalek r31386 | julianalbo++ | trunk: 18:34
: pirric: refactor of predefined functions, NEW now uses function syntax
diff: www.parrotvm.org/svn/parrot/revision?rev=31386
cotto_work particle, so you recommend adding -Werror=declaration-after-statement to trunk and watching smolder? 18:42
particle yes, so it can be worked out before next release
cotto_work ok
NotFound +1 18:43
particle cycling &
purl 1
cotto_work thanks
enjoy the clouds
NotFound Please take care to not put it for g++, it may give a lot of warnings. 18:48
18:51 workbench joined 18:54 Theory joined
masak can Rakudo subs (written in PIR) be made to accept a variable number of arguments? 18:55
moritz it should, with :slurpy 18:57
masak for example chr(104, 101, 108, 108, 111)
moritz: oki, dz
ah! sprintf uses that trick. excellent... 18:58
Tene masak: yes 19:02
:slurpy
19:19 cjfields joined 19:20 cjfields_ joined 19:21 sjansen joined, Zaba joined 19:39 Zaba_ joined
TimToady phone 20:00
20:11 Theory joined 20:14 bacek joined 20:36 donaldh joined 20:39 Zaba joined
dalek r31387 | coke++ | trunk: 20:40
: [tcl] when reading in whole files, be sure to do backslash/newline substitution on them.
diff: www.parrotvm.org/svn/parrot/revision?rev=31387
20:44 timbunce joined
tewk_ Latest lovely code from xlib: 20:47
extern int (*XSetAfterFunction( Display* , int (*) ( Display*)))( Display*);
20:51 Donald joined 20:54 sjansen joined 20:59 donaldh joined 21:02 Zaba_ joined 21:04 gryphon joined 21:14 johbar joined
moritz seen andya 21:15
purl andya was last seen on #p5p 23 days, 8 hours, 23 minutes and 20 seconds ago, saying: Nicholas: just seen your mail to the M::B list - that's what I was about to post :) [Sep 1 12:52:15 2008]
NotFound tewk_: there are things worse than that. 21:16
21:17 Ademan joined
dalek r31388 | coke++ | trunk: 21:18
: [tcl] add a expression parsing test: without this, tcltest will fail.
diff: www.parrotvm.org/svn/parrot/revision?rev=31388
AndyA moritz: hello :) 21:33
moritz AndyA: www.perlmonks.org/?node_id=713451 21:35
in short - how can I get the number of planned tests from TAP::Parser::Aggregator? 21:36
(you are the right man to ask, right?)
AndyA Yes, that's me.
You probably can't; I'll have a look and if necessary add something :)
21:37 mwhudson joined
moritz that would be really nice 21:37
is there a workaround, like iterating over all parsers and and querying them? 21:38
21:40 coke joined
coke i have a PGE question; given the rule in languages/tcl/src/grammar/expr/expression.pg for 'expression', how I can I make that allow newlines in the whitespace? 21:41
dalek r31389 | coke++ | trunk: 21:44
: [tcl] complete hack to make this return the expected result in tcltest. (will eventually be done by storing originating NS information on the TclProc and then querying it.)
diff: www.parrotvm.org/svn/parrot/revision?rev=31389
coke so that an expression like "(!\\n0)" will work.
21:45 contingencyplan joined
AndyA moritz: r1232 adds a C<planned> method to the aggregator. I'll push a release out in the next week. That OK? 21:45
moritz AndyA: perfect. 21:46
purl La perfection est atteinte non quand il ne reste rien ļæ½ ajouter, mais quand il ne reste rien ļæ½ enlever
moritz purl, forget perfect
purl moritz: I forgot perfect
AndyA Thanks for noticing the huge gap in the API :)
moritz "huge" ;)
Coke Any parrotters in the UK? I'll be in Leeds/London this coming December.
(not all december. just briefly =) 21:47
AndyA I'm not a parroter but I'm close to Leeds - and we could probably hussle up a Leeds.pm meeting :)
Coke woot 21:48
AndyA Got dates?
Coke near Dec 4th.
Once I have firm dates, I can ping ya.
AndyA Yeah, cool - lemme know and we'll organise something. 21:49
Coke AndyA++ 21:53
moritz and AndyA++ # extending TAP::Parser::Aggregator to my wishes, fast and for free ;-) 21:58
Coke pmichaud: ping
cotto_work moritz, are you saying it's not good? ;) 22:01
moritz cotto_work: no, I quite like it... what makes you think so? 22:02
dalek r31390 | moritz++ | trunk:
: [rakudo] complete rewrite of tools/update_passing_test_data.pl, now the
: output is much more informative (but less copy&paste frindly)
diff: www.parrotvm.org/svn/parrot/revision?rev=31390
cotto_work fast, cheap, good: pick two
moritz lol
actually I haven't looked at his changes, so I don't know if it's good 22:03
bacek morning 22:07
moritz nearly bed-time here ;) 22:08
bacek moritz: I have patch for Pair.cmp 22:09
but it useless...
chromatic I have a pear for dinner.
but I'm not hungry now... 22:10
bacek rakudobug?
purl it has been said that rakudobug is mailto:rakudobug@perl.org
moritz bacek: have you seen the corresponding discussion on parrot-porters?
bacek parrotbug?
purl hmmm... parrotbug is mailto:parrotbug@parrotcode.org or svn.perl.org/parrot/trunk/docs/submissions.pod or see also "rakudobug"
bacek moritz: not yet
moritz rakudobug is rakudobug@perl.org
purl i already had it that way, moritz.
moritz blind 22:11
Coke missed it too.
cotto_work purlbug? 22:12
22:13 Theory joined
bacek moritz: #59288 22:15
You can add dependency in your Pair.cmp on this bug 22:16
parrot-porters? 22:17
purl parrot-porters is probably not one of the lists on lists.cpan.org/ or called perl6-internals if you're nasty.
bacek holy s*it... I've made exactly same ticket as Pm... 22:18
moritz bacek: looks like a duplicate of #59250
bacek moritz: indeed ;)
moritz no, parrot-porters is now superceded by parrot-dev@lists.parrot.org 22:19
purl okay, moritz.
bacek How I can mark bug as duplicate in RT? 22:21
moritz I already did
you need to click on the "Jumbo" link
(very intuitive)
bacek yak... 22:24
22:26 apeiron joined
bacek moritz: anyway, I've add Pair.patch. 22:26
afk # $self->drive( kids => $school ) 22:27
moritz msg bacek your patch is a near-duplicate of what I tried in lists.parrot.org/pipermail/parrot-d...00025.html ;-) 22:39
purl Message for bacek stored.
22:50 tetragon joined
dalek r31391 | moritz++ | trunk: 22:52
: [rakudo] added listquote.t to spectest_regression, and brought back into
: alphabetical order
diff: www.parrotvm.org/svn/parrot/revision?rev=31391
22:55 contingencyplan joined 23:04 Debolaz joined
dalek r31392 | moritz++ | trunk: 23:14
: [rakudo] added undef.t to spectest_regression.data
: (funnily it has less undef warnings than int.t)
diff: www.parrotvm.org/svn/parrot/revision?rev=31392
23:20 gryphon joined 23:30 Theory joined
chromatic moritz, where do you think the infix:<cmp> should go for Pair? 23:39
dalek r31393 | coke++ | trunk: 23:42
: [tcl] fix parsing todo (allow newlines in parenthetical expressions) - pmichaud++
diff: www.parrotvm.org/svn/parrot/revision?rev=31393
23:48 cjfields joined, ruoso joined
Whiteknight what does "VTABLE" stand for? 23:58
or, what is it an abbreviation of?
chromatic virtual function table, I believe 23:59