Camelia, the Perl 6 bug

IRC log for #parrot, 2011-07-05

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:32 losinggeneration left #parrot
00:42 mikehh rakudo build (time make -j) -> real    1m19.219s, user    1m36.754s, sys     0m1.780s
00:42 mikehh rakudo time make stresstest TEST_JOBS=6 -> real    3m55.636s, user    18m14.644s, sys     0m40.111s
00:43 mikehh that's on parrot 3_5_0-67-g89cf287 g++ --optimize - Ubuntu 11.04 i386
00:53 dalek parrot-gmp: 0d30391 | bubaflub++ | / (27 files):
00:53 dalek parrot-gmp: fix decrement vtable override, tests for:
00:53 dalek parrot-gmp:
00:53 dalek parrot-gmp: abs, decrement, div_* fdiv_*, i_abs, i_div_*, i_fdiv_*, i_mod*, i_neg, increment, mod_*, neg
00:53 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/0d303915ef
00:59 whiteknight wait wait wait wait
00:59 whiteknight rakudo built time is less than two minutes?
00:59 whiteknight is that master or nom?
01:00 soh_cah_toa that's pretty incredible
01:11 mikehh master - Bruxelles-2-g72d158a
01:11 soh_cah_toa wow
01:12 mikehh my newly built computer - Intel I7 260 (4 core/8 threads) 16GB RAM
01:12 mikehh 2600
01:13 soh_cah_toa not bad
01:13 soh_cah_toa i have a quad-core myself but 16gb is just ridiculous :)
01:14 mikehh 4 x Kingstom DDR3 1600 4GB
01:14 soh_cah_toa ohh...ddr3 too. very nice
01:15 mikehh I've also got an AMD Phenom II 8GB (I build about 2 years ago)
01:16 mikehh Phenom II 940 (4 core)
01:16 soh_cah_toa do you have a pae-enabled kernel? b/c w/o it, you're i386 won't be able to use all 16gb
01:17 mikehh of course, also 64 bit Ubuntu 11.04, but not with VM, so I need to re-boot to switch
01:18 soh_cah_toa ah, good. you'd be surprised how many people don't know about that :)
01:18 mikehh actually I am using Kubuntu on 64 bit, Ubuntu on 32 bit
01:19 soh_cah_toa cool
01:19 mikehh I think Ubuntu automatically selects the pae kernel if it detects 4GB or more
01:19 mikehh on 32 bit that is
01:20 soh_cah_toa didn't know that. that's a good feature
01:20 daniel-s joined #parrot
01:24 mikehh my son has just got a 6 core/12 threads i7 extreme edition - 24GB RAM, but it cost about twice as much
01:24 soh_cah_toa 8O
01:24 soh_cah_toa wow
01:24 mikehh mind you he is a financial advisor, so earns a lot more than I do
01:25 soh_cah_toa i'd like to see how fast rakudo builds on a machine like that :)
01:33 dalek Rosella: 24700bf | Whiteknight++ | / (3 files):
01:33 dalek Rosella: Add in an unless logic node type for template. Add some tests for current logic behavior in templates.
01:33 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/24700bf032
01:33 dalek Rosella: 437ea88 | Whiteknight++ | s (2 files):
01:33 dalek Rosella: add an include node type to include the text of a file in the template.
01:33 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/437ea88ef3
01:33 dalek Rosella: ee8a327 | Whiteknight++ | s (7 files):
01:33 dalek Rosella: Rename inner nodes to handlers. Move them out into separate files, with better names and organization. Add a handler factory to make them, but it needs work
01:33 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/ee8a32758e
01:37 woosley joined #parrot
01:46 kid51 joined #parrot
02:00 lichtkind left #parrot
02:23 dalek rakudo/nom: 3d623cd | jonathan++ | src/core/Str.pm:
02:23 dalek rakudo/nom: Fix chomp on Win32, thus fixing basic-open.t.
02:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3d623cdd4e
02:27 whiteknight left #parrot
02:39 kid51 msg benabik Can you post a link to the slide presentation you did on Parrot in your compilers class?  Thanks.
02:39 aloha OK. I'll deliver the message.
02:43 rurban_ joined #parrot
02:46 rurban left #parrot
02:46 rurban_ is now known as rurban
02:47 particle1 joined #parrot
02:48 particle left #parrot
03:10 kid51 left #parrot
03:19 bubaflub ~
03:28 dalek parrot: 1c42811 | dukeleto++ | t/library/pg.t:
03:28 dalek parrot: Skip postgres tests if extra nci thunks are not available
03:28 dalek parrot: review: https://github.com/parrot/parrot/commit/1c428114ed
03:35 bluescreen left #parrot
03:56 JimmyZ joined #parrot
04:12 benabik msg kid51 post where?   Doc: https://github.com/benabik/cish   Slides: http://www.cs.rit.edu/~bcg2784/Co​urses/20102/Compiler/PCT/PCT.pdf
04:12 aloha OK. I'll deliver the message.
04:25 * Coke suggests seeing if rakudo/nom builds any faster.
04:26 JimmyZ well, we can't now, the CORE setting is different size
04:33 particle1 left #parrot
05:01 aloha left #parrot
05:11 fperrad joined #parrot
05:25 aloha joined #parrot
05:41 soh_cah_toa left #parrot
05:51 zby_home left #parrot
05:53 moritz JimmyZ: the size of CORE in master didn't change much
07:03 giwi joined #parrot
07:22 aloha left #parrot
07:34 tadzik good morning
07:39 aloha joined #parrot
07:42 moritz good moroning
07:55 giwi left #parrot
08:02 moritz it seems that parrot exceptions have a 'backtrace' method
08:02 moritz can I get that backtrace object without an exception too?
08:07 moritz seems with getintertp -> context -> .'backtrace'
08:32 mj41 joined #parrot
08:44 dalek nqp: 26dd00c | jonathan++ | src/HLL/Compiler.pm:
08:44 dalek nqp: Get file name annotations working again for moritz++.
08:44 dalek nqp: review: https://github.com/perl6/nqp/commit/26dd00cb14
08:47 fperrad left #parrot
08:50 fperrad joined #parrot
08:52 mj41 left #parrot
09:29 dalek rakudo/nom: 6893932 | jonathan++ | LHF.markdown:
09:29 dalek rakudo/nom: Add a LHF.
09:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/689393211a
09:29 dalek rakudo/nom: 8555c62 | jonathan++ | src/ops/perl6.ops:
09:29 dalek rakudo/nom: Add (untested) perl6_code_object_from_parrot_sub op for moritz++.
09:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8555c629ec
09:36 fperrad left #parrot
09:44 JimmyZ left #parrot
09:47 dalek Heuristic branch merge: pushed 29 commits to rakudo/podparser by tadzik
09:49 fperrad joined #parrot
09:54 dalek nqp: 5efb646 | jonathan++ | src/6model/knowhow_bootstrapper.c:
09:54 dalek nqp: Add .^mro method to core KnowHOW.
09:54 dalek nqp: review: https://github.com/perl6/nqp/commit/5efb64625e
09:54 dalek nqp: a957601 | jonathan++ | src/how/NQPClassHOW.pm:
09:54 dalek nqp: Add .^mro for NQPClassHOW.
09:54 dalek nqp: review: https://github.com/perl6/nqp/commit/a957601e06
09:54 dalek nqp: 2d4a979 | jonathan++ | src/how/NQP (3 files):
09:54 dalek nqp: Use Uninstantiable repr for things that should not be instantiated.
09:54 dalek nqp: review: https://github.com/perl6/nqp/commit/2d4a979409
09:54 dalek nqp: 26c3c1c | jonathan++ | src/stage0/ (7 files):
09:54 dalek nqp: Update bootstrap.
09:54 dalek nqp: review: https://github.com/perl6/nqp/commit/26c3c1ca56
09:57 dalek rakudo/nom: 1a56b91 | jonathan++ | src/ops/perl6.ops:
09:57 dalek rakudo/nom: Make sure we don't hand back nulls from perl6_code_object_from_parrot_sub.
09:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1a56b918ab
10:00 dalek rakudo/nom: e24c94d | moritz++ | tools/build/NQP_REVISION:
10:00 dalek rakudo/nom: bump nqp revision to get file annotations
10:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e24c94d8c8
10:01 woosley left #parrot
10:07 cosimo left #parrot
10:13 cosimo joined #parrot
10:26 ambs joined #parrot
10:39 contingencyplan left #parrot
10:43 rurban_ joined #parrot
10:45 rurban left #parrot
10:46 rurban_ is now known as rurban
10:59 jsut joined #parrot
11:04 jsut_ left #parrot
11:09 daniel-s left #parrot
11:19 dalek nqp: f14f5b6 | jonathan++ | src/6model/reprs/P6opaque.c:
11:19 dalek nqp: Refactor P6opaque a bit so that we can handle multiple inheritance.
11:20 dalek nqp: review: https://github.com/perl6/nqp/commit/f14f5b6fe6
11:20 dalek nqp: 4c68b90 | jonathan++ | src/6model/reprs/P6opaque. (2 files):
11:20 dalek nqp: Stash flag for when we're in an MI situation. Also a little cleanup.
11:20 dalek nqp: review: https://github.com/perl6/nqp/commit/4c68b90a39
11:20 dalek nqp: 037134d | jonathan++ | src/6model/reprs/P6opaque.c:
11:20 dalek nqp: Sort out error reporting for non-existant attributes so it actually says that's the problem.
11:20 dalek nqp: review: https://github.com/perl6/nqp/commit/037134d4bd
11:20 dalek nqp: 8fffc11 | jonathan++ | src/6model/reprs/P6opaque.c:
11:20 dalek nqp: Add back decontainerize that got lost during refactors.
11:20 dalek nqp: review: https://github.com/perl6/nqp/commit/8fffc11005
11:44 whiteknight joined #parrot
11:48 dalek rakudo/nom: bd50d5d | moritz++ | src/core/List.pm:
11:48 dalek rakudo/nom: List.Str should be a multi
11:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bd50d5df29
11:50 mj41 joined #parrot
11:51 whiteknight good morning, #parrot
11:54 whiteknight msg jnthn__ What features of Eval PMC are you relying on for Rakudo? I'm trying to replace Eval with a new PackfileView PMC, and I want to make sure it is supporting all the features you need
11:54 aloha OK. I'll deliver the message.
11:56 * whiteknight is heading out for most of the day. May or may not be at #parrotsketch. I already posted a report there.
12:19 fperrad left #parrot
12:20 fperrad joined #parrot
12:32 JimmyZ joined #parrot
12:51 whiteknight left #parrot
13:11 estrabd joined #parrot
13:13 woosley joined #parrot
13:15 lucian joined #parrot
13:37 particle joined #parrot
13:38 dalek rakudo/nom: 32dccc7 | pmichaud++ | NOMMAP.markdown:
13:38 dalek rakudo/nom: Add note to NOMMAP about True not working in setting.
13:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/32dccc7e15
13:38 * Coke ponders rohit's last blog entry
13:43 contingencyplan joined #parrot
13:44 mj41 left #parrot
13:45 giwi joined #parrot
13:47 bluescreen joined #parrot
13:50 dalek rakudo/nom: 393264f | moritz++ | / (3 files):
13:50 dalek rakudo/nom: add &hash sub, enable tests
13:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/393264f98f
13:54 estrabd left #parrot
14:03 dalek rakudo/nom: b195df3 | Coke++ | src/ (2 files):
14:03 dalek rakudo/nom: add "unlink" from master with small tweak
14:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b195df3351
14:03 dalek rakudo/nom: dc78320 | Coke++ | t/spectest.data:
14:03 dalek rakudo/nom: reclaim a test.
14:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dc78320274
14:04 dalek rakudo/nom: f1caed6 | moritz++ | t/spectest.data:
14:04 dalek rakudo/nom: 5 more passing test files
14:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f1caed605a
14:10 dukeleto ~~
14:14 Coke dukeleto: ~~
14:16 woosley left #parrot
14:17 lucian cotto: ping
14:19 dukeleto Coke: howdy
14:21 bubaflub howdy dukeleto
14:27 simcop2387_ joined #parrot
14:27 dalek parrot: f2a7d3b | dukeleto++ | / (2 files):
14:27 dalek parrot: Add some useful POD to Parrot::Config and use it in t/src/embed.t
14:27 dalek parrot: review: https://github.com/parrot/parrot/commit/f2a7d3bc54
14:27 dalek parrot: a9707e1 | dukeleto++ | t/src/embed.t:
14:27 dalek parrot: Conditionally skip an embed test that requires EXTRA_NCI_THUNKS
14:27 dalek parrot: review: https://github.com/parrot/parrot/commit/a9707e18a8
14:27 dukeleto bubaflub: wazzup
14:28 bubaflub dukeleto: not much.  how you doing?
14:29 fperrad left #parrot
14:29 simcop2387 left #parrot
14:29 simcop2387_ is now known as simcop2387
14:29 fperrad joined #parrot
14:30 dukeleto bubaflub: just made the parrot test suite pass again when using a "plain parrot"
14:31 bubaflub dukeleto: very nice.  for parrot-gmp i had to poke into parrot_config to see if we have libffi and gmp and so on.
14:31 dukeleto bubaflub: have you been able to use parrot-gmp from Rakudo yet?
14:32 bubaflub dukeleto: no, i haven't tried that yet.  i figured i'd hit up colomon when i run into him again
14:34 dukeleto bubaflub: how would I do it if I wanted to try? Just load the appropriate GMP .pbc files ?
14:35 bubaflub dukeleto: yeah, i believe so.
14:35 bubaflub dukeleto: after loading all my stuff is in GMP::Integer
14:38 bluescreen left #parrot
14:47 simcop2387_ joined #parrot
14:49 simcop2387 left #parrot
14:49 simcop2387_ is now known as simcop2387
14:53 simcop2387_ joined #parrot
14:53 bluescreen joined #parrot
14:55 simcop2387 left #parrot
14:55 simcop2387_ is now known as simcop2387
15:11 benabik ~~
15:16 dukeleto bubaflub: https://gist.github.com/1065034
15:16 redicaps joined #parrot
15:20 bubaflub dukeleto: that's strange; i'm not getting that.  lemme do a clean checkout.
15:22 dukeleto bubaflub: i am trying this with a "plain" parrot, without extra nci chunks etc, which is probably causing this
15:22 bubaflub dukeleto: hmmm.  but you should be getting a different, nicer error
15:22 dukeleto bubaflub: looks like a bug in distutils
15:23 bubaflub dukeleto: do you get the same thing when you run `winxed setup.winxed` ?
15:23 bubaflub (setup.pir is generated from setup.winxed; just want to make sure)
15:24 dukeleto bubaflub: looks the bug starts at library/osutils.pir line 103
15:25 dukeleto bubaflub: attempting to stat a nonexistent file throws an exception
15:25 bubaflub dukeleto: hmmm, what am i trying to load that doesn't exist?
15:28 dukeleto bubaflub: stat("src/GMP/raw.winxed", 0x7fff1272e2c0) = -1 ENOENT (No such file or directory)
15:29 bubaflub dukeleto: ahhhh.  i see.  fix coming up
15:31 dalek parrot-gmp: e75759e | bubaflub++ | setup. (2 files):
15:31 dalek parrot-gmp: there is no raw.winxed, fix the setup scripts
15:31 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/e75759e425
15:32 bubaflub dukeleto: try that latest commit
15:32 benabik Exception on ENOENT seems not friendly.  I thought stat was the usual way to discover if a file exists.
15:33 dukeleto benabik: perhaps, but currently it requires an exception handler
15:33 dukeleto benabik: but yes, I agree with you
15:33 dukeleto bubaflub: parrot-gmp needs a LICENSE file
15:34 benabik dukeleto: Fair enough
15:35 bubaflub dukeleto: i'm fine with "the same terms as perl itself" - Artistic 2.0?
15:36 dalek nqp: b003b38 | jonathan++ | src/6model/sixmodelobject.h:
15:36 dalek nqp: Extend representation API with a couple of new features to support doing defaults properly in Perl 6 and in order to support mixins (actually, the mechanism is far more generic, and should be able to support a bunch of other stuff that Perl 6 doesn't need, but other languages may).
15:36 dalek nqp: review: https://github.com/perl6/nqp/commit/b003b387cb
15:36 dalek nqp: 0ae9745 | jonathan++ | src/6model/reprs/ (7 files):
15:36 dalek nqp: First sketch of implementation of is_attribute_initialized for all reprs.
15:36 dalek nqp: review: https://github.com/perl6/nqp/commit/0ae9745621
15:38 darbelo joined #parrot
15:39 giwi left #parrot
15:43 fperrad left #parrot
15:45 redicaps left #parrot
15:45 fperrad joined #parrot
15:50 giwi joined #parrot
15:51 lucian http://wingolog.org/archives/2011​/07/05/v8-a-tale-of-two-compilers
15:59 ambs left #parrot
16:03 dalek rakudo/nom: df26bd3 | pmichaud++ | src/Perl6/ (2 files):
16:03 dalek rakudo/nom: Temporary change to handle True/False and Bool::True/Bool::False
16:03 dalek rakudo/nom: directly in the grammar for now, so they're available to CORE.setting.
16:03 dalek rakudo/nom: We can undo these when the official definitions of True/False become available.
16:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/df26bd3199
16:05 dalek rakudo/nom: e77b738 | pmichaud++ | NOMMAP.markdown:
16:05 dalek rakudo/nom: Add note to NOMMAP about array/hash variable initialization.
16:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e77b73832a
16:10 darbelo_ joined #parrot
16:14 darbelo left #parrot
16:15 cotto_work joined #parrot
16:16 benabik REPR.change_type (from b003b387cb above) seems a bit like our morph vtable.
16:18 cotto_work ohai
16:19 benabik o/ cotto_work
16:19 dalek rakudo/nom: 7019642 | pmichaud++ | src/core/ (7 files):
16:19 dalek rakudo/nom: Convert instances of 1.Bool into Bool::True.
16:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/701964259a
16:20 AzureStone left #parrot
16:21 dukeleto benabik: indeed
16:21 benabik I guess just having the default of "it says no" is better than what we have.
16:21 darbelo joined #parrot
16:21 darbelo_ left #parrot
16:24 AzureStone joined #parrot
16:31 dalek parrot: 9190699 | chromatic++ | src/pmc/namespace.pmc:
16:31 dalek parrot: [PMC] Optimized NS's get_pointer_keyed_str VTABLE.
16:31 dalek parrot:
16:31 dalek parrot: This improves the performance of stress2.pasm by 2.725%. Interested parties may
16:31 dalek parrot: be able to squeeze out another improvement by revising this logic.
16:31 dalek parrot:
16:31 dalek parrot: Note that this demonstrates a systemic problem regarding the question of "Does
16:31 dalek parrot: something exist in this hash?" versus "There's something, but it's null." If
16:31 dalek parrot: PMCNULL ever stops also being 0, this function will return strange results.
16:32 dalek parrot: review: https://github.com/parrot/parrot/commit/9190699915
16:33 dukeleto nice to see chromatic++'s optimization commits again
16:33 giwi left #parrot
16:33 cotto_work Yes.  It'd be even nicer to see others doing the same thing.
16:36 lucian cotto_work: i've been thinking of mole. do you have time for some questions?
16:37 cotto_work lucian: sure
16:37 lucian cotto_work: do you plan to include language support for a C FFI?
16:38 cotto_work lucian: now that you've asked, yes. ;]
16:38 lucian cotto_work: right. from what i've talked to other people, and from my own usage, most ffis suck
16:38 dalek parrot-libgit2: 64b5dc2 | dukeleto++ | / (7 files):
16:38 dalek parrot-libgit2: Initial skeleton of a Parrot library which uses winxed and rosella
16:38 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/64b5dc2ccb
16:39 lucian cotto_work: people do like Managed C++ and Cython, though, and it makes sense to me
16:39 lucian do you think it'd be a good idea for mole to have cython-style syntax for C interop?
16:40 mj41 joined #parrot
16:40 cotto_work lucian: do you have an example?  I haven't used ctypes.
16:40 lucian cotto_work: cython, not ctypes. unfortunate similarity
16:40 lucian cotto_work: http://docs.cython.org/src/us​erguide/external_C_code.html
16:41 cotto_work actuallah.  misread
16:41 lucian ctypes is annoying because 1) you must re-create the interface in the .h file and 2) you get unexpected segfaults
16:42 cotto_work that doesn't sound production-ready
16:42 cotto_work I thought it was pretty mature.
16:42 lucian oh, it's like that by design
16:42 lucian the segfaults happen when you mis-call things
16:42 cotto_work oh.  That's unsurprising then.
16:43 cotto_work C lets you segfault quite happily.
16:43 lucian it's a big reason why people use cython, much harder to mis-call things
16:43 lucian right, but ctypes is much, much easier to segfault than just C
16:44 bubaflub dukeleto: you doing parrot-libgit2?  verrrrrrry nice
16:45 tadzik ooo, do want
16:48 lucian cotto_work: so i was thinking perhaps some C modifiers would be useful. probably more than "extern C" would be necessary, but not much more (not as much as in cython)
16:49 fperrad left #parrot
16:50 cotto_work lucian: can you add a section to your version of the gist detailing what the mole ffi support would look like?
16:50 lucian cotto_work: yeah, i'll try
16:52 cotto_work lucian: thanks
16:52 fperrad joined #parrot
16:53 dukeleto bubaflub: yeah, i needed something new and shiny to distract me
16:53 bubaflub dukeleto: i've been thinking about libgit2 bindings for Perl 5 (maybe SWIG?) for a while now
16:54 bubaflub dukeleto: though given my project this year i'm probably better prepared for parrot bindings
16:54 dukeleto bubaflub: yeah, i noticed a lack of those as well, but parrot bindings sounded funner
16:54 dukeleto bubaflub: i am stealing your header2nci script :)
16:54 tadzik Rakudo would be glad for libgit2 bindings, says the panda author :)
16:55 dukeleto bubaflub: i will give you a commit bit to parrot-libgit2 after you have completed gsoc ;)
16:55 tadzik git is the one last things still ran via run()
16:55 bubaflub dukeleto: haha.  nice.  i was going to suggest that.  there is some GMP specific code in there that i haven't pulled out to YML conf files
16:55 JimmyZ left #parrot
16:55 bubaflub tadzik: but should libgit2 be a build-time dependency?
16:57 tadzik bubaflub: nope
16:58 tadzik I actually need to clone and update repos, that's it
16:58 dalek parrot-libgit2: 4ebe4b7 | dukeleto++ | / (6 files):
16:58 dalek parrot-libgit2: Add some YAML files and an empty nci file, lovingly stolen from parrot-gmp
16:58 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/4ebe4b709e
17:04 soh_cah_toa joined #parrot
17:04 soh_cah_toa ~~
17:06 cotto_work hi soh_cah_toa
17:07 soh_cah_toa cotto_work: hey
17:17 lucian cotto_work: i stumbled on something. where are function/chunk return types declared?
17:29 cotto_work lucian: so far they're not
17:33 lucian cotto_work: i'm really bad at this, someone smarter should design languages
17:34 soh_cah_toa if i have some inline PIR in p6/nqp like `my $foo = Q:PIR { %r = bar() }` where bar() returns a pmc type and thus is returned in %r, what type does $foo end up as in p6/nqp? obviously there is no pmc type in p6/nqp.
17:34 soh_cah_toa or is it not like that and $foo is more like a subref?
17:35 benabik soh_cah_toa: In NQP, scalars are PMCs and you have to use `my $foo := Q:PIR`
17:35 benabik soh_cah_toa: Not sure how well Rakudo handles raw PMCs...  I think it may cause rakudo/nom to explode.
17:36 soh_cah_toa no, it works
17:36 soh_cah_toa b/c i have a fragment like that where it returns a FixedIntegerArray and i want to print it but FixedIntegerArray doesn't have a get_string() method so that's why i'm asking
17:37 soh_cah_toa it's p6 btw, not nqp
17:38 jevin_ left #parrot
17:40 cotto_work lucian: don't let me distract you too much from your GSoC project, but don't avoid trying just because you haven't done something before.
17:41 lucian cotto_work: i'm debugging winxed stuff at the same time, so not much of a loss
17:43 lucian cotto_work: i've just realised that i've added syntax when i didn't really have to
17:44 lucian cotto_work: anyway, https://github.com/lucian1900/mole
17:45 lucian cotto_work: hmm http://docs.racket-lang.org/cffi/index.html
17:45 jevin joined #parrot
17:47 dukeleto lucian: i see a mole where I would expect a puffin ;)
17:47 lucian dukeleto: :)
17:47 dukeleto lucian: exciting to see you giving feedback about mole, though
17:53 cotto_work lucian: proposing something terrible is a good way to help figure out what we don't want.
17:54 lucian cotto_work: the thing is, even more invasive syntax additions would be beneficial if a certain compilation-execution flow were followed
17:59 lucian cotto_work: but that's unlikely because it's a ton of work
18:02 cotto_work lucian: possibly.  mole can have a little magic, but I still want a relatively simple langauge.
18:03 lucian yes, it should be simple
18:03 lucian cotto_work: have you thought more about pointers?
18:04 cotto_work lucian: not much.  Yesterday was very much an afk day.
18:04 lucian if you wanted to implement things like a GC in it, afaik you'd only need alloc, dealloc, references and bounds-checked arrays
18:08 cotto_work I'll probably be less responsive than normal today.  I have some catching up to do at $dayjob after being gone for a couple weeks.
18:11 * lucian nods
18:27 jsut_ joined #parrot
18:31 jsut left #parrot
18:39 zby_home joined #parrot
18:43 rurban_ joined #parrot
18:45 rurban left #parrot
18:46 rurban_ is now known as rurban
18:46 dalek rakudo/nom: 87e9756 | pmichaud++ | src/core/ (5 files):
18:46 dalek rakudo/nom: More True/False changes.
18:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/87e9756aa3
18:54 bubaflub dukeleto: you got some time to skype before #ps?
18:55 dmalcolm joined #parrot
18:59 dukeleto bubaflub: sure
19:01 bubaflub woot.
19:01 cotto_work #ps in 89
19:08 darbelo left #parrot
19:13 fperrad left #parrot
19:14 dalek rakudo/nom: 86ff74d | pmichaud++ | src/core/ (2 files):
19:14 dalek rakudo/nom: Move .substr guts from Cool to Str, make .substr properly fail on negative start or length arguments.
19:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/86ff74d622
19:15 dalek rakudo/nom: 4353c16 | pmichaud++ | LHF.markdown:
19:15 dalek rakudo/nom: Add a LHF for Str.chomp.
19:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4353c16565
19:15 fperrad joined #parrot
19:47 fperrad left #parrot
19:50 dalek parrot-libgit2: f04558e | dukeleto++ | bin/header2nci.pl:
19:50 dalek parrot-libgit2: Modify header2nci.pl to the point where it gets return types correct
19:50 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/f04558e746
19:55 dalek parrot-libgit2: 32b9612 | dukeleto++ | README.md:
19:55 dalek parrot-libgit2: Update our beloved readme
19:55 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/32b96124a6
19:59 kid51 joined #parrot
20:03 Eclesia joined #parrot
20:04 Eclesia hi
20:07 Eclesia NotFound: quick question : in pir we can do : $S1 = utf16:"Hello UTF-16 Unicode World!"  , is there a way to expres the same thing in winxed ?
20:08 NotFound Eclesia: no. Winxed always uses ascii or utf8 in string literals.
20:10 ambs joined #parrot
20:11 Eclesia NotFound: perhaps it's possible using ${...} ?
20:11 NotFound Eclesia: no
20:12 NotFound Eclesia: You need the literal, or just the value in a string register?
20:12 theory joined #parrot
20:13 Eclesia NotFound: I have this : "\u00A0\u00A0\u251C\u2500" valid only in utf-16
20:13 Eclesia special caracters to tree joins
20:14 Eclesia (a bit like I did before with x3.64 for colored outputs)
20:16 cotto_work #ps in 14
20:19 Eclesia NotFound: If I try to use \u in a string, I have this message : Lossy conversion to single byte encoding
20:20 NotFound Eclesia: Yeah, winxed fails the check for the need of specifying encoding when using hex scape sequeneces, I'll look at it.
20:20 cotto_work GCs gone wild: http://timetobleed.com/the-br​oken-promises-of-mrireeyarv/
20:24 dalek rakudo/nom: 2e59702 | Coke++ | src/core/metaops.pm:
20:24 dalek rakudo/nom: add degenerate infix:<~>
20:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2e5970211f
20:24 dalek rakudo/nom: 5fa788d | Coke++ | src/core/operators.pm:
20:24 dalek rakudo/nom: add subish WHAT()
20:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5fa788d3ed
20:27 dalek lalrskate: 5cb2ada | tcurtis++ | src/LALR/Generator/BuildNonte​rminalTransitionTable.winxed:
20:27 dalek lalrskate: Add brief comment describing result of build_nonterminal_transition_table.
20:27 dalek lalrskate: review: https://github.com/ekiru/l​alrskate/commit/5cb2ada836
20:28 dalek lalrskate: 9a90994 | tcurtis++ | src/LALR/Generator/BuildPStateSets.winxed:
20:28 dalek lalrskate: Add comment explaining the result of build_p_state_sets.
20:28 dalek lalrskate: review: https://github.com/ekiru/l​alrskate/commit/9a90994bab
20:29 dalek parrot: 8e801b2 | NotFound++ | src/pmc/namespace.pmc:
20:29 dalek parrot: hash is a Hash *, not a PMC *
20:29 dalek parrot: review: https://github.com/parrot/parrot/commit/8e801b2ac2
20:30 darbelo joined #parrot
20:30 cotto_work NotFound: good catch.  I'm sad that that didn't break the build before your fix.
20:31 cotto_work NotFound++
20:31 NotFound It broke, but only witn C++
20:32 dalek rakudo/nom: 48b9efc | pmichaud++ | t/spectest.data:
20:32 dalek rakudo/nom: Add t/spec/integration/pair-in-array.t to spectest.data.  Coke++
20:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/48b9efcca2
20:35 mj41 left #parrot
20:35 dalek rakudo/nom: 8c4e7fd | moritz++ | / (2 files):
20:35 dalek rakudo/nom: add BackTrace class to setting. Not yet used in exceptions
20:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8c4e7fdad7
20:39 dalek parrot: 56f90ce | NotFound++ | lib/Parrot/Pmc2c/PMC.pm:
20:39 dalek parrot: make the vtable initializers static to decrease stack usage during intialization
20:39 dalek parrot: review: https://github.com/parrot/parrot/commit/56f90ce06a
20:39 cotto_work NotFound: does that have a measurable impact on startup?
20:40 NotFound cotto_work: probably not, but it will help the search for real stack usage problems.
20:41 NotFound See the message in parrot-dev about -Wstack-usage=500
20:42 cotto_work ok
20:56 Eclesia ouch ... making an instanceof test on a null value raise a Null PMC access in isa_pmc() ?
20:57 NotFound Eclesia: most usages of null do.
20:58 Eclesia I would have think it would return false, but not raise an error.
21:00 dukeleto Eclesia: nope
21:00 cotto_work dukeleto: #ps?
21:00 dalek parrot-libgit2: c7cd472 | dukeleto++ | bin/header2nci.pl:
21:00 dalek parrot-libgit2: Actually generate the nci return type correctly. Input arguments don't work yet
21:00 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/c7cd472ea6
21:00 dalek parrot-libgit2: ebac310 | dukeleto++ | conf/ (4 files):
21:00 dalek parrot-libgit2: Add the necessary conf files to make header2nci.pl work
21:00 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/ebac310259
21:00 dalek parrot-libgit2: 30761f6 | dukeleto++ | .gitignore:
21:00 dalek parrot-libgit2: Give .gitignore some love
21:00 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/30761f6828
21:00 dalek parrot-libgit2: fa31f8b | dukeleto++ | conf/c_to_nci_mappings.yml:
21:00 dalek parrot-libgit2: Clean up our nci mapping yaml config file
21:00 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/fa31f8bc6a
21:00 dalek parrot-libgit2: 0d26ece | dukeleto++ | / (2 files):
21:00 dalek parrot-libgit2: Get some semi-functioning method signatures
21:00 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/0d26ece66f
21:10 Eclesia question : I know parrot is not aiming at static types. but is there a way to say it ? like a .annotation or something like that ?
21:12 NotFound say "parrot is not aiming at static type"
21:12 NotFound ;)
21:14 * Eclesia rectify :"to express it in code"
21:18 Eclesia NotFound: replace still not usable in winxed ?
21:18 Eclesia replace on strings
21:19 NotFound Eclesia: I think I fixed the problems reported.
21:19 dalek parrot-libgit2: f749831 | dukeleto++ | / (2 files):
21:19 dalek parrot-libgit2: Add a hopefully temporary makefile to make generating the NCI interface file easier
21:19 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/f7498314a4
21:22 perlite_ joined #parrot
21:22 Eclesia NotFound: you have an example ? seems he doesn't find replace : candidate = replace(candidate,"\n","\n"+TREE_BLANK);
21:24 dukeleto msg Coke can you update the parrot google calendar with the new time for #ps ?
21:24 aloha OK. I'll deliver the message.
21:25 NotFound Eclesia: the repalce builtin is just a wrap of the replace op, it does not work that way.
21:25 perlite left #parrot
21:25 cotto_work msg Coke The new time for #ps being 1930 UTC, one hour earlier than currently.
21:25 aloha OK. I'll deliver the message.
21:25 perlite_ is now known as perlite
21:25 bluescreen_ joined #parrot
21:26 bluescreen left #parrot
21:26 bluescreen_ left #parrot
21:27 bubaflub dukeleto: it looks like your generated .nci file has a few places with functions accepting 'v' - that indicates that some of the mapping types are missing (i believe)
21:28 dukeleto bubaflub: yeps
21:29 kid51 left #parrot
21:29 dalek parrot-libgit2: 52f58d5 | dukeleto++ | / (2 files):
21:29 dalek parrot-libgit2: Teach header2nci.pl about lots more libgit2 datatypes, which gets our generated nci file a lot closer to almost-working
21:29 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/52f58d574d
21:30 dukeleto bubaflub: i have to deal with lots of structs, and I am giving them an NCI type of 'p', is that correct ?
21:30 ambs left #parrot
21:30 bubaflub dukeleto: yep
21:31 simcop2387_ joined #parrot
21:31 simcop2387 left #parrot
21:31 simcop2387_ is now known as simcop2387
21:32 rurban_ joined #parrot
21:33 rurban left #parrot
21:34 rurban_ is now known as rurban
21:39 bubaflub dukeleto: unless the type is just a pointer, in general you'll need a StructView to allocate the correct amount of memory for each struct
21:42 Psyche^ joined #parrot
21:43 Eclesia hourray, finally have something that looks like a debug tree for objects : http://nopaste.snit.ch/57771 :)
21:44 Eclesia (just printing out all values recursivly)
21:44 dukeleto bubaflub: do you deal with any pure structs in your code?
21:44 awwaiid joined #parrot
21:46 dalek parrot: db05ff1 | chromatic++ | src/hash.c:
21:46 dalek parrot: [hash] Added manual inlining to improve hash speed.
21:46 dalek parrot:
21:46 dalek parrot: This improves the hash-heavy bench_newp.pasm benchmark by 1.18%.
21:46 dalek parrot: review: https://github.com/parrot/parrot/commit/db05ff12cd
21:46 dalek parrot: e4ecfe7 | chromatic++ | src/gc/fixed_allocator.c:
21:46 dalek parrot: [GC] Rearranged code to improve locality.
21:46 dalek parrot:
21:46 dalek parrot: No functional changes. Probably little performance improvement.
21:46 dalek parrot: review: https://github.com/parrot/parrot/commit/e4ecfe7a55
21:46 dalek parrot: fa72eaa | chromatic++ | src/gc/gc_ms2.c:
21:46 dalek parrot: [GC] Added early bailout of blocked GC run.
21:46 dalek parrot: review: https://github.com/parrot/parrot/commit/fa72eaa132
21:46 dalek parrot: 3666df8 | chromatic++ | src/gc/gc_gms.c:
21:46 dalek parrot: [GC] Tidied code; no functional changes.
21:46 dalek parrot: review: https://github.com/parrot/parrot/commit/3666df8a42
21:46 dalek parrot: c96b816 | chromatic++ | src/gc/gc_gms.c:
21:46 dalek parrot: [GC] Made an internal static function into a macro.
21:46 jsut joined #parrot
21:46 dalek parrot:
21:46 dalek parrot: This function was used in two hot paths, so aggressive compiler inlining
21:46 dalek parrot: wouldn't work. Now it's a handful of extra instructions in right places. As a
21:46 dalek parrot: bonus, it avoids a couple of unnecessary function calls. The end result should
21:46 dalek parrot: be slightly faster allocation code.
21:46 dalek parrot: review: https://github.com/parrot/parrot/commit/c96b816941
21:46 dalek parrot: d789b5a | chromatic++ | src/gc/fixed_allocator.c:
21:46 dalek parrot: [GC] Optimized stack-walking owned pointer finder.
21:46 dalek parrot:
21:46 dalek parrot: Avoiding math instructions for an O(n) algorithm helps greatly, but stack
21:46 dalek parrot: walking is still expensive. This improves the gc_waves_sizeable_headers.pasm
21:46 dalek parrot: benchmark by 0.8%, which indicates this function costs about half of what it
21:46 dalek parrot: did previously.
21:46 dalek parrot: review: https://github.com/parrot/parrot/commit/d789b5a0d0
21:46 bubaflub dukeleto: yep, gmpz_t
21:47 Patterner left #parrot
21:47 Psyche^ is now known as Patterner
21:47 cotto_work <3
21:48 cotto_work chromatic++
21:48 bubaflub dukeleto: see GMP/Common.winxed
21:50 Eclesia left #parrot
21:51 jsut_ left #parrot
21:53 bubaflub chromatic++
22:04 tcurtis ~~
22:09 darbelo left #parrot
22:10 cotto_work hio tcurtis
22:13 tcurtis hello, cotto_work.
22:16 soh_cah_toa error:imcc:syntax error ... somewhere in file '(file unknown)' line 173737544
22:16 soh_cah_toa wow. imcc really, really, really sucks
22:16 soh_cah_toa it reports a different line # every time w/o changing a single thing in the source
22:17 lucian soh_cah_toa: I KNOW. I HATE IT
22:17 cotto_work hate party!  imcc is invited!
22:17 soh_cah_toa lucian: oh yeah. bit time >:|
22:17 darbelo joined #parrot
22:18 soh_cah_toa "syntax error somewhere"? come on!
22:18 lucian I KNOW
22:21 soh_cah_toa i'm surprised there isn't more of an initiative to fix imcc. i mean, everybody hates it for at least a handful of reasons and yet it sits and continues to inflict pain
22:22 tcurtis It seems like there are only a handful of people willing to touch its code.
22:22 soh_cah_toa or know how, at least :(
22:23 lucian i think almost everyone wants to just get rid of it
22:24 cotto_work It doesn't help that most people also have something more interesting to work on.  Choosing imcc when the choice is between M0/mole and imcc is hard.
22:25 * lucian nods
22:25 soh_cah_toa yes
22:25 lucian it's just that everything else is much too sane
22:27 soh_cah_toa i imagine imcc as this giant thorn in the side of a parrot (us) and everyone's like "ouch, take it out! the pain!" but then someone else shouts "are you crazy!? don't touch that or we'll bleed to death!"
22:28 soh_cah_toa if we all could be mashed together into the shape of a parrot ;)
22:36 awwaiid step 1: get code (check). Step 2: make/test (check - pass!). Step 3: .... profit?
22:39 plobsing joined #parrot
22:40 lichtkind joined #parrot
22:41 darbelo left #parrot
22:48 mtk left #parrot
22:53 benabik Fixing IMCC is non-trivial.  Ripping out IMCC involves much refactoring so that it's not intertwined with Parrot's core.  Whiteknight++ has done much work towards this fact.
23:06 lucian left #parrot
23:28 dmalcolm left #parrot
23:28 kid51 joined #parrot
23:39 ttbot Parrot d789b5a0 MSWin32-x86-multi-thread make error http://tt.taptinder.org/cmdinfo/28873
23:47 kid51 msg chromatic https://github.com/parrot/parrot/commit/​d789b5a0d02226558921c71584f023873cab8c53 breaks build on Win32
23:47 aloha OK. I'll deliver the message.
23:47 * kid51 does laundry
23:47 kid51 left #parrot
23:57 Coke left #parrot
23:57 Coke joined #parrot

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

Parrot | source cross referenced