Camelia, the Perl 6 bug

IRC log for #parrot, 2009-08-06

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:10 cotto tough love
00:10 purl tough love is "Tough love" is just the right phrase: love for the rich and privileged, tough for everyone else.
00:18 wayland76 purl, that's an acute case of cynicism you've got going there :)
00:18 purl wayland76: sorry...
00:23 Limbic_Region joined #parrot
00:30 wayland76 Does anyone know if there are plans to support glob() in Parrot?
00:31 kthakore joined #parrot
00:31 kthakore Hello>
00:31 kthakore ?
00:31 chromatic Slow channel today, kthakore.
00:31 kthakore oh hi chromatic
00:32 kthakore um looking in to parrot for NCI
00:32 chromatic Tene, ping
00:32 kthakore I thought I would do a prototype on a simple library
00:32 kthakore but no clue where to start
00:32 zak_ joined #parrot
00:32 kthakore also chromatic may I PM you?
00:33 chromatic If necessary.  I'm working on getting you website access, if that's your question.
00:33 wayland76 I know even less, but have you seen ncigen, and http://docs.parrot.org/parrot/latest/html/​docs/pdds/draft/pdd16_native_call.pod.html
00:34 kthakore chromatic, oh no
00:34 kthakore thats fine
00:34 chromatic ncigen is the place to start.
00:34 kthakore I wanted to ask you some question I had on SDL parrot but I thought it was off topic
00:35 kthakore wayland76, will this create perl 5 NCI too?
00:35 kthakore or do I have to script that myself?
00:35 wayland76 kthakore: Perl 5 doesn't do NCI until perl5 runs on Parrot
00:36 kthakore wayland76, umm chromatic has a module on cpan
00:36 wayland76 Perl5 does XS instead
00:36 kthakore hold let me get it
00:36 wayland76 Unless I'm wrong :)
00:38 kthakore http://search.cpan.org/~chromatic/P5NCI-0.31/
00:38 kthakore will this work?
00:38 chromatic I wouldn't recommend it.
00:38 chromatic The idea is right, but the implementation is wrong.
00:38 wayland76 well, I hope chromatic answers; I bow to everyone else in their superior knowledge of NCI :)
00:40 kthakore oh btw I am trying to do this http://wiki.github.com/cthulhuology/SDLPerl/v300
00:40 chromatic I don't think ncigen can emit Perl 5, but it shouldn't be too difficult.
00:40 kthakore chromatic, hmm ... then how would I do this? For output, it would generate either or both Perl 5 and Parrot code that
00:41 chromatic If I were writing the SDL Perl 5 bindings, I'd generate a thunk library with only the necessary thunks.
00:41 mokurai joined #parrot
00:42 kthakore excuse me I was trying to google thunk but it failed so can you tell me what that is?
00:42 purl that is how it does it.
00:42 kthakore purl: shut up
00:42 purl make me
00:43 chromatic A thunk?  That's the code that translates between different calling conventions, from Perl 5's @_ to whatever C uses on your platform.
00:43 kthakore oh
00:44 kthakore so I guess the way this will work is: (correct me if I am wrong)
00:45 kthakore [c headers] -> [ parrot NCI ]  -> [Perl 5 code]  using ncigen then a grammar
00:45 kthakore what is the perl 5 code calling?
00:45 kthakore XS or NCI library
00:45 jtal joined #parrot
00:46 kthakore "opens the appropriate library with NCI or Parrot NCI" thats what the idea says
00:47 chromatic XS... a Perl 5 NCI library will be XS.
00:47 chromatic Perl 5 SDL bindings oughtn't go through Parrot.
00:48 kthakore hmmm .... thats what the idea is ... this way no compilation is required by end user
00:48 chromatic NCI isn't quite to that point yet.
00:51 kthakore "SDL binding for either language by running the parser against SDL.h" this part is out of the question then?
00:53 jlolofie joined #parrot
00:53 chromatic That should work.
00:53 chromatic That'd be part of the build process... check in the generated file and distribute that.
00:55 kthakore and then can't I have it make P5NCI code which calls an XS library that we compile and distribute for each platform?
00:55 chromatic Yes, that's what I'd do.
00:56 kthakore ok that makes sense now
00:56 kthakore now lets see if I can make this for a hello world library 0_0
00:57 kthakore how do I make a parser in parrot? is it similar to Antrlworks?
00:58 wayland76 kthakore: Does this mean that you'll be working on nci?
00:58 chromatic See examples/languages/squaak
00:58 kthakore wayland76, longterm road plan for SDL_perl v3.0.0
00:59 kthakore wayland76, I am going to try atleast
00:59 kthakore this way I can cover parrot SDL lib too
00:59 wayland76 Ok, because I've just been looking at ncigen, and I've had some ideas to make it a lot more flexible :)
00:59 kthakore wayland76, great
00:59 kthakore let me know when you have code I can use :P
01:00 wayland76 Well, maybe not a lot, but some
01:00 wayland76 kthakore: Will do
01:00 kthakore oh great
01:00 kthakore I am at http://github.com/kthakore and I will probably have the repo of this stuff there
01:01 wayland76 Ok
01:01 wayland76 My plan is to contribute everything back into the Parrot repo
01:01 wayland76 Unfortunately, I don't speak any of the Parrot-related languages except Perl and C
01:01 jlolofie so docs say PAST::Op of pastype call, calls method of name and passes child nodes... where can I read this about this parent->child stuff?
01:01 jlolofie I think I missed that bit
01:02 kthakore I am ok with c and just starting with perl
01:02 kthakore my goal in all this is to never do game programming in python
01:02 kthakore I think perl broke me
01:02 chromatic I've done game programming in Python.  It's not bad.
01:03 kthakore chromatic, ya but wouldn't perl be better?
01:03 kthakore actually I am not qualified to say that
01:03 chromatic It depends on the library.  Moose + PerlGame would be fantastic.
01:03 kthakore I just prefer perl
01:03 kthakore yup
01:03 kthakore thats my wishlist
01:03 kthakore PerlGame
01:03 kthakore an upgrade on pygame
01:04 kthakore but I need to get SDL past v2.5.0
01:04 jtal ...the right function is getting called but with no args
01:06 kthakore does parrot have a git repo somewhere?
01:06 wayland76 SVN
01:06 kthakore aww :(
01:06 kthakore ok
01:06 jtal wow after reading my original question it seems like I dont speak english.. if anyone can help me I can restate the question :>
01:06 wayland76 kthakore: http://www.parrot.org/dev
01:07 kthakore thank you
01:07 kthakore was heading there now
01:07 wayland76 (Well, that links to SVN and a bunch of other stuff)
01:07 kthakore chromatic, what is a good time for me to email you?
01:08 chromatic Whenever is fine.
01:08 kthakore great thx
01:08 kthakore oh almost forgot
01:08 kthakore who moderates sdl-devel@perl.org
01:08 kthakore my topics keep disappearing!
01:08 chromatic No idea... probably Ask and Robert.
01:09 kthakore where do I find them?
01:09 chromatic webmaster@perl.org
01:09 kthakore cause I keep getting emails from new comers saying they have trouble posting to sdl-devel
01:10 kthakore btw some did try moose + SDL (not yet perlgame)
01:11 kthakore its is here http://github.com/domm/Game-PerlInvaders
01:11 kthakore oh man I got so off topic
01:11 kthakore sorry channel gods
01:13 eternaleye (backlogging) Coke: re 'changes in commit id foo', git diff <sha1> <same_sha1>^ (note trailing caret, means 'the one before this')
01:14 kid51 joined #parrot
01:27 wayland76 (Incidentally, I was wrong about the ideas for extra flexibility; they won't work :| )
01:30 kthakore wayland76, aww why? what was the idea?
01:30 wayland76 Basically, it involved a complete misunderstanding of the codebase, so probably just as well :)
01:32 kthakore nice
01:32 kthakore thats how I code
01:32 kthakore crazy idea + unit test
01:32 kthakore works everytime
01:34 wayland76 I do that, but without the unit tests :)
01:34 kthakore oh
01:34 kthakore then it doesn't work
01:35 kthakore :P
01:35 kthakore purl: goodnite
01:35 purl kthakore: huh?
01:35 kthakore purl: good nite
01:35 purl kthakore: huh?
01:35 kthakore purl: shut up
01:35 purl make me
01:35 kthakore gnitre
01:37 jtal purl, child nodes?
01:37 purl jtal: i don't know
01:37 jtal me too either
01:40 Tene chromatic: pong
01:40 chromatic Know much about ncigen?
01:41 wayland76 Hi.  I'm looking at ncigen's "actions.pm".  Currently ncigen dies with this error: "Method 'text' not found for invocant of class 'C99;Grammar'".  The line of code that it appears to be in reads: $sm.name(strip_spaces($declarator.text()));
01:42 wayland76 My question is, has the "text" method changed its name or something?
01:42 Tene ncigen is at best unfinished.
01:43 Tene ncigen wasn't able to parse any of the headers I tried it on.
01:45 Tene eternaleye, Coke: the best way to see what's in a commit ID is 'git show <id>'
01:47 wayland76 Yeah, I realise that ncigen is unfinished.
01:47 wayland76 I've also been told that it was tewk's baby, and he's disappeared
01:48 Tene Also true!
01:48 wayland76 What's that "actions.pm
01:48 wayland76 written in?
01:48 wayland76 NQP?
01:48 purl it has been said that NQP is not quite perl (6) or http://svn.perl.org/parrot/trunk/compilers/nqp
01:50 Tene Yes.
01:51 Tene chromatic: you missed a word in "web applications will native client-side applications" in your latest blog post.
01:54 chromatic Thanks.
01:54 Tene chromatic: you pinged me earlier?
01:55 chromatic About ncigen.
01:56 Tene Ah, right, context.  Okay, thanks.
01:58 kid51 Only one file came in during 'svn up'.  Summer heat must be getting to people.
01:58 Tene svn rm * ; svm commit -m 'kid51 made me do it'
01:59 kid51 ooh, brutal!
02:02 cotto kid51, they're called "branches" ;)
02:03 wayland76 Quick question; how do I get the text from a PCT node?
02:03 wayland76 Or even better, where do I find the answer to questions like that?
02:03 Tene wayland76: what line of ncigen's actions.pm?
02:04 wayland76 235
02:04 wayland76 (or thereabouts; it contains the word "text", anyway)
02:04 Tene You must be using an old ncigen... that uses ~$declarator
02:04 Tene and no instance of .text in that file
02:04 wayland76 Ah, ok
02:04 Tene $sm.name(strip_spaces(~$declarator));
02:05 wayland76 I think it's the 1.4.0 version
02:05 kid51 cotto:  Ya know, 2 years ago this time I was almost the only person in the project using branches.
02:05 kid51 Now they're positively chic!
02:05 wayland76 Tene: Thanks :)
02:05 Tene waylyes, looks like it was updated on (tewk    2009-07-23 22:44:12 +0000 235)
02:10 wayland76 Ah, I see the problem.  How do I change back to HEAD from the 1_4_0 tag?
02:10 Tene git-svn?
02:10 purl somebody said git-svn was amazingly great or https://trac.parrot.org/pa​rrot/wiki/git-svn-tutorial
02:10 Tene or just svn?
02:10 wayland76 Just svn
02:11 wayland76 checkout -r
02:11 wayland76 ?
02:11 Tene with svn, a branch is just a directory
02:12 Tene so just svn co https://.../trunk
02:12 dalek parrot: r40423 | cotto++ | branches/pluggable_runcore/src/runcore/cores.c:
02:12 dalek parrot: [prof] write info for the previous instruction rather than the next
02:12 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40423/
02:19 * kid51 must sleep
02:19 purl $kid51->sleep(8 * 3600);
02:20 TiMBuS joined #parrot
02:28 PacoLinux joined #parrot
02:36 preflex_ joined #parrot
02:40 allison joined #parrot
02:41 allison no YAPC::EU hackathon for me :( (still waiting on visa)
02:41 janus joined #parrot
02:42 hercynium joined #parrot
02:45 satrac joined #parrot
02:46 wayland76 allison: No doubt you're looking for some way to fill in the time :)
02:46 allison wayland76: pcc_rewiring wins :)
02:46 wayland76 Have you considered the latest patch on: https://trac.parrot.org/parrot/ticket/560
02:47 wayland76 Ah :)
02:47 wayland76 Well, I don't want to hold you back there either :)
02:47 allison hadn't revisited the ticket, looking now
02:48 allison wayland76: did a deprecation notice make it into 1.4
02:48 allison ?
02:49 wayland76 Probably not
02:49 wayland76 Not that I know of, IOW
02:49 wayland76 And I realise that means that it has to wait another 6 months for the full patch
02:50 wayland76 But I'm guessing that that other patch I made should (if suitable) be able to be applied now, if the other things said in the ticket are true
02:50 allison yes, the smaller patch can be applied now
02:50 allison and, it looks reasonable
02:51 allison the separator should become a config item, but not critical that it be added right now
02:52 wayland76 I agree, but I don't have enough of a handle on the codebase to be able to do that quickly :)
02:53 wayland76 IIRC, I asked on IRC about it at one time, and was told that the same thing was done elsewhere
02:55 satrac joined #parrot
02:58 allison which is a good sign it needs to be generalized at some point
02:58 wayland76 Agree
03:02 wayland76 Where are the config items set?
03:04 wayland76 (lunch afk&, will backlog)
03:07 cognominal joined #parrot
03:14 PacoLinux joined #parrot
03:20 donaldh joined #parrot
03:40 tetragon joined #parrot
03:42 wayland76 joined #parrot
04:01 theory joined #parrot
04:03 treed joined #parrot
04:17 dukeleto when do I need to use CTX_REG_INT versus REG_INT when attempting to set register values from C? specifically, from parrot_debugger
04:29 dukeleto both seem to work for what I need to do, so I guess it is not a pressing issue. but I would like to understand more about Parrot_Context's
04:45 dukeleto it looks like I have assigning to integer registers working in the debugger. I now need to generalize it to the other types of registers
05:10 dalek parrot: r40424 | cotto++ | branches/pluggable_runcore/src/runcore/cores.c:
05:10 dalek parrot: [prof] share a single filehandle and use a static counter to close it from only the outermost runloop
05:10 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40424/
05:17 wayland76 joined #parrot
05:23 cotto not quite there yet: http://mksig.org/parrot/callgrind_broken.png
05:24 GeJ cotto: shiny!
05:24 GeJ what app is it?
05:25 cotto kcachegrind with my extravagantly experimental profiling runcore
05:38 dukeleto cotto: that looks really sweet
05:38 cotto especially the numbers
05:40 GeJ About that... I wanted to ask you, do you think that "nan%" is an indication of a possible bottleneck? ;)
05:58 uniejo joined #parrot
06:22 tetragon_ joined #parrot
06:28 payload joined #parrot
06:40 wayland76 joined #parrot
06:52 HG` joined #parrot
07:21 donaldh joined #parrot
07:53 moritz seen rafl
07:53 purl rafl was last seen on #moose 7 hours, 3 minutes and 8 seconds ago, saying: perigrin: it used to be. nowadays it really isn't :)
07:56 cotto seen rofl
07:56 purl I haven't seen 'rofl', cotto.  Close matches are: rofll [200d, 7:42:17], profleolo [9y, 201d, 22:40:26]
07:56 cotto seen rotfl
07:56 purl I haven't seen 'rotfl', cotto
07:57 cotto seen me
07:57 purl me was last seen on #perl 1 years, 89 days, 16 hours, 2 minutes and 34 seconds ago, saying: purl, karma me  [May  8 15:48:29 2008]
08:01 cognominal joined #parrot
08:22 cotto msg kid51 I suspect I need to add a configure step to detect if clock_gettime is available.  What are the steps I need to go through?
08:22 purl Message for kid51 stored.
08:52 chromatic joined #parrot
09:07 zak_ joined #parrot
09:20 sjn joined #parrot
09:20 he joined #parrot
09:20 he_ joined #parrot
10:05 bacek joined #parrot
10:13 bacek o hai
10:33 preflex joined #parrot
11:20 quek joined #parrot
11:20 donaldh joined #parrot
12:15 dalek parrot: r40425 | NotFound++ | trunk/src/pmc/exporter.pmc:
12:15 dalek parrot: [cage] full use of SET/GET ATTR in exporter PMC
12:15 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40425/
12:24 quek left #parrot
12:26 dalek parrot: r40426 | NotFound++ | branches/auto_attrs (11 files):
12:26 dalek parrot: merge from trunk r40425
12:26 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40426/
12:52 dalek parrot: r40427 | NotFound++ | branches/auto_attrs/src/pmc (2 files):
12:52 dalek parrot: set auto_attrs in exporter and pointer PMCs
12:52 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40427/
12:52 kj joined #parrot
13:21 dalek rakudo: 6ba717c | moritz++ | README:
13:21 dalek rakudo: [README] the package is called libicu-dev in lenny, celeon++
13:21 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​ba717c87eb4969e1bd2a80b2eebb132435e5d5b
13:23 dalek parrot: r40428 | jonathan++ | trunk (2 files):
13:23 dalek parrot: [core] Need to export Parrot_oo_find_vtable_override_for_class so subclasses of Object are still able to look up vtable overrides.
13:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40428/
13:28 JimmyZ joined #parrot
13:29 dalek tracwiki: v7 | coke++ | git-svn-tutorial
13:29 dalek tracwiki: fix REPO url
13:29 dalek tracwiki: https://trac.parrot.org/parrot/wiki/git​-svn-tutorial?version=7&amp;action=diff
13:31 Coke odd. I do a git svn clone, then do an git svn rebase, and the rebase actually seems to do something.
13:31 Coke shouldn't that be a noop at that point?
13:33 PerlJam Coke: I would think so unless there have been upstream commits in the mean time.
13:35 Coke I just did git svn clone -s -r 40000 https://svn.parrot.org/parrot #
13:36 Coke then I ran a script which used to do "svn up" but now does "git svn rebase", and it started enumerating all the commits.
13:36 Coke I wonder if this was the cause of my confusion earlier in teh week.
13:38 PerlJam well, the latest rev is 40428, so if you cloned at 40000 and did a rebase, it started pulling all the revs in between
13:38 PerlJam caveat lector--I haven't use git-svn in a while and this is all from my fallible human memory  :)
13:39 dalek tracwiki: v8 | coke++ | git-svn-tutorial
13:39 dalek tracwiki: pick a more recent commit in case someone is cut and pasting this.
13:40 dalek tracwiki: https://trac.parrot.org/parrot/wiki/git​-svn-tutorial?version=8&amp;action=diff
13:44 PerlJam Coke:   svn info https://svn.parrot.org/parrot | awk '/^Revision:/ { print $2 }'  # get the most recent revision number.
13:46 Coke PerlJam: I wanted /some/ history, perhaps unnecessarily.
13:48 PerlJam okay.
13:49 kj joined #parrot
13:49 PerlJam $(svn info https://svn.parrot.org/parrot | awk '/^Revision:/ { print $2 }') - 100;    #   ;-)
13:50 Austin joined #parrot
13:51 Austin Moo!
13:51 Austin Good morning, purl.
13:51 purl And good moroning to you, Austin.
13:52 Austin Is there anyone awake who is clueful about packfile problems?
13:53 PerlJam Austin: you're going to fix whatever problems there are if only you have someone to talk to about them?  :)
13:53 Austin Exactly.
13:53 Austin Hopefully, someone can tell me why I'm having this problem, and I'll do whatever is needed to stop having it.
13:53 Austin :)
13:53 PerlJam Austin++  here's hoping you find someone clueful
13:54 Austin Don't go crazy with that karma. I suspect "doing whatever" translates into "reorganizing my grammar."
13:56 PerlJam doing *something* to further parrot progress is always worth some karma
13:56 Austin Thanks.
13:57 Austin In the mean time, I don't suppose you've encountered the case where you suddenly start getting pbc load failures, with a bunch of accompanying message about "size in directory doesn't match size at offset...", eh?
13:57 PerlJam nope
13:58 Austin Bummer.
13:59 Austin Do you know what a directory is,even?
13:59 Austin (packfile-wise)
13:59 payload joined #parrot
14:00 dalek tracwiki: v13 | kjs++ | PIRCDevelopment
14:00 dalek tracwiki: add TOC for PIRC guts documentation. Will fill in the gaps over next weeks.
14:00 dalek tracwiki: https://trac.parrot.org/parrot/wiki/PIR​CDevelopment?version=13&amp;action=diff
14:02 dalek TT #851 closed by coke++: [DEPRECATED]  .find_key method on PGE;Match objects
14:03 dalek parrot: r40429 | coke++ | trunk (2 files):
14:03 dalek parrot: Remove PGE::Match's find_key method (TT #851)
14:03 dalek parrot: Not used anywhere else in the repo.
14:03 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40429/
14:03 dalek tracwiki: v14 | kjs++ | PIRCDevelopment
14:03 dalek tracwiki: add entry for symbols.
14:03 dalek tracwiki: https://trac.parrot.org/parrot/wiki/PIR​CDevelopment?version=14&amp;action=diff
14:17 payload joined #parrot
14:23 theory joined #parrot
14:26 treed joined #parrot
14:31 dalek tracwiki: v15 | kjs++ | PIRCDevelopment
14:31 dalek tracwiki: start a section on heredoc parsing.
14:31 dalek tracwiki: https://trac.parrot.org/parrot/wiki/PIR​CDevelopment?version=15&amp;action=diff
14:42 particle austin: a packfile directory lists the packfile segments in a packfile
14:42 Austin Thanks, particle.
14:43 particle the error you're seeing is spit from src/packfile.c:2105
14:43 Austin Yep. Found that.
14:43 Austin Sadly, it's compiled code. I have no idea why I'm getting it.
14:43 particle directory segments are described in docs/pdds/pdd13_bytecode.pod:297
14:44 Austin Do you know the circumstances under which a segment is created (by parrot compiling pir, if that matters)?
14:44 kj Austin: segments are created during bytecode generation
14:44 kj look at compilers/imcc
14:44 Austin Yes, but when?
14:44 purl but when is the election?  I might be there just in time for Austria to annex CA.
14:44 kj particularly, the file pbc.c i think
14:44 kj during compilation
14:44 Austin Is there one per function, one per namespace statement, one per unique namespace...?
14:45 kj imcc parses PIR code, creates a data structure and then traverses over that to generate the bytecode.
14:45 kj ehm
14:45 kj lemme think
14:45 kj there's a number of segments
14:45 kj 1 segment for the actual bytecode
14:45 kj just one i think
14:45 kj 1 segment for all the constants
14:45 Austin Aha.
14:45 Austin So it's not "too many of ..." whatever, then, if there's only one.
14:46 kj so bascially the different types of information of the bytecode are stored in diffferent types of segments
14:47 kj 1 segment therefore is pure for the actual integer numbers that represent the instructions (and also integer arguments, as they are stored "in-line", as opposed to NUM and STRING arguments, which are stored in the constants segments; in the bytecode they are represented by an integer as well, which is the index into the constants table)
14:47 kj pbc.c would be of interest perhaps
14:47 Andy joined #parrot
14:48 particle the different types of segments are: directory, default, fixup, constant table, bytecode, pir debug, annotations, pic data, dependencies
14:48 kj there's a segment for JIT info as well i believe
14:49 Austin What I seem to have is a bunch of .pir files being included by close.pir.
14:49 Psyche^ joined #parrot
14:49 theory joined #parrot
14:49 particle what is the full error text?
14:49 Austin At this point, if I remove one file from the list, I get a pbc that doesn't have these packfile problems.
14:49 Austin particle: Lemme rebuild it. Just a sec.
14:52 Austin http://nopaste.org/p/a5YrkyC1nb
14:52 Austin Based on what you said above, it seems like several segments are hosed.
14:53 kj i have never seen that before. have you got a cleanly built parrot?
14:53 Austin So I wonder if the file header isn't hosed.
14:53 particle yes indeed
14:53 Austin kj: It's been working for some time now.
14:53 particle gonna need gdb to dig into that
14:53 Austin -r 40290
14:54 Austin Also, I notice that the pbc_header.pl script no longer works.
14:56 payload joined #parrot
14:56 Austin Ahh.
15:04 Austin joined #parrot
15:04 Austin Well, that was distracting.
15:05 Coke msg whiteknight - posted reply to TT #872, +1 if you like.
15:05 purl Message for whiteknight stored.
15:05 Coke (this is regarding the ``deprecation'' of the pasm1 compiler.
15:12 Austin Oh. Mine was regarding my machine spontaneously rebooting on me.
15:13 Austin (The dreaded blue-screen of death...)
15:13 masak joined #parrot
15:14 masak ok, so I have a string of some encoding, say UTF-8. is there a way to convert the string to binary (in PIR) and traverse the binary string byte-for-byte?
15:14 davidfetter joined #parrot
15:14 masak I've looked in pdd28 and ch04_variables and the test suite, and things seem to point in that direction, but I find nothing conclusive.
15:15 Coke transcode it to  binary?
15:15 masak aye.
15:15 masak this is for .encode in Rakudo.
15:16 Coke no, I'm saying, do that. =-)
15:16 masak aha.
15:16 Austin Masak: just index it.
15:16 Coke .local int bin_coding ; bin_coding = find_encoding 'binary'
15:16 masak Austin: but won't the indexing be char-level?
15:17 masak Coke: so far, so good...
15:17 Coke then use trans_encoding to transcode it...
15:17 masak :)
15:17 * masak greps for how to use trans_encoding
15:17 Coke new_string = trans_encoding old_string, bin_coding
15:18 masak gracias.
15:18 purl grassy ass!
15:18 Coke no thanks, I already have one.
15:18 masak purl: you're not fit for polite company.
15:18 purl masak: excuse me?
15:18 Coke purl, your mother?
15:18 purl rumour has it my mother is the root of all evil
15:19 masak .oO( mother of purl )
15:19 Austin Or iterate it.
15:19 Patterner purl: money?
15:19 purl i guess money is the root of all aevil.
15:21 donaldh joined #parrot
15:22 masak` joined #parrot
15:23 masak` urgh. flaky conn.
15:32 HG` joined #parrot
15:37 estrabd__ joined #parrot
15:52 masak Coke: once I have the binary string, how can I iterate over it?
15:54 masak I naïvely tried 'it = iter new_string', but that didn't fly.
16:01 mikehh joined #parrot
16:11 Coke I thought that we removed iteration from strings.
16:12 Coke something like one_char_string = substr string, start, 1 ?
16:12 Coke or perhaps one_char_string = ord string, pos
16:13 Coke er, that last one returns an int, not a string, I think.
16:13 masak` joined #parrot
16:15 masak` ok, I figured it out, looking at others' examples.
16:15 Coke woot.
16:15 masak` I see from the backlog that you answered as well, thanks.
16:15 masak` now, I get "encoding 'binary' not found".
16:15 masak` so I grepped for find_encoding, which lead me to try 'singlebyte' instead.
16:16 masak` same result.
16:17 dalek TT #904 created by gerd++: PGE trigger a "Segmentation fault" on ppc
16:18 treed When was iteration removed from strings?
16:19 masak anyway, what is the right way to transcode to binary?
16:19 treed binary what?
16:20 purl i heard binary was => no longer just a "fancy comma." ... It provides scalar context to both sides.
16:20 treed You mean converting an integer to a string in binary representation?
16:20 masak treed: no, I mean converting a string to its UTF-8 codepoints.
16:20 masak represented as a list of bytes.
16:21 masak hm, I said that wrong. "...to its Unicode codepoints, encoded as UTF-8."
16:21 * masak still learning
16:21 purl learning is not wasting time
16:21 masak purl: no, but talking to you is.
16:21 purl masak: what?
16:22 kj joined #parrot
16:22 treed Well, I'm pretty sure Parrot's strings are natively unicode.
16:22 treed So you could just use ord, I'm thinking
16:22 masak I find some occurrences of 'singlebyte' in t/op/string.t, but they're all marked SKIP.
16:22 treed the 3rd arg to ord is the index, so you could loop on that
16:22 treed There may be a better way though.
16:23 masak that's how I loop now, yes.
16:23 masak problem is, I never get to that point, because I can't do the conversion.
16:23 treed Conversion from what to what?
16:24 masak from a Rakudo string to a list of UTF-8 bytes.
16:24 masak the step I fail on is 'bin_encoding = find_encoding "singlebyte"'
16:25 treed Is there a list of encodings somewhere?
16:25 masak if you're asking me, then I don't know. I'm just grepping for hints in the source tree.
16:29 treed ENCODING *Parrot_default_encoding_ptr;
16:29 treed ENCODING *Parrot_fixed_8_encoding_ptr;
16:29 treed ENCODING *Parrot_utf8_encoding_ptr;
16:29 treed ENCODING *Parrot_ucs2_encoding_ptr;
16:29 treed ENCODING *Parrot_utf16_encoding_ptr;
16:29 treed I think that's it.
16:30 treed Try fixed_8, maybe.
16:30 Austin Masak, binary is a charset, not an encoding. I think you may need a different opcode.
16:31 Austin Try "find_charset" instead of "find_encoding" maybe?
16:31 masak` joined #parrot
16:31 treed 32:CHARSET *Parrot_iso_8859_1_charset_ptr;
16:31 treed 33:CHARSET *Parrot_binary_charset_ptr;
16:31 treed 34:CHARSET *Parrot_default_charset_ptr;
16:31 treed 35:CHARSET *Parrot_unicode_charset_ptr;
16:31 treed 36:CHARSET *Parrot_ascii_charset_ptr;
16:31 treed Yeah, sounds right, then.
16:31 treed I find that... interesting though.
16:31 treed That "binary" is a charset.
16:31 masak` because it doesn't work?
16:32 masak` ah.
16:32 treed I mean, if it just converts whatever charset to its byte-by-byte representation, then it's not idempotent.
16:32 treed It would depend on the source string.
16:33 treed Unless it's something else.
16:33 moritz but still very useful, no?
16:33 treed Maybe useful, but it's not a very logical place to have that feature.
16:33 masak` I'm inclined to agree.
16:33 masak` is that why it doesn't work? :)
16:33 treed I'd expect an opcode that just gives a FixedIntegerArray.
16:33 masak` yes please.
16:34 treed Based on the current charset/encoding.
16:36 mokurai joined #parrot
16:37 masak ok, so what would please me at this point would be information about the current way to do transcoding to binary. I can't find a way.
16:37 * treed hasn't had to do it.
16:37 treed I can see if cardinal implements that.
16:37 treed Just a sec.
16:37 masak thanks.
16:38 masak even learning that it's not possible in Parrot right now, though irritating, would at least help in explaining why my efforts so far have failed.
16:38 treed Cardinal implements each_byte, but it's not doing it as integers, but rather as characters (so width=1 strings)
16:39 treed So it's just a normal iter
16:39 masak sorry, I didn't get the part about characters.
16:39 masak but it kinda sounds like what I want.
16:39 masak what source file should I look at to learn more?
16:40 treed github.com/cardinal/cardinal is the repo
16:40 treed src/classes/String.pir is the file
16:40 treed I wonder if it's broken though.
16:40 treed Since someone earlier mentioned that iterating strings was removed.
16:41 NotFound If you want codepoint values based on current charset and encoding, that's not binary ar all.
16:41 treed Yep.
16:41 treed http://github.com/cardinal​/cardinal/issues#issue/22
16:41 treed So it was removed.
16:41 treed And that's why that test started failing.
16:41 masak ok.
16:41 masak so, still no way forward.
16:42 * treed wonders why string iteration was removed.
16:42 treed Seems like at least Python and Ruby need it.
16:44 treed https://trac.parrot.org/parrot/wiki/KeysRefactor
16:44 treed Keys currently serve only one purpose: navigate in nested containers. Iteration over containers was removed as part of key_revamp branch.
16:44 treed They could have left it in until the new method was in.
16:47 treed Or is it in?
16:48 treed bacek_at_work: ping? I see you wrote that wiki page. Could you fill us in?
16:52 particle joined #parrot
16:56 Coke masak: sounds like you don't actually want binary.
16:57 Coke what are you trying to do?
16:57 masak Coke: there's a Str and a Buf type in Rakudo.
16:57 masak the Str type provides access to the characters, and the Buf type to the bytes.
16:57 masak I want to be able to encode a string to a list of bytes.
16:58 Coke ok. sounds vaguely like binary, then.
16:59 Coke (Side note: simon was in the middle of doing a complete rewrite of parrot strings which seems to have stalled.)
16:59 Coke let me try the binary and see what happens.
16:59 masak thanks.
17:00 dalek rakudo: c10f66d | jnthn++ |  (4 files):
17:01 dalek rakudo: Make implementing a method postcircumfix:<( )> work so you can make an object invokable. This bumps required Parrot version.
17:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​10f66da9f740eb52c290e7d83ad9c17a73cafd9
17:01 dalek rakudo: 25b6d0b | jnthn++ | src/setting/Junction.pm:
17:01 dalek rakudo: Make junctions invokable; they invoke all elements and return a junction of the return values.
17:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​5b6d0b5d293e95d088511c37053ca08e6d2839e
17:01 dalek rakudo: 459f5ab | jnthn++ | :
17:01 dalek rakudo: Merge.
17:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​59f5abb041a817ce22d027ae9caff9dfb891af6
17:01 masak Coke: things actually seem to work now.
17:02 masak Coke: pmichaud suggested I try 'fixed_8'.
17:02 masak pmichaud++
17:02 Coke ok. binary is a charset, not an encoding (my bad). transcharset to binary fails.
17:02 Coke so if you have something that looks right, great. "i hate parrot strings"
17:03 Coke sorry about the dead end.
17:03 masak no prob. seems to have worked out.
17:04 AndyA joined #parrot
17:06 gaz joined #parrot
17:12 nopaste "mikehh" at 90.209.117.193 pasted "PATCH for codetest FAILure at r40429 - tabs in src/pmc/exporter.pmc" (17 lines) at http://nopaste.snit.ch/17486
17:13 mikehh make test/codetest PASS after patch
17:14 dalek tracwiki: v16 | kjs++ | PIRCDevelopment
17:14 dalek tracwiki: more on heredoc
17:14 dalek tracwiki: https://trac.parrot.org/parrot/wiki/PIR​CDevelopment?version=16&amp;action=diff
17:16 kj_ joined #parrot
17:17 dalek tracwiki: v17 | kjs++ | PIRCDevelopment
17:17 dalek tracwiki: more updates.
17:17 dalek tracwiki: https://trac.parrot.org/parrot/wiki/PIR​CDevelopment?version=17&amp;action=diff
17:24 dalek tracwiki: v18 | kjs++ | PIRCDevelopment
17:24 dalek tracwiki: more on heredoc processing. the main function.
17:24 dalek tracwiki: https://trac.parrot.org/parrot/wiki/PIR​CDevelopment?version=18&amp;action=diff
17:29 Coke Is anyone using their own subtype of NameSpace?
17:30 allison joined #parrot
17:38 dalek tracwiki: v19 | kjs++ | PIRCDevelopment
17:38 dalek tracwiki: https://trac.parrot.org/parrot/wiki/PIR​CDevelopment?version=19&amp;action=diff
17:40 * Coke bets not.
17:41 Coke So, if I wanted to track my own information in a NS, but subclassing NS doesn't work, any suggestions on how to track attributes for a NS?
17:42 Coke (I suppose I could do something evil like stick it in the namespace using a key that would normally be impossible, (like one that started with the HLL NS separatror)
17:44 MoC joined #parrot
17:46 dalek tracwiki: v20 | kjs++ | PIRCDevelopment
17:46 dalek tracwiki: https://trac.parrot.org/parrot/wiki/PIR​CDevelopment?version=20&amp;action=diff
17:47 NotFound Coke: There is some problem other than the one with the HLL main namespace?
17:53 dalek tracwiki: v21 | kjs++ | PIRCDevelopment
17:53 dalek tracwiki: https://trac.parrot.org/parrot/wiki/PIR​CDevelopment?version=21&amp;action=diff
17:53 Coke If I had a working example of using an hll_map'd namespace, that'd get me 90% of the way there. ISTR you'd have to do this at :immediate time, and if I do that, I get a segfault. If I just do it :load time, I get no mapped type.
17:53 Coke ;(just a plain NameSpace)
17:55 Coke (see #867(
17:55 NotFound Coke: I'll take a look.
17:55 Coke hurm.
17:56 mikehh include/parrot/oo.h causes build failure with g++ (builds with gcc) r40429 - Ubuntu 9.04 i386
17:56 Coke actually, if I swap that to use :immediate instead of :init, that does seem to work.
17:56 NotFound But not very fast, is a very hot day ;)
17:56 Coke similar code in partcl is segfaulting, however.
17:56 nopaste "mikehh" at 90.209.117.193 pasted "PATCH to fix build failure with g++ - include/parrot/oo.h at r40429" (15 lines) at http://nopaste.snit.ch/17487
17:57 NotFound mikehh: That patch isn't an undoing of a recent change?
17:58 NotFound Ah, no, I see now,
17:58 mikehh just moving PARROT_EXPORT to top of function
17:58 NotFound You're right, is failing.
17:59 mikehh it builds with gcc - I failed with g++ and then built with gcc - patched and it then built with g++
18:00 NotFound Looks like is hust a lack of headerizing
18:00 iblechbot joined #parrot
18:00 mikehh passes make test and codetest (with previous patch as well http://nopaste.snit.ch/17486)
18:01 NotFound Wait a moment, a full headerzing is a better fix.
18:07 dalek parrot: r40430 | NotFound++ | trunk/include/parrot/oo.h:
18:07 dalek parrot: [cage] update headerizing, mikehh++
18:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40430/
18:17 whoppix joined #parrot
18:18 mikehh do we have any documentation on headerizing?
18:24 NotFound mikehh: just do 'make headerizer' and see if it breaks something ;)
18:33 mikehh so essentially you should run it whenever you change any exportable c functions - pmc as well?
18:34 mikehh the header part that is
18:43 whiteknight joined #parrot
18:52 whoppix_ joined #parrot
18:54 Andy joined #parrot
19:04 chromatic joined #parrot
19:06 NotFound mikehh: no, pmc header files  are auto generated
19:17 ruoso joined #parrot
19:19 ruoso joined #parrot
19:20 zak_ joined #parrot
19:21 ruoso joined #parrot
19:23 ruoso joined #parrot
19:23 warewolf joined #parrot
19:24 tekky joined #parrot
19:30 joeri joined #parrot
19:35 warewolf left #parrot
20:05 MoC joined #parrot
20:15 payload joined #parrot
20:26 cotto ping lwn.net
20:26 purl I can't find lwn.net in the DNS.
20:27 cotto That's mildly disturbing.
20:28 moritz $ dig lwn.net +short @208.67.220.220
20:28 moritz 67.215.66.132
20:29 cotto thanks
20:29 moritz my local DNS times out when I asks it for lwn.net though
20:33 cotto it seems to be back now
20:36 dalek parrot: r40431 | NotFound++ | branches/auto_attrs (70 files):
20:36 dalek parrot: merge from trunk r40430
20:36 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40431/
20:51 dalek tracwiki: v9 | dukeleto++ | git-svn-tutorial
20:51 dalek tracwiki: https://trac.parrot.org/parrot/wiki/git​-svn-tutorial?version=9&amp;action=diff
20:52 bosniangirl joined #parrot
20:55 darbelo joined #parrot
20:57 braceta joined #parrot
21:00 cotto darbelo, ping
21:06 joeri left #parrot
21:09 donaldh joined #parrot
21:09 bacek joined #parrot
21:10 allison joined #parrot
21:11 darbelo cotto: pong
21:17 cotto darbelo, the GSoC suggested "pencils down" date is on the 10th.  How are things going?
21:17 dalek parrot: r40432 | cotto++ | trunk (12 files):
21:17 dalek parrot: [DEPRECATION] remove deprecated branch_cs opcode
21:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40432/
21:19 dalek TT #470 closed by cotto++: [BUG] branch_cs opcode is buggy and unused
21:19 darbelo I expected to get cracking this week, but RL got in the way. Just got back today.
21:21 darbelo I'm looking at the schedule right now, if nothing else happens I think I can get DecInt done by the 10th.
21:21 dalek parrot: r40433 | cotto++ | trunk/DEPRECATED.pod:
21:21 dalek parrot: [DEPRECATION] remove noticed for closed tt #108 about Data:Replace
21:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40433/
21:21 cotto The firm pencils down date is the 17th, but they recommend that you spend the last week cleaning up the code.
21:23 darbelo I have no ETA for DecRat, and I've just discovered that the decNumber library doesn't honor the emin field at all.
21:23 cotto Nice.
21:23 darbelo Which puts a big hole on making DecInt a subclass of DecNum.
21:24 cotto yeah
21:24 cotto or at least a thin subclass
21:25 darbelo Right now, we  have to manually force the rounding of every result.
21:27 darbelo SUPER(...);\n decNumberToIntegralValue(...)
21:27 darbelo on every VTABLE
21:27 cotto ugh
21:29 darbelo Related question. I initially made most VTABLEs, non-MULTI and switched on the type of PMC passed, but I think that pmc2c now generates equivalent code for MULTIs, is that correct?
21:29 darbelo ISTR bacek++ did something like that before the release.
21:29 cotto istr something similar, but not well enough to say without checking
21:30 bacek good morning.
21:30 purl And good moroning to you, bacek.
21:30 darbelo Or we could just ask him :)
21:30 bacek darbelo: not for your multis... pmc2c doesn't handle dynpmc in this case.
21:32 darbelo Oh, well. I guess I'm stuck with the switch statement then.
21:34 darbelo Anyways, getting back to the SUPER() thing.
21:34 darbelo The only alternative I can see is a whole lot o' copypasting.
21:35 darbelo Which is even worse.
21:35 cotto You can at least use a macro, but yeah.
21:38 cotto darbelo, would it be hard to fix the library?
21:43 darbelo I haven't looked at that in depth, but i would be surprised if it was.
21:46 whiteknight joined #parrot
21:47 cotto That might be the easiest approach.
21:48 cotto You could even submit a patch upstream if it worked.
21:55 bacek msg treed StringIterator wasn't removed.
21:55 purl Message for treed stored.
21:58 bacek msg treed if you can nopaste PIR code for string:reverse from cardinal I'll check it (and probably fix it as well)
21:58 purl Message for treed stored.
22:03 moritz parrot build fails...
22:03 moritz pbc_to_exe.o: file not recognized: File format not recognized
22:03 moritz collect2: ld returned 1 exit status
22:03 moritz linking failed
22:03 moritz (r40433)
22:03 cotto realclean?  I just bumped PBC_COMPAT
22:03 moritz I think I did a realclean; will try again
22:05 moritz ok, clean now
22:08 * bacek decommute to $dayjob... Another day of "big meetings"...
22:08 bacek See you! &
22:08 cotto bye
22:08 moritz has anybody got a good .gitignore for parrot?
22:09 Tene moritz: git svn create-ignore
22:09 moritz Tene: thanks
22:09 Tene np
22:12 dalek parrot: r40434 | cotto++ | branches/pluggable_runcore (2 files):
22:12 dalek parrot: [profiling] code cleanup and mildly better error messages and failure modes
22:12 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40434/
22:39 rg1 joined #parrot
22:42 darbelo cotto: I'm looking at the library, and from what I've seen so far, the current behaviour is the intended one.
22:43 eternaleye joined #parrot
22:49 darbelo msg cotto I'm looking at the library, and from what I've seen so far, the current behaviour is the intended one. Apparently emin is only checked against the 'adjusted exponent'. So, 333333333e-8 becomes 3.33333333e0, a "Subnormal Integer" that meets the emin requirements.
22:49 purl Message for cotto stored.
22:53 kid51 joined #parrot
22:55 dalek parrot: r40435 | NotFound++ | branches/auto_attrs/lib/Pa​rrot/Pmc2c/PMCEmitter.pm:
22:55 dalek parrot: set attr_size value in vtable updates instead of in class init
22:55 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40435/
22:55 dalek decnum-dynpmcs: r139 | darbelo++ | trunk/src/pmc/decnumcontext.pmc:
22:55 dalek decnum-dynpmcs: Make sure we freeze/thaw the exceptions ATTR correctly.
22:55 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=139
23:01 whiteknight_ joined #parrot
23:01 eternaleye joined #parrot
23:02 mikehh NotFound: codetest is still failing src/pmc/exporter.pmc - PATCH at http://nopaste.snit.ch/17486
23:02 cotto eew
23:03 mikehh it is also failing on DEPRECATED,pod
23:03 purl okay, mikehh.
23:04 cotto it?
23:04 purl it's the smoooooooke! or using a slower algorithm, so that can be sped up or responsible for MooseX::MetaDescription or failing on DEPRECATED,pod
23:06 mikehh codetest
23:06 purl hmmm... codetest is part of fulltest,  distro_tests is part of fulltest, but not of codetest
23:08 mikehh specifically t/codingstd/pod_syntax.t
23:08 mikehh and podchecker
23:08 purl i think podchecker is Pod::Checker
23:12 ruoso joined #parrot
23:14 ruoso joined #parrot
23:16 darbelo Hmm. Is there a way for PMCs to say "my parent implements this but I don't" so that you can avoid inheriting behaviour you don't want?
23:17 NotFound darbelo: the easy way to do that is not inheriting ;)
23:18 whiteknight joined #parrot
23:20 mikehh DEPRECATED.pod has a redundant =head1 Configuration at line 35 - should I remove it for the patch?
23:20 kid51 mikehh:  Yes
23:20 ruoso joined #parrot
23:22 dalek parrot: r40436 | NotFound++ | trunk/src/pmc/exporter.pmc:
23:22 dalek parrot: [cage] codingstd hard tabs, mikehh++
23:22 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40436/
23:27 nopaste "mikehh" at 90.209.117.193 pasted "PATCH for DEPRECATED.pod - clean up" (39 lines) at http://nopaste.snit.ch/17491
23:28 mikehh this fixes the codetest errors and tidies up a bit
23:33 dalek parrot: r40437 | NotFound++ | branches/auto_attrs (78 files):
23:33 dalek parrot: merge from trunk r40436
23:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40437/
23:37 whoppix joined #parrot
23:38 * allison notices Parrot 1.4 has moved into Debian testing, which means it's a candidate for the next stable Debian release
23:40 ruoso allison: that's not really true... Debian is on the begin of the release cycle... software will go to testing, but a lot will be removed from there before the release
23:44 allison ruoso: indeed, but it's farther than Parrot's been in several years, so progress

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

Parrot | source cross referenced