Camelia, the Perl 6 bug

IRC log for #parrot, 2011-06-01

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 lucian NotFound: does winxed have any import/include statement?
00:07 whiteknight joined #parrot
00:07 dmalcolm left #parrot
00:09 bubaflub lucian: there is an "$include_const '...'" and a "load_bytecoad('...');"
00:09 bubaflub not sure if either of those are what you want
00:09 lucian bubaflub: hmm. so load_bytecode would load a previously compiled one. i just wanna split a file in several
00:09 lucian thanks
00:14 dukeleto bubaflub: how goes?
00:14 kid51_at_dinner is now known as kid51
00:15 bubaflub dukeleto: not bad.  about to eat some dinosaur-shaped chicken nuggets.
00:15 bubaflub dukeleto: how you doing?
00:22 dukeleto bubaflub: trying to get in a coding groove, but IRL keeps interrupting
00:23 bubaflub dukeleto: bummer.  did you see my blog post / commits from yesterday?
00:31 dukeleto bubaflub: yes, read the blog post, and the issue emails.
00:31 dukeleto bubaflub: you stuck on anything?
00:31 bubaflub dukeleto: nope, not yet
00:33 soh_cah_toa dukeleto: hey, speaking of blogs...i liked your blog post about M0. i've been wondering "why M0?" for a while now and i thought your post really helped
00:35 soh_cah_toa dukeleto: anything that means a more cleaner and logically organized parrot makes me very happy. i can't wait until the merge.
00:40 lucian left #parrot
00:43 dukeleto soh_cah_toa: you and me both :)
00:43 * dukeleto writes a grant update
00:47 davidfetter .oO( GRANT UPDATE ON proposal TO dukeleto; )
00:50 cotto ohai
00:51 cotto soh_cah_toa, the M0 merge?
00:51 cotto That'll be a great day.
00:54 soh_cah_toa yeah
00:54 theory left #parrot
00:55 davidfetter m0?
00:56 dukeleto davidfetter: http://leto.net/perl/2011/05/what-is-m0.html
00:56 dukeleto aloha, m0 is http://leto.net/perl/2011/05/what-is-m0.html
00:56 aloha dukeleto: ... but m0 is the VM that Lorito will run on top of. ...
00:56 * davidfetter reads
00:56 dukeleto aloha, m0 is also http://leto.net/perl/2011/05/what-is-m0.html
00:56 aloha dukeleto: Okay.
00:56 dukeleto aloha, m0?
00:56 aloha dukeleto: m0 is the VM that Lorito will run on top of. or http://leto.net/perl/2011/05/what-is-m0.html
00:57 davidfetter .oO(PL/M0)
00:58 dukeleto davidfetter: nope, m0 is parrot guts
00:58 dukeleto davidfetter: headcheese, perhaps ;)
00:58 soh_cah_toa lol, parrot guts
00:59 davidfetter mmm...headcheese
00:59 * davidfetter missed an opportunity for awesome headcheese at the murray street kitchen
01:03 dalek nqp: ef23ef5 | pmichaud++ | / (2 files):
01:03 dalek nqp: Merge branch 'master' of github.com:perl6/nqp
01:03 dalek nqp: review: https://github.com/perl6/nqp/commit/ef23ef5833
01:03 dalek nqp: f152ca1 | pmichaud++ | Configure.pl:
01:03 dalek nqp: Fix .exe bug in verify_install (jnthn++).
01:03 dalek nqp: review: https://github.com/perl6/nqp/commit/f152ca1a2c
01:25 bacek_at_work ~~
01:39 dalek nqp: c6c3fdd | pmichaud++ | tools/lib/NQP/Config.pm:
01:39 dalek nqp: Allow using parrot_config found in search path.  cotto++
01:39 dalek nqp: review: https://github.com/perl6/nqp/commit/c6c3fdd4d4
02:03 woosley joined #parrot
02:04 whiteknight left #parrot
02:09 marcel_r joined #parrot
02:10 soh_cah_toa headerizer is whining about how there's no pod in my file. is this what i think it is? headerizer fails if i don't comment my function definitions w/ pod?
02:12 kid51 soh_cah_toa: Yes
02:12 kid51 t/codingstd/c_function_docs.t
02:12 soh_cah_toa great, thanks
02:13 kid51 I can't recall whether headerizer per se fails, but the codingstd certainly will.
02:13 kid51 Although, granted, IIRC there's a list of "exempted files" somewhere.
02:15 soh_cah_toa alright, i suppose that's good practice
02:16 kid51 You should get familiar with 'make codetest' or, for brevity, 'make nocritic_codetest'
02:16 kid51 (the latter skips over Perl::Critic)
02:17 soh_cah_toa ok
02:17 bubaflub seen plobsing
02:17 aloha plobsing was last seen in #perl6 12 days 12 hours ago joining the channel.
02:39 atrodo Hurray.  I've finally got the new version of isparrotfastyet collecting data.  Now to have the data reflected in the website
02:41 bubaflub atrodo++
02:42 bacek_at_work atrodo, wanna play with http://speedcenter.parrot.dotcloud.com/? It's "empty" speedcenter installation (same as used by speed.pypy.org)
02:43 atrodo bacek_at_work: possibly
02:43 bacek_at_work atrodo, just ping me when. I'll give you full admin access :)
02:43 kid51 left #parrot
02:44 kid51 joined #parrot
02:44 atrodo bacek_at_work: is there anything to do besides start submitting data?
02:45 bacek_at_work atrodo, erm. "Configure" it properly. "Environments", etc
02:50 kid51 left #parrot
02:50 tty234 left #parrot
02:51 marcel_r_ joined #parrot
02:56 marcel_r left #parrot
02:56 marcel_r_ is now known as marcel_r
02:58 bubaflub ping NotFound
02:58 theory joined #parrot
02:59 dalek parrot-gmp: 5963c5b | bubaflub++ | / (4 files):
02:59 dalek parrot-gmp: fill out the winxed class a bit more
02:59 dalek parrot-gmp: and create an examples directory
02:59 dalek parrot-gmp: and a winxed example
02:59 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/5963c5b012
03:01 tewk_ joined #parrot
03:01 tewk left #parrot
03:06 tewk joined #parrot
03:06 tewk_ left #parrot
03:12 marcel_r left #parrot
03:13 mtk left #parrot
03:19 mtk joined #parrot
03:23 davidfetter left #parrot
03:31 tcurtis ~~
03:32 dalek parrot-gmp: ddba259 | bubaflub++ | src/GMP.winxed:
03:32 dalek parrot-gmp: whoops, need to return this
03:32 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/ddba259c00
03:33 bubaflub msg dukeleto I've gotten Winxed to initialize, set, and get GMP's.  I've got some strange Winxed error so I'll hassle some peeps tomorrow about it.
03:33 aloha OK. I'll deliver the message.
03:33 bubaflub left #parrot
03:38 benabik left #parrot
03:42 benabik joined #parrot
03:44 soh_cah_toa left #parrot
03:46 dalek nqp: a4f80df | pmichaud++ | Configure.pl:
03:46 dalek nqp: Add a --make-install option to Configure.pl, to automatically build
03:46 dalek nqp: and install NQP after configuration is complete.  (This will normally
03:46 dalek nqp: be used only by other systems wanting to do --gen-nqp.)
03:46 dalek nqp: review: https://github.com/perl6/nqp/commit/a4f80dfc2a
04:12 JimmyZ joined #parrot
04:14 JimmyZ left #parrot
04:14 JimmyZ joined #parrot
04:16 GeJ_ is now known as GeJ
04:23 JimmyZ_ joined #parrot
04:27 JimmyZ left #parrot
04:27 JimmyZ joined #parrot
04:29 hudnix left #parrot
04:29 JimmyZ__ joined #parrot
04:31 JimmyZ__ left #parrot
04:33 JimmyZ_ left #parrot
04:34 JimmyZ left #parrot
05:49 cotto dukeleto, ping
05:51 cotto dukeleto, unping
05:53 dalek parrot/m0-prototype: 2da856f | cotto++ | / (13 files):
05:53 dalek parrot/m0-prototype: implement deref, update examples, get all m0 tests passing again
05:53 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/2da856f6f4
05:54 cotto It makes me sad that that's all I have time for tonight.
06:07 dalek parrot/m0-spec: e3dd0d6 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
06:07 dalek parrot/m0-spec: add note to the exceptions section
06:07 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/e3dd0d68f2
06:11 jsut joined #parrot
06:11 jsut_ left #parrot
06:13 * cotto sleeps
06:18 dalek TT #1983 closed by dukeleto++: Parrot_PMC_is_equal_num seems broken
06:18 dalek TT #1983: http://trac.parrot.org/parrot/ticket/1983
06:20 * tcurtis decides to sleep tonight and blog tomorrow...
06:21 cotto msg jnthn__ I tried to get Rakudo's nom branch working to work on the invokable fix, but the Makefile in nom seems to be broken.  I see variables like "PERL6_ML_PBC  = Perl6/ModuleLoader.pbc" when they should include src.  I tried to fix it but got distracted before making progress.
06:21 aloha OK. I'll deliver the message.
06:22 moritz cotto: if you mkdir Perl6, there is indeed a generated file Perl6/ModuleLoader.pbc without the src/
06:23 moritz s/is/is generated/
06:25 dalek parrot: b00deb3 | dukeleto++ | src/extend.c:
06:25 dalek parrot: [extend] Remove Parrot_find_language, which never did anything useful
06:25 dalek parrot: review: https://github.com/parrot/parrot/commit/b00deb395f
06:25 dalek parrot: 47df0fb | dukeleto++ | docs/pdds/draft/pdd11_extending.pod:
06:25 dalek parrot: Remove remnants of Parrot_find_language from docs
06:25 dalek parrot: review: https://github.com/parrot/parrot/commit/47df0fb214
06:32 fperrad joined #parrot
06:42 linge left #parrot
06:43 linge joined #parrot
06:49 linge left #parrot
07:03 dalek parrot/leto/embed_grant: 16b6ec1 | dukeleto++ | t/src/extend.t:
07:03 dalek parrot/leto/embed_grant: [t] Parrot_get_root_namespace
07:03 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/16b6ec1f9d
07:07 mj41 joined #parrot
07:14 dalek parrot/leto/embed_grant: caf6ebe | dukeleto++ | t/src/extend.t:
07:14 dalek parrot/leto/embed_grant: [t] Parrot_PMC_null
07:14 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/caf6ebe2fd
07:14 dalek parrot/leto/embed_grant: 700f0a5 | dukeleto++ | t/src/extend.t:
07:14 dalek parrot/leto/embed_grant: Add coverage to Parrot_register_pmc and Parrot_unregister_pmc
07:15 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/700f0a5410
07:15 dalek parrot/leto/embed_grant: c04523b | dukeleto++ | t/src/extend.t:
07:15 dalek parrot/leto/embed_grant: Add coverage for Parrot_register_string and Parrot_unregister_string
07:15 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/c04523b7c2
07:15 theory left #parrot
07:19 baest joined #parrot
07:31 dalek parrot/leto/embed_grant: 2a51d1e | dukeleto++ | / (4 files):
07:31 dalek parrot/leto/embed_grant: Merge branch 'master' into leto/embed_grant
07:31 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/2a51d1e2fd
07:41 woosley left #parrot
08:25 SHODAN joined #parrot
08:26 dalek nqp: 395da2f | pmichaud++ | src/NQP/Actions.pm:
08:26 dalek nqp: Add io_ops to list of automatically loaded dynoplibs, so we can get
08:26 dalek nqp: <stat> and <printerr> (among many others).
08:26 dalek nqp: review: https://github.com/perl6/nqp/commit/395da2f5cb
08:43 linge joined #parrot
08:45 linge left #parrot
09:01 jsut_ joined #parrot
09:01 jsut left #parrot
09:17 contingencyplan left #parrot
09:23 contingencyplan joined #parrot
09:31 autark joined #parrot
09:41 woosley joined #parrot
09:51 dalek nqp: 03db0cb | jonathan++ | src/6model/sixmodelobject.h:
09:51 dalek nqp: Add a pointer to the STable where a REPR can optionally hang any type-specific data, so we can refactor away from 'REPR instances'.
09:51 dalek nqp: review: https://github.com/perl6/nqp/commit/03db0cb234
09:58 woosley left #parrot
10:01 lucian joined #parrot
10:09 lucian_ joined #parrot
10:14 lucian left #parrot
10:16 dalek nqp: f5c61a4 | moritz++ | src/stage0/ (6 files):
10:16 dalek nqp: rebootstrap with io_ops loaded
10:16 dalek nqp: review: https://github.com/perl6/nqp/commit/f5c61a42f2
10:16 dalek nqp: b94c439 | moritz++ | src/ModuleLoader.pm:
10:16 dalek nqp: search in blib/ for modules unless a module path was specified
10:16 dalek nqp: review: https://github.com/perl6/nqp/commit/b94c439b78
10:23 lucian_ left #parrot
10:30 lucian joined #parrot
10:57 lucian_ joined #parrot
10:59 mtk left #parrot
11:01 lucian left #parrot
11:04 JimmyZ joined #parrot
11:06 mtk joined #parrot
11:26 lucian_ left #parrot
11:27 mikehh left #parrot
11:28 JimmyZ_ joined #parrot
11:33 JimmyZ left #parrot
11:33 JimmyZ_ is now known as JimmyZ
11:36 JimmyZ_ joined #parrot
11:39 JimmyZ left #parrot
11:39 JimmyZ_ is now known as JimmyZ
11:42 dalek nqp: d12b30c | jonathan++ | Configure.pl:
11:42 dalek nqp: Make sure we get path seps right on Win32.
11:42 dalek nqp: review: https://github.com/perl6/nqp/commit/d12b30cb20
11:42 dalek nqp: 044691c | jonathan++ | src/ (6 files):
11:42 dalek nqp: REPR refactor. Avoid the memory-wasting concept of REPR instances as used by P6opaque and instead just give them a place in the STable to hang any data they're interested in keeping around. This in turn guts the REPR PMC and pretty much eliminates the need for it.
11:42 dalek nqp: review: https://github.com/perl6/nqp/commit/044691ce7a
11:42 dalek nqp: 4adf446 | jonathan++ | src/ (11 files):
11:42 dalek nqp: Simplify the REPR API, thanks to not having REPR instances any more. Means we pass an argument less for loads of really common operations.
11:42 dalek nqp: review: https://github.com/perl6/nqp/commit/4adf44692b
11:48 Kulag joined #parrot
11:55 kid51 joined #parrot
11:59 contingencyplan left #parrot
12:14 whiteknight joined #parrot
12:16 whiteknight good morning, #parrot
12:20 mikehh joined #parrot
12:23 kid51 left #parrot
12:23 bluescreen joined #parrot
12:35 hudnix joined #parrot
12:38 ligne is the ffi stuff mean to be an alternative to the extra-nci-thunks?
12:39 ligne i was looking at the test failures when Parrot is built --without-extra-nci-thunks, and it only seems to happen when it was also built --without-libffi.
12:47 whiteknight yes, ffi is the alternative to nci thunks
12:48 whiteknight nci thunks are statically compiled functions which have certain signatures. FFI is a library that calls functions with an arbitrary signature dynamically
12:49 whiteknight so if you have --without-extra-nci-thunks and --without-libffi, you don't have any mechanism for calling native functions in the extra nci thunks list
12:50 whiteknight so what we need to do is figure out which thunk is required from that list, and move it to the core thunks list
12:53 bubaflub joined #parrot
13:04 bubaflub whiteknight: ping
13:04 whiteknight pong
13:04 bubaflub whiteknight: can i ask you a few questions about Winxed?  specifically some of the errors i'm getting
13:05 whiteknight bubaflub: sure
13:05 bubaflub whiteknight: great.  this is my winxed file https://github.com/bubaflub/parro​t-gmp/blob/master/src/GMP.winxed.
13:06 bubaflub whiteknight: this is def.pir (which gets compiled into def.pbc) https://github.com/bubaflub/par​rot-gmp/blob/master/src/def.pir
13:06 whiteknight okay
13:06 bubaflub whiteknight: and this is the file i'm trying to run: https://github.com/bubaflub/parrot-g​mp/blob/master/examples/basic.winxed
13:06 whiteknight okay. So what errors are you getting?
13:06 bubaflub i'm getting "WARNING: class GMP.Integer not found at compile time"
13:06 bubaflub and
13:07 bubaflub when i try and call mpz_add_ui i get "No NCI thunk available for signature `void (ptr, ptr, int)'"
13:07 whiteknight that first message is just a warning. Winxed tries to do static binding on types if it can. You can make that go away with --nowarn
13:07 bubaflub even though in def.pir definitely has __gmpz_add_ui with vppi
13:07 whiteknight bubaflub: that second error is a problem with Parrot's native call. Install libffi on your machine, then reconfigure and rebuild Parrot with it
13:07 bubaflub whiteknight: ah, ok.
13:08 bubaflub whiteknight: glad i'm not going insane.
13:08 whiteknight bubaflub: yeah, it's a problem with Parrot's ability to call functions of that signature
13:08 whiteknight you've defined it fine, you're calling it fine. When it gets inside Parrot to do the invoke it doesn't have the correct mechanism
13:08 bubaflub whiteknight: so my project will require parrot's with libffi, right?
13:08 whiteknight libffi will get you passed the error for now. Eventually you may also want to include a library of custom thunks for calling functions
13:09 whiteknight plobsing is the best resource for that, when the time comes, but I can probably help out too
13:09 bubaflub whiteknight: great.  thanks.
13:09 whiteknight but for now, it's easier to use libffi
13:09 bubaflub whiteknight: yeah, for now i'm using a StructView in GMP.winxed but I'd like to move off of that eventually if it's deprecated
13:10 whiteknight StructView isn't deprecated. It's new
13:10 bubaflub is it?  oh good.
13:10 whiteknight StructView might be experimental still, but it's not going anywhere
13:12 ligne whiteknight> thanks, that's more or less what i'd understood :-)
13:12 whiteknight ligne: what are the test errors you are receiving?
13:15 ligne whiteknight> basically those in tt#2116, tt#2117.
13:15 whiteknight okay
13:15 ligne lots of errors along the lines of "No NCI thunk available for signature `ptr (ptr, STRING)'"
13:16 ligne https://github.com/ligne/parrot/commit/9​b9361b3ead669a3fbcfa9e15ac1550e31c73e6d was a first go at a patch
13:16 ligne but if ffi support is also sufficient, it'll require tweaking
13:21 lkundrak joined #parrot
13:21 lkundrak hi
13:21 lkundrak what's the purpose of .declarations files?
13:36 dalek parrot: e71c177 | mikehh++ | include/parrot/extend.h:
13:36 dalek parrot: run make Headerizer to complete removal of Parrot_find_language
13:36 dalek parrot: review: https://github.com/parrot/parrot/commit/e71c1775d9
13:36 dalek parrot: 7db0145 | mikehh++ | src/nci/libffi.c:
13:36 dalek parrot: changed by make Headerizer
13:36 dalek parrot: review: https://github.com/parrot/parrot/commit/7db0145976
13:38 ligne whiteknight> updated so the tests run if Parrot was built with FFI instead.  let me know if you'd prefer me to squash the commits.  https://github.com/ligne/parrot/commit/c​8f7ac1a2b344489bfc0160a926c44387ee7ce9d
13:38 ligne is now known as ligne_work
13:38 whiteknight lkundrak: .definitions files? Where do you see those?
13:39 ligne_work (or if i'm Doing It Wrong, natch ;-) )
13:39 whiteknight ligne_work: I'll take a look at it in a bit
13:39 ligne_work whiteknight> cool, thanks :-)
13:39 ligne_work no rush!
13:46 JimmyZ left #parrot
13:53 lkundrak whiteknight: sorry, my bad; .declarations
13:53 whiteknight lkundrak: I still don't know what that is.
13:54 * moritz can't find any such files in the parrot repo
13:54 dalek parrot/with_winxed: b735529 | NotFound++ | / (8 files):
13:54 dalek parrot/with_winxed: include a snapshot of winxed installable compiler and driver and set the parrot config system to build and install them
13:54 dalek parrot/with_winxed: review: https://github.com/parrot/parrot/commit/b735529549
13:55 NotFound Branch with_winxed ready to test
13:56 whiteknight NotFound++
13:56 whiteknight that makes me super happy
13:58 NotFound whiteknight: What is the appropiate type for a ticket tracking this? feature? experimental?
13:58 whiteknight experimental, I think
13:58 NotFound Ok
13:58 whiteknight once that merges, we can take winxed out of Plumage, I think
13:59 whiteknight I added support to Plumage for building things with winxed. I'll have to double-check that all still works
14:01 atrodo NotFound++
14:05 athomason left #parrot
14:06 athomason joined #parrot
14:07 lkundrak whiteknight: these ./runtime/parrot/library/postgres.declarations ./runtime/parrot/library/ncurses.declarations ./runtime/parrot/library/crypto.declarations ./runtime/parrot/library/openssl.declarations
14:07 lkundrak whiteknight: in parrot clone
14:07 dalek TT #2127 created by NotFound++: Adding a winxed snapshot to the repo
14:07 dalek TT #2127: http://trac.parrot.org/parrot/ticket/2127
14:08 SHODAN left #parrot
14:13 bubaflub lkundrak: it looks like NCI definition file - that is, it holds all the method names and signatures to call a C library
14:16 lkundrak bubaflub: I could not look up documentation on how to use them though. looking at ./runtime/parrot/library/ncurses.pir it seems like it has redundant signatures
14:17 bubaflub lkundrak: tools/dev/ncidef2.pir.pl takes that .definition file and generates the .pir file.  the .pir file is then compiled into a .pbc.
14:19 hercynium joined #parrot
14:19 lkundrak bubaflub: ah, that makes sense. what's te use of those pir files in repository when there's a declarations file?
14:19 bubaflub lkundrak: i can't say for certain, but it just saves a step of generating code.
14:19 lkundrak bubaflub: also, I've grabbed a binary parrot build (from fedora) and the package contains declarations file for openssl, but nothing else (no pir or pbc)
14:20 bubaflub lkundrak: hmmm, i'm in a git checkout and did a make && make install and both .pir and .pbc are there for me.
14:21 bubaflub lkundrak: the discrepancy could be the way that the RPMs are generated
14:22 lkundrak bubaflub: okie, thank you
14:23 bubaflub lkundrak: do you have tools/dev/ncidef2pir.pl and a copy of perl on your system?  if so, you can generate the pir file and then run parrot to get the bytecode
14:25 TiMBuS|Away joined #parrot
14:26 TiMBuS left #parrot
14:26 TiMBuS|Away is now known as TiMBuS
14:26 lkundrak bubaflub: I do have it in the parrot checkout. I can't see how was the .pir file generated with make for you though -- a git grep ncidef2pir doesn't find any call to ncidef2pir.pl
14:28 bubaflub lkundrak: you're right - it looks like they are actually checked into the repo
14:29 benabik G'morning!
14:48 alester joined #parrot
15:00 dukeleto ~~
15:13 wknight8111 joined #parrot
15:18 whiteknight left #parrot
15:18 JimmyZ joined #parrot
15:21 bluescreen left #parrot
15:22 bubaflub morning dukeleto
15:24 dukeleto bubaflub: indeed.
15:24 bubaflub dukeleto: good work on the grant test coverage stuff.
15:29 wknight8111 dukeleto++
15:29 cotto ~~
15:29 dukeleto cotto: does this seem familiar ? http://homepage.ntlworld.com/edm​und.grimley-evans/bcompiler.html
15:29 dukeleto bubaflub: danke
15:32 cotto dukeleto, somehow it does
15:33 bubaflub dukeleto: do you know anything about generating custom NCI thunks?
15:33 benabik dukeleto: Starting from raw machine code in hex seems a little excessive.
15:33 cotto moritz, thanks (from backscroll)
15:35 cotto msg jnthn__ moritz++ got me going again on the invokable bug.
15:35 aloha OK. I'll deliver the message.
15:36 dukeleto benabik: well, the dude was wistfully talking about punch cards :)
15:36 moritz cotto: fwiw it's now moved to blib/Perl6
15:36 moritz afk
15:36 bluescreen joined #parrot
15:36 dukeleto bubaflub: i pretend to know some stuff
15:36 cotto dukeleto, try running make m0_tests in the m0 branch
15:36 cotto :D
15:37 bubaflub dukeleto: looking at tools/dev/nci_thunk_gen.pir i think Plobsing is the person to ask
15:37 * cotto goes to work
15:37 bubaflub dukeleto: anyways, currently i need libffi installed (and Parrot configured with it) to get parrot-gmp to work correctly
15:37 bubaflub dukeleto: i'm not blocking on it, but it'd be nice to not require libffi
15:37 wknight8111 bubaflub: what signatures do you need for it?
15:38 bubaflub wknight8111: vppi at least
15:38 wknight8111 bubaflub: add that to src/nci/core_thunks.nci. Then, with an existing parrot, run "make bootstrap-nci" to update the generated thunks
15:38 wknight8111 then rebuild Parrot
15:38 bubaflub wknight8111: ah, ok.
15:38 dukeleto wknight8111: should he commit that? i.e. are we adding that to the core thunks?
15:39 wknight8111 no, don't commit those
15:39 wknight8111 bubaflub: that's the cheap-and-easy way. The better way is to create your own .nci file in the Parrot-GMP repo and generate your own NCI library
15:39 wknight8111 I'm more fuzzy on that process
15:39 bubaflub wknight8111: ok, i can do the later.  i'm just curious on how to get that compiled / loaded with Parrot
15:40 wknight8111 there is a tool, tools/dev/nci2somethingsomething that should build the thunks
15:40 wknight8111 looks like nci_thunk_gen.pir
15:41 dukeleto bubaflub: i would say, just hack on parrot-gmp for now. Don't worry about the libffi cleanup. We can do that later, with help from plobsing++
15:41 bubaflub dukeleto: ok.
15:41 bubaflub wknight8111: i'll take a look at that as well.
15:42 dukeleto "Programming in Scala" 1st edition, free online: http://www.artima.com/pins1ed/
15:42 wknight8111 hmmm... it doesn't look like building nci thunk libraries is handled by distutils yet.
15:42 wknight8111 that is a must
15:43 bubaflub wknight8111: well, since i'm using distutils for my project, maybe i'll throw that on my TODO pile
15:45 benabik I just discovered `make codetest` and the MANIFEST files...  I can't help but think that the codetests should ignore everything in MANIFEST.generated.
15:45 wknight8111 bubaflub: I'm trying to find examples right now
15:45 bubaflub wknight8111: fantastic.  thanks
15:45 wknight8111 https://github.com/plobsing/parrot-z​eromq/blob/master/src/ZeroMQ/Raw.nci
15:46 wknight8111 plobsing uses this alot, so whatever he does is the right way, barring documentation
15:46 wknight8111 so that's a .nci file from his library project
15:47 wknight8111 the makefile has the command: perl $(PARROT_TOOLS_DIR)/dev/ncidef2pir.pl $< $@
15:47 wknight8111 but that looks to me like it would be generating a .pir file, not a .so
15:47 dukeleto wknight8111: it also assumes that somebody has the parrot.git repo somewhere
15:47 lucian joined #parrot
15:48 wknight8111 dukeleto: what does?
15:50 bubaflub wknight8111: i've been following plobsing's ZeroMQ project - but i think he's using signatures that already exist and doesn't need to add any
15:50 wknight8111 I didn't see some of those signatures in parrot
15:50 wknight8111 ippipP for instance isn't in parrot
15:50 wknight8111 at least not that I can find
15:51 bubaflub wknight8111: ok, i'll keep looking.
15:52 wknight8111 in the Parrot makefile, here's the incantation it uses: $(PERL) $(DEV_TOOLS_DIR)/mk_nci_thunks.pl
15:53 dukeleto wknight8111: perl $(PARROT_TOOLS_DIR)/dev/ncidef2pir.pl assumes that parrot.git is around. just sayin'. Most things on parrot only require the binaries from an installed parrot
15:54 bubaflub dukeleto and wknight8111: i'm using ncidef2pir.pl already and committing the generated file to the repo.  i think what i'm missing is how to get my special signatures loaded correctly without libffi.
15:54 dukeleto seen plobsing?
15:54 aloha plobsing was last seen in #perl6 13 days 2 hours ago joining the channel.
15:54 wknight8111 dukeleto: so that sounds like it needs to be refactored
15:54 dukeleto bubaflub: sure. Don't worry about that now, keep hacking parrot-gmp stuff
15:54 dukeleto wknight8111: yes
15:56 theory joined #parrot
15:57 dalek TT #2128 created by whiteknight++: Ability to build NCI thunks with Distutils
15:57 dalek TT #2128: http://trac.parrot.org/parrot/ticket/2128
15:58 dukeleto msg cotto i am seeing "make m0_tests" pass on my machine. Nice work!
15:58 aloha OK. I'll deliver the message.
16:05 wknight8111 ncidef2pir.pl isn't installed
16:05 dmalcolm joined #parrot
16:05 wknight8111 I don't know how we make that happen
16:07 dukeleto wknight8111: i am not sure it should be installed
16:07 dukeleto wknight8111: i want the functionality, but how many other perl scripts does parrot install on a users system?
16:08 dukeleto wknight8111: perl is supposedly only a config/build requirement, not a runtime requirement. But ncidef2pir.pl is and edge case. It is really only a developer that would use it
16:08 wknight8111 so we need to rewrite it in PIR/NQP/Wixned
16:09 dukeleto wknight8111: wfm
16:09 lucian i'm assuming that perl5 bridge still requires perl, so it's not an option
16:09 NotFound In all three together?
16:09 wknight8111 might be a good test case for the new Winxed snapshot
16:12 dukeleto wknight8111: we might want to think about a git submodule for winxed
16:12 benabik dukeleto: Winxed is in SVN
16:13 cotto_work ~~
16:13 wknight8111 yes, winxed is svn
16:13 NotFound I think a hand-updated snapshot is a simple and more controlled way.
16:14 wknight8111 NotFound: git submodules point to an explicit commit. they don't auto-update
16:15 lucian i think i agree with NotFound, the recent issue i've had with .hll would be less likely happen with releases
16:16 dukeleto i would maintain a git mirror of Winxed if that is the only thing holding us back from using it as a submodule
16:16 dukeleto i already wrote the code to maintain the parrot.git mirror *back in the day*
16:16 NotFound What will be the advantages of the submodule way?
16:18 dukeleto NotFound: we could tell git exactly which sha1 (aka svn rev) parrot.git should use for winxed
16:20 dukeleto it prevents some work from being manual, and from checking in winxed code directly into parrot.git
16:21 wknight8111 dukeleto: we install create_language.pl, gen_makefile.pl, pprof2cg.pl and reconfigure.pl at least
16:21 wknight8111 ops2c.pl, pmc2c.pl
16:21 wknight8111 and associated crap in tools/lib/*.pm
16:22 dukeleto wknight8111: really? I am amazed. None of them are prefixed with parrot_ . Most distros (such as Debian) don't like that
16:22 dukeleto wknight8111: we need to rethink what we install
16:22 wknight8111 they're all in the <parrot_install>/tools/* directory. not on PATH by default
16:22 wknight8111 I don't necessarily agree that we should be installing them, but we are. Prior art
16:23 wknight8111 of course, if nci2whatever is not installed yet, we can rewrite it into a different langauge without a deprecation cycle
16:23 dukeleto wknight8111: ah, ok. We need better terminology. I am fine with anything in tools/ staying there. But we should be careful about what we install in the PATH
16:23 mj41 left #parrot
16:23 wknight8111 dukeleto: right. I want to install the nci utils into tools/
16:23 dukeleto wknight8111: hokey dokey. Go for it.
16:23 wknight8111 at least as a temporary measure
16:23 NotFound Now that you say that... the with_winxed branch installs 'winxed' in bin
16:24 NotFound Should we rename it to parrot_winxed or something like that?
16:25 dukeleto NotFound: yes, or the package maintainers will tar and feather us
16:27 wknight8111 hmm... that seems obnoxious
16:27 dalek nqp: 0cac59c | jonathan++ | src/ (3 files):
16:27 dalek nqp: Give a struct a more generic name so we can re-use it in another case.
16:27 dalek nqp: review: https://github.com/perl6/nqp/commit/0cac59c3ad
16:27 dalek nqp: 1f9da88 | jonathan++ | src/6model/sixmodelobject.h:
16:27 wknight8111 I think I would prefer it not be renamed
16:27 dalek nqp: Add container spec slot of the s-table. Also a little movement to get vaguely related s-table elements in chunks to try and get better cache line hits.
16:27 dalek nqp: review: https://github.com/perl6/nqp/commit/1f9da88fc5
16:27 dalek nqp: 5f29114 | jonathan++ | src/ops/nqp.ops:
16:27 dalek nqp: Add is_container and nqp_decontainerize ops.
16:27 dalek nqp: review: https://github.com/perl6/nqp/commit/5f291147df
16:27 dalek nqp: 1d75ccd | jonathan++ | src/ops/nqp.ops:
16:27 dalek nqp: set_container_spec op.
16:27 dalek nqp: review: https://github.com/perl6/nqp/commit/1d75ccd71a
16:27 dalek nqp: 88f386d | jonathan++ | src/ops/nqp.ops:
16:28 dalek nqp: Oops, fix thinko.
16:28 dalek nqp: review: https://github.com/perl6/nqp/commit/88f386db60
16:28 wknight8111 I mean, they are two separate programs, part of the same package
16:28 benabik wknight8111: We do the same thing with parrot-nqp
16:28 wknight8111 we do install pbc_merge into PATH too, and that's never been an issue with the maintainer
16:28 wknight8111 maintainers
16:28 NotFound $ ls runparrot/bin/
16:28 wknight8111 benabik: I'm not sure I would have made that decision with parrot-nqp either
16:28 NotFound ops2c          parrot_debugger       parrot-prove     pbc_merge
16:28 NotFound parrot         parrot_nci_thunk_gen  pbc_disassemble  pbc_to_exe
16:28 NotFound parrot_config  parrot-nqp            pbc_dump         winxed
16:28 NotFound We are a bit inconsistent right now.
16:29 wknight8111 yeah, we put a lot of crap into Path
16:29 wknight8111 but winxed is a separate program with it's own name. We're only snapshotting it, not claiming to own it
16:29 lucian i don't see why a prefix would be needed either
16:29 wknight8111 same with NQP. We don't own it. Patrick names it whatever he wants to name it
16:29 lucian packagers will hate undeclared dependencies, though
16:31 wknight8111 we can declare dependencies
16:31 dukeleto parrot_nqp is the nqp that parrot chooses to peg against, nqp is whatever the latest nqp is
16:31 dukeleto there is a difference
16:31 wknight8111 ah, that does make some sense
16:31 wknight8111 so parrot_winxed is the snapshotted version, winxed is bleed?
16:31 bubaflub dukeleto: oh, and by the way - the file in examples/basic.winxed works.  it inits a GMP.Integer in Winxed, sets it to 30, adds 2, and then gets an int back from it and prints it out.
16:31 dukeleto i agree, we need to standardize our names. Mixing underscore and hyphens sucks a vacuum cleaner
16:32 dukeleto bubaflub: freak yeah!
16:32 NotFound Note that 'winxed' is just a driver, the language lives at lib/3.4.0-devel/languages/winxed/winxed.pbc
16:32 bubaflub dukeleto: yep, hopefully i'll have the rest of the functions in the Winxed class soon.
16:32 JimmyZ left #parrot
16:33 benabik Is the only way to get t/codingstd/pir_code_coda.t to ignore a file to add a "THIS IS A GENERATED FILE" line?  That seems poor since it would have to be re-added every time PCT is rebootstrapped.
16:34 dukeleto benabik: seems suboptimal
16:35 NotFound So if you want to diferentiate bin/parrot-winxed from bin/winxed the load_language'able name should be also changed.
16:40 wknight8111 No, I don't want to change it
16:40 wknight8111 I think it should be installed as "winxed"
16:40 wknight8111 if the user wants to maintain a different version, they can manage that themselves
16:41 NotFound Fine for me.
16:44 dukeleto wknight8111: i think these things should be brought up on parrot-dev
16:46 wknight8111 we can do that
16:47 lucian NotFound: might i suggest winxed releases? then there would be no problem at all with having the same name
16:48 NotFound lucian: Adding release numbers to the load_language name?
16:48 mj41 joined #parrot
16:48 lucian NotFound: no, i mean doing winxed releases, with version numbers
16:49 lucian then parrot can bundle a specific version
16:50 NotFound I don't see what problem are you trying to solve. Including two generated pir files is as specific as anyone may want.
16:52 lucian NotFound: if there are explicit versions, then it's reasonable to expect users to have several side-by-side. and packagers would like it too
16:54 NotFound lucian: I think you are thinking about perl, python, ruby or something like that. Winxed is too young to have such problems.
16:54 lucian NotFound: sure, it's your call
16:56 NotFound Of course, I'll start version numbering soon, but probably not before migrating to git.
16:56 lucian left #parrot
16:56 lucian joined #parrot
16:59 dalek winxed: r1026 | NotFound++ | trunk/winxedst1.winxed:
16:59 dalek winxed: add a "THIS IS A GENERATED FILE" comment to generated code header
17:00 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=1026
17:00 dalek winxed: r1027 | NotFound++ | trunk/ (3 files):
17:00 dalek winxed: updated installable files
17:00 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=1027
17:01 fperrad left #parrot
17:02 wknight8111 Various files in C#-land are marked with "This file was generated by a tool"
17:02 wknight8111 I think to myself, "does that developer know he's being called a 'tool'?"
17:02 cotto_work wknight8111: how ambiguous
17:02 wknight8111 I didn't think Ryan Seacrest wrote software
17:04 dalek parrot/with_winxed: d646a65 | NotFound++ | ext/winxed/ (2 files):
17:04 dalek parrot/with_winxed: update winxed snapshot to have have the "GENERATED FILE" mark
17:04 dalek parrot/with_winxed: review: https://github.com/parrot/parrot/commit/d646a652f2
17:07 benabik What does MANIFEST.generated do?
17:11 NotFound benabik: is used by some tools during make install to know some files that must be installed and where, for example.
17:11 lucian wknight8111: i'm looking into testing. is there an example of how to use Rosella.Test ?
17:12 dodathome joined #parrot
17:12 dalek parrot: 7bd5b4f | dukeleto++ | / (3 files):
17:12 dalek parrot: Remove last remnants of Parrot_Language and fix docs for Parrot_new_string
17:13 dalek parrot: review: https://github.com/parrot/parrot/commit/7bd5b4f0a7
17:13 wknight8111 lucian: Rosella's test suite itself is written with it
17:13 benabik NotFound: So that's a list of files generated during build that need to be installed?
17:13 wknight8111 t/harness is the harness, everything else *.t is a test
17:13 wknight8111 mock objects, if you're interested, are worked out most heavily in t/mockobject/Mocking*.t
17:14 wknight8111 lucian: basically, include "rosella/test.pbc" in the file, create a class. Every method in that class will be a test
17:14 wknight8111 Call Rosella::Test::test(<class>) to run it
17:14 lucian wknight8111: ok, i'll have a look. .t files seemed written in nqp, which is why i was confused, thought rosella used something else for testing itself
17:14 NotFound benabik: it's a list of generated files, the installation is one of its functions, but probably have more, I'm not sure.
17:14 dukeleto benabik: MANIFEST.generated is a list of installable files that are generated
17:15 wknight8111 lucian: Rosella's tests are all NQP, mostly to prove that Rosella is language neutral
17:15 wknight8111 Rosella is written in Winxed
17:15 lucian wknight8111: ah, i see
17:15 wknight8111 I haven't taken the time to write out any tests in winxed yet (I should do that soon)
17:16 wknight8111 lucian: When the test method is executed you have attributes "self.status" for controlling the test result (default result is pass), and "self.assert" for running assertions
17:16 lucian thanks. i finally have my object system in a state where it's decoupled enough to do some tests on it
17:16 lucian well, more tests
17:16 wknight8111 in NQP those are called "$!status" and "$!assert"
17:16 lucian right
17:16 NotFound If someone want a challenging task: figure how to write tests for WinxedGtk
17:18 ligne_work is now known as ligne_pub
17:19 dukeleto NotFound: don't tempt me
17:20 lucian NotFound: should be possible with at-spi
17:20 * dukeleto is already having enough trouble concentrating on doing what he is already supposed to do
17:24 dukeleto too many things!
17:24 cotto_work +1
17:24 cotto_work also, too many good things
17:28 benabik Is there a good simple way to mark files as generated for codetest to ignore?  It looks like trailing_space has a custom list, but nothing similar for pir_code_coda or copyright.
17:41 lucian what's the recommended way of including/importing things in winxed?
17:44 NotFound lucian: including for a now is limited to .pasm files with integer constants.
17:44 wknight8111 lucian: depends what the things are.
17:44 wknight8111 lucian: what I use is the load_bytecode() built-in for most cases
17:44 lucian winxed classes
17:44 lucian NotFound: right, so not useful for this
17:45 wknight8111 winxed doesn't have text transclusion, so if you want a separate file you need to compile them separately and merge
17:45 wknight8111 or cat the source files together
17:45 NotFound lucian: the way I'm using right now is: $load 'classfile.pbc'; and the declaring the class used.
17:45 lucian hmm. what about 'using' i haven't figured out what it does for sure
17:47 NotFound Like this:
17:47 NotFound $load 'WinxedGtk.pbc';
17:47 NotFound namespace WinxedGtk
17:47 NotFound {
17:47 NotFound class Window;
17:47 NotFound class MessageDialog;
17:47 NotFound class ScrolledWindow;
17:47 NotFound class TextView;
17:47 NotFound }
17:47 lucian oh, declare them again? i see
17:48 fperrad joined #parrot
17:49 lucian wknight8111: and if you don't mind, what's the recommended way of using rosella? after load_bytecode, the compiler complains about 'Rosella' being undefined
17:49 NotFound You must put the declarations in the same name as in the file that defines them.
17:49 NotFound namespace
17:49 wknight8111 lucian: winxed spits out those warnings if classes aren't found at compile time
17:50 wknight8111 lucian: run winxed with the --nowarn arg
17:50 wknight8111 NotFound: Actually, can we make that warning message go away?
17:50 lucian it's not a warning, it's a syntax error
17:50 wknight8111 NotFound: most times when we load libraries the types aren't found at runtime, so I get that warning a lot
17:50 wknight8111 lucian: nopaste your code?
17:51 NotFound wknight8111: I know is annoying sometimes, but helps a lot other times.
17:51 wknight8111 NotFound: All my build scripts use "--nowarn" by default, so it doesn't help me at all
17:52 NotFound wknight8111: the best way to avoid it is predeclaring the classes used. Alternatively, use the new [ ... ] variant.
17:53 wknight8111 NotFound: oh, I didn't know winxed supported pre-declarations. Does the new [ ... ] syntax allow constructors?
17:53 lucian https://gist.github.com/1002871
17:53 dalek parrot-gmp: 8e72fad | bubaflub++ | examples/basic.winxed:
17:53 dalek parrot-gmp: silence warning about not finding GMP.Integer
17:53 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/8e72fad8cc
17:54 NotFound wknight8111: plobsing asked for it some time ago, but is being more useful since recent scope rules changes.
17:55 wknight8111 lucian: "using Rosella.Test.test" on line 9, and "test(class TestBla)" on line 11
17:56 NotFound wknight8111: Uh, no, new [ ] syntax is intended for pir classes and with arguments it uses init_pmc
17:56 wknight8111 NotFound: well, that doesn't help me much
17:56 wknight8111 Like I said, I just use --nowarn for now. No big deal
17:57 NotFound Predeclaration is the way to go, until we have a way to do the same with header files or something.
17:57 lucian wknight8111: ah, got it. thanks!
17:57 wknight8111 lucian: Awesome. Just about every part of that library is pluggable or subclassable, so if you want any kind of new behavior at all let me know and I'll show you how
17:58 lucian cool
17:59 lucian a winxed tutorial/reference would be very useful in reducing confusion *wink wink* *nudge nudge*
17:59 wknight8111 I'll start working on one soon :)
17:59 lucian :D
17:59 lucian i guess i could help with an FAQ. i've had questions, and got answers one way or another
18:00 * lucian goes for a run
18:02 wknight8111 hmm, a run sounds good
18:02 wknight8111 but I have to sit here in my chair for another 2.5 hours
18:03 wknight8111 writing a winxed tutorial would expose how little I actually know about winxed :)
18:03 benabik wknight8111: No better way to learn than to try to teach someone else.
18:03 wknight8111 benabik: have you ever heard of Wikibooks?
18:03 benabik wknight8111: Yes indeedy
18:04 wknight8111 benabik: I have about 50k edits on wikibooks back in college. I had a graph at one point, the more contributions I was making to that site, the higher my GPA was
18:04 wknight8111 for that exact reason. Trying to teach something to another person makes you learn it better
18:08 benabik wknight8111: Sounds awesome.  I'd try that if I had any spare time during school.  :-D
18:09 wknight8111 it's not for everybody. It was a huge drain on my time.
18:09 wknight8111 I'm sure if you spend that much time just studying, you'd see plenty of benefits too
18:30 davidfetter joined #parrot
18:30 bluescreen left #parrot
18:30 davidfetter left #parrot
18:45 mj41 left #parrot
18:49 plobsing joined #parrot
18:50 plobsing ~~
18:51 wknight8111 plobsing!
18:51 wknight8111 I was starting to worried you had disappeared
18:52 plobsing is now known as invizibl_plobsing
18:52 invizibl_plobsing now you see me, now you don't
18:53 wknight8111 plobsing: benabik needs to add some NCI thunks for his GSoC project. I figure this is a poster-child example for how libraries can write their own thunk libraries
18:53 wknight8111 but none of us were sure how to do that
18:53 invizibl_plobsing is now known as plobsing
18:54 benabik wknight8111: Wrong GSoC student.  I think it was bubaflub
18:54 bubaflub benabik: yes indded.
18:54 wknight8111 damnit. You kids nowadays with your "B" names
18:54 bubaflub wknight8111: it's hip new thing
18:55 wknight8111 well, whoever said what, we something something something with NCI
18:55 plobsing you mean a static thunk dynext?
18:56 bubaflub plobsing: without libffi installed, when i try to do an NCI call with the signature vppi it complains that there is no thunk for it
18:56 plobsing bubaflub: yes. this is expected. there is a mechanism for creating additional native libraries of static thunks that can be loaded by parrot at runtime
18:57 plobsing ./parrot_nci_thunk_gen --help # provides the list of options
18:57 plobsing you likely want to use the --dynext option
18:58 plobsing OpenGL uses a dynext-thunk library
18:58 bubaflub plobsing: ok, i'll look at those.  thanks.
19:10 bubaflub plobsing: two questions - i've already got a .nci file for ncidef2pir.pl; can i use the same file for parrot_nci_thunk_gen?
19:11 plobsing bubaflub: unfortunately no. the formats are not equivalent.
19:12 ShaneC joined #parrot
19:12 bubaflub plobsing: no biggie.  second question, and you'll have to pardon my ignorance, but once i get this C file out of the thunk generator what do i do with it?
19:12 ShaneC left #parrot
19:12 wknight8111 plobsing: okay, so "./parrot_nci_thunk_gen --dynext foo.nci"?
19:13 wknight8111 and then load that into the code with loadlib?
19:13 wknight8111 (I want to add this to distutils, so I want to make sure I have the process straight)
19:13 plobsing bubaflub: you compile it into a shared library which parrot can load (using parrot_config to work out the platform-specific way to do that)
19:14 bubaflub plobsing: ok, that makes sense.
19:15 plobsing wknight8111: not quite. "./parrot_nci_thunk_gen -o foo.c --dynext <foo.nci" (untested)
19:16 wknight8111 okay. That builds the .c file, and I use parrot_config to magic that into a dynext?
19:16 wknight8111 that's reasonable
19:17 wknight8111 and the key step still being to load it into Parrot with loadlib_p_s?
19:18 plobsing bubaflub: my advice for an NCI-heavy project such as your GSoC would be to use the dynamic (libffi) framebuilder for exploratory work and then develop the static signatures in one go (possibly automatically by tracing the dynamic framebuilder)
19:18 plobsing wknight8111: yes loadlib should work (and call the appropriate magic loader function)
19:19 wknight8111 okay, awesome
19:21 jsut joined #parrot
19:23 mj41 joined #parrot
19:23 hercynium left #parrot
19:24 contingencyplan joined #parrot
19:26 jsut_ left #parrot
19:35 bubaflub plobsing: ok, yeah.  i can use libffi for now and keep pressing forward but later i'd like it to not be a dependency for the project.
19:35 bubaflub plobsing: at that point i'll probably harass you again for more NCI knowledge.
19:36 mikehh All tests PASS (pre/post-config, make corevm/make coretest, make world/make test, fulltest) at 3_4_0-143-g7bd5b4f
19:36 mikehh Kubuntu 11.04 amd64 (g++ --optimize)
19:36 cotto_work bubaflub: you can use it without it being a hard dependency.  You'll just need to make sure that the right thunks get generated once the project is complete-ish.
19:37 bubaflub cotto_work: o rly?  do tell...
19:38 cotto_work libffi is the internal thingy that generates thunks.  From a user perspective, there's no difference between a libffi-enabled parrot and non-libffi parrot that has all the necessary nci thunks built in.
19:39 cotto_work using libffi will make development easier without limiting your future possibilities.
19:39 bubaflub cotto_work: so you're saying i could use libffi to make my thunks and just commit em to the repository so end users don't have to have libffi installed?
19:40 cotto_work bubaflub: not quite.  I'm saying you can use libffi to automatically generate the necessary thunks at runtime so you don't have to spend a bunch of time manually figuring out the right thunks.
19:41 bubaflub cotto_work: ah, ok.  that's what i'm doing now.
19:41 * dukeleto is going to get bubaflub++ a tshirt that says "Thunk master"
19:41 cotto_work Once you're ready to cut a release, you trace out which thunks libffi generates and make sure that static thunks get generated for those signatures.
19:41 bubaflub cotto_work: ok, that sounds great.
19:41 cotto_work ilbffi is nice like that
19:42 bubaflub cotto_work: any tips on how to do the tracing?
19:43 cotto_work bubaflub: probably just hack the nci code to spit any signatures it generates to a file
19:43 bubaflub cotto_work: sounds good.
19:44 cotto_work I don't know which function you'd want to hack off the top of my head, but it shouldn't be too hard to find.  If it is, that's what mentors and #parrot are for. ;)
19:45 wknight8111 src/nci/libffi.c, I think
19:45 wknight8111 or something that looks like that
19:48 lucian left #parrot
19:49 lucian joined #parrot
19:51 bubaflub thanks all; i'll take a look in those places
19:52 wknight8111 bubaflub++
19:54 bubaflub wknight8111: lemme know if i can help with Winxed docs, distutils thunk generation, or more NCI docs
19:55 wknight8111 bubaflub: thanks for the offer! I'm going to start throwing together some prototypes soonish, and we'll get more eyes on it to correct my mistakes
19:58 wknight8111 I'll write the first draft of the winxed docs in lolspeak, just to get my thoughts down on paper
19:58 wknight8111 after that we can revise it into something less stupid
19:59 wknight8111 my brain runs on lol natively
20:03 wknight8111 msg NotFound if I write up some docs for Winxed, would you like to host them in the winxed repo?
20:03 aloha OK. I'll deliver the message.
20:03 bubaflub wknight8111: sounds good.  i've been copying/studying Plobsing++'s ZeroMQ on how to do some Winxed stuff.
20:03 wknight8111 bubaflub: yes, that's a good source for info
20:06 NotFound wknight8111: I'm working on a way of providing doc, probably out of the main repo.
20:06 bubaflub dukeleto: i've added two milestones to the github issues to track stuff that is due at midterm and stuff that is due at the end of the program.
20:06 wknight8111 NotFound: okay. Whereever they go, I'm willing to do a lot of work writing them
20:07 NotFound wknight8111: What format are you using to werite it?
20:07 wknight8111 I may just include copes on the rosella webpage too
20:07 wknight8111 NotFound: whatever format you want
20:07 wknight8111 (please say "lolcode"!!)
20:07 wknight8111 :)
20:08 bubaflub CAN HAZ DOCS?
20:09 NotFound I've a half-working thing in html/css/javascript, I was thinking about using that.
20:10 NotFound But I think I already have too much projects, it will be better a more traditional approach.
20:11 wknight8111 NotFound: I'll start writing up the docs in Markdown, since that's what I'm most comfortable with. Markdown translates to HTML so we can get that easily if we want
20:12 NotFound wknight8111: I don't know markdown, but if you are comfortable with it, fine.
20:13 wknight8111 NotFound: it's basically plain-text, although links are a little funny
20:13 wknight8111 I promise I won't do anything that's unreadable, and I'll translate to any format you want
20:14 NotFound wknight8111: a github repo under parrot may be the appropiate place.
20:14 wknight8111 ok
20:19 bubaflub especially if winxed is going to be snapshotted into the parrot repo
20:24 wknight8111 left #parrot
20:32 fperrad left #parrot
20:35 mj41 left #parrot
20:37 hudnix left #parrot
20:46 bubaflub NotFound: does winxed support any inline documentation besides line comments?
20:48 NotFound bubaflub: that depends on what you mean by "support". For example, you can insert pod if you put it inside comments.
20:49 bubaflub NotFound: would the generated PIR file then have the pod?
20:49 NotFound bubaflub: no
20:49 bubaflub NotFound: ok.  hmmmm.  i'm not sure what i should comment on since i'll be including both the .winxed and the resulting .pir
20:52 bubaflub NotFound: how should i include pod in commments?  something like # =head1 ?
20:52 hercynium_ joined #parrot
20:52 NotFound bubaflub: yoi can put in in C-style comments
20:53 hercynium_ left #parrot
20:54 bubaflub NotFound: great, thanks
20:54 NotFound I think pod parsers will not recognize the = if not at the start of line.
20:55 bubaflub NotFound: you're correct.  thanks again.  i'll probably just put POD in the .winxed as the .pir is only there to be compiled to .pbc
20:57 davidfetter joined #parrot
20:59 NotFound bubaflub: yes, that's the idea, using pir is just a convenience.
20:59 bubaflub NotFound: i gotta say i'm liking Winxed more and more everyday.  makes OO stuff stupidly simple.
21:00 bubaflub left #parrot
21:00 NotFound bubaflub: thanks, that is a design goal.
21:04 dafrito left #parrot
21:05 lucian left #parrot
21:06 bluescreen joined #parrot
21:12 lucian joined #parrot
21:25 dodathome left #parrot
21:28 bluescreen left #parrot
21:29 rohit_nsit08 joined #parrot
21:34 davidfetter left #parrot
21:43 jsut_ joined #parrot
21:46 Psyche^ joined #parrot
21:48 jsut left #parrot
21:51 Patterner left #parrot
21:51 Psyche^ is now known as Patterner
22:03 alester left #parrot
22:28 bubaflub joined #parrot
22:42 soh_cah_toa joined #parrot
22:43 davidfetter joined #parrot
22:47 dmalcolm left #parrot
22:58 lucian noob question: how do i generate .pbc? parrot -c doesn't do that
22:58 sorear parrot -o
23:02 lucian sorear: ah, thanks
23:08 cotto_work jnthn__: ping
23:12 jnthn__ cotto_work: pong
23:14 cotto_work jnthn__: I have a patch for Parrot for the invokable bug you mentioned that seems to work.  How much of spectest_regression do you expect nom to pass?
23:14 cotto_work jnthn__: I'm also trying the patch with Parrot master, but I suspect it'll break something.  3.4.0 has been working fine.
23:16 jnthn__ cotto_work: Oh, it won't pass any.
23:16 jnthn__ cotto_work: nom is too early for that.
23:17 jnthn__ cotto_work: You could try it against Rakudo master.
23:17 cotto_work jnthn__: phew
23:17 jnthn__ As it shouldn't cause any regresison there.
23:18 cotto_work I'll give the patch some more testing and if everything looks good, put it in master.
23:19 cotto_work jnthn__: just to verify, I should build nqp master and use that on Rakudo's nom branch, where I should run the example you gave me, right?
23:20 jnthn__ cotto_work: Yes
23:20 jnthn__ cotto_work: You can do in nom perl Configure.pl --gen-parrot --gen-nqp
23:20 hudnix joined #parrot
23:20 jnthn__ cotto_work: And it should build all that's needed.
23:23 cotto_work jnthn__: ok.  I was using --gen* to get an initial known-good configuration but then switching to installed versions so Parrot's easier to fiddle with.
23:24 cotto_work looks like it works
23:25 jnthn__ yay
23:25 jnthn__ cotto_work++
23:25 theory left #parrot
23:28 rohit_nsit08 left #parrot
23:32 dalek winxed: r1028 | NotFound++ | trunk/winxedst0.cpp:
23:32 dalek winxed: fix ArrayExpr items emision in stage 0
23:32 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=1028
23:43 dalek winxed: r1029 | NotFound++ | trunk/t/basic/02arrayexpr.t:
23:43 dalek winxed: basic tests for array expresions
23:43 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=1029
23:46 tty234 joined #parrot

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

Parrot | source cross referenced