Camelia, the Perl 6 bug

IRC log for #parrot, 2010-01-09

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 Zak joined #parrot
00:05 chromatic http://ccan.ozlabs.org/info/hash.html
00:09 darbelo Can we suck public domain Code into parrot?
00:11 chromatic License-wise, yes.
00:14 darbelo The code looks too 32-bit centered to use directly on parrot, but it shouldn't be to hard to adapt.
00:16 zak_ joined #parrot
00:46 darbelo joined #parrot
00:48 djc joined #parrot
00:48 darbelo left #parrot
00:48 darbelo joined #parrot
00:50 zak__ joined #parrot
01:04 Tene cognominal: the PIR generated is probably not in the right HLL
01:05 Tene is my first guess, without additional information.
01:05 plobsing joined #parrot
01:14 cognominal I will go back reading docs tomorrow. Right now I am trhowing stuff at a wall and expect that it sticks. Clearly not the way to do it.
01:24 cognominal I just need to load the parrot runtime. apparently load_language 'perl6' is not enough
01:26 cognominal load_library, load_language, load_bytecode... :)
01:36 tetragon joined #parrot
01:47 cotto_work What about the Artistic License precludes distribution of BSD-licensed code as part of Parrot?
01:48 chromatic I can't think of anything.
01:48 chromatic In general, Allison doesn't like it though.
01:49 cotto_work That sounds consistent with my experience.
01:50 chromatic Provided the copyright is clear on the source code and the license for that file is obvious, I know of no legal issues.
01:50 cotto_work I was thinking about the object system you posted yesterday, but that could be pretty easily reimplemented (if it turns out to be beneficial) and it's likely that much of the original code would be significantly modified anyway.
01:55 zak__ joined #parrot
02:00 joeri joined #parrot
02:11 cotto joined #parrot
02:13 Zak joined #parrot
02:17 cognominal chromatic, what tools are you using to debug, profile parrot?
02:18 cognominal have you thought abour blogging about that?
02:19 chromatic I thought I did somewhere.  Usually I use callgrind and KCachegrind.
02:20 cognominal ho, I found http://www.oreillynet.com/onlamp/bl​og/2007/06/thank_you_callgrind.html
02:21 chromatic That may be a bit out of date, but it's a place to start.
02:25 cotto ohai
02:26 cotto cognominal, if you want to profile pir code, you can use the profiling runcore by passing -Rprofiling to parrot.  See docs/dev/profiling.pod for more info.
02:38 Zak joined #parrot
02:56 Maddingue joined #parrot
03:09 ilbot2 joined #parrot
03:09 Topic for #parrotis now Parrot 1.9.0 "Blue-fronted Amazon" released! | http://parrot.org | Priorities: Add deprecations for 2.0; test platforms; check with HLL implementors | Roadmap: http://icanhaz.com/parrotroadmap | Latest modified TT's: http://icanhaz.com/parrotbugs
04:04 cognominal joined #parrot
04:34 japhb joined #parrot
06:53 theory joined #parrot
07:07 nopaste joined #parrot
07:14 jsut joined #parrot
08:26 iblechbot joined #parrot
08:29 chromatic joined #parrot
08:38 fperrad joined #parrot
09:40 bacek joined #parrot
10:01 bacek chromatic, http://murmurhash.googlepages.com/
10:03 bacek o hai, btw
10:08 chromatic 52 instructions; that's nice.
10:11 bacek chromatic, indeed :)
10:11 chromatic How much work is necessary to investigate this?
10:13 bacek replacing current hashing function will take couple of hours
10:13 chromatic I don't see C source code here though.
10:13 bacek testing... depends what we want from testing perspective
10:14 chromatic I'd settle for "Passes all tests".
10:14 chromatic Then we can benchmark.
10:14 bacek chromatic, check MurmurHash2.cpp. It's actually C code
10:16 chromatic You're right.
10:19 bacek Is UINTVAL platform specific?
10:19 bacek like 64 bits on amd64
10:19 chromatic I think there's a configure check for it.
10:21 bacek Bah... It's at least 64 bits on x86
10:22 chromatic #define UINTVAL long long ?
10:22 bacek unsigned long
10:28 amuck joined #parrot
10:33 nopaste "bacek" at 110.175.160.247 pasted "32-bits MurmurHash2 in Parrot" (71 lines) at http://nopaste.snit.ch/19242
10:33 ttbot Parrot trunk/ r43412 i386-linux-thread-multi make error http://tt.ro.vutbr.cz/file/cmdout/180849.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
10:34 bacek chromatic, check http://nopaste.snit.ch/19242 - quick and dirty murmurhash2
10:34 bacek there is no hash benchmark in parrot so far...
10:36 chromatic A lot of the benchmarks that aren't purely numeric spend a lot of time in hashes.
10:36 chromatic Anything objecty will.
10:38 chromatic The comment about four bytes at a time looks misleading; it looks like one byte at a time thanks to string iterators.
10:39 bacek chromatic, it is
10:39 bacek but I don't have time to properly implement it...
10:40 bacek And string iterator actually returns 4 bytes.
10:40 chromatic I'm trying to convince myself that it's worth using the string iterator rather than treating the buffer contents as raw bytes.
10:40 chromatic I'm not succeeding.
10:40 dalek parrot: r43412 | fperrad++ | trunk/README_win32.pod:
10:40 dalek parrot: [win32] update some versions & links
10:40 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43412/
10:42 bacek chromatic, it worth it. We have to generate same hashvalues for strings in different encodings.
10:42 bacek It actually my code :)
10:44 bacek (make test passed with murmur hash)
10:44 chromatic When we compare strings for equality though, we compare encodings.
10:48 bacek chromatic, TT#24
10:50 chromatic Oh, right.  Ugh.
10:50 chromatic Canonical internal fixed-width string encoding, anyone?
10:55 bacek ucs2?
10:55 purl ucs2 is crippled also
10:56 chromatic That's my inclination.
11:03 bacek I tried to convince other devs to switch to single internal representation of strings. Failed. Epically.
11:03 chromatic Let's see if the NFG approach to strings helps.
11:04 bacek It's stalled for more than a year...
11:08 mikehh If we incorporate the Unicode standard you need a 20bit (32bit?) representation for each character - all other encodings require multiples for some characters
11:09 chromatic I *think* we have to use NFG to make Rakudo work correctly, but I don't know that for certain.
11:10 mikehh NFG?
11:10 purl hmmm... NFG is No Fscking Good! or grapheme normalization form (see docs/pdds/draft/pdd28_character_sets.pod)
11:10 mikehh I think I prefer the first purl :-}
12:26 bacek joined #parrot
13:11 Zak joined #parrot
13:14 barney joined #parrot
13:28 Zak joined #parrot
13:32 mikehh joined #parrot
14:08 davidfetter joined #parrot
14:14 zak_ joined #parrot
14:35 zak__ joined #parrot
14:38 Psyche^ joined #parrot
14:46 cconstantine joined #parrot
14:48 cconstantine hi?
14:48 purl leave me alone, willya!
14:51 zak_ joined #parrot
15:01 Psyche^ joined #parrot
15:12 zak__ joined #parrot
15:17 Zak joined #parrot
15:22 zak_ joined #parrot
15:30 KatrinaTheLamia joined #parrot
15:35 bacek joined #parrot
15:59 Psyche^ joined #parrot
16:13 cconstantine ok, dumb question: How do I check if a PMC is null?
16:14 plobsing joined #parrot
16:19 plobsing hello #parrot
16:21 cotto cconstantine, in PMC_IS_NULL()
16:22 cconstantine .local pmc var; PMC_IS_NULL(var)
16:22 cconstantine ?
16:25 plobsing $I0 = isnull $P0 # IIRC
16:26 cconstantine ah
16:27 cotto PMC_IS_NULL is fo C
16:27 cotto *for
16:27 cconstantine plobsing: that works, thanks :)
16:33 zak_ joined #parrot
16:37 zak__ joined #parrot
16:47 stocks29 joined #parrot
16:51 stocks29 left #parrot
16:53 zak_ joined #parrot
17:17 amuck joined #parrot
17:22 cconstantine is it possible to have a string in NQP and convert it to a number? (eg "34" as a number)
17:23 cconstantine eh, nevermind
17:29 zak__ joined #parrot
17:33 ZeroForce joined #parrot
17:52 zak__ joined #parrot
18:04 Zak joined #parrot
18:12 Zak joined #parrot
18:20 tetragon joined #parrot
18:30 payload joined #parrot
18:37 nopaste joined #parrot
19:03 payload joined #parrot
19:03 jhelwig joined #parrot
19:26 cconstantine I'm getting the following error: 'PAST::Compiler can't compile node of type cons'  Is there anyway to tell PAST::Compiler how to compile a 'cons' type?
19:43 cconstantine I'm guessing "You don't"
19:49 jhelwig joined #parrot
19:58 jhelwig joined #parrot
20:13 payload joined #parrot
20:15 Tene cconstantine: +"34"
20:16 cconstantine that's WAY too easy :)
20:16 Tene same with ~ for str and ? for bool
20:17 Tene cconstantine: add a 'as_post' method, iirc
20:18 cconstantine ah
20:18 cotto joined #parrot
20:18 cconstantine not quite what I was looking for, but I don't think I was asking for what I wanted
20:18 Tene wait, no, that's probably a lie.
20:18 Tene oooooooookay, so what do you want, then?
20:19 cconstantine 'cons' -> PAST
20:19 cconstantine I got it I think
20:19 Tene (turns out the answer is to add another multi 'as_post' method to PAST::Compiler
20:19 Tene )
20:20 cconstantine that makes sense
20:21 cconstantine how would you go about creating a multimethod in NQP?
20:21 Tene You don't.
20:21 cconstantine :(
20:22 Tene alternate answer:
20:22 Tene You first add support for multis to nqp, and then you do it exactly the same way you'd do it in P6
20:22 cconstantine hehe
20:22 cconstantine I do do the multi dispatch in pir and call-back to nqp
21:08 ZeroForce joined #parrot
21:23 payload joined #parrot
21:31 hercynium joined #parrot
21:52 tetragon joined #parrot
22:21 patspam joined #parrot
22:23 dalek parrot: r43413 | bacek++ | trunk (2 files):
22:23 dalek parrot: Expose Parrot_pcc_do_run_ops.
22:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43413/
22:32 ttbot Parrot trunk/ r43413 i386-linux-thread-multi make error http://tt.ro.vutbr.cz/file/cmdout/180921.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
22:33 mikehh joined #parrot
22:39 dalek parrot: r43414 | bacek++ | trunk/src/ops (2 files):
22:39 dalek parrot: Detach RetContinuation from current CallContext in tailcall. Closes TT#1393.
22:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43414/
22:56 payload joined #parrot
23:13 cconstantine stacktraces on errors in pir/nqp would be really useful
23:33 lucian joined #parrot
23:49 cconstantine I have it!  Reason now parses first to a cons tree then a PAST! :)
23:52 Tene cconstantine: if you check out http://github.com/tene/steme/ you can find that I wrote a parser that compiles s-exps into matching rules that match s-exps.
23:53 Tene It's part of my macros implementation.
23:53 Tene Not sure what you're working on, but sounds like it might be of interest.
23:53 cconstantine very muc
23:54 cconstantine h
23:54 cconstantine it looks like you're using all kinds of features of pct i haven't seen documented
23:54 Tene Maybe... I have trouble keeping track of what's documented and what isn't.
23:55 cconstantine I don't have trouble :(
23:55 cconstantine I just only know about what's documented
23:55 Tene anything specific that's used there that you want to ask me about?
23:56 cconstantine let me study a bit
23:56 cconstantine http://github.com/tene/steme/blob​/master/steme/pct/grammar.pg#L31
23:57 Tene That declares 'special' to be a protoregex.  It's kind of like multiple dispatch for subs.
23:57 cconstantine what is a protoregex?
23:57 purl i guess a protoregex is like a rule or a token, except it can be overloaded dynamically (per the book)
23:58 Tene That's a Perl 6 thing, not special to PCT.  It's probably talked about in S05.
23:58 cconstantine S05?
23:58 purl see http://dev.perl.org/perl6/doc/design/syn/S05.html or dev.perl.org/perl6/doc/design/syn/S05.html or http://perlcabal.org/syn/S05.html
23:58 Tene cconstantine: look at the special:sym<...> stuff.
23:58 Tene protoregex lets another rule just say <symbol>, but it will match whichever of the alternates actually matches.

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

Parrot | source cross referenced