Parrot 2.1.1 Released! | parrot.org/ | Tasks: PCC deprecations branch, HLL subclassing and MMD branch
Set by moderator on 19 February 2010.
bacek pmichaud, unping 00:03
00:08 tetragon joined
bacek msg cotto I updated ops_pct. It doesn't epically fail any more. 00:09
purl Message for cotto stored.
dalek rrot: r44515 | bacek++ | branches/ops_pct/compilers/opsc/compiler/actions.pm:
Fix actions.pm to be in proper namespace and proper is-a.
00:12
rrot: r44516 | bacek++ | branches/ops_pct/compilers/opsc/builtins.pir:
Add 'list' builtin.
rrot: r44517 | bacek++ | branches/ops_pct/compilers/opsc/ops/oplib.pm:
Explicitely create list for ops_past.
rrot: r44518 | bacek++ | branches/ops_pct/compilers/opsc/builtins.pir:
Chnage 'hash' and 'list' to able to create hash and list from params.
rrot: r44519 | bacek++ | branches/ops_pct/compilers/opsc/t/04-oplib_parse_ops.t:
Update test
Coke anyone /here/ having trouble building latest rakudo with latest parrot? 00:14
chromatic Big memory footprint. 00:16
Whiteknight Coke: I havent tried
will now
lots of warnings 00:19
/usr/local/bin/parrot: symbol lookup error: dynext/perl6_group.so: undefined symbol: PObj_active_destroy_SET 00:21
chromatic I thought they removed that.
Coke Whiteknight: are you on the new master? 00:22
Whiteknight Coke: I am, but I might be behind a few commits
trying again
dalek kudo/master: 44950e8 | jonathan++ | src/pmc/perl6multisub.pmc:
Set scalar property on multis so they don't flatten out to their candidates.
00:26
lichtkind hello parrot people 00:27
please check www.perlfoundation.org/perl6/index.cgi?parrot
bacek msg cotto Hooray. Your turn! "All tests successful." on make opsc-test :) 00:34
purl Message for cotto stored.
00:36 eternaleye joined
Whiteknight Coke: I just updated rakudo and built it again, and get the same eror 00:38
error
damnit, I think I'm still on the old ng branch 00:39
how do you switch branches in git?
Coke git checkout something something something.
Whiteknight something something something the dark side. something something something complete 00:40
Okay, I'm finally building the correct rakudo 00:43
dalek rrot: r44520 | bacek++ | branches/ops_pct/src/ops/core.ops:
Fix core.ops syntax.
00:45
Whiteknight ...and having extreme difficulty building it
rrot: r44521 | bacek++ | branches/ops_pct/compilers/opsc/t/04-oplib_parse_ops.t:
Update ops count in test.
rrot: r44522 | bacek++ | branches/ops_pct/compilers/opsc/ops/oplib.pm:
Fix loading skip file.
rrot: r44523 | coke++ | branches/rm_cflags (2 files):
TODO a warning for this file.
cotto Woohoo!
bacek++
Coke can anyone fix the const issues on compilers/imcc/reg_alloc.c:616 and 17?
Whiteknight Coke: On it
Coke: I don't get any warnings in that file 00:47
Coke that's because trunk hides them. 00:48
(CFLAGS magic)
Whiteknight Coke: Okay...so how do I unhide it?
or do I have to do this in branch?
Coke that's the easiest way is to build in the rm_cflags branch. 00:50
(which is blocking mergeback on eliminating these few warnings. =-) 00:51
Whiteknight okay
these warnings are doozie 01:03
doozies
Coke aintdeydo?
Whiteknight I dont know why the compiler doesn't like any of my fixes
chromatic C's type system is awfully thin? 01:04
Whiteknight a is a const void *, but when cast to const SymReg** it says I'm discarding qualifiers
so that doesn't make any sense, because the cast includes const 01:05
chromatic Maybe you need to cast to const SymReg * const * 01:06
bacek Whiteknight, we cast it to "SymReg**", not const SymReg
Whiteknight chromatic: I hadn't considered that particular incantation
if I typedef SymReg* pSymReg, then cast to const pSymReg*, it works 01:07
chromatic++ That idea worked
and it's cleaner than the other stuff I tried with typdefs or unions
chromatic const in C is... hard to explain. 01:08
Whiteknight true, and I've seen it explained incorrectly so many times 01:09
I've always felt that a good type system wouldn't make you jump through a million stupid hoops just to do simple operations like this
all this effort, and absolutely zero difference in the generated machiencode
01:10 AndyA joined
Coke that leaves only 3 warnings in that branch. 01:11
(gcc, anyways)
Whiteknight where at? 01:12
nopaste "coke" at 72.228.52.192 pasted "last 3 warnings in rm_cflags under GCC." (3 lines) at nopaste.snit.ch/19803
Coke first one is generated code, I'm trying to find the incantation to shut it up.
last two are function signature mismatches, I think.
chromatic Yeah, those are the result from what I did yesterday. 01:13
Coke you brokez it? 01:16
Whiteknight line 5887 in imcparser.c doesn't have a "&&"
dalek kudo/master: 43e22db | pmichaud++ | src/Perl6/Actions.pm:
Make &-sigiled variables act like scalars also (they don't flatten).
01:18
kudo/master: c7d3993 | pmichaud++ | src/pmc/perl6multisub.pmc:
Merge branch 'master' of git@github.com:rakudo/rakudo
Whiteknight actually, it is like 5897 because the damn #line directives are screwey
dalek rrot: r44524 | whiteknight++ | branches/rm_cflags/compilers/imcc/reg_alloc.c:
fix two build warnings here involving const. chromatic++ for the winning idea
Whiteknight but there's no "&&" there either
chromatic Looking. 01:19
Whiteknight HATES #line directives 01:22
seriously, hate.
I configured with --no-line-directives, but apparently bison didn't get the memo 01:24
chromatic I don't get that error message on the branch.
s/error message/warning/ 01:25
Whiteknight the error I'm getting is actually on line 5898, not 5897 or 5887 like the compiler reports
chromatic if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
yyalloc = YYSTACK_ALLOC_MAXIMUM;
Whiteknight yep, that's the one 01:26
Coke that's in the generated code, yes? 01:27
Whiteknight The error doesn't even make sense. a non-zero constant with logical && can evaluate to false if the other argument is false
Coke (I just found the switch to stop complaining about that.)
Whiteknight so the error message is just wrong 01:28
tewk Whiteknight, it means that the && expr is dead code you only need one of the two operands. 01:29
Whiteknight tewk: sure, that's okay. But the error message doesn't say that really
tewk if ( mybool && true ) just needs to be if (mybool)
Whiteknight not to mention that neither side of that operator is a non-zero constant
Coke doesn't matter, it's gone from the branch now. =-) 01:31
tewk One possiblity, yyalloc is signed and YYSTACK_ALLOC_MAXIMUM is unsigned maximum. then yyalloc <= YYSTACK_ALLOC_MAXIMUM) will always be true
chromatic That was my guess.
Whiteknight normally in those cases you get a warning about comparions between signed/unsigned, or even a warning about a condition that is always true 01:32
tewk Whiteknight, gcc does constant folding/optimization very early in compile process(during parse), so often the messages you get are for already transformed code. 01:33
Whiteknight breaking it up onto two lines, "char foo = yyalloc <= YYSTACK_ALLOC_MAXIMUM", and I get no error at all
not even a warning about the mismatched comparison, or the case that is never false
so that's stupid 01:34
Coke chromatic: broke teh build.
dalek rrot: r44525 | chromatic++ | branches/rm_cflags/compilers/imcc (3 files):
[IMCC] Fixed constness and casts of emitter open functions.
01:35
rrot: r44526 | coke++ | branches/rm_cflags/config/auto/warnings.pm:
This warning is in generated code; ignore it.
01:37 eternaleye joined
Coke after r44525, the branch is failing to build for me: 01:45
compilers/imcc/instructions.c: In function 'e_file_open':
compilers/imcc/instructions.c:799: error: 'param' undeclared (first use in this function)
(which is wierd, because param isn't there.)
fixed. I think that kills all warnings with gcc, hiding as few as possible. 01:53
Whiteknight++
chromatic++
kid51++
Whiteknight w00t 01:54
Coke ... why am I bothering with this again? =-)
Austin You needed something to put on the tpf wiki ? 01:55
You needed something to put on the tpf wiki ? 01:56
ww
Whiteknight Austin: ctrl+c, ctrl+v?
Austin Up-arrow enter.
In the wrong window.
Whiteknight anyway, I'm out for the night. Later. 01:58
02:08 sushibowl joined
dalek rrot: r44527 | coke++ | branches/rm_cflags/compilers/imcc/instructions.c:
rename this parameter back to param - otherwise it breaks the build.
02:09
rrot: r44528 | coke++ | failed to fetch changeset:
merge latest changes from trunk
rrot: r44529 | jkeenan++ | branches/rm_cflags/t/steps/auto/warnings-01.t:
Add test for verbose output: case where we do not support compiler warnings.
9plus: f79eca6 | mxia++ | plugins/com.aptana.radrails.intro/plugins_radrails_2.0.xml:
Updated Nokia to 2.3.
02:34
9plus: a7c5cd9 | mxia++ | builders/build_win_installer/windows-nsis/Aptana RadRails.nsi:
Delete the subdirectories individually instead of deleting the whole installation dir at once when uninstalling.
9plus: 117bf73 | mxia++ | builders/rcp_build/build_local.properties:
Updated to 2.0.1.
9plus: 48267f2 | mxia++ | features/com.aptana.radrails.feature (2 files):
Updated version to 2.0.1.
9plus: 813544e | mxia++ | (3 files):
Updated the modified plugins and features to 2.0.2.
9plus: e28ee11 | sgtcoolguy++ | plugins/ (11 files):
Fix issue where HAML editor choked on '/' character
9plus: 6b8e5c0 | sgtcoolguy++ | (2 files):
bump version number to hopefully help with update issue
9plus: 6a9e773 | mxia++ | (3 files):
Updated the version to 2.0.3.
9plus: ddcc7de | mxia++ | (13 files):
Merge branch 'master' of github.com:aptana/radrails
9plus: ec37409 | mxia++ | license.html:
Checked in a non-code change to force the master branch to have the latest revision.
a: d566f0d | (Yuki Sonoda (Yugui))++ | 1.8/core/array/insert_spec.rb:
* adds 1.9 feature to the spec for Array#insert.
a: 971b40d | (Yuki Sonoda (Yugui))++ | 1.8/core/array/inspect_spec.rb:
* changes the spec for Array#inspect.

   Ruby language.
