|
Parrot 3.9.0 "Archaeopteryx" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 19 October 2011. |
|||
|
00:47
nbrown joined
|
|||
| dalek | umage/soh-cah-toa/featherspec: a651aec | soh_cah_toa++ | src/lib/Plumage/FeatherSpec.nqp: Added $!error, $!is_valid, and %!metadata attributes to Plumage::FeatherSpec. Also added parse() and validate() methods for parsing featherspec files and checking for all required fields. |
01:31 | |
| umage/soh-cah-toa/featherspec: 7fb3cf6 | soh_cah_toa++ | t/featherspec/0 (2 files): Corrected output messages in featherspec tests so that they include a period at the end. |
|||
| umage/soh-cah-toa/featherspec: 8776f1a | soh_cah_toa++ | src/lib/Plumage/Command.nqp: Cleaned up POD in src/lib/Plumage/Commands.nqp to use the new =item2 tag for nested lists. |
|||
| umage/soh-cah-toa/featherspec: 1ef3abd | soh_cah_toa++ | TODO: Added task to TODO list regarding elimination of duplication in src/plumage.nqp and src/plumage-admin.nqp. |
|||
| umage/soh-cah-toa/featherspec: e9127b2 | soh_cah_toa++ | src/lib/Plumage/FeatherSpec.nqp: Removed '[ERROR]' string from error messages in Plumage::FeatherSpec since output_error() already appends it. |
|||
| umage/soh-cah-toa/featherspec: 7889696 | soh_cah_toa++ | src/plumage-admin.nqp: Created command_pack() for 'pack' command. Also created output_error() for writing error messages to stderr instead of just using say(). |
|||
|
01:47
schmooster joined
|
|||
| dalek | umage/soh-cah-toa/featherspec: 55d0037 | soh_cah_toa++ | src/plumage-admin.nqp: Added check to make sure files passed to 'pack' are always named FEATHER.spec. |
03:20 | |
|
03:30
AzureSto_ joined
|
|||
| dalek | rrot/kid51/testsets2: 684e5b7 | jkeenan++ | t/fullharness: Add an --in-testing CLO to speed up development by using a shorter set of targets. |
03:51 | |
| rrot/kid51/testsets2: b86b0c6 | jkeenan++ | t/fullharness: t/fullharness now will create an archive, but its contents are not yet correct. |
|||
| rrot/kid51/testsets2: 3bca5c7 | jkeenan++ | / (2 files): During development, run a shorter set of tests when '--in-testing' is used on command line. |
|||
| rrot/kid51/testsets2: 3dc3e29 | jkeenan++ | t/fullharness: Provide a label for 'usual' targets as well as alternative runcore targets. |
|||
| rrot/kid51/testsets2: df5d49d | jkeenan++ | t/fullharness: Use provisional versions of TAP modules. First instance of a smolder report of 'make fulltest': smolder.parrot.org/app/projects/rep...ils/24016. |
|||
|
04:19
benabik_ joined
|
|||
| dalek | rrot: 465da9c | soh_cah_toa++ | runtime/parrot/library/Archive/ (2 files): Fixed perldoc in Archive;Tar and Archive;Zip. |
04:20 | |
|
06:57
fperrad joined
07:45
preflex joined
08:29
mj41 joined,
mj41_nb joined
08:47
nbrown joined
11:27
JimmyZ joined
11:38
Psyche^ joined
11:42
mj41 joined,
mj41_nb joined
12:13
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:14 | |
| tadzik | good morning whiteknight | 12:15 | |
| whiteknight | hello tadzik | 12:16 | |
|
12:17
zpmorgan joined
|
|||
| tadzik | whiteknight: how are things? | 12:25 | |
| dalek | rrot/whiteknight/tt_1910: 85d5e0c | Whiteknight++ | t/src/e (2 files): fix t/src/extend.t and t/src/embed.t |
||
| whiteknight | things are going pretty well, thanks. It's always better when the weekend rolls around | ||
| tadzik | does Parrot support catching signals? | 12:32 | |
| whiteknight | it may have at one point. I don't know what the current state is | 12:36 | |
| it certainly isn't tested, that I am aware of | |||
| what kinds of signals do you want to catch? Once the green threads stuff gets merged, I think it will become easier | 12:37 | ||
| dalek | rrot/whiteknight/tt_1910: 6b14772 | Whiteknight++ | / (2 files): tell t/src/checkdepend.t to shut up |
12:38 | |
| tadzik | things like SIGTERM and so | ||
| I wrote github.com/tadzik/MuEvent today, and signals look like a useful addition | |||
| whiteknight | the hard part is being able to catch signals in a cross-platform way | 12:40 | |
| and things very quickly become problematic on windows if we're not careful | |||
| tadzik | aw, yeah | 12:42 | |
| whiteknight | tadzik: what's the branch I should be using now for Rakudo? nom? | 13:06 | |
| tadzik | whiteknight: yes. It's the default too | 13:07 | |
| whiteknight | okay, awesome | ||
| I'm testing the whiteknight/tt_1910 branch against Rakudo/nom now. If that passes I'm going to merge it | 13:11 | ||
| most of what it does is remove and rename a lot of C functions, so if Rakudo builds it should be functionally equivalent | 13:12 | ||
| tadzik | and I don't think Rakudo quite uses that subsystem | 13:29 | |
|
13:55
mj41_nb joined,
mj41 joined
14:03
logie joined
|
|||
| dalek | nxed: 28aac61 | NotFound++ | winxedst1.winxed: constant propgation in builtin escape |
14:06 | |
|
14:14
SHODAN joined
14:58
NotFound joined
15:28
soh_cah_toa joined
15:42
preflex_ joined
|
|||
| soh_cah_toa | how come you can use the 'print' opcode with a different filehandle but not 'say'? | 15:48 | |
| furthermore, FileHandle has a print() method but not say() | |||
| that seems...dumb | |||
| not to mention, really inconvenient | 15:50 | ||
|
15:52
dd070 joined
|
|||
| whiteknight | say is just a convenience wrapper over print | 15:53 | |
| print is the opcode, say is just convenience | |||
| Rosella provides a sayf routine to combine sprintf+say. It would be trivial to write a method to enable say for any handle | 15:54 | ||
| soh_cah_toa | so it's not an opcode? | ||
| and if it's just a wrapper, why should it behave differently? | |||
| i.e. print can use any filehandle but not say | 15:55 | ||
|
15:57
c9s joined,
mj41_nb joined,
mj41 joined
16:00
schmooster joined
|
|||
| dalek | kudo/nom: f3849a6 | tadzik++ | / (3 files): Fix Sub documentation when using 'our sub' Reset $*DECLARATOR_DOCS as late as possible, when we're sure it was used, so it's not accidentally cleaned if we backtrack too much. |
16:06 | |
| rrot/whiteknight/tt_1910: 9bf1239 | jkeenan++ | t/src/extend.t: [codingstd] No trailing whitespace. |
16:08 | ||
| rrot/whiteknight/tt_1910: d9d9961 | jkeenan++ | src/ (2 files): [codingstd] No cuddled elses. |
|||
| soh_cah_toa | eh, it's an easy fix. i can add an say(invar PMC, int INT/NUM/STR/PMC) opcode | 16:09 | |
| dalek | rrot/whiteknight/tt_1910: 765a92d | jkeenan++ | src/pmc/hash.pmc: [codingstd] Break line to meet linelength standard. |
16:11 | |
| rrot/whiteknight/tt_1910: 0ae0570 | jkeenan++ | src/hash.c: [codingstd] No space before closing paren. |
|||
|
16:12
kid51 joined
16:20
benabik joined
|
|||
| NotFound | soh_cah_toa: what will be its purpose? | 16:20 | |
| soh_cah_toa | NotFound: to print a string w/ a trailing newline to a FileHandle pmc | 16:26 | |
| for some reason, it doesn't already do that :\\ | |||
| NotFound | soh_cah_toa: how many times you expect to generate that code from HLLs? | ||
| soh_cah_toa | well, i need it right now for plumage | 16:27 | |
| if it's common enough that 'print' needs it, i'd say then 'say' deserves it as well | |||
| NotFound | soh_cah_toa: say is just a convenience for hand written pir, the current idea is to avoid providing more easiness for hand written pir. | 16:28 | |
| soh_cah_toa | well, what's the benefit of one io op (print) having it but not the other (say) which is nearly identical? | 16:29 | |
| NotFound | soh_cah_toa: avoiding repeated nearly identical code, for example. | 16:30 | |
| soh_cah_toa | if 'say' is supposed to be just a 'print' w/ a trailing newline, it should follow that whatever you can do w/ 'print', you can do w/ 'say' | ||
| dalek | rrot/whiteknight/tt_1910: 5e08879 | jkeenan++ | src/packfile/api.c: [codingstd] c_function_docs failure fixed by adjusting signature. |
16:32 | |
| soh_cah_toa | i mean, the only difference should be the trailing newline | ||
|
16:32
benabik joined
|
|||
| NotFound | soh_cah_toa: we can live without it. We've been living without it for years. Please don't add it without a consensus. | 16:33 | |
| kid51 | msg whiteknight re tt_1910 branch: In addition to g++ failures reported on parrot-dev, you will have to fix PBC_COMPAT to get one remaining codingstd test to pass | ||
| aloha | OK. I'll deliver the message. | ||
| soh_cah_toa | whatever | 16:34 | |
|
16:34
dd070 left
|
|||
| dalek | rrot/kid51/testsets2: 0ea08da | jkeenan++ | / (6 files): Add lib/TAP/Harness/Archive/MultipleHarnesses.pm and These packages permit creation of an archive of TAP output from several different subharnesses run under the control of a master harness. The subharnesses can run the same sets of tests multiple times under different environmental conditions. Results are labelled with a combination of a label for the test harness and the name of the test file itself. (The packages are not yet correctly documented.) Since these packages are ultimately destined for CPAN, exempt them from Parrot's codingstd tests. Add 'make smolder_fulltest' and revise 'make fulltest' targets. Update MANIFEST. |
16:34 | |
| umage/soh-cah-toa/featherspec: 0a1e468 | soh_cah_toa++ | src/plumage-admin.nqp: Relocated output_error() so that all subroutines are in alphabetical order. |
16:39 | ||
| umage/soh-cah-toa/featherspec: 0e7e3d1 | soh_cah_toa++ | src/plumage-admin.nqp: Fixed regex used to check featherspec filename so that featherspecs in other directories can be used. |
|||
| umage/soh-cah-toa/featherspec: 7da5bbb | soh_cah_toa++ | src/plumage-admin.nqp: Modified output_error() to use 'getstderr' opcode instead to use one less instruction. |
|||
|
16:48
benabik joined
17:07
contingencyplan joined
17:29
NotFound joined
17:42
bluescreen joined
|
|||
| soh_cah_toa | in nci function signatures, what symbol is used for char *? is it 'c' for char? | 17:46 | |
| for that matter, what symbol is used for any type of pointer? | |||
| NotFound | soh_cah_toa: for pointer to C strings, the way now is to use 'p' | 17:55 | |
|
17:55
jsut_ joined
|
|||
| soh_cah_toa | NotFound: just for char* or any pointer? | 17:56 | |
| NotFound | soh_cah_toa: any pointer, except passing directly PMCs | ||
| soh_cah_toa | so if i have a function foo(char *a, int b, int *c), the nci call would look like: | 17:58 | |
| func = dlfunc lib, 'foo', 'pip' | |||
| NotFound | Yes. | 17:59 | |
| soh_cah_toa | and then: func('foo bar baz', 0, 1) | ||
| NotFound | soh_cah_toa: no, is a bit more complicated. For int pointers you probably need to setup a Struct. For the string, my prefered way is to use a ByteBuffer | 18:01 | |
| You can also use the nci helper library and specify 't' | |||
| soh_cah_toa | what do you mean 'Struct'? i don't see a Struct pmc :\\ | 18:02 | |
| NotFound | Let me find an example up to date... | ||
| soh_cah_toa | sure | ||
| plobsing | soh_cah_toa: is that int* by chance a pass-by-reference? | ||
| soh_cah_toa | not sure, i'm trying to use libzip b/c Archive;Zip is very "incomplete" | 18:03 | |
| plobsing | pass-by-ref is a common pattern and is supported by parrot's nci separate from normal pointers. | 18:04 | |
| NotFound | Some people wil say that there are no such thing as "normal" pointers in C ;) | 18:05 | |
| soh_cah_toa | agh, i don't think i can do this anyway b/c the zip_open() function returns a 'struct zip' and i'm not sure how nci would handle that :\\ | 18:06 | |
| NotFound | soh_cah_toa: you need to setup a StructView | ||
| plobsing | soh_cah_toa: a struct or a struct*? | ||
| soh_cah_toa | plobsing: agh, a struct* | 18:07 | |
| plobsing | so you can treat it like a pointer | ||
| soh_cah_toa | which i still don't know how to do :P | ||
| bleh, native call libraries are always so...yucky | 18:08 | ||
| NotFound | soh_cah_toa: that depends. If you need to use its members, you need a StructView. If it's used as opaque data, you just pass it around | ||
| soh_cah_toa | what do you mean 'pass it around', what pmc type is it? | 18:09 | |
| NotFound | Currently is still an UnmanagedStruct, I think | 18:10 | |
| soh_cah_toa | ok | ||
| NotFound | But you shouldn't care, the main point is that you can pass it directly to a 'p' parameter. | ||
| soh_cah_toa | alright, we'll see... | 18:11 | |
| ok, so struct* = UnmanagedStruct and struct = StructView? | 18:16 | ||
| NotFound | soh_cah_toa: no, you use StructView to acces the content of a struct contained in a UnmanagedStruct or some other pointer-like PMC. | 18:18 | |
| soh_cah_toa | alright, so what about struct* then? | 18:19 | |
| ew, it's called UnManagedStruct? so ugly | 18:23 | ||
|
18:24
mj41 joined,
mj41_nb joined
18:25
bubaflub joined
|
|||
| soh_cah_toa | looks like the ugly looking UnManagedStruct is working for struct* so far | 18:30 | |
| this is going to smoothly. nothing is every this easy so something has got to break soon ;) | |||
| NotFound | soh_cah_toa: unmanaged struct is deprecated, you shouldn't use it directly. | 18:31 | |
|
18:31
ligne joined
|
|||
| soh_cah_toa | and there it is | 18:31 | |
| NotFound: then what am i supposed to use? | |||
| NotFound | soh_cah_toa: for what purpose? Creating a struct from parrot? Reading its members? | 18:33 | |
| dalek | kudo/nom: 424d2dd | moritz++ | src/core/ (2 files): better .gist for Method and Submethod |
18:34 | |
| soh_cah_toa | i don't think i need to access struct members | 18:35 | |
| NotFound | Note that I said 'directly'. If you just get it from a nci call and pass it to others nci calls, fine. | ||
| soh_cah_toa | yeah, that | 18:36 | |
| NotFound | In that case, being a unmanaged struct is an implementation detail that will be changed. | ||
| soh_cah_toa | alright | ||
| NotFound | But the change will not affect that usage. | 18:37 | |
| soh_cah_toa | ok, good | ||
| NotFound | You just treat is as an opaque type, same as in equivalen C usage. | ||
| soh_cah_toa | yeah | ||
| NotFound | Just a little problem: you had the responsability to free its content, if the library used says so. | 18:39 | |
| soh_cah_toa | yeah, w/ zip_close() | 18:40 | |
| NotFound | There is no way right now to set a function in the unmanaged struct to do it at collection time, its future replacement will probably have it. | 18:41 | |
| soh_cah_toa | ok | 18:42 | |
| wow, it actually worked w/ very little resistance | 18:45 | ||
| nci++ | |||
| if only zavolaj were this easy ;) | |||
| dukeleto waives from the mentor summit | 18:53 | ||
| plobsing | soh_cah_toa: zavolaj solves a different, and arguably much harder problem. | 19:04 | |
| soh_cah_toa | yeah, i know | ||
| i just kept running into wall after wall when i tried using it w/ my Digest::SHA256 module (still haven't got it to cooperate) | 19:06 | ||
|
19:07
mj41_nb joined,
mj41 joined
19:50
alester joined
20:07
Khisanth joined
20:23
logie joined
21:23
bluescreen joined
21:48
logie joined
22:41
mj41_nb joined,
mj41 joined
|
|||
| dalek | kudo/nom: b3e3008 | tadzik++ | lib/Pod/To/Text.pm: [Pod::To::Text] Make object stringification in declarator2text less implementation-dependent |
23:13 | |
| kudo/nom: 5b16dbe | tadzik++ | / (2 files): Partially fix WHY bugs for two subs in a row |
|||
| kudo/nom: 7895d52 | tadzik++ | / (3 files): Store declarator docs in Matches rather than Strings This way we can distinguish the same documentation for two different objects. Yet another workaround for routine_def eating declarator comment from routine_def after it. |
|||
| rrot/kid51/testsets2: 2a64b0c | jkeenan++ | lib/TAP/Harness/ (2 files): Write module documentation in POD format. _get_all_tap_files() is not needed in lib/TAP/Harness/Archive/MultipleHarnesses.pm, as it is inherited; remove it. |
23:48 | ||