Camelia, the Perl 6 bug

IRC log for #parrot, 2012-03-23

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:14 dalek rakudo/nom: c2f008d | pmichaud++ | src/core/Array.pm:
00:14 dalek rakudo/nom: Make use of existing scalar instead of repeating getattr.
00:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c2f008db49
00:14 dalek rakudo/nom: e2ebf39 | pmichaud++ | src/core/Array.pm:
00:14 dalek rakudo/nom: Add a comment to hotpath checks added in c10792f (RT #111848).
00:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e2ebf3993c
00:37 bacek_at_work ~~
00:37 bacek_at_work wow! pmichaud is back!
00:43 whiteknight yes, now if only we could get bacek back too!
01:03 dalek parrot/remove_sub_flags: 67eb23f | Whiteknight++ | / (22 files):
01:03 dalek parrot/remove_sub_flags: Fix several broken tests, opsc and a few others
01:03 dalek parrot/remove_sub_flags: review: https://github.com/parrot/parrot/commit/67eb23f28b
01:03 bacek_at_work whiteknight, never heard about a guy with such funny name
01:07 dukeleto bacek_at_work: me neither
02:03 dalek Rosella: 3d7ed48 | Whiteknight++ | src/unstable/net/ (11 files):
02:03 dalek Rosella: [Net] Add in some prototype stubs and outlines for a new networking library. Initially inspired by Uri::* Http::*, LWP::*, Mime::* and others from the parrot standard library
02:03 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/3d7ed486d2
02:03 dalek Rosella: 21dc852 | Whiteknight++ | src/template/Template.winxed:
02:03 dalek Rosella: [Template] Add in a helper method to read the text of a template file, given a path name
02:03 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/21dc852b9c
02:04 dalek Rosella: b77cee5 | Whiteknight++ | src/unstable/net/ (8 files):
02:04 dalek Rosella: [Net] Start fleshing out a few methods. Rearrange files so Protocol falls under the http portion of the library
02:04 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/b77cee544f
02:33 alester joined #parrot
02:38 alester So i'm thinking about PARROT_STATIC_ASSERT
02:38 alester trying to think of where to throw some tests
02:49 parthm joined #parrot
03:07 benabik joined #parrot
03:08 ascent joined #parrot
03:33 dalek parrot: 2f0e851 | petdance++ | / (2 files):
03:33 dalek parrot: const a local variable. Minor spacing tweaks
03:33 dalek parrot: review: https://github.com/parrot/parrot/commit/2f0e851f96
03:33 dalek parrot: 707e83c | petdance++ | / (2 files):
03:33 dalek parrot: Added compile-time assertion macros, and added our first check that INTVAL and opcode_t are the same size
03:33 dalek parrot: review: https://github.com/parrot/parrot/commit/707e83cb89
03:37 aloha (parrot/parrot) Issues closed : 746 (Create PARROT_STATIC_ASSERT) by petdance : https://github.com/parrot/parrot/issues/746
03:42 dalek parrot: 6f23924 | petdance++ | include/parrot/api.h:
03:42 dalek parrot: fixed an incorrectly-built error name
03:42 dalek parrot: review: https://github.com/parrot/parrot/commit/6f23924a1d
03:42 dalek parrot: 4e31706 | petdance++ | config/auto/warnings.pm:
03:42 dalek parrot: Turn off warning for unused local typedefs, because that is how we do PARROT_STATIC_ASSERT
03:42 dalek parrot: review: https://github.com/parrot/parrot/commit/4e317065fd
03:45 bacek_at_work alester, I do like it. Really do.
03:45 alester yay
03:45 alester I don't like having to turn off the unused local typedefs warning.
03:46 alester but I figure that's the least bad.
03:46 alester Other options have unused code, or unused function declarations.  So I figured the typedef method was the least annoying.
03:46 alester I just wonder what else we can check on.
04:31 nbezzala joined #parrot
06:02 nbezzala_ joined #parrot
06:14 nbezzala_ joined #parrot
06:29 benabik joined #parrot
06:43 dalek rakudo/nom: 4a247b1 | moritz++ | src/core/ (5 files):
06:43 dalek rakudo/nom: make != redispatch to not ==
06:43 dalek rakudo/nom:
06:43 dalek rakudo/nom: this fixes both a hang of != with complex numbers, and not-raising with Junctions
06:43 dalek rakudo/nom: only natively typed variants of != and a (Mu, Mu) candidate remain
06:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4a247b1a34
06:45 fperrad joined #parrot
06:55 benabik_ joined #parrot
07:00 benabik joined #parrot
07:24 dalek parrot: 8ec7bb6 | dukeleto++ | docs/configuration.pod:
07:24 dalek parrot: [ci skip][doc] s/Trac ticket/Github issue/
07:24 dalek parrot: review: https://github.com/parrot/parrot/commit/8ec7bb64d2
07:32 benabik joined #parrot
07:32 perlite joined #parrot
07:36 nine Good morning, #parrot
07:48 benabik_ joined #parrot
07:54 dalek parrot/breed: 3dcef54 | dukeleto++ | breeds/embedded.breed:
07:54 dalek parrot/breed: Create the beginning of an embedded Parrot "breed"
07:54 dalek parrot/breed:
07:54 dalek parrot/breed: I was previously calling this a "flavor", but particle++ suggested breed
07:54 dalek parrot/breed: and so it shall be.
07:54 dalek parrot/breed:
07:54 dalek parrot/breed: This embedded breed leaves out everything except the very core
07:54 dalek parrot/breed: functionality of Parrot and hence is best suited to small resource
07:54 dalek parrot/breed: embedded systems. In particular, it does not include GMP, ICU, OpenGL,
07:54 dalek parrot/breed: gettext or any other convenience library.
07:55 dalek parrot/breed: review: https://github.com/parrot/parrot/commit/3dcef54046
08:02 mj41 joined #parrot
08:15 tadzik ooh
08:20 pjcj joined #parrot
09:28 lucian joined #parrot
09:46 dalek Rosella: 49052aa | Whiteknight++ | src/ (2 files):
09:46 dalek Rosella: [Date] add ww and WW formats for week day and week day name
09:46 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/49052aacea
10:06 fperrad joined #parrot
11:36 jlaire joined #parrot
11:48 he joined #parrot
12:46 hercynium joined #parrot
13:02 jashwanth joined #parrot
13:07 jashwanth_ joined #parrot
13:08 contingencyplan joined #parrot
13:23 jashwanth_ joined #parrot
13:25 jashwanth joined #parrot
13:47 nine Just to be sure: there's nothing wrong with adding lots and lots of PARROT_ASSERTs, is there?
13:56 jashwanth_ joined #parrot
13:56 jashwanth joined #parrot
14:01 ascent joined #parrot
14:08 dmalcolm joined #parrot
14:10 JimmyZ joined #parrot
14:23 not_gerd joined #parrot
14:32 dalek parrot: e29d4a8 | (Gerhard R)++ | config/init/hints/darwin.pm:
14:32 dalek parrot: Fix fallout from increased warning levels on Mac OS
14:32 dalek parrot: review: https://github.com/parrot/parrot/commit/e29d4a88ef
14:32 dalek parrot: 8060b09 | petdance++ | config/init/hints/darwin.pm:
14:32 dalek parrot: Merge pull request #748 from gerdr/gerdr/darwin-fix
14:32 dalek parrot:
14:32 dalek parrot: Fix fallout from increased warning levels on Mac OS
14:32 dalek parrot: review: https://github.com/parrot/parrot/commit/8060b09658
14:48 whiteknight joined #parrot
14:51 aloha (parrot/parrot) Issues opened : 747 (Release 4.2.0 fails to build if ICU headers are installed in a non-system location) by gerdr : https://github.com/parrot/parrot/issues/747
15:06 whiteknight good morning, #parrot
15:07 nine Good morning, whiteknight
15:08 whiteknight hello nine, how are you doing?
15:08 whiteknight moritz: ping
15:08 nine Very well, thanks
15:09 moritz whiteknight: pong
15:09 fperrad joined #parrot
15:09 nine whiteknight: I got a working chameneos implementation! Our first benchmark :)
15:09 whiteknight moritz: if you see any students interested in working with rakudo for GSOC, make sure to let me know about them. I want to make sure if I get proposals or requests for info that I recognize the names
15:10 whiteknight moritz: I'm sure those students hang out more in #perl6 than in #parrot
15:10 whiteknight nine: chameneos?
15:10 moritz whiteknight: will do. So far tadzik++ has voiced some interest
15:10 tadzik aye
15:10 nine whiteknight: http://cedric.cnam.fr/PUBLIS/RC474.pdf
15:10 whiteknight moritz: Then let me officially voice some interest in masak++
15:10 nine whiteknight: a nice little game useful for benchmarking thread synchronization performance
15:11 nine whiteknight: the important point being: this is actual real life code which does work on our threading implementation :)
15:11 whiteknight nine: that's awesome
15:12 dalek rakudo/nom: 4d6754b | pmichaud++ | src/core/ (3 files):
15:12 dalek rakudo/nom: Fix .count for subs with slurpy positionals.  Partially addresses RT #111646.
15:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4d6754bc5e
15:12 whiteknight nine: this game looks really interesting. I'm going to have to read it over more closely after work
15:13 nine whiteknight: I guess this is pretty much the worst case imaginable for our performance since it's 100% synchronization and writes to shared data. With a bit of training, you could probably perform it faster manually ;)
15:14 whiteknight nine: How's the performance look on it? In the ballpark of what you would expect?
15:14 PacoAir joined #parrot
15:16 nine whiteknight: well I expected it to be dead slow in such a case and it for sure didn't disappoint me. But even here I hope to be able to improve the situation greatly. For example, I do not use the wait op, since it does not yet work in a threaded system. Instead I do it manually in PIR which can only be much slower.
15:20 nine whiteknight: some atomic xchng op would also help drastically. But for now I'll try to find a benchmark which is more like 80 % read and 20 % write.
15:22 whiteknight nine: We used to have a non-portable set of atomic operations.
15:36 dalek rakudo/typed-ex-hash: c812679 | moritz++ | src/Perl6/Actions.pm:
15:36 dalek rakudo/typed-ex-hash: allow "anon sub" again
15:36 dalek rakudo/typed-ex-hash: review: https://github.com/rakudo/rakudo/commit/c8126794e2
15:36 dalek rakudo/typed-ex-hash: e55477f | moritz++ | src/core/List.pm:
15:36 dalek rakudo/typed-ex-hash: try to optimize the common case of List.Bool
15:36 dalek rakudo/typed-ex-hash: review: https://github.com/rakudo/rakudo/commit/e55477fe67
15:40 not_gerd left #parrot
15:40 dalek rakudo/nom: 69920db | pmichaud++ | src/core/Signature.pm:
15:40 dalek rakudo/nom: Refactor Signature.count to properly handle arity for capture parameters.  Fixes RT #111646.
15:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/69920db585
15:40 whiteknight nine: We used to have those ops but they got removed because they weren't being used. If you find like an atomic op library that you like and want to use, go for it
15:41 whiteknight nine: should probably be portable to windows, etc
15:46 whiteknight msg not_gerd: you interested in a commit bit yet?
15:46 aloha OK. I'll deliver the message.
15:46 Psyche^ joined #parrot
15:49 dukeleto ~~
15:58 ascent joined #parrot
16:06 dukeleto good localtime(), folks
16:07 whiteknight hello dukeleto
16:08 dalek parrot/threads: da8e94e | nine++ | / (9 files):
16:08 dalek parrot/threads: Lots of assertions for debugging memory separation violations
16:08 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/da8e94e871
16:09 dalek parrot/threads: 460b9b5 | nine++ | src/pmc/proxy.pmc:
16:09 dalek parrot/threads: Proxy workaround for TT #1219, see Parrot_ns_find_namespace_global
16:09 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/460b9b5b89
16:09 dalek parrot/threads: 49e19be | nine++ | src/oo.c:
16:09 dalek parrot/threads: Remove debug output
16:09 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/49e19be217
16:09 dalek parrot/threads: 8fd2890 | nine++ | / (3 files):
16:09 dalek parrot/threads: Avoid calling init_world_once again for each thread
16:09 dalek parrot/threads:
16:09 dalek parrot/threads: Pulled in a lot of interpreter setup code into clone_interpreter. Not
16:09 dalek parrot/threads: exactly pretty, but this is the only way to avoid running all the stuff
16:09 dalek parrot/threads: which really should only run once for the main thread. At least without
16:09 dalek parrot/threads: a major refactor that is. Also starting from a clean slate makes it much
16:09 dalek parrot/threads: easier to find leaks of unproxied PMCs to other threads.
16:09 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/8fd2890974
16:09 dalek parrot/threads: 6acce00 | nine++ | src/thread.c:
16:09 dalek parrot/threads: Don't block on writing to the notifierfd.
16:09 dalek parrot/threads:
16:09 dalek parrot/threads: If a threads notification pipe is full, we don't need to notify the
16:09 dalek parrot/threads: thread anyway since it will check all expired alarms with a single
16:09 dalek parrot/threads: notification.
16:09 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/6acce00495
16:09 dalek parrot/threads: 9ebf0d9 | nine++ | include/parrot/pobj.h:
16:09 dalek parrot/threads: s/Parrot_Interp */Parrot_Interp/
16:09 dalek parrot/threads:
16:09 dalek parrot/threads: Parrot_Interp is already a pointer, no need for the asterisk for the
16:09 dalek parrot/threads: orig_interp declaration. Fixes a lot of compiler warnings (otherwise
16:09 dalek parrot/threads: harmless, since we only compare this pointer)
16:09 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/9ebf0d9e9a
16:09 dalek parrot/threads: 5a9e01e | nine++ | src/ (5 files):
16:09 dalek parrot/threads: Use PARROT_IS_THREAD flag instead of testing for interp->thread_data
16:09 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/5a9e01ea79
16:09 dalek parrot/threads: a4b8788 | nine++ | / (4 files):
16:09 dalek parrot/threads: Flag packfile constants as shared and GC them only on the main thread
16:09 dalek parrot/threads:
16:09 dalek parrot/threads: Packfiles are no PMCs so we cannot simply create a proxy for them. But
16:09 dalek parrot/threads: they naturally belong to the main thread, so we use the "shared" PMC
16:09 dalek parrot/threads: flag to tell the GC that only the main thread should mark and sweep
16:09 dalek parrot/threads: them.
16:09 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/a4b8788462
16:09 dalek parrot/threads: c41af29 | nine++ | / (2 files):
16:09 dalek parrot/threads: Don't create proxies for Subs but clone them
16:09 dalek parrot/threads:
16:09 dalek parrot/threads: When executing a proxied Sub, the context belonging to the foreign
16:09 dalek parrot/threads: interp would be used. This context for example contains globals and
16:09 dalek parrot/threads: namespaces.
16:09 dalek parrot/threads: get_global in this Sub would therefore fetch a global from an unproxied
16:09 dalek parrot/threads: namespace and get an unproxied global in return without any chance for
16:09 dalek parrot/threads: us to catch this and create a proxy.
16:09 dalek parrot/threads:
16:09 dalek parrot/threads: Better to clone the sub and create proxies for all its PMC attributes
16:09 dalek parrot/threads: (most of all namespaces)
16:09 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/c41af2930a
16:09 dalek parrot/threads: 031e968 | nine++ | lib/Parrot/Pmc2c/PMC/Proxy.pm:
16:09 dalek parrot/threads: Run proxied VTABLE methods with the threads interp
16:09 dalek parrot/threads:
16:09 dalek parrot/threads: Even read only methods can cause garbage collection (e.g. with parameter
16:09 dalek parrot/threads: passing). This would have catastrophic results, since a foreign thread
16:09 dalek parrot/threads: would be running this GC and it would find both threads' PMCs. Even
16:09 dalek parrot/threads: worse, the proxied interp could be running the GC at the same time.
16:10 dalek parrot/threads:
16:10 dalek parrot/threads: Blocking the foreign GC is not possible without lots of locking since
16:10 dalek parrot/threads: even if we Parrot_block_GC_mark, the foreign interp could already be
16:10 dalek parrot/threads: running its GC.
16:10 dalek parrot/threads:
16:10 nine OMG I killed dalek!
16:10 moritz in Dr. Who, dalek kills you!
16:10 atrodo moritz++
16:11 whiteknight nine: killed her with awesomeness
16:11 dalek joined #parrot
16:14 dukeleto nine++
16:16 nine So...this should be the essentials needed for creating useful threaded programs :) I'd call this a major milestone!
16:16 whiteknight nine++ indeed
16:19 nine Should I put my threading test programs into examples/threads?
16:22 whiteknight yes
16:23 dalek parrot/threads: a63fd3f | nine++ | examples/threads/ (3 files):
16:23 dalek parrot/threads: Example programs using threads
16:23 dalek parrot/threads:
16:23 dalek parrot/threads: Just some examples to show how Tasks and threads might be used.
16:23 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/a63fd3f1ef
17:06 davidfetter joined #parrot
17:08 dalek parrot/threads: 9037751 | nine++ | include/parrot/ (2 files):
17:08 dalek parrot/threads: Fix unwrapped macro args
17:08 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/9037751cd1
17:08 dalek parrot/threads: 0a9d8df | nine++ | include/parrot/thread.h:
17:08 dalek parrot/threads: Decrease readability to satisfy coding standards
17:08 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/0a9d8df89c
17:08 dalek parrot/threads: f237aca | nine++ | src/pmc/proxy.pmc:
17:08 dalek parrot/threads: Remove trailing whitespace
17:08 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/f237aca9f5
17:08 dalek parrot/threads: 54965b2 | nine++ | MANIFEST:
17:08 dalek parrot/threads: Add new example files to MANIFEST
17:08 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/54965b2291
17:19 mj41 joined #parrot
17:21 dalek parrot/threads: 3b5ee3c | nine++ | / (158 files):
17:21 dalek parrot/threads: Merge branch 'master' into threads
17:21 dalek parrot/threads:
17:21 dalek parrot/threads: Conflicts:
17:21 dalek parrot/threads: src/gc/gc_ms2.c
17:21 dalek parrot/threads: src/scheduler.c
17:21 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/3b5ee3c414
18:13 nine Parrot_dt_get_datatype_enum? WTF?
18:13 whiteknight it could be worse
18:14 nine how? *g*
18:14 whiteknight well, it could just randomly overwrite files in your directory and then segfault
18:15 nine ah of course there's that, yes
18:15 whiteknight Some code like that is from before my time
18:21 nine I'm thinking about submitting a talk about threading in Parrot for YAPC::EU 2012
18:28 whiteknight that would be awesome
18:32 nine Thanks, your talk submission has been recorded as Threading support in Parrot.
18:35 cotto wheee
18:58 dalek parrot: f64dce9 | jkeenan++ | config/gen/makefiles/root.in:
18:58 dalek parrot: Add a dependency so that t/src/checkdepend.t again passes.
18:58 dalek parrot: review: https://github.com/parrot/parrot/commit/f64dce9b2a
19:01 jsut_ joined #parrot
19:23 PacoAir joined #parrot
19:23 dalek rakudo/nom: a4c78fb | pmichaud++ | src/core/Parcel.pm:
19:23 dalek rakudo/nom: Use "$()" in Parcel.perl to show when a Parcel is in a scalar container.
19:23 dalek rakudo/nom:
19:23 dalek rakudo/nom: I'm not sure that the spec ultimately end up with something like
19:23 dalek rakudo/nom: "scalar Parcels" (cf. "scalar arrays"), but since they exist in Rakudo
19:23 dalek rakudo/nom: for the time being we should at least make their presence clearer
19:23 dalek rakudo/nom: to the people who encounter them.
19:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a4c78fb1d2
19:26 dukeleto whiteknight: thanks for the update re: rejected gsoc orgs
19:26 dukeleto nine: you submitted a talk somewhere?
19:27 whiteknight dukeleto: no problem
19:28 alester joined #parrot
19:38 nine dukeleto: http://act.yapc.eu/ye2012/talk/4071
20:07 dukeleto nine: seems like that link is only for logged in users
20:08 dukeleto nine: but good to know that you will be at yapc:eu
20:09 * dukeleto thinks hard about YAPC::EU
20:52 dukeleto this looks interesting: https://github.com/Dazo-org/zerovm and www.zerovm.org
20:53 dukeleto Wow. An entire OS written in Assembly. On purpose: https://github.com/ReturnInfinity/BareMetal-OS
21:16 dalek parrot: 8997125 | jkeenan++ | src/global_setup.c:
21:16 dalek parrot: [codingstd] Make file pass c_parens standard.
21:16 dalek parrot: review: https://github.com/parrot/parrot/commit/8997125e17
21:16 dalek parrot: 1b1fe71 | jkeenan++ | include/parrot/api.h:
21:16 dalek parrot: [codingstd] Make api.h pass c_parens and c_operator tests.
21:16 dalek parrot:
21:16 dalek parrot: It's still failing c_macro_args due to "PARROT_STATIC_ASSERT has unwrapped arg: X".
21:16 dalek parrot: review: https://github.com/parrot/parrot/commit/1b1fe7159c
21:56 dalek parrot: 52063c3 | NotFound++ | include/parrot/api.h:
21:56 dalek parrot: add parens to humor codetest
21:56 dalek parrot: review: https://github.com/parrot/parrot/commit/52063c3481
22:05 * cotto is enjoying a drupal sprint (a.k.a. hackathon) in his "Perl Is My Paycheck" shirt.
22:18 alester joined #parrot
22:44 dukeleto cotto: :)
22:47 davidfetter_ joined #parrot
22:50 dukeleto davidfetter: wazzup
22:50 dukeleto davidfetter: how goes vpostgres stuff?
23:38 whiteknight joined #parrot
23:41 jsut joined #parrot
23:58 whiteknight good evening #parrot
23:59 cotto hi whiteknight
23:59 whiteknight hello cotto

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

Parrot | source cross referenced