Parrot 2.1.1 Released! | parrot.org/ | Tasks: PCC deprecations branch, HLL subclassing and MMD branch
Set by moderator on 19 February 2010.
Whiteknight ash_: no worries. I'll try to give you all the free publicity my own blog can generate 00:00
ash_ sure, i guess, i was more thinking input from someone that knows how to do this stuff, but publicity works too 00:01
Whiteknight ash_: Tell me more about the project. Does it use Parrot at all? 00:02
or is it completely separate? 00:03
ash_ not currently
its completely seperate
i am doing an independant study with a professor on compilers
00:03 tetragon joined
ash_ so my goal over the coarse of the semester for learning purposes was to implement a toy-ish language, nqp seemed like a small enough subset of perl 6, so i thought i could work with that 00:04
Whiteknight okay, so you're implementing all your own datatypes and everything?
00:04 AndyA joined
ash_ well, i have the llvm support for some runtime features, but its a pretty bare bones vm 00:05
Whiteknight ok
ash_ you get ints, and floats really, since they represent everything else, chars are ints, bools are ints, etc.
00:05 cognominal joined
ash_ i may switch up the backend if the llvm is to much of a pain, but for now i am still just learning about how compiles work (i am reading the dragon book and Crafting A Compilers, along with a Flex & Bison: Text Processing Tools to know how to use the tools i am working with) 00:07
Whiteknight ash_: All very cool stuff
you interested in doing an GSOC project this summer? 00:08
ash_ yeah
Whiteknight We're trying to get lots of interested students
ash_ i looked into how other projects are doing some of the stuff i do, like macruby and rubinius which both implement ruby, but in two very different ways 00:11
macruby replaces the builtin vm for the llvm, but doesn't actually have the ruby objects represented as llvm objects 00:13
ie, a ruby object is an int (32 or 64 bits long, its really the pointer to the object) in the macruby vm, and it passes the int around to the built in C functions
rubinius builds the objects using llvm types, if you say to enable the llvm as its jit, as well as builds the run-time code with the llvm, so its kinda interesting, how one project only uses the llvm for a single specific part of the runtime, while the other tries to immerse itself into the llvm as much as possible 00:15
treed Except for true, false, nil and FixNums.
Those are stored as enums/literal values. 00:16
ash_ does it store string constants in the llvm code too?
treed I mean in Ruby itself. 00:17
I have no idea how macruby or rubinius handles that.
I've just investigated Ruby as part of my Cardinal work. 00:18
ash_ got ya
00:31 cosimo joined, szabgabx joined, shockwave joined, betterworld joined, Andy joined, KatrinaTheLamia joined, dalek joined, Austin joined, preflex joined, wagle joined, TonyC joined, szabgab joined, pmichaud joined, Coke joined, dngor joined, eirik joined, cotto_work joined, ttbot joined, confound joined, sri joined, bacek_at_work joined, Tene joined, ingy joined, solarion joined, rhr joined, workbench joined, cxreg joined, Infinoid joined, jjore joined, elmex joined, baest joined, frodwith joined, tewk joined, treed joined, athomaso1 joined, eiro joined
cotto_work and suddenly 00:31
00:36 bacek joined
davidfetter smell that? do you smell that? netsplits, son! nothing else in the world smells like that. 00:43
bacek cotto_work, I read Ops2c::Utils.pm... It's kinda awful... 00:47
00:55 snarkyboojum joined
cotto_work yeah 00:56
that's one of the parts that's not worth emulating
bacek indeed. 00:57
00:58 abqar joined 01:00 kid51 joined
cotto_work heads home 01:00
purl Slacker!
dalek rrot-MT19937: 1c30f4a | wilkie++ | kernel/ (2 files):
Simplifying
01:22
rrot-MT19937: dc5bf87 | wilkie++ | kernel/arch/x86_64/architecture/pci.d:
Documentation additions.
rrot-MT19937: 80f7b29 | wilkie++ | kernel/arch/x86_64/architecture/ (2 files):
Added implementation of PCI config writes.
rrot-MT19937: a8159b9 | wilkie++ | kernel/arch/x86_64/architecture/ (2 files):
Added implementation of PCI config reads.
rrot-MT19937: 8410c21 | wilkie++ | kernel/ (3 files):
Added some implementation to PCI stubs. Fixed ioIn for Cpu.
rrot-MT19937: 75b5a62 | wilkie++ | kernel/dev/pci.d:
Enumerate ALL devices.
rrot-MT19937: 53d1869 | wilkie++ | kernel/dev/pci.d:
Fixed documentation.
rrot-MT19937: 6a5c818 | wilkie++ | kernel/dev/pci.d:
Working PCI scanning.
rrot-MT19937: 7cf44f8 | wilkie++ | kernel/ (4 files):
Adding PCI device scan.
rrot-MT19937: 5513338 | wilkie++ | kernel/arch/x86_64/architecture/ (2 files):
Fixing up PCI implementation.
imitivearc: 1c30f4a | wilkie++ | kernel/ (2 files):
Simplifying
imitivearc: dc5bf87 | wilkie++ | kernel/arch/x86_64/architecture/pci.d:
Documentation additions.
imitivearc: 80f7b29 | wilkie++ | kernel/arch/x86_64/architecture/ (2 files):
Added implementation of PCI config writes.
imitivearc: a8159b9 | wilkie++ | kernel/arch/x86_64/architecture/ (2 files):
Added implementation of PCI config reads.
imitivearc: 8410c21 | wilkie++ | kernel/ (3 files):
Added some implementation to PCI stubs. Fixed ioIn for Cpu.
imitivearc: 75b5a62 | wilkie++ | kernel/dev/pci.d:
Enumerate ALL devices.
imitivearc: 53d1869 | wilkie++ | kernel/dev/pci.d:
Fixed documentation.
imitivearc: 6a5c818 | wilkie++ | kernel/dev/pci.d:
Working PCI scanning.
imitivearc: 7cf44f8 | wilkie++ | kernel/ (4 files):
Adding PCI device scan.
imitivearc: 5513338 | wilkie++ | kernel/arch/x86_64/architecture/ (2 files):
Fixing up PCI implementation.
l: 45ce665 | (Daniel Nordberg)++ | django_histograms/templatetags/histograms.py:
Context required.
l: 2bff8e0 | (Daniel Nordberg)++ | django_histograms/utils.py:
Fixes: filter() keywords must be strings.
cotto oh noes
dalek l: 776c6c8 | (Daniel Nordberg)++ | README.rst:
Updated readme.
01:24
l: 6a80bba | tzangms++ | django_histograms/utils.py:
remove print statement in utils.py, coz it cause mod_wsgi problem:
l: c93442d | tzangms++ | django_histograms/templates/histograms/report.html:
make the report histograms graph better looking.
l: 06de537 | tzangms++ | django_histograms/ (2 files):
make the graph more flexible with dynamic value.
l: 5d5e4c8 | tzangms++ | django_histograms/utils.py:
remove assertion parentheses in utils.py.
l: 8841dcf | (David Cramer)++ | django_histograms/utils.py:
fix for division by 0
l: d65af79 | (Alex Gaynor)++ | (2 files):
Remove some tabs.
l: e1050c2 | (Alex Gaynor)++ | (4 files):
more whitespace'
n: 91f65b7 | (Jeremy Kemper)++ | activesupport/ (2 files):
Ruby 1.9: fix MessageVerifier#secure_compare
n: 896475c | (Michael Koziarski)++ | activesupport/ (2 files):
Revert "Ruby 1.9: fix MessageVerifier#secure_compare"

