|
Parrot 2.5.0 release time is on 15th at 12:00 UTC | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GSOC Students: trac.parrot.org/parrot/wiki/GSoCersStartHere | Priorities: fix io_ops mess in corevm/coretest, review and update documentation before release Set by moderator on 9 June 2010. |
|||
| ash_ | gist.github.com/ea759b72f3ce3be7f724 line 95 is the bad one i think, or i am just grasping at straws here | 00:14 | |
| found it, i referenced something wrong | 00:44 | ||
|
00:55
plobsing joined
|
|||
| mikehh | ash_: any reason you are using for example: i += 1; rather than i++; | 00:56 | |
| ash_ | not really... | 00:57 | |
| ++ gets confusing if you use it in some places, so i kinda avoid it altogether, but i don't mind putting in ++; | 00:58 | ||
|
00:59
abqar joined
|
|||
| mikehh | ash_: I also think the if .. switch .. else if .. switch .. etc in parse_identifier is far to complex and you could easily get lost there | 01:03 | |
| ash_ | yeah, i need to find some way of simplifying that table | ||
| if you have any suggestions let me know, they are subtly different, which is the annoying part | |||
| mikehh | ash_: I'll have a think about it in a few hours - need sleep now | 01:05 | |
| ash_ | no worries, i'll keep thinking about it too | ||
| plobsing | ash_: hi! | 01:17 | |
| ash_ | hi | ||
| ash_ i wonder if i could get parrot to be somewhat integrated into xcode... it might help with debugging | 01:18 | ||
| my commandline fu is weak | |||
| plobsing: i have my signature parser almost completely integrated with the nci pmc | 01:19 | ||
| plobsing | I find parrot's low-level debugging facilities to be lacking in general, but that's not as important as making higher level concepts actually work. | ||
| ash_: I saw. I've downloaded your nopasted example to try and track the segfault you mentioned (logs++) | 01:20 | ||
| ash_ | and by almost it builds the correct ffi_cif object now, but it doesn't invoke them properly | ||
| i just updated it, it should work now, in theory, or if you git clone my repo, there is a folder called "throw_away" (i couldn't think of a better name, but i wanted to have my stuff in the repo), you can try building | 01:21 | ||
| i wasn't dereferencing enough on line 98 of the gist | 01:23 | ||
| plobsing | &*arg_types[arg_count] ?? | 01:24 | |
| ash_ | yea | 01:25 | |
| i didn't have the * in there | |||
| i needed it | |||
| plobsing | but (IRCC) & and * have the same precedence and are inverses. somethings fishy | 01:26 | |
| ash_ | i agree with mikehh++ though, i need to simplify parse identifier, the nested if's with switches seems complicated, but i can't think of a better way | ||
| either way, i am getting really close to having the current nci system build all of its calls dynamically, this means the core_thunks and extra_thunks are not needed anymore | 01:27 | ||
| arnsholt | I'm with plobsing, that statement looks odd | 01:28 | |
| plobsing | ash_: if you have a lot of types, it is going to probably be on that order in length, but I would move the ifs inside the case. The distinction between char and long is more important (IMHO) than the distinction between unsigned long and signed long. | 01:32 | |
| ash_ | yeah, that makes sense | 01:35 | |
| plobsing | so it looks like that's comming together nicely. Do you think you'll have a working demo by next week? | 01:42 | |
| ash_ | plobsing: did you hear that the llvm people have a new debugger for the llvm, which i know was one of the complaints of the unladen swallow people was that the debugging support for the llvm was not great | ||
| plobsing: by next week for sure, i'd like to wrap it up asap and start planning the llvm changes... | 01:43 | ||
| if i could just have one good break with the stuff thats keeping me up (mostly debugging the pmc, it's been hard up to this point since i haven't gotten it to run with gdb for whatever reason), i think i could get the basics finished. I still need to work on the config stuff but i'll worry about that once i get the functionality there | 01:44 | ||
| plobsing | debugging PMCs with gdb? yeah, I gave up trying to make that work. I tend to extract the vtable to another function and put the breakpoint on the extracted function. crude yet effective. | 01:45 | |
| ash_ | in gdb, can you print a STRING's contents? | 01:46 | |
| i just got it working (sorta) | |||
| plobsing | p *s | ||
| so long as it doesn't have embedded nulls, strstart (being a char *) will be assumed to be a string | |||
| ash_ | ah, i didn't think that would be in there | ||
| cool, thanks | |||
| having the gdb will make this a lot easier... | |||
| i was putting in printfs everywhere... | 01:47 | ||
| plobsing | AFAIK, gdb can eval arbitrary expressions in supported languages (including C) | ||
| ash_ | glad i am not doing that now | ||
| are strings null terminated? | 01:48 | ||
| plobsing | in parrot? not by documentation, but in practice, it seems so. | ||
| I think the allocator zeroes memory or something. | |||
| ash_ | I assume I should use parrot's malloc/calloc right? do those do anything special? or are they just wrappers | 01:53 | |
|
01:53
TiMBuS joined
|
|||
| plobsing | ash_: they are wrappers so that we can do special things if we so choose | 01:53 | |
| so yes, use them | 01:54 | ||
| ash_ | alright, i'll switch my mallocs and callocs over to those | ||
| plobsing | just a heads up before you write too much more code: the codingstd tests will throw a fit on your current code. IWBNI you followed parrot style a little more closely. | 01:56 | |
| ash_ | were are the style guide lines? | ||
| plobsing | pdd07_codingstd.pod | 01:57 | |
| purl | somebody said pdd07_codingstd.pod was just for parrot source code | ||
| plobsing | coding style is a lot easier to write than to fix up (unless you're an indent(1) wizard) | 01:58 | |
| ash_ | i'll read over them and start following them as best ican | 01:59 | |
| plobsing | you can register your C files in the appropriate place and then 'make codetest' will call you on anything that isn't kosher | 02:00 | |
| ash_ | k, do i have to add my files to the MANIFEST? | 02:02 | |
| plobsing | I can never remember. I'm currently tracing through the tests to see where they get their "big list of C files". | ||
| bacek_at_work | tools/dev/mk_manifest_and_skip.pl if you are on svn checkout | 02:07 | |
| plobsing | yes, I'm fairly sure C files get included in the list after adding to MANIFEST and reconfig | ||
| or what bacek++ said | 02:08 | ||
| ash_ | is there a parrot calloc? | 02:16 | |
| cotto | ash_, include/parrot/memory.h | ||
| look for "zeroed" | 02:17 | ||
| ash_ | mem_allocate_n_zeroed_typed ? | ||
| cotto | if you want more than one thing, yes | 02:18 | |
| ash_ | k, is the mem_gc_allocate_* functions the same but integrated into the gc? | 02:19 | |
| plobsing | I would also like to know that. they seem to be used interchangeably in places. | 02:20 | |
| cotto | bacek_at_work, I believe you have a question. ;) | ||
| plobsing | also why does zeroed imply interior pointers? | 02:22 | |
| cotto | msg khairul Don't forget to run make codingstd_test every now and then. | 02:25 | |
| purl | Message for khairul stored. | ||
|
02:27
theory joined
02:40
tetragon joined
|
|||
| bacek_at_work | Idea behind "mem_gc_*" functions that they are overridable in GC. | 02:49 | |
| "zeroed" because it's usually used for memory with pointer. | 02:50 | ||
| not mandatory requirements. | |||
| Anyway "_with_interior" imply that memory _can_ contains pointer. | 02:51 | ||
|
02:51
szabgabx_ joined
|
|||
| ash_ | so, if I am using an internal data structure (as in it never sees pir or anywhere outside of the pmc i am working in) i should use the _with_interior? | 02:52 | |
| bacek_at_work | ash_, if it contains pointers - yes | 03:02 | |
| ash_ | alright, they do contain pointers, so i'll have to make sure i don't have any leaky data structures | 03:03 | |
|
03:06
janus joined
|
|||
| bacek_at_work | ash_, current GC is precise. So you have to implement custom VTABLE mark. | 03:09 | |
| dalek | rrot: r47523 | tcurtis++ | branches/gsoc_past_optimization (4 files): Fix a PAST::Pattern.transform bug and add an example of constant folding with PAST::Pattern. |
03:10 | |
| ash_ | thanks, i'll keep that in mind and make the vtable mark appropriate | 03:14 | |
|
03:26
LoganLK joined
03:39
petdance joined
03:40
snarkyboojum joined
04:03
tetragon joined
|
|||
| cotto | clock? | 05:00 | |
| purl | cotto: LAX: Wed 10:00pm PDT / CHI: Thu 12:00am CDT / NYC: Thu 1:00am EDT / LON: Thu 6:00am BST / BER: Thu 7:00am CEST / IND: Thu 10:30am IST / TOK: Thu 2:00pm JST / SYD: Thu 3:00pm EST / | 05:01 | |
|
05:02
tetragon_ joined
|
|||
| sorear | seen pmichaud | 05:13 | |
| purl | pmichaud was last seen on #parrot 8 hours, 31 minutes and 49 seconds ago, saying: I don't. :-) | ||
|
05:38
fperrad joined
05:41
fperrad_ joined
05:55
aukjan joined
06:02
uniejo joined
|
|||
| dalek | tracwiki: v1 | cotto++ | LoritoSecurity | 06:15 | |
| tracwiki: initial version, no actual contents | |||
| tracwiki: trac.parrot.org/parrot/wiki/LoritoS...ction=diff | |||
| tracwiki: v1 | cotto++ | LoritoConcurrency | 06:32 | ||
| tracwiki: initial version, no contents yet | |||
| tracwiki: trac.parrot.org/parrot/wiki/LoritoC...ction=diff | |||
| tracwiki: v17 | cotto++ | LoritoRoadmap | |||
| tracwiki: trac.parrot.org/parrot/wiki/LoritoR...ction=diff | |||
| dukeleto | seems like Parrot_compreg has no test coverage | 06:51 | |
| why is it that I can only read the source of IMMC after a few drinks? | 06:57 | ||
| IMCC, even | |||
| moritz | because it doesn't hurt so much if you can't read straight? | 07:02 | |
|
07:15
baest joined
|
|||
| dukeleto | moritz: yes, you are correct | 07:16 | |
| the 3rd arg of Parrot_compreg is Parrot_compiler_func_t, but that is not in the embed/extend interface | 07:19 | ||
|
07:25
he joined
|
|||
| cotto | classy | 07:32 | |
| dukeleto | i would like to know how to fix things like this | 07:38 | |
| dukeleto falls down in yak-filled quicksand | 07:39 | ||
| cotto | but you can build a bridge over the yak pit so other people won't have to fall into it! | 07:45 | |
| Tene | build it out of yak hair! | 07:48 | |
| cotto | there's plenty | 07:50 | |
| and duct tape too | |||
| use what you've got | |||
| dukeleto | there sure is a lot of duct tape in imcc | ||
| bacek | aloha, humans | ||
| cotto | aloha, bacek | 07:51 | |
| bacek | aloha, cotto | ||
| dukeleto | bacek: hello | ||
| it seems that Parrot_compile_string can only handle PIR or PASM and errors out on any other language | 07:52 | ||
| i want to compile a rakudo (perl6) string from the embed API | |||
| bacek | dukeleto, do it via pir. | ||
| dukeleto | bacek: yeah, that was what I was thinking | 07:53 | |
| bacek: it is not possible from PIR? | |||
| bacek: err, i mean C | 07:54 | ||
| bacek | dukeleto, no afaik | ||
| dukeleto | bacek: i see | ||
| bacek: should I make a TT for that, or does one exist? | 07:55 | ||
| bacek | dukeleto, I don't think that we have such ticket. | ||
| OTOH, I don't think we should able to do it from C | 07:56 | ||
| dukeleto | bacek: interesting. why so? | 08:03 | |
| bacek | it's 5 lines pir sub to invoke any other compiler. | ||
| And we discourage using of C (in Lorito world) | 08:04 | ||
| And list of available compilers is dynamic. | |||
| dukeleto | bacek: i am talking about from the embedding API | 08:07 | |
| bacek: i am hacking on PL/Perl6 on top of PL/Parrot (Parrot in Postgres) | 08:08 | ||
| cotto | bacek, you'll like this | ||
| bacek | dukeleto, from embedding api you can call PIR sub which will invoke any compiler | ||
| cotto | assuming make test passes | ||
| bacek | cotto, like what? | 08:09 | |
| dukeleto | bacek: yes, but i have to go from C->PIR->Perl 6->C instead of C->Perl 6->C | ||
| cotto | using proper multis in opsc | ||
| bacek | dukeleto, no. You go from C->parrot->C | ||
| cotto, yay! It was one of driving ideas for me to implement multis in nqp :) | 08:10 | ||
| dukeleto | bacek: yeah, it is about the same | ||
| cotto | It was really straightforward. | ||
| bacek | dukeleto, so, why to bother with extending embed api? | ||
| dukeleto | bacek: what do you mean? | 08:11 | |
| bacek | Time to go and sing anthem. | ||
| dukeleto, functionality to invoke any compiler already available from embed API. | |||
| All compilers are in PIR (apart IMCC, but I'm working on it) | 08:12 | ||
| So, writing 1 small pir sud doesn't add too much overhead. | |||
| afk # ozzying | 08:13 | ||
| dukeleto | bacek: yeah, you are write | ||
| right, even | |||
| dukeleto needs to pass out | |||
| cotto | bacek, two things for when you get back: | 08:15 | |
| does PIRATE have something I could hack on without stepping on your toes? | |||
| Is there anything else in opsc that you know would be better if rewritten to use multis? | 08:16 | ||
| dalek | rrot: r47524 | cotto++ | trunk/compilers/opsc/src/Ops/Op.pm: [opsc] use proper multis in Ops::Op.process_body_chunk |
08:22 | |
|
08:24
clinton joined
|
|||
| dukeleto | i just got imcc to core dump postgres. i should *really* go to sleep. | 08:29 | |
| cotto | wouldn't hurt me either | 08:30 | |
| dalek | kudo: f0e5fe6 | (Patrick Abi Salloum)++ | src/core/MAIN.pm: Support for multi sub main |
08:34 | |
| kudo: 811cd66 | (Patrick Abi Salloum)++ | src/core/MAIN.pm: Support automatic usage |
|||
| kudo: 6e3624e | (Patrick Abi Salloum)++ | src/core/MAIN.pm: Better usage message when using -e |
|||
| kudo: 14d1542 | (Patrick Abi Salloum)++ | src/core/MAIN.pm: USAGE-one-sub and process-cmd-args don't polute the global namespace anymore, |
|||
| kudo: 037a9db | (Patrick Abi Salloum)++ | src/core/MAIN.pm: [minor] added comment removed empty line |
|||
| kudo: 2c1c3d7 | moritz++ | src/core/MAIN.pm: Merge remote branch 'patrickas/master' - support for multi sub MAIN - automatic USAGE message (customizable) - remove some functions from user namespace |
|||
|
08:43
mikehh joined
08:51
bacek_mobile joined
|
|||
| bacek_mobile | cotto, pirate is blocked by nqp bug with protoregex... | 08:53 | |
| cotto | no workaround? | 08:54 | |
| bacek_mobile | nope. It just failed to parse pir with some hashseeds | 08:55 | |
| cotto | yuck | ||
| dalek | rrot: r47525 | cotto++ | trunk/compilers/opsc/src/Ops/Op.pm: [opsc] simplify some multi variants now that they're separate |
||
| cotto | how to repro? | ||
| I could take a shot at making it into a minimal test case | |||
| bacek_mobile | I did tell about this to pm. Try to find it in irclogs. "bacek nqp hashseed" or something | 08:57 | |
| cotto | wfm | ||
| I have a grep and I know how to use it. | 08:58 | ||
| bacek_mobile | sigh. nopaste already expired... | 09:00 | |
| cotto | found it | ||
| webcache.googleusercontent.com/sear...t.ch/20620 | 09:01 | ||
| yay for google's cache | |||
| That looks like a fun one. | 09:02 | ||
| bacek_mobile | I'll try to reproduce it later tonight | ||
| I hope citizenship ceremony woldn't take long | |||
| yeah, this one. | 09:03 | ||
| purl | yeah, this one is great... dvs1.dvlabs.com/adcritic/spoof-powerlung.mov | ||
| bacek_mobile | you can put somethink like <?DEBUG> to switch on debugging. | 09:04 | |
| cotto | I can reproduce it fine | ||
| bacek_mobile | into grammar rules | ||
| cotto | sounds good | 09:05 | |
| is that an nqp builtin? | 09:06 | ||
| that's really handy | |||
| either way, happy citizenshipping. it's way too late for my debug-fu to be worth anything. | 09:08 | ||
| 'night | |||
|
09:18
bacek_mobile joined
|
|||
| he | Hm, short question: I'm trying to convert a packaged parrot to using gmp. Configure.pl says gmp is installed, and it's used during linking. t/op/arithmetics.t says "No integer overflow for 32-bit INTVALs without GMP installed", however. It looks in interp[.IGLOBALS_CONFIG_HASH] -- where do I find that one to dig into what's going on? | 09:20 | |
| moritz | he: maybe parrot_config --dump contains some output of interest for you? | 09:22 | |
| he | ./parrot_config --dump | egrep -i gmp gives me (among others) "gmp => 'define'" | 09:23 | |
| moritz | libs => '-ldl -lm -lpthread -lcrypt -lrt -lgmp -lreadline ' | ||
| gmp => 'define' | |||
| HAS_GMP => '1' | |||
| he | HAS_GMP => '1' as well, yes. | ||
| moritz | plus a long line for configuration_steps | ||
| he | my libs are libs => '-lm -lcrypt -lpthread -lgmp -lintl' | 09:24 | |
| moritz | t/op/arithmetics.t doesn't mention integer overflow here | 09:25 | |
| he | This is with parrot 2.4.0 | 09:26 | |
|
10:06
TiMBuS joined
10:30
bkuhn joined
10:42
aukjan joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34298), fulltest) at r47525 - Ubuntu 10.04 i386 (g++) | 11:01 | |
| t/op/exit.t - TODO passed: 6 in testf | |||
| note that the TODO pass does not happen on amd64 | |||
|
11:23
lucian joined
11:26
Coke joined
11:35
whiteknight joined
|
|||
| dalek | rrot: r47526 | NotFound++ | trunk/t/pmc/bytebuffer.t: avoid depending on icu to compile bytebuffer test file and skip some of its tests when no icu, TT #1677 |
11:38 | |
| whiteknight | good morning, #parrot | 11:40 | |
| bacek | aloha, humans | 11:47 | |
| whiteknight, aloha | |||
| dalek | TT #1677 closed by NotFound++: t/pmc/bytebuffer.t: Fails when ICU is not present | 11:50 | |
| TT #1677: trac.parrot.org/parrot/ticket/1677 | |||
|
11:55
khairul joined
|
|||
| dalek | kudo: b461fd2 | (Solomon Foster)++ | src/c (4 files): Move Rat.Str to Real (with tweaks), delete Rat.Int tweak other Real.Str methods |
11:55 | |
| whiteknight | good morning, bacek. How are you today? | 12:02 | |
| bacek | whiteknight, I'm an ozzy today. Just got my citizenship couple of hours ago :) | ||
| mikehh | bacek: Congratulations - I think :-} | 12:04 | |
| bacek | mikehh, thank :) | 12:05 | |
| whiteknight | bacek: awesome | 12:06 | |
| mikehh | rakudo (2c1c3d7) builds on parrot r47525 - make test PASS, spectest_smolder -> #34302 (pugs r31183) PASS - Ubuntu 10.04 i386 (g++) | 12:07 | |
| 19 TODO PASSes in 4 files | |||
| got the same results on amd64 (e3153ad) at r47458 | 12:08 | ||
| dalek | rrot: r47527 | NotFound++ | trunk/t/pmc/bytebuffer.t: add simpler ByteBuffer get_string tests that doesn't require ICU |
12:11 | |
| rrot: r47528 | NotFound++ | trunk/t/pmc/bytebuffer.t: ByteBuffer tests for invalid charset/encoding |
12:28 | ||
| rrot-data-structures: 11a9461 | Whiteknight++ | README.pod: Fix stupid typo |
12:32 | ||
| rrot-data-structures: d06ea78 | Whiteknight++ | README.pod: Remove unnecessary stars |
12:38 | ||
| rrot: r47529 | gerd++ | trunk/NEWS: Add NEWS for 2.5.0 from the last #parrotsketch meeting and something about Lorito |
12:44 | ||
| rrot: r47530 | khairul++ | branches/gsoc_instrument (10 files): Made the runtime library a single pbc + event notification |
|||
| rrot: r47531 | NotFound++ | trunk/t/pmc/bytebuffer.t: ByteBuffer test with content invalid for the charset/encoding asked |
|||
| rrot: r47532 | NotFound++ | trunk/NEWS: delete Winxed-only news from NEWS |
13:01 | ||
| rrot: r47533 | NotFound++ | trunk/NEWS: add ByteBuffer to NEWS |
|||
|
13:02
ambs joined
|
|||
| dalek | kudo: 16d9cb0 | (Solomon Foster)++ | src/core/ (3 files): Add Numeric.Real, Numeric.Int, Numeric.Rat, Numeric.Num, and Real.Real. Change |
13:13 | |
|
13:26
atrodo joined
|
|||
| dalek | rrot: r47534 | NotFound++ | trunk (2 files): fix RIA thaw and add a test for it |
13:50 | |
|
13:56
patspam joined
|
|||
| Coke | msg particle I'm going to make Task::Parrot, methinks. | 14:35 | |
| purl | Message for particle stored. | ||
| particle | ? | ||
| Coke | Task is the new Bundle | 14:36 | |
| search.cpan.org/~adamk/Task-1.04/lib/Task.pm | |||
| particle | ah, yes, good idea | ||
|
14:36
bubaflub joined
|
|||
| ambs | Task? | 14:40 | |
| purl | i think Task is like a Bundle, but listing prereqs in Makefile.PL/Build.PL instead of inside a Pod section or at search.cpan.org/dist/Task/ | ||
| ambs | purl++ | ||
|
14:40
tcurtis joined
14:43
gbacon joined
14:47
lucian_ joined
14:50
estrabd left
14:59
ash_ joined
15:15
Essobi joined
|
|||
| atrodo | So let's say I'm in C with embedded parrot, I have an Eval PMC, and I want to pass it data when I invoke it. What's the best way to do that/is that possible? | 15:18 | |
| Coke | ISTR there's a Parrot_invoke* variant for you. | 15:23 | |
| Parrot_ext_call ? | |||
| purl | i think Parrot_ext_call is the same as Parrot_pcc_invoke_sub_from_c_args, but is the public interface (and so the one guaranteed to stick around) | ||
| Coke | yup, that looks promising. | 15:24 | |
| atrodo | Yes, I can call the eval with that, but I'm having issues passing params in unless the Eval is a sub | 15:25 | |
| Coke | Eval isa Sub - should work. | 15:27 | |
| if not, if you can get us a failing test case, that'd help. | |||
| atrodo | Hmmm, I think a code chunk may help explain, hold on | ||
| dalek | rrot: r47535 | NotFound++ | trunk/src/pmc/fixedintegerarray.pmc: make FIA sort method half-usable |
15:28 | |
| atrodo | gist.github.com/433158 #Sorry if it's a little harder to read since it's in pascal and not c | 15:34 | |
| Coke | what does create_string do? | 15:35 | |
| atrodo | Parrot_new_string | ||
| NotFound | Pascal? Are you embeding parrot in a Pacal program? Amazing. | 15:36 | |
| Coke | We're missing code here. | 15:37 | |
| atrodo | I am indeed embedding parrot in pascal | ||
| Coke | what is: "create_string(join(inNode.point.macros))" ? | ||
| atrodo | Yes, that got by. That should be create_string(code) in this example | 15:38 | |
| in the real code, I'm pulling the code that gets passed in from another source | 15:39 | ||
| Coke | ok. It's hard to debug your code if we don't have it all. =-) | ||
| atrodo | Understand. I've corrected it | ||
| Coke | so you've got a PIR sub that should be creating an NQP sub, and then you're trying to invoke /that/ | 15:40 | |
| purl | Hmm. No matches for that, Coke. | ||
| Coke | ? | ||
| er, what is "hll" ? | |||
| PIR ? | |||
| purl | PIR is a bofh at tufts or www.pir.net or Passive Infra Red or Parrot Intermediate Language (and almost an acronym) or the Price is Right. or www.parrotcode.org/docs/art/pp001-intro.html | ||
| Coke | or NQP? | ||
| purl | i think NQP is github.com/perl6/nqp-rx or not quite low-level enough for some purposes or Not Quite Perl 6 | ||
| Coke | purl, botsnack of doom. | ||
| purl | :) | ||
| atrodo | Correct. It's my work around to getting parrot to compile NQP since I couldn't see a way to do through the embedding interface | 15:41 | |
| Coke | which? =-) | ||
| NQP? | |||
| purl | well, NQP is github.com/perl6/nqp-rx or not quite low-level enough for some purposes or Not Quite Perl 6 | ||
| atrodo | hll is set to "nqp" | ||
| NotFound | $ winxed -e 'int a[] = [ 3, 7, 1, 9 ]; a.sort(); say(join(", ", a));' -> 1, 3, 7, 9 | 15:42 | |
| Good :) | |||
| Coke | atrodo: you're blowing away code after you declare sa. do you mean to do this? | ||
| atrodo | No. That'll teach me to simplify code for example reasons | 15:43 | |
| NotFound | atrodo: in t/src/embed.t there is an example of calling subs | 15:47 | |
| Coke | atrodo: so the problem with /that/ code is... that it prints a blank line? | 15:51 | |
| you probably want your nqp code to be something like " -> $arg { pir::say $arg }" | 15:52 | ||
|
15:52
krunen joined
|
|||
| atrodo | Coke> Correct. I'm trying to figure out how to access the passed param from nqp | 15:53 | |
| Coke | so I'd do a PIR only example first. hang on. | 15:54 | |
| atrodo | Cool. | 15:56 | |
| Coke | can't find the load_language for nqp. | 15:59 | |
| atrodo | I had to mess with the path and file name of the nqprx.pbc to get my load_language to work | 16:01 | |
| dalek | rrot: r47536 | NotFound++ | trunk/t/src/embed.t: add a embed test for passing argument and returning a value to a PIR sub from C |
||
| Coke | (sorry, had to rebuild parrot...) | 16:17 | |
| nopaste | "coke" at 192.168.1.3 pasted "for atrodo" (16 lines) at nopaste.snit.ch/21152 | 16:25 | |
| Coke | atrodo: that help? | ||
| atrodo | Coke> That's what I was afraid of. | 16:26 | |
| I'll be defining a lot of these code segments that will get compiled and I was hoping to avoid defining all of them as subs, but that might be what I have to do | |||
| nopaste | "coke" at 192.168.1.3 pasted "atrodo - ok, here's an anonymous sub varietal" (16 lines) at nopaste.snit.ch/21153 | 16:29 | |
|
16:29
patspam1 joined
|
|||
| Coke | atrodo: there you go. | 16:30 | |
| that better? | |||
| atrodo | Hold on, let me see if this magic incarnation works in my code | ||
| NotFound | I think you can pass arguments to nqp "main", but must be a string array, as if they where command line arguments. | 16:31 | |
| atrodo | Coke> I'm very behind on Perl6, what's the -> do? | 16:34 | |
|
16:39
clinton joined
|
|||
| moritz | it starts a lambda | 16:41 | |
| or "pointy block" | |||
| or anonymous closure | |||
| or whatever you want to call it | |||
| purl | whatever you want to call it is, like, fine | ||
| atrodo | Ah, so it's equivalent to "sub { }" in perl5? | 16:42 | |
| moritz | not quite, but close enough :-) | ||
| atrodo | Got it | ||
|
16:43
cotto_work joined
|
|||
| cotto_work | good mornings | 16:43 | |
| purl | good mornings are when all my stocks are up in after hours trading | ||
|
16:44
AzureStone joined
16:47
perlpilot joined
16:49
davidfetter joined
|
|||
| NotFound | cotto_work: Have you sleep well? ;) | 17:00 | |
| cotto_work | definitely more coherent | 17:02 | |
| NotFound | cotto_work: thanks for your testing, anyway. | ||
| cotto_work | whether my coherency is sufficient is still an open question | ||
| davidfetter envies people who achieve any level of coherence | |||
| cotto_work | sure. When I played with it at home last night, it looks like it dtrt. | ||
| atrodo | Coke> Thanks for the help. Looks like my magical utopian world still hasn't appeared, but reality will serve me well enough for now | 17:04 | |
|
17:25
bubaflub joined
17:30
theory joined
17:35
whiteknight joined
|
|||
| Coke | atrodo: glad to help. now if only someone would help me. =-) | 17:37 | |
| perlpilot | Coke: what do you need help with? | 17:38 | |
| Coke | perlpilot: I would like hacking on partcl to not suck. =-) | 17:42 | |
| I'm not sure that that is compliant with the current state of parrot, however. | |||
| mikehh: I'm not sure if you were testing partcl, but 'partcl' (not partcl-nqp) should currently pass all tests against parrot head. | 17:44 | ||
| msg mikehh I'm not sure if you were testing partcl, but 'partcl' (not partcl-nqp) should currently pass all tests against parrot head. | 17:45 | ||
| purl | Message for mikehh stored. | ||
|
18:03
Maddingue joined
18:04
dukeleto joined
|
|||
| dukeleto | 'ello | 18:04 | |
| Coke | BOO | ||
| davidfetter | hai dukeleto | 18:08 | |
| dukeleto | davidfetter: hola | ||
| davidfetter | eggyknap asked, "So, that whole dynops break things deal seems to have died off. Is it resolved and I just missed it?" | 18:09 | |
| <-- ENOCLUE | |||
|
18:11
dalek joined
|
|||
| dukeleto | davidfetter: dynops are still a bit wonky, but it seems that the open/close opcodes will be removed soon | 18:12 | |
| davidfetter | k | ||
| dukeleto | davidfetter: i made more progess on PL/Perl6 last night | 18:13 | |
| davidfetter | dukeleto, sweet! | ||
| dukeleto | davidfetter: PL/Parrot can load perl6.pbc and is very close to running Perl 6 code | ||
| davidfetter | CREATE OR REPLACE FUNCTION scarface() RETURNS TEXT LANGUAGE plperl6 AS $$say "Hello to my little friend!"$$; | 18:14 | |
| dukeleto | davidfetter: that isn't a bad test :) | ||
| davidfetter | actually, "say" is probably *not* the right thing :( | ||
| stdout isn't really available | 18:15 | ||
| dukeleto | davidfetter: yeah, return it instead | ||
| davidfetter | :) | 18:16 | |
| dukeleto | feather seems sick | 18:17 | |
| what should Filehandle.open do if io_ops are not loaded? | 18:18 | ||
| Coke | dukeleto: work? | 18:19 | |
| purl | Work - the curse of the drinking class. (Oscar Wilde) | ||
| Coke | filehandle.open isn't using any of the IO ops under the covers, is it? | ||
| atrodo | That'd be an entertaining chick/egg problem | 18:20 | |
| darbelo | It shouldn't be. | 18:22 | |
| NotFound | Coke: nope | 18:23 | |
| The proof is that you can use it without the dynops being loaded. | |||
| dukeleto | I thought that FileHandle.open used the open opcode, but perhaps I am wrong about that | ||
| Coke | dukeleto: I tink FH.open uses the raw C. | 18:24 | |
| and I think the open op just dispatches to the method. | |||
| NotFound | Winxed doesn't load any dynop, and uses files without any problem. | ||
| Coke | so FH should work fine on its own. let us know if it doesn't. | ||
| dukeleto | i just attempted to build trunk with -j4 and it failed on src/pmc/key.o | ||
| i have been compiling with -j4 for a long time, so it must have broken recently | 18:25 | ||
| this usually means there is a bug in Makefile dependencies, right? | 18:26 | ||
| darbelo | dukeleto: Yes. | 18:29 | |
|
18:30
lucian joined
18:31
dalek joined
18:49
jan joined
|
|||
| Coke | try running tools/dev/checkdepend.pl , see if there's anything obvious. | 18:51 | |
| (once you have completed make) | 18:52 | ||
|
19:22
dalek joined
|
|||
| dalek | rrot: r47537 | NotFound++ | trunk/t/src/embed.t: avoid repeating common code in embed tests |
19:22 | |
| rrot: r47538 | NotFound++ | trunk/t/src/embed.t: cosmetic change to embed tests |
|||
| rrot: r47539 | NotFound++ | trunk/src/pmc/fixedintegerarray.pmc: explicitly return SELF and some cleaning in FIA sort method |
|||
| rrot: r47540 | NotFound++ | trunk/t/pmc/fixedintegerarray.t: test FIA sort |
|||
| rrot: r47541 | NotFound++ | trunk (4 files): add the function Parrot_warn_deprecated and use it in a few places |
|||
| rrot: r47542 | mikehh++ | trunk/src/warnings.c: fix codetest failure - add ASSERT_ARGS |
|||
| rrot: r47543 | mikehh++ | trunk/src/pmc/fixedintegerarray.pmc: fix codetest failure - there should be at least one space between a C keyword and any subsequent open parenthesis |
19:23 | ||
| rrot: r47544 | mikehh++ | trunk/t/pmc/fixedintegerarray.t: fix codetest failure - trailing whitespace |
|||
| TT #1661 closed by dukeleto++: Parrot crashes when clicking on Preferences | |||
| TT #1661: trac.parrot.org/parrot/ticket/1661 | |||
|
19:23
dukeleto1 joined,
PerlJam joined
|
|||
| dukeleto | feather is back! | 19:23 | |
|
19:24
Util joined
|
|||
| dalek | nxed: r499 | julian.notfound++ | trunk/t/ (2 files): move ord and chr tests to basic tests |
19:24 | |
| nxed: r500 | julian.notfound++ | trunk/Makefile: ooops, forgot to update Makefile |
|||
| GeJ | Bonjour everyone. | ||
| Coke | Hola | 19:26 | |
| NotFound | mikehh++ thanks for catching my typos. | 19:27 | |
|
19:28
pmichaud joined
|
|||
| cotto_work | pmichaud, if I give you a 28-line nqp script that succeeds or fails depending on the hash seed, is that sufficient to get the bug (if it exists) fixed? | 19:29 | |
| it's mostly a grammar with a tiny bit of driver code | 19:30 | ||
|
19:32
dukeleto_ joined
|
|||
| dukeleto_ | feather is down again. poopy pants. | 19:32 | |
| mikehh | NotFound: np - that's how I get my karma :-} | ||
| nopaste | "cotto" at 192.168.1.3 pasted "possible nqp bug for pmichaud" (56 lines) at nopaste.snit.ch/21160 | 19:33 | |
| cotto_work | That's holding up PIRATE progress fwiw. | 19:35 | |
| I guess I scared him off. Sad face. | 19:36 | ||
|
19:36
pmichaud joined,
dalek joined,
PerlPilot joined
|
|||
| dalek | kudo: 563cad0 | patrickas++ | CREDITS: Fame and fortune for patrickas \\o/ |
19:37 | |
| kudo: 3b29cd2 | patrickas++ | src/core/MAIN.pm: named arguments are always shown first |
|||
|
19:40
dukeleto1 joined
19:41
Util joined
|
|||
| dalek | kudo: ec2694e | moritz++ | (2 files): make @*ARGS writable. This allows us to run S06-other/main.t, so do that |
19:48 | |
| cotto_work | pmichaud: ping | 19:56 | |
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34306), fulltest) at r47544 - Ubuntu 10.04 i386 (g++ with --optimize) | 19:59 | |
| t/op/exit.t - TODO passed: 6 in testf | |||
| again note that the TODO does not pass on amd64 | 20:00 | ||
|
20:03
bkuhn joined,
Psyche^ joined
|
|||
| dalek | TT #1676 closed by mikehh++: t/pmc/io.t fails make corevm/make coretest | 20:13 | |
| TT #1676: trac.parrot.org/parrot/ticket/1676 | |||
| TT #1669 closed by mikehh++: t/pmc/eval.t and t/pmc/threads.t fail during 'make coretest' | |||
| TT #1669: trac.parrot.org/parrot/ticket/1669 | |||
| TT #1666 closed by mikehh++: t/op/sprintf.t and t/pmc/sub.t fail during 'make coretest' | |||
| TT #1666: trac.parrot.org/parrot/ticket/1666 | |||
|
20:22
masak joined
|
|||
| masak | NotFound: ping | 20:22 | |
| NotFound | masak: pong | ||
| masak | NotFound: I've just successfully made Str.encode use the new ByteBuffer. | 20:23 | |
| NotFound | Good | ||
| masak | now I'm looking to do the same for Buf.decode. | ||
| dalek | kudo: c43bca7 | moritz++ | (2 files): print USAGE message to $*ERR, just because it feels right-isher |
||
| masak | in this, I have a small question related to PIR and the .pmc file. | ||
| what's the PIR equivalent of the 'VTABLE void init_int(INTVAL initial_size)' method? | 20:24 | ||
| NotFound | new ['...'], i | ||
| masak | thanks. | ||
| NotFound | There are examples of all usages in t/pmc/bytebuffer.t | 20:25 | |
| masak | oh, goodie. | ||
| moritz | purl: msg chromatic it would be super helpful if you could release Pod::PseudoPod::LaTeX with the latest patch (see my github clone) | 20:26 | |
| purl | Message for chromatic stored. | ||
|
20:46
ambs joined
|
|||
| particle | pmichaud: you may have missed this from ~80m ago: (12:32:52 PM) nopaste: "cotto" at 192.168.1.3 pasted "possible nqp bug for pmichaud" (56 lines) at nopaste.snit.ch/21160 | 20:53 | |
| ah, crap i'm in scrollbackland | |||
| ok, i'm back and that msg is still relevant | 20:54 | ||
| cotto_work | I'll make sure it doesn't get missed. ;) | 20:55 | |
| testing now with latest nqp | |||
| same deal | 20:56 | ||
| writing a reliable test for that one will be fun | 20:59 | ||
| clock? | 21:08 | ||
| purl | cotto_work: LAX: Thu 2:08pm PDT / CHI: Thu 4:08pm CDT / NYC: Thu 5:08pm EDT / LON: Thu 10:08pm BST / BER: Thu 11:08pm CEST / IND: Fri 2:38am IST / TOK: Fri 6:08am JST / SYD: Fri 7:08am EST / | ||
| mikehh | rakudo (c43bca7) builds on parrot r47544 - make test PASS, spectest_smolder -> #34308 (pugs r31188) PASS - Ubuntu 10.04 i386 (g++ with --optimize) | 21:12 | |
| 19 TODO PASSes in 4 files | |||
| partcl (10737a0) builds on parrot r47544 - make test PASS, make smolder -> #34309 - Ubuntu 10.04 i386 (g++ with --optimize) | 21:16 | ||
| Coke: ping | |||
| dalek | rrot: r47545 | Chandon++ | branches/gsoc_threads (442 files): [gsoc threads] Merge from trunk; add coop_threads example. |
21:19 | |
| rrot: r47546 | darbelo++ | branches/gsoc_nfg/src/string (2 files): Make sure we grow the table before merging. |
|||
| masak | NotFound: when creating a new ByteBuffer and filling it with values, how advantageous is it to specify the length up front? put differently, how much overhead will it create if I just keep assigning from 0 to $N without giving the length? | 21:27 | |
|
21:28
masak joined
|
|||
| cotto_work | masak: it looks like it tries to be smart about resizing so that setting the last element won't have much of a penalty | 21:30 | |
| masak | oki, good. | 21:31 | |
| NotFound | Smart is a bit exagerated... Just avoid to be too wasteful. | 21:33 | |
| Should be tuned with real usage data. | |||
| masak | so the ideal of frugality is to actually set the length at the beginning? | 21:34 | |
| I was mostly wondering if it's worth it. | |||
| NotFound | If you know it in advance, sure. | 21:35 | |
| masak | I do. I have a Perl 6 array of Ints. | ||
| NotFound | Then no doubt, set it at creation. | 21:36 | |
| Coke | mikehh: pong | 21:39 | |
| masak | NotFound++ # this is exactly what I need for Str/Buf interconversion! | 21:40 | |
| mikehh | Coke: in partcl make smolder I got extra (doubled up) / and had to remove them and manually enter the curl | 21:47 | |
|
21:47
szabgabx joined
|
|||
| davidfetter waves to gabor | 21:52 | ||
| er, szabgabx* | |||
| szabgabx | hi davidfetter | ||
| Coke | mikehh: danke. I think I fixed that in partcl-nqp. | 21:54 | |
| I'll take care of it. | |||
| mikehh | Coke: anyway it builds and make test passes (and makew smolder) | ||
| make | |||
| szabgabx | people keep asking me about the status of Parrot | 21:55 | |
| and which languages has the most advanced compiler to parrot | |||
| or if there is any language that has a full implemenation | |||
| cxreg | lolcode? | 21:56 | |
| purl | well, lolcode is HAI CAN HAS STDIO? VISIBLE "HAI WORLD!" KTHXBYE or at lolcode.com/ or at svn.parrot.org/languages/lolcode/ | ||
| NotFound | sa | 22:00 | |
| szabgabx: Winxed has a full implementation... because is itself its specification X-) | 22:01 | ||
| darbelo | szabgabx: fperrad's lua is pretty complete. | 22:02 | |
| Coke | lua is the best choice, though I don't think it's using the current compiler toolkit. | 22:03 | |
| rakudo is probably the best for that. | 22:04 | ||
| darbelo | Oh, yeah. I keep forgetting that. | ||
| bacek | aloha, humans | ||
| cotto++ # nqp bug hunting! | |||
| NotFound | Let's start a languages fight! | ||
| mikehh | well if it ain't bacek, belong land of oz | 22:05 | |
| darbelo throws an Objective C at NotFound | |||
| NotFound counteratacks with a big Cobol! | |||
| bacek putting FORTRAN on the table | 22:06 | ||
| mikehh | hey we need DYNAMIC languages, in more than one sense of the word | 22:07 | |
| I haven't tested cardinal recently - how's it going? | 22:08 | ||
| darbelo | I think it was undergoing nqprx-ization. | 22:09 | |
|
22:18
Andy joined
|
|||
| Tene | mikehh: it's been very abandoned for a while now | 22:31 | |
| treed has been very busy, and got stalled in the middle of a very large refactor due to problems with parrot | 22:32 | ||
| treed | what now | ||
| purl | hmmm... now is the time for the Kwisatz Haderach to arise and conquer America on a sandworm army | ||
| Tene | (problems subclassing class) | ||
|
22:32
tcurtis joined
|
|||
| treed | Oh, god, yes. | 22:32 | |
| I have two messages apparently. | 22:33 | ||
| bacek offers his help updating cardinal to nqp-rx | |||
| on may 21st | |||
| >_> | |||
| mikehh need to reboot - bbiab | 22:36 | ||
| nopaste | "cotto" at 192.168.1.3 pasted "more minimal test case for pmichaud" (48 lines) at nopaste.snit.ch/21172 | 22:39 | |
|
22:41
whiteknight joined
|
|||
| darbelo realizes he forgot to reconfig, again. | 22:45 | ||
| Chandon | Why does t/pmc/timer.t pass timer parameters as a key, value *array* rather than a hash or something? That sort of makes sense if I pretend I'm reading perl5, but it seems like an odd API for a Parrot PMC. | 22:50 | |
|
22:53
snarkyboojum joined
22:56
mikehh joined
|
|||
| whiteknight | Chandon: yeah, it's probably a little weird | 22:58 | |
| I've found a few issues in the scheduler/task API that were a little WTF | 22:59 | ||
| dalek | rrot: r47547 | darbelo++ | branches/gsoc_nfg/src/string/api.c: Add misssing interps and casts. |
23:00 | |
| whiteknight | ...if we accidentally have to clean some of it up soon, I don't think anybody will be too disappointed | 23:01 | |
| cotto_work | unless you make rakudo explode | 23:03 | |
| darbelo | ... or make particl exlode. | ||
| eh, partcl | |||
| NotFound | We've already exploded enough things this month, please be pateient ;) | ||
| Tene | I hear the US military is discussing using explosions to seal the oil leak in the gulf of mexico. | 23:04 | |
| cotto_work | or particle. Definitely don't make him explode. | ||
| darbelo | Making particles explode is risky stuff. | 23:05 | |
| dalek | m-dynpmcs: 2d9355b | darbelo++ | t/gdbmhash.t: Remove diagnostic printerrs. |
23:12 | |
|
23:14
nopaste joined
|
|||
| sorear | opbots, names | 23:14 | |
| dalek | rrot: r47548 | tcurtis++ | branches/gsoc_past_optimization/t/library/pastpattern.t: Fix a bug in the test for .transform. |
23:16 | |
| rrot: r47549 | darbelo++ | branches/gsoc_nfg/src/string/encoding/nfg.c: Avoid creating empty grapheme tables. And fix an off by one error. |
23:33 | ||
| pmichaud | cotto_work, particle, others: test case noted -- I'll look at it. | 23:47 | |
| technically, I don't think this test case is a bug, though. | 23:48 | ||
| or, if it is, it's just a LTM bug that isn't likely to be fixed soon. | 23:49 | ||
| actually, it can't even be an LTM bug. | |||
| so, I'll claim it's not a bug. :) | |||
| or, in the last test instance, it's a bug because all of the results should've been NOK. | 23:50 | ||
| cotto_work | can it at least be made deterministic? | 23:51 | |
| pmichaud | only if I somehow mark ordering-of-declaration in the rules. | ||
| I haven't quite figured out how to do that yet. | |||
| Perl 6 says that what makes it deterministic is the order in which the regexes are declared. NQP doesn't implement that particular feature yet. | 23:52 | ||
| dalek | nxed: r501 | julian.notfound++ | trunk/winxedst1.winxed: update an error message |
||
| nxed: r502 | julian.notfound++ | trunk/t/basic/04for.t: basic tests for for |
|||
| pmichaud | it would require turning the methods hash for a class into an OrderedHash | ||
| or otherwise having a useful sort criteria | 23:53 | ||
| I *might* be able to use subid as a comparison -- they tend to be ordered. But that seems icky. | |||
| cotto_work | agreed | ||
| pmichaud | looking | ||
| yeah, subid might work. | 23:55 | ||
| btw, it can be made deterministic if the :sym<a> and :sym<b> are made different lengths. | |||
| nqp-rx has a heuristic cheat at the moment that uses the length of the name of the rule to break ties | 23:56 | ||
| (longer names earlier) | |||
| cotto_work | That's... | ||
| purl | That's not portable. | ||
| cotto_work | surprising. | ||
| purl | i heard surprising was still surprising | ||
| pmichaud | so, if :sym<a> were changed to :sym<aa> it would be deterministic. | ||
| well, it's done that way to give us *some* control over longest token matching to break ties. | |||
| (correct, it's way outside of the Perl 6 spec; it's really supposed to be used only in cases of definite ties, such as this one.) | 23:57 | ||
| cotto_work | as long as that's an officially supported feature, it sounds usable | 23:58 | |
| pmichaud | it's officially supported for now in nqp, yes. | ||
| i.e., I'd put it through a deprecation cycle before changing it. | |||
| so, in that last example, if you wanted to prefer the second rule over the first one, give it a longer name. | 23:59 | ||
| cotto_work | I'm checking now to see if I can apply that to PIRATE | ||