Camelia, the Perl 6 bug

IRC log for #parrot, 2010-09-14

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:02 Paul_the_Greek pmichaud:  Which Rakudo repository is the latest? I want to look at the test that is failing because of the Boolean change.
00:02 NotFound pmichaud: I don't see anything wrong in the ByteBuffer usage.
00:03 kid51 is now known as kid51_at_dinner
00:10 Paul_the_Greek NotFound: Do you know where the Rakudo repository is?
00:11 Paul_the_Greek I found it.
00:12 NotFound pmichaud: I've tested a winxed adaptation of that code and gives the results expected.
00:13 Paul_the_Greek pmichaud: Can you point me at S03-operators/short-circuit.t ?
00:14 Paul_the_Greek NotFound, we might as well just talk to each other.
00:14 nopaste "NotFound" at 192.168.1.3 pasted "Two identical decode functions give same result - winxed" (26 lines) at http://nopaste.snit.ch/23318
00:17 dalek parrot: r48985 | jkeenan++ | trunk (3 files):
00:17 dalek parrot: Per discussion with pmichaud et. al., only the 'die' needs to be handled via deprecation cycle.  Duplicated vtable functions can be eliminated now.
00:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48985/
00:17 NotFound Same using bb.get_string and using bb.get_string_as
00:18 Paul_the_Greek NotFound: The two you pasted are identical.
00:19 Paul_the_Greek NotFound: Do you know if there is a way to search for a particular file on Github?
00:19 NotFound Paul_the_Greek: that was pmichaud said, two identical versions.
00:20 NotFound Paul_the_Greek: I'm a complete newbie in github usage
00:20 Paul_the_Greek Right, I was concerned that you thought the two you posted were different (get_string vs. get_string_as).
00:21 Paul_the_Greek Oh, the test I'm looking for is not at the Rakudo Github.
00:31 whiteknight left #parrot
00:32 Paul_the_Greek left #parrot
00:45 bluescreen joined #parrot
00:45 dalek plparrot: 8cc4429 | (Gerd Pokorra)++ | ports/fedora/plparrot.spec:
00:45 dalek plparrot: add spec file for Fedora
00:45 dalek plparrot: review: http://github.com/leto/plparrot/commit/8​cc4429fc2b358fa4caf412bc259b503a94fcc7f
00:45 pmichaud http://gist.github.com/578339   # same as previous nopaste, showing that encodings are somehow different
00:48 plobsing how is ö in an ascii encoded string?
00:49 pmichaud I have no idea.
00:50 pmichaud it thinks that $x is two chars long, though, so I'm guessing it's being converted on output.
00:51 pmichaud something changed between r48933 and r48982 that is making the Buf.decode method not return a properly-encoding string, though.
00:51 pmichaud I'll try putting in a debugging statement of some sort.
00:52 pmichaud oh, wait, I can just re-do the entire class.
00:52 pmichaud that's easier than rebuilding rakudo at each step.
00:53 kid51_at_dinner is now known as kid51
00:54 pmichaud no, that doesn't expose the bug either :(
00:57 plobsing I know what it is!
00:57 * plobsing looks for commit number
01:00 plobsing unicode:utf8:"" doesn't roundtrip through PBC properly after r48969
01:00 plobsing that's my 99% certain hunch
01:01 ruoso left #parrot
01:08 davidfetter left #parrot
01:17 cotto ohai
01:17 cotto im not in ur monopoly
01:17 dalek TT #1791 created by pmichaud++: zero-length string loses encoding in .pbc
01:17 dalek TT #1791: http://trac.parrot.org/parrot/ticket/1791
01:18 cotto er, perfectly fair competitive business
01:19 pmichaud plobsing: you were correct, although we found it independently :)
01:57 kid51 left #parrot
02:04 dalek rakudo: 4d96c92 | pmichaud++ | src/core/Buf.pm:
02:04 dalek rakudo: Change unicode constant string passed to ByteBuffer.get_string_as to work around TT #1791.
02:04 purl dalek: that doesn't look right
02:04 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​d96c92bf610d19519bda55a5b96986766fdd6c1
02:04 dalek rakudo: c71489b | pmichaud++ | docs/ChangeLog:
02:04 dalek rakudo: Merge branch 'master' of github.com:rakudo/rakudo
02:04 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​71489b47799d834e7b016322aa36e0b86fef7ce
02:35 janus left #parrot
02:35 contingencyplan left #parrot
03:00 janus joined #parrot
03:04 dalek plparrot: fb1e495 | leto++ | Makefile:
03:04 dalek plparrot: Don't use escape chars in @echo because some don't interpret them by default; gerd++
03:04 dalek plparrot: review: http://github.com/leto/plparrot/commit/f​b1e495f03fd6087dfa4b10c534894be52306787
03:10 tcurtis joined #parrot
03:10 bluescreen left #parrot
03:26 contingencyplan joined #parrot
03:28 Coke left #parrot
03:37 jdv79 joined #parrot
03:44 patspam left #parrot
04:15 theory left #parrot
04:46 dalek parrot: r48986 | plobsing++ | trunk/t (3 files):
04:46 dalek parrot: eliminate use of sysinfo in coretest. fixes corevm/coretest.
04:46 dalek parrot: int min/max are now constructed explicitly assuming 2's compliment (already assumed in some tests)
04:46 dalek parrot: sanity of .SYSINFO_PARROT_INT{MIN,MAX} now offloaded to dynops tests
04:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48986/
04:54 pmichaud plobsing: ping
04:55 pmichaud does "make coretest" not test the dynops?
04:55 plobsing pmichaud: no. it was decided that dynops and dynpmcs are not part of coretest.
04:55 pmichaud ouch
04:56 pmichaud the main purpose of the coretest target was to test everything that wasn't code coding style tests
04:56 pmichaud (which would include dynops)
04:56 pmichaud sad to see that this has changed.
04:56 plobsing why? I take coretest to mean "I'm going to be breaking a ton of stuff, but I want basic set/get, math, and subcalls to work"
04:57 pmichaud the original purpose of codetest was to provide a test target that would test basic functionality without incurring the cost of the coding style and configuration system tests
04:57 pmichaud anyway, if it's changed, I guess that's okay.
04:58 pmichaud I'm just worried that things are being committed after being tested with "make coretest" but not testing the dynops.
04:58 plobsing the default test target already provides that. to get config and codingstd tests, you either have to ask for them explicitly, or run fulltest.
04:58 pmichaud okay, I'll life with that then.
04:58 pmichaud *live
04:59 pmichaud didn't realize a change had been made there.
05:00 plobsing almost noone actually runs coretest (I do), which is why it is frequently slightly broken.
05:01 bacek_at_work pmichaud, dynops depends on ops2c. Which is implemented in nqp. Which depends on some stuff outside of coretest.
05:03 pmichaud bacek_at_work: okay.
05:37 dalek parrot: r48987 | plobsing++ | trunk (4 files):
05:37 dalek parrot: add tests for literal string encoding persistence.
05:37 dalek parrot: TT #468, TT #1791
05:37 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48987/
05:37 dalek parrot: r48988 | plobsing++ | trunk/t/dynoplibs/sysinfo.t:
05:37 dalek parrot: add forgotten library inclusions to test
05:37 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48988/
05:47 gottreu joined #parrot
05:49 dalek TT #468 closed by plobsing++: string encoding not saved in pbc
05:49 dalek TT #468: http://trac.parrot.org/parrot/ticket/468
05:50 cotto left #parrot
05:50 cotto joined #parrot
05:53 bacek_at_work plobsing, ping
05:53 plobsing bacek_at_work: pong
05:54 dalek parrot: r48989 | plobsing++ | trunk (2 files):
05:54 dalek parrot: mk_manifest_and_skip
05:54 purl i heard mk_manifest_and_skip was the canonical mechanism for (re)generating MANIFEST
05:54 bacek_at_work are you sire that "fixed_8" still exists?
05:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48989/
05:54 bacek_at_work I have fix for TT #1791
05:54 plobsing fixed_8 doesn't exist. where do you see it?
05:54 bacek_at_work (not committed)
05:54 bacek_at_work in your test for TT #1791
05:54 bacek_at_work if I replace fixed_8 with ascii it passed
05:56 pmichaud (gc_massacre):  on my system, both Parrot's "make test" and Rakudo's "make" seem to nang up in infinite loops somewhere.
05:56 nopaste "bacek" at 192.168.1.3 pasted "fix for tt#1791" (27 lines) at http://nopaste.snit.ch/23323
05:56 bacek_at_work pmichaud, it consumes too much memory for now.
05:56 pmichaud Rakudo never finishes the compilation of src/Perl6/Actions.pm -- just hangs there for a long time
05:56 plobsing bacek_at_work: good catch. I stole/modified it from the old testcase on TT #468 and forgot to update it when I modified the other test.
05:57 pmichaud bacek_at_work: yes; cotto++ asked that we test Rakudo against the branch and report the results.
05:58 bacek_at_work pmichaud, I'm going to look at gc_massacre memory consumption tonight.
05:59 pmichaud bacek_at_work: hope it goes well.  :)
05:59 bacek_at_work pmichaud, I hope so. I didn't have much time for coding in last few month. My brainz are rusting... :)
06:00 JimmyZ joined #parrot
06:03 ttbot Parrot trunk/ r48992 i386-linux-thread-multi make error http://tt.taptinder.org/file/cmdout/392863.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
06:06 gottreu left #parrot
06:06 ttbot Parrot trunk/ r48993 i386-linux-thread-multi make error http://tt.taptinder.org/file/cmdout/392891.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
06:10 JimmyZ left #parrot
06:10 dalek parrot: r48990 | plobsing++ | trunk/t/op/testlib/test_strings.pir:
06:11 dalek parrot: svn props
06:11 purl svn props are the worst
06:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48990/
06:11 dalek parrot: r48991 | plobsing++ | trunk/t/op/string_cs.t:
06:11 dalek parrot: fixed_8 no longer exists. long live ascii!
06:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48991/
06:11 dalek parrot: r48992 | bacek++ | trunk/src/packfile/pf_items.c:
06:11 dalek parrot: Don't coerse all empty string into CONST_STRING. Closes #1791
06:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48992/
06:11 dalek parrot: r48993 | bacek++ | trunk/t/op/string_cs.t:
06:11 dalek parrot: Untodo test for TT #1791
06:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48993/
06:12 cotto karma cotto_work
06:12 purl cotto_work has karma of 24
06:12 aloha cotto_work has karma of 1.
06:12 cotto I'll miss that guy.
06:13 pmichaud ..."fixed_8" is gone?
06:13 bacek_at_work cotto, resigning from ms?
06:14 bacek_at_work pmichaud, charset and encodings were merged some time ago, afaiu
06:14 pmichaud I'm just looking at the amount of code (rakudo and parrot) that still refers to fixed_8  :(
06:14 bacek_at_work pmichaud, ouch...
06:20 pmichaud looks okay, though.
06:21 pmichaud Needs a deprecation notice.
06:21 cotto bacek_at_work, end of contract
06:22 bacek_at_work cotto, ok. Got new job already?
06:22 fperrad joined #parrot
06:23 dalek TT #1791 closed by bacek++: zero-length string loses encoding in .pbc
06:23 dalek TT #1791: http://trac.parrot.org/parrot/ticket/1791
06:23 cotto bacek_at_work, nope.  I'm talking with a recruiter tomorrow but I expect I'll have some extra free time for at least a couple weeks.
06:23 bacek_at_work cotto, good luck with new job finding :)
06:24 cotto thanks
06:24 uniejo joined #parrot
06:26 plobsing left #parrot
06:27 dalek parrot: r48994 | plobsing++ | trunk/src/packfile/pf_items.c:
06:27 dalek parrot: avoid segfaults in the build
06:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48994/
06:44 contingencyplan left #parrot
06:45 s1n left #parrot
06:53 dalek plparrot: 483bef1 | gerd++ | Makefile:
06:53 dalek plparrot: change the order of commands to build on Fedora 14, add better output of make when Parrot is installed
06:53 purl dalek: that doesn't look right
06:53 dalek plparrot: review: http://github.com/leto/plparrot/commit/4​83bef1e902a8e889ccdbdc3ae82975c0e82a0d7
06:56 dukeleto gerd++
06:56 baest left #parrot
06:56 baest joined #parrot
06:57 contingencyplan joined #parrot
06:58 s1n joined #parrot
06:59 dalek plparrot: bc58e51 | gerd++ | / (2 files):
06:59 dalek plparrot: increase the version number in README and spec file
06:59 dalek plparrot: review: http://github.com/leto/plparrot/commit/b​c58e512a3e5a0d41a27b9cbaefe9c5700f7aa81
07:10 dalek roast: 50a95bb | moritz++ | S03-series/arity-2-or-more.t:
07:10 dalek roast: [series] unfudge some tests
07:10 dalek roast: review: http://github.com/perl6/roast/commit/50​a95bb752d11d3c366b0f38405aeac1970377fb
07:23 bacek ~~
07:37 bacek aloha, 56*999720
07:37 aloha bacek: 55984320
07:38 bacek aloha, 56*999720 + 88*48898
07:38 aloha bacek: 60287344
07:38 Patterner left #parrot
07:38 Psyche^ joined #parrot
07:38 Psyche^ is now known as Patterner
07:44 orc joined #parrot
07:52 dalek parrot: r48995 | fperrad++ | trunk/runtime/parrot/library/pcre.pir:
07:52 dalek parrot: [pcre] Add library name genned by install of pcre 8.10 from source.
07:52 dalek parrot: Patch from ronaldws, see TT#1401
07:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48995/
07:59 contingencyplan left #parrot
07:59 bacek left #parrot
08:01 bacek joined #parrot
08:03 orc is anybody here have ever ported parrot to android ?
08:04 moritz I'm not aware of such a port
08:04 * cotto neither
08:05 orc it whould be great if parrot running on mobile platform
08:07 moritz indeed; such a port would be very welcome, and if you started one, I'm sure others would chime in and help (hint, hint)
08:08 sorear Why don't they just use POSIX
08:09 sorear FWIW, mberends is working on a Java port of Rakudo
08:11 orc_ joined #parrot
08:11 orc left #parrot
08:11 orc_ is now known as orc
08:12 tcurtis left #parrot
08:16 orc left #parrot
08:37 fperrad left #parrot
09:08 aloha left #parrot
09:09 bacek left #parrot
11:01 tadzik joined #parrot
11:15 bkuhn joined #parrot
11:32 dalek parrot: r48996 | nwellnhof++ | trunk/DEPRECATED.pod:
11:32 dalek parrot: Add deprecation notice for fixed_8 encoding.
11:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48996/
11:32 dalek tracwiki: v13 | nwellnhof++ | ParrotDeprecationsFor2.9
11:32 dalek tracwiki: http://trac.parrot.org/parrot/wiki/ParrotDe​precationsFor2.9?version=13&action=diff
11:45 NotFound Parrot run at least in one mobile platform: http://notfound.posterous.com/how-​to-build-parrot-for-the-nokia-n900
12:06 dalek parrot: r48997 | nwellnhof++ | trunk/src/packfile/pf_items.c:
12:06 dalek parrot: Fix r48994
12:06 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48997/
12:29 cotto There's a lot of stuff in MANIFEST.SKIP
12:31 whiteknight joined #parrot
12:36 jsut_ joined #parrot
12:41 jsut left #parrot
12:43 plobsing joined #parrot
12:47 esskar_ joined #parrot
12:47 whiteknight good morning, #parrot
12:47 eternaleye_ joined #parrot
12:48 elmex_ joined #parrot
12:49 Themeruta joined #parrot
12:49 baest left #parrot
12:49 janus left #parrot
12:49 perlite left #parrot
12:49 PacoLinux left #parrot
12:49 NotFound left #parrot
12:49 elmex left #parrot
12:49 pjcj left #parrot
12:49 slavorg left #parrot
12:49 cosimo left #parrot
12:49 eternaleye left #parrot
12:49 esskar left #parrot
12:49 pmichaud left #parrot
12:49 PerlJam left #parrot
12:49 dukeleto left #parrot
12:49 sorear left #parrot
12:49 jnthn left #parrot
12:49 kthakore left #parrot
12:49 edenc left #parrot
12:50 esskar_ is now known as esskar
12:50 elmex_ is now known as elmex
12:51 kthakore joined #parrot
12:51 pmichaud joined #parrot
12:51 sorear joined #parrot
12:51 jnthn joined #parrot
12:51 dukeleto joined #parrot
12:51 pjcj joined #parrot
12:51 cosimo joined #parrot
12:51 PerlJam joined #parrot
12:52 perlite joined #parrot
12:54 baest joined #parrot
13:05 PacoLinux joined #parrot
13:09 dalek winxed: r651 | NotFound++ | trunk/winxedst1.winxed:
13:09 dalek winxed: for ... in lacked the optimization phase for its container in stage 1, fixed
13:09 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=651
13:10 dalek TT #1777 closed by doughera++: Optimized builds (--optimize='-O2 -finline-functions') on gcc/amd64 broken ...
13:10 dalek TT #1777: http://trac.parrot.org/parrot/ticket/1777
13:18 Patterner left #parrot
13:24 patspam joined #parrot
13:28 Psyche^ joined #parrot
13:28 Psyche^ is now known as Patterner
13:39 edenc joined #parrot
13:41 slavorg joined #parrot
13:48 janus joined #parrot
13:59 uniejo left #parrot
14:05 Themeruta is now known as NotFound
14:13 davidfetter joined #parrot
14:21 tadzik I found some pir code lying around in my /home, and while running it I think I stumbled upon some bug: http://wklej.org/id/388824/
14:21 tadzik some more-less random chars appear at the end of the string
14:27 wow joined #parrot
14:27 plobsing tadzik: apparently FileHandle.readline_interactive assumes parrot strings are null-terminated (not necessarily the case)
14:28 plobsing afk
14:28 tadzik so where does the bug lie?
14:28 NotFound char * const r = readline(got_prompt ? prompt->strstart : NULL);
14:30 NotFound Temporary solution: name = stdin.'readline_interactive'("Please enter your name: \x{0}")
14:31 whiteknight blarg
14:32 wow Hello, I have troubles building Parrot VM on windows using MSVS2010. I can run `cl' from command line, but when I try to run Configure.pl I get the following output: http://nopaste.snit.ch/23329
14:32 moritz wow: maybe rerun Configure.pl with --verbose
14:32 whiteknight yes, try --verbose to get more error information
14:32 moritz and see if the output is  helpful
14:32 wow Oh, thanks
14:33 whiteknight I do have VS2010 on this machine, I could probably run a test or two myself
14:33 wow http://nopaste.snit.ch/23330
14:33 moritz jnthn uses it to build parrot
14:34 wow strange
14:34 wow I guess i should define special `cl' command line options
14:35 moritz I don't think that should be necessary
14:35 whiteknight wow: are you running this in the regular prompt, or in the special VisualStudio prompt?
14:35 wow whiteknight: special visual studio
14:35 whiteknight ah, so it should have all the PATH crap setup
14:35 nwellnhof joined #parrot
14:35 wow yes
14:35 wow link is there
14:35 wow nmake and cl too
14:36 whiteknight I'm doing a checkout now. I'll run a test for you to see what I see
14:36 wow Thanks a lot
14:37 whiteknight wow: which perl are you using? ActivePerl?
14:37 dalek parrot: r48998 | NotFound++ | trunk/src/pmc (2 files):
14:37 dalek parrot: implement Boolean init_int vtable and use it in FixedBooleanArray
14:37 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48998/
14:37 wow whiteknight: strawberry
14:37 purl strawberry is a Perl for Windows that works just like Perl everywhere else. See http://win32.perl.org/wiki/in​dex.php?title=Strawberry_Perl or well where is RAWBERRY
14:37 wow latest
14:38 wow c:\>perl -v
14:38 wow This is perl 5, version 12, subversion 1 (v5.12.1) built for MSWin32-x86-multi-t
14:38 wow hread
14:38 whiteknight wow: I think that's your problem. Configure.pl pulls a lot of settings and defaults from the perl binary. For strawberry, I think you need to use the C compiler that comes with strawberry
14:38 whiteknight if you want to use cl, you need ActivePerl on windows
14:38 wow ah :(
14:39 whiteknight That's only my recollection, but I don't think anybody has fixed it yet
14:39 wow but I still can configure those settings by myself, right?
14:39 nwellnhof wow: can you try to run "C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" before running configure?
14:39 whiteknight I assume you can, I'm not super familiar with Configure.pl
14:39 whiteknight nwellnhof: yeah he did
14:40 wow whiteknight: do you have activestate perl on your machine?
14:40 whiteknight wow: yes
14:40 whiteknight it worked for me
14:40 wow Can you do me a favour and run `Configure.pl --verbose' please?
14:40 wow and paste the log?
14:41 whiteknight yeah, let me work on that
14:42 wow thanks a lot
14:42 wow I'll steal your compiler options
14:44 nopaste "whiteknight" at 192.168.1.3 pasted "configure.pl output for wow++" (559 lines) at http://nopaste.snit.ch/23331
14:44 wow thanks
14:46 whiteknight I'm sorry this isn't working out more easily for you
14:46 wow Well it's working how it should be
14:46 wow It's not parrot's fault
14:47 moritz pulling configure options from perl isn't great, because perl could have been built with a totally different compiler than installed
14:47 whiteknight moritz: exactly. That's a known bug that really needs to be fixed
14:47 wow Yeah but there is no other place to pull options from
14:48 moritz one could use whatever mechanism perl uses to discover them
14:48 wow what might be helpful is a list of shortcuts: `Configure.pl --with-gcc', `Configure.pl --with-msvs2008', etc
14:48 moritz maybe a list of known options and compilers, and simply try them in most-often-used to least-often-used order, and take the first that works
14:49 tadzik http://wklej.org/id/388832/ -- am I doing something wrong, or is there something wrong with Parrot's JSON? (not sure if more Parrot-related or Perl6-related)
14:50 wow hmmm
14:50 NotFound I think a wiki page with a list of platform and well tested options will be better than adding a lot of possibly failing things to configure
14:50 moritz tadzik: rakudo hashes don't inherit from parrot hashes
14:50 wow now `link' couldn't find 'msvcrt.lib'
14:50 wow very strange
14:50 moritz (but have a has-a relation)
14:50 moritz tadzik: so you'd need to extract the low-level parrot hash for that
14:51 tadzik moritz: how do I do this?
14:51 wow http://pastebin.com/7ifX5crL
14:51 wow very strange
14:51 plobsing left #parrot
14:52 moritz tadzik: search for CREATE_HASH_FROM_LOW_LEVEL in the rakudo sources, and do the opposite of what it does
14:53 nwellnhof wow: looks like LIBPATH is not set correctly
14:53 moritz probably a pir::getattribute__PPS($hash, '$!storage')
14:53 wow I run msvs's path setting script
14:56 whiteknight wow: where is your msvcrt.lib located? Mine is in C:\Program Files\Microsoft Visual Studio 10.0\VC\lib
14:56 tadzik moritz: works like a charm
14:56 moritz \o/
14:57 moritz you know, JSON is one of the things we already have a module for :-)
14:57 moritz but it's probably slower than the parrot counterpart
14:57 tadzik I know, but it's a funny experience anyway
14:57 tadzik having a pure-Perl6 version is valuable anyway
14:58 tadzik and I was just trying to get hands dirty with something :0
14:59 moritz no offense meant or anything, just wanted to point out :-)
15:00 ruoso joined #parrot
15:00 tadzik sure thing :0
15:00 tadzik :)
15:00 whiteknight wow: what does your LIBPATH environment variable look like?
15:01 wow whiteknight: i dont have \lib\ folder in MSVS\VC\
15:01 wow :O
15:01 wow that's pretty strange
15:01 nwellnhof wow: have you looked in "Program Files (x86)"?
15:01 nwellnhof (if you're on 64bit)
15:02 wow no i only have "Program Files"
15:02 whiteknight wow: probably a stupid question, but when you installed VS2010, you selected the options to include the C++ compiler and the native code runtime?
15:02 whiteknight I think that's included by default, but it's worth-while to check
15:02 wow I guess so...
15:03 wow Now that you've mentioned it..
15:03 whiteknight wow: what's your LIBPATH environment variable contain? "echo %LIBPATH%"
15:03 wow damn
15:03 wow only .NET dirs are in %LIBPATH%
15:04 whiteknight well, that's probably part of the problem
15:04 wow yeah, I guess i didn't install native code runtime
15:04 wow :[
15:04 whiteknight well, you do have strawberry and its C compiler handy, as a backup
15:04 wow But what the hell, there is like everything but .lib files! Why would I need a C compiler with headers but without runtime
15:05 wow yeah, i guess i'll have to use that
15:05 whiteknight I'd say "ask microsoft", but they won't have an answer
15:05 wow Sorry for bothering you with my stupid shit
15:06 wow brb, gonna find a usb stck with msvs
15:06 moritz well, if you have a build server that's low on disk space, and only want to build stuff with it, but never run, and copy the result files to a different machine with the linker...
15:09 whiteknight wow: it's never stupid shit. We're always happy to answer questions and help new people get started using Parrot
15:10 wow I guess I'll write something like a short tutorial on how to build parrot on windows with msvs
15:10 wow (just to be helpful for once)
15:10 whiteknight That would be absolutely awesome! wow++
15:11 nwellnhof you might want to add it to this wiki page: http://trac.parrot.org/par​rot/wiki/Platforms/Windows
15:14 wow yay
15:14 wow it's weking now
15:14 wow thanks
15:14 wow *working
15:21 Coke_ joined #parrot
15:21 Coke_ any windows git users?
15:23 wow yes, hello
15:23 wow windows git user here
15:23 Coke_ are you using an http proxy?
15:23 wow no
15:23 davidfetter left #parrot
15:23 dalek winxed: r652 | NotFound++ | trunk/winxedst (2 files):
15:23 dalek winxed: call constructor in new by id with one arg
15:23 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=652
15:24 Coke_ ah well. (I can't do a git clone from my work box to github. This is going to put a damper on my ability to contribute post switch-to-git.)
15:24 Coke_ er, on my work box from github.
15:25 wow well, I guess you can setup http proxy in git configuration file
15:25 wow http://pastebin.com/JF127zAQ hmm now i got compile-time error
15:25 wow (i used nmake)
15:27 Coke_ wow: yah. that is certainly /supposed/ to work (http proxy in git config.)
15:27 wow oh my bad
15:27 wow (re: that paste)
15:28 wow Coke_: but it doesn't?
15:28 wow you can try asking in #git on freenode
15:28 wow they might help
15:28 Coke_ Correct. I can't connect through the proxy either via "git bash" or tortoise git.
15:28 moritz and I assume git:// is blocked?
15:31 wow hmm, no i still have that error
15:31 wow Configure.pl went ok tho
15:33 nwellnhof wow: it seems that include/parrot/pbcversion.h didn't get built correctly
15:33 nwellnhof wow: what happens if you run "perl tools/build/pbcversion_h.pl"
15:34 wow Yeah it gives output
15:34 wow with #define PARROT_PBC_MAJOR 8
15:34 wow hmm
15:35 nwellnhof what does the file include/parrot/pbcversion.h contain?
15:35 mikehh_ joined #parrot
15:35 wow nothing :O
15:36 wow gotta examine nmake log
15:37 nwellnhof wow: you could try to run "perl tools/build/pbcversion_h.pl > include/parrot/pbcversion.h" manually, but that should be part of the build process, afaics
15:38 Coke joined #parrot
15:39 Coke (@*#&$. was missing a userid for $http_proxy.
15:40 mikehh left #parrot
15:40 mikehh_ is now known as mikehh
15:41 mikehh opbots, names
15:42 wow nwellnhof: i checked nmake log and there is "C:\perl\perl\bin\perl.exe tools/build/pbcversion_h.pl > include/parrot/pbcversion.h" there
15:43 wow WOW
15:43 wow what the hell
15:43 wow i just ran nmake once again
15:43 wow and now there is a different error
15:43 nwellnhof is "C:\perl\perl" right?
15:43 wow with ar.EXE...
15:43 wow nwellnhof: yeah
15:48 wow yeah, now i got a completely different error
15:48 wow http://pastebin.com/WUBuw11W
15:49 wow I guess that's because of `-out:`
15:49 nwellnhof wow: looks like you made at least some progress ;)
15:50 wow nwellnhof: I just did `nmake clean`, `Configure.pl` and `nmake` again
15:50 wow MAGIC!
15:51 nwellnhof i sometimes had to run Configure.pl twice on windows. no idea why.
15:52 wow whiteknight: is it possible to see your nmake log?
15:52 wow i guess i have to steal more keys
15:54 nwellnhof wow: can you try to run Configure.pl with --disable-static?
15:55 wow disable-static? you mean --parrot_is_shared?
15:55 wow there is no such option: disable-static
15:56 davidfetter joined #parrot
15:56 * dukeleto has wifi at jury duty. woot!
15:56 nwellnhof then try --parrot_is_shared
15:56 Coke what could possibly go wrong. :P
15:56 davidfetter kudos, dukeleto!
15:56 Coke (to dukeleto)
15:56 atrodo dukeleto> Only thing that made my time at jury duty bearable
15:56 dukeleto parrot is benefitting, i just ported manicheck.pl to git
15:57 * dukeleto hacks some more
15:57 davidfetter all things considered, jury duty is a pretty small price to pay for being in a place that has juries
15:58 dukeleto davidfetter: i agree
15:58 dukeleto davidfetter: pl/parrot has a fedora spec now, gerd++
15:59 wow nwellnhof: same stuff
15:59 wow ar.exe error again
15:59 davidfetter dukeleto, oh, awesome! has this been submitted to Channels™, or is gerd++ Channels™?
15:59 wow wtf is ar.exe anyway?
16:00 nwellnhof wow: it generates a static library which should be unneeded.
16:01 nwellnhof wow: i don't know how tell configure to disable the static build
16:02 dukeleto davidfetter: channels?
16:02 purl i guess channels is fairly easy, its tracking nicknames thats the problem.
16:02 davidfetter the ones whereby the .spec file would turn into an RPM available via yum, etc.
16:05 nwellnhof wow: i think the problem is that you have another ar.exe in your perl path
16:05 nwellnhof try renaming that, or move your perl path behind your msvc path
16:06 wow wait i need msvc's ar.exe?
16:06 nwellnhof i think so
16:06 dukeleto davidfetter: gerd++ is doing that. i gave him commit access and he is running with it
16:06 davidfetter dukeleto, that is so awesome :)
16:07 wow ok
16:07 wow thanks nwellnhof
16:07 wow lemme try
16:10 wow nwellnhof: hmm i only have perl's ar and haskell's ar
16:10 wow which are both mingw's ar
16:10 wow i don think there is a visual studio's ar
16:10 contingencyplan joined #parrot
16:11 nwellnhof hmm, maybe you have to move the other ar.exes out of the way and then reconfigure
16:11 nwellnhof they might confuse configure
16:11 wow well
16:12 wow make is using perl's ar
16:12 nwellnhof i think that's wrong
16:12 wow :O
16:13 nwellnhof wow: it seems that configure takes 'ar' from your perl config
16:15 davidfetter in 5 days, it'll be arrrr
16:18 dalek winxed: r653 | NotFound++ | trunk/winxedst1.winxed:
16:18 dalek winxed: call constructor in new by id with one arg - fix stage 1
16:19 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=653
16:20 nopaste "nwellnhof" at 192.168.1.3 pasted "attempt to fix msvc build with strawberry perl" (12 lines) at http://nopaste.snit.ch/23333
16:20 nwellnhof wow: can you try this patch? or insert that line manually into config/init/hints/mswin32.pm?
16:20 wow sure
16:20 wow hold on pls
16:21 Coke nwellnhof: (disable static build) then we're even, since I get parrot to disable the dynamic build.
16:23 Coke_ left #parrot
16:23 tadzik http://docs.parrot.org/parrot/latest/html​/docs/book/pir/ch06_subroutines.pod.html -- typo, search for "padsThink"
16:23 tadzik should be "pads. Think"
16:24 wow now it won't configure, lol
16:25 wow LINK : warning LNK4044: unrecognized option '/o'; ignored
16:25 wow LINK : warning LNK4044: unrecognized option '/lmoldname'; ignored
16:25 wow LINK : warning LNK4044: unrecognized option '/lkernel32'; ignored
16:25 wow etc
16:25 wow LINK : warning LNK4044: unrecognized option '/o'; ignored
16:25 wow LINK : warning LNK4044: unrecognized option '/lmoldname'; ignored
16:25 wow oops, sorry
16:25 wow LINK : fatal error LNK1181: cannot open input file 'test_5232.o'
16:26 dukeleto wow: nopaste is better for that
16:27 dukeleto nopaste?
16:27 purl i think nopaste is http://nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl) or http://paste.scsys.co.uk or http://www.extpaste.com or http://gist.github.com or App::Nopaste or http://codepeek.com/paste/ or (: pastebot)
16:27 wow yeah, sorry
16:27 dukeleto wow: no worries
16:28 wow oh damn
16:28 wow im such an idiot
16:28 wow nvm that error
16:29 nwellnhof wow: do you give any options to Configure.pl?
16:29 wow yeah, sorry it was an error i made in .pm file
16:31 mikehh All tests PASS (pre/post-config, make corevm/make coretest, test, fulltest) at r48998 - Ubuntu 10.10 beta {g++-4.5 with --optimize)
16:32 nopaste "NotFound" at 192.168.1.3 pasted "example: current status of winxed and glueglass(blizkost + Gtk2)" (48 lines) at http://nopaste.snit.ch/23335
16:32 wow Yay
16:32 wow compiled
16:32 purl i think compiled is fine, actaully probably a better
16:33 wow nwellnhof: thank you a lot
16:33 nwellnhof wow: no problem
16:33 wow you should probably post that patch somewhere
16:33 nwellnhof i can commit it right now.
16:35 wow but what about mingw users?
16:35 dalek rakudo: 51e3ff4 | pmichaud++ | src/Perl6/Grammar.pm:
16:35 dalek rakudo: Switch infix:<:=> to use list assignment, resolving RT #77462.
16:35 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​1e3ff451c2ba6430b5a4a399168a8e516c90b8d
16:35 wow or it's just a config for msvs users?
16:35 nwellnhof wow: my patch only affects MSVC users
16:35 wow oh that's cool
16:35 wow thank you a lot again
16:35 nwellnhof wow: did you have to use any special configure options?
16:36 wow Yes, hold on
16:36 nwellnhof next commit will be r49000
16:37 dalek parrot: r48999 | nwellnhof++ | trunk/config/init/hints/mswin32.pm:
16:37 dalek parrot: When using MSVC, always use lib.exe for static libraries
16:37 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48999/
16:37 patspam left #parrot
16:38 * dukeleto is making good progress on converting mk_manifest_and_skip.pl
16:39 wow http://paste.lisp.org/display/114533
16:39 wow here's my "tutorial"
16:41 wow pir?
16:41 purl pir is a bofh at tufts or http://www.pir.net or Passive Infra Red or Parrot Intermediate Language (and almost an acronym) or the Price is Right. or http://www.parrotcode.org/​docs/art/pp001-intro.html
16:41 wow ah, Representation
16:44 dalek winxed: r654 | NotFound++ | trunk/setup.winxed:
16:44 dalek winxed: use $load and keyed new for Getopt Obj in setup
16:44 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=654
16:44 wow I have to compile NQP separetly?
16:44 Coke should be covered by "make install".
16:45 wow :O
16:45 wow true
16:45 wow i hope it wont try to install parrot to /usr/bin
16:46 Coke I'm not sure what the default prefix for parrot is on windows, but you can override it with --prefix
16:46 wow oh, it installed parrot to C:\parrot
16:46 wow pretty cool
16:47 wow What's miniparrot.exe?
16:48 Coke miniparrot?
16:48 purl i guess miniparrot is Parrot minus some features for use in the build. It's not for end users.
16:49 dalek winxed: r655 | NotFound++ | trunk/ (2 files):
16:49 dalek winxed: update generated pir files
16:49 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=655
16:49 nwellnhof wow: i added your tutorial to the parrot wiki
16:49 wow Thanks
16:50 M_o_C joined #parrot
16:50 wow also, could you please recommend a book on parrot?
16:50 wow is wikibook ok?
16:50 Coke most up to date book is probably in the parrot repo in docs/book
16:50 Coke I have never read the wikibook.
16:50 nwellnhof left #parrot
16:51 Coke wikibook?
16:51 purl wikibook is unmentionable
16:51 Coke heh
16:52 wow uhh, POD
16:52 wow I don't get why you guys like POD
16:52 wow it's unreadable in plain text version
16:52 wow s/plain//;
16:55 Coke so read the version on the website?
16:56 pmichaud parrotsketch?
16:56 purl i heard parrotsketch was a status meeting for parrot core committers held every Tuesday at 20:30 UTC in #parrotsketch
16:56 Coke docs.parrot.org
16:56 purl docs.parrot.org is updated nightly iirc
16:56 Coke no, docs.parrot.org is updated after every release.
16:56 purl okay, Coke.
16:56 * Coke pretty much gives up on partcl.
16:57 dukeleto Coke: giving up?
16:57 purl i think giving up is probably best.
16:57 Coke botsnack!
16:57 purl thanks Coke :)
16:57 Coke dukeleto: yah. parrot is a PITA to develop for.
16:58 dukeleto Coke: because the rug you were standing on keeps moving?
16:58 Coke you /wish/ there was a rug.
16:58 dalek tracwiki: v5 | nwellnhof++ | Platforms/Windows
16:58 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Plat​forms/Windows?version=5&amp;action=diff
16:58 dukeleto Coke: is this a partcl vs partcl-nqp thing?
16:59 dukeleto Coke: what is the biggest issue that makes you not want to hack on partcl?
16:59 NotFound Coke: try winxed, is a lot more fun than tcl ;)
16:59 Coke developing each of them sucks for different reasons.
16:59 wow :(
16:59 wow NotFound: tcl has libs
16:59 Coke wow: partcl isn't using the c-libs.
16:59 wow well yeah
17:00 wow there are a plenty of pure tcl libs
17:00 NotFound wow: the interesting tcl libs can be used by embedding tcl
17:00 Coke NotFound: that's a very different project than partcl.
17:00 wow well, still
17:00 pmichaud Coke: why does the nqp version suck, ooc?
17:01 wow having a tcl implementation would be sweet
17:01 Coke pmichaud: lack of docs.
17:01 pmichaud (developing for the nqp version...)
17:01 pmichaud Coke: lack of nqp docs?
17:01 Coke nqp, pct.
17:01 wow btw, who develops Scheme for parrot?
17:01 pmichaud Coke: noted.
17:01 pmichaud Coke: btw, I don't know if you noticed that nqp can now create vtable methods :)
17:01 NotFound Coke: I don't know much about tcl, but maybe the problem is that is too dynamic and its model too different from parrot for a compiled approach. Maybe a interpreted way will be easier.
17:02 Coke NotFound: if you mean "avoid nqp & pct", I'm not sure that helps either.
17:02 Coke then you end up with the pure PIR version.
17:02 dukeleto wow: http://github.com/bschmalhofer
17:02 dukeleto wow: his is called eclectus
17:02 pmichaud partcl-nqp is already pretty much an interpreted approach, afaict
17:03 dukeleto wow: iirc, none of the scheme implementations on parrot are maintained currently
17:03 NotFound Coke: I think you can use nqp without pct, like any other language.
17:03 Coke it's not like we're compiling [puts] down to pir::say
17:04 pmichaud nqp needs a better question -> docs model.
17:04 wow dukeleto: this sucks
17:04 purl like a quarter byte whore!
17:04 Coke pmichaud: I don't parse that.
17:04 pmichaud so that questions about nqp get turned into useful documentation
17:04 Coke ah.
17:06 Coke dukeleto: primarily, it's no longer at all a pleasant way to spend my time. I probably should have gotten the hint years ago.
17:06 dukeleto purl, forget this sucks
17:06 purl dukeleto: I forgot this sucks
17:06 Coke ... didn't someone already kick purl?
17:06 NotFound Is pipp working? It's a long time since I last tested it.
17:06 pmichaud purl keeps coming back
17:06 purl pmichaud: sorry...
17:06 Paul_the_Greek joined #parrot
17:06 purl was kicked by pmichaud: purl
17:06 purl joined #parrot
17:06 dukeleto Coke: i understand
17:06 pmichaud still, it's sadly satisfying to kick a bot while it's down.
17:07 atrodo How many languages do we have modern support for?  rakudo?
17:07 Coke I am not an irc geek, but don't you need to do more than kick?
17:07 dukeleto wow: what sucks? the scheme implementation?
17:07 Coke atrodo: "modern support"?
17:07 dukeleto kickban works real well
17:07 atrodo Poor wording.  Active support?
17:07 dukeleto atrodo: lua has active support
17:07 Coke atrodo: support by whom?
17:07 dukeleto atrodo: data_json as well
17:08 Coke the language developers ?
17:08 atrodo Language maintainers
17:08 Coke data_json isn't a language.
17:08 pmichaud nor is it really "supported" since, it's relying on deprecated components.
17:08 dukeleto oy vey
17:09 pmichaud although I did write a nqp version of data_json if anyone wants to pick it up
17:09 dukeleto pmichaud: what does data_json depend on that is deprecated? PGE?
17:09 NotFound CodeString
17:09 purl CodeString is like a stringbuilder, but with a few helper methods.
17:09 pmichaud dukeleto: it currently depends on pge, tge, and CodeString
17:09 pmichaud (all of which are deprecated iirc)
17:09 dukeleto pmichaud: thanks
17:10 dukeleto languages?
17:10 purl it has been said that languages is https://trac.parrot.org/parrot/wiki/Languages or http://icanhaz.com/parrotlang
17:11 dalek parrot: r49000 | luben++ | trunk (2 files):
17:11 dalek parrot: Use fixed size allocator for small hashes
17:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49000/
17:13 dukeleto i would say winxed is an actively maintained lang as well
17:13 atrodo Did the smolder stuff ever get straightened out?
17:14 dukeleto everything else is in various states of borkedness
17:14 Coke smolder? no.
17:14 dukeleto atrodo: particle was very close
17:14 NotFound dukeleto: yeah, but fortunately winxed does not need to pass an external spectest suite ;)
17:14 dukeleto msg particle what else needs doing with our new smolder instance?
17:14 purl Message for particle stored.
17:14 atrodo It compiles, it ships!
17:14 theory joined #parrot
17:14 NotFound dukeleto: Have you seen my last nopaste?
17:14 dukeleto http://smolder.parrot.org <-- we have a smolder instance
17:15 Coke dukeleto: ... that's news to me.
17:15 dukeleto i think our smolder submission code needs to use the new user/pass that i think only particle knows
17:15 dukeleto he might have sent it to me before, but I may have lost it. I really don't remember. i never updated our smolder stuff
17:16 theory left #parrot
17:17 theory joined #parrot
17:19 * dukeleto will poke particle for smolder info
17:19 dukeleto is there already a TT to fix smolder?
17:19 hercynium joined #parrot
17:20 aceluck joined #parrot
17:20 Coke http://trac.parrot.org/parrot/query?status​=assigned&amp;status=new&amp;status=reopen​ed&amp;summary=~smolder&amp;order=priority
17:23 Coke left #parrot
17:27 whiteknight ah, that's very good. I have been wanting to get a smolder instance back up and running again
17:27 particle trouble writing to the smolder db.
17:27 particle i can't add a user, it reports the db is read-only
17:28 NotFound ByteBuffer is not working well, its fail tests were failing for the wrong reason.
17:29 whiteknight particle: okay, so who do we talk to about that. The OSUOSL folks?
17:29 dukeleto particle++
17:29 particle yes, i'll update the open ticket.
17:31 dukeleto particle: whenever there is a user/pass, you can send it to me to update our "make smoke" target, if you don't have time
17:32 dukeleto luben++ # hacking on our gc
17:33 whiteknight luben++ indeed
17:34 dukeleto 2
17:34 particle dukeleto: i'm trying to create the same credentials as already exists in lib/Parrot/Smoke/Config.pm or whatever that file is
17:35 luben whiteknight, I looked at hash_allocator branch
17:35 dukeleto particle: that is smart :)
17:35 luben I think, most of the stuff is reimplemented in r4900
17:35 contingencyplan left #parrot
17:35 whiteknight luben: that was exploratory. I was running into build failures and didn't have time to implement it
17:36 dukeleto which ubuntu person thought it was a good idea to make perldoc optional?
17:36 whiteknight luben: does r49000 provide any kind of performance improvement? I was hoping it would
17:36 whiteknight dukeleto: Allison is the lead Ubuntu person
17:36 luben yes, 2-4%,
17:36 whiteknight yay! I'm not completely stupid!
17:36 whiteknight (it's always reassuring to hear that)
17:37 dukeleto msg allison having perldoc included by default would make ubuntu more dev-friendly. Is there a formal place for suggestions to improve ubuntu?
17:37 purl Message for allison stored.
17:37 luben I have tried to allocate each bucket separately with fixed size allocator, but it is slower that way
17:38 contingencyplan joined #parrot
17:38 * dukeleto beats mk_manifest_and_skip.pl into submission
17:39 luben as discussed yesterday with bacek, only small hashes are allocated with fixed_size allocator
17:41 luben the big ones (buckets > 32) are still allocating with system malloc
17:44 whiteknight okay. That does make good sense
17:44 whiteknight the fixed-size allocator really performs best on small-sized objects
17:45 Chandon joined #parrot
17:47 whiteknight hello Chandon
17:48 luben what is the purpose of speciallized allocators like this for string/pmc headers
17:48 Chandon whiteknight, Hola
17:49 whiteknight luben: using allocation from fixed-size pools like this can really give us an optimization boost by not using malloc and not causing a lot of system memory fragmentation
17:49 whiteknight we do see improved performance when we use them compared to when we do not
17:50 luben so, they are just fixed_allocators with seggregated pools?
17:50 whiteknight in the long term, I would really love to see PMCs allocated from the fixed-size allocator too. That way we could allocate the PMC header and the attributes structure together in a single allocation
17:50 whiteknight what do you mean by segregated pools?
17:50 whiteknight Chandon: I finished another project I was working on and would love to start diving in to the threads code soonish
17:51 luben string allocator has different arenas from other allocators
17:51 whiteknight luben: at the moment, we break the pools up because of GC behavior. GC sweep iterates over the pools linearly, so different pools get different behavior from the GC
17:51 whiteknight string headers, for instance, don't contain pointers to other GCables. PMC headers do
17:52 whiteknight But string headers point to string buffers elsewhere, so the GC needs to be able to find those pointers
17:52 luben I understand now
17:53 Chandon whiteknight, Excellent. I've been pretty busy with the semester starting up, but I'm starting to feel guilty about my unmerged branch. The biggest blocker I think ATM is Windows support - minimally it needs an alarm rewrite to use a "waiter thread" instead of signals.
17:54 whiteknight Chandon: Okay, Windows is something I have some access to and can play with.
17:54 whiteknight I may be able to bang out a prototype implementation this weekend or next
17:57 whiteknight unless you want the honor?
17:57 Chandon whiteknight, No, no. Go for it.
17:58 Chandon The other fun bit is properly handling exceptions / nested runloops. In this case, I'm not even sure I properly understand the problem.
17:59 whiteknight haha, yeah. Here there be dragons. Do you have a test case or anything that demonstrates it?
18:03 NotFound whiteknight: PMC reuse change the PMC type, thus the attribute storage should be separate.
18:03 dalek parrot: r49001 | NotFound++ | trunk/src/pmc/bytebuffer.pmc:
18:03 dalek parrot: reintroduce ByteBuffer string result validation deleted in r48889, the catching tests were passing for wrong reasons
18:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49001/
18:04 whiteknight NotFound: that's only if we allow in-place PMC type morphing. I suggest we disallow that. It's already not used much
18:04 Chandon whiteknight, Not really. Right now the code just ignores green context switches in nested runloops. I think exceptions will break if you throw them from C in a second OS thread, but...
18:04 whiteknight haha, yeah. Exceptions not the most robust system we have
18:04 NotFound whiteknight: just one usage is enough to break all.
18:05 whiteknight NotFound: so have 0 usages
18:05 NotFound whiteknight: tell it to all folks that depend on it. For example, rakudo
18:05 whiteknight NotFound: with a deprecation cycle, we can make changes. Rakudo people are capable of using a different mechanism (and I think they would appreciate the speed boost)
18:06 whiteknight this is a long-term plan
18:07 NotFound Fine for me, but I still remember when Undef need to be modified to allow its reuse because of don't-remember-why
18:08 NotFound That is like immutable strings. They are immutable or they aren't, PMC can be reused or can't.
18:08 whiteknight I don't think they should be
18:08 NotFound Even when some people fail to understand this simple reasoning.
18:09 whiteknight not low-level PMCs, anyway. Objects or anything in a higher metamodel may have different semantics and they can work out the details
18:09 whiteknight also, we may be moving to a different metamodel ourselves, and then we need to change plans about how to handle memory allocations
18:09 NotFound whiteknight: yes, but other long-term goal is to unify PMC and objects.
18:09 whiteknight I haven't seen too many concrete plans for which object metamodel we want to move to, and when/how we are going to do it
18:10 whiteknight Notfound: exactly. But we don't have a solid plan for that yet
18:10 NotFound whiteknight: fully agree
18:10 whiteknight so, if the option is to wait for something that we don't have a plan for and may never happen, or make an improvement that I do have a plan for, I think I'll do what I know I can do
18:11 NotFound whiteknight: again, fine for me, as long as we can get rid of pmc reuse.
18:11 whiteknight agreed
18:15 NotFound Chandon: how does the green thread switch uses the C stack?
18:16 whiteknight NotFound: a greenthread is a continuation
18:16 whiteknight so executing a continuation in a runloop where it was not defined may cause problems
18:17 whiteknight and if we jump back up to the parent runloop, we cannot jump back down to the child
18:17 whiteknight this all goes away with Lorito, I hope
18:17 Chandon NotFound: If one green thread would block on IO, it needs to hang out - keeping its own stack - while another hardware thread takes the interpreter and runs another green thread with it.
18:18 NotFound Very problematic.
18:18 Chandon Yea it is. The funny thing is it mostly works.
18:18 NotFound Exception handling usually mostly works.
18:20 whiteknight Exceptions are really two different things: When thrown from C, they are a setjmp point that takes control into the scheduler and off to the appropriate handler. When thrown from PIR they are a basic continuation and operate entirely in the runloop
18:20 Chandon "We may longjmp and abandon the stack at any time" is a pretty non-intuitive constraint to work under. It almost makes me pine for C++ exception semantics.
18:20 whiteknight Again, in Lorito that difference mostly disapperas, but for now we are stuck with it
18:21 Chandon How's Lorito coming, anyway?
18:21 NotFound whiteknight: incorrect. If thrown from pir in a inner runloop, the exception handling gets executed inside that inner, and then needs unrolling if not resumung.
18:22 cotto chromatic said he'd had some ideas, but I've been spending most of my tuits on the git migration.
18:22 atrodo I haven't been able to figure out how Lorito would solve this problem since it's still C and inner runloops will still have to exist.  Just not as often called
18:23 NotFound atrodo: that is another problem, what to do if C code from extensions wants to reenter parrot runloop.
18:24 atrodo NotFound> Exactly my point
18:24 Chandon I think you could replace inner runloops entirely with callbacks, but the code would look a bit weird and I'm not sure if doing it is actually useful.
18:24 whiteknight NotFound, yes, there's that part too.
18:24 NotFound Well, currently is the same problem, but with the lorito approach should be a dfifferent thing.
18:24 whiteknight atrodo: Lorito isn't C
18:25 whiteknight Lorito is still an interpreted bytecode, but it's structured in such a way that we can write many of the Parrot API functions in Lorito. That way when we call a function, we stay in the runloop, and when we need to call more bytecode we're still in the runloop
18:26 atrodo But you're still going to have to call C sometime.  Especially when you talk about the embed interface
18:26 whiteknight atrodo: sure, some Lorito opcodes will enable direct calling of C functions
18:26 whiteknight that's how we're going to be able to start replacing many of our current API functions with Lorito
18:28 atrodo Right.  I still don't see how that solves the problem.  We'll still be calling extend/embed code, which could still call an inner runloop
18:28 atrodo Unless we outright forbid calling an innerloop
18:28 NotFound A related problem is the lack of a proper interface. If extenders call (and they do) any parrot function, we don't have a point to return control on unhandled exception.
18:30 NotFound With such a proper interface, the simple solution is to return control to the caller on unhandled exceptions.
18:30 whiteknight atrodo: That problem goes away with two rules: 1) individual runloops are not reentrant, and 2) each individual runloop is a separate entity and cannot pass control directly to another runloop
18:31 whiteknight if Parrot calls an extension, and the extension calls back into Parrot, and that inner call throws an exception, that exception can not be automatically propagated back up to the first runloop
18:31 whiteknight the exception goes to the extension code, and the extension code can then handle it however it wants (including re-throw in the first runloop)
18:32 whiteknight Continuations are a little bit more tricky, but not by much. When we throw a continuation through an extension, we call a C setjmp point and unravel the stack all the way back up to the first runloop, cleaning up the extension code with it
18:32 NotFound Note that that scenario put limitations on exception resume.
18:33 whiteknight NotFound: not really. The extension code can resume back into the second runloop
18:33 NotFound whiteknight: not if that second runloop has exited.
18:34 whiteknight NotFound: if an exception is thrown now and is not handled, Parrot exits
18:34 whiteknight that rule can hold for individual parrot instances in the same process, and also for individual runloop instances in the same parrot
18:35 whiteknight if you don't have a handler that can deal with the exception within the current parrot runloop instance, the runloop terminates
18:35 NotFound whiteknight: I mean: if you rethrow to the first runloop, the handler in the first runloop can't resume to original point, just to the rethrowing point.
18:35 whiteknight so, the lesson is to register a handler correctly, if you want to handle and resume an exception
18:35 whiteknight NotFound: right, but they are two separate instances. The first runloop instance had an *unhandled exception* and died from it
18:36 whiteknight the extension code that choose to communicate that information back to a different runloop
18:36 whiteknight if you don't handle an exception, you can't expect to resume it
18:36 NotFound whiteknight: for me is fine, but there are people in parrot with a great interest in resuming anything.
18:37 whiteknight NotFound: yeah, I know what you mean. Luckily, most of the problems we have will go away because most Parrot programs will have only one runloop
18:38 whiteknight NotFound: and the issue isn't whether we can resume an exception. We can always resume the exception if the exception is handled, and if the runloop where it was created still exists
18:38 whiteknight And I don't think that's too strict a rule
18:38 NotFound I suppose that in the long term it will depend on what extension code is usually doing.
18:39 whiteknight NotFound: on the bright side, there is very little extension and embedding code for us to deal with :)
18:39 NotFound whiteknight: yeah, but in the current stage with lots of inner runloops is hard to experiment if that approach may work well.
18:39 whiteknight :)
18:40 NotFound whiteknight: don't say that to the PLParrot or the modparrot folks ;)
18:40 whiteknight I think (hope) that the system is well-encapsulated enough that we can do something like a git fork, work on the runloop stuff in one, and work on everything else in the other
18:41 whiteknight NotFound: PLParrot is a nice counter-example, yes. Is modparrot still active?
18:41 NotFound whiteknight: no idea
18:42 NotFound And don't forget blizkost
18:42 NotFound And opengl
18:42 whiteknight blizkost embeds Parrot?
18:42 NotFound whiteknight: parrot embeds perl5
18:43 whiteknight I should have been more narrow: There is relatively little code that embeds parrot
18:43 whiteknight there is plenty of code that extends it
18:43 NotFound Is mostly the same thing for all this issues.
18:44 NotFound whiteknight: BTW, take a look at this: example: current status of winxed and glueglass(blizkost + Gtk2)" (48 lines) at http://nopaste.snit.ch/23335
18:45 NotFound That's blizkost in action.
18:46 dukeleto NotFound++
18:49 nwellnhof joined #parrot
18:54 whiteknight wow. Nice
18:54 whiteknight It would be much better in my estimation to have some native Parrot bindings to Gtk2, but that's still nothing to sneeze at
18:55 Chandon left #parrot
18:55 whiteknight What we could do is create an interface to Gtk2 that uses Blizkost/GlueGlass internally, and swap out the internals with a pure-Parrot implementation later
18:55 Chandon joined #parrot
18:55 Tene For a while, I had parrot bundings to EFL working, and programs using them from Rakudo.
18:55 Tene bindings
18:55 purl bindings are pre-wysiwig iirc or auto-generated by openqa (sorta)
18:55 whiteknight EFL?
18:55 Tene Enlightenment's gui toolkit
18:56 Tene http://enlightenment.org/p.php?p=about&amp;l=en
18:56 whiteknight oh, nice
18:57 nwellnhof i get an infinite loop in Rakudo spectest t/spec/S03-metaops/reverse.t test 33 with latest parrot
18:57 whiteknight Tene: those bindings no longer work? Do you have them posted anywhere online?
18:57 whiteknight NotFound: also, is glueglass online anywhere?
18:57 Tene whiteknight: it was broken by the HLL library API changes.  I posted it to github.  http://github.com/tene/parrot-elementary
18:58 Tene I didn't get all of the EFL, just the high-level widget toolkit
18:58 whiteknight Tene: oh, ha. I'm already watching it apparently
18:58 whiteknight my watchlist is too big for me to watch
18:59 Tene I really should figure out where the HLL interop stuff is these days, I just haven't been up to getting back into it again.
18:59 Tene afk lunch
19:00 hercynium left #parrot
19:02 NotFound whiteknight: no yet, bu is short, I can nopaste it in a moment.
19:02 whiteknight NotFound++
19:02 whiteknight if you put it live, I would love to look at it
19:03 nopaste "NotFound" at 192.168.1.3 pasted "glueglass - work in progress" (340 lines) at http://nopaste.snit.ch/23338
19:05 whiteknight wow, nice
19:05 whiteknight me like
19:06 Tene http://github.com/tene/parrot-​elementary/blob/master/et.pir is an example app
19:08 whiteknight am I still online?
19:08 Tene yes
19:08 dukeleto whiteknight: no
19:08 whiteknight damnit!
19:08 whiteknight no, all the rest of my internet access is down, except IRC
19:08 NotFound whiteknight: yes, a native gtk wrapper will be better, but that's a hard work.
19:09 whiteknight NotFound: yes, it would be very hard
19:09 whiteknight what might be nice is a utility to load in a shared library, identify all the function exports, and write wrappers for all of them in PIR
19:09 dukeleto #phasers is happening (rakudo dev meeting) if anybody is interested
19:09 dukeleto on freenode
19:11 whiteknight is this a weekly planning meeting a la #parrotsketch?
19:12 dalek parrot: r49002 | nwellnhof++ | trunk/runtime/parrot/library/URI/Escape.pir:
19:12 dalek parrot: Use find_encoding instead of find_charset in URI::Escape
19:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49002/
19:12 dalek parrot: r49003 | nwellnhof++ | trunk/src (2 files):
19:12 dalek parrot: Don't use STRING_equal yet
19:12 dalek parrot: It's not yet safe to use directly.
19:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49003/
19:15 whiteknight luben: ping
19:15 luben pong
19:17 whiteknight luben: Do you think we can delete that hash_allocator branch, after r49000?
19:17 whiteknight I mean, that did most of what I was planning, right?
19:17 luben may be yes. I think most of it is in trunc
19:18 whiteknight okay, I'll evaluate it tonight and delete the branch if it's redundant
19:18 whiteknight luben++
19:28 p6eval left #parrot
19:31 * whiteknight is heading home. Will be on later tonight
19:32 dukeleto whiteknight: good travels
19:32 * whiteknight will backlog whatever he missed in the #phasers and #parrotsketch meetings
19:32 whiteknight left #parrot
19:32 * dukeleto kicks Parrot::Manifest in the face
19:39 p6eval joined #parrot
19:42 Andy left #parrot
19:46 plobsing joined #parrot
19:54 kid51 joined #parrot
20:01 jsut joined #parrot
20:03 * cotto encourages dukeleto to use good form when doing said kicking
20:06 atrodo Don't want to injury yourself in the pursuit of progress, right?
20:06 jsut_ left #parrot
20:07 M_o_C left #parrot
20:08 cotto It's nice to have a proper irc client for prepasting #ps reports
20:10 dukeleto cotto: i set my boot on fire first, is that what you mean?
20:10 cotto wfm
20:10 * cotto wonders what dynamic activity is.
20:12 dukeleto cotto: did you make mk_language_shell.pl a generated file in git_aware_tools ?
20:12 dukeleto cotto: it seems that way, just making sure
20:13 dalek rakudo: 04ce047 | masak++ | src/core/Mu.pm:
20:13 dalek rakudo: [core/Mu] added .note method
20:13 dalek rakudo:
20:13 dalek rakudo: Contributed by tadzik++
20:13 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​4ce047e42cd85b4dfc2af01ed2b8d28ade98803
20:13 * dukeleto thinks he has mk_manifest_and_skip.pl working
20:13 cotto dukeleto++
20:14 cotto I'm not sure about mk_language_shell.
20:14 cotto pl
20:14 cotto digging
20:14 dukeleto cotto: looks like you made a mk_language_shell.in file
20:14 forwardever joined #parrot
20:15 cotto I don't think that was me.
20:15 dukeleto cotto: nope, it was gerd++
20:16 * cotto is glad he wasn't sleepcommitting
20:16 dukeleto cotto: me has seen the light. i think this friggin' thing works
20:16 cotto bam
20:16 cotto dukeleto++
20:17 cotto #ps in 13
20:18 cotto sounds like git o'clock will be rsn
20:18 dukeleto WOOOOOOOOOOOOT
20:18 cotto I'd better get those plugin tests nailed.
20:20 dukeleto cotto: just pushed to the git_aware_tools branch, take a look
20:20 dukeleto cotto: it could be refactored more, there is some cruft left over from the old way of doing things, BUT IT WORKS!
20:20 cotto util++ for the perl snipped in his #ps report
20:20 cotto win
20:20 * cotto looks
20:20 dukeleto i used the new mk_manifest_and_skip.pl to generate a new MANIFEST(.SKIP)
20:21 cotto no differences of note?
20:21 dukeleto it works off of .gitignore and git ls-files
20:21 NotFound It's perl? I tought it was a bug in his irc client copying garbage ;)
20:22 cotto I'd prefer perl 6, but perl 5 is acceptable.
20:24 dukeleto cotto: differences in mk_manifest_and_skip ? It is a lot less code
20:24 cotto no, differences in the generated files
20:24 dukeleto cotto: MANIFEST is exactly the same
20:24 cotto (though I'm certain that MANIFEST.SKIP has a boatload of obsolete cruft)
20:24 dukeleto cotto: MANIFEST.SKIP has some stuff reordered
20:25 dukeleto cotto: yeah, there looked to be some extra junk in MANIFEST.SKIP
20:25 allison joined #parrot
20:25 dalek rakudo: f5e67ec | masak++ | src/core/IO.pm:
20:25 dukeleto i also kept the questionable behavior of having 2 lines for every file in MANIFEST.SKIP, one that ends in $ and one that ends in /
20:25 dalek rakudo: Revert "Refactor slurp($filename) to use Parrot's .readall($filename);"
20:25 dalek rakudo:
20:25 dalek rakudo: This reverts commit 77a72a31234229635f720f853d59b865342df17a, since
20:25 dalek rakudo: http://trac.parrot.org/parrot/ticket/1749 is now fixed.
20:25 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​5e67ec06a50c7f966420da8eee9dcac038b6b75
20:25 dukeleto allison: howdy
20:25 allison dukeleto: hi
20:26 dukeleto allison: i've just finished porting mk_manifest_and_skip.pl to git
20:26 dukeleto allison: how goes it with you?
20:26 tadzik1 joined #parrot
20:26 allison dukeleto: great (on porting)
20:28 Paul_the_Greek join #parrotsketch
20:28 tadzik left #parrot
20:28 tadzik1 is now known as tadzik
20:28 Paul_the_Greek Slash would help.
20:29 chromatic joined #parrot
20:30 mikehh #ps time
20:34 bacek joined #parrot
20:34 aloha joined #parrot
20:34 cotto hio bacek
20:36 cotto dukeleto, do you have anything to knock off the git migration list other than mk_manifest_and_something?
20:37 dukeleto cotto: maybe, let me check
20:38 chromatic Was ByteBuffer in 2.6?
20:39 NotFound chromatic: 2.5
20:39 chromatic Coke, r48878's commit message was a typo fix.
20:39 chromatic Marked as experimental?
20:39 NotFound Nop
20:39 chromatic Ick.
20:40 NotFound It was tentatively marked as experimental, but became official before 2.5, if I remember well.
20:40 chromatic So we need a dummy parameter there, if at all possible.
20:41 NotFound I took a look, but don'g get wow to keep the functionality intact.
20:42 NotFound Should probably check all valid charset/encoding combinations.
20:42 NotFound And wich encoding is appropiate for each.
20:42 chromatic What a mess!
20:42 purl PLEASE DO NOT MAKE A MESS IN HERE
20:42 NotFound Yeah
20:42 chromatic ASCII ONLY PLEASE
20:43 cotto 255 characters ought to be enough for anybody
20:43 chromatic 128
20:43 chromatic Never trust anyone over 30 or with an umlaut.
20:44 NotFound 127, you need to keep zero as delimiter
20:45 hercynium joined #parrot
20:45 dalek tracwiki: v29 | dukeleto++ | GitMigration
20:45 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Gi​tMigration?version=29&amp;action=diff
20:45 whiteknight joined #parrot
20:52 plobsing pmichaud: nci_thunk_gen depends on data_json. data_json is very convenient for large datastructures in PIR.
20:53 chromatic Paul_the_Greek, we'll get to questions in a bit.
20:53 Paul_the_Greek It's about deprecation, so I thought it was relevant.
20:53 Paul_the_Greek Being patient ...
20:53 pmichaud plobsing: okay, I must've missed that then.
20:54 NotFound plumages uses it, also.
20:55 aceluck left #parrot
20:55 whiteknight those things that use data_json, can they be converted to use the new json module?
20:56 pmichaud the one I wrote?  yes, it shouldn't be too difficult.  the new data_json creates a compiler -- same as the previous one.
20:57 NotFound whiteknight: that doesn't solve the deprecation problem. It should be fixed or replaced.
20:57 pmichaud the new one can easily emulate whatever the previous api used.
20:57 whiteknight NotFound: that's what I'm saying to do. replace it with the new implementation, but add a compatible interface so it doesn't break deprecation
20:57 NotFound whiteknight: you said converting the things that use it.
20:58 whiteknight nci_thunk_gen is in our repo. We can convert that without breaking deprecation
20:58 chromatic We don't know of external users which rely on the API.
20:58 plobsing converting by swapping it out underneath would be ideal
20:58 whiteknight wheth we know it or not, deprecation policy is a promise. We can gut data_json and replace it's internals with the new implementation, so long as the API is the same
20:58 plobsing it is used to setup.json for various distutils projects.
20:58 whiteknight and anything in our repo we can convert directly
20:58 NotFound We should either replace it with the new one, or with a wrap that uses it.
20:59 whiteknight ok
21:03 dalek tracwiki: v30 | dukeleto++ | GitMigration
21:03 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Gi​tMigration?version=30&amp;action=diff
21:04 plobsing Paul_the_Greek: what's your opinion on booleans being integers? -1 or false? ;-)
21:04 NotFound FuzzyLogic++
21:05 whiteknight or FILE_NOT_FOUND?
21:06 NotFound Hey, we can just throw an Exception on Boolean.isa. You should know what you have and no ask, loser!
21:07 tadzik is there an opcode to convert an N register to something storable in S?
21:07 chromatic $S0 = $N0
21:07 plobsing set_s_n should work. polymorphic ops are great
21:07 plobsing or what chromatic said
21:07 purl chromatic said is good, so it is ;)
21:07 tadzik bah, right. chromatic++
21:14 plobsing lsp?
21:14 purl hmmm... lsp is Liskov Substitution Principle
21:21 ruoso left #parrot
21:23 preflex left #parrot
21:23 tcurtis joined #parrot
21:25 preflex joined #parrot
21:29 allison left #parrot
21:31 hercynium left #parrot
21:33 Topic for #parrot is now  Parrot 2.7.0 "Australian King" Released! | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 25 tickets; remove deprecated items (especially CodeString); record deprecations; polish for 2.8 release
21:34 kid51 left #parrot
21:47 dalek parrot: r49004 | whiteknight++ | trunk/docs/project/release_manager_guide.pod:
21:47 dalek parrot: pencil in mikehh for the Feb release. He volunteered and didn't specify. 3.0 is going to be a biggy, so I'm hoping somebody specifically requests it
21:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49004/
21:55 tadzik left #parrot
21:57 dalek rakudo: 5ac20e0 | masak++ | src/glue/enum.pm:
21:57 dalek rakudo: [src/glue/enum.pm] return the right things
21:57 dalek rakudo:
21:57 dalek rakudo: enum Foo <a b c>;
21:58 dalek rakudo:
21:58 dalek rakudo: Previously, requesting Foo yielded an EnumMap, whereas it now yields an
21:58 dalek rakudo: object of some kind whose .enums method returns an EnumMap. Similarly,
21:58 dalek rakudo: requesting b yielded an Int, whereas now it returns an object that responds
21:58 dalek rakudo: to a number of methods, as per S12.
21:58 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​ac20e01d5db17673bcd0e23077352e237411c45
22:01 bkuhn left #parrot
22:03 plobsing left #parrot
22:20 patspam joined #parrot
22:31 tcurtis left #parrot
22:58 chromatic TimToady, ping
23:05 plobsing joined #parrot
23:09 Paul_the_Greek left #parrot
23:16 kid51 joined #parrot
23:16 kid51 ~~
23:22 luben chromatic, ping
23:25 bacek_at_work aloha, humans
23:26 luben good localtime bacek
23:26 bacek_at_work hi luben
23:26 chromatic luben, pong
23:26 luben chromatic, I looked in args.c
23:27 luben If I switch from Hash PMC to parrot_hash for named params I get speedup of 2-4%
23:27 luben is it worth to go in that way
23:28 chromatic I'm not sure.
23:28 luben this is in fill_params
23:28 luben for named_used_list
23:28 chromatic The biggest inefficiency in argument processing right now is that CallSignature contains some static parts and some dynamic parts.
23:29 chromatic Oh, there?  What are you using as a benchmark?
23:31 luben rakudo startup
23:31 chromatic That's a good speedup for Rakudo overall then.
23:32 luben yes
23:32 chromatic Let's try it.
23:32 luben I  concerns only calls that expect named arguments
23:32 plobsing 2-4% speedup? how are you measuring?
23:32 luben ok, I will run test and if all passes I will ship it
23:33 luben plobsing, time ./parrot ../rakudo/perl6.pbc -e ''
23:34 chromatic Rakudo tests too?
23:36 forwardever left #parrot
23:36 plobsing luben: valgrind can give you more precision in your benchmarking (valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes ./perl6 -e '')
23:38 hercynium joined #parrot
23:43 whiteknight 2-4% improvements are never anything to ignore
23:45 luben ./parrot t/op/calling.t is giving me errors in trunk, without my changes
23:45 chromatic try prove t/op/calling.t
23:46 luben aaa... yes, it passes
23:46 chromatic Now your heart rate can return to normal again.
23:46 dalek winxed: r656 | NotFound++ | trunk/winxedst1.winxed:
23:46 dalek winxed: some cleaning in HashExpr code and fix its edge cases for hash values in stage 1
23:46 whiteknight ...I hate when that happens
23:46 dalek winxed: compiler
23:46 purl compiler is a controversial feature of Perl5.005 which will probably be used for evil ends or a way for the unenlightened to make themselves think their programs will run faster.
23:46 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=656
23:47 plobsing purl forget compiler
23:47 purl plobsing: I forgot compiler
23:50 AzureSto_ left #parrot
23:50 whiteknight purl compiler is <reply>compiler? COMPILER? I don't need no damned compiler. When I want to make new programs I take Linux out on a date and make them the old-fashioned way
23:50 purl OK, whiteknight.
23:50 AzureStone joined #parrot
23:51 chromatic Does your wife know you think of your kid that way?
23:51 luben I'm compiling an running rakudo tests now
23:51 whiteknight chromatic: I referred to the kid tonight as "the little rodent". My wife was not amused
23:53 chromatic I have a list of ways with which to refer to children if you want to remove the amusement from their mothers.
23:53 NotFound Note that if you replace a GCable with a non GCable you should free it in all possible exits, including any possible excpetion thown from its callees
23:54 chromatic I figured I'd check that when I saw the patch; good to have more eyes on it.
23:54 chromatic "Isn't our little GCable cute?"
23:55 NotFound My eyes aren't going to keep open for much more time today.
23:55 chromatic If you make the spectest run faster, you can go to bed sooner.
23:56 NotFound Mmmm... never figured that GCable is a good insult.
23:56 luben NotFound, I have noticed... I am freeing it
23:56 whiteknight NotFound: only in Parrot
23:56 luben shipped
23:57 NotFound whiteknight: everywere. It means that I don't care if the garbage collector gets rid of you.
23:58 chromatic Once I start ignoring you, something will sweep you up.  Eventually.
23:58 chromatic Maybe even also everything you care about.
23:58 NotFound Oh, if it were that easy with some people...
23:58 luben ok, I missed to free the hash on some exceptions... second patch comming
23:59 whiteknight if the hash is attached to the CallContext, you can destroy them together
23:59 cotto anyone mind if I take 3.0?
23:59 whiteknight fine by me

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

Parrot | source cross referenced