MessageVerifier was never in 2.2
kid51 Uh-oh! dalek GOING BERSERK again! Paging Infinoid or diakopter!
n: 26306f9 | (Michael Koziarski)++ | actionpack/lib/action_controller/session/cookie_store.rb:
1.9 compatible secure_compare
n: 095cf91 | (Beau Harrington)++ | activesupport/lib/active_support/multibyte/utils.rb:
Remove redundant checks for valid character regexp in ActiveSupport::Multibyte#clean and #verify.

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
n: 76e971e | (Michael Koziarski)++ | actionpack/lib/action_controller/session/cookie_store.rb:
Dup the arguments to string compare so we can use force_encoding.
n: 8d354bc | (Jeremy Kemper)++ | activesupport/ (2 files):
Use Encoding.default_external, not _internal
n: e9a5ef4 | (Jeremy Kemper)++ | activesupport/test/multibyte_utils_test.rb:
Silence warning for Encoding.default_external=
n: 63f9426 | (Jeremy Kemper)++ | activesupport/Rakefile:
Ruby 1.9 compat: no . in load path
n: a60779f | (Jeremy Kemper)++ | activesupport/lib/active_support/core_ext/time/calculations.rb:
Ruby 1.9: fix Time#beginning_of_day inaccuracy due to subtracting a Float
fun: 785281a | (Gabe da Silveira)++ | actionpack/ (2 files):
fun: Make sure strip_tags removes tags which start with a non-printable character
mikehh dalek has lost it again
cotto he's just doing what he's told 01:26
mikehh I rekkon, but he/she/it has bin told somethin' wrong 01:27
01:28 dalek joined
mikehh back again 01:28
01:31 bacek joined
cotto ducks 01:31
01:43 ash_ joined 01:48 pootek left 01:54 Austin joined 01:58 kid51 joined 01:59 hudnix joined
Whiteknight fun is a legitimate parrot-based project 02:03
02:06 [hudnix] joined 02:08 hercynium joined
Tene Whiteknight: look at the message, though 02:11
18:25 <+dalek> fun: review:
github.com/rails/rails/commit/a6077...d6b9cac94d
'fun' isn't hosted in the 'rails' repo.
treed yeah, this was happening the other day 02:19
github keeps fucking up their feeds
infinoid was going to add some checking to make sure that the URL matches the project URL 02:20
Tene s/ their feeds// IMO
treed I haven't seen any additional fuckery.
02:21 [hudnix] joined
dalek rrot: r44577 | tene++ | branches/exceptions_refactor/src (2 files):
Work around a bug somewhere with attributes in subclasses of PMCs.
02:24
02:26 jimk joined 02:28 hudnix joined 02:29 kid51 joined 02:31 jimk joined 02:40 hudnix joined 02:46 jimk joined
cotto Would an ops2c change removing one of the magic macros require a deprecation cycle? 02:55
(the macro being HALT() in this case)
Austin Would that macro work in dynops?
cotto It's processed by ops2c into some runcore-dependent code, so yes. 02:56
Austin Then it probably requires deprecation.
cotto is tempted to nuke it anyway 02:57
Austin Heh.
I'm with you.
cotto must .... resist ...
kid51 my internet connection has been flaky all night. I've gotten booted off my primary nick 3 times tonight. 03:01
Verizon
(... as if I needed to state the obvious)
03:07 cognominal joined
kid51 observes how bad much of the C code generated by CPAN modules with XS is 03:08
Our C code throws *much* fewer warnings 03:09
cotto That'll be nicer when our C code runs as quickly as most of the XS C in CPAN. 03:14
03:26 snarkyboojum joined 03:31 dalek joined
Infinoid poor dalek. trying the link sanity checker again 03:32
(sorry about the spam once again)
03:41 janus joined 04:00 bacek joined 04:12 patspam joined 04:15 Andy joined
cotto NotFound, were you planning on committing that patch to imcc that avoided redundant consts in the PackFile const table? 04:21
04:34 patspam joined 04:38 JimmyZ joined
cotto msg NotFound Were you planning on committing that patch to imcc that avoided redundant consts in the PackFile const table? 04:39
purl Message for notfound stored.
dukeleto 'ello 04:50
cotto 'hello 04:52
dalek rrot: r44578 | cotto++ | trunk/lib/Parrot (3 files):
[ops2c] replace opsarraytype with opcode_t and remove supporting code
04:53
rrot: r44579 | cotto++ | trunk (2 files):
[ops] replace HALT() with equivalent code, remove ops2c code dealing with HALT
04:59 elmex joined 05:08 kurahaupo joined 05:25 JimmyZ_ joined
dalek rrot-data-structures: 3951a4d | (Martin Kealey)++ | t/pmc/fixedpmcqueue.t:
Improve basic tests; check overflow & underflow behaviour
05:54
rrot-data-structures: 163662d | (Martin Kealey)++ | t/pmc/fixedpmcqueue (3 files):
Improve tests (apply same tests to all versions)
rrot-data-structures: f1b7711 | (Martin Kealey)++ | (6 files):
Bugfix

   (get rid of modulus operations)