a: fe3c5f4 | (Yuki Sonoda (Yugui))++ | 1.8/core/array/intersection_spec.rb:
adds description to Array#&.
a: 9c9ed89 | (Yuki Sonoda (Yugui))++ | 1.8/core/array/join_spec.rb:
* adds 1.9 feature to the spec for Array#join
a: 07a18da | (Yuki Sonoda (Yugui))++ | 1.8/core/array/join_spec.rb:
weaken the description for recursive arrays because it is implementation
a: 311b4d3 | (Yuki Sonoda (Yugui))++ | 1.8/core/array/ (3 files):
* adds 1.9 feature to the spec for Array#last
a: 24e7204 | (Jim Deville)++ | 1. (43 files):
Merge branch 'master' of git@github.com:rubyspec/rubyspec
a: 446a907 | (Jim Deville)++ | 1.8/library/bigdecimal/remainder_spec.rb:
resolved leftover conflict in bigdecimal/remainder_spec.rb
a: e16f6bf | (Jim Deville)++ | 1. (17 files):
specs added by various people to TFS
a: f122b8d | (Jim Deville)++ | 1.8/ (51 files):
syncing to head of tfs
imitivearc: 1338303 | mxia++ | plugins/com.aptana.ide.rcp/META-INF/p2.inf:
Try to see if removing the last slash works.
imitivearc: 30cf6ad | mxia++ | plugins/com.aptana.ide.rcp/META-INF/p2.inf:
Reverted back to the early version of p2.inf and then track it down from there.
imitivearc: d354147 | mxia++ | plugins/com.aptana.ide.rcp/META-INF/p2.inf:
Fixed the p2.inf.
imitivearc: 0c81695 | mxia++ | builders/build_win_installer/windows-nsis/Aptana Studio.nsi:
Delete the subdirectories individually instead of deleting the whole installation dir at once.
imitivearc: 4df130d | mxia++ | (3 files):
Updated the version of modified plugins and features they belong to 2.0.1.
imitivearc: b6159db | mxia++ | (3 files):
Updated the modified plugins and features to 2.0.2.
imitivearc: bfcee28 | (Max Stepanov)++ | plugins/com.aptana.ide.rcp/ide.product:
increase max heap size to 512m
imitivearc: 347aefc | mxia++ | features/com.aptana.ide.feature.studio/feature.properties:
Pushes a minor change to update the qualifier.
imitivearc: a9db34e | mxia++ | plugins/com.aptana.ide.rcp/ide.product:
Merge branch 'master' of github.com:aptana/studio
imitivearc: db237a6 | mxia++ | (3 files):
Updated the version to 2.0.3.
kea: ada022d | Nils++ | adventure/ (2 files):
kea: Fehler beim druecken von Enter behoben wenn kein Gegenstand auf dem Feld ist
kid51 Hmm, dalek seems to be reporting lots of non-parrot stuff on github 02:40
TimToady to #perl6 too
02:42 dalek joined
mikehh kid51: I am getting very random TODO passes with t/dynoplibs/random-range.t 02:48
Austin mikehh: Yeah. The prng sometimes passes, sometimes fails - it's not random enough. 02:49
I marked them as todo so they wouldn't fail the build, but I'd be glad for a better testing solution.
mikehh Austin: I messed around with it a bit - increased the count to 100000 and even 1000000 but still got similar results 02:50
Austin Right. If we loosen up the chi2 threshold (use one of the columns other than the leftmost one in the table) you can reduce the frequency of failures, but that just makes it more surprising when the failure happens. 02:51
mikehh the problem is that I don't think truly random numbers (as opposed to pseudo-random) would always pass the test 02:52
Austin Heh. 02:54
Sure, there's always the chance of rolling 100 seven's in a row.
dalek rkdown: e0b74f0 | (Aslak HellesĆøy)++ | lib/cucumber/formatter/pdf.rb:
Merge branch 'master' of git://github.com/andyw8/andyw8-cucumber
rkdown: d7eb93c | (Aslak HellesĆøy)++ | History.txt:
Attributions [#553 state:resolved]
rkdown: 16c29ac | (Aslak HellesĆøy)++ | features/html_formatter/a.html:
Fix broken feature
rkdown: 6af3d51 | (Aslak HellesĆøy)++ | cucumber.gemspec:
Update gemspec
rkdown: c4b4da5 | (Aslak HellesĆøy)++ | (2 files):
upgrade spork
rkdown: 769fa85 | (Aslak HellesĆøy)++ | (7 files):
Bugfix: PDF generation requires 'prawn-format' [#558 state:resolved]
kid51 mikehh: Yes, I just did a smolder test and got "unexpected todos" in that test
dalek rkdown: d39b044 | (Joseph Wilk)++ | (6 files):
Show profiles in error scenario summary [#550 state:resolved]
rkdown: b6ff65d | (Aslak HellesĆøy)++ | (6 files):
Merge branch 'master' of git://github.com/josephwilk/cucumber
rkdown: fb878f1 | (Aslak HellesĆøy)++ | (2 files):
Update --help for --tags which was out of date
rkdown: 2d70244 | (Aslak HellesĆøy)++ | (2 files):
Merge branch 'master' of git://github.com/mattwynne/cucumber
n: 92720cc | (Duncan Harris)++ | 720p/ (8 files):
added: Settings submenu for Home
02:55 eternaleye joined
dalek n: e4000af | (Duncan Harris)++ | (7 files):
updated: new Context/Button Menu
02:55
n: 8225204 | (Duncan Harris)++ | 720p/Viewtype_List.xml:
removed: unused Play symbol for List
n: a31c3b6 | (Duncan Harris)++ | 720p/ (20 files):
updated: darken filter for dialogs disabled
n: bd945af | unknown++ | 720p/ (7 files):
updated: new fonts
n: 634c442 | (Duncan Harris)++ | (2 files):
fixed: Music List icon edge
n: c73e2bd | (Duncan Harris)++ | 720p/ (2 files):
fixed: y alignment for Small List
n: 1a0c6cf | (Duncan Harris)++ | 720p/Viewtype_Multiplex.xml:
fixed: glass transparency for Multiplex Movies
n: cb0dfcc | (Duncan Harris)++ | 720p/Font.xml:
updated: font update for Progress Dialog
n: 363709f | (Duncan Harris)++ | (5 files):
updated: native media flagging support
parrot: 870ad48 | treed++ | Rakefile:
Add a smolder target to the Rakefile to submit report.tar.gz to the appropriate website.
parrot: 7d77922 | treed++ | Rakefile:
Refactor the Rakefile a little.
parrot: c25a9e2 | treed++ | Rakefile:
Add Parrot Revision to smolder report, and adjust method for getting commit id. (jdv79++)
parrot: 46b861f | treed++ | Rakefile:
Move the Parrot Revision to its proper place. (jdv79++)
parrot: e1037c8 | treed++ | Rakefile:
Ensure that get_submitter always returns something. (jdv79++)
parrot: 62ad078 | fperrad++ | (14 files):
Merge remote branch 'cardinal/master'
parrot: 10dca74 | fperrad++ | (5 files):
update infrastructure with setup.pir (distutils)
parrot: e68c574 | fperrad++ | plumage/cardinal.json:
add a Plumage description
parrot: 9c99a89 | fperrad++ | setup.pir:
- update the URL of Smolder
parrot: dab2076 | fperrad++ | plumage/cardinal.json:
Plumage description

  - move to ports/plumage
9plus: fa91da5 | Andreas++ | django_extensions/locale/ (14 files):
Initialize the i18n procedure.
9plus: ef8811d | alup++ | django_extensions/locale/el/LC_MESSAGES/django.po:
l10n: Updates to Greek (el) translation
9plus: 8b0befd | (Jeff Balogh)++ | django_extensions/management/commands/ (4 files):
Django removed ERROR_OUTPUT in [12009]; ERROR does the same thing
9plus: e0b5f42 | (Flavio Curella)++ | django_extensions/locale/it/LC_MESSAGES/django.po:
l10n: Updates to Italian (it) translation
9plus: 3aa769e | (Flavio Curella)++ | django_extensions/locale/it/LC_MESSAGES/django.po:
l10n: Updates to Italian (it) translation
9plus: 655a1c3 | (Dimitris Glezos)++ | django_extensions/locale/el/LC_MESSAGES/django.po:
l10n: Updates to Greek (el) translation
9plus: 089a25a | (Jannis Leidel)++ | django_extensions/locale/ (14 files):
Merge remote branch 'alup/master'
9plus: 7390864 | (Jannis Leidel)++ | django_extensions/locale/de/LC_MESSAGES/django.po:
l10n: Updates to German (de) translation
9plus: 8f6b8f4 | (Alejandro Varas)++ | django_extensions/locale/es/LC_MESSAGES/django.po:
l10n: Updates to Spanish (Castilian) (es) translation
9plus: 9a93358 | (Alejandro Varas)++ | django_extensions/locale/es/LC_MESSAGES/django.po:
l10n: Updates to Spanish (Castilian) (es) translation
l: 8229009 | (Todd Werth)++ | (4 files):
Changed and added git bash commands. Included show_colors script
l: f6243a0 | (Todd Werth)++ | etc/bashrc_ (2 files):
Minor tweaks to app specific stuff in bash
l: 5fdd72a | (Todd Werth)++ | (15 files):
Updates to snipMate and snippets. Added git completion to bash, and changed prompt to show git branch. Misc etc
l: 85ae208 | (Todd Werth)++ | etc/ (4 files):
Minor tweaks: added ability to have a local bashrc file per machine. Added style for over 120 char lines in vim. Misc
l: b20cf68 | (Todd Werth)++ | etc/ (6 files):
Color mods for Snow Leopard (thanks davidyang). Tweaked previous commit. Changed long line format in vim
l: 8b449b0 | (Todd Werth)++ | etc/ (8 files):
Misc and javascript changes. Set vi mode in bash. Fixed prompt issue. Added single unit test in rails. Javascript tweaks
l: 80bc979 | (Todd Werth)++ | (3 files):
Added jsl (javscript lint) binary, config, and wrapper script
l: 21bbec6 | (Todd Werth)++ | etc/ (9 files):
Various misc changes I made over the last month. Added taglist plugin
mikehh dalek needs to sort out what we get here (and perl6) 02:58
plobsing_ some of those posts are rather entertaining. It never occurred to me that hq9plus needed i18n and l10n.
mikehh I'll accept plparrot, but markdown, gil, hp9plus, fun? 02:59
Austin I just /ignore dalek.
plobsing_ mikehh: those are all (dormant) parrot projects 03:00
mikehh well I still like parrot
well someone is working on them 03:01
plobsing_ nope, look at the review links. They point to the wrong repos. 03:02
mikehh meanwhile back on the ranch 03:04
All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32419), fulltest) at r44529 - Ubuntu 9.10 i386 (g++ with --optimize)
that of course includes TODO passes 03:05
03:10 dalek joined 03:39 snarkyboojum joined 03:48 janus joined
dalek rdinal: 1573324 | jkocherhans++ | django/views/debug.py:
Fixed #10216. Only try to gather template exception info if the exception is a Django TemplateSyntaxError. Thanks, Alex Gaynor.
03:53
rdinal: 4f97557 | jbronn++ | docs/intro/tutorial03.txt:
Fixed #12958 -- Fixed typo I introduced in r12527. Thanks, mitchf.
treed The fuck?
rdinal: 1dffed7 | jkocherhans++ | (2 files):
Fixed #12901. Again. Model validation will not be performed on excluded fields that were overridden in the form. Thanks, ammarr.
rdinal: ad49d15 | russellm++ | django/core/management/commands/syncdb.py:
Fixed #12712 -- Corrected a problem with synchronizing that prevented m2m tables from being created under certain circumstances. Thanks to IonelMaries for the report, and Alex Gaynor for the patch.
treed That's... not cardinal.
dalek rdinal: 4ad90c4 | russellm++ | (10 files):
Fixed #6191, #11296 -- Modified the admin deletion confirmation page to use the same object collection scheme as the actual deletion. This ensures that all objects that may be deleted are actually deleted, and that cyclic display problems are avoided. Thanks to carljm for the patch.
rdinal: e755a8b | russellm++ | tests/regressiontests/admin_views/fixtures/deleted-objects.xml:
Added file omitted from r12598.
plobsing_ dalek?
purl i guess dalek is #parrot's spammy little rss bot or (see: dalek plugins)
treed It appears that dalek is reading django's feed for cardinal's.
plobsing_ dalek plugins?
purl hmmm... dalek plugins is github.com/Infinoid/dalek-plugins/tree/master
plobsing_ do I poke Infinoid about dalek problems? 03:55
kid51 plobsing_: good idea
purl kid51: Good Idea: Going alpine skiing in the winter. Bad Idea: Going alpine skiing in the summer.
plobsing_ msg Infinoid dalek seems to be reading the wrong github feeds 03:56
purl Message for infinoid stored.
kid51 I posted on list, but I did that because I couldn't remember who took care of dalek
kid51 must sleep
purl $kid51->sleep(8 * 3600);
04:01 dalek joined
dalek lectus: cf667a2 | (Eric Florenzano)++ | tests/ (3 files):
Added the ability to run the tests in a standalone way.
04:02
lectus: 8020c5b | (Eric Florenzano)++ | .gitignore:
Add a .gitignore
lectus: 5469668 | (Eric Florenzano)++ | tests/settings.pyc:
Remove an accidental pyc file checkin
lectus: 1fb5b47 | (Eric Florenzano)++ | avatar/views.py:
Add a clarifying comment
lectus: 2ef99bc | (Eric Florenzano)++ | avatar/default.jpg:
Moved default.jpg to reflect the community standard for media files
lectus: 67361f3 | (Eric Florenzano)++ | avatar/__init__.py:
Remove vestigial import
lectus: 5648cb9 | (Eric Florenzano)++ | (6 files):
Cleanup, reorganization, moved the default avatar url to conform to community standards, and added a test to ensure that it's correct.
lectus: b50c1b1 | (Eric Florenzano)++ | avatar/ (2 files):
Cleanup, reorganization, moved the default avatar url to conform to community standards, and added a test to ensure that it's correct.
plobsing_ STOP THE MADNESS!
lectus: 111ecd8 | (Eric Florenzano)++ | avatar/ (4 files):
Obsessive compulsive import cleanup
lectus: 85adf39 | (Eric Florenzano)++ | avatar/views.py:
More obsessive compulsiveness
l: b6b49a4 | (Mark Paschal)++ | setup.py:
Add trove classifiers
l: 83cff7f | (Mark Paschal)++ | setup.py:
Read long description from readme
l: 78db368 | (Mark Paschal)++ | LICENSE:
Add date to license file
l: 873377b | (Mark Paschal)++ | setup.py:
Point URL at github project, not just the documentation pages
l: a685527 | (Brad Choate)++ | remoteobjects/http.py:
Helper methods for issuing HEAD/OPTIONS HTTP requests on objects.
l: 8ce5e50 | (Brad Choate)++ | remoteobjects/promise.py:
A PromisedResponse object and head() and options() methods for representing these requests in a batch.
l: 3545a29 | (Mark Paschal)++ | setup.py:
Don't care if the README can't be read (such as during easy_install, sometimes, maybe)
l: 4f388f9 | (Brad Choate)++ | setup.py:
Merge branch '1.1' into caching
l: cba5699 | (Brad Choate)++ | (4 files):
Release metadata; added changelog.
l: 4fd1d03 | (Alex Gaynor)++ | remoteobjects/fields.py:
Allow None values on Datetime
zy-k: aedacc5 | wilkie++ | kernel/ (2 files):
Synchronization in system calls without global locks across all system calls?
zy-k: c1a203f | wilkie++ | kernel/ (7 files):
Gibs and RamFS in kernel space.
zy-k: c9c88a9 | wilkie++ | (14 files):
Userspace Gibs and RamFS.
zy-k: 83a1e5f | wilkie++ | (4 files):
Added Gib functionality to userspace Gib.
zy-k: 27ebad2 | wilkie++ | kernel/dev/console.d:
Kernel Console driver now with more security.
zy-k: b038354 | wilkie++ | kernel/core/kmain.d:
Silly sleep.
zy-k: 4c02100 | wilkie++ | kernel/core/kmain.d:
Don't need that.
zy-k: a5b8f00 | wilkie++ | (12 files):
Took out a static library that can be built from the repo. Added keyboard driver.
zy-k: ff6992c | wilkie++ | (13 files):
Userspace keyboard driver.
lazy-k: 8fac755 | xomboverlord++ | (319 files):
lazy-k: Merge branch 'master' of git://github.com/wilkie/xomb
treed yeah, dalek is broken
huh 04:05
treed was in the middle of kicking
04:06 dalek joined
dalek izkost: 21b18c7 | dukeleto++ | t/01-basic-math.t:
Refactor basic math tests
04:16
izkost: 2ed67c1 | dukeleto++ | t/builtins/require.t:
Refactor require tests
izkost: 1130257 | dukeleto++ | t/ (2 files):
Basic test for use and turn on strict/warnings in t/01-basic-math.t
treed That seems to be legit.
dalek izkost: 2a2b97f | moritz++ | Configure.pl:
Configure.pl - nicer error message when no parrot_config is found
izkost: 8937c68 | dukeleto++ | t/02-eval.t.disabled:
Re-enable t/02-eval.t with a check to see if v6.pm is installed
izkost: 8151531 | dukeleto++ | Configure.pl:
Merge branch 'master' of github.com:jnthn/blizkost
izkost: 2dfe9b5 | fperrad++ | (2 files):
patch ISS file (blizkost -> perl5)
izkost: f8b96dd | fperrad++ | build/Makefile.in:
remove useless LD_RUN_PATH
izkost: acba2b1 | dukeleto++ | Configure.pl:
Give a slightly better error message when Configure.pl can't find the build tool
izkost: 154c89f | dukeleto++ | TODO:
Add a TODO file and notes about loading XS
rdinal: 870ad48 | treed++ | Rakefile:
Add a smolder target to the Rakefile to submit report.tar.gz to the appropriate website.
rdinal: 7d77922 | treed++ | Rakefile:
Refactor the Rakefile a little.
rdinal: c25a9e2 | treed++ | Rakefile:
Add Parrot Revision to smolder report, and adjust method for getting commit id. (jdv79++)
rdinal: 46b861f | treed++ | Rakefile:
Move the Parrot Revision to its proper place. (jdv79++)
rdinal: e1037c8 | treed++ | Rakefile:
Ensure that get_submitter always returns something. (jdv79++)
treed Uh, hm.
These are ancient.
rdinal: 62ad078 | fperrad++ | (14 files):
Merge remote branch 'cardinal/master'
rdinal: 10dca74 | fperrad++ | (5 files):
update infrastructure with setup.pir (distutils)
rdinal: e68c574 | fperrad++ | plumage/cardinal.json:
add a Plumage description
rdinal: 9c99a89 | fperrad++ | setup.pir:
- update the URL of Smolder
rdinal: dab2076 | fperrad++ | plumage/cardinal.json:
Plumage description

  - move to ports/plumage
treed Dammit.
treed No +q mode here.
n: 3419602 | Jarrod++ | examples/euler1.fun:
Left a line commented out in the euler1.fun example. Whoops.
n: 9f8e595 | Jarrod++ | (3 files):
Added lor and land. The 'l' stands for both 'list' and 'lazy'. They take list arguments and run them, instead of pulling two value types off the stack. The big advantage is that these are short circuiting expressions, so using these should save a few cpu cycles.
n: 2984157 | Jarrod++ | (3 files):
Applied a few handy patches provided by fperrad++
n: 33619ae | Jarrod++ | config/makefiles/root.in:
Applied a small patch to patch a patch :) fperrad++
n: 44c4b1d | Jarrod++ | (7 files):
Updated the build process (fperrad++). Also added pred/succ builtins for better compatibility with 'joy' code.
n: d64c0bb | Jarrod++ | (5 files):
Fixed the build to work with the new parrot. Seems fine..
n: 0c0d119 | fperrad++ | (8 files):
update infrastructure with setup.pir (distutils)
fun: dd934e1 | fperrad++ | (4 files):
fun: refactor with opcode 'load_language'
04:26 dalek joined
Tene Austin: rethrow is not setting the backtrace incorrectly. the default handler for unhandled exceptions just doesn't use the backtrace of the exception for reporting, but just calls PDB_backtrace, which prints out the trace for the current operation. 04:57
Austin Ahh.
Tene Still needs to be fixed, sure, just not quite the same problem.
Austin So the data is present but ignored?
Tene Yeah.
Austin Well, you can close that ticket if you like, and I'll open another one. :) 04:58
Tene Hmm. I'm not sure whether the 'backtrace' stuff has all the information we need. Investigating. 05:01
Austin Something about subs and annotations. Nothing about contexts. 05:02
Tene yeah.
well, it comes from the 'backtrace' method of the context of the resume continuation.
Austin Why does context have a backtrace method? 05:03
(Other than to support exceptions, I guess...)
Tene dunno
05:11 jsut_ joined
Tene PDB_backtrace *is* getting file and line from an annotations. 05:16
PMC *annot = PackFile_Annotations_lookup(interp, interp->code->annotations, 05:17
Parrot_pcc_get_pc(interp, ctx) - interp->code->base.data + 1, NULL);
PDB_backtrace adds one to the third arg of PFAl, but callcontext's backtrace doesn't. 05:22
07:41 hicx174 joined 07:52 dduncan joined 07:54 dduncan left, eternaleye joined, dduncan joined 07:55 hicx174 joined
Tene Ooo... I think I got it. Testing... 08:08
Yay, segfault! 08:09
nopaste "tene" at 76.27.121.193 pasted "Austin: try this with r44533" (29 lines) at nopaste.snit.ch/19804 08:16
Tene PDB_backtrace was *checking* for additional file/line info from annotations, but that's not where it was actually getting it from. 08:17
I added an extra entry to the backtrace frames that gets the same information that the current PDB_backtrace is using.
should be pretty trivial to write a new backtrace dump that uses that. 08:18
HLL file/line if available, PIR file/line if not.
anyway, g'night all 08:19
08:20 iblechbot joined
dalek rrot: r44533 | tene++ | branches/exceptions_refactor/src (2 files):
Allow rethrowing subclasses of exception.
08:21
08:39 bacek joined 08:40 fperrad joined
bacek aloha 08:44
08:45 hicx174 joined
cotto hio bacek 09:02
bacek aloha cotto
I've got idea for opsc
cotto do tell
bacek Just reimplement current ops2c in exact same way
(In terms of classes and design) 09:03
cotto including all the regex nastiness? 09:04
bacek not all of them 09:05
purl not all of them are modifying my brain
bacek but it will be good starting point to completely understand what we want at the end from parser/compiler
cotto I'd rather just pick at the existing code to figure out what we need the compiler to do and design based on that. 09:08
Is understanding the ops2c code your main goal or is there more to that approach? 09:09
bacek Test suite 09:10
purl Test suite is probably just not testing enough cases.
bacek (and actually I do like current ops2c design)
cotto I have a low view of the ops2c and pmc2c tests.
if there's anything reusable in there, I completely agree that we should use it. I don't suspect there's very much. 09:11
bacek Not "ops2c" tests. Test which we'll write for opsc. 09:12
cotto Are you saying that we should try to write tests against ops2c that will also work for opsc? 09:13
bacek no-no-no
Just write tests for opsc. 09:14
But don't redesign opsc from scratch.
Just reimplement ops2c in NQP as close as possible
cotto design opsc and its tests based on ops2c's current design?
bacek s/possible/make sense/ 09:15
yes, exactly
cotto That approach makes sense. 09:17
The parsing logic will need to be more cleanly separated than it is in ops2c, but that'll come naturally if we have a separate grammar. 09:20
bacek agreed
Actually bit part of OpsFile can be implemened in sane way. 09:21
cotto yes
bacek But it will require almost full grammar of C
But we can probably adopt Close's grammar for it 09:22
cotto I think blatant cheating is an option there.
bacek It's not cheating! It's borrowing!
cotto Whatever we do, I'm sure it'll be better than the {{=0}} nonsense that OpsFile currently does. 09:24
bacek It's not actually "nonsense". It was just quickest way
cotto the parser will only need to be smart enough to pick out the special bits like $1 and expr NEXT(); 09:25
bacek Is LTM works in nqp-rx?
cotto istr that it does now
You'll have to verify with pmichaud
bacek than we can do partial parsing.
msg pmichaud Is LTM works in nqp-rx? 09:26
purl Message for pmichaud stored.
cotto {{=0}} makes sense when using perl 5 and regexes. We have better tools. 09:27
bacek indeed
but as first cut we can do in same way 09:28
And then implement proper op body parsing
cotto make it work then make it work well
bacek exactly :)
Or we can just introduce special language for op bodies 09:29
and than implement parsing and translating it into plain-C
cotto Call it "Lorito". ;)
bacek xkcd 707! 09:30
Now I have to kill you :)
cotto I'm loving the idea of having the PIR compiler be a checked-in copy of a bunch of Lorito-generated C code. 09:31
bacek That's what I'm trying to achieve
cotto I love the smell of bootstrapping in the morning.
(but not boots)
yup
bacek So, I'm going to create bunch of skeleton files for opsc 09:33
Fix make to actually use them
cotto and beat pmichaud
(as in be faster than, not as in injure) 09:34
bacek We already done it! opsc resurrected and passing make test!
cotto nice work there, btw 09:37
I need to sleep. 09:38
good night
bacek good night 09:42
msg pmichaud (I know you against it) What about NQP Settings library shipped with Parrot? Not fancy stuff, just something like Hash.kv, String.match, etc. Simplified version of Perl6 Settings which mapped directly to Parrot's guts. Just because there is already few projects reinventing wheel on their own (plumage, opsc, etc?) 09:52
purl Message for pmichaud stored.
10:07 dduncan left 10:58 iblechbot joined
dalek nxed: r428 | julian.notfound++ | trunk/examples/pirado.winxed:
pirado: use op_family to search for appropiate opcode, testing labels and "goto"
11:28
purl i heard syntactic sugar was there for a reason :-) or at obvious.freeshell.org/cake.jpg
11:33 lucian joined 11:37 AndyA joined 11:39 eternaleye joined 11:41 lucian joined 11:54 lucian_ joined 12:12 payload joined, lucian joined 12:16 lucian_ joined 12:28 sushibowl joined
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32424), fulltest) at r44533 - Ubuntu 9.10 i386 (gcc with --optimize) 12:35
still random TODO passes with t/dynoplibs/random-range.t 12:36
12:45 joeri joined
mikehh rakudo - All tests PASS - test, spectest-smolder #32426 - built on parrot r44533 - Ubuntu 9.10 i386 (gcc with --optimize) 12:52
rakudo - had to apply a patch to get g++ to build but with the patch 13:25
rakudo - All tests PASS - test, spectest-smolder #32427 - built on parrot r44533 - Ubuntu 9.10 i386 (g++ with --optimize)
fperrad ttbot ? 13:28
purl ttbot is, like, TapTinder build bot owned by mj41 and reporting tt.ro.vutbr.cz/buildstatus/pr-Parrot/rp-trunk build errors. or a master of timing
fperrad purl ? 13:29
purl fperrad?
nopaste "mikehh" at 94.10.35.176 pasted "patch to get rakudo to build with g++" (13 lines) at nopaste.snit.ch/19805 13:32
mikehh the patch is to rakudo not parrot 13:34
13:50 pjcj joined 14:02 Whiteknight joined
dalek nxed: r429 | julian.notfound++ | trunk/examples/pirado.winxed:
pirado: improve arg parsing, now some jump opcodes works, still limited to
14:52
15:08 cognominal joined 15:09 jsut joined 15:15 lucian joined
Whiteknight good morning 15:17
purl msg Tene do we have tests for throwing/rethrowing subclasses? 15:25
purl Message for tene stored.
pmichaud purl messages 15:28
Whiteknight purl msg plobsing should we list Parrot_ext_call_cb as experimental? At least until we have good tests for it.
purl Message for plobsing stored.
Whiteknight purl msg plobsing is there a performance penalty using Parrot_pcc_build_sig_object_from_varargs in terms of Parrot_pcc_build_sig_object_from_callbacks? 15:30
purl Message for plobsing stored.
pmichaud msg bacek I have no problem with creating an nqp settings library -- we've even discussed hosting it in the nqp-rx repository. I just got sidetracked onto other things in the past few weeks/months. Maybe we should just start one in the nqp-rx repo and see where we end up...? 15:32
purl Message for bacek stored.
Whiteknight pmichaud: settings library?
15:33 lichtkind joined
lichtkind dear devs please have a look at www.perlfoundation.org/perl6/index.cgi?parrot 15:33
dukeleto: you could too :)
Whiteknight s/there Perl source code/their Perl source code/ 15:35
pmichaud Whiteknight: a library that can be loaded at runtime to provide even more p6-like behaviors
NotFound lichtkind: "a subset of Perl 6 that is much fiendlier and faster to code in for normal people." Faster than what? And: what is "normal people"?
Whiteknight pmichaud: isn't that what kakapo intends?
pmichaud Whiteknight: I think so -- bacek's point is that several people seem to be independently creating one 15:36
and japhb started on back in december
*one
Whiteknight ok 15:38
lichtkind NotFound: yes its written a bit sloppy, anything else you found?
Whiteknight I guess there is no harm in having multiple such libraries
Austin Whiteknight: Technically, kakapo intents to be *useful.* I haven't limited myself to the specs, although in general I try to comply when I'm in the same neighborhood. So kakapo has unit test code, matchers, mock generators, etc., in addition to whatever spec compliance stuff I've written.
Whiteknight Austin, I had been planning a mock object project, so no need for that anymore 15:39
Austin Commits welcome! 15:40
Whiteknight if you have a bit for me
NotFound lichtkind: nothing else.
purl well, nothing else is counting how many hours scrottie's computer has been on! SMART rules!
Austin Got a gitorious id?
dalek p-rx: 581e2ae | pmichaud++ | src/NQP/Actions.pm:
Default to using root_new ['parrot';'Hash'] instead of new ['Hash'].
15:41
p-rx: 4d7d950 | pmichaud++ | src/stage0/ (3 files):
Update bootstrap with < ... > and root_new fixes.
p-rx: fc0d842 | pmichaud++ | src/HLL/Grammar.pm:
Fix hexints->decints typo spotted by Austin++ .
Whiteknight Austin, "whiteknight" 15:43
15:44 Psyche^ joined
lichtkind NotFound: thanks 15:44
Austin Whiteknight: Welcome to strigops-habroptilae 15:45
Whiteknight ...and what is that? 15:46
Austin It's the kakapo committers group
Sorry, "Team"
according to gitorious.
Whiteknight okay then 15:47
15:59 mikehh joined 16:08 lucian joined
NotFound There is no opcode to use get_pmc_keyed_str? $P1 = $P0[1] uses get_pmc_keyed_int but $P1 = $P0["a"] uses get_pmc_keyed 16:08
16:31 theory joined
Tene Whiteknight: we have no tests for throwing/rethrowing subclasses. I would love it if someone added some to the exceptions_refactor branch, as I haven't yet. 17:01
Austin: you see my paste from last night? 17:02
Infinoid urgh. What's going on with dalek? 17:20
Tene Infinoid: looks liek github is feeding it bad information 17:22
Infinoid ok. specific to github, then?
japhb pmichaud, Austin, bacek_at_work, feel free to suck the brains out of plumage's src/lib/Util.nqp. Note that Plumage can only use libraries that will be available with plain Parrot, so cannot use Kakapo (chicken and egg) unless Kakapo is snapshotted into Parrot like nqp-rx is. However, I would *love* to move Util.nqp into the nqp-rx repo ... ;-)
Tene That's my understanding.
dalek rrot: r44534 | NotFound++ | trunk/src/pmc/opcode.pmc:
some getter methods in Opcode PMC
17:45
ttbot Parrot trunk/ r44534 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/217599.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 17:46
NotFound Urgh. Fixing... 17:47
dalek rrot: r44535 | NotFound++ | trunk/src/pmc/opcode.pmc:
fix declaration after code from r44534
18:03
18:08 TiMBuS joined 18:16 patspam joined
dalek kapo: 3ea3d35 | austin++ | (4 files):
Added testcase assertions package
18:22
18:33 kurahaupo joined 18:43 davidfetter joined 19:24 jan joined
Infinoid so far the github feeds are behaving. but I've got a polling script that will watch it for changes, and if I see anything drastic, I'll at least know what to filter out 19:30
in the meantime, do you guys want me to disable github feeds in dalek? (it looks like some of the mistakes resulted in a lot of spam)
Infinoid asks #perl6 too 19:31
treed So the issue was on github's side? 19:33
Infinoid It sounds like it. So far it looks like they were returning someone else's log once in a while 19:34
Fortunately, my bone idleness means dalek hasn't been touched much, so I didn't introduce any new bugs there :)
treed I thought maybe they'd changed how feed URLs work or something. 19:37
19:38 kurahaupo1 joined
treed I dunno, I say leave him in. 19:38
If he starts misbehaving, we'll kickban.
ANd you can come unban when he's not misbehaving anymore.
Infinoid actually, I'll put one more hack in so it just won't emit anything that has a commit link to the wrong project. 19:39
treed Ah, that's probably a safe bet. 19:41
Infinoid though, unless dalek was restarted sometime today, I can't explain why it would re-print old history like that
(when dalek starts up, it walks the feed once and puts all the commits into a %known hash, and then from then on, it only emits stuff it hasn't seen before) 19:42
treed There was a lot of quitting and rejoining.
Which may have been restarting.
Infinoid hmm. any idea what daemontools' @400000004b889eef2a7360d4 timestamp would look like in Earth time? 19:43
treed Uh... 19:44
hard to say.
That's an odd timestamp
The @ makes me think of beats
Infinoid If it was restarted (and it must have been within the last 2 hours because of the log rotation, just having trouble getting more specific than that) and the first feed fetches it got were bad data, and then github started returning real data, the real data would be seen as new and be printed.
treed That stamp contains more data than I'd ever expect for a datetime. 19:45
64-bits
plus the 4 way on the end
Infinoid ah, tai64. I found a converter 19:46
plobsing msg Whiteknight (Parrot_ext_call_cb experimental) for sure 19:53
purl Message for whiteknight stored.
plobsing msg Whiteknight (performance penalty) a little. but I would hope our hot path through that code is from ops, which already do the same things 19:54
purl Message for whiteknight stored.
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32429), fulltest) at r44535 - Ubuntu 9.10 amd64 (gcc with --optimize) 19:56
20:21 AndyA joined 20:30 yobert joined 20:34 kurahaupo1 joined 20:38 bacek joined
dalek nxed: r430 | julian.notfound++ | trunk/examples/pirado.winxed:
pirado: refactoring and improvements, forward jumps now works
20:43
nxed: r431 | julian.notfound++ | trunk/examples/pirado.winxed:
pirado: temporary trick to parse ops with more than two args
20:52
TT #1484 created by kurahaupo++: Number of errors reported by "prove" too high 20:53
bacek ~~ 21:02
dukeleto bacek: o hai 21:03
bacek dukeleto, aloha
21:12 mikehh joined
dukeleto bacek: what are you hacking on ? 21:20
bacek dukeleto, nothing atm. May be put more effort to opsc
dukeleto bacek: opsc? 21:26
bacek dukeleto, ops_pct branch. Reimplementing ops2c in NQP 21:27
adn I do want NQP Settings library... 21:29
msg pmichaud Ok. I'll fork nqp-rx and create initial version of NQP Settings library. 21:30
purl Message for pmichaud stored.
dalek rrot: r44536 | NotFound++ | trunk/src (2 files):
make parrot_debugger breakpoints work a little
21:37
lichtkind dukeleto: jai 21:40
japhb bacek: please do steal from Plumage for that. I spent a lot of effort trying to make Util.nqp match pmichaud's requirements, I'd hate for it all to be wasted. 21:49
bacek japhb, will do
japhb thanks 21:50
lichtkind are PAST and POST still part of the HLL transformation ? 22:09
Tene Yes.
Whiteknight What optimizations do we do to get to POST? 22:11
Tene No optimization stage yet. 22:13
There's infrastructure to add one if you'd like, but nobody has explored that yet.
Whiteknight Tene: is there anything like documentation about that infrastructure? I would like to explore it if I knew where to start 22:16
purl msg Austin the mock infrastructure looks pretty awesome. I take it you like Latin?
purl Message for austin stored.
lichtkind Tene: thanks
Tene Whiteknight: you just add an additional compiler stage. You're passed the tree from the previous stage, and you should return the tree you want to pass to the next stage. 22:17
Whiteknight Tene: okay, so next question: how to add additional compiler stage?
Tene Whiteknight: compiler.'addstage'('methodname', 'after' => 'past') 22:19
Whiteknight okay, and what's the signature of the stage method? "P->P" taking and returning a reference to the root of a tree?
Tene so, like, add an 'optimize' method that accepts the tree, and a :named :slurpy param, and then .'addstage'('optimize', ...)
Whiteknight or just "P->"?
oh, what's the named slurpy param do? 22:20
Tene adverbs that might have been passed in by the user calling the compiler.
dalek rrot: r44537 | NotFound++ | trunk (3 files):
manual_attrs attribute, set it in ParrotInterpreter and Handle
22:27
22:29 eternaleye joined 22:50 Austin joined 23:04 mikehh joined
dalek nxed: r432 | julian.notfound++ | trunk/winxedst1.winxed:
fix key separator in stage 1, was using , instead of ; (how I didn't notice
23:08
23:37 mikehh_ joined
dukeleto 'ello 23:38
23:45 mikehh_ joined
Coke is running out of steam on rm_flags. =| 23:46
dukeleto Coke: what is up? 23:47
Coke laziness!
purl laziness is a virtue, after all :) or bill.wards.net/blosxom/humor/story/feynman.html
dukeleto Coke: do you need testing or something?
Coke need to fix the build for --optimize on non-gcc.
last bit of CFLAGS magic. 23:48
dukeleto Coke: what is the most useful non-gcc compiler to test? i could try to install it
Coke solaris cc.
purl i think solaris cc is the only context I recall hearing of rogue wave
Coke ooh, rogue wave. wow.
rogue wave?
purl rogue wave is, like, evil. STL is insane. Different lineage
Coke dukeleto: if you have some other funky compiler, be nice to make sure rm_cflags branch doesn't kill it. 23:49
um, tt #1484 is about prove? that ain't parrot.
dukeleto rogue waves are waves that are waves that are taller than ~3 std dev of other waves
rogue waves don't necessarily need to be caused by tsunamis 23:51
they are usually in the open ocean, and tanker companies study them, because they occasionally take out a tanker ship 23:52
23:53 mikehh_ joined
dukeleto had a math prof in grad skool that studied rogue waves 23:53
Coke: i dont have access to a solaris box, but i could try icc 23:54
Coke hokay.
wonder if anyone has tried that on trunk lately. you might want to start there. =-)
NotFound When you finish, I'll write a new c compiler just to make it break }:) 23:55