|
Parrot 3.6.0 "P�jaros del Caribe" released | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 5 August 2011. |
|||
|
00:11
soh_cah_toa joined
00:40
whiteknight joined
|
|||
| whiteknight | !!! | 00:44 | |
| I think I've finally fixed the last bug in my Winxed lambda syntax patch | |||
| bubaflub | whiteknight++ | 00:46 | |
| soh_cah_toa | nice | 00:47 | |
| dalek | nxed/lambda_syntax: 2f58961 | Whiteknight++ | winxedst1.winxed: fix small spelling mistake |
||
| nxed/lambda_syntax: 4a9acd6 | Whiteknight++ | winxedst1.winxed: ReturnYieldStatement was ignoring the results of optimization. doing a 'tailcall' into a builtin would fail parsing. Fix that, and now lambdas work for all cases I've tested |
|||
| whiteknight | If either of you guys are familiar with Y-combinators, take a look at this: github.com/Whiteknight/winxed/blob...a_y_comb.t | 00:48 | |
| The version written with the lambdas is down-right tiny | 00:49 | ||
| soh_cah_toa | y-combinator: that sounds scary | ||
| bubaflub | i've read a few articles about y-combinators in different languages and never quite "got it" | 00:53 | |
| sorear | you're wearing the wrong hat | 01:01 | |
| with a programming hat, you won't understand the use of the Y combinator, because well it doesn't really have one | |||
| it's very important in a theory context | |||
|
01:05
daniel-s joined
|
|||
| whiteknight | it's sort of unnecessary in Parrot, because there are plenty of ways to get a reference to a function | 01:07 | |
| but, it's fun to do and if you're doing functional-alike coding, it's more familiar | 01:08 | ||
| sorear | also it's important to know about, because the fact that it's possible is non-obvious and can lead to bugs | 01:13 | |
| the GHC optimizer has a long-standing bug where if you write a Y combinator directly it will hang the inliner | |||
| whiteknight | sorear: for a functional language thats...weird | 01:14 | |
|
01:31
whiteknight joined
|
|||
| soh_cah_toa | aloha: seen jay? | 01:41 | |
| aloha | soh_cah_toa: jay was last seen in #parrot 7 days 6 hours ago joining the channel. | ||
| dalek | nxed/lambda_syntax: e346d7c | Whiteknight++ | t/advanced/10lambda.t: add in a test file with various usage patterns and syntaxes for lambdas |
01:42 | |
| whiteknight | msg NotFound as promised I opened two pull requests tonight. The first adds basic multi support with no changes in syntax. The second adds the new lambda syntax, for you to consider. Do not rush, these can wait. Enjoy your Fiesta | 01:46 | |
| aloha | OK. I'll deliver the message. | ||
| whiteknight | and with that, WHITEKNIGHT OUT! | ||
|
01:51
woosley joined,
Coke joined
02:53
JimmyZ joined
03:47
worr joined
04:10
JimmyZ joined
05:01
JimmyZ joined
05:22
fperrad joined
05:50
worr joined
06:10
jsut joined
07:31
preflex joined
07:38
fperrad joined
07:41
mj41 joined
07:56
contingencyplan joined
|
|||
| dalek | kudo/nom: b7b88d7 | (Erik Johansen)++ | src/core/Any.pm: Change min and max to use user supplied compare. |
08:06 | |
| kudo/nom: ada28b6 | tadzik++ | lib/Pod/To/Text.pm: [Pod::To::Text] Tune and clarify declarator2text() a bit |
08:08 | ||
|
08:11
dafrito joined
08:15
SHODAN joined
08:16
JimmyZ joined
|
|||
| dalek | rrot: b60c778 | fperrad++ | runtime/parrot/library/distutils.pir: [distutils] remove the target sdist_zip |
08:40 | |
|
08:42
M_o_C joined
08:55
varta joined
09:03
jsut_ joined
|
|||
| dalek | kudo/nom: 05b7e3a | moritz++ | src/Perl6/Actions.pm: include constant name NYI error message |
09:36 | |
|
09:43
JimmyZ joined,
Eclesia joined
|
|||
| Eclesia | hi | 09:43 | |
| dalek | kudo/nom: ada28b6 | tadzik++ | lib/Pod/To/Text.pm: [Pod::To::Text] Tune and clarify declarator2text() a bit |
09:44 | |
| kudo/nom: 51eb0f8 | pmichaud++ | src/core/ (2 files): Add Grammar.parse . |
|||
| kudo/nom: ea2b5e6 | pmichaud++ | src/Perl6/Actions.pm: Merge branch 'nom' of github.com:rakudo/rakudo into nom |
|||
|
09:49
whiteknight joined
|
|||
| Eclesia | hi whiteknight | 09:50 | |
| whiteknight | Good morning, Eclesia | ||
| Eclesia | whiteknight: I found an issue in rosella. the copy function on File, only works with text file | 09:52 | |
| whiteknight | oh? I'll have to check on that | ||
|
09:54
not_gerd joined
|
|||
| not_gerd | ~~ | 09:54 | |
| whiteknight | good morning, not_gerd | ||
| not_gerd | good morning, whiteknight | ||
| msg cotto I added some comments/clarifications to my post on m0+ - see github.com/gerdr/on-parrot/commit/...e5f9e93525 | 09:57 | ||
| aloha | OK. I'll deliver the message. | ||
|
10:10
preflex_ joined
|
|||
| dalek | kudo/nom: 6ff7c69 | moritz++ | t/spectest.data: run map.t and substr.t |
10:12 | |
| not_gerd | atrodo: I've just taken a look at Lorito's design.pod and ops.pod | 10:16 | |
| the most obvious semantic difference seems to be that it wants to make the object system a built-in (ie not building it on top of it) | 10:17 | ||
| ie your Lorito is not supposed to replace Parrot's C internals, just expose them differently | 10:19 | ||
| whiteknight | not_gerd: yeah, I would say that's a fair analysis | 10:20 | |
| not_gerd | this is actually probably what I'd done as well if I hadn't read the m0 spec before | ||
| whiteknight | one of the biggest motivators is JIT. We need a language which is platform-neutral and easy to JIT | 10:21 | |
| C is too hard to parse at runtime, esepcially if we want to use more than a small subset, so an assembly-like language is best for simple table lookup conversion | 10:23 | ||
| Eclesia | m0? | 10:24 | |
| JimmyZ | Didn't m0 steal some ideas from luajit? | ||
| not_gerd | Eclesia: github.com/parrot/parrot/blob/m0-s...d32_m0.pod | 10:30 | |
| Eclesia | not_gerd: thanks | 10:42 | |
| dalek | sella: eb18276 | Whiteknight++ | src/filesystem/File.winxed: Add an optional 'encoding' parameter to functions which read text from files. In file copy, read text in binary mode |
||
| whiteknight | Eclesia: That commit should fix File.copy | ||
| not_gerd | building the object model on top of m0 is actually closer conceptually to what PyPy does | 10:44 | |
| luajit is compatible to the standard Lua VM, ie it has built-in table ops | |||
| Eclesia | whiteknight: maybe i didn't thing about all cases, but shouldn't the copy always be in binary ? I have the feeling this encoding parameter is useless | ||
| whiteknight: ho nevermind, I mess up with the '+' and '-' lines :D | 10:47 | ||
| mj41 | Hi. Parrot commits history bit.ly/qxKgUX | 10:48 | |
|
10:58
whiteknight joined
|
|||
| whiteknight | msg kid51 if you have a spare minute could you take a look at the pull request from gerdr? I would like to merge before 3.7, if there are no major problems | 11:05 | |
| aloha | OK. I'll deliver the message. | ||
| dalek | rrot: 17d3cd0 | Whiteknight++ | src/pmc/multisub.pmc: Merge branch 'whiteknight/multisub_cleanup' |
11:18 | |
|
11:24
JimmyZ joined
|
|||
| whiteknight | cotto: ping | 11:28 | |
| msg cotto do you have any thoughts on whiteknight/imcc_tag? I would like to merge it sooner than later (before the release, if possible) | 11:31 | ||
| aloha | OK. I'll deliver the message. | ||
| Eclesia | questions : how can I get the current system time ? and the system temporary folder ? | 11:39 | |
| whiteknight | Eclesia: I think the current system time comes from floattime() | 11:40 | |
| it will be a decimal. I need to look into the formatting routines | |||
| Eclesia | whiteknight: I just need a numeric value | 11:41 | |
| no need for formating ;) | |||
| whiteknight | I don't think there is a standard way to get the system temporary formatting. Use the Env PMC to look for global variables | ||
| not_gerd | Eclesia: the config hash contains a "tempdir" key | 11:48 | |
| whiteknight | oh does it? | 11:55 | |
| the config hash contains too many things | |||
| dalek | kudo/nom: 205e0ed | jonathan++ | src/Perl6/SymbolTable.pm: When we need to on-demand compile a proto, we should also immediately do its candidates. |
11:58 | |
| kudo/nom: 1b8d004 | jonathan++ | src/binder/multidispatch.c: Re-enable constraints being able to see the lexical environment. |
|||
| kudo/nom: f1e2037 | jonathan++ | src/ (5 files): Make it so the constraints actually see the correct lexical environment, not just the static lexpad entries. |
|||
| kudo/nom: 5d3e444 | jonathan++ | NOMMAP.markdown: Update nommap; code constraints on multi-dispatch are done. |
|||
| tadzik | yay | 11:59 | |
| some modules is now fixed due to this, isn't it? | |||
| s/modules/module/; I don't really remember which one | |||
| oh, ww, nvm | |||
| dalek | rrot: 361e440 | Whiteknight++ | NEWS: +add load_bytecode_p_s to NEWS |
12:02 | |
| Heuristic branch merge: pushed 46 commits to parrot/whiteknight/imcc_tag by Whiteknight | |||
|
12:05
register__ joined,
cotto joined
|
|||
| nopaste | "Eclesia" at 192.168.1.3 pasted "temp directory access" (11 lines) at nopaste.snit.ch/70297 | 12:42 | |
| Eclesia | not_gerd: I am having an error when trying to acces the config hash. is this the proper way ? (see nppaste above) | 12:43 | |
| not_gerd | no idea - I just know it's there because I had to fix it on msys | 12:44 | |
| what do you get for `./parrot_config tempdir` on the sehll? | 12:45 | ||
| Eclesia | not_gerd: I have : /tmp | ||
| so it's the way I get the config hash ... | 12:46 | ||
| whiteknight : you have an idea on the proper way to get it ? | |||
| not_gerd | google pointed me at github.com/Whiteknight/Rosella/blo...rot.winxed | 12:47 | |
| var config = getinterp()[IGLOBALS_CONFIG_HASH]; | |||
| Eclesia | not_gerd: thanks, I called directly the rosella method ^^ | 12:51 | |
| whiteknight | Eclesia: That is not the correct way | ||
| Eclesia | whiteknight: you mean the way it's done is rosella ? | 12:52 | |
| in* | |||
| whiteknight | no, the Rosella way is correct | ||
| Eclesia | I rely on it, that it's fine then :) | ||
|
12:52
kid51 joined
|
|||
| Eclesia | is* | 12:53 | |
| kid51 | whiteknight: ping | ||
| whiteknight | pong | ||
| kid51 | I'm looking at the not_gerd pull request. I like it, but before it merges into master, I'd like to improve its test coverage. | 12:54 | |
| What is the best way git-wise for me to do that. | |||
| whiteknight | kid51: what do you mean? | ||
| kid51 | I've never pulled from a foreign repository before. I don't want to commit immediately to git master. | 12:55 | |
| I want to work on the patch more before we commit to master. | |||
| whiteknight | okay, we can pull it into a branch in parrot/parrot so we can play with it | ||
|
12:55
JimmyZ joined
|
|||
| kid51 | Can you do that? | 12:56 | |
| whiteknight | yeah, let me do that right now | ||
| kid51 | thanks | ||
| whiteknight | hold on, I'm in the middle of a test run | ||
| not_gerd | I actually have it in a local branch - just merged it to master before pushing it to my fork | 12:59 | |
| dalek | rrot/gerdr/msys: 11cad81 | (Gerhard R)++ | config/ (2 files): fixed architecture detection |
13:01 | |
| rrot/gerdr/msys: e65b86b | (Gerhard R)++ | config/ (2 files): add proper path translation |
|||
| rrot/gerdr/msys: de8b9aa | (Gerhard R)++ | / (2 files): path translation for temporary test files, skip hanging test pmc/threads.t |
|||
| rrot/gerdr/msys: ea819be | (Gerhard R)++ | config/gen/config_pm.pm: properly translate path used for prefix of non-installed Parrot |
|||
| rrot/gerdr/msys: 94c06d7 | (Gerhard R)++ | config/ (2 files): add quotes to correctly handle paths with spaces |
|||
| rrot/gerdr/msys: e5d9490 | (Gerhard R)++ | config/auto/headers.pm: explicitly probe for sys/utsname.h |
|||
| rrot/gerdr/msys: c9582b5 | (Gerhard R)++ | / (2 files): don't backslash-escape on MSYS |
|||
| rrot/gerdr/msys: f3cbe37 | (Gerhard R)++ | / (6 files): Merge branch 'msys' |
|||
| rrot/gerdr/msys: b3ced86 | Whiteknight++ | / (6 files): Merge branch 'master' of git://github.com/gerdr/parrot into gerdr/msys |
|||
| kid51 | not_gerd: We have tests for configuration steps in t/configure. I'd like to make sure we keep the test coverage high. | ||
| kid51 | Thanks. | 13:04 | |
| kid51 looks at gerdr/msys branch | |||
| whiteknight: For future reference, what command did you use for that? | |||
| not_gerd | kid51: how would I go about running these tests? I don't see a make target for that... | ||
| dalek | kudo/nom: 607c1b8 | moritz++ | / (4 files): atan2 |
13:08 | |
| kid51 | not_gerd: perl Configure.pl --test=build | 13:12 | |
| not_gerd: Why did you make the change at line 104 of config/auto/arch.pm? It seems like you're making that change for all platforms. | 13:13 | ||
| Also: what would happen in lines 85-88 if neither of those $ENV{elements} were defined? | 13:14 | ||
| not_gerd | kid51: re arch.pm: it affects standard windows as well, but probably has no effect assuming i386 is default | 13:15 | |
| kid51 | Should there be a default assignment. | ||
| BTW, what is 'msys', anyway? | |||
| not_gerd | msys is a gnu userland for windows based on mingw | 13:16 | |
| think cygwin without the linux emulation layer | |||
| kid51 | k | ||
| Would we be better off if we said? $cpuarch = lc ( $ENV{PROCESSOR_ARCHITEW6432} || $ENV{PROCESSOR_ARCHITECTURE} || 'i386' ); | 13:18 | ||
| not_gerd | I don't think so | 13:21 | |
| $ENV{PROCESSOR_ARCHITECTURE} should always be defined | |||
| conceptionally, it belongs to the other replacements | |||
| $ENV{PROCESSOR_ARCHITEW6432} || $ENV{PROCESSOR_ARCHITECTURE} will return 'x86' or 'amd64' | 13:22 | ||
| the || is necessary to deal with 32-bit processes on 64-bit hardware | |||
| $ENV{PROCESSOR_ARCHITECTURE} returns the bit-ness of tzhe process it's run from, and probably always return 'x86' as msys is 32-bit | 13:23 | ||
| (assuming you're not using something like windows ce, for which there probably is no msys) | 13:24 | ||
| kid51 | Well, since someone might run the t/steps/auto/arch-01.t test on other platforms, would you object to setting 'i386' as the fallback value? (Without it, I get an uninitialized value warning). | 13:26 | |
|
13:28
dafrito joined
|
|||
| not_gerd | sure, I did not know that you can get to that part of code if you're not actually using msys | 13:29 | |
| conceptionally, the correct fallback value would be x86, though, but it won't make any difference | 13:30 | ||
| kid51 | Thanks. | ||
| Then we'll say x86. | |||
| not_gerd | btw, I just pulled gerdr/msys from the parrot repo | 13:39 | |
| I assume that's where I should do changes? | |||
| kid51 | Yes, but I'll be pushing my changes there in a couple of minutes after I run Devel::Cover | 13:41 | |
| dalek | kudo/nom: 9f86f98 | moritz++ | / (4 files): sec, asec |
13:44 | |
| kudo/nom: 8479b4f | moritz++ | src/Perl6/Grammar.pm: fix typo in Grammar.pm, baest++ |
13:45 | ||
| kudo/nom: 3cfd93d | jonathan++ | src/ (5 files): Fix use of captured type variables as multi-dispatch constraints. |
13:47 | ||
| kudo/nom: 882128c | jonathan++ | NOMMAP.markdown: Operator overloading seems to work fine, so remove from punch list. |
|||
| rrot/whiteknight/frontend_parrot2: 3631eec | Whiteknight++ | / (3 files): Set the executable name from prt0, to avoid an API call. Show usage messages from prt0 if necessary, fix handling of -h and -V. a few other related cleanups |
|||
| rrot/gerdr/msys: 7d3ff40 | jkeenan++ | / (5 files): Update msys-related tests. gerdr++. Update copyright dates. |
13:49 | ||
| kid51 | Coverage analysis here: thenceforward.net/parrot/coverage/c...erage.html | ||
| not_gerd: Does that look okay with you? | 13:51 | ||
| not_gerd | looks good to me | 13:55 | |
| Eclesia | ++ | 13:56 | |
| kid51 | smolder on branch: smolder.parrot.org/app/projects/rep...ails/20856 | 13:59 | |
| Will now merge into master; not_gerd++ | |||
| dalek | rrot: b3ced86 | Whiteknight++ | / (6 files): Merge branch 'master' of git://github.com/gerdr/parrot into gerdr/msys |
14:00 | |
| rrot: 7d3ff40 | jkeenan++ | / (5 files): Update msys-related tests. gerdr++. Update copyright dates. |
|||
|
14:12
jaffa4 joined
|
|||
| jaffa4 | hi | 14:12 | |
| Why is this notworking set_global ["m1"],"c",$I0? | |||
| dalek | kudo/nom: a959e52 | jonathan++ | src/Perl6/Metamodel/ParametricRole (2 files): Toss some unused methods. |
14:23 | |
| p: bdab779 | pmichaud++ | src/QAST/Compiler.nqp: Add pastnode rxtype to QAST::Regex. |
14:32 | ||
| p: e913287 | moritz++ | src/HLL/Compiler.pm: error and backtrace should go to standard error by default |
14:34 | ||
|
14:38
ssqq joined
|
|||
| dalek | kudo/nom: 6ac303d | pmichaud++ | / (2 files): Add code blocks and code assertions in regexes. |
14:44 | |
| rrot: a94f568 | jkeenan++ | src/pmc/multisub.pmc: [codingstd] Make file pass 3 codingstd tests. |
14:52 | ||
| kid51 | msg whiteknight You have a TODO in src/pmc/multisub.pmc | ||
| aloha | OK. I'll deliver the message. | ||
|
14:59
autark joined
|
|||
| benabik | o/ | 15:02 | |
| aloha: m0? | |||
| aloha | benabik: m0 is the VM that Lorito will run on top of. or leto.net/perl/2011/05/what-is-m0.html | ||
| benabik | m0? | ||
| Ah, aloha only answers if you ask directly. Fair enough. (Was reading back scroll.) | |||
|
15:03
calatalee joined
|
|||
| jaffa4 | Why is this notworking set_global ["m1"],"c",$I0? | 15:06 | |
| benabik | jaffa4: In what way is it not working? Does it give an error, or does it seem to work but the corresponding get_global doesn't work? | 15:07 | |
| pmichaud | jaffa4: it's not possible to "set_global" anything but a PMC, afaik | ||
| dukeleto | ~~ | ||
| pmichaud | you can do: | 15:08 | |
| $P0 = box $I0 | |||
| set_global ["m1"],"c",$P0 | |||
| dukeleto | benabik: you have questions about m0? | ||
| jaffa4 | what about set_hll_global? What is the difference? | ||
| pmichaud | set_global sets entries based on the current namespace | ||
| set_hll_global sets entries relative to the top of the current hll's namespace | 15:09 | ||
| (set_root_global sets entries relative to the root namespace) | |||
| benabik | dukeleto: No, I was reading the backscroll and Eclesia said "m0?" and I was wondering why that didn't trigger aloha to give an answer. Didn't realize it had to be addressed directly. | ||
| dukeleto | benabik: aloha's ancestors answered without a direct question, but people got annoyed at the noise. Hence, aloha is quiet unless spoken to | 15:10 | |
| benabik | dukeleto: Ah. Seems less useful that way, but understandable. | 15:11 | |
| jaffa4 | IS it faster if one uses is handle instread of ["m1"]? | 15:12 | |
| pmichaud, so which one do you recommend to use? | 15:14 | ||
| dukeleto | benabik: how goes your GSoC progress? I saw that you made some good stuff happen in the last week | 15:17 | |
| benabik | dukeleto: Very very simple trees can be built from PAST to bytecode. Trying to get squeak to run on it, I ran into the fact that PAST::Block handling involves a lot of PIR text so I have to rewrite it… and it's not simple. | 15:18 | |
| dukeleto: Hope to have that done by Monday, but testing all the corner cases in there will be "fun" | 15:19 | ||
| dukeleto | benabik: incremental improvements. Also, feel free to try to recruit other parrot hackers. If you create github issues for things you know you need to hack on, then you can email parrot-dev and tell people that karma points await them | 15:23 | |
| benabik: even if gsoc is over, we want your project to continue on, and getting other people involved is always good | 15:24 | ||
| benabik | dukeleto: I definitely plan on continuing. IMNSHO, PCT needs some real refactoring… I may try to get the bytecode gen working and then start up a PACT (Parrot Alternate Compiler Toolkit) project to test out some refactorings. | 15:26 | |
| dukeleto: I really feel that one of Parrot's strengths is in being a playground for developing languages. And I'd like PCT to be a top class framework, usable at everything from the "just use it to generate PIR/bytecode" to "I just want to parse and forget". It's pretty good right now, but I have ideas… :-D | 15:30 | ||
| (Oh, and at the "I'd like to experiment with optimization" level too, which it doesn't currently have the ability to do. I think merging tree-optimizer into PCT is fairly high priority, with some pre-made optimizations available. Not mandatory, since they won't all work for all languages, but available.) | 15:31 | ||
| dukeleto | benabik: i like the sound of that | 15:32 | |
| JimmyZ | or call it PCC ( Parrot Compiler Collection) | ||
| something like GCC ;) | |||
| dukeleto | benabik: because without tree-optimization becoming part of PCT, it will surely bitrot. It has already happened once. | ||
| benabik | JimmyZ: Sadly, that acronym is already used in the compiler-space. Portable C Compiler - pcc.ludd.ltu.se/ | ||
| dukeleto | JimmyZ: we already have a PCC (parrot calling conventions), so we will need a different name :) | ||
| benabik | JimmyZ: And is already used in Parrot… oh, dukeleto beat me to it. | 15:33 | |
| JimmyZ | YAPCC :) | ||
| Yet Another ... | |||
| well, it's wrong too | |||
| Parrot didn't have one | 15:34 | ||
| or Yet Another Portable C Compiler : | |||
| benabik | I like PACT because it's pronounceable. Alternate belongs in there because if I get serious about it, it'll be a while before it's a full replacement for PCT. And if it does replace PCT, it can just be renamed PCT2 or something. | ||
| JimmyZ | or just refactor PCT | 15:35 | |
| benabik | JimmyZ: I want to do the kind of refactors that break things. | 15:36 | |
| JimmyZ | pmichaud++ wanted to port PCT to NQP, irrc | ||
| benabik | JimmyZ: So it can't be done in-tree. Plus I think PCT would be easier to develop if it was out of tree… Altering PCT causes make to rebuild half of Parrot. | ||
| JimmyZ: Most of PCT is in NQP. See the nqp_pct branch. | 15:37 | ||
| JimmyZ: Or rather, has already been rewritten in NQP. | |||
| JimmyZ | benabik: yeah, I saw it , great GSOC work | 15:38 | |
| benabik: I meant he wanted make PCT to part of NQP | |||
| well, I am not sure | 15:39 | ||
| or maybe | |||
| benabik | JimmyZ: The newest NQP has some extensions to PCT. And some of his recent changes hung out in NQP for a while before showing up in Parrot. | ||
| JimmyZ | benabik: yeah | 15:40 | |
| moritz | Coke: FYI I smoked rakudo/nom on latest parrot yesterday, worked all fine | 15:58 | |
|
16:02
preflex joined
|
|||
| jaffa4 | What is the size of an int in parrot? | 16:04 | |
| benabik | I think it's architecture dependent. | 16:05 | |
| I could be wrong. | |||
| jaffa4 | I guess it is at least 32 bit | ||
| benabik | jaffa4: If I'm right, it's 32/64 bit depending on architecture/build settings. | 16:06 | |
| moritz | whatever `parrot_config intsize` returns | ||
| jaffa4 | How do you solve that problem in Rakudo? | ||
| moritz | we don't | 16:07 | |
| jaffa4 | it will need to solved one time or another. | ||
| jnthn__ | int in Perl 6 is spec'd to be machine dependent | ||
| benabik | And Int is defined to be arbitrarily large, IIRC. | 16:08 | |
| jnthn__ | right :) | ||
| jaffa4 | ok What about number? How big is it? | 16:12 | |
|
16:29
ilbot2 joined
|
|||
| moderator | Parrot 3.6.0 "P�jaros del Caribe" released | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC | ||
| dalek | rrot: 284dad3 | jkeenan++ | NEWS: Report improved configuration support for msys. gerdr++. |
16:30 | |
| rrot: d8d5cce | jkeenan++ | src/pmc/multisub.pmc: Merge branch 'master' of git@github.com:parrot/parrot |
|||
|
16:47
cotto joined
16:54
Eclesia joined
|
|||
| Eclesia re | 16:54 | ||
| moritz | fwiw, rakudo/nom was fine on parrot RELEASE_3_6_0-179-gc3f359c | 17:17 | |
| I've got lots of spectest failures on top of RELEASE_3_6_0-197-ga94f568 | 17:18 | ||
| but it's a different machine, so I'm not yet sure if it's one of the commits inbetween that broke rakudo, or a different environment | 17:19 | ||
| doing the test now, but it takes some time | |||
|
17:23
cotto joined
|
|||
| cotto | ohai | 17:23 | |
| im in yurp | |||
| aloha, clock? | |||
| aloha | cotto: LAX: Sat, 10:23 PDT / CHI: Sat, 12:23 CDT / NYC: Sat, 13:23 EDT / UTC: Sat, 17:23 UTC / LON: Sat, 18:23 BST / BER: Sat, 19:23 CEST / TOK: Sun, 02:23 JST / SYD: Sun, 03:23 EST | ||
|
17:25
lucian joined
|
|||
| cotto | going to yapc::eu? | 17:31 | |
| aloha, going to yapc::eu? | |||
| aloha | cotto: going to yapc::eu is cotto or jnthn or szabgab or Maddingue or TimToady or rurban or pmichaud or tadzik | ||
| moritz | aloha: going to yapc::eu is also TimToady | 17:40 | |
| aloha | moritz: Okay. | ||
|
17:40
jsut joined
|
|||
| cotto | moritz, one would hope so ;) | 17:40 | |
| msg whiteknight The whiteknight/imcc_tag branch makes me happy. +1 to merge. | |||
| aloha | OK. I'll deliver the message. | ||
| moritz | never mind my previous report about broken rakudo tests on parrot -- my t/spec/ had local modifications, so it didn't pull the latest changes from github | 17:42 | |
| so my report was bogus | |||
| will try to get a non-bogus report now :-) | |||
|
18:05
cotto joined
18:37
Eclesia left
18:59
davidfetter joined
|
|||
| dalek | kudo/nom: 6a4783e | (Martin Kjeldsen)++ | src/core/Any.pm: Replace $by in min,max with &infix:<cmp> |
19:07 | |
| p: e0f623d | tadzik++ | src/6model/reprs/P6opaque.c: Move write bareer to a correct place; jnthn++ |
19:10 | ||
|
19:20
worr joined
|
|||
| dalek | kudo/nom: c0e4135 | tadzik++ | / (4 files): Implement Formatting Codes in Pod strings |
19:24 | |
|
19:40
soh_cah_toa joined
19:45
ambs joined
19:46
fperrad joined
19:58
kid51 joined
|
|||
| lucian | is there a way to add a custom exception handler? | 20:06 | |
| soh_cah_toa | lucian: in pir? | ||
| lucian | soh_cah_toa: sure | 20:07 | |
| soh_cah_toa | lucian: are you familiar w/ the 'push_eh' and 'pop_eh" opcodes? | ||
| lucian | all i can think of is wrapping everything in a try | ||
| soh_cah_toa: nope. looking them up | 20:08 | ||
| soh_cah_toa | let me find you an example. h/o | ||
| also, look in docs/user/pir/exceptions.pod | 20:09 | ||
| there are many examples in runtime/parrot/library/osutils.pir. in particular, the rmtree() function | 20:10 | ||
| lucian | soh_cah_toa: right, so just catch all exceptions | ||
| i'm trying to implement custom stack traces | |||
| soh_cah_toa | yeah, but inside the handler you use .get_results to determine the type | ||
| lucian | hmm, might write it in winxed | 20:11 | |
| soh_cah_toa | it's not possible to catch specific exceptions in winxed yet? | ||
| lucian | sure it is | 20:12 | |
| i'd just rather use winxed than pir | |||
| soh_cah_toa | of course | ||
| lucian | heh, i'm almost tempted to use a full-blown templating language for the compiler | 20:17 | |
| dalek | kudo/nom: 290edf6 | moritz++ | src/core/Any.pm: correct usage of proto If the proto never re-dispatches to its candidates, there is no point in having the candidates at all There's still a multi dispatch bug that prevents us from running the candidates without named param though :( |
20:21 | |
| kudo/nom: 88ba2f1 | moritz++ | src/core/Any.pm: work around a multi dispatch bug Unfortunately that means going back to a repetition of the default value |
|||
| Tene_ | There's a "backtrace" method on.. uh... something you can get from the exception, that gives you an object you can walk over. | ||
| iirc | 20:22 | ||
| dalek | kudo/nom: deb5c7b | jonathan++ | / (6 files): Merge branch 'nom' of github.com:rakudo/rakudo into nom |
20:23 | |
|
20:25
perlite joined
|
|||
| benabik | o/ | 20:41 | |
| soh_cah_toa | benabik: howdy | 20:42 | |
| benabik | soh_cah_toa: What's happening? | ||
| soh_cah_toa | eh. exploring pct to see how my debug format idea can be implemented | 20:43 | |
| benabik | That may be interesting… The bits that know where the high level information is may not know where in the final code it goes. | 20:44 | |
| soh_cah_toa | yeah, it'd just be one stage of the process | 20:45 | |
| benabik | May need to add a new "debug_info" off POST::Node and add the appropriate information in PAST::{New,}Compiler | ||
| soh_cah_toa | hm, that's an idea | 20:46 | |
| btw, the push() method for a PAST::* object. how does that work? it isn't exactly an array that can push/pop entries. does it add a child, sibling, or what? | 20:47 | ||
| benabik | PCT::Node and descendants are captures. They have a named and a positional part. | ||
| The named part holds attributes and positional holds children. | |||
| push adds a new child at the end. | |||
| soh_cah_toa | ah, ok | 20:48 | |
|
20:48
M_o_C joined
|
|||
| benabik | Most of the methods on the PCT::Node subclasses are just sugar on top of the named section. i.e. $node.name() is almost the same as $node<name>. | 20:49 | |
| soh_cah_toa | oh neat | ||
| benabik | The methods occasionally do things like setting defaults and the like. | ||
| soh_cah_toa | right, like lvalue(), isdecl(), etc | 20:50 | |
| benabik | (Most of the methods actually are wrappers around PCT::Node.attr(), which handles getting/storing info from the capture and handling default values. | ||
| soh_cah_toa | ok | 20:51 | |
| benabik | (This may be more detail than you need. :-D ) | 20:52 | |
| soh_cah_toa | all the PAST::* classes inherit from PCT::Node? | ||
| benabik | PAST::* descend from PAST::Node, which descend from PCT::Node. | ||
| Similar for POST::* | |||
| soh_cah_toa | ok | ||
| benabik | AFAIK, the only exceptions are the compilers, which instead descend from PCT::HLLCompiler | 20:53 | |
| soh_cah_toa | right | ||
| interesting. so maybe debug data would continually be collected between each compilation stage: PAST (get high level stuff) -> POST (add more opcode stuff) -> PIR (ditto) -> PBC (add very low stuff) | 20:55 | ||
| this actually may not be as hard as it sounds | 20:56 | ||
| benabik | Yes. POST::Node would need to hold information noting what HLL construct it belongs to. Then it would either have to add the appropriate annotations (or whatever) to the PIR or build the debug segment for PBC. | ||
| soh_cah_toa | are there any docs about the POST process? it's the one stage i'm not too familiar with | 20:57 | |
| benabik | Currently POST is mostly full of chunks of PIR. | 20:58 | |
| The stages aren't hugely well documented. I find the NQP versions on my branch to be fairly readable though. | 20:59 | ||
| soh_cah_toa | it's the stage where high-level statements are translated into actual opcodes, correct? | ||
| benabik | PAST::Compiler is basically where that happens. | 21:00 | |
| POST::Compiler is mostly organizing it into PIR | |||
| POST trees are full of bits of PIR. | |||
| soh_cah_toa | ok, interesting | ||
| benabik | POST::Compiler handles a lot of the ordering and the gritty details. But PAST::Compiler generates most of the opcodes… POST is mostly structured PIR. Despite the multiple formats, the work is actually very shallow. | 21:02 | |
| (POST being structured PIR is irritating to me, BTW… There are lots of things like "push_pirop('.local pmc block')" in PAST::Compiler that I need to work around. | |||
| soh_cah_toa | ok | 21:03 | |
| benabik | If you want to add to PCT, you will probably prefer working on my branch. It's 100% functional for PIR generation, it's just the PBC gen portion that doesn't fully work. | 21:10 | |
| (Mostly because attempting to extend something written in tons of PIR is painful.) | |||
| soh_cah_toa | sure | ||
| benabik | soh_cah_toa: If you have any other questions, I'm happy to help. But I've got to go for now, so either e-mail or aloha and I'll get back to you. | 21:32 | |
| soh_cah_toa | benabik: sure thanks | 21:33 | |
| bubaflub | aloha: going to ppw? | 21:34 | |
| aloha | bubaflub: No clue. Sorry. | ||
| bubaflub | aloha: ppw? | ||
| aloha | bubaflub: I have no idea. | 21:35 | |
| soh_cah_toa | me! | ||
| bubaflub | soh_cah_toa: nice. i'm trying to get my work to fly me out. | ||
| soh_cah_toa | oh, very cool | ||
| bubaflub | i reckon there will be a few other Parroteers there as well | ||
| soh_cah_toa | i hope so | 21:36 | |
|
21:36
Eclesia joined
|
|||
| Eclesia | hi | 21:37 | |
| soh_cah_toa | Eclesia: hey | ||
|
21:44
Psyche^ joined
21:49
lucian joined
|
|||
| Coke | moritz++ danke. | 22:19 | |
|
22:36
whiteknight joined
|
|||
| whiteknight | Good evening, #parrot | 22:37 | |
| soh_cah_toa | whiteknight: hey | ||
| whiteknight | hello soh_cah_toa | 22:38 | |
|
22:38
worr joined
|
|||
| whiteknight | Coke: ping | 22:46 | |
| Eclesia | whiteknight++ : for the fix on file.copy | 22:48 | |
| whiteknight | Eclesia: I'm sorry I didn't test binary file copies sooner | ||
| Eclesia | whiteknight: no problem. | 22:50 | |
| whiteknight: changing subject : do you know how to zip a folder without the relative path ? | |||
| whiteknight | Eclesia: no. I don't know anything about zipping folders. I've never tried it | 22:51 | |
| You can get the full path from rosella. I thing there is a function Rosella.FileSystem.current_directory() that returns it | |||
| Eclesia | whiteknight: yes but actually I'm using the spawnw to zip my files, but since the call is made from a given place, the relative path is stored in the zip, wich is not great :/ | 22:52 | |
|
22:53
AzureSto_ joined
|
|||
| Eclesia | whiteknight: or perhaps you might know how I could call two actions in one spawn ? like "cd some/folder + zip mystuffs" | 22:53 | |
| whiteknight | Eclesia: Parrot has a chdir somewhere | ||
| I don't remember if Rosella exposes it | |||
| Eclesia | # Make a new directory, then enter it | 22:55 | |
| $S1 = 'foobar' | |||
| mkdir($S1) | |||
| chdir($S1) | |||
| dalek | rrot: 61b84be | Whiteknight++ | src/pmc/multisub.pmc: Remove a TODO note, and put in some basic bounds-checking code. I still don't like this but it's slightly better. |
||
| whiteknight | Eclesia: okay | ||
| Eclesia | I found that by making a search on the full code. seems like it's what I'm looking for | 22:56 | |
| whiteknight | msg Coke I would really like to merge the whiteknight/imcc_tag branch before the release, if that's cool with you. I'm doing lots of local testing and it's looking fine. | ||
| aloha | OK. I'll deliver the message. | ||
| soh_cah_toa | whiteknight: do you think my debug format spec is a possibility? i've been fiddling w/ PCT a bit today and i think it actually may not be too hard | 23:00 | |
| whiteknight: i'm thinking it'd be a multi-stage process where some high-level info is gathered by PAST, then passed down to POST where some info is filled in and more info is generated, then passed down again to PIR/IMCC where more low-level info is finalized and shoved into the bytecode | 23:01 | ||
| whiteknight | soh_cah_toa: From what I've seen it looks pretty good. I still haven't had time to really dig into it deeply | 23:02 | |
| soh_cah_toa | yeah ok | ||
| whiteknight | soh_cah_toa: I'll look at it now. Where are you with hbdb? | ||
| soh_cah_toa | pff.. | ||
| uh, well i guess i gotta think about watchpoints now | |||
| Coke | whiteknight: pong | ||
| whiteknight: give me a 1 line summary of the branch? | 23:03 | ||
| dalek | kudo/nom: 482e96e | Coke++ | t/spectest.data: run more tests, track failure modes |
||
| whiteknight | Coke: Adds a new :tag() syntax to IMCC. Changes no existing syntax and affects no other functionality | ||
| the diff is a pain because it affects the IMCC generated files | 23:05 | ||
|
23:09
cotto joined
23:11
whiteknight joined
|
|||
| whiteknight is rapidly becoming disillusioned with ubuntu | 23:16 | ||
| Eclesia | whiteknight: ho? what are you using normaly ? | 23:17 | |
| cotto | aloha, clock? | 23:18 | |
| aloha | cotto: LAX: Sat, 16:18 PDT / CHI: Sat, 18:18 CDT / NYC: Sat, 19:18 EDT / UTC: Sat, 23:18 UTC / LON: Sun, 00:18 BST / BER: Sun, 01:18 CEST / TOK: Sun, 08:18 JST / SYD: Sun, 09:18 EST | ||
| cotto doesn't know anything about the time atm | |||
| whiteknight | Eclesia: I'm on ubuntu. I have 11.04 on one partition, and Ubuntu 10.04 on another | 23:19 | |
| I find 11.04 to be extremely unstable in a lot of ways | |||
| The fact that it locks up occasionally and forces me to restart gnome is obnoxious | 23:20 | ||
| Eclesia | whiteknight: I guess you are on the last gnome ^^ | ||
| whiteknight | and the various problems I have with my trackpad *and* my normal USB mouse are both frustrating | ||
| Eclesia switched to lxde. | 23:21 | ||
|
23:21
worr joined
|
|||
| soh_cah_toa | wow, that's pretty bad. i'd report that | 23:21 | |
| Coke | whiteknight: sure, pull the trigger now. | 23:23 | |
| whiteknight: I hate 11.04; it screwed up the power save mode on the laptop, so when it sleeps, it freezes, I have to reboot. | |||
| whiteknight | Coke: I'm looking at a bit of 11th hour weirdness. g++ apparently is failing on a line of code that I didn't touch I need to figure out why | 23:24 | |
| Eclesia going to bed +++ | |||
| whiteknight | Coke: Yeah, I had to disable a lot of power features for the same reason | ||
| oh, no. It is one of the ones I touched. But I copy+pasted it from a place that I didn't touch | 23:25 | ||
| apparently yacc treats SymReg * r and SymReg * const r differently | 23:34 | ||
| the former it assigns to a void*, the later it assigns to an integer | |||
| ttbot | Parrot 61b84bee MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/43978 | 23:39 | |
| Coke | whiteknight: if you can track that down before I wake up sunday, merge it. | 23:44 | |
| whiteknight | Ah, I got it. I screwed up a bit of bison esoterica | 23:45 | |
| also, it looks like a function got mangled in the merge | |||
| I used %token <t> when I should have used %token <sr> | 23:48 | ||
| lucian | oddly enough, on my gf's laptop, 11.04 manages to sleep without locking up, previous ubuntus didn't | 23:53 | |
| whiteknight | lucian! | 23:54 | |
| lucian | whiteknight: ? | 23:55 | |
| whiteknight | lucian: We don't see enough of you | 23:57 | |
| also, how is your project goin? | |||
| dalek | rrot: f957d20 | Whiteknight++ | / (17 files): Merge branch 'whiteknight/imcc_tag' |
||
| rrot: 5f0a29c | Whiteknight++ | / (4 files): I used the wrong %type for subtags rule in imcc.y. Fix that to make g++ shut up. Fix a function declaratio and prototype that got mangled/lost in the merge |
|||
| lucian | whiteknight: meh, not great | ||
|
23:57
soh_cah_toa joined
|
|||
| lucian | RL's been taking up much of my time | 23:57 | |
| also, debugging on parrot sucks | 23:58 | ||
| soh_cah_toa | ;) | ||
|
23:58
benabik joined
|
|||
| benabik | o/ | 23:59 | |