Changed Integer coercion to return .elements() Added .capacity() to return (apparent) allocated size More tests, with better descriptions More unification of the 3 different source files
06:05 bacek joined 06:29 cottoo joined
dalek rrot: r44580 | mikehh++ | trunk/lib/Parrot/Ops2c/Utils.pm:
fix codetest failure - trailing whitespace
06:32
06:42 janus joined 06:50 cognominal joined
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32457), fulltest) at r44580 - Ubuntu 9.10 amd64 (gcc with --optimize) 07:00
snarkyboojum where would I find the "standard" documentation for the parrot compiler toolkit (if such a thing exists?). I've looked in the compilers/pct directory at README.pod etc but not having much luck tracking stuff down
is it docs.parrot.org/parrot/latest/html/...s.pod.html ? :) 07:01
mikehh a good start 07:02
purl i guess a good start is the perldoc for files in compilers/PGE - but I feel my pain. documentation comes last after code, tests, and then maybe examples, it seems.
snarkyboojum sweet - will have a look. thanks 07:03
07:04 AndyA joined 07:05 uniejo joined
dalek rrot: r44581 | bacek++ | branches/rm_cflags/src/ops/core.ops:
Fix core.ops syntax.
07:05
rrot: r44582 | bacek++ | branches/rm_cflags/src/ops/core.ops:
Remove redundant 'goto NEXT'
rrot: r44583 | bacek++ | branches/rm_cflags/lib/Parrot/Op.pm:
Remove Parrot::Op.full_body. 'auto' vs 'non-auto' ops separated by op pragma and handled in OpsFile
07:18 fperrad joined 07:32 cosimo joined
mikehh I have just been testing rm_cflags branch and I got a codetest failure with t/codingstd/trailing_space.t 07:47
# Trailing space or tab char found in the following files:
# /home/mhb/rm_cflags/config/gen/makefiles/root.in 1408
this is actually a tab starting the line 07:48
now I have always been extra careful working with files that generate make files as AFAIK make requires tabs 07:49
but looking at the root.in there are a lot of places where tabs are not present, where they should be 07:50
let me check the makefile 07:51
ok the makefile has the requisite tabs 07:53
looking at the generating file root.in I think it needs some serious tidying up 07:55
08:14 iblechbot joined 08:25 eternaleye joined
dalek rrot: r44584 | mikehh++ | branches/rm_cflags/config/gen/makefiles/root.in:
fix codetest failure - trailing spaces/tab
08:26
08:35 Myhrlin joined 08:40 cosimo joined 08:49 cosimo joined 08:52 bacek joined 09:14 snarkyboojum joined 09:29 AndyA joined 09:33 clinton joined
bacek seen moritz 10:16
purl moritz was last seen on #dbix-class 1 days, 1 hours, 2 minutes and 1 seconds ago, saying: Caelum: poor thing [Mar 1 09:14:39 2010]
10:22 riffraff joined 10:32 lucian joined 10:58 snarkyboojum joined 11:03 barney joined
dalek rrot: r44585 | bacek++ | branches/ops_pct/compilers/opsc/t/03-past.t:
Update test plan. Yes, I know...
11:26
rrot: r44586 | bacek++ | branches/ops_pct/compilers/opsc (3 files):
Generate all Ops variants during parsing
rrot: r44587 | bacek++ | branches/ops_pct/compilers/opsc/t/05-opsfile.t:
Update test
rrot: r44588 | bacek++ | branches/ops_pct/compilers/opsc (2 files):
Assign codes to Ops during parsing.
rrot: r44589 | bacek++ | branches/ops_pct/compilers/opsc/src/Ops/Op.pm:
Remove Ops::Op.full_body stub. It's useless.
rrot: r44590 | bacek++ | branches/ops_pct/ext/nqp-rx/src/gen/settings.pm:
Update nqp settings
11:27
rrot: r44591 | bacek++ | branches/ops_pct/compilers/opsc/src/Ops/Compiler/Actions.pm:
Add stub for munching body in ops2c style.
11:34 snarkyboojum joined 11:44 Myhrlin joined 12:09 payload joined 12:11 kthakore_ joined 12:12 snarkyboojum joined 12:19 Myhrlin joined 12:22 bacek joined 12:56 bluescreen joined, bkuhn joined 13:06 whiteknight joined
whiteknight good morning, #parrot 13:12
Coke bacek_at_work: you know you changed the rm_cflags branch? 13:14
13:16 jan joined
Coke mikehh: aside from mismatched indent levels on some things, and use of tabs where spaces would do, what sort of makefile cleanups are you referring to? 13:16
13:20 gerd joined
Coke mikehh: ah, you broke the build. :| 13:24
msg bacek - what's up with the commits to rm_cflags branch? 13:29
purl Message for bacek stored.
dalek rrot: r44592 | coke++ | branches/rm_cflags/config/gen/makefiles/root.in:
Makefiles are /supposed/ to have tabs; fix the build.
13:38
Coke mikehh: my formatting thoughts for the makefile were: use tabs only where required by rules, use 4-space indent for any line-continuations. 13:46
but that can wait until rm_cflags gets merged back.
mikehh Coke: I was thinking of makinbg the indenting consistent. 14:18
Coke ok. see previous send. =-) 14:20
mikehh Coke: I get a failure in t/steps/auto/warnings-01.t (post-config) - test 17 14:23
14:24 cognominal joined
mikehh there are plenty of situations in root.in where there should be tabs but they are inserted in the configuration 14:26
Coke mikehh: no. 14:28
You're saying there should be MORE tabs?
mikehh yes
Coke if we were missing tabs, the build would break.
can you give me an example of where you think there should be a tab but isn't? 14:29
(unless it's on a rule that is almost never built...)
mikehh Coke: apologies - there are lots of tabs in config/gen/makefiles.root.in 14:35
config/gen/makefiles/root.in
purl config/gen/makefiles/root.in is what generates parrot/Makefile
14:36 particle joined
mikehh I must have not done a proper make realclean when I tested, also must have messed up searching fore tabs in root.in compared to corresponding makefile 14:38
have always iused a different editor when working with *.in files rather than kate, which is set to remove tabs and trailing spaces 14:39
whiteknight kid51: ping 14:51
Coke mikehh: yes. there are supposed to be lots of tabs in root.in. =-) 14:53
mikehh Coke: I am not even sure how the file got into the test anyway - something mnust have been very odd - codetest passes now, even with the tabs
must 14:54
14:55 snarkyboojum joined
mikehh obviously not thinking straight at the time, and my system must have been doing something odd, had some sleep since then 14:57
14:58 aninhumer joined 14:59 aninhumer left
NotFound cotto: ping 15:04
15:09 PacoLinux joined
Coke mikehh: =-) 15:11
Coke encourages other parrot folks to fill out trac.parrot.org/parrot/wiki/ParrotFaces 15:22
trac-- # keeps losing my creds when i try to edit a (*&#$ page. 15:27
mikehh rm_cflags branch: 15:28
post-config FAIL - t/steps/auto/warnings-01.t - Failed test: 17
all other tests PASS (pre-config, make corevm/make coretest, smoke (#32464), fulltest at r44592 - Ubuntu 9.10 amd64 (g++ with --optimize)
Coke trac rant: reports with grouped results should have a way to pick one of the values to report on.
mikehh: that test doesn't fail for me.
what did you run to run that test? 15:29
mikehh I'll paste it
dalek tracwiki: v2 | coke++ | ParrotFaces 15:30
tracwiki: trac.parrot.org/parrot/wiki/ParrotF...ction=diff 15:31
15:31 iblechbot joined 15:34 particle joined
nopaste "mikehh" at 94.10.106.203 pasted "post-config test failure in rm_cflags branch" (35 lines) at nopaste.snit.ch/19835 15:36
15:39 theory joined 15:40 Psyche^ joined
whiteknight purl msg kid51 I'd like to work towards a fix on TT #1074. Can you take a look? I'll be happy to do the work if you can point me in the right direction. I don't really know where the flags are retrieved from Perl or where those flags are used to consruct the compiler commandline. If you can point me to those places I would be much appreciated! Thanks. 15:50
purl Message for kid51 stored.
whiteknight The problem with ticketing systems, such as Trac (but by no means limited to Trac) is that tickets can build up in there and there's no real functionality to get them dealt with in an automated way 15:51
In Trac, for instance, there is no requirement that a ticket be assigned, or that it even be properly categorized when it is created 15:52
much less properly named
(though I can't imagine how the software would detect a "good" or "bad" name)
There's also no way to associate deadlines with tickets, so once they fall off the front page there's no real way to bring them back to the forefront 15:53
Coke whiteknight: I just took 1074. 15:54
whiteknight Coke++
Coke before seeing this thread. 15:55
whiteknight Coke: like I said above, I'd gladly fix it if I knew where to look
Coke it's going to be fixed by the rm_cflags branch.
whiteknight oh, sweet
Coke mikehh: that test is invalid. 15:56
it assumes that c89 is a valid option on gcc OR g++, and it's only valid on gcc. 15:57
dalek TT #114 closed by coke++: Win32 build failure due to incorrect `make` detection
Coke er, -std=c89 15:58
so, in this branch at least, that option is ignored. (if it's not ignored in trunk with g++ that's a bug that is soon to be fixed.)
16:00 particle joined
whiteknight Coke: is there an ETA on that branch? 16:06
Coke I have to re-fix optimize. it's the only thing left that CFLAGS used to do. 16:14
and that will be a similar fix: break out optimize to a separate @config_var@, use that in the build steps, and allow per-file customization of optimization. 16:15
16:16 lucian joined
Coke (without this, some non-gcc compilers will choke as they cannot optimize certain files in certain conditions) 16:16
cotto NotFound, pong 16:20
NotFound cotto: I have no plans about that patch, but I can ask at #ps if you are interested. 16:21
cotto sure. It looks like a good patch.
NotFound Ok
16:24 Andy joined 16:32 shockwave joined
shockwave Howdy. 16:34
Currently, I'm working on breaking up expressions into the proper PIR sequence. If I have something like so: 16:35
(1 + 2) * (3 / 4)
purl 2.25
shockwave and that results in (sudo) PIR:
T0 = div 3, 4 16:36
T1 = add 1, 2
T2 = mul T0, T1
Is that wrong?
I mean, division is being performed before addition.
I know the answer is the same, but,
If the operands are function calls, with side effects, then the call order is not what one would expect.
Does anyone have an opinion on the matter? 16:37
whiteknight no, that probably is the wrong order
16:37 particle joined
whiteknight which compiler are you using, PCT? 16:37
Austin Actually, it's a language decision. If you have a language spec, it should be precise about order of evaluation.
shockwave whiteknight, no. Mine.
Austin If you're writing your own language, then you get to specify any constraints about ordering. 16:38
whiteknight shockwave: okay, what kind of algorithm are you using for th parser? recursive descent or LR/LALR?
shockwave whiteknight, this is after the parser. But, is LALR.
But this particular question is not related to how the syntax tree was constructed. 16:39
but to how the expression is broken up.
Which happens post.
Austin, I would like to be similar to C, C++, C#, Java. 16:40
I'm guessing they are similar.
Austin That should be completely false.
whiteknight what should be completely false?
shockwave Austin, what should be false?
Austin The grammar will specify "operator precedence" and "operator associativity"
Which will construct the parse tree in a fashion that determines the order of operations.
whiteknight exactly, hence my wanting to know which parser you were using
shockwave Austin, it does. But after wards, one can breakup those things however. 16:41
whiteknight shockwave: makes more sense for the parser to do the ordering right the first time
Austin Only if your language doesn't specify otherwise.
whiteknight but, that's neither here nor there. You're right that the order above is not what I would expect
NotFound shockwave: C and C++ make no guarantees about the order of evaulation of function calls in such cases.
Austin All the C languages, including Java, are left-to-right.
shockwave NotFound, you're right. I do recall that. 16:42
Austin There's a set of "sequence points" *within which* you may re-order computations.
So if you say a+1 == 0 && b - 1 > a, there's a list of which things you may reorder, but then there are places where your reordering stops. 16:43
shockwave whiteknight, the parser does place the operation in the proper order. But some transformation needs to take place in order to output PIR code. I'm at that transformation phase.
Coke whiteknight: er, ETA... sometime this week, maybe. =-)
shockwave I think I have enough info to perform some Googling. I'll hit you guys back with what I find. 16:44
NotFound shockwave: if you want to grant some order, you can lose some performance. 16:45
shockwave NotFound, performance is important, of course. But, sanity is even more important. 16:46
NotFound shockwave: the C point view about that is like: in the places where want to be sure about the order of evaluation and clearly show it in the code, wite the code that way. 16:47
s/wite/write 16:48
16:49 bubaflub joined
NotFound In places where you don't care, let the optimizer play. 16:49
shockwave NotFound, I'm trying to create some clear rules for myself of whether evalution order matters or not (as long as the answer is the same). I though the answer was going to be a little more clear, but if the C language doesn't guarantee evalution order, then there's a reason. I'm looking for related info, now. 16:51
16:52 silug joined
shockwave msdn.microsoft.com/en-us/library/2b...S.71).aspx 16:53
Search for 'is not defined'
whiteknight oh yes Microsoft, the bastion of authority for the C language standard 16:56
they would know all about the language since they've been (poorly) implementing an outdated version of it for the last 21 years 16:57
well, they haven't been implementing it for 21 years, but they havent moved to a more recent standard
dalek kudo: e3f183e | jonathan++ | src/cheats/use.pir:
Don't crash in use if we don't find a namespace with a matching name.
16:58
kudo: 6867a56 | jonathan++ | src/Perl6/Actions.pm:
Try to do use actually at BEGIN-ish time, and fix up routine traits so they can see a block's signature.
NotFound shockwave: the reasons are mainly to allow the optimizer look for the better way, and being unable to find a way approvable for the standard board members at the time. 17:00
shockwave NotFound, interesting. 17:02
17:04 patspam joined 17:05 kurahaupo joined
dukeleto 'ello 17:07
whiteknight hello duke
dukeleto whiteknight: top of the localtime() to ya
whiteknight dukeleto: I'm thinking about putting together a branch to fix the test failures that pop up in icc. You interested? 17:08
mostly some stupid arithmetic errors and negative zero errors
cotto_work hi 17:15
whiteknight hello cotto_work 17:16
17:17 davidfetter joined
kurahaupo A small proposal that's come out of some work on parrot-data-structures: add a standard method (tentatively called .capacity()) to all aggregate containers. For fixed-sized ones it returns the actual limit, for resizable ones it returns "Inf" or MAXINT or -1 or ... something 17:18
It's intended use is so you know how many more elements you can push/unshift/hash-set before the container gets "full", without it throwing an "I'm full" exception. 17:19
Comments?
purl Comments are lying. next_for_GC *is* the GC marking mechanism right now
kurahaupo purl: comments are for people who can't read the code 17:20
purl no idea, kurahaupo
whiteknight well, I like the idea 17:21
kurahaupo What's an appropriate value for .capacity() to return on a resizable container, particularly in "int" context? 17:22
dukeleto whiteknight: sure, that sounds great! 17:23
kurahaupo: that sounds like an interesting idea
17:24 lucian_ joined
kurahaupo wonders if we have standard MAXINT/MININT values? 17:26
And what should .capacity() return on a fixed-sized container which hasn't had its size set yet? (Still under contruction) 17:28
kurahaupo wonders if 'size-limited' would be a better description than 'fixed-size' for containers where their .elements() ranges from 0 to some set maximum 17:29
dukeleto kurahaupo: does any language implement something like .capacity() already?
kurahaupo Bit hard-pressed to think of a language that provides size-limited arrays at all. 17:30
If they're truly fixed-sized then .capacity() == .elements() (even if most of the elements are junk) 17:31
If they're resizeable then there's no (logical) capacity limit
(but you might run out of swap space) 17:32
Perhaps "some very big number that reflects available memory" might be an appropriate answer?
(To the question of what a ResizableFoo.capacity() should return) 17:33
dukeleto kurahaupo: what is your use-case for needing .capacity()?
PerlJam kurahaupo:fortran, pascal, cobol (languages that provide size-limited arrays) 17:34
dukeleto: are you handling gsoc this year? 17:36
kurahaupo perljam++ thanks 17:38
dukeleto PerlJam: yep. the application period for organization is March 8-12
kurahaupo dukeleto: using arrays to implement queues, stacks, etc, but with limited size so that they're easier to make thread-safe
i.e. the storage blob doesn't move about 17:39
A side benefit is they're faster because the blob does move (i.e. get copied)
s/does/does not 17:40
In particular, it's possible to write a lock-less queue between two threads using a ring-buffer model. 17:41
dukeleto kurahaupo: that sounds useful. I need to start hacking on PDS... 17:43
nopaste "whiteknight" at 173.12.37.77 pasted "failures with ICC for dukeleto++" (19 lines) at nopaste.snit.ch/19838 17:45
whiteknight PDS is really turning out to be a cool testbed for trying out new data types 17:46
we have several queue and stack implementations, complete with tests and benchmarks
kurahaupo Just don't be surprised if things are broken at times :-) 17:47
whiteknight dukeleto: 70.42.42.150/app/public_projects/re...ails/32466 17:50
kurahaupo Using set_integer_native to adjust the size of an array seems a bit ugly to me. I mean, sure, if it's primary use is as an "indexable" thing you just adjust the top end. But if it's used as (say) a queue, which end do you move? Similarly having get_integer_native == elements seems a bit forced. 17:53
In PDS we've hijacked it to set the size-limit rather than the current size, but that's a hack too. 17:54
WhiteKnight: we have a test for isnull returning true on a fixedsizedwhatever that hasn't had its size set. Is it even possible to make that work? I don't think there's a vtable entry for isnull() ... 17:55
NotFound kurahaupo: what is the purpose of having a method that returns "something" ? 17:56
kurahaupo thinks that sounds very Zen 17:57
isnull is not a method
nor a vtable entry
Tene I've always been bothered by weird use of vtables like that. 17:58
kurahaupo It's more like Parrot's approximation of C's "ptr == NULL"
Tene $1 = PMC_IS_NULL($2);
kurahaupo PMC_IS_NULL is defined as (pmc == NULL || pmc == PMCNULL) 17:59
IIRC
dukeleto Tene: yes, i agree. some vtable methods get used in peculiar ways
kurahaupo If you don't have an object then you can't invoke a method on it. That's what "null" means... 18:00
dalek rrot: r44593 | whiteknight++ | branches/fix_icc_failures:
creating a new branch to fix test failures with ICC
kurahaupo (But just in case you try, behind the scenes is a singleton object called PMCNULL) 18:01
NotFound kurahaupo: null means null, is a value, not a fragment of documentation.
kurahaupo Which is why PMCNULL exists, so that it can avoid simply SIGSEGV if you try to use it as an object 18:02
Coming back to "what's the purpose of a method that returns "something"?", the point is that null refers to a specific singleton object, and "being null" isn't a property of any other object, so it's the wrong question to ask. 18:04
IMHO
kurahaupo suspects there may be some other weird objects that do have nullity, but he hopes not 18:05
NotFound kurahaupo: I think that's a wrong answer, but to each his own. 18:06
kurahaupo It's yet another weird outcome from having objects-are-always-references-unless-they're-primatives. 18:08
kurahaupo hates that model.
kurahaupo narrowly avoids going into a rant about the benefits of single-assignment 18:09
NotFound: what does "null" mean to you? 18:11
NotFound kurahaupo: I'm not in metaphisical mood. 18:12
dukeleto whiteknight: those failures don't look that bad. i got to download and install the free version of icc somewhere 18:13
whiteknight: do you think fiddling with hints is needed, or just changing some tests? 18:14
kurahaupo Let me put it in less metaphysical terms. Is null a value, or is nullity a property of (potentially) any object?
(Does it tie to referential equality?) 18:15
whiteknight dukeleto: no, those failures really aren't that bad. I think most of them are issues with negative zeros not being returned from the Intel math library. In some cases I think we could just output those values manually if needed
dukeleto whiteknight: we shouldn't be testing for an exact zero if floating point is involved. it may just need to be changed to is(x,y,msg,1e-8) 18:17
whiteknight dukeleto: sure, I don't really know the exact nature of all these failures
some of these damn tests really need to be converted over to be pure-PIR and use test_more.pir 18:18
bubaflub whiteknight: anything i can help with?
dukeleto bubaflub: yes! 18:20
Coke tests for explicit -0 should probably be done as string compares.
bubaflub dukeleto: point me in the right direction and i'll hack away 18:21
dukeleto bubaflub: whiteknight and i are trying to get parrots test suite to pass on icc
bubaflub do i need to recompile my parrot to use icc?
dukeleto bubaflub: here is where you can download it for free: software.intel.com/en-us/articles/n...-download/
bubaflub: yes, you need to recompile 18:22
bubaflub:
bubaflub: perl Configure.pl --cc=icc --link=icc --ld=icc
bubaflub ok, i'm downloading now 18:23
dukeleto bubaflub++
bubaflub wow, 1 GB
whiteknight setup of ICC can be a bit of a pain in the ass
but it's proprietary software, so you have to expct that
dukeleto bubaflub: which platform are you going to use icc on?
bubaflub i'll prolly saturate my work connection
Mac OS X
purl Mac OS X is, like, the best OS EVAR and not stupid like macosx and windoze and $olaris or possessed of lots of stupid shiny slippery visual junk
bubaflub purl, forget Mac OS X 18:24
purl bubaflub: I forgot mac os x
dukeleto bubaflub: that is good, i don't think anybody has tried that. Unexplored territory!
bubaflub about ~28 minutes till i'm where the sidewalk ends 18:25
dukeleto bubaflub: sounds good
bubaflub: these are the test failures that whiteknight is seeing on icc: nopaste.snit.ch/19838 18:27
Coke (icc) someone install that on feather, willya?
dukeleto Coke: good idea
purl dukeleto: Good Idea: Cleaning up litter. Bad Idea: Cleaning up kitty litter.
bubaflub dukeleto: at least the random is random enough 18:28
dukeleto bubaflub: the random tests having passing TODOs is expected, you can ignore those
18:28 snarkyboojum joined
bubaflub dukeleto: i know, it was a poor attempt at a joke 18:28
dukeleto bubaflub: you fail ;) 18:29
Tene parrotsketch? 18:46
purl somebody said parrotsketch was a status meeting for parrot core committers held every Tuesday at 18:30 UTC in #parrotsketch
Coke I thought that time was rong.
cotto_work it's +2 hours from that 18:47
dukeleto #ps is in just under 3 hours
Coke no, parrotsketch is a status meeting for parrot core committers held every Tuesday at 20:30 UTC in #parrotsketch
purl okay, Coke.
Tene oh, I know! I'll pre-post!
dukeleto 1:30pm PST for the west-coasters in here
cotto_work dukeleto, it's 12:30 PST 18:48
dukeleto cotto_work: if so, the parrot google calendar is wrong 18:51
it would be nice to get that fixed
Coke the calendar is correct.
... at least, as the guy who set it up, I'm pretty sure it is.
dukeleto cotto_work: you are thinking about the old time, then
cotto_work: it *used* to be 12:30pm PST, IIRC
Coke time? 18:52
purl hmmm... time is 18:52:28 2010 and (did you mean "clock"?) or flowing like a river or the fire in which we burn
Coke clcok?
purl hmmm... clcok is clock or cock
Coke clock?
purl Coke: LAX: Tue 10:52am PST / CHI: Tue 12:52pm CST / NYC: Tue 1:52pm EST / LON: Tue 6:52pm GMT / BER: Tue 7:52pm CET / IND: Wed 12:22am IST / TOK: Wed 3:52am JST / SYD: Wed 5:52am EST /
18:53 chromatic joined
Coke hurm. 18:53
cotto_work It's 1853 UTC now
Austin How about -1 18:54
purl it has been said that -1 is always a scalar number. The OUTPUT of sqrt() is a different value
Austin n/m 18:55
Coke when viewed in GMT sans DST, the PS meeting is from 8:30pm to 9:30pm.
meeting is at 3:30pm eastern. 18:56
so 12:30 pacific sounds right.
Coke checks his DST setting... 18:57
dukeleto now i am confused
Coke 90 minutes.
purl 90 minutes is a long time
dukeleto so is the calendar wrong? 18:58
Coke no.
looks right here.
what time is the calendar showing you?
(you're not using your PS3 to check it, are you?)
dukeleto the calendar say 1:30pm for me. I am using a darwin-x86 box, with the correct time and date 18:59
Coke dukeleto: google calendar doesn't care what your system says. what does your google calendar account think your time zone is?
whiteknight dukeleto, bubaflub: t/op/aritmetics.t, test 21:
not ok 21 - 1
# Have: 0
# Want: -0
Coke (presuming you're looking at it through the web.) 19:00
whiteknight so I think it is a case of just not returning -0 from some things
Coke dukeleto: (and it's 11 am there, yes?)
dukeleto Coke: my gcal is set to GMT-8 Pacific Time
Coke: yes, 11am here
Coke ok. mine is set to GMT-5, and the event is showing at 3:30pm. 19:01
dukeleto whiteknight: what is the actual test for that failure?
Coke and it's 2pm here.
whiteknight set $N0, 0; neg $N0; $S0 = $N0; is($S0, "-0")
so very straight-forward 19:02
bubaflub dukeleto: whoops, i got the wrong icc. there is a .DMG for Mac OS X. gettin' that now 19:05
Coke dukeleto: the calendar timezone is set to "GMT+00 NO DST" 19:06
dukeleto Coke: why, why, why?
Coke because that's the correct timezone for the meeting?
the meeting doesn't move with DST. 19:07
dukeleto Coke: is the meeting at 1:30pm or 12:30pm PST? My calendar says 1:30pm and it sounds like you are saying it is at 12:30pm. This is very confusing
Coke dukeleto: the meeting is at 20:30 UTC
cotto_work you can use date --utc 19:08
dukeleto cotto_work: date --utc
date: illegal time format
Coke the meeting is in in about 80 minutes.
cotto_work Hmmm. wfm
dukeleto Coke: Ok. All i am saying is, anybody looking at the parrot google calendar, in the west coast, is shown the wrong time. 19:09
Coke dukeleto: if I set my google calendar setting to pacific time, the meeting shows at 12:30 19:10
so, it seems to just be you.
or, more correctly, "not me". I can't reproduce your problem. :(
whiteknight Parrot_str_from_num calls Parrot_sprintf_c,which calls Parrot_vsprintf_c, which calls Parrot_vsprintf_s, which calls Parrot_sprintf_format. 19:12
Coke Is anyone else seeing the PS event NOT at 20:30 UTC?
whiteknight that's an awful lot of work to get a string representation of a float
bubaflub Coke: i'm seeing it correctly. i'm in CST 19:13
Coke invoking c functions is cheap!
chromatic Look, the XS fallacy from Perl 5 creeping into Parrot!
particle sees parrotsketch weekly meeting on his google calendar at 12:30pst 19:14
19:17 joeri joined
dukeleto slaps forehead 19:17
Coke: sorry about that. I was looking at the end of the month, after DST has changed. My calendar is fine. This is what I get for trying not to drink coffee in the morning
NotFound dukeleto: Eating it, instead? 19:19
particle subcutaneous injection.
dukeleto NotFound: I abstained from coffee this morning. this is what I get 19:20
NotFound dukeleto: you need INTERCAL instrucion: ABSTAIN ABSTAINING 19:22
19:22 cotto_work joined
Coke wonders if we need TODO anymore. 19:23
chromatic axe it 19:26
bubaflub dukeleto: icc is installing right now on my machine; i'll run the test suite in a second 19:29
dukeleto bubaflub: cool beans
cotto_work: date -u is UTC on darwin. date --utc works on linux 19:30
cotto_work oic
Coke ah. optimize is one of the places where we steal values from perl5's config. 19:31
gcc is -O2. anyone else have a value? 19:32
19:39 cotto_work joined
dukeleto Coke: what exactly are you asking? 19:42
bubaflub dukeleto and whiteknight: i'm seeing a lot more warnings on a plain ole make with icc. is this something we should be concerned about?
whiteknight bubaflub: no, I don't think so 19:43
that's a configuration problem, probably
chromatic I thought icc was pickier too.
bubaflub whiteknight: ok. i'm running `make coretest` right now
Coke perl -MConfig -e'print $Config{optimize},"\\n"'
whiteknight chromatic: I think it is, yes
Coke with rm_cflags branch, we can work on making icc warnings clean. 19:44
bubaflub Coke: i get -Os
Coke bubaflub: what's your OS?
bubaflub Mac OS X
10.6.2 19:45
dukeleto: all the icc errors seem to be dealing with -0 19:49
dukeleto bubaflub: sounds about right 19:50
bubaflub dukeleto: though on t/op/trans_old.t, the print statement on line 337 looks superfluous 19:51
particle that's an easy fix... config->has_negative_zero
dukeleto bubaflub: yes you can delete the print statement 19:52
bubaflub dukeleto: ok, i'll delete it and commit
dukeleto bubaflub: and particle has good advice. all tests dealing with -0 should consult config[has_negative_zero]
bubaflub particle++ 19:53
dukeleto bubaflub: if has_negative_zero is false, the test should be for a normal 0
bubaflub dukeleto: ok, i'll start patching the files. i've got a non-icc build that i can try it against just to make sure i don't break things 19:54
Coke if has_negative_zero is false, just skip the test. no?
We already have tests for zeros.
dukeleto Coke: i guess that makes sense. Yes.
bubaflub: what Coke said
bubaflub dukeleto: roger wilco.
dukeleto bubaflub: that is even easier. easy karma!
19:56 cotto_w0rk joined
dalek rrot: r44594 | bubaflub++ | trunk/t/op/trans_old.t:
this print statement isn't necessary and messes up TAP output
19:57
dukeleto caffeinates before #ps to preclude further facepalming
chromatic Maybe the negative zero tests need their own file. 20:00
Coke PS in 30 20:01
dukeleto chromatic: not a bad idea. 20:03
20:04 kurahaupo joined 20:05 cotto_work joined 20:09 bacek joined
kurahaupo 'morning Bacek 20:09
nopaste "NotFound" at 213.96.228.50 pasted "avoid_duplicate_string.patch for #ps discusion" (44 lines) at nopaste.snit.ch/19839
20:10 brooksbp joined 20:11 atrodo joined
dukeleto bacek: o hai 20:12
bacek: #ps is in 20 mins, and you are awake!
Coke bacek: PING.
cotto_work That sounds important.
Coke Tene: see TT#789 20:15
msg Tene see TT#789
purl Message for tene stored.
kurahaupo Bacek appears to be in Guangzhou today
Coke the 2.1 milestone was open. I just closed it. 20:16
bacek yawns
Coke bacek: did you mean to apply changes to branches/rm_cflags?
they didn't seem to make sense in the context of the branch, so I assume you misfired git-svn.
bacek Coke, erm... Which one? 20:17
kurahaupo darn, s/Guangzhou/Australia/
kurahaupo made a typo on "whois IP-address"
bacek Coke, ouch... Yes, my fault.
Coke looks like r44581,2,3
bubaflub dukeleto: it looks like my Parrot::Config setting 'has_negative_zero' is set to 1 when compiling parrot with icc 20:18
bacek Coke, sorry, I'll revert them in branch and reapply in trunk
Coke danke.
bubaflub: check out the config step and see how it's checking that. 20:19
Tene Coke: 789 is about non-register attrs. My problem is with a PMC attr. Exception doesn't have non-register ATTRs.
Coke Tene: hokay.
dukeleto bubaflub: that is the bug. it shouldn't. or some kind of flag needs to be passed to icc to turn on negative zeros
Tene Coke: Thank you, though. 20:20
Coke dukeleto: if we're not passing the flag, how is the config step guessing it has them?
bubaflub Coke and dukeleto: ok. i'm checking out now
Coke bug in the config step.
chromatic +1 from me on that patch, NotFound. I've tested it locally and think it's good.
20:21 cotto_w0rk joined
Coke dukeleto: are you volunteering to be the parrot gsoc guy this year? 20:27
cotto_work dukeleto, put me on the list for mentoring a gsoc student
Coke ... and why are you double posting?
cotto_work it's to make it look like got twice as much done
dukeleto Coke: i was trying to paste correctly 20:28
Coke: egggzactly
Coke: I will be the organization adming for The Perl Foundation and Parrot Foundation, if that is what you are asking
admin, even
cotto_work #ps in 2
dukeleto puts coffee in his beer helmet
Coke dukeleto: ok. have you talked to the Pafo board about this?
because I just found out just now, I think. 20:29
dukeleto Coke: I've talked to particle, he is on board as the backup org admin. Does that count? Who do I need to talk to?
Coke: you are right, i have been busy and have not sent out any announcements yet 20:30
Coke: i have been meaning to write a blog post for a long time now.
particle i speak for the board, pafo will participate, and i'll be backup org admin.
lunch &
dalek rrot: r44595 | bacek++ | branches/rm_cflags (2 files):
Revert r44581-44583. They are not belong to branch. Coke++, bacek--
Coke particle: if you're speaking for the board, please keep the board in the loop. danke. 20:31
surprises bad. even good surprisses. 20:32
bubaflub dukeleto: the plot thickens - when i run the c code behind the config test (to see if there is a negative zero), it outputs "-0"
dukeleto cotto_work: please jump on this list: groups.google.com/group/tpf-gsoc
bubaflub so the config step is correct in determining if the compiler handles -0
dukeleto bubaflub: DUN DUN DUN. we may be dealing with a bug in icc or parrot core, then
bacek #ps in -2?
dukeleto bacek: #ps now! 20:33
bubaflub dukeleto: yeah. bummer.
dukeleto bubaflub: look at it from the other direction. A fun puzzle to solve!
Coke bubaflub: what does ./parrot-config has_negative_zero say?
20:34 cotto_w0rk joined
bubaflub Coke: 1 20:34
dukeleto: for certain values of fun
dukeleto what is the proper email to send announcements to the board?
Coke: i assumed that when I talked to particle, he was a representation of the board, but I just haven't had time to send out all the proper announcements, yet 20:35
Coke dukeleto: you're fine.
he surely is.
parrot-directors@lists.parrot.org 20:36
20:36 lbr joined
dukeleto Coke++ 20:36
Coke: i just sent a quick email to the board 20:38
Coke dukeleto++
20:40 kurahaupo joined 20:42 allison joined 20:45 snarkyboojum joined 20:46 payload joined
chromatic Tene, there's only one test failing on the branch, but it's a doozy. 20:46
Tene I seem to be gathering inertia again. I'm hopeful about getting things done this week.
chromatic Basically I think we need to instantiate a PMCProxy in stage 2 init for every PMC that has methods, and store the methods in there, and change the default PMC's method lookup to go through the PMC proxy.
whiteknight allison: have you seen my proposal on TT #1468? Would love some feedback 20:47
dalek rrot: r44596 | bacek++ | trunk/src/ops/core.ops:
Fix core.ops syntax.
rrot: r44597 | bacek++ | trunk/src/ops/core.ops:
Remove redundant 'goto NEXT'
rrot: r44598 | bacek++ | trunk/lib/Parrot/Op.pm:
Remove Parrot::Op.full_body. 'auto' vs 'non-auto' ops separated by op pragma and handled in OpsFile
bubaflub dukeleto: strange, 'atan n4, -0.0, -0.0' is returning 0
20:48 brooksbp_ joined
bubaflub i.e. setting N4 to 0 20:48
Coke ISTR that's platform specific.
Tene oh man, that's way outside of anything I've worked on yet.
I except it'll be interesting to investigate.
20:49 Andy joined
Coke Tene: nice fruedian slip. 20:49
Tene Coke: eh?
Ah.
Coke er, freud.
Tene :)
chromatic It's not too awful, but it's intrinsic to starting the system so it's annoying to debug.
20:50 bluescreen joined
dukeleto bubaflub: very interesting 20:51
bubaflub dukeleto: should i dig down into the op itself? 20:52
dukeleto bubaflub: can you keep notes of all the odd stuff you find out about icc? i don't want it to get lost in a see of irclogs
bubaflub: sounds like it
bubaflub dukeleto: sure thing. new ticket on trac?
dukeleto bubaflub: parrot core may be casting incorrectly somehow
bubaflub: sure! 20:53
bubaflub dukeleto: do we have one open for icc fixes or no?
(i know we have a branch somewhere)
moderator Parrot 2.1.1 Released! | parrot.org/ | Tasks: PCC deprecations hackathon on Saturday, TT #389 branch 20:53
allison Tene: yes, that's my expectation on ordering too 20:54
whiteknight: I'll take a look at TT #1468
Tene So, rebranching and then patching imcc would be a good first task for someone.
chromatic I can do the IMCC change if no one else wants to. 20:55
allison Tene: aye, anyone can pick it up
dukeleto bubaflub: i don't think we have a TT for icc yet 20:56
bubaflub dukeleto: i'm on it now; i'll letcha know the number in a sec
allison two big things from there are fixing the src/call/args.c functions to handle the new order, and fixing PASM test failures 20:57
chromatic Is someone capturing this in task order?
Or is it already in task order?
allison chromatic: there's not a predetermined order, because 5 things need to happen at once before it works 20:58
chromatic By the way, we only have three defects in Coverity.
20:58 AndyA joined
allison chromatic: pick any one, watch the flames rise, and knock off the others until the tests pass again 20:58
20:59 patspam joined
bubaflub dukeleto: #1488 - i'll keep my notes in there 21:00
"Rorschach's journal - the ICC is a cold and unforgiving beast." 21:01
dukeleto bubaflub: lulz
lbr bubaflub: not the Internet Chess Club 21:02
bubaflub lbr: hahaha, nah, the Intel C Compiler
dukeleto chromatic: is the coverity output somewhere web-accessible?
chromatic Only if you have a Coverity account. 21:03
Those are easy to get though.
allison whiteknight: yes, TT #1468 is headed in the right direction, need to work out the details (not this PCC refactor, but another one after) 21:04
dalek tracwiki: v161 | chromatic++ | WikiStart 21:05
tracwiki: Weekly priorities for 02 March 2010
tracwiki: trac.parrot.org/parrot/wiki/WikiSta...ction=diff
Coke twitter block added to parrot.org 21:12
dalek TT #1488 created by bubaflub++: fix test suite when building with ICC
dukeleto Coke: i am not seeing a change. did you push the changes live? maybe my cache hates me? 21:13
bubaflub++
Coke dukeleto: it's cached.
login to see the changes.
drupal?
purl drupal is a php CMS framework at drupal.org or an application platform though
Coke parrot.org? 21:14
purl well, parrot.org is drupal?
Coke parrot.org is also aggressively cached.
purl okay, Coke.
21:14 cotto_w0rk joined
Coke dukeleto: try www.parrot.org/?nocacheIhateit 21:14
dukeleto Coke: cool! It filters our RT's ? or is that a bug? 21:17
s/our RT's/out RT's/
Coke: looks snazzy. Coke++ 21:18
Coke dukeleto: it's just a cut and paste of whatever JS twitter.org provided.
let me see if there's a RT option.
NotFound dukeleto: "When dinosaurs still used punch cards" Good title for a movie.
Coke I see no option to include RTs 21:20
dukeleto NotFound: yeah! We should totally make it. "A short film about the pre-history of programming"
Coke: it is not a big deal, just wondering. What you have is 1000x better than nothing. nice work!
Coke: is that some kind of customizable widgety thing?
NotFound With the FX effects crew from "Minesweeper, The Movie" 21:21
Coke twitter.com/goodies/widget_profile
feel free to give me a version that looks different, I'll include that.
dukeleto Coke: nice. i hadn't seen that 21:22
Coke: i think that sidebar will add a little life to our site. sometimes it goes long spans without any updates 21:23
NotFound Just in case soemone doesn't know that infamous filem: www.youtube.com/watch?v=LHY8NKj3RKs
Coke drupal-- # it's caching everything.
bubaflub dukeleto: from what i'm seeing about the icc bugs, it seems like icc doesn't actually handle -0 correctly 21:24
i.e. the failure on t/pmc/float.t
i've got probably the simplest test case on the parrot_shell and it just doesn't handle -0
i'll update the ticket with more goodness
Coke it may just be that parrot is expecting a platform that can print -0 to also generate -0 in all cases, when that isn't the case.
all has_negative_zero promises is that -0 prints as -0 and not 0. 21:25
bubaflub Coke: exactly what i was thinking. perhaps it can handle sprintf-ing a -0, but beyond that it can't do anything else
dukeleto bubaflub: awesome! We want as much evidence as we can before we tell the icc devs "you got bugs, man"
Coke: interesting. maybe we need to split that config key into more than one? 21:26
bubaflub Coke and dukeleto: perhaps we can just change the config test to make sure beyond printing -0. that would flag the ICC as not having a negative zero and the tests will pass. 21:28
Coke dukeleto: i don't think we've spec'd what we plan to do with -0. we could certainly have more -0 flags if we actually agreed what parrot should be doing with them. 21:30
NotFound We can't just explictly check for -0 in the print functions, instead of guessing how to make the clib print it?
Coke NotFound: we are. 21:31
that's what the neg_0 test is doing. 21:32
dukeleto are there any low-level function that will just tell you the sign of number? that might be better that doing a string equality on "-0"
NotFound Oh, sorry
Coke wonder how long we've been getting comment spam on parrot.org
21:33 riffraff joined
Coke GAH DRUPAL STOP CACHING EVERYTHING. 21:33
bubaflub dukeleto: so what's weird is that there is a failure in t/op/sprintf.t that is basically the exact the same thing that the config step does
Coke note that the config step is using a straight printf; the sprintf opcode is jumping through more hoops. 21:34
drupal says it only caches anonymous users, but it's lying. :| 21:35
(*&#$.
gah. I disabled caching and it is still caching. 21:38
21:38 cotto_work joined
Coke "I heard you like caching so I cached your caching so you can cache while you cache." 21:38
ARGH> 21:40
does anyone know how to disable caching in drupal?
chromatic Fire.
Coke www.parrot.org/admin/settings/performance - caching mode: "disabled", "minimum cache lifetime"-none. save settings. ... caching is still enabled. 21:41
bubaflub Coke: there is a module for it (drupal.org/project/cache_disable)
which i find kinda funny
and according to blog.kfirbreger.com/2009/05/29/how-...pal-cache/ you'll have to hack the planet to *actually* disable the cache 21:42
Coke holy (&*@#$# crap.
I would settle for a big red button that said "kill cache". 21:43
my current complaint: you can't even /pretend/ to disable the cache.
I cannot make the "disabled" cache setting stick.
dukeleto Coke: I have nothing polite to say about Drupal, so I will say nothing. 21:44
21:45 elmex joined
Coke I deleted all the comment spam from the first page of news/ 21:46
so painful, will not bother doing more.
dukeleto Coke++ 21:49
Coke: maybe we need to add a CAPTCHA-thingy to comment?
Coke: i find that only allowing OpenID or CAPTCHA for comments gets rid of a lot of spam
Coke there does not seem to be a builtin captcha option. 21:52
if someone can find a drupal plugin for that, I'll ask the admins to install it.
dukeleto Coke: drupal.org/project/captcha
Coke ticket with osu opened. 21:57
22:00 patspam joined, bacek joined
Coke bacek++ 22:05
bacek Hey, I already got my karma. Twice... 22:06
22:06 patspam joined
bubaflub dukeleto: check out trac.parrot.org/parrot/ticket/1488 for all my sleuthing. as far as i can tell, ICC does handle negative zeroes but somewhere in the parrot innards it gets lost 22:09
dukeleto: i gotta head to class, but i'll be back on later tonight to do some more poking around 22:10
bacek NotFound, take a look at PackfileConstantTable PMC get_or_create_constant. 22:11
22:14 patspam1 joined
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32468), fulltest) at r44598 - Ubuntu 9.10 amd64 (g++ with --optimize) 22:16
22:18 lucian joined 22:21 riffraff joined 22:55 shockwave joined
shockwave The doc for opcode 'and' says: Short-circuiting logical and. Returns $2 if it's false, else returns $3. 22:55
I'm not sure if that's what I need. What I'm looking for is:
$I0 = and 0, 1 # false 22:56
Like the C '&&' operator.
From the description, it sounds like this 'and' opcode doesn't work like C's. 22:57
Austin So why is that not what you need?
cotto_work clock?
purl cotto_work: LAX: Tue 2:57pm PST / CHI: Tue 4:57pm CST / NYC: Tue 5:57pm EST / LON: Tue 10:57pm GMT / BER: Tue 11:57pm CET / IND: Wed 4:27am IST / TOK: Wed 7:57am JST / SYD: Wed 9:57am EST /
shockwave Austin, Returns $2 if it's false
Austin Right.
shockwave Oh
ah, I'm dumb.
Thanks, Austin. I suck. 22:58
Austin I won't say anything if you won't.
shockwave Though, I won't blame myself toooooo much. I spent most of my energy getting the order of operations working properly. 22:59
22:59 lucian_ joined
shockwave I get it working, though. 22:59
23:01 plobsing joined 23:09 lucian_ joined
mikehh rm_cflags branch: 23:13
All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32469), fulltest) at r44598 - Ubuntu 9.10 amd64 (gcc with --optimize)
23:28 Whiteknight joined
dalek kudo: 9921175 | jonathan++ | (3 files):
Start to tease apart abstract roles (the name for the whole set of possible parameterizations) and concrete roles (a particular variant) in the type system, and tweak infix:<does> to take advantage of it. Probably more to come on this, but it's a start.
23:55
kudo: 32a9461 | jonathan++ | src/core/traits.pm:
Start to put back of and returns traits a bit more. We don't enforce return type constraints yet, however.