Camelia, the Perl 6 bug

IRC log for #parrot, 2010-04-09

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:06 sorear darbelo: Parrot is technically opposed to compacting GC, not morally.  Our GC is imprecise because it walks the platform stack without compiler-provided type information.  If and when we rewrite Parrot in a language with sufficiently powerful RTTI (most likely Lorito), there's no reason not to move to compaction.
00:08 sorear chromatic: I actually finally found the docs in question, so my opinion has moved from "WTF are these people doing?" to "Um, why is the specification of VTABLE_*_keyed in src/ops/set.ops?"
00:08 chromatic Good, we can fix that.
00:09 ingy O HAI chromatic
00:10 Coke sorear: see PDD17.
00:11 chromatic ingy
00:12 sorear darbelo: "one-way type inference and peephole optimization for NQP" is sounding more and more good as a project...
00:13 dalek parrot: r45470 | plobsing++ | trunk/src/nci (2 files):
00:13 dalek parrot: regenerate nci thunks
00:13 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45470/
00:14 sorear Coke: Indeed it would be nice if the important parts (shallow copy vs. deep copy) were in the PDDs.
00:16 sorear Parrot
00:16 sorear Parrot's own PMCs are inconsistent on this
00:16 sorear it wasn't until I found set.ops that I read that you aren't supposed to assume one or the other, clone liberally
00:17 snarkyboojum joined #parrot
00:22 sorear (don't mind me, I'm just lost)
00:24 plobsing sorear: how interested are you in your posix frame builder idea? If all you had to do was register a callback (implementable in PIR/whatever), how much work would it be?
00:25 sorear plobsing: 1 week
00:25 sorear plobsing: my interest level is inversely proportional to the success level of the libffi/libffcall/C/Invoke/ctype GSoCers
00:26 eternaleye joined #parrot
00:26 japhb posix frame builder?
00:29 plobsing japhb: use cc (as required by POSIX) at runtime to generate shared libs that are loaded to emulate an in-memory frame builder
00:29 dalek parrot: r45471 | jkeenan++ | trunk/t/library/tap_parser.t:
00:29 dalek parrot: [codingstd] Add coda for .pir files to make test pass.
00:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45471/
00:31 plobsing sorear: do we have GSoC proposals for all of those?
00:34 mikehh_ joined #parrot
00:34 kid51 plobsing:  When commit 45473 comes up, can you confirm that I reformatted the documentation correctly?
00:36 nopaste "kid51" at 70.85.31.226 pasted "codingstd failure in include/parrot/nci.h" (8 lines) at http://nopaste.snit.ch/20220
00:36 Austin Whiteknight: How's your windows api skillz?
00:37 Whiteknight Austin: mad skillz
00:37 Austin tt# 1546
00:38 Whiteknight oh great, dll hell
00:40 Whiteknight x86 or x64?
00:43 Coke Austin: can I twist your arm to do some more partcl?
00:44 Austin Whiteknight: I'm a simple 32-bit guy, but I don't think this is dll-hell-ish, so much as it is "this is a fundamental problem that applies to all platforms"-ish.
00:44 Austin Coke: Sure, what's up?
00:44 sorear plobsing: I haven't been keeping track.
00:45 Coke Austin: crap,I think I just figured it out.
00:45 Coke nevermind. =-)
00:46 dalek parrot: r45472 | plobsing++ | trunk (3 files):
00:46 dalek parrot: assert_args(build_call_func)
00:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45472/
00:46 dalek parrot: r45473 | jkeenan++ | trunk/src/nci/api.c:
00:46 Austin Bummer, i was hoping for a little horse trading...
00:46 dalek parrot: [codingstd] Reformat documentation so it passes c_function_docs.t.
00:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45473/
00:49 snarkyboojum joined #parrot
00:50 Whiteknight Austin: on your system is parrot compiled with the flag /Md?
00:51 Austin What do you get if you cross an pachyderm with a rhinocerous?
00:51 abqar joined #parrot
00:51 Whiteknight Austin: could you just nopaste the output of your build?
00:51 dalek TT #1546 created by Austin_Hastings++: Env.pmc fails to link dll in Windows VC build, and probably doesn't work
00:51 dalek TT #1546: http://trac.parrot.org/parrot/ticket/1546
00:52 nopaste "Austin" at 68.37.47.32 pasted "Whiteknight++: Build failure" (65 lines) at http://nopaste.snit.ch/20221
00:59 Whiteknight Austin: do you have the commandline args to the compiler? linker args don't help here
01:00 nopaste "Austin" at 68.37.47.32 pasted "touch env.pmc ; make" (84 lines) at http://nopaste.snit.ch/20222
01:02 dalek parrot: r45474 | plobsing++ | trunk/src/nci/api.c:
01:02 dalek parrot: make documentation readable with perldoc
01:02 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45474/
01:09 dalek partcl-nqp: 6fba342 | Coke++ |  (2 files):
01:09 dalek partcl-nqp: Run this test by default.
01:09 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/6fba342e6f33b39b0f00707d8c37834705f4a09e
01:11 plobsing is there somewhere I can get a list of all current Parrot GSoC proposals?
01:12 cotto plobsing, are you a mentor?
01:14 Whiteknight plobsing: ask dukeleto to become a mentor
01:14 Whiteknight then you can see the list online
01:15 cotto We have a good crop this year, even if nobody else adds a proposal between now and the deadline.
01:15 cotto More is always awesomer, but you knew that. ;)
01:16 plobsing seen dukeleto
01:16 purl dukeleto was last seen on #parrot 5 hours, 14 minutes and 0 seconds ago, saying: Andy: the book "Apprenticeship Patterns" from O'reilly would probably interest you.
01:17 cotto I think the process involves logging in to http://socghop.appspot.com/ and requesting to become a TFP mentor.
01:17 * cotto goes off to a different thing
01:19 kid51 plobsing:  Thanks.  make codetest PASS
01:23 * Coke wonders if he is the only one that reads that url as "SOCK HOP"
01:24 * plobsing just realizes there's a g in there. it makes sense now!
01:36 dalek parrot: r45475 | plobsing++ | trunk (3 files):
01:36 dalek parrot: first cut at hooks for runtime-loadable frame builder
01:36 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45475/
01:48 mikehh__ joined #parrot
01:54 tcurtis joined #parrot
02:20 theory joined #parrot
03:24 tcurtis Coke: you develop a HLL compiler or two, right? What do you think about a PAST optimization framework for GSoC?
03:29 yjh Is this the right place to ask about a parrot build problem ( on windows ) ?  gcc seems to be having problems with the drive letter.  I naively tried stripping the drive letters in the makefile, but it didn't work...
03:32 plobsing yjh: this is the right place. I'm not terribly windows-savvy, but I'll try. can you nopaste the build output?
03:33 yjh sure, but the output I dumped to file was from mingw32-make -d...  just want the last lines ?
03:33 plobsing whatever you think is relevant
03:36 Andy joined #parrot
03:36 mikehh joined #parrot
03:37 yjh plobsing: http://paste.lisp.org/display/97540
03:38 yjh Running gcc individually without the leading drive letter doesn't complain.
03:40 plobsing I notice that the paths are wonky. rakudo ones appear to use '/' whereas parrot stuff seems to use '\'. I know a lot of tools cope with unix paths on windows, but do they handle mixed ones?
03:41 yjh Yes, I tried fiddling with that and it didn't seem to affect the outcome for the pbc_to_exe part.
03:42 chromatic tcurtis, I'd like to see that.
03:45 tcurtis chromatic, I knew of your interest, but I was wondering which of the GSoC mentors might be similarly interested.
03:45 chromatic I thought I was a mentor.
03:46 chromatic I should be; if I'm not, I will be.
03:48 plobsing yjh: what about case sensitivity? I see C:\devel and C:\Devel. Does that matter? I only see 'Devel' in the failure, which seems suspicious.
03:49 tcurtis I was looking at this page http://www.perlfoundation.org​/perl5/index.cgi?gsoc_mentors , but now I notice it only says "possible mentors".
03:51 chromatic I'm happy to mentor that project.
03:53 yjh plobsing : The directory itself is actually title-cased ( "Devel" ).  I just tried running gcc with the lower-case name -I"/devel... and it worked.
03:54 yjh but I guess this doesn't guarantee there isn't any confusion b/w that portion and the make steps that precede it...
03:56 yjh I can try renaming the directory and re-configuring / making.
03:56 tcurtis Alrighty, then. I fear I may be over-specifying my timeline, but I suppose it's better that than under-specifying it, especially since I'm explicitly leaving some empty time to handle any problems that have thrown off the schedule. chromatic, are you male? I don't want to misuse pronouns.
03:56 janus joined #parrot
03:57 Austin tcurtis: he is.
03:57 Austin Or the ugliest damn woman I've ever met.
03:58 plobsing yjh: that appears to be the easy fix. I find it odd that titlecase directories cause the build to fail, but I lack the windows-fu to figure out where the bug is
03:58 chromatic I wouldn't say ugliest, but certainly male.
03:59 Austin tcurtis: http://trac.parrot.org/parrot​/wiki/Yapc10Bof#Grouppicture
04:07 yjh plobsing : alright, realcleaned and re-making.  something else I noticed ( not in pastebin ) is that previous gcc make steps used -I./include instead of the absolute path.
04:12 plobsing yjh: that's it! That happens to be the *first* invocation of pbc_to_exe (as a pbc in this case). That might be the root cause of this failure.
04:14 yjh plobsing : which invocation is the first invocation of pbc_to_exe ?
04:15 plobsing the cc invocation that is failing (and is different from the others) is being invoked as a sub-process of .\parrot pbc_to_exe.pbc pbc_to_exe.pbc
04:19 yjh hmm... it failed.  the -I option is still title-cased, too.
04:19 dalek parrot: r45476 | petdance++ | trunk (3 files):
04:19 dalek parrot: removed unused arg from Parrot_oo_clone_object.  Un-reused a loop variable.
04:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45476/
04:20 yjh err, nm, it's not lower-case
04:21 plobsing yjh: the path gets set at configure time. make clean in the parrot directory won't fix it. you need to 'make realclean\nperl Configure.pl'
04:26 yjh plobsing : yes, I did realclean and re-configure.  The Makefile has lower-case dir names.  I did move the old Makefile to Makefile.orig, though.  The man page says it checks for GNUMakefile, Makefile, and makefile, so not sure what's going on.  Going to get rid of the Makefile.orig and re-realclean, etc.
05:08 dalek parrot: r45477 | petdance++ | trunk/include/parrot/misc.h:
05:08 dalek parrot: removed function definition for a function that no longer exists
05:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45477/
05:20 cotto plobsing, make reconfig is the same as running realclean then running Configure.pl with the arguments you originally passed to it.
05:20 cotto it's a handy shortcut if you have any configure options you care about
05:21 dukeleto 'ello
05:21 dukeleto the github is up to date again, for now
05:21 dukeleto parrot mirror on github, that is
05:21 dukeleto i need to improve the mirror script
05:21 hudnix joined #parrot
05:22 cotto dukeleto, do the rtems guys know how slow parrot it currently?
05:24 cotto It seems that they're excited about getting HLLs on RTEMS (which is great) but they don't mention speed considerations.
05:27 chromatic plobsing, r45475 gives some warnings about argument type mismatches.
05:29 plobsing I was having trouble making up my mind on the order the arguments should be in. so apparently I didn't :-)
05:30 dukeleto cotto: they are excited about parrot because it allows the possibility of easily adding many dynamic languages to their runtime
05:31 dukeleto cotto: i don't know how concerned they are with "slow-ness". real-time stuff has a different concept of slowness
05:31 cotto right
05:32 cotto I can definitely see the charm of HLLs for places where RTEMS would be used.  They'd be much easier to write and less error-prone.
05:33 cotto or easier to debug than C at least
05:38 cotto ooc, what school is tcurtis going to after high school?
05:38 kurahaupo joined #parrot
05:40 dalek parrot: r45478 | plobsing++ | trunk/src/nci/api.c:
05:40 dalek parrot: fix order of arguments passed to frame builder callback
05:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45478/
05:54 sorear what, google docs has no "view in plain text"? :/
05:57 dalek parrot: r45479 | chromatic++ | trunk/src/gc/gc_ms.c:
05:57 dalek parrot: [GC] Fixed a compiler warning in gc_ms_allocate_buffer_storage() by removing a
05:57 dalek parrot: temporary variable.
05:57 purl temporary variable is a huge difference, though.
05:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45479/
05:57 dalek parrot: r45480 | chromatic++ | trunk/src/debug.c:
05:57 dalek parrot: [debug] Fixed a compilation warning in PDB_cond().
05:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45480/
05:57 dalek parrot: r45481 | chromatic++ | trunk/src/io/buffer.c:
05:57 dalek parrot: [IO] Removed unnecessary code from Parrot_io_read_buffer(), in the hope that C
05:57 dalek parrot: compilers now recognize that size_t can never be negative.
05:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45481/
05:57 dalek parrot: r45482 | chromatic++ | trunk/src/pmc/default.pmc:
05:57 dalek parrot: [PMC] Removed compiler warning.
05:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45482/
05:57 dalek parrot: r45483 | chromatic++ | trunk/src/pmc/imageio.pmc:
05:57 dalek parrot: [PMC] Fixed a compiler warning in ImageIO PMC's set_string_native VTABLE.
05:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45483/
05:58 cotto go play in a tar pit
06:08 uniejo joined #parrot
06:12 dukeleto cotto: i don't know, but tcurtis has a nice proposal and he seems to be on the ball
06:13 dalek parrot: r45484 | chromatic++ | trunk/src/pmc/packfile.pmc:
06:13 dalek parrot: [PMC] Fixed a compiler warning in Packfile PMC's set_string_native VTABLE.
06:13 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45484/
06:14 sorear not all parts of a real-time system have to be real time
06:15 dukeleto sorear: and parrot won't be, until it gets a real time GC or you turn off the current GC via -G
06:16 cotto dukeleto, sure.  I'll evaluate his proposal on its own merits (and it has plenty).  I'm just curious.
06:17 sorear dukeleto: the current GC is real time, it guarantees to complete in time O(heap size)
06:18 sorear if your application requires a one-second deadline, the Parrot GC is fine
06:18 chromatic Not heap size, but allocated memory size.
06:18 sorear not even for the sweep?
06:18 chromatic It's a precise collector, so no.
06:19 sorear oh right allocated memory
06:19 sorear I read "live data size" there
06:20 chromatic It's not even that though, because we don't have to trace buffer pools.
06:21 dukeleto sorear: our current GC is not real-time
06:22 dukeleto also, there is a spectrum of real-time-ness. you have to specify "at what time interval"
06:23 dukeleto our current GC may be "real-time" on the order of seconds or tens of seconds, but it definitely is not at smaller time scales
06:23 dukeleto for short-lived processes, turning off the GC is a perfectly good solution
06:23 dukeleto for servers, not so much
06:37 hudnix joined #parrot
06:46 chromatic He.
06:46 chromatic 1.945% performance improvement in avoiding *one* memset() call.
06:49 dukeleto t/profiling/profiling.t is still failing on trunk on darwin
06:51 dukeleto msg bubaflub you were the last one to touch the profiling tests. do you know why they are failing on darwin ?
06:51 purl Message for bubaflub stored.
06:55 dalek rakudo: 4c94d70 | masak++ | src/core/Temporal.pm:
06:55 dalek rakudo: [Temporal] removed nanoseconds; chasing spec
06:55 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​c94d702f1684c3f820b03c814f2b1d29d93ba96
06:56 dukeleto what do i do if i want variadic macros in C89?
06:56 chromatic Cry.
07:00 * dukeleto cries
07:34 sorear dukeleto: Wrap the arguments in an extra pair of parantheses and hold your nose
07:35 sorear #define DECL(rt, fun, params) rt fun params;
07:35 sorear DECL(int, printf, (const char *, ...));
07:36 sorear Perl5 uses a form of this to deal with only declaring functions if an ANSI compiler is used
07:36 sorear thankfully Parrot doesn't support K&R
07:40 dukeleto sorear++
07:48 riffraff joined #parrot
07:49 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33081), fulltest) at r45484 - Ubuntu 10.04 beta amd64 (g++ with --optimize)
08:00 dukeleto how do I tell what kind of PMC a given PMC is, in C?
08:00 chromatic pmc->vtable->whoami
08:01 chromatic It's a STRING
08:01 sorear pmc->vtable is the most direct way if you just want to check equality
08:01 sorear if you want something human readable, =chromatic
08:04 dukeleto basically, i want to know if a PMC is a Float, String or Integer PMC
08:04 dukeleto s/Float/Numeric/
08:05 dukeleto also, this is via the extend/embed interface
08:06 dukeleto Parrot_PMC_does looks like it could be useful
08:06 mikehh only two warnings - declared with attribute warn_unused_result - in compilers/imcc/symreg.c
08:08 dukeleto Parrot_PMC_inspect sounds interesting as well
08:08 dukeleto Parrot_PMC_isa! that sounds like a win
08:09 sorear Parrot_PMC_inspect has no semantics
08:10 nopaste "mikehh" at 81.149.189.7 pasted "remaining warnings from g++ build at r45484" (49 lines) at http://nopaste.snit.ch/20223
08:10 sorear it's probably only useful for quick hacks, or debugging
08:10 sorear ie Devel::Peek
08:10 dukeleto sorear: duly noted. I think i will try Parrot_PMC_isa
08:11 dukeleto are things like Parrot_PMC_i_absolute supposed to be in extend_vtable.h ?
08:13 sorear I don't think anyone knows how the vtable stuff is supposed to work
08:20 sorear Parrot_str_*** is defined in parrot/string_funcs.h
08:20 sorear parrot/string_funcs.h only parses itself if PARROT_IN_CORE is defined
08:20 sorear yet I can use Parrot_str_new in extensions
08:20 sorear what am I missing
08:21 sorear ?
08:23 dukeleto magic sausage ninjas riding unicorns
08:24 sorear and if the entire string API is supposed to be private, what am I to do with all these STRINGs?
08:33 sorear Is there any nice simple way to ask a STRING to turn itself into either ISO-8859-1 or UTF-8, then get a char* base pointer and a byte count?
08:36 Khisanth joined #parrot
08:40 dalek tracwiki: v10 | mikehh++ | BuildWarnings
08:40 dalek tracwiki: remaining warnings from g++ build at r45484</a>
08:40 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Bui​ldWarnings?version=10&amp;action=diff
08:40 dalek tracwiki: v162 | mikehh++ | WikiStart
08:40 dalek tracwiki: add BuildWarnings</a> to Development Tasklists
08:40 dalek tracwiki: http://trac.parrot.org/parrot/wiki/W​ikiStart?version=162&amp;action=diff
09:00 janus joined #parrot
09:22 darbelo sorear: You have to do it in two steps, Parrot_str_change_encoding() and then Parrot_str_to_cstring()
09:26 darbelo Oh, and a call to Parrot_str_byte_length() for the length.
09:28 sorear Parrot_str_to_cstring makes a copy though
09:28 sorear I'd like to avoid that if possible, since the function I'm going to pass it to is specced to copy itself
09:28 dalek plparrot: ad7dd1c | dukeleto++ | plparrot.c:
09:28 dalek plparrot: Put call to get_typlenbyvalalign in plparrot_push_pgdatatype_pmc
09:28 dalek plparrot: review: http://github.com/leto/plparrot/commit/a​d7dd1c5d66b9e52abca4592dd25c0ffdc6c6104
09:28 dalek plparrot: 54f7395 | dukeleto++ |  (2 files):
09:28 dalek plparrot: Start making sausage, i.e. turning PMCs into Datum's. Returning ints back to Postres now works.
09:28 dalek plparrot: We can now return Integer PMC's from Parrot back to Postgres. This has us passing 6/13 tests.
09:28 dalek plparrot: review: http://github.com/leto/plparrot/commit/5​4f7395acb67a3ca9e4a813a50a7210dbd1944c1
09:28 dalek plparrot: d162ea4 | dukeleto++ | t/sql/test.sql:
09:28 dalek plparrot: Add tests for TEXT arguments and remove useless casting in test_varchar_*
09:28 dalek plparrot: review: http://github.com/leto/plparrot/commit/d​162ea447acad7d445e823c9a41a051c9b65aa2e
09:28 dalek plparrot: dca15e4 | dukeleto++ |  (2 files):
09:28 dalek plparrot: Code cleanup and fix signatures of test_char_* and test_varchar_* tests
09:28 dalek plparrot: review: http://github.com/leto/plparrot/commit/d​ca15e44c02ccd630eab6401bb8873bece4e08c8
09:29 dukeleto what is the best way to convert a Parrot_String into a cstring ?
09:29 dukeleto Parrot_str_to_cstring, it seems
09:32 sorear how portable is .PHONY?
09:32 moritz GNU make only, iirc
09:32 darbelo dukeleto: Yeah, that's the one.
09:33 darbelo sorear: the alternative is to break encapsulation and read from the STRING's internal buffer.
09:35 darbelo But that's an evil practice I've tried to rid parrot's core of, and if you do it in a extension I'll shuffle the struct's member daily just to break your code ;)
09:36 sorear alternatively, you could add a function to allow me to copy the buffer myself
09:36 sorear hmm, segfault on global destruction is back
09:36 sorear I was wondering where it went
09:37 dalek blizkost: a39f261 | sorear++ |  (2 files):
09:37 dalek blizkost: Implement get_pmc_keyed for P5Scalar
09:37 dalek blizkost: It's completely wrong in several ways, but it works, and I don't know
09:37 dalek blizkost: of a less wrong way to make it happen.
09:37 darbelo Order of destruction bug?
09:37 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​a39f261f12349f8ca16eed91529d564b2a555599
09:37 dalek blizkost: 9dfcf49 | sorear++ | build/Makefile.in:
09:37 dalek blizkost: Combine nt with test
09:37 dalek blizkost: This fixes the fact that nt tests don't run because there's a directory
09:37 dalek blizkost: named nt.
09:37 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​9dfcf49a5fdf7781fed1d164bba8898533261a2c
09:37 sorear darbelo: yes
09:37 sorear order of destruction is critical and cannot be enforced
09:38 darbelo Meh, they come and go, except when they stay.
09:39 sorear what I'm going to do is to store the interpreter status struct outside of the Parrot heap, and refcount it
09:39 sorear so it's guaranteed to last long enough
09:39 sorear stupid idea?
09:40 darbelo What exactly is the problem?
09:40 sorear segfault during global destruction
09:40 sorear because neither Parrot nor Perl can be trusted to destroy referers before referents
09:41 darbelo No, I mean what is getting prematurely collected?
09:41 purl okay, darbelo.
09:41 sorear I think the P5Interpreter PMC, but it's hard to tell just from the -O2 stack trace
09:42 darbelo Is that pmc intended to live throught the duration of the program?
09:43 sorear generally, yes
09:43 darbelo Hm. Is there just one or many?
09:43 sorear one
09:43 sorear the preceding two statements will change in the future, at the same time
09:44 darbelo You could make it a singleton.
09:44 sorear I'm not a fan of the "permanent process-global singleton" pattern
09:44 sorear would that help?
09:44 sorear parrot global destroys /everything/
09:44 darbelo You can 'leak' those without worrying about destruction...
09:44 sorear you can't access the address registry from within a destroy vtable because the addr registry is usually one of the first PMCs to get destroyed
09:45 sorear FIFO destruction order
09:45 sorear ughhhh
09:45 sorear I may have to do that
09:45 sorear deliberately adding memory leaks is a very repugnant concept
09:46 darbelo Yeah, singleton dynpmcs will segfault if they have active destruciton set.
09:46 sorear why?
09:47 sorear what about non-singleton dynpmcs that are referred to from a singleton non-dynpmc?
09:47 sorear I may need to rethink the entire design; active destruction is critical, and I can't guarantee the dynpmcs will already have been collected at global destroy time
09:47 darbelo The library where the code for the 'destroy' vtable lives get's unloaded before the destruction of the immortal^Wconstant PMC pool.
09:48 darbelo Leaking works, since they are only created once and they live until interpreter destruction anyway.
09:48 sorear unless somebody creates parrot interpreters in a loop
09:49 darbelo It's not a solution, I know. But it'll keep you from segfaulting...
09:50 sorear I don't think so
09:50 sorear if what you say is true, and dynpmc libraries are unloaded before global destroy
09:50 sorear then I have to leak ALL values
09:51 darbelo dynpmc libraries are unloaded as *part of* global destroy, IIRC.
09:52 darbelo Regular dynpmcs ussually avoid this bug.
09:52 sorear so basically I can't use active destroy in dynpmcs if there is any chance the pmc will survive to global destroy
09:52 darbelo It's stuff in the constant pools that lives beyond what it should.
09:53 sorear isn't there only one global destroy?
09:54 darbelo Global destroy, destroys *everything* the key factor is that the order in which things are destroyed ignores dependencies.
09:55 sorear yes
09:55 darbelo The problem I'm describing here (which might not exactly be the one you see.) is due to the fact that the constan pool is destroyed in one go at the very end of the process, not caring if somethign in there hould have died sooner.
09:55 sorear it's a FIFO destroy, afaict
09:55 sorear the P5Interpreter is created first and it's usually the first to go
09:56 sorear the dynpmc library is loaded before any of the dynpmcs are created
09:57 szabgabx joined #parrot
09:57 darbelo The dynpmc library is unloaded after the dynpmcs die. Unless one of the dynpmcs is immortal.
09:58 darbelo The library is unloaded anyway, and then bad stuff happens when the immortal dynpmc has to die.
10:03 sorear the dynpmc is unloaded when the Library PMC dies
10:03 sorear how does Parrot guarantee that Library PMCs die last?
10:03 darbelo I doesn't, that's our problem.
10:04 sorear Parrot is not fixable?
10:05 darbelo Nobody has yet put in the effort. The fix is very likely to involve changes to constant and sigleton PMC semantics.
10:06 darbelo Other than bacek, chromatic and maybe whiteknight, we don't have a lot of people familiar with gc internals.
10:06 sorear Rakudo has dynpmcs which can survive to global destruction and have active destruction
10:06 sorear Why doesn't Rakudo crash on exit?
10:07 darbelo Luck?
10:07 purl Luck is red and spotty?
10:07 sorear :(
10:07 moritz sorear: because it calls exit() before the end, bypassing global destruction
10:08 sorear moritz: . . . is this deliberate
10:08 moritz rakudo doesn't implement DESTROY methods
10:08 moritz yet
10:08 darbelo That's... a workable alternative, I guess.
10:08 moritz so it doesn't really suffer from it, yet
10:09 sorear moritz: p6lowlevelsig and mutablevar have active destroy
10:09 moritz darbelo: not really, if you need to flush buffers
10:09 sorear darbelo: not so much for a library
10:09 moritz sorear: I meant at the Perl 6 level
10:30 clinton joined #parrot
11:11 bacek Aloha
11:11 bacek Who called my name?
11:12 darbelo Crap, we broke a commandment. We used the bacek's name in vain.
11:13 * bacek throw few lightning bolts to random targets
11:14 darbelo bacek++ # untargetted retaliation.
11:30 Infinoid bacek's wrath is highly parallelizable
11:36 whiteknight joined #parrot
11:37 ruoso joined #parrot
11:47 Andy joined #parrot
11:55 szabgabx joined #parrot
11:57 dalek parrot: r45485 | bacek++ | branches/immutable_strings_part1 (13 files):
11:57 dalek parrot: Mass remove 'dest' parameter in various string manipulation functions
11:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45485/
12:05 mikehh joined #parrot
12:26 * darbelo wonders about the Google Summer of Warnock.
12:29 darbelo "Your proposal is very good. There's nothing we would like you to change in it." vs "You proposal is completely uninteresting to us. There's nothing we care about in it."
12:33 bluescreen joined #parrot
12:34 clinton joined #parrot
12:35 moritz darbelo: your "Parrot on RTEMS" proposal looks good, and has got a positive (private) comment already
12:35 smash joined #parrot
12:35 smash hello everyone
12:36 moritz darbelo: the other one got pretty positive comments too. One of them wants more details in the schedule (and I wonder why it's not a comment visible to you)
12:37 darbelo moritz: I see no comments on either proposal.
12:37 moritz Week 2: Normalization algorithm and conversion functions via Unicode fully-decomposed form. -- shouldn't that be "fully composed"?
12:37 moritz darbelo: the private comments are only visible to mentors
12:38 darbelo moritz: Yes, that should be fully-composed (NFC)
12:38 moritz anyway, I don't agree that there should be more details in the schedule
12:38 moritz it looks fine to me
12:39 moritz darbelo: so both proposals are rather on the "very good" side, not on the "completely uninteresting" side :-)
12:40 SamuraiJack_ joined #parrot
12:41 darbelo Oh, I got enoug comments from people on IRC to figure there was some interest on NFG. I'm mostly bitching at melange's student UI.
12:42 darbelo It tell you absolutely *nothing* about what's happening on the other side.
12:42 moritz darbelo: :-)
12:43 moritz darbelo: as a selfish, non-RTEMS Perl 6 hacker I'd love to see you doing the NFG project
12:44 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33086), fulltest) at r45485 - Ubuntu 9.10 i386 (g++ with --optimize)
12:44 darbelo Heh, I would be surprised if I landed a TPF slot to work on the RTEMS port.
12:45 atrodo joined #parrot
12:45 darbelo Originally I had submitted just one proposal to each org. I only submitted the second one to TPF after a suggestion from the RTEMS guys.
12:46 moritz so you have at least three proposals in the running, two of wich are identical?
12:48 darbelo Pretty much, I did some light editing to remove stuff that is obvious to people in the Parrot community and try to get it a little closer to the TPF app template. But I presented the same plan to both orgs.
12:48 moritz seems like a good idea to me
12:49 darbelo I was kind of surprised that it's allowed. But given that the RTEMS guys suggested it and dukeleto had no problems with it, I'm guessing it's all good.
12:50 moritz I guess if it were forbidden, it would be quite an effort to track down
12:51 moritz and it gives people the possiblity to mentor it either organization for such "bridge" projects
12:53 darbelo Yeah, I can see the benefit to that.
12:54 moritz well, we have other fun too
12:54 moritz somebody who mentored last year applies as a student this year
12:55 darbelo That's an odd situation.
12:55 moritz but again it's "why not?"
12:57 darbelo Yeah, the presominat attitude from the Google people seems to be 'whatever works for your org'
12:58 szbalint that's certainly flexible.
12:59 darbelo Well except for the guy that stated in the mailing list that he had lied in his application last year, and intended to do the same this year.
12:59 Coke msg tcurtis - Anything that makes the HLLs faster is a good thing from my standpoint. My biggest concern is that it probably won't help anything with 'eval()'.
12:59 purl Message for tcurtis stored.
13:00 darbelo Coke: But doesn't eval build a PAST/POST tree just like normal compilation?
13:02 szbalint darbelo: lied about what?
13:05 darbelo I don't recall exactly, someone had a question about a grey-ish area in the elegibility criteria.
13:05 Andy joined #parrot
13:06 darbelo And one guy replied that he could just lie on the application, as that had worked for him last year.
13:06 darbelo *And* that he was doing it again this year.
13:06 szbalint ah ok. I tried to look in my GSOC folder, but full text search on lie just brings up "Leslie Hawthorn" :)
13:07 szbalint thunderbird should do regexps :)
13:07 darbelo My recolection of the even is fuzzy. I don't pay that much attention to the students mailing list.
13:09 darbelo Ah. Found the thread.
13:09 darbelo subject was "Can I do GSoC and another internship at the same time?
13:09 darbelo Starting March 24.
13:12 Coke Andy: http://trac.parrot.org/parrot/wiki/BuildWarnings (warnings found by various people over time.)
13:12 darbelo szbalint: perl does regexps, if you have your mail in mbox format that's all you need.
13:13 moritz unless the email is base64 encoded...
13:15 Coke darbelo: yes, it builds it, runs it, and then throws it away.
13:15 Coke the PAST optimizations seem better for things that are compiled and saved (and then run multiple times.)
13:17 particle that depends
13:17 particle tailcall optimizations can be very useful for short programs if they're recursive
13:18 Coke Yup, I'm not saying there isn't benefit in some cases, just in general. I'd be interested to see benchmarks.
13:19 Coke (based on "real world" rakudo or partcl code.)
13:19 moritz tailcall optimizations are partly remove from rakudo, because some of them make IMCC segfault, or so
13:20 particle sure, blame it on imcc....
13:20 particle what's up with pirc?
13:20 bubaflub msg dukeleto: i did touch t/profiling/profiling.t, but that was only codingstd stuff (line length, no extra spaces, svn-props, etc)
13:20 purl Message for dukeleto stored.
13:21 darbelo particle: It's not done?
13:21 Coke particle: andy and... notfound? tried to get pirc to build recently and gave up after a valiant effort.
13:21 particle ah, rats.
13:22 Coke I really don't see it taking over for IMCC any time soon.
13:22 * Coke wonders if he ever added that config option to parrot yet.
13:23 Coke LHF - merge pirc_config back to trunk.
13:23 darbelo I remember now: It doesn't build with c++ and it breaks every time we run the headerizer.
13:23 particle ah, well, doesn't build with c++ shouldn't be too hard to fix
13:24 moritz why did I just read "bacek to trunk"? :-)
13:24 * Coke wanders off to a meeting.
13:26 mikehh joined #parrot
13:30 snarkyboojum joined #parrot
13:39 ruoso joined #parrot
14:04 Andy joined #parrot
14:07 ash_ joined #parrot
14:07 darbelo Ugh. We need to pull less configure stuff from perl.
14:17 bubaflub darbelo: what should go? (just curious)
14:17 mikehh darbelo: me also
14:18 mikehh we get a lot of the compiler stuff from perl
14:19 darbelo Everithing with _provisional on it's name should go away.
14:20 darbelo Also a lot of what we get from perl is highly static data that could just as easily be stored on the hints files.
14:22 mikehh one of the things I think we need to look at is an examination of why things were done in a given way
14:22 mikehh and if they are relevant to current parrot development
14:22 Mokurai joined #parrot
14:22 darbelo o, share_ext, a, exe, ar, ranlib, make are all candidates for not getting pulled from perl.
14:23 darbelo Once we get rid of recursive make calls we'll be able to abliterate all make-related variables too.
14:25 SamuraiJack__ joined #parrot
14:27 patspam joined #parrot
14:43 Andy Is this crazy 2-space-indent switch statement The Right Way It's Done?
14:44 darbelo Andy: where?
14:44 Andy look at line 1530 of src/hash.c
14:45 darbelo Bleargh.
14:45 Andy yeah
14:46 Andy I fixed it in a couple of places, but it seemed so widespread I thought "Huh. maybe it's a standard I'm missing"
14:46 ash_ joined #parrot
14:46 bubaflub Andy: the only place i've seen the two-indent thing is in PIR with a label
14:46 bubaflub i.e. your code is 4 spaces in, a label is 2 spaces outdented
14:46 Andy Labels (including case labels) must be outdented two columns relative to the
14:46 Andy code they label.
14:46 Andy .
14:46 Andy From pdd07
14:47 bubaflub but beyond that, i haven't seen it in c stuff, though i don't look too often
14:47 Andy blah
14:56 whiteknight you shouldn't see it in C, goto considered harmful, etc
14:56 whiteknight I've seen mixed usage in case statements
14:57 darbelo PDD07: " (including case labels)"
14:57 whiteknight damn you, darbelo
14:57 whiteknight smarty pants
14:57 darbelo Technically. All of the ugly code is right, and the rest should be uglyfied.
14:58 bubaflub you are technically correct -- the best kind.
14:58 Andy I'm going to have to hack the vim strings.
14:58 Andy because I use the vim C indenter all the time.
14:59 darbelo Or maybe we should repaint the bikeshed^W^W^Wrevise the conding standards.
15:00 bubaflub in other news, 4 hours to the GSoC deadline (i believe)
15:01 darbelo bubaflub: http://www.timeanddate.com/cou[#]&min=0&sec=0&p0=0
15:01 darbelo Er, http://www.timeanddate.com/counters/customc​ounter.html?month=04&amp;day=09&amp;year=20​10&amp;hour=19&amp;min=0&amp;sec=0&amp;p0=0
15:01 darbelo 14290 seconds !
15:01 bubaflub the horror! the horror!
15:02 ash_ its always amazed me how tacking 1 more zero on to the end of seconds makes it grow at a crazy rate
15:03 dalek parrot: r45486 | petdance++ | trunk (5 files):
15:03 dalek parrot: Removed an unused argument. Fixed consting.
15:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45486/
15:05 theory joined #parrot
15:12 * PerlJam is surprised in a good way when reading tyler curtis' gsoc submission
15:12 whiteknight PerlJam: yes, it is impressive
15:12 whiteknight all of our submissions this year are top-notch
15:13 moritz the parrot ones are pretty good, yes
15:13 moritz I'm afraide the perl 6 related are mostly not
15:13 moritz with the notable exception of masak's
15:13 PerlJam yep
15:13 whiteknight masak's is very impressive indeed
15:13 bubaflub cool!
15:14 bubaflub how do they (Google or TPF) determine how many slots an organization will have?
15:14 lucian joined #parrot
15:14 moritz bubaflub: all organizations have to make an estimate of how many of the applications are good enough to sponsor...
15:15 bubaflub moritz: ok.
15:15 moritz bubaflub: then google assigns them a number of slots proportionaal to that number, to the ratio of succeeded applications last year, moon phase...
15:15 moritz and in the end ther's a big random number generator
15:15 bubaflub cryptographically secure number generator?
15:15 darbelo I think the official term for that was 'Leslie Math'
15:15 particle actually google draws a circle on the floor, throws the submissions in the air, and any that land outside the circle are thrown out.
15:16 particle they don't want unlucky students.
15:16 bubaflub makes sense.
15:16 darbelo I wonder how I got in last year, then.
15:16 bubaflub same.
15:16 PerlJam they don't draw a circle, they use an existing one (one of the "o"s from their name)
15:16 moritz bubaflub: there's a contingent of ~500 applications that will be sponsored (or at least that's how it was last year)
15:17 moritz darbelo: half of the proposals are rubbish from the start, usually
15:17 bubaflub so there were about 500 accepted proposals last year?
15:17 whiteknight 5000
15:17 moritz whiteknight: sure?
15:17 purl But are you sure you're sure?
15:18 whiteknight moritz: to the best of my recollection
15:18 darbelo moritz: It was a comment on particle's 'only lucky students' method.
15:18 darbelo Last year was not my luckiest year ;)
15:18 PerlJam that would mean google put up about 23 million ... I thought it was more like 3 million
15:18 whiteknight oh shit, no. My brain is broke
15:18 PerlJam (dollars)
15:18 whiteknight 900 in 2007
15:18 bubaflub i thought it was closer to a thousand last year
15:20 whiteknight say about 1000 this year
15:20 whiteknight http://socghop.appspot.com/document/show/gsoc​_program/google/gsoc2010/faqs#number_students
15:22 bubaflub http://socghop.appspot.com/document/show/p​rogram/google/gsoc2009/studentallocations - the method behind the madness
15:29 payload joined #parrot
15:32 Coke SOCKHOP!
15:38 khairul joined #parrot
16:06 dngor joined #parrot
16:12 SamuraiJack___ joined #parrot
16:22 darbelo less than 9450 seconds to 'SOCKHOP' deadline. Everyone panic!
16:22 * moritz panics
16:32 cotto_work joined #parrot
16:33 dalek TT #1547 created by petdance++: Mass-update vim modelines
16:33 dalek TT #1547: http://trac.parrot.org/parrot/ticket/1547
16:44 ash_ joined #parrot
16:45 cotto_work howdy
16:45 purl salut, cotto_work.
16:48 darbelo 'sup cotto_work
16:49 * darbelo is getting bored of the panic.
16:49 dalek tracwiki: v55 | cotto++ | ParrotQuotes
16:49 dalek tracwiki: darbelo lays down the law
16:49 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Pa​rrotQuotes?version=55&amp;action=diff
16:50 ash_ anyone have any last minute comments on my GSoC app? http://docs.google.com/View?id=dfvcbmxs_51fd6qw7zj is a copy of it
16:52 moritz ash_: it's a bit worrying that testing only appears in the last week :-)
16:52 moritz ash_: maybe add something that each step will be accompanied by unit tests along the way
16:52 cotto_work +1 to what moritz said
16:52 ash_ should i push it to the front of the project?
16:52 moritz ash_: I'd add it to 'project details'
17:02 SamuraiJack1 joined #parrot
17:30 ash_ joined #parrot
17:51 senf_statt_oel joined #parrot
17:59 chromatic joined #parrot
18:08 Mokurai joined #parrot
18:14 cotto_work Melange needs a gsoc proposal to make it faster than cold molasses.
18:22 darbelo cotto_work: I almost submitted my ideas for 'Make the internet faster.' but I needed to find my own mentor, which I couldn't do on the current, slow, internet.
18:22 cotto_work Yeah.  That sounds like a tricky bootstrapping issue.
18:23 darbelo For next year I'll make sure to mention that speeding up the internet will make melange faster ;)
18:38 ash_ joined #parrot
19:13 riffraff joined #parrot
19:27 Mokurai joined #parrot
19:32 chromatic http://www.modernperlbooks.com/mt/2010/04/the-t​yranny-of-memory-part-iv-immutable-strings.html
19:32 chromatic ... in case I haven't convinced everyone yet.
19:35 PerlJam heh .. "there's no garbage collection mechanism cheaper than not creating garbage at all."  chromatic++
19:43 whiteknight chromatic:
19:43 whiteknight Ive been loving these posts
19:48 chromatic Want to see something crazy?
19:48 Coke chromatic: does it involve a commit?
19:49 particle coke++
19:49 PerlJam chromatic: did you actually get a 10-15% speed increase?  :)
19:49 nopaste "chromatic" at 173.50.130.127 pasted "Remove a memset(), go 1.945% faster" (96 lines) at http://nopaste.snit.ch/20227
19:49 Coke particle: I was just trying to figure out /how/ crazy we're talking about here.
19:51 particle "Again, if things go weird, this is the commit to check."
19:51 particle that list keeps growing.
19:55 Andy chromatic: have you tried PARROT_HOTting gc_ms_allocate_string_header ?
19:55 chromatic I haven't; let me try that.
19:56 Andy Might be interesting.  DUnno.
19:58 chromatic No effect.
19:58 chromatic Trying another benchmark.
20:00 chromatic A tiny degradation.
20:00 cotto_work Would callgrind care about the delay from page faults?
20:00 chromatic Cachegrind does measure instruction cache misses.
20:01 chromatic We might see more benefit if we compile all of the .c files in a directory into a .o file in a single pass.
20:02 chromatic I'm sure the function pointer indirection doesn't help.  Sometimes I think some of these pieces of Parrot would benefit more from C++ than anything else.
20:05 Andy I suspect that PARROT_HOT is only going to be interesting when groups of functions are tagged together.
20:06 chromatic Yeah, but GCC would also have to optimize across modules for that to help.
20:06 Andy I'm thinking that it's the interactions of hot/cold functions
20:25 chromatic If I'm right about these estimates, we could double Parrot's speed: http://trac.parrot.org/parrot​/wiki/PerformanceImprovements
20:27 dalek tracwiki: v1 | chromatic++ | PerformanceImprovements
20:27 dalek tracwiki: sixteen performance improvement suggestions
20:27 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Perform​anceImprovements?version=1&amp;action=diff
20:29 cotto_work chromatic: is the garbage-first gc related to the sweep-free gc?
20:30 chromatic No.
20:30 chromatic We can, in theory, create the sweep-free GC at any time with the current system.
20:31 chromatic The G1 GC probably requires larger changes throughout the system.
20:31 joeri joined #parrot
20:32 Austin joined #parrot
20:32 payload joined #parrot
20:33 Coke chromatic: config_lib.pbc is loaded all the time, not just on demand?
20:34 chromatic I believe so.
20:34 Coke (and do you mean config_lib.pasm ? config.fpmc?)
20:34 chromatic config.fpmc, I think.
20:34 chromatic One of the root globals triggers its loading.
20:36 Coke I think it's only loaded if you load 'config.pir'
20:38 darbelo $P0 = getinterp
20:38 darbelo $P1 = $P0[.IGLOBALS_CONFIG_HASH]
20:38 chromatic That's the one.
20:38 particle ain't it baked-in? i thought miniparrot was the only parrot without config baked-in
20:39 Coke darbelo: danke.
20:39 particle PARROT and PARROT_INSTALL always have config info
20:40 Coke chromatic: you should know I just eliminated several dozen  entries from that with the warnings cleanup.
20:40 TiMBuS joined #parrot
20:40 Coke s/just/in the past ... month?/
20:40 chromatic src/parrot_config.c
20:40 darbelo And fo the record, config.fpmc is loaded and *thawed*, wether that is the faster way to do it hasn't been benchmarked.
20:40 Coke easy win, kill everything with _provisional.
20:42 Coke not every bit of information determined at Configure time belongs in config.
20:42 chromatic There are some 250 key/value pairs in that hash.  That's 500 strings.
20:42 Coke (like, the specific entries for warnings, I'd wager. does someone running parrot need to know what the warnings flags used to compile src/gc/api.c were?
20:43 darbelo Does someone running parrot need to know how 'cp' was invoked?
20:43 Coke no, but someone building an extension could.
20:44 Coke (though arguably they should be using parrot itself for that.)
20:44 chromatic I'm sure we could remove 50 entries with little fuss.
20:44 chromatic Possibly 100.
20:45 darbelo Coke: The cp, that built parrot might or might not be the same cp that is available where the extension is getting built.
20:47 plobsing If we're looking to slim down config, last I checked it was a Hash of string *PMCs*. Thaw should run much faster if it were a Hash of parrot strings.
20:48 chromatic That's an easy change.
20:48 darbelo plobsing: Really?     set P0["as"], "as"
20:49 plobsing when I was doing freeze thaw, it was one of the only really big structures that gets passed through there in build/test. It was a Hash of PMCs
20:50 plobsing unless hashes got smart since then
20:51 Coke added http://trac.parrot.org/parrot/wik​i/RemoveUnnecessaryDataFromConfig
20:52 Coke darbelo: true, but putting in parrot_config hurts little.
20:52 Coke (putting in config.fpmc is silly.)
20:54 darbelo Split up the hash?
20:55 darbelo Small one get's put into the interpreter, big one into the executable?
20:57 chromatic Hm, making the hash use string values gives a freeze error.
21:00 Coke (if we had a small, defined set of keys, we could convert the keys to all be ints.)
21:00 dalek tracwiki: v2 | coke++ | PerformanceImprovements
21:00 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Perform​anceImprovements?version=2&amp;action=diff
21:00 dalek tracwiki: v1 | coke++ | RemoveUnnecessaryDataFromConfig
21:00 dalek tracwiki: http://trac.parrot.org/parrot/wiki/RemoveUnnec​essaryDataFromConfig?version=1&amp;action=diff
21:06 mikehh joined #parrot
21:10 plobsing chromatic: I can probably fix the freeze error, but my pasm-fu is weak. can you nopaste the patch that gives the error?
21:13 chromatic I don't have a good patch for it at the moment, as I turned the PASM into PIR because I don't want to write the PASM to make a method call.
21:13 chromatic That suggests that we take advantage of pmc_init_int to set the expected key/value type of a Hash during construction.
21:13 chromatic ... but I don't have time for that at the moment.
21:17 chromatic Though I can nopaste the PIR file.  One moment.
21:17 nopaste "chromatic" at 173.50.130.127 pasted "plobsing: PIR file freeze/thaw culprit" (293 lines) at http://nopaste.snit.ch/20229
21:19 plobsing I tried figuring out how to call a method in PASM, but PCC is one of the places PIR->PASM conversion is lossy
21:19 chromatic The best answer is "don't".
21:28 Coke Is there a a compelling reason to keep config_lib in pasm?
21:30 chromatic Not to my knowledge.
21:43 Mokurai1 joined #parrot
21:49 tcurtis joined #parrot
22:00 rbuels joined #parrot
22:05 davidfetter joined #parrot
22:05 Mokurai joined #parrot
22:06 dolmen joined #parrot
22:12 dalek parrot: r45487 | plobsing++ | trunk/src/hash.c:
22:12 dalek parrot: add support for freezing hashes with pmc keys and/or string entries
22:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45487/
22:15 Mokurai1 joined #parrot
22:27 dalek close: r194 | Austin_Hastings++ | branches/austin/src/Slam/ (18 files):
22:27 dalek close: Created SlamAst... types (bad names to avoid the last-name problem). Moved
22:27 dalek close: Types/ under Ast, since the type info is an ast thing.
22:27 dalek close: review: http://code.google.com/p/close/source/detail?r=194
22:59 Whiteknight joined #parrot
22:59 Whiteknight good evening, #parro
23:00 Whiteknight that's the phonetic spelling of the French pronunciation of "#parrot"
23:02 darbelo ORLY?
23:02 purl YA RLY.
23:02 darbelo If purl says so, it must be true-
23:02 plobsing NO WAI!
23:03 senf_statt_oel left #parrot
23:10 arnsholt Whiteknight: But the real word is perroquet =)
23:11 dalek rakudo: 43f8659 | (Solomon Foster)++ | src/core/ (4 files):
23:11 dalek rakudo: Move to-radians and from-radians from Any to Numeric, make them public.
23:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​3f8659f347df7390cf05b18921b04e6f0d180ff
23:14 Whiteknight The Rakudo IO proposal has potential
23:15 Whiteknight has the submission deadline passed?
23:15 darbelo Yep.
23:15 darbelo No more submissions and no more edits. Melange only allows students to comment from now on.
23:16 bacek Good morning (fsvo "good")
23:16 darbelo fsvo "morning" ;)
23:16 Whiteknight hello bacek
23:16 bacek Whiteknight, hello Mr. Whitworth! :)
23:16 darbelo Hi bacek
23:17 bacek hi darbelo
23:17 darbelo How are the constant strings going?
23:18 Whiteknight bacek: :)
23:18 bacek darbelo, in progress. I almost removed all stuff related to COW. No time to remove references to it :)
23:18 darbelo bacek++
23:29 silug joined #parrot
23:34 dalek parrot: r45488 | plobsing++ | trunk/src/pmc/hash.pmc:
23:34 dalek parrot: handle creating storage on thaw of odd typed hashes
23:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45488/
23:37 plobsing should 'null $S0' set $S0 to NULL or STRINGNULL?
23:37 tcurtis joined #parrot
23:37 plobsing or how do I get at 'STRINGNULL' in PIR?
23:56 cotto It looks like null $0 does NULL, but it also probably predates STRINGNULL.
23:57 * cotto goes off to see if it's an easy fix

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

Parrot | source cross referenced