|
Parrot 4.6.0 "Wild Parrots of Telegraph Hill" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 19 August 2012. |
|||
|
00:44
MikeFair joined
|
|||
| whiteknight | moritz: did you run an entire Rakudo spectest on that branch? | 02:00 | |
| benabik | ~~ | ||
| whiteknight | I haven't had a chance to do it yet | ||
| hello benabik | |||
| benabik | Note for GSoC students: You can now submit code samples on melange. Go to your project, hit update, and it'll accept a file at the end. I just submitted a big .diff from git. | 02:01 | |
| MikeFair waves. | 02:14 | ||
| sorear waves to MikeFair | 02:34 | ||
| MikeFair finishes reading up on M0. | 02:35 | ||
| sorear | (you were asking about niecza the other day. hi.) | ||
| MikeFair | sorear: Yes I was, indirectly though, but I was just really encouraged by the thought of having Perl6 on top of Java and .Net | ||
| sorear: Niecza might also be just the project I need to help me with another project I was building up to but might be able to get started earlier on | 02:36 | ||
| sorear: Would Niecza make exposing all the other .Net assemblies on the machine a realtively easy thing? | 02:38 | ||
| Like could they automatically casted as modules and referenced? | |||
| benabik | IIRC, there have been people referencing Gnome assemblies in Niecza. | 02:39 | |
| MikeFair | Perhaps something like: use .Net/System; | 02:40 | |
| MikeFair shrugs. | |||
| I guess it would be: use DotNet::System; | 02:41 | ||
| benabik | MikeFair: github.com/sorear/niecza/blob/mast...k-clock.pl | 02:42 | |
| MikeFair | ok then, yeah that looks like it would work... | ||
| But it looks like we have to look up the gac details first | 02:45 | ||
| I was hoping for something a bit more transparent, but I'm sure something could be written if it was worth it. | 02:46 | ||
| sorear: What's your relationship to niecza | |||
| benabik: thanks for the pointer... | 02:47 | ||
| The project I'm looking to building up to is to creating a HyperCard/SuperCard clone | 02:48 | ||
| Currently a company "Revolution" www.runrev.com has been evolving their platform for years and done some really amazing stuff | 02:49 | ||
| The use a scripting language they call LiveCode | |||
| But I think there are some features in Parrot that could make that even better | 02:50 | ||
| Well the Parrot Compiler ToolChain | 02:51 | ||
| sorear | MikeFair: I started niecza and wrote 95% of the code in it | 02:57 | |
| MikeFair bows to sorear. | |||
| sorear | it's also by far the largest/oldest thing I've ever done | 02:58 | |
| (not couting large things that I've submitted the occasional patch to) | |||
| MikeFair nods. | 02:59 | ||
| sorear | I would love more transparent access to clr libs | 03:00 | |
| but there are a lot of places where judgement calls have to be made | 03:01 | ||
| MikeFair | I bet | 03:03 | |
| It seems that it might be possible to carve out the 'CLR' module as a special name | 03:04 | ||
| like if I tried to load "CLR::System" it could do something different than the ordinary perl modul search | |||
| Why the name niecza | 03:06 | ||
| sorear: The whole concept is quite impressive, I had wondered if Perl could be done on top of the CLR but didn't go hunting for it | 03:12 | ||
| sorear | It already does that | ||
| the 'CLR' module is auto-loaded, and you can run statements like CLR::System::Environment.OSVersion.Platform.Str without any imports | |||
| ...but it only works for types in corlib | |||
| accessing types in other assemblies, like gtk-sharp, is where it gets significantly fiddlier | 03:13 | ||
| MikeFair | sorear: That's still pretty cool I think ... I'm sure you'll get there | ||
| sorear: Well they say use gacutil -l to find the info | 03:14 | ||
| sorear | as for the name, I couldn't think of one, so I asked Carl MƤsak for help | ||
| MikeFair | in the comment I read | ||
| The using Reflection you might be able to auto-build? | 03:15 | ||
| sorear | we exchanged a bit and came up with this | ||
| "The using Reflection you might be able to auto-build?" what file is that in? | 03:16 | ||
| MikeFair | Doesn't gacutil -l give you the file name? | ||
| sorear | another part of the fiddliness is that Perl 6 is a fairly dynamic language but the CLR loves static binding | ||
| isn't gacutil Mono-only? | |||
| MikeFair | nope | 03:17 | |
| At least I've used it on my Windows boxes when trying to troubleshoot why I couldn't reference one of my assemblies | |||
| The GAC as I understand it is a CLR thing | 03:18 | ||
| Global Assembly Cache IIRC | |||
| I just understand it as "The repository for installed .Net modules" | 03:19 | ||
| Well I guess CLR modules would be a more accurate statement | |||
| Each version has its own GAC | 03:20 | ||
| As for binding, I would expect that if I used a CLR module my Perl would end up being very picky because I had to conform to the CLR rules | 03:21 | ||
| That's the price I'd expect to pay for laziness, if I don't want that, then I need to use some non-CLR based module | 03:22 | ||
| I would likely end up with a lot of runtime errors if I tried to do something the CLR didn't like | 03:23 | ||
| even if it would be valid Perl | |||
| Something like Accessing an Array as a Scalar to get the count for instance | 03:24 | ||
| (though in that case I suppose something could be done) | |||
| sorear | hold on, I'm having some crazy ideas on how to redo niecza's name binding mechanism so 'use gtk:from<clr gtk-sharp>' Just Works | 03:25 | |
| MikeFair grins broadly. | |||
| sorear | generally speaking in Perl 6 contexts are just methods. also, there is no "use as a scalar" | 03:26 | |
| MikeFair nods. | |||
| sorear | when you say '0 + @arrray' the + operator notices that @array is an object of type Array, which does not do the Numeric role, so it calls @array.Numeric() | ||
| by convention coercion methods are named the same as the to-type | 03:27 | ||
| the Array class has a .Numeric() method which behaves the same as .elems() | |||
| MikeFair | Or .Count on the CLR side | ||
| sorear | yes. | ||
| there is currently as fairly small set of methods that are treated specially by Niecza's interop layer | 03:28 | ||
| for instance .Str() is mapped to .ToString() so that stringification Just Works | |||
| MikeFair nods. | 03:29 | ||
| sorear | no reason we couldn't add a Numeric->get_Count mapping for IList | ||
| MikeFair | exactly, I've noticed that CLR does an amazing job of reusing just handful of its basic interface types to make everything work | 03:30 | |
| sorear | seeing as how this conversation is relevant to perl 6 but irrelevant to parrot, I wonder if we should move it to irc.freenode.net #perl6, I'm there too | ||
| MikeFair nods. | |||
| I'm also there | |||
| moritz | msg whiteknight I did a complete spectest of rakudo + smoke run of modules on top of the io_cleanup branch. No regressions. | 04:26 | |
| aloha | OK. I'll deliver the message. | ||
|
05:58
fperrad joined
08:18
Psyche^ joined
|
|||
| nine | msg rurban I'll be offline till 2012-09-09. Merge threads at will. | 09:19 | |
| aloha | OK. I'll deliver the message. | ||
| nine | msg whiteknight I'll be offline till 2012-09-09. Merge threads at will. | ||
| aloha | OK. I'll deliver the message. | ||
|
09:37
perlite joined
09:39
simcop2387 joined
09:40
mj41 joined
09:50
JimmyZ joined
09:52
ttbot joined
|
|||
| dalek | kudo/nom: d21d35d | masak++ | t/spectest.data: [spectest.data] added macros-d2.t |
09:55 | |
|
09:56
he joined
10:21
cosimo joined
11:02
cosimo joined
11:40
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 11:59 | |
| dalek | kudo/nom: f7ec305 | masak++ | t/spectest.data: [spectest.data] chased macro test files rename |
12:02 | |
|
12:05
lucian joined
|
|||
| whiteknight | moritz++ | 12:07 | |
| weird, I'm getting an ICU segfault | 15:35 | ||
|
16:22
rurban_mobile joined
|
|||
| rurban_mobile | So it looks like we should merge io_cleanup1 and threads soon. I think we'd need a test on Win32 before. | 16:23 | |
| whiteknight: io_cleanup1 fails now on linux like this: smolder.parrot.org/app/projects/rep...ails/30789 t/pm/filehandle.t 30 and t/pmc/io.t 34 | 16:38 | ||
| threads do look better: smolder.parrot.org/app/projects/rep...ails/30790 All PASS | 16:40 | ||
| dukeleto: around? | 16:41 | ||
|
16:51
contingencyplan joined
17:16
benabik joined
|
|||
| benabik | !! | 17:27 | |
| tadzik | \\o/ | 17:44 | |
| benabik | tadzik: ? | 17:47 | |
| tadzik | threads PASS and stuff ;) | ||
| benabik | If threads and io_cleanup both merge this week, that would be awesome. | ||
| dalek | kudo/nom: bd23ad4 | moritz++ | src/core/ (2 files): rename an exception class |
18:10 | |
|
19:23
contingencyplan joined
|
|||
| dalek | kudo/uncool-iterable: c7e1713 | moritz++ | src/ (3 files): Iterable should not inherit from Cool while that might be cool for core classes, it is not in the general case |
19:35 | |
| kudo/uncool-iterable: c6fac5b | moritz++ | src/core/Nil.pm: Nil is Cool |
|||
| whiteknight | Nil is also "rad" and "awesome" | 19:50 | |
|
19:50
rurban_mobile joined
|
|||
| dalek | p: a886a77 | (Arne SkjƦrholt)++ | src/ops/nqp_dyncall.ops: Properly handle non-Sixmodel objects in dyncall ops. Two issues: - decontainerize in nqp_dyncall.ops was out of sync with decontainerize in sixmodelobject.c (didn't consider possibility of non-SMO arguments) - unmarshalling code (to int/float types) need to dispatch to VTABLE_get_* in case of non-SMO arguments. FROGGS++ for uncovering the problem. |
19:51 | |
|
20:09
lucian joined
20:24
perlite joined
|
|||
| dalek | Heuristic branch merge: pushed 30 commits to nqp/toqast by jnthn | 20:27 | |
| p/toqast: 9b48c83 | jonathan++ | src/QAST/Operations.nqp: Don't re-use the result register of the protected region in handle op for being the overall result. |
21:44 | ||
| p/toqast: 442c735 | jonathan++ | src/NQPQ/ (2 files): Update try, CATCH and CONTROL for QAST. |
|||
| p/toqast: c2b37e4 | jonathan++ | t/nqp/44-try-catch.t: Eliminate a bogus test, plus some other updating to the exception tests. |
|||
| p/toqast: 62dddd0 | jonathan++ | src/QAST/ (2 files): Fix register allocation bug involving handlers and resumable exceptions. |
|||
|
22:00
rurban_mobile joined
|
|||
| dalek | p/toqast: 8d4da1b | jonathan++ | src/NQPQ/Actions.pm: Fix closure interpolation. |
22:17 | |
| whiteknight | ah, I think I've got this issue figured out, the one rurban++ pointed out | 22:45 | |
| and I'll say this again: readline+encodings is a huge pain in the backside | 22:47 | ||
| as far as readline is concerned, the buffer is effectively empty if (1) it contains 0 bytes, (2) it contains fewer bytes than the delimiter, or (3) it contains fewer bytes than the maximum bytes per codepoint of the encoding | 22:49 | ||
| (3) is what I was missing | |||
| The reason this test was passing before is because I was just filling the buffer on every readline, which is a big hit for performance and is absolutely wrong for sockets | 22:52 | ||
| so when I fixed that issue, this one was exposed | |||
| I like getting things tightened up | |||
| dalek | rrot/whiteknight/io_cleanup1: 1cf4aa9 | Whiteknight++ | / (2 files): Comments and small cleanups to .h files. No functional changes |
22:56 | |
| rrot/whiteknight/io_cleanup1: e493fae | Whiteknight++ | src/io/utilities.c: As far as the readline engine is concerned, the buffer is effectively empty if (1) there are zero bytes in the buffer, (2) there are fewer bytes in the buffer than are in the delimiter string or (3) there are fewer bytes in the buffer than the maximum number of bytes per codepoint for the given encoding. In any of these three cases (#3 was missing), we need to make sure we fill the buffer to avoid missing characters spread |
|||
| whiteknight | When I started io_cleanup1, I was expecting it to be a 2-4 week project | 23:03 | |
| my abilities to estimate software development schedules is poor | |||
| also, my subject/verb agreement is poor | |||
|
23:17
lucian joined
|
|||
| whiteknight | If rurban++ can confirm the fix, I'll merge the branch | 23:20 | |
| benabik | whiteknight++ # persistence | 23:24 | |
| whiteknight | It occurs to me that if sprintf is using a StringBuilder internally, that doing something like push(sb, sprintf(...)) is awfully redundant | 23:41 | |
| the sprintf engine should be able to append to an existing StringBuilder | 23:42 | ||