|
Parrot 1.3.0 "Andean Swift" released | parrot.org | Parrot VM Workshop, Pittsburgh, June 20-21 Set by moderator on 16 June 2009. |
|||
|
00:07
JC1 joined
|
|||
| Coke_PS3 | Infinoid: can't. requires PMCs. | 00:17 | |
|
00:44
Theory joined
00:48
bacek_ joined
01:00
tddd joined
01:43
sviebrock joined
02:11
Andy joined
|
|||
| sviebrock | Hey, does anyone know how I can get an Andrew WebISO login for CMU wireless? Couldn't make it to the workshop today. | 02:12 | |
| Coke | I would ask in #yapc | 02:14 | |
| haven't seen any chatter about it in here. | |||
| sviebrock | Will do, thanks! | ||
| Coke | good luck | 02:15 | |
| purl | You'll need it. | ||
|
03:20
donaldh joined
03:21
cotto joined
03:40
Whiteknight joined
03:47
s1n_yapc joined
04:11
amuck joined
04:14
iblechbot joined
04:36
Theory joined
04:38
cotto joined
04:52
cotto joined
|
|||
| dalek | rdinal: 5261d92 | tene++ | (2 files): Import foreign namespaces. |
05:11 | |
|
05:52
flh joined
07:20
donaldh joined
08:31
bacek_ joined
08:35
viklund_ joined
|
|||
| bacek_ | oh hai | 08:37 | |
| msg cotto whatzup? | 08:46 | ||
| purl | Message for cotto stored. | ||
|
09:09
patspam joined
09:14
JC1 joined
09:39
flh joined
|
|||
| dalek | rrot: r39683 | bacek++ | branches/tt761_keys_revamp/lib/Parrot/Pmc2c/PMCEmitter.pm: [pmc2c] Slightly improve generating switch-base MULTI VTABLE optimiser. |
09:40 | |
| rrot: r39684 | bacek++ | branches/tt761_keys_revamp/src/pmc/hash.pmc: [pmc] Strip "old" iterators support from Hash. |
|||
|
10:24
Whiteknight joined
10:27
kj joined
|
|||
| Infinoid | good morning | 10:28 | |
| purl | Here I am, brain the size of a planet, and all they say is 'Good Morning' | ||
| Whiteknight | good morning | ||
| purl | And good moroning to you, Whiteknight. | ||
| bacek_ | good mor^W. Hey! It's late Sunday night already! | 10:31 | |
| Infinoid | Guess we didn't get the memo | 10:33 | |
| Whiteknight | holy crap! it's sunday night? | 10:38 | |
| but it looks like sunday morning! | |||
| dalek | rrot: r39685 | whiteknight++ | branches/io_cleanups/src (2 files): [io_cleanups] remove the now-unneeded does VTABLE from socket and add checks for socket type to is_closed |
||
| Infinoid | Whiteknight: If you stand on your head, the sun appears to be going down | 10:40 | |
| Ozzies are weird like that. | |||
| Whiteknight | haha | 10:41 | |
| bacek_ | Hey! Why all of you stand on heads? | ||
| img-fotki.yandex.ru/get/8/bacek.2/0...797bf_orig :) | 10:42 | ||
| Ah. Found it | 10:44 | ||
| img-fotki.yandex.ru/get/12/bacek.2/...c5498_orig | |||
| Infinoid | heh, nice | ||
| dalek | rrot: r39686 | whiteknight++ | branches/io_cleanups (4 files): [io_rewiring] change Parrot_io_socket_is_closed to take an interp argument, and use GETATTR to access the os_handle (for future subclassability) |
10:45 | |
| Whiteknight | We're going to have subclassable sockets one day, and that will be awesome | 10:46 | |
| bacek_ | Are we going to have fastest VM? It will be even more awesome! :) | 10:47 | |
| Infinoid | bacek_: Patches welcome :) | 10:48 | |
| Whiteknight | Infinoid: minus that threading issue you had yesterday, are pipes ready to go? | 10:51 | |
| I would love to start integrating them in this io_cleanups branch | |||
| Infinoid | I can't test them, but I think so | 10:57 | |
| There isn't really much to them. You create them, you do I/O on them, no seek, no bind, no connect, they're pretty generic I/O handles | 10:58 | ||
| Feel free to apply the patch as-is, the bogus test is commented out | |||
|
10:59
muixirt joined
|
|||
| Infinoid | (that's nopaste.snit.ch/16980) | 10:59 | |
| If you're accessing them from C, as long as you're creating them yourself you can probably access the reader and writer attrs directly | 11:01 | ||
| The alternative would be to call the methods through PCC, which would suck. | |||
| bacek_ tempted to add src/ops/nanoparrot.ops right now... | 11:05 | ||
|
11:17
cotto joined
11:20
donaldh joined
|
|||
| dalek | rrot: r39687 | bacek++ | branches/tt761_keys_revamp (4 files): [pmc] Start removing dangerous Hash.set_pointer tn favour of Add failing test for desired behavior. |
11:26 | |
| bacek_ | Is TT#443 covers enum values among with function names? | ||
| dalek | TT #780 created by bacek++: [RFC] deprecated parrot_new_pointer_hash and parrot_new_cstring_hash | 11:34 | |
| Whiteknight | Infinoid: okay, I have a commit coming through in a few minutes that will change a few things around regarding Handle | 11:38 | |
| but after that I will try to add in pipes | |||
| Infinoid | ok | 11:46 | |
| because of the threading nonsense, I haven't actually checked whether basic reads and writes on PipeHandles work yet. I had intended to move those from FileHandle to Handle but I dunno if that's actually been done yet | 11:47 | ||
| (should hopefully be a trivial process if it wasn't already done) | |||
| Infinoid has somehow gotten bogged down with email all morning | 11:48 | ||
| bacek_ send another mail with subject "Enlarge your something" to Infinoid | 11:49 | ||
| Infinoid | It's fathers day. I just wrote my dad an email | 11:52 | |
| shower, bbl | 11:53 | ||
|
12:03
eternaleye joined
12:06
bacek__ joined
12:33
cotto joined
12:39
flh joined
12:51
masak joined
12:53
AndyA joined
13:08
MoC joined
13:10
Whiteknight joined
13:12
kid51 joined
13:16
magnachef joined
|
|||
| bacek_ | clock? | 13:17 | |
| purl | bacek_: LAX: Sun 6:17am PDT / CHI: Sun 8:17am CDT / NYC: Sun 9:17am EDT / LON: Sun 2:17pm BST / BER: Sun 3:17pm CEST / IND: Sun 6:47pm IST / TOK: Sun 10:17pm JST / SYD: Sun 11:17pm EST / | ||
| mikehh | pre/post config, smolder, fulltest ALL PASS at r39684 - Ubuntu 9.04 i386 | 13:22 | |
|
13:22
pmichaud joined
|
|||
| moderator | Parrot 1.3.0 "Andean Swift" released | parrot.org | Parrot VM Workshop, Pittsburgh, June 20-21: Sunday session underway | 13:31 | |
| Infinoid | Do we have a Weekly Priority? | 13:32 | |
| cotto | make parrot more awesome | 13:38 | |
| hi bacek | |||
|
13:42
s1n_yapc joined
|
|||
| Infinoid adds --awesome, --tubular, --gnarly options (akin to ack --thbbbt) | 13:46 | ||
|
13:46
guru joined
|
|||
| cotto | bacek_, ping | 13:48 | |
| kid51 | smolder down (again) | 13:56 | |
|
14:03
mikecanz joined
|
|||
| hachi | heckle heckle heckle | 14:03 | |
| mikecanz | heckle | ||
|
14:04
magnachef_ joined
|
|||
| jdv79_ | kid51: does that happen alot? | 14:04 | |
| Whiteknight | Infinoid: ping | 14:07 | |
| Infinoid | Whiteknight: pong | ||
| hachi | ding | ||
| Infinoid | jdv79_: a fair amount | 14:08 | |
| Whiteknight | Infinoid: I've got a doosy of a patch I'm working on that segfaults in a very very weird way. Interested in looking at it? | ||
| because I'm stumped by it | |||
| Infinoid | sure! | ||
| Whiteknight | okay, it's for the io_cleanups branch | ||
| nopaste? | |||
| clunker3 | pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ | ||
| purl | well, nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others) or gist.github.com/ | ||
| nopaste | "whiteknight" at 128.237.246.17 pasted "Patch for Infinoid++" (674 lines) at nopaste.snit.ch/16991 | 14:09 | |
| Whiteknight | basically, I changed Handle to be an encapsulation around PIOHANDLE, and added accessor functions for it | 14:10 | |
| Infinoid doing io_cleanups checkout through cellphone | |||
| ok, cool | |||
| Whiteknight | but making that change causes parrot to segfault during the build of PGE | 14:11 | |
| and it segfaults inside calloc | |||
| jdv79_ | perhaps someone could setup another instance - all the result tarballs are available iirc | ||
| Infinoid | I guess there's also taptinder | 14:13 | |
| Whiteknight: Ok, so you're corrupting memory. Big patch | 14:14 | ||
| Whiteknight | yeah, that's what I figured | ||
| but Ican't find where | |||
| Infinoid building now | 14:17 | ||
| Whiteknight | Infinoid++ | ||
| jdv79_ | Infinoid: the only issue is a central reporting point so all could fetch the latest results | ||
|
14:17
skids joined
|
|||
| jdv79_ | or just setup a smolder on a stable box and be done with it:) | 14:20 | |
| Infinoid | sigh, our pmc2c line number handling still isn't quite right | 14:22 | |
| cotto: pmcc does better at that, right? :) | |||
| cotto | It will or I won't let it escape. | ||
| I hate that about pmc2c | |||
| Infinoid | Whiteknight: Does Parrot_FileHandle_destroy call Parrot_Handle_destroy? | 14:23 | |
| Because I'm seeing problems with Parrot_io_get_os_handle being called (indirectly) from Parrot_FileHandle_destroy, yet the buffer it's reading has already been freed | |||
| ...by Parrot_Handle_destroy | 14:24 | ||
| cotto | Infinoid, he's giving a talk. there might be some lag. | ||
| Infinoid | ah, cool. | ||
|
14:34
dpwalia joined
|
|||
| nopaste | "Infinoid" at 65.18.171.17 pasted "One problem with Whiteknight's patch (valgrind output and my interpretation)" (125 lines) at nopaste.snit.ch/16992 | 14:35 | |
| Infinoid | oh, nopaste didn't wrap my text. Maybe I shoulda put that in an email | 14:36 | |
| nopaste | "Infinoid" at 65.18.171.17 pasted "Same thing, with wrapped text for easier reading" (134 lines) at nopaste.snit.ch/16993 | 14:39 | |
|
14:58
Andy joined,
jdv79 joined
|
|||
| Whiteknight | (sorry about the delay, I was giving a talk about GC) | 15:06 | |
| 1) FileHandle destroy does not call Handle destroy (I let the GC pick it up) | |||
| Okay, I see what you are saying. Handle.destroy should close the fd | 15:07 | ||
|
15:07
kid51 joined
|
|||
| Whiteknight | the Handle and FIleHandle are falling out of scope at the same time, and Handle is being collected before FIleHandle | 15:09 | |
| that's quite an interesting problem | |||
|
15:13
barney joined,
jan joined
|
|||
| Infinoid | it's an ordered destruction problem | 15:14 | |
| Whiteknight | right | 15:15 | |
| but the problem is that we can't do inheritance if we want FileHandles to be subclassable | |||
| Infinoid | oh. why? | ||
| Whiteknight | because any inherited ATTRs that arent INTVAL, FLOATVAL, STRING, or PMC can't be inherited by a PIR subclass | ||
| so attempting to access one will throw an exception | |||
| Infinoid | this is for the piohandle attribute? | 15:16 | |
| Whiteknight | yes | ||
|
15:16
AndyA joined
|
|||
| Infinoid | on win32, is HANDLE an integer or pointer type? | 15:16 | |
| Whiteknight | I dont know, it's probably integral | ||
| but I dont feel like casting is the right idea | |||
| what if we moved the buffering logic into Handle? | 15:17 | ||
| so that it could flush itself when destroyed | |||
| has the benefit of moving most of the remaining non-inheritable ATTRs out of FileHandle making it closer to being inheritable | 15:18 | ||
| Infinoid | that seems reasonable, though I can imagine cases where Handle wouldn't have enough info to do a really good job of that | ||
| Whiteknight | if FileHandle can do the buffering, then Handle can do it just as well | ||
| Infinoid | Right, for FileHandle that's fine | ||
| A better example would be SSL. | |||
| Whiteknight | how so? | ||
| Infinoid | If you're using a block cipher like AES or 3DES, which needs input in chunks of 64 bits, it will need to buffer some data (up to 7 bytes) at that layer | 15:19 | |
| the final block gets padded with zeroes, but Handle doesn't know about any of that | |||
| hmm. I don't really care if the piohandle is available to pir, to be honest | 15:20 | ||
|
15:20
donaldh joined
|
|||
| Infinoid | the fileno() method can return an INTVAL either way, even if that's just a value to plug into a lookup table to get the real info | 15:21 | |
| is there a way to prevent pir from trying to get the attr, and therefore not crashing? | 15:22 | ||
| Whiteknight | In the long term it's reasonable to have a different back-end PMC, like an AESHandle that takes care of encryption on the way out | 15:23 | |
| And then FileHandle could be told to delegate to an AESHandle instead of a Handle | |||
| Infinoid | hmm, ok. but what if I want to implement SSL in pir or perl6? | 15:24 | |
| for that kind of subclass, I need *my* flush function to be called on destruction | 15:25 | ||
| Whiteknight | think about FileHandle->Handle, being replaced with FileHandle->SSHEncryptor->Handle | ||
| or, SSHFileHandle->Handle | 15:26 | ||
| Infinoid | I was thinking more like SSL->Socket->Handle, but yeah, I see your point | ||
| It's kind of a mental shift. It's not really subclassing at all, just swapping base classes | 15:28 | ||
| Whiteknight | an SSHSocket could be a subclass of socket | 15:29 | |
| and Handle would just implement a dumb write buffer | |||
| Infinoid | as it should be | ||
| But that's kind of independent of whether encapsulation or inheritance is used | 15:30 | ||
| Whiteknight | okay, so let me move the buffering into Handle and see what kinds of errors that gives | 15:31 | |
| japhb | Happy Father's Day, papas! | 15:32 | |
| Whiteknight | yay! | ||
| Infinoid | Whiteknight: That seems fair. In this case, FileHandle is really sort of an empty shell that implements seeking, and passes everything else to Handle | ||
| hmm, I guess I do have a problem with encapsulation. It makes the "passing everything else" part more complicated | 15:33 | ||
| Whiteknight | right | ||
| but then Pipe and Socket can use the logic in Handle too, so they get buffering if they want for free | |||
| Infinoid | Lots of Sockets will turn that off, but not all of them, and PipeHandles will definitely want it | 15:34 | |
| Handle is the right place for it, for sure | 15:35 | ||
| Whiteknight | okay, I'll start making that happen | ||
| Infinoid | Whiteknight++ | 15:36 | |
| One thing I've had my mind on a lot recently, is how to implement Select | 15:40 | ||
| The basic concept is simple; you hand a bundle of io handles (a bitfield, really) to the OS and say "return when one of these has new data for me" | 15:41 | ||
| cotto | bacek, reping | ||
| Infinoid | But before the result is useful to the user, it needs to be converted back from piohandles to PMC pointers | ||
| So I think it needs a hash to do the reverse mapping | 15:42 | ||
| But how does that work with StringHandle? | |||
| And what if some other IO subclass doesn't use io handles? (maybe it wraps FILE* instead) | |||
| japhb | What's the current best place to start reading on how to write an OO Class in PIR? I want to write a fast class for doing 4x4 matrix math, so that HLLs can use it and get the speed boost of a PIR implementation rather than take the full HLL hit. | 15:43 | |
| dalek | rrot: r39688 | cotto++ | branches/pmc_pct (3 files): [pmcc] add stub code to read the vtable dump and write PMC::Class in nqp |
||
| Infinoid | japhb: Maybe docs/user/pir/objects.pod, or just dive right into the examples | 15:44 | |
| japhb | Infinoid: fair enough.\\ | 15:47 | |
| thx | |||
|
15:57
iblechbot joined
16:09
MoC joined
16:14
viklund_ joined,
Psyche^ joined
16:16
flh joined
|
|||
| Tene | japhb: let me know if you have any questions. | 16:39 | |
|
16:41
s1n_yapc joined
16:44
jdv79 joined
16:49
s1n_yapc joined
|
|||
| japhb | Tene: will do | 16:51 | |
| What is the correct POD translator to use for viewing the Parrot docs? I usually just read the raw POD directly, but on a lark I tried 'perldoc' on it, and some stuff got mangled .... | 16:56 | ||
| Tene | on which file? | 16:57 | |
| I always use perldoc | |||
| japhb | docs/user/pir/objects.pod , for instance. | ||
| perldoc eats all the examples | |||
| on my system at least | |||
| Tene | yes, for me too | 16:58 | |
|
17:06
PacoLinux joined
17:10
sviebrock joined
17:16
zhb joined
17:30
Theory joined
|
|||
| dalek | rrot: r39689 | japhb++ | trunk/docs/user/pir/objects.pod: [docs] objects.pod: Fix semantic error in paradigm shift (that worked by luck) |
17:37 | |
|
17:38
kid51 joined
17:40
jdv79 joined
|
|||
| dalek | rrot: r39690 | coke++ | trunk/lib/Parrot/Pmc2c/PMCEmitter.pm: fix typo in comment. |
17:51 | |
|
17:54
s1n_yapc joined
17:56
Theory joined
|
|||
| dalek | rrot: r39691 | japhb++ | trunk/docs/user/pir/pmcs.pod: [docs] pmcs.pod: Clean up some confusing bits in opening sections |
18:05 | |
| japhb | Hmmm, actually, this whole doc needs some cleanup. | ||
| Excellent cage task for a beginner. | 18:06 | ||
| Whiteknight | nopaste | 18:18 | |
| clunker3 | pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ | ||
| nopaste | "Whiteknight" at 128.237.246.17 pasted "New patch for Infinoid++" (1565 lines) at nopaste.snit.ch/16994 | 18:19 | |
| Whiteknight | purl msg Infinoid check out nopaste.snit.ch/16994 when you get a chance. this moves the buffering into Handle. Fixes the last problem with ordered destruction, creates a new problem building JSON | 18:20 | |
| purl | Message for infinoid stored. | ||
| Coke | =begin / =end blocks are not normally parsed by "perldoc" | 18:34 | |
| Infinoid: would a minimal amount of PIR plus the tcl pmcs and tcl ops be a sufficiently small case? | 18:39 | ||
| (or a shared screen session on feather?) | |||
| dalek | TT #781 created by japhb++: [CAGE] Copyedit docs/user/pir/* | 18:40 | |
| Coke | can someone with a feather account help me test something? | 18:43 | |
| whoops, nevermind, gotta run | 18:44 | ||
|
19:04
PacoLinux joined
19:20
donaldh joined
|
|||
| cotto | L1? | 19:27 | |
| purl | L1 is a hypothetical language that would be used to implement PMCs and PIR-visible ops so that they could all be easily jitted. or irclog.perlgeek.de/parrot/2009-04-21#i_1083550 or rt.perl.org/rt3/Ticket/Display.html...txn-471982 | ||
|
19:28
davidfetter joined
19:38
kid51 joined
19:41
dpwalia joined
|
|||
| Tene discovers, yet again, that :vtable('invoke') is very broken in Parrot | 19:41 | ||
| :( | |||
|
19:41
ZeroForce joined
|
|||
| moritz | speaking of which, did the pcc-rewire branch land already? | 19:44 | |
| davidfetter | ouch! | 19:45 | |
| directly on my toe | |||
| cotto has reason to doubt davidfetter | 19:46 | ||
| moritz | davidfetter: was it fast, at least? | 19:47 | |
| Infinoid | . | ||
| davidfetter | well, there were some of those concertina wire things sticking out of it | ||
| Whiteknight | davidfetter: are you at YAPC? | 19:48 | |
| davidfetter | yeah | ||
| Whiteknight | where are you at? | ||
| davidfetter | in my dorm room working on my slides :/ | 19:49 | |
| Infinoid | Whiteknight: got your message, trying now | ||
| Whiteknight | Infinoid++ : Awesome. You're like my code savior sometimes | ||
| davidfetter | where are you? | ||
| Whiteknight | davidfetter: I'm at the PVM workshop | 19:50 | |
| Infinoid | Whiteknight: I dunno about savior. I'm just good at watching things break | ||
| davidfetter | ah | ||
| Whiteknight | and I'm good at breaking things! | ||
| davidfetter | where's that? | ||
| purl | that is about the level that you were asking for | ||
| Infinoid | Together we fight crime | ||
| Whiteknight | Newell-Simon Hall, it's impossible to find from the dorms | ||
| davidfetter | :/ | 19:51 | |
| Whiteknight | Infinoid: I haven't even had a chance to really debug this yet because I've been busy at the conferrence | ||
| Infinoid | This gives me something to do, so thanks, Whiteknight++ | ||
| I just got back from shopping, and am trying to forget that I have cookies and apple pie | 19:52 | ||
| Whiteknight | is the weather still lousy out there: | ||
| Infinoid | Nah, it's sunny and humid now | ||
| Whiteknight | oh, that's good then | 19:53 | |
| davidfetter | so go out on forbes past that building-to-be, and hang a left? | ||
| Whiteknight | yeah, you go past the construction. There's a place where there's a fence and you have to walk on the road because there is no sidewal | 19:54 | |
| and then there's a bus stop, and you turn left at the next chance after that | |||
| davidfetter | ok, heading over :) | 19:55 | |
| Whiteknight | davidfetter++ | ||
| Infinoid | ooh, imcc crash | 20:03 | |
| cotto | tasty | 20:09 | |
| Infinoid | I think this I/O patch must somehow reduce the amount of I | ||
| Whiteknight | I? | 20:23 | |
| purl | rumour has it Whiteknight is mailto:wknight8111@gmail.com or the grand master funk or wknight8111.blogspot.com/ | ||
| Infinoid | input :) | 20:24 | |
| Whiteknight | somewhere files just aren't being written to | ||
| Infinoid | oh, hmm | ||
| Whiteknight | yeah, sorry the patch is so large, but it's all necessary to make any of it work | ||
| so output to STDOUT works, but writing to a file doesn't | |||
| even though I'm certain the two are calling the same low-level functions | |||
| Infinoid | awesome. By the way, is STDOUT a file or just a handle? | ||
| well, hmm, they will have different buffering | 20:25 | ||
| Whiteknight | FileHandle, Ithink | ||
| Infinoid | stdout should be line-based, files should be page-based | ||
|
20:25
davidfetter joined
|
|||
| Whiteknight | davidfetter: success? | 20:26 | |
| purl | success is, like, finding king size papers | ||
| Infinoid | consoles could arguably be yet another subclass of Handle, because they don't have seek, and do have funky weird things like tcsetattr | ||
| davidfetter off near the door :) | |||
| i'm the bald guy in the blue shirt | |||
| Whiteknight | davidfetter: look right | ||
| Infinoid: I sort of agree with that, but would want to here what e.g. Allison had to say before doing that | 20:40 | ||
| we can run into a trap where we subclass things too aggressively | |||
| Infinoid | well, in this case, just using Handle directly is better than using FileHandle; I don't really look forward to supporting those funky weird (and nonportable) tcsetattr things anyway | 20:42 | |
| it was just an observation, I don't feel like going down that path right now | 20:43 | ||
| Whiteknight | okay, well I can't find any problems with that patch yet, so I need to debug more | 20:47 | |
|
20:50
mikehh_ joined
21:02
Theory joined
21:03
cotto joined
21:06
magnachef_ joined
21:09
jhorwitz joined
|
|||
| hachi | www.linux-mag.com/cache/7373/1.html | 21:09 | |
| moritz | muixirt: I was wrong earlier (wrt parrot build failure with clang) | 21:20 | |
| muixirt | and? :-) | ||
| moritz | muixirt: the real reason is that parrot expects the presence of a crt_externs.h include file if __APPLE_CC__ is set | ||
| muixirt: clang sets the latter, but doesn't provide the former. | |||
| muixirt puzzled | 21:21 | ||
| what does that mean? | |||
| purl | You're a nut! You're crazy in the coconut! | ||
| moritz | it seems a mac specific include file | ||
| muixirt | ok | ||
| moritz | but parrot tests a compiler specific env variable, not an operating system dependent variable | ||
| hoping that __APPLE_CC__ is only set on MacOS | 21:22 | ||
| I think I should turn that into a parrot ticket | |||
| muixirt | the reason I asked is that my try didn't work out as early as Configure.pl | 21:24 | |
| something like step auto::va_ptr died during execution: | 21:25 | ||
| moritz | Configure.pl works just fine here | ||
| muixirt | and I have no clue ... | ||
| moritz | which platform are you on? | ||
| muixirt | linux | ||
| moritz | same here. | ||
| muixirt | and unsetting __APPLE_CC__ ? | 21:26 | |
| moritz | how? | ||
| muixirt | how do i know ;-) | 21:27 | |
| Infinoid | Does -U__APPLE_CC__ work? | 21:28 | |
| moritz | --cc-flags=-U__APPLE_CC__ might be worth a try | ||
| uhm, --ccflags | 21:29 | ||
| so far it didn't die... | 21:30 | ||
| moritz waits in great anticipation | 21:31 | ||
| it got past the previous problem, and now dies of a linking error | 21:32 | ||
| is gmp mandatory for building parrot? | 21:34 | ||
| Infinoid | I dunno, been a while since I've tried building without it | ||
| I guess it isn't supposed to be mandatory... there's a --without-gmp | |||
| moritz | since all the linking errors so far were related to gmp, I'll try it without it now | 21:35 | |
| Infinoid: do you think it's a bug to assume the presence of a mac-only header file if __APPLE_CC__ is set? | |||
| ie should I open a ticket? | 21:36 | ||
| I don't know enough about those macros to judge that | |||
| bah, --without-gmp seems to need a realclean | 21:39 | ||
| Infinoid | I honestly didn't know apple's compiler could be installed on non-apple OS | 21:42 | |
| but if it's an OS header and a compiler-specific define, seems buggy indeed | |||
| moritz | ok, I'll ticket it, thanks | ||
| japhb | Infinoid: clang isn't Mac-specific. It, like WebKit, was an existing project that they have put effort in to for their own needs. | 21:43 | |
| moritz | anyway, I made parrot compile with clang now | 21:46 | |
| only --without-gmp | |||
| Infinoid | That might be worth an entry in PLATFORMS | 21:47 | |
| moritz++ | |||
| japhb | moritz++ # NICE! | 21:48 | |
| moritz | 'make tests' fails test 4 in t/op/gc | 21:49 | |
| everything else seems to work | 21:50 | ||
| dalek | TT #782 created by moritz++: src/pmc/env.t confuses compiler specific and platform specific macros | 21:51 | |
| moritz | that should have been s/platform/OS/ | ||
| whatever | |||
| muixirt | moritz, what were the exact options for Configure.pl? | 21:53 | |
| moritz | muixirt: --cc=$path/to/clang --ccflags=-U__APPLE_CC__ --without-gmp | ||
|
21:56
magnachef joined
|
|||
| muixirt | moritz, doesn't work for me :-( | 21:57 | |
| moritz | muixirt: and I used today's llvm+clang from svn | ||
| muixirt | me too | 21:58 | |
|
22:08
cotto joined
|
|||
| dalek | rrot: r39692 | moritz++ | trunk/PLATFORMS: [PLATFORMS] building on linux/amd64 with clang |
22:09 | |
|
22:15
darbelo joined
22:33
rg joined
|
|||
| japhb | Is creation of PIR classes in heirarchical namespaces documented anywhere? My guess to use "Foo = newclass ['Foo';'Bar';'Baz']" seemed to work, but I don't see it documented. If it's not, I'll create a TT to do so. | 22:56 | |
| Tene | japhb: docs/ops/object.pod | 22:57 | |
| newclass(out PMC, in PMC) | |||
| Create a new Parrot-style class, with the name given in $2 as a | |||
| key, namespace, or string PMC. | |||
| japhb | Tene: Ah ... there's my error. I was expecting an example, so was 'ack-grep newclass |grep ";"', and finding nothing. | 22:58 | |
| We seem to be overly reliant on ops documentation, which can be rather ... unenlightening. | |||
| moritz | feel free to add some examples ;-) | 23:02 | |
| japhb | moritz: I'm still in the process of trying to create them. :-) | 23:03 | |
| Tene | Where else would you expect to find the details of how to use the 'newclass' opcode? | ||
| Not to disagree that we have insufficient docs. | |||
| I just don't understand "overly reliant on ops documentation" | 23:04 | ||
| japhb | Tene: Well, for example, the intro doc docs/user/pir/objects.pod that you pointed me to, and the PDD docs/pdds/pdd15_objects.pod . | 23:05 | |
| Ops docs tend to be extremely terse, little more than lookup tables to remind experienced users about allowed argument types and such. On the other end, docs/user is very user friendly, but covers very little ground. And the PDDs are somewhere in the middle. | 23:07 | ||
| I guess I am more used to the style of (for instance) the OpenGL Programming Guide and OpenGL Reference Manual. The former has a tutorial covering most of the API to moderate depth, while the latter is a complete reference with, with not only function arguments and overviews, but full details on how various operations affect system state, what errors can occur, default values, etc. | 23:09 | ||
| Relating this back to Parrot, | 23:10 | ||
| I think the tutorials need to be more complete (and stylistically updated to modern usage; some of them recommend techniques that have long been out of vogue), and go beyond completely trivial cases. | 23:11 | ||
| Tene | Okay, I understand now. | ||
| Yes, I agree. | 23:12 | ||
| japhb | The reference documentation, the PDDs and Op docs, need to provide more of the information that a user needs in one place, rather than having to keep the interaction between many different docs in their head in order to understand how something can be used in real code. | ||
| For instance, it took me several readings of the namespace PDD to understand it in a way that I could actually get work done and expect to interoperate with other people's code. | 23:13 | ||
| EOL | |||
| Clearly, we need to hire Dave Shreiner. ;-) | 23:14 | ||
| Tene | Who? | 23:15 | |
| japhb | Principle author/editor of the two OpenGL books I mentioned above. | ||
| Infinoid | japhb: We have a parrot book in the works, your feedback would be useful to that effort | 23:16 | |
| japhb | I don't know from personal experience, but sometimes I get the idea he's the Jon Postel of the OpenGL world | ||
| Infinoid: as time allows, sure. | 23:19 | ||
|
23:20
donaldh joined
|
|||
| Infinoid | Great. docs/book/draft/ch03_pir.pod has a section named "NameSpaces, Methods, and VTABLES" | 23:22 | |
| If that sucks too, allison and/or chromatic should hear about it | |||
| japhb | :-) | 23:24 | |
|
23:31
Eevee joined
|
|||
| japhb | Is there a data structure dumper for Parrot? | 23:31 | |
|
23:31
bacek_ joined
|
|||
| japhb | oooh, wait, Data/Dumper.pbc | 23:31 | |
| investigating ... | 23:32 | ||
| Infinoid | I think runtime/parrot/library/dumper.pir is the frontend, there's a synopsis there | ||
|
23:33
patspam joined
|
|||
| japhb | Infinoid: thanks! | 23:34 | |
| Infinoid: seems to be working well, thanks again | 23:52 | ||