Camelia, the Perl 6 bug

IRC log for #parrot, 2010-06-11

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:03 davidfetter rAmen!
00:07 pmichaud also, fwiw, using white space at the beginning of a rule (in a protoregex) effectively disables longest token matching
00:07 pmichaud i.e.,
00:07 pmichaud rule pir_instruction:sym<get_keyed> { <ident> <pir_key> }
00:07 pmichaud rule pir_instruction:sym<op_assign> { <ident> <op_params> }
00:07 pmichaud in both cases, the longest token is zero because of the whitespace between { and <ident>
00:07 pmichaud (that's a Perl6-ism)
00:08 darbelo Bleargh.
00:08 pmichaud to have ltm play any sort of role, it would need to be  {<ident>
00:08 pmichaud but even in the case of these two rules, the longest token will be simply the length of the initial <ident> prior to any whitespace
00:09 pmichaud (i.e., they'll be considered to be of equal weight, at which point the "whichever one is declared first" tiebreaker would apply, according to Perl 6)
00:09 jnthn pmichaud: Doesn't STD do something "interesting" in that regard?
00:10 pmichaud jnthn: nafaik
00:10 * jnthn is sure sorear++ and TimToady++ discussed rule and LTM recently
00:10 pmichaud (depending on which regard you're referring to :)
00:10 pmichaud I'm just going by what S05 says, and by the (few) rule protoregexes in STD.pm6
00:10 pmichaud they may have changed that recently, but I haven't seen it changed in the spec yet.
00:13 pmichaud_ joined #parrot
00:13 pmichaud_ looks like feather died again :-|
00:16 davidfetter /requiescat in pace/
00:17 dalek joined #parrot
00:18 dukeleto joined #parrot
00:18 pmichaud_ joined #parrot
00:37 * sorear is summoned?
00:37 davidfetter joined #parrot
00:37 sorear pmichaud_: Hi!  Do you have any tips for running a bootstrapped parser?
00:38 sorear STD has been giving me issues when I try to make coordinated changes (like fixing a compiler bug while removing the workaround)
00:46 cotto_work pmichaud_: making one of the names longer seems to do the trick.  Thanks!
00:49 cotto_work now to figure out which one should be longer...
00:55 cotto_work bacek, it looks like PIRATE hackery may recommence
00:55 bacek_at_work cotto_work, hooray!
00:55 dalek parrot: r47550 | darbelo++ | branches/gsoc_nfg/src/string/encoding/nfg.c:
00:55 dalek parrot: Make sure we calculate the right output by passing in the right input.
00:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47550/
00:58 abqar joined #parrot
00:59 cotto_work which name should be the longer one?  Renaming op_assign to _op_assign makes the example code always parse correctly, but I don't know if that change would have negative consequences for some other bit of PIRATE.
01:00 whiteknight I'm coming in to the conversation late, but it seems .... wrong that parsing isn't determinate
01:00 bacek_at_work cotto_work, op_assign should be longest I think.
01:01 cotto_work afaict it's because the protoregex variants are stored in a hash and which one is tried first (when their names are the same length) depends on the internal hash order.
01:01 cotto_work Have you considered TODOing tests so it's easier to see if any actual progress has been made?
01:02 kid51 joined #parrot
01:20 cotto_work kid51, why does a pure-docs set of changes need a branch?
01:27 kid51 We  have people who promised to review my work.
01:27 kid51 It probably won't go in until after next release.
01:28 rurban joined #parrot
01:29 dalek parrot: r47551 | jkeenan++ | branches/cfunctionsdocs:
01:29 dalek parrot: Create branch to complete work on documentation of C functions in Parrot source code.
01:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47551/
01:29 dalek parrot: r47552 | jkeenan++ | branches/gsoc_past_optimization/runtime/pa​rrot/library/PAST/Transformer/Dynamic.pir:
01:29 dalek parrot: [codingstd] Correct POD formatting error.
01:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47552/
01:34 kid51 trunk: make testf: darwin/ppc:  t/op/exit.t TODO passed: 6
01:38 plobsing joined #parrot
01:45 cotto_work bacek_at_work, now that PIRATE is unblocked, what needs hacking?
01:46 dalek parrot: r47553 | jkeenan++ | branches/cfunctionsdocs/confi​g/gen/platform/generic/dl.c:
01:46 dalek parrot: [codingstd] Provide documentation for C functions.
01:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47553/
01:56 bacek_at_work cotto_work, finishing grammar. heredocs will be little bit painful...
02:02 dalek parrot: r47554 | jkeenan++ | branches/cfunctionsdocs (3 files):
02:02 dalek parrot: [codingstd] Provide documentation for C functions.
02:02 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47554/
02:08 pmichaud joined #parrot
02:08 dalek joined #parrot
02:13 dukeleto joined #parrot
02:25 sorear msg pmichaud Do you have any tips for running a bootstrapped parser?
02:25 purl Message for pmichaud stored.
02:25 sorear msg pmichaud STD has been giving me issues when I try to make coordinated changes (like fixing a compiler bug while removing the workaround)
02:25 purl Message for pmichaud stored.
02:33 jrtayloriv joined #parrot
02:33 theory joined #parrot
02:34 dalek parrot: r47555 | jkeenan++ | branches/cfunctionsdocs (10 files):
02:34 dalek parrot: [codingstd] Provide documentation for C functions.
02:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47555/
02:45 TonyC joined #parrot
02:49 nopaste joined #parrot
02:50 szabgabx_ joined #parrot
02:54 janus joined #parrot
03:03 jrtayloriv joined #parrot
03:09 snarkyboojum joined #parrot
03:19 theory joined #parrot
03:56 dalek joined #parrot
03:57 PerlJam joined #parrot
03:58 dukeleto joined #parrot
03:59 Util joined #parrot
04:04 pmichaud joined #parrot
04:09 rurban_ joined #parrot
04:23 snarkyboojum joined #parrot
05:03 LoganLK joined #parrot
05:20 jrtayloriv joined #parrot
05:31 cotto bacek_at_work, wrt PIRATE, are you not planning on having a separate preprocessing step for heredocs
05:32 bacek_at_work cotto, I didn't think about it (yet)
05:33 bacek_at_work probably pmichaud can bring some ideas how they can be implemented in NQP.
05:36 cotto ok
05:37 cotto It sounds a little tricky but having the ability to embed arbitrary chunks of PIR in a grammar will help.
05:37 cotto and I imagine that stealing from Rakudo is always an option
05:46 bacek_at_work It's not "stealing"! It's "learn-by-example" process :)
05:52 cotto Yeah.  copying by example.
06:04 he_ joined #parrot
06:13 aukjan joined #parrot
06:13 TiMBuS joined #parrot
06:16 uniejo joined #parrot
06:18 dalek rakudo: 51dfa74 | patrickas++ | src/core/MAIN.pm:
06:18 dalek rakudo: Correct handling for case sub MAIN('add' , ) {}
06:18 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
06:18 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​1dfa743edd4bac76ce01a2ba181f98ab5f5a87a
06:18 dalek rakudo: 9c0f9ec | (Patrick Abi Salloum)++ | src/core/MAIN.pm:
06:18 dalek rakudo: Much better sub dispatching thanks to jnthn++
06:18 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
06:18 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​c0f9ec52be13b95c6bac5dc5923e421739a8916
06:18 dalek rakudo: d1aeb84 | moritz++ | src/core/MAIN.pm:
06:18 dalek rakudo: USAGE is not polluting the user's space anymore. If the user defined a sub USAGE
06:18 dalek rakudo: it will be called instead
06:18 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​1aeb846e2777f23d208172f0e701673628aefb8
06:19 bacek_at_work STD.pm?
06:19 purl STD.pm is http://svn.pugscode.org/pugs/src/perl6/STD.pm
06:19 cotto I bet there's something useful there.
06:19 bacek_at_work purl, no, STD.pm is http://svn.pugscode.org/pugs/src/perl6/STD.pm6
06:19 purl okay, bacek_at_work.
06:19 cotto beat me to it
06:22 bacek_at_work it's slightly overcomplicated for stealing heredocs for PIR...
06:23 moritz it uses language braids to parse quotes...
06:27 cotto braids?
06:39 moritz similar-but-not-quite-the-same languages
06:41 jrtayloriv joined #parrot
07:38 dalek rakudo: d59da85 | (Solomon Foster)++ | src/core/Real.pm:
07:38 dalek rakudo: Change Real.Str to use Num instead of Bridge internally.  (Results should be
07:38 purl dalek: that doesn't look right
07:38 dalek rakudo: identical ATM.)
07:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​59da850db1d539d497889679d117a918082f5d9
08:04 szabgabx joined #parrot
08:12 szabgabx joined #parrot
08:13 sorear joined #parrot
08:17 szabgabx_ joined #parrot
08:27 eternaleye_ joined #parrot
08:50 snarkyboojum joined #parrot
08:56 clinton joined #parrot
11:03 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34315), fulltest) at r47555 - Ubuntu 10.04 amd64 (gcc)
11:37 dalek parrot: r47556 | khairul++ | branches/gsoc_instrument/t/dynpmc/instrument.t:
11:37 dalek parrot: Fixed t/dynpmc/instrument.t to reflect changes.
11:37 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47556/
11:48 whiteknight joined #parrot
11:53 whiteknight good morning, #parrot
11:56 whiteknight Is there going to be a Rakudo #30 release this month, in additon to Rakudo*?
11:56 moritz yes
11:56 whiteknight okay, when's that coming out? Todayish?
11:57 moritz on Thursday after the parrot release
11:57 moritz as always
11:57 whiteknight oh shit, I have my calendar mixed up
11:57 whiteknight I'm a week early
11:58 * moritz has a deja-vu :-)
11:58 whiteknight I'm extremely bad with dates
11:59 * moritz pities whiteknight's dates
11:59 whiteknight that's why I married a woman who owns a calendar
11:59 moritz good choice :-)
12:00 bluescreen joined #parrot
12:06 lucian joined #parrot
12:09 rurban_ joined #parrot
12:12 tetragon joined #parrot
12:14 moritz whiteknight: my girlfriend sent me a reminder today that we have an appoint with friends on Saturday... so you're not the only one :-)
12:24 khairul joined #parrot
12:47 * whiteknight just discovered that an old password in an old database (still in some use) has the password "1LuvK1tt3ns"
13:24 Myhrlin joined #parrot
13:24 atrodo joined #parrot
13:27 lucian_ joined #parrot
13:29 aukjan joined #parrot
14:01 dolmen joined #parrot
14:25 plobsing joined #parrot
14:49 bubaflub joined #parrot
15:05 dolmen joined #parrot
15:13 dalek parrot: r47557 | NotFound++ | trunk/t/pmc/float.t:
15:13 dalek parrot: tests for Float VTABLE_absolute
15:13 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47557/
15:23 theory joined #parrot
15:26 ash_ joined #parrot
15:27 ash_ when you have an include in a pmc it seems to think thats some target it needs to build, is there anyway around that?
15:27 Coke ash:
15:27 Coke ash_: ?
15:29 ash_ like, in my nci pmc i have #include <ffi.h> and it tries to build "include/ffi.h" as a C file, which doesn't exist
15:30 dalek parrot: r47558 | NotFound++ | trunk/t/pmc/stringbuilder.t:
15:30 dalek parrot: add a StringBuilder test to reach full coverage
15:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47558/
15:30 ash_ as a work around i just am doing #  include <ffi.h>  (the spaces seem to make it not auto detect the included file)
15:30 NotFound ash_: judging by some current usages, adding whitespace between # and include works.
15:31 NotFound Or maybe is because they are inside a #if block.
15:31 ash_ is that the right place to put the #include? in the pmc?
15:32 NotFound Ah, you already figured.
15:33 NotFound ash_: if the header is used only in the pmc, sure it is.
15:34 ash_ kk, just checking
15:36 ash_ i got the lldb tool to compile for me finally, its a library for debugging llvm code, i think it might come in handy soon, when i start the llvm based part of my gsoc
15:45 Coke what is trying to build include/ffi.H ?
15:52 ash_ the build system
15:52 purl i heard the build system was broken
15:53 ash_ perl Configure.pl finds it and says its one of the C targets, so its trying to build it with gcc
15:57 NotFound Confirmed, it does the same for me.
16:06 cotto_work aloha
16:07 Coke wthf.
16:09 Coke config/*/pmc.pm // get_includes should probably not be grabbing includes with <>, but only ""
16:11 patspam joined #parrot
16:12 NotFound Coke: fine for me, but maybe we should document in our coding standard that < > must never be used with parrot's own headers.
16:13 particle <> should be for system headers only
16:13 particle yes, make that clear in pdd07 if it isn't
16:14 NotFound particle: yeah, but the C and C++ standards doesn't forbid other usages.
16:15 Coke it's treated that way elsewhere (like in checkdepend)
16:15 particle yes, true, but it's good policy
16:15 particle imo
16:15 NotFound particle: yes, but is our policy, we must explictly tell it.
16:16 particle and that's why i say it should be made clear in the pdd
16:16 NotFound Fully agree.
16:16 particle we're in violent agreement
16:23 jan joined #parrot
16:25 jrtayloriv joined #parrot
16:31 khairul joined #parrot
16:38 ash_ joined #parrot
16:48 PerlJam joined #parrot
16:55 szabgabx joined #parrot
17:00 zibri joined #parrot
17:12 Coke heee. used http://isparade.jp/, and parrotvm showed up as the parrot head on a dog body.
17:28 aukjan joined #parrot
17:35 cotto_work http://ocw.mit.edu/courses/electrical-engi​neering-and-computer-science/6-035-compute​r-language-engineering-sma-5502-fall-2005/
17:37 sorear joined #parrot
17:49 whiteknight cotto_work: would be much cooler if they were using Parrot
17:49 whiteknight much much cooler
17:52 cotto_work of course
17:52 atrodo everything is cooler with parrot
17:52 particle parrot would be much cooler if it were used in a class
17:53 pmichaud good afternoon, #parrot
17:53 whiteknight hello pmichaud
17:55 whiteknight how are you doing today?
17:55 cotto_work do we have someone playing with https://build.opensuse.org/ ?
17:59 pmichaud doing okay -- working on a deep Rakudo/Perl 6 issue (lists and iterators)
18:00 pmichaud I'll be glad when that's done :)
18:01 pmichaud my irssi session is a bit messed up -- need restart
18:01 pmichaud brb
18:01 pmichaud joined #parrot
18:02 LoganLK joined #parrot
18:08 ruoso joined #parrot
18:16 szabgabx joined #parrot
18:49 aukjan joined #parrot
18:53 ash_ joined #parrot
19:32 ash_ how does VTABLE_set_pointer_keyed_str
19:33 ash_ work?
19:33 purl Work - the curse of the drinking class.  (Oscar Wilde)
19:38 sorear All the "pointer" stuff is completely PMC dependant
19:39 sorear Old-school parrot philosophy is to allow PMCs to use meaningless vtable entries for private setup hooks
19:40 sorear the _pointer_ stuff in particular is almost always used this way, since PIR code doesn't manipulate C pointers
19:40 sorear thankfully modern Parrot seems to be moving more towards named methods
19:40 sorear (though stealing vtable functions is faster, and still gets used for some very critical stuff)
19:49 aukjan joined #parrot
19:56 pjcj joined #parrot
19:56 atrodo joined #parrot
19:58 ash_ in the core op dlfunc they do "VTABLE_set_pointer_keyed_str(interp, $1, $4, F2DPTR(p));" and I am trying to find how to access p
20:03 whiteknight sorear: excellent analysis. the pointer-related vtables are a big pain in my ass
20:03 sorear look in NCI.pmc
20:04 Psyche^ joined #parrot
20:04 sorear NCI overloads set_pointer_keyed_str to mean "set up the signature string and rawpointer"
20:04 sorear also, F2DPTR, seriously?
20:04 sorear I thought this was supposed to be ANSI C
20:04 whiteknight that's definitely "old school Parrot"
20:04 whiteknight nowadays, that would never fly
20:05 cotto_work We've got layers.
20:06 whiteknight unlike an onion, our moldy, dirty layers are deep on the inside
20:06 bubaflub so you're saying we're rotten from the core?
20:06 whiteknight but we've applied a nice spit shine to the outside of this particular cow patty
20:07 whiteknight :)
20:08 Chandon When should the PObj_on_free_list flag be set?
20:08 whiteknight Chandon: if used at all, it's set internally by the GC
20:08 whiteknight probably set during GC sweep, cleared during PMC allocation
20:08 ash_ hmm
20:08 ash_ so should i go update dlfunc?
20:08 ash_ since thats whats builds the nci.pmc i am working with
20:10 Chandon whiteknight: I've got a nice segfault if I exit during a timer callback that involves throwing an exception when cleaning up the task.
20:11 whiteknight oi
20:11 Chandon Everything works great if I comment out the exception being thrown, but I'm trying to understand what's going on. This is at scheduler.c:412.
20:11 tcurtis joined #parrot
20:12 ash_ whats the alternative to using VTABLE_set_pointer_keyed_str ?
20:12 rurban joined #parrot
20:16 whiteknight Chando: definitely shouldn't segfault, that's for sure
20:17 whiteknight Chandon: if you can capture a backtrace, I would love to see it (or, example code to reproduce it locally)
20:18 nopaste "Chandon" at 192.168.1.3 pasted "Exit from timer; segfault" (32 lines) at http://nopaste.snit.ch/21195
20:19 Chandon whiteknight: that code should trigger it
20:19 whiteknight okay, I'll give it a shot when I get home
20:22 whiteknight ...and on that note, I'm off. I'll be back this evening.
20:32 aukjan joined #parrot
20:43 ash_ what are the alternatives to vtables?
20:48 japhb Tene, thbbbbpt.
20:48 Tene japhb: so I heard.
20:51 davidfetter joined #parrot
20:57 dalek parrot: r47559 | Chandon++ | branches/gsoc_threads (2 files):
20:57 dalek parrot: [gsoc threads] Segfault work-around.
20:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47559/
21:08 masak joined #parrot
21:39 masak where can I find a list of the recognized charsets and encodings in Parrot?
21:39 ash_ how do you access the attributes given to the invoke operation on a pmc
21:39 ash_ err, not attributes, parameters
21:44 sorear with great difficulty
21:44 sorear though it's easier since pcc_hackathon went in
21:45 sorear see blizkost src/pmc/p5sv.pmc for a demonstration
21:45 sorear assuming you want to pass and return arbitrary lists
21:45 sorear if you don't, it's a bit easier
21:46 ash_ i want to pass arbitrary lists, i'll looke at blizkost's pmc.
21:47 masak hm. the first reference at the bottom of http://docs.parrot.org/parrot/devel/h​tml/docs/pdds/pdd28_strings.pod.html is a dead link. :/
21:47 masak too bad, it sounded interesting.
21:49 ash_ sorear: is that in jnthn's github account?
21:49 ash_ github repo for blizkost i mean
21:50 tcurtis masak: http://plan9.bell-labs.com/sys/doc/utf.html or http://plan9.bell-labs.com/sys/doc/utf.ps or http://plan9.bell-labs.com/sys/doc/utf.pdf is probably the same thing.
21:50 masak ok, good.
21:51 masak nice! thanks!
21:52 ash_ plan9 sounded like an interesting os design, never used it though
21:53 sorear ash_: yes
21:53 ash_ did you mean p6invocation.pmc? p6sv.pmc is rather blank
21:53 ash_ and it doesn't have an invoke
21:56 ash_ ah, i see, thanks, that will help
22:00 sorear I actually meant p5scalar
22:00 sorear but p5invocation uses the same logic
22:00 sorear mostly factored into bkmarshal.c
22:17 ash_ being dynamic in C is rough
22:24 szabgabx_ joined #parrot
22:50 ash_ whats the difference between VTABLE and METHOD ?
22:51 sorear VTABLE allows you to override one of a couple hundred slots with fixed name and signature
22:51 sorear METHOD lets you use a custom name and signature
22:55 ash_ is it better to use vtables? or methods?
22:55 ash_ (a method with a slurpy would make my life easier)
22:58 Tene ash_: vtables (mostly) correspond to ops
22:59 Tene If the behavior you want to add isn't a replacement of some existing behavior, use a method.  It makes everyone's life easier, can be easily and consistently called from HLLs, etc.
22:59 Tene I'm really not fond of stuffing arbitrary behavior into unrelated vtables.
23:00 ash_ well, the invoke opcode does make sense to keep
23:00 Tene Yes, there are definitely cases where you do want to set vtables.
23:02 tetragon joined #parrot
23:20 patspam joined #parrot
23:25 kid51 joined #parrot
23:49 ash__ joined #parrot
23:52 davidfetter joined #parrot

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

Parrot | source cross referenced