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