|
Parrot 3.8.0 "Magrathea" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 29 September 2011. |
|||
|
00:02
alvis joined
00:23
l3l1p joined
01:22
woosley joined
02:37
JimmyZ joined
02:39
alvis joined
03:46
l3l1p_ joined
04:29
l3l1p joined
04:46
JimmyZ_ joined
|
|||
| alvis | Hello all. I hope it's not too late, but I've a few questions: First, why does the concluding pod in '/frontend/parrot/main.c' say, "SEE ALSO compilers/imcc/main.c, unfortunately."? | 05:24 | |
| I mean, what is it with 'imcc,' such that, it merits this remark? | 05:26 | ||
| Second, where is parrot's assembler? I can't seem to find it. (I'll hold off on the other questions, for a'bit.) | 05:29 | ||
| cotto | PIR can't really be assembled. imcc turns it into bytecode. | 05:30 | |
| sorear | alvis: imcc is "parrot's assembler", insofar as it converts pir into bytecode | 05:32 | |
| alvis | Hmm, yes, but there was, once upon a time, an assembler. Also, pasm is the assembly language, correct? Which then gets translated into bytecode, corect? | ||
| sorear | no | ||
| pasm is a dead end | |||
| we have no tools that can read it | |||
| alvis | sorear, oh, ok. But, there was an assembler once upon a time, correct? assembler.pl, perhaps? | 05:33 | |
| sorear | it doesn't matter now | 05:34 | |
| cotto | alvis, probably, but any pure assembler is long gone by now | ||
| sorear | probably noone remembers. Parrot has a very high developer burnout/turnover rate | ||
| alvis | Hmm, ok, then I'm reading some bad docs in Pdd06_pasm.pod where there's the whole discussion about whether or not to keep it. | 05:36 | |
| So, the bottom line is, it's been folded into imcc, yes? | |||
| cotto | at some level PASM is supported, but we don't recommend its continued use | ||
| alvis | Ok, good enough. | 05:37 | |
| So, why the "unfortunately" remark as to imcc? | |||
| cotto | imcc has issues | 05:38 | |
| alvis | Ok. Should I dig through the archive or the old irc logs to find out the issues? Just asking 'cause ... well ..., some of the docs are ... misleading. | 05:39 | |
| sorear | alvis: you will not use the word misleading. | 05:41 | |
| imcc is junk and its docs are worthless | |||
| harsh language is how we stay sane around here | |||
| alvis | sorear, ok, gotcha. :-) | 05:42 | |
| sorear | imcc is a large part of why Parrot destroys developer's motivation | ||
| alvis | ahh, ok. I'll take a closer look'see. (I appreciate the feedback btw.) | 05:43 | |
| Another question, if I may, and I'll leave you be: Are extensions, essentially, dead in favor of NCI? | 05:44 | ||
| sorear | No | 05:52 | |
| I should ask you to clarify what you mean by extensions. | 05:53 | ||
| alvis | Extending Parrot with C-code, e.g., different implementations of various data-structures, that sort'a thing. | 05:54 | |
| sorear | and NCI isn't that? | 05:56 | |
| to answer what I think you mean, dynops and dynpmcs are still used, a lot | |||
| NCI is great but often you need the flexibility | |||
| for instance if you want to attach finalizers to objects, dynpmcs are the only good way | 05:57 | ||
| also dynpmcs/dynops are MUCH faster than general nci | |||
| alvis | Oh ok. Thanks. That's very helpful. (I think I'll ask whiteknight about his data-structures project on github, as well.) | 05:58 | |
|
06:05
alvis_ joined
|
|||
| alvis_ | sorear: Sorry, thunderstorm here in North-central Texas knocked my connection out. Anyway, thank you for all your help. | 06:06 | |
|
06:28
fperrad joined
08:30
jsut_ joined
|
|||
| nine | Parrot's documentation++ | 09:17 | |
|
09:18
PacoLinux_ joined
|
|||
| dalek | kudo/nom: 005e43f | moritz++ | / (4 files): Merge branch 'eval-throws' into nom |
09:28 | |
| kudo/nom: aa8f193 | moritz++ | t/spectest.data: stop running S06-operator-overloading/imported-subs.t, its tests all skipped or bogusly passing |
|||
| nine | Would someone please apply this tiny doc patch? paste.scsys.co.uk/148550 | 10:00 | |
|
10:14
SHODAN joined
|
|||
| nine | Down to two coretest files failing :) | 10:14 | |
| one | 10:32 | ||
|
10:42
alvis_ joined
|
|||
| dalek | rrot: 4934d51 | moritz++ | src/embed/bytecode.c: tiny doc patch by nine++, name of parameter to Parrot_api_run_bytecode |
10:53 | |
| moritz | nine: applied, thanks | ||
|
11:00
whiteknight joined
11:12
sonne44 joined,
sonne44 left
|
|||
| nine | Should this PIR code work? paste.scsys.co.uk/148606 | 11:35 | |
|
11:36
nbrown joined
11:37
Psyche^ joined
12:03
jsut joined
12:27
jlaire joined
|
|||
| benabik | Morning, #parrot | 13:15 | |
| nine: I think that PIR should work, and it seems to on my Parrot. (It prints done) | 13:21 | ||
| nine | morning benabik | 13:33 | |
| Thanks. On green_threads I get a null PMC access on exit, after it prints done. | 13:34 | ||
| benabik | Oog. Possibly the return continuation gets screwed up? | 13:35 | |
| nine | Which is very strange, because even if I disable preemption and circumvent the whole task handling the error remains. | ||
| I can change it to a segfault by just adding some code that never even gets executed | |||
| On the bright side, this is the only problem left in a make fulltest run :) | 13:39 | ||
| benabik | The finish line is in sight! | ||
| nine | too few arguments: 0 passed, 7229552 expected | 13:45 | |
| that's a nice one ;) | |||
| benabik | That's a lot of arguing. | ||
|
13:55
ambs joined
|
|||
| whiteknight | nine: sounds like a GC error | 13:56 | |
| like, a live PMC is being prematurely collected and then something attempts to use it | |||
| doing something unrelated which changes the memory layout can change the way the error manifests | 13:57 | ||
| nine | whiteknight: the origin of this testcase is t/pmc/exception.t. All tests pass but then I get a segfault | ||
| whiteknight | nine: that could also be an inferior runloop problem | ||
| like, the program terminates in a nested runloop, the C stack unwinds, and the parent runloop attempts to continue executing code at a bad address | 13:58 | ||
| nine | whiteknight: that sounds about right: | 14:00 | |
| [entering loop 0, level 0] | |||
| [entering loop 1, level 1] | |||
| done | |||
| [exiting loop 2, level 2] | |||
| Null PMC access in elements() | |||
| whiteknight | yeah | ||
| okay, when you catch an exception you need to use the finalize op on it to unwind the runlooops | 14:01 | ||
| at the end of the program, you can also call "exit 0", to force a complete exit without unwinding | |||
| nine | There is the "finalize $P4" in there right before say "done" | ||
| that's what I get on master: | 14:04 | ||
| [entering loop 0, level 0] | |||
| [entering loop 1, level 1] | |||
| exception case 3 | |||
| done | |||
| [exiting loop 1, level 1] | |||
| plobsing | in branch, why does it "exit loop 2" without ever having entered a loop that deep? | 14:08 | |
| nine | plobsing: that's just somewhat misleading debug output. The entering message gets printed before increasing those counters | 14:09 | |
| plobsing | ah. | ||
| benabik | I note they're still leaving different levels. | 14:10 | |
| plobsing | nine: you could fire up gdb and break on Parrot_default_elements_orig | ||
| btw, I wish our GC wrappers left the hand-written part of the vtable as the easier named one. | 14:11 | ||
| oops, that should be Parrot_Null_elements_orig | 14:12 | ||
| nine | finalize gets called, but it does not recognize the thing as an exception handler, so it does not longjmp out of the runloop | 14:14 | |
| Correction: it does recognize it as an exception but this is PMC_NULL: PMC * const iter = VTABLE_get_attr_str(interp, PREG(1), Parrot_str_new_constant(interp, "handler_iter")); | 14:17 | ||
| Aah...I think I'm missing some changes in Parrot_cx_find_handler_local. gsoc_threads moved it to events.c so I overlook those when merging | 14:55 | ||
| coretests pass now :) fulltest in progress | 15:00 | ||
| Is MAKEFILE.generated generated or maintained manually? | 15:22 | ||
| benabik | I hope it's generated. | ||
| And are you talking about MANIFEST? | |||
| dalek | kudo/nom: f6eb61d | Coke++ | t/spectest.data: run fudged test. |
||
| nine | No, MANIFEST.generated. make distro_tests is complaining about missing stuff in that file | ||
| t/distro/manifest_generated.t to be precise | 15:23 | ||
| benabik | Right, you said MAKEFILE at first⦠I think it's actually maintained. It's a list of generated files. (i.e. files most things should ignore) | ||
| moritz | nine: did you run tools/dev/mk_manifest_and_skip.pl ? | 15:24 | |
| nine | moritz: yes | ||
| Just added the missing files. Weren't that many anyway. Now make fulltest passes :) | |||
| Which brings the question of where to go from here? | 15:25 | ||
| moritz | test nqp and rakudo on it | ||
| nine | Can I use my local build of parrot to build rakudo? | 15:32 | |
| moritz | yes | 15:33 | |
| nine | How? I get nine@sunshine:~/install/rakudo> perl Configure.pl --with-parrot=/home/nine/install/parrot | ||
| moritz | in rakudo, perl Configure --gen-nqp --with-parrot=/path/to/installed/bin/parrot | ||
| nine | Unable to read parrot configuration from /home/nine/install/parrot | ||
| moritz | (you need to install to somewhere first) | 15:34 | |
| nine | ah ok | ||
| Is this supposed to take minutes and >1GB of RAM? ./perl6 --setting=NULL --target=pir --output=src/gen/CORE.setting.pir src/gen/CORE.setting | 15:52 | ||
| benabik | nine: Yes. Rakudo's setting is by far the most complex thing Parrot deals with. | ||
| nine | Ok, then I'll just keep it running | 15:53 | |
| benabik | When I was working on nap_pct, it started taking long enough that I thought it was hanging. | ||
| nqp_pct | |||
| nine | Finished now. When I saw that > 2000 lines stacktrace I got worried ;) | 15:54 | |
| benabik | !! | ||
| From interrupting it? | |||
| nine | yep | ||
| benabik | Yeah, it gets⦠complicated. | ||
| nine | Rakudo's make test completed successfully :) | 15:55 | |
| benabik | \\o/ | ||
| moritz | if you want the real test, run 'make spectest' | ||
| plobsing | nine: spectest? | ||
| nine | running now | 15:56 | |
| plobsing | you'll have time to grab a coffee... from the next town over. | ||
| nine | :) | ||
| moritz | if you have multiple cores, TEST_JOBS=9 make spectest | 15:57 | |
| where 9 = $no_of_cores + 1 | |||
|
15:59
l3l1p joined
|
|||
| nine | Two questions: should current nom pass spectest? Should it do so on current parrot master? | 16:26 | |
| In any case: t/spec/S05-modifier/ignorecase.rakudo failed. No subtests run. Other than that, TODOs passed in t/spec/S06-routine-modifiers/scoped-named-subs.rakudo and t/spec/S10-packages/basic.rakudo | 16:27 | ||
| moritz | nine: do you have ICU installed? | 16:35 | |
| if not, that might explain the ignorecase test failure | |||
| if spectest nom on parrot master a few hours ago, it was all passing (plus the two passing TODO you mentioned) | 16:36 | ||
| nine | what's ICU? *g* | 16:37 | |
| moritz | a library for Unicode stuff | ||
| parrot's Configure.pl tests for it | 16:38 | ||
| auto::icu - Is ICU installed....................................yes. | |||
| nine | There's a libicu installed, but no icu and no libicu-devel | ||
| benabik | What do we use ICU for? | ||
| moritz | case folding, checking of Unicode properties | 16:39 | |
| maybe recoding, not sure about that | |||
| nine | Is ICU installed..........................no icu-config. | ||
|
16:53
alvis_ joined
17:33
bluescreen joined
|
|||
| nine | rakudo spectests pass :) | 18:03 | |
|
18:09
kurahaupo joined
18:14
kurahaupo_mobi joined
18:24
plobsing_ joined
|
|||
| dalek | rrot: 2c43a6c | dukeleto++ | ChangeLog: Add skeleton for the next changelog entry |
18:24 | |
| dukeleto | PROTIP: git log RELEASE_3_8_0... --merges # useful for release managers | 18:32 | |
| dalek | rrot: ba87ba4 | dukeleto++ | ChangeLog: Add a bit of meat to the 3.9.0 announcement |
18:37 | |
| dukeleto | cotto: ping | 18:40 | |
| NotFound | ~~ | 19:15 | |
|
19:32
contingencyplan joined
20:15
zby_home joined
20:31
stoole joined
20:59
Kovensky joined
|
|||
| cotto | dukeleto, pong | 21:12 | |
|
21:18
whiteknight joined
|
|||
| whiteknight | good afternoon, #parrot | 21:20 | |
| cotto | ~~ whiteknight | 21:24 | |
| whiteknight | hello cotto | 21:30 | |
|
22:36
nbrown joined
22:42
alvis_ joined
|
|||