Camelia, the Perl 6 bug

IRC log for #parrot, 2011-08-13

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:11 soh_cah_toa joined #parrot
00:40 whiteknight joined #parrot
00:44 whiteknight !!!
00:44 whiteknight I think I've finally fixed the last bug in my Winxed lambda syntax patch
00:46 bubaflub whiteknight++
00:47 soh_cah_toa nice
00:47 dalek winxed/lambda_syntax: 2f58961 | Whiteknight++ | winxedst1.winxed:
00:47 dalek winxed/lambda_syntax: fix small spelling mistake
00:47 dalek winxed/lambda_syntax: review: https://github.com/Whiteknig​ht/winxed/commit/2f58961698
00:47 dalek winxed/lambda_syntax: 4a9acd6 | Whiteknight++ | winxedst1.winxed:
00:47 dalek winxed/lambda_syntax: 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
00:47 dalek winxed/lambda_syntax: review: https://github.com/Whiteknig​ht/winxed/commit/4a9acd6d59
00:48 whiteknight If either of you guys are familiar with Y-combinators, take a look at this: https://github.com/Whiteknight/winxed/blob/​lambda_syntax/t/advanced/10lambda_y_comb.t
00:49 whiteknight The version written with the lambdas is down-right tiny
00:49 soh_cah_toa y-combinator: that sounds scary
00:53 bubaflub i've read a few articles about y-combinators in different languages and never quite "got it"
01:01 sorear you're wearing the wrong hat
01:01 sorear with a programming hat, you won't understand the use of the Y combinator, because well it doesn't really have one
01:01 sorear it's very important in a theory context
01:05 daniel-s joined #parrot
01:07 whiteknight it's sort of unnecessary in Parrot, because there are plenty of ways to get a reference to a function
01:08 whiteknight but, it's fun to do and if you're doing functional-alike coding, it's more familiar
01:13 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 sorear the GHC optimizer has a long-standing bug where if you write a Y combinator directly it will hang the inliner
01:14 whiteknight sorear: for a functional language thats...weird
01:31 whiteknight joined #parrot
01:41 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.
01:42 dalek winxed/lambda_syntax: e346d7c | Whiteknight++ | t/advanced/10lambda.t:
01:42 dalek winxed/lambda_syntax: add in a test file with various usage patterns and syntaxes for lambdas
01:42 dalek winxed/lambda_syntax: review: https://github.com/Whiteknig​ht/winxed/commit/e346d7c4c8
01:46 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.
01:46 whiteknight and with that, WHITEKNIGHT OUT!
01:51 woosley joined #parrot
01:51 Coke joined #parrot
02:53 JimmyZ joined #parrot
03:47 worr joined #parrot
04:10 JimmyZ joined #parrot
05:01 JimmyZ joined #parrot
05:22 fperrad joined #parrot
05:50 worr joined #parrot
06:10 jsut joined #parrot
07:31 preflex joined #parrot
07:38 fperrad joined #parrot
07:41 mj41 joined #parrot
07:56 contingencyplan joined #parrot
08:06 dalek rakudo/nom: b7b88d7 | (Erik Johansen)++ | src/core/Any.pm:
08:06 dalek rakudo/nom: Change min and max to use user supplied compare.
08:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b7b88d7906
08:08 dalek rakudo/nom: ada28b6 | tadzik++ | lib/Pod/To/Text.pm:
08:08 dalek rakudo/nom: [Pod::To::Text] Tune and clarify declarator2text() a bit
08:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ada28b6d2d
08:11 dafrito joined #parrot
08:15 SHODAN joined #parrot
08:16 JimmyZ joined #parrot
08:40 dalek parrot: b60c778 | fperrad++ | runtime/parrot/library/distutils.pir:
08:40 dalek parrot: [distutils] remove the target sdist_zip
08:40 dalek parrot: review: https://github.com/parrot/parrot/commit/b60c778b5b
08:42 M_o_C joined #parrot
08:55 varta joined #parrot
09:03 jsut_ joined #parrot
09:36 dalek rakudo/nom: 05b7e3a | moritz++ | src/Perl6/Actions.pm:
09:36 dalek rakudo/nom: include constant name NYI error message
09:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/05b7e3a0eb
09:43 JimmyZ joined #parrot
09:43 Eclesia joined #parrot
09:43 Eclesia hi
09:44 dalek rakudo/nom: ada28b6 | tadzik++ | lib/Pod/To/Text.pm:
09:44 dalek rakudo/nom: [Pod::To::Text] Tune and clarify declarator2text() a bit
09:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ada28b6d2d
09:44 dalek rakudo/nom: 51eb0f8 | pmichaud++ | src/core/ (2 files):
09:44 dalek rakudo/nom: Add Grammar.parse .
09:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/51eb0f893b
09:44 dalek rakudo/nom: ea2b5e6 | pmichaud++ | src/Perl6/Actions.pm:
09:44 dalek rakudo/nom: Merge branch 'nom' of github.com:rakudo/rakudo into nom
09:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ea2b5e62ba
09:49 whiteknight joined #parrot
09:50 Eclesia hi whiteknight
09:50 whiteknight Good morning, Eclesia
09:52 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 #parrot
09:54 not_gerd ~~
09:54 whiteknight good morning, not_gerd
09:54 not_gerd good morning, whiteknight
09:57 not_gerd msg cotto I added some comments/clarifications to my post on m0+ - see https://github.com/gerdr/on-parrot/commit​/9940dce7d6071dab91ddd51d1cd6bbe5f9e93525
09:57 aloha OK. I'll deliver the message.
10:10 preflex_ joined #parrot
10:12 dalek rakudo/nom: 6ff7c69 | moritz++ | t/spectest.data:
10:12 dalek rakudo/nom: run map.t and substr.t
10:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6ff7c699db
10:16 not_gerd atrodo: I've just taken a look at Lorito's design.pod and ops.pod
10:17 not_gerd 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:19 not_gerd ie your Lorito is not supposed to replace Parrot's C internals, just expose them differently
10:20 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
10:21 whiteknight one of the biggest motivators is JIT. We need a language which is platform-neutral and easy to JIT
10:23 whiteknight 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:24 Eclesia m0?
10:24 JimmyZ Didn't m0 steal some ideas from luajit?
10:30 not_gerd Eclesia: https://github.com/parrot/parrot/blob​/m0-spec/docs/pdds/draft/pdd32_m0.pod
10:42 Eclesia not_gerd: thanks
10:42 dalek Rosella: eb18276 | Whiteknight++ | src/filesystem/File.winxed:
10:42 dalek Rosella: Add an optional 'encoding' parameter to functions which read text from files. In file copy, read text in binary mode
10:42 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/eb18276d61
10:42 whiteknight Eclesia: That commit should fix File.copy
10:44 not_gerd building the object model on top of m0 is actually closer conceptually to what PyPy does
10:44 not_gerd luajit is compatible to the standard Lua VM, ie it has built-in table ops
10:44 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
10:47 Eclesia whiteknight: ho nevermind, I mess up with the '+' and '-' lines :D
10:48 mj41 Hi. Parrot commits history http://bit.ly/qxKgUX
10:58 whiteknight joined #parrot
11:05 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.
11:18 dalek parrot: 17d3cd0 | Whiteknight++ | src/pmc/multisub.pmc:
11:18 dalek parrot: Merge branch 'whiteknight/multisub_cleanup'
11:18 dalek parrot: review: https://github.com/parrot/parrot/commit/17d3cd016d
11:24 JimmyZ joined #parrot
11:28 whiteknight cotto: ping
11:31 whiteknight 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.
11:39 Eclesia questions : how can I get the current system time ? and the system temporary folder ?
11:40 whiteknight Eclesia: I think the current system time comes from floattime()
11:40 whiteknight it will be a decimal. I need to look into the formatting routines
11:41 Eclesia whiteknight: I just need a numeric value
11:41 Eclesia no need for formating ;)
11:41 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
11:48 not_gerd Eclesia: the config hash contains a "tempdir" key
11:55 whiteknight oh does it?
11:55 whiteknight the config hash contains too many things
11:58 dalek rakudo/nom: 205e0ed | jonathan++ | src/Perl6/SymbolTable.pm:
11:58 dalek rakudo/nom: When we need to on-demand compile a proto, we should also immediately do its candidates.
11:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/205e0ed457
11:58 dalek rakudo/nom: 1b8d004 | jonathan++ | src/binder/multidispatch.c:
11:58 dalek rakudo/nom: Re-enable constraints being able to see the lexical environment.
11:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1b8d004f96
11:58 dalek rakudo/nom: f1e2037 | jonathan++ | src/ (5 files):
11:58 dalek rakudo/nom: Make it so the constraints actually see the correct lexical environment, not just the static lexpad entries.
11:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f1e2037edc
11:58 dalek rakudo/nom: 5d3e444 | jonathan++ | NOMMAP.markdown:
11:58 dalek rakudo/nom: Update nommap; code constraints on multi-dispatch are done.
11:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5d3e444ee2
11:59 tadzik yay
11:59 tadzik some modules is now fixed due to this, isn't it?
11:59 tadzik s/modules/module/; I don't really remember which one
11:59 tadzik oh, ww, nvm
12:02 dalek parrot: 361e440 | Whiteknight++ | NEWS:
12:02 dalek parrot: +add load_bytecode_p_s to NEWS
12:02 dalek parrot: review: https://github.com/parrot/parrot/commit/361e440886
12:02 dalek Heuristic branch merge: pushed 46 commits to parrot/whiteknight/imcc_tag by Whiteknight
12:05 register__ joined #parrot
12:05 cotto joined #parrot
12:42 nopaste "Eclesia" at 192.168.1.3 pasted "temp directory access" (11 lines) at http://nopaste.snit.ch/70297
12:43 Eclesia not_gerd: I am having an error when trying to acces the config hash. is this the proper way ? (see nppaste above)
12:44 not_gerd no idea - I just know it's there because I had to fix it on msys
12:45 not_gerd what do you get for `./parrot_config tempdir` on the sehll?
12:45 Eclesia not_gerd: I have : /tmp
12:46 Eclesia so it's the way I get the config hash ...
12:46 Eclesia whiteknight : you have an idea on the proper way to get it ?
12:47 not_gerd google pointed me at https://github.com/Whiteknight/Rosell​a/blob/master/src/core/Parrot.winxed
12:47 not_gerd var config = getinterp()[IGLOBALS_CONFIG_HASH];
12:51 Eclesia not_gerd: thanks, I called directly the rosella method ^^
12:51 whiteknight Eclesia: That is not the correct way
12:52 Eclesia whiteknight: you mean the way it's done is rosella ?
12:52 Eclesia in*
12:52 whiteknight no, the Rosella way is correct
12:52 Eclesia I rely on it, that it's fine then :)
12:52 kid51 joined #parrot
12:53 Eclesia is*
12:53 kid51 whiteknight: ping
12:53 whiteknight pong
12:54 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 kid51 What is the best way git-wise for me to do that.
12:54 whiteknight kid51: what do you mean?
12:55 kid51 I've never pulled from a foreign repository before.  I don't want to commit immediately to git master.
12:55 kid51 I want to work on the patch more before we commit to master.
12:55 whiteknight okay, we can pull it into a branch in parrot/parrot so we can play with it
12:55 JimmyZ joined #parrot
12:56 kid51 Can you do that?
12:56 whiteknight yeah, let me do that right now
12:56 kid51 thanks
12:56 whiteknight hold on, I'm in the middle of a test run
12:59 not_gerd I actually have it in a local branch - just merged it to master before pushing it to my fork
13:01 dalek parrot/gerdr/msys: 11cad81 | (Gerhard R)++ | config/ (2 files):
13:01 dalek parrot/gerdr/msys: fixed architecture detection
13:01 dalek parrot/gerdr/msys: work on hints file for msys, currently with hardcoded paths
13:01 dalek parrot/gerdr/msys: review: https://github.com/parrot/parrot/commit/11cad810ff
13:01 dalek parrot/gerdr/msys: e65b86b | (Gerhard R)++ | config/ (2 files):
13:01 dalek parrot/gerdr/msys: add proper path translation
13:01 dalek parrot/gerdr/msys: review: https://github.com/parrot/parrot/commit/e65b86bc6f
13:01 dalek parrot/gerdr/msys: de8b9aa | (Gerhard R)++ | / (2 files):
13:01 dalek parrot/gerdr/msys: path translation for temporary test files, skip hanging test pmc/threads.t
13:01 dalek parrot/gerdr/msys: review: https://github.com/parrot/parrot/commit/de8b9aa7e5
13:01 dalek parrot/gerdr/msys: ea819be | (Gerhard R)++ | config/gen/config_pm.pm:
13:02 dalek parrot/gerdr/msys: properly translate path used for prefix of non-installed Parrot
13:02 dalek parrot/gerdr/msys: review: https://github.com/parrot/parrot/commit/ea819bef55
13:02 dalek parrot/gerdr/msys: 94c06d7 | (Gerhard R)++ | config/ (2 files):
13:02 dalek parrot/gerdr/msys: add quotes to correctly handle paths with spaces
13:02 dalek parrot/gerdr/msys: review: https://github.com/parrot/parrot/commit/94c06d7dff
13:02 dalek parrot/gerdr/msys: e5d9490 | (Gerhard R)++ | config/auto/headers.pm:
13:02 dalek parrot/gerdr/msys: explicitly probe for sys/utsname.h
13:02 dalek parrot/gerdr/msys: review: https://github.com/parrot/parrot/commit/e5d949099f
13:02 dalek parrot/gerdr/msys: c9582b5 | (Gerhard R)++ | / (2 files):
13:02 dalek parrot/gerdr/msys: don't backslash-escape on MSYS
13:02 dalek parrot/gerdr/msys: added some comments
13:02 dalek parrot/gerdr/msys: review: https://github.com/parrot/parrot/commit/c9582b5765
13:02 dalek parrot/gerdr/msys: f3cbe37 | (Gerhard R)++ | / (6 files):
13:02 dalek parrot/gerdr/msys: Merge branch 'msys'
13:02 dalek parrot/gerdr/msys: review: https://github.com/parrot/parrot/commit/f3cbe373fe
13:02 dalek parrot/gerdr/msys: b3ced86 | Whiteknight++ | / (6 files):
13:02 kid51 not_gerd: We have tests for configuration steps in t/configure.  I'd like to make sure we keep the test coverage high.
13:02 dalek parrot/gerdr/msys: Merge branch 'master' of git://github.com/gerdr/parrot into gerdr/msys
13:02 dalek parrot/gerdr/msys: review: https://github.com/parrot/parrot/commit/b3ced86d93
13:04 kid51 Thanks.
13:04 * kid51 looks at gerdr/msys branch
13:04 kid51 whiteknight: For future reference, what command did you use for that?
13:04 not_gerd kid51: how would I go about running these tests? I don't see a make target for that...
13:08 dalek rakudo/nom: 607c1b8 | moritz++ | / (4 files):
13:08 dalek rakudo/nom: atan2
13:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/607c1b8a7b
13:12 kid51 not_gerd: perl Configure.pl --test=build
13:13 kid51 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:14 kid51 Also: what would happen in lines 85-88 if neither of those $ENV{elements} were defined?
13:15 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.
13:15 kid51 BTW, what is 'msys', anyway?
13:16 not_gerd msys is a gnu userland for windows based on mingw
13:16 not_gerd think cygwin without the linux emulation layer
13:16 kid51 k
13:18 kid51 Would we be better off if we said?  $cpuarch = lc ( $ENV{PROCESSOR_ARCHITEW6432} || $ENV{PROCESSOR_ARCHITECTURE} || 'i386' );
13:21 not_gerd I don't think so
13:21 not_gerd $ENV{PROCESSOR_ARCHITECTURE} should always be defined
13:21 not_gerd conceptionally, it belongs to the other replacements
13:22 not_gerd $ENV{PROCESSOR_ARCHITEW6432} || $ENV{PROCESSOR_ARCHITECTURE} will return 'x86' or 'amd64'
13:22 not_gerd the || is necessary to deal with 32-bit processes on 64-bit hardware
13:23 not_gerd $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:24 not_gerd (assuming you're not using something like windows ce, for which there probably is no msys)
13:26 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:28 dafrito joined #parrot
13:29 not_gerd sure, I did not know that you can get to that part of code if you're not actually using msys
13:30 not_gerd conceptionally, the correct fallback value would be x86, though, but it won't make any difference
13:30 kid51 Thanks.
13:30 kid51 Then we'll say x86.
13:39 not_gerd btw, I just pulled gerdr/msys from the parrot repo
13:39 not_gerd I assume that's where I should do changes?
13:41 kid51 Yes, but I'll be pushing my changes there in a couple of minutes after I run Devel::Cover
13:44 dalek rakudo/nom: 9f86f98 | moritz++ | / (4 files):
13:44 dalek rakudo/nom: sec, asec
13:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9f86f98687
13:45 dalek rakudo/nom: 8479b4f | moritz++ | src/Perl6/Grammar.pm:
13:45 dalek rakudo/nom: fix typo in Grammar.pm, baest++
13:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8479b4f42a
13:47 dalek rakudo/nom: 3cfd93d | jonathan++ | src/ (5 files):
13:47 dalek rakudo/nom: Fix use of captured type variables as multi-dispatch constraints.
13:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3cfd93dea5
13:47 dalek rakudo/nom: 882128c | jonathan++ | NOMMAP.markdown:
13:47 dalek rakudo/nom: Operator overloading seems to work fine, so remove from punch list.
13:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/882128c6c5
13:47 dalek parrot/whiteknight/frontend_parrot2: 3631eec | Whiteknight++ | / (3 files):
13:47 dalek parrot/whiteknight/frontend_parrot2: 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
13:47 dalek parrot/whiteknight/frontend_parrot2: review: https://github.com/parrot/parrot/commit/3631eece3b
13:49 dalek parrot/gerdr/msys: 7d3ff40 | jkeenan++ | / (5 files):
13:49 dalek parrot/gerdr/msys: Update msys-related tests. gerdr++.  Update copyright dates.
13:49 dalek parrot/gerdr/msys: review: https://github.com/parrot/parrot/commit/7d3ff40d5c
13:49 kid51 Coverage analysis here: http://thenceforward.net/parrot/cov​erage/configure-build/coverage.html
13:51 kid51 not_gerd: Does that look okay with you?
13:55 not_gerd looks good to me
13:56 Eclesia ++
13:59 kid51 smolder on branch: http://smolder.parrot.org/app/​projects/report_details/20856
13:59 kid51 Will now merge into master; not_gerd++
14:00 dalek parrot: b3ced86 | Whiteknight++ | / (6 files):
14:00 dalek parrot: Merge branch 'master' of git://github.com/gerdr/parrot into gerdr/msys
14:00 dalek parrot: review: https://github.com/parrot/parrot/commit/b3ced86d93
14:00 dalek parrot: 7d3ff40 | jkeenan++ | / (5 files):
14:00 dalek parrot: Update msys-related tests. gerdr++.  Update copyright dates.
14:00 dalek parrot: review: https://github.com/parrot/parrot/commit/7d3ff40d5c
14:12 jaffa4 joined #parrot
14:12 jaffa4 hi
14:12 jaffa4 Why is this notworking set_global ["m1"],"c",$I0?
14:23 dalek rakudo/nom: a959e52 | jonathan++ | src/Perl6/Metamodel/ParametricRole (2 files):
14:23 dalek rakudo/nom: Toss some unused methods.
14:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a959e52510
14:32 dalek nqp: bdab779 | pmichaud++ | src/QAST/Compiler.nqp:
14:32 dalek nqp: Add pastnode rxtype to QAST::Regex.
14:32 dalek nqp: review: https://github.com/perl6/nqp/commit/bdab779b79
14:34 dalek nqp: e913287 | moritz++ | src/HLL/Compiler.pm:
14:34 dalek nqp: error and backtrace should go to standard error by default
14:34 dalek nqp: review: https://github.com/perl6/nqp/commit/e913287c90
14:38 ssqq joined #parrot
14:44 dalek rakudo/nom: 6ac303d | pmichaud++ | / (2 files):
14:44 dalek rakudo/nom: Add code blocks and code assertions in regexes.
14:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6ac303ddc8
14:52 dalek parrot: a94f568 | jkeenan++ | src/pmc/multisub.pmc:
14:52 dalek parrot: [codingstd] Make file pass 3 codingstd tests.
14:52 dalek parrot: review: https://github.com/parrot/parrot/commit/a94f568ded
14:52 kid51 msg whiteknight You have a TODO in src/pmc/multisub.pmc
14:52 aloha OK. I'll deliver the message.
14:59 autark joined #parrot
15:02 benabik o/
15:02 benabik aloha: m0?
15:02 aloha benabik: m0 is the VM that Lorito will run on top of. or http://leto.net/perl/2011/05/what-is-m0.html
15:02 benabik m0?
15:02 benabik Ah, aloha only answers if you ask directly.  Fair enough.  (Was reading back scroll.)
15:03 calatalee joined #parrot
15:06 jaffa4 Why is this notworking set_global ["m1"],"c",$I0?
15:07 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
15:07 dukeleto ~~
15:08 pmichaud you can do:
15:08 pmichaud $P0 = box $I0
15:08 pmichaud set_global ["m1"],"c",$P0
15:08 dukeleto benabik: you have questions about m0?
15:08 jaffa4 what about set_hll_global? What is the difference?
15:08 pmichaud set_global sets entries based on the current namespace
15:09 pmichaud set_hll_global sets entries relative to the top of the current hll's namespace
15:09 pmichaud (set_root_global sets entries relative to the root namespace)
15:09 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.
15:10 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:11 benabik dukeleto: Ah.  Seems less useful that way, but understandable.
15:12 jaffa4 IS it faster if one uses is handle instread of ["m1"]?
15:14 jaffa4 pmichaud, so which one do you recommend to use?
15:17 dukeleto benabik: how goes your GSoC progress? I saw that you made some good stuff happen in the last week
15:18 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:19 benabik dukeleto: Hope to have that done by Monday, but testing all the corner cases in there will be "fun"
15:23 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:24 dukeleto benabik: even if gsoc is over, we want your project to continue on, and getting other people involved is always good
15:26 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:30 benabik 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:31 benabik (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:32 dukeleto benabik: i like the sound of that
15:32 JimmyZ or call it PCC ( Parrot Compiler Collection)
15:32 JimmyZ something like GCC ;)
15:32 dukeleto benabik: because without tree-optimization becoming part of PCT, it will surely bitrot. It has already happened once.
15:32 benabik JimmyZ: Sadly, that acronym is already used in the compiler-space.  Portable C Compiler - http://pcc.ludd.ltu.se/
15:32 dukeleto JimmyZ: we already have a PCC (parrot calling conventions), so we will need a different name :)
15:33 benabik JimmyZ: And is already used in Parrot… oh, dukeleto beat me to it.
15:33 JimmyZ YAPCC :)
15:33 JimmyZ Yet Another ...
15:33 JimmyZ well, it's wrong too
15:34 JimmyZ Parrot didn't have one
15:34 JimmyZ or Yet Another Portable C Compiler :
15:34 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.
15:35 JimmyZ or just refactor PCT
15:36 benabik JimmyZ: I want to do the kind of refactors that break things.
15:36 JimmyZ pmichaud++ wanted to port PCT to NQP, irrc
15:36 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.
15:37 benabik JimmyZ: Most of PCT is in NQP.  See the nqp_pct branch.
15:37 benabik JimmyZ: Or rather, has already been rewritten in NQP.
15:38 JimmyZ benabik: yeah, I saw it , great GSOC work
15:38 JimmyZ benabik: I meant he wanted make PCT to part of NQP
15:39 JimmyZ well, I am not  sure
15:39 JimmyZ or maybe
15:39 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.
15:40 JimmyZ benabik:  yeah
15:58 moritz Coke: FYI I smoked rakudo/nom on latest parrot yesterday, worked all fine
16:02 preflex joined #parrot
16:04 jaffa4 What is the size of an int in parrot?
16:05 benabik I think it's architecture dependent.
16:05 benabik I could be wrong.
16:05 jaffa4 I guess it is at least 32 bit
16:06 benabik jaffa4: If I'm right, it's 32/64 bit depending on architecture/build settings.
16:06 moritz whatever `parrot_config intsize` returns
16:06 jaffa4 How do you solve that problem in Rakudo?
16:07 moritz we don't
16:07 jaffa4 it will need to solved one time or another.
16:07 jnthn__ int in Perl 6 is spec'd to be machine dependent
16:08 benabik And Int is defined to be arbitrarily large, IIRC.
16:08 jnthn__ right :)
16:12 jaffa4 ok What about number? How big is it?
16:29 ilbot2 joined #parrot
16:29 Topic for #parrot is now Parrot 3.6.0 "Pájaros del Caribe" released | http://parrot.org | Log: http://irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC
16:30 dalek parrot: 284dad3 | jkeenan++ | NEWS:
16:30 dalek parrot: Report improved configuration support for msys. gerdr++.
16:30 dalek parrot: review: https://github.com/parrot/parrot/commit/284dad3978
16:30 dalek parrot: d8d5cce | jkeenan++ | src/pmc/multisub.pmc:
16:30 dalek parrot: Merge branch 'master' of git@github.com:parrot/parrot
16:30 dalek parrot: review: https://github.com/parrot/parrot/commit/d8d5ccef59
16:47 cotto joined #parrot
16:54 Eclesia joined #parrot
16:54 * Eclesia re
17:17 moritz fwiw, rakudo/nom was fine on parrot RELEASE_3_6_0-179-gc3f359c
17:18 moritz I've got lots of spectest failures on top of RELEASE_3_6_0-197-ga94f568
17:19 moritz 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 moritz doing the test now, but it takes some time
17:23 cotto joined #parrot
17:23 cotto ohai
17:23 cotto im in yurp
17:23 cotto aloha, clock?
17:23 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 #parrot
17:31 cotto going to yapc::eu?
17:31 cotto aloha, going to yapc::eu?
17:31 aloha cotto: going to yapc::eu is cotto or jnthn or szabgab or Maddingue or TimToady or rurban or pmichaud or tadzik
17:40 moritz aloha: going to yapc::eu is also TimToady
17:40 aloha moritz: Okay.
17:40 jsut joined #parrot
17:40 cotto moritz, one would hope so ;)
17:40 cotto msg whiteknight The whiteknight/imcc_tag branch makes me happy.  +1 to merge.
17:40 aloha OK. I'll deliver the message.
17:42 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 moritz so my report was bogus
17:42 moritz will try to get a non-bogus report now :-)
18:05 cotto joined #parrot
18:37 Eclesia left #parrot
18:59 davidfetter joined #parrot
19:07 dalek rakudo/nom: 6a4783e | (Martin Kjeldsen)++ | src/core/Any.pm:
19:07 dalek rakudo/nom: Replace $by in min,max with &infix:<cmp>
19:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6a4783e6a8
19:10 dalek nqp: e0f623d | tadzik++ | src/6model/reprs/P6opaque.c:
19:10 dalek nqp: Move write bareer to a correct place; jnthn++
19:10 dalek nqp: review: https://github.com/perl6/nqp/commit/e0f623d678
19:20 worr joined #parrot
19:24 dalek rakudo/nom: c0e4135 | tadzik++ | / (4 files):
19:24 dalek rakudo/nom: Implement Formatting Codes in Pod strings
19:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c0e4135de0
19:40 soh_cah_toa joined #parrot
19:45 ambs joined #parrot
19:46 fperrad joined #parrot
19:58 kid51 joined #parrot
20:06 lucian is there a way to add a custom exception handler?
20:06 soh_cah_toa lucian: in pir?
20:07 lucian soh_cah_toa: sure
20:07 soh_cah_toa lucian: are you familiar w/ the 'push_eh' and 'pop_eh" opcodes?
20:07 lucian all i can think of is wrapping everything in a try
20:08 lucian soh_cah_toa: nope. looking them up
20:08 soh_cah_toa let me find you an example. h/o
20:09 soh_cah_toa also, look in docs/user/pir/exceptions.pod
20:10 soh_cah_toa 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
20:10 lucian i'm trying to implement custom stack traces
20:10 soh_cah_toa yeah, but inside the handler you use .get_results to determine the type
20:11 lucian hmm, might write it in winxed
20:11 soh_cah_toa it's not possible to catch specific exceptions in winxed yet?
20:12 lucian sure it is
20:12 lucian i'd just rather use winxed than pir
20:12 soh_cah_toa of course
20:17 lucian heh, i'm almost tempted to use a full-blown templating language for the compiler
20:21 dalek rakudo/nom: 290edf6 | moritz++ | src/core/Any.pm:
20:21 dalek rakudo/nom: correct usage of proto
20:21 dalek rakudo/nom:
20:21 dalek rakudo/nom: If the proto never re-dispatches to its candidates, there is
20:21 dalek rakudo/nom: no point in having the candidates at all
20:21 dalek rakudo/nom:
20:21 dalek rakudo/nom: There's still a multi dispatch bug that prevents us from running the
20:21 dalek rakudo/nom: candidates without named param though :(
20:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/290edf60c2
20:21 dalek rakudo/nom: 88ba2f1 | moritz++ | src/core/Any.pm:
20:21 dalek rakudo/nom: work around a multi dispatch bug
20:21 dalek rakudo/nom:
20:21 dalek rakudo/nom: Unfortunately that means going back to a repetition of the default value
20:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/88ba2f16e2
20:21 Tene_ There's a "backtrace" method on.. uh... something you can get from the exception, that gives you an object you can walk over.
20:22 Tene_ iirc
20:23 dalek rakudo/nom: deb5c7b | jonathan++ | / (6 files):
20:23 dalek rakudo/nom: Merge branch 'nom' of github.com:rakudo/rakudo into nom
20:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/deb5c7b0ef
20:25 perlite joined #parrot
20:41 benabik o/
20:42 soh_cah_toa benabik: howdy
20:42 benabik soh_cah_toa: What's happening?
20:43 soh_cah_toa eh. exploring pct to see how my debug format idea can be implemented
20:44 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:45 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
20:46 soh_cah_toa hm, that's an idea
20:47 soh_cah_toa 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.
20:47 benabik The named part holds attributes and positional holds children.
20:47 benabik push adds a new child at the end.
20:48 soh_cah_toa ah, ok
20:48 M_o_C joined #parrot
20:49 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
20:49 benabik The methods occasionally do things like setting defaults and the like.
20:50 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.
20:51 soh_cah_toa ok
20:52 benabik (This may be more detail than you need.  :-D )
20:52 soh_cah_toa all the PAST::* classes inherit from PCT::Node?
20:52 benabik PAST::* descend from PAST::Node, which descend from PCT::Node.
20:52 benabik Similar for POST::*
20:52 soh_cah_toa ok
20:53 benabik AFAIK, the only exceptions are the compilers, which instead descend from PCT::HLLCompiler
20:53 soh_cah_toa right
20:55 soh_cah_toa 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:56 soh_cah_toa 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.
20:57 soh_cah_toa are there any docs about the POST process? it's the one stage i'm not too familiar with
20:58 benabik Currently POST is mostly full of chunks of PIR.
20:59 benabik 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?
21:00 benabik PAST::Compiler is basically where that happens.
21:00 benabik POST::Compiler is mostly organizing it into PIR
21:00 benabik POST trees are full of bits of PIR.
21:00 soh_cah_toa ok, interesting
21:02 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 benabik (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.
21:03 soh_cah_toa ok
21:10 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 benabik (Mostly because attempting to extend something written in tons of PIR is painful.)
21:10 soh_cah_toa sure
21:32 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:33 soh_cah_toa benabik: sure thanks
21:34 bubaflub aloha: going to ppw?
21:34 aloha bubaflub: No clue. Sorry.
21:34 bubaflub aloha: ppw?
21:35 aloha bubaflub: I have no idea.
21:35 soh_cah_toa me!
21:35 bubaflub soh_cah_toa: nice.  i'm trying to get my work to fly me out.
21:35 soh_cah_toa oh, very cool
21:35 bubaflub i reckon there will be a few other Parroteers there as well
21:36 soh_cah_toa i hope so
21:36 Eclesia joined #parrot
21:37 Eclesia hi
21:37 soh_cah_toa Eclesia: hey
21:44 Psyche^ joined #parrot
21:49 lucian joined #parrot
22:19 Coke moritz++ danke.
22:36 whiteknight joined #parrot
22:37 whiteknight Good evening, #parrot
22:37 soh_cah_toa whiteknight: hey
22:38 whiteknight hello soh_cah_toa
22:38 worr joined #parrot
22:46 whiteknight Coke: ping
22:48 Eclesia whiteknight++ : for the fix on file.copy
22:48 whiteknight Eclesia: I'm sorry I didn't test binary file copies sooner
22:50 Eclesia whiteknight: no problem.
22:50 Eclesia whiteknight: changing subject : do you know how to zip a folder without the relative path ?
22:51 whiteknight Eclesia: no. I don't know anything about zipping folders. I've never tried it
22:51 whiteknight You can get the full path from rosella. I thing there is a function Rosella.FileSystem.current_directory() that returns it
22:52 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:53 AzureSto_ joined #parrot
22:53 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
22:53 whiteknight I don't remember if Rosella exposes it
22:55 Eclesia # Make a new directory, then enter it
22:55 Eclesia $S1 = 'foobar'
22:55 Eclesia mkdir($S1)
22:55 Eclesia chdir($S1)
22:55 dalek parrot: 61b84be | Whiteknight++ | src/pmc/multisub.pmc:
22:55 dalek parrot: Remove a TODO note, and put in some basic bounds-checking code. I still don't like this but it's slightly better.
22:55 dalek parrot: review: https://github.com/parrot/parrot/commit/61b84beef9
22:55 whiteknight Eclesia: okay
22:56 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.
22:56 aloha OK. I'll deliver the message.
23:00 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:01 soh_cah_toa 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:02 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
23:02 whiteknight soh_cah_toa: I'll look at it now. Where are you with hbdb?
23:02 soh_cah_toa pff..
23:02 soh_cah_toa uh, well i guess i gotta think about watchpoints now
23:02 Coke whiteknight: pong
23:03 Coke whiteknight: give me a 1 line summary of the branch?
23:03 dalek rakudo/nom: 482e96e | Coke++ | t/spectest.data:
23:03 dalek rakudo/nom: run more tests, track failure modes
23:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/482e96e7d3
23:03 whiteknight Coke: Adds a new :tag() syntax to IMCC. Changes no existing syntax and affects no other functionality
23:05 whiteknight the diff is a pain because it affects the IMCC generated files
23:09 cotto joined #parrot
23:11 whiteknight joined #parrot
23:16 * whiteknight is rapidly becoming disillusioned with ubuntu
23:17 Eclesia whiteknight: ho? what are you using normaly ?
23:18 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
23:18 * cotto doesn't know anything about the time atm
23:19 whiteknight Eclesia: I'm on ubuntu. I have 11.04 on one partition, and Ubuntu 10.04 on another
23:19 whiteknight I find 11.04 to be extremely unstable in a lot of ways
23:20 whiteknight 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 ^^
23:20 whiteknight and the various problems I have with my trackpad *and* my normal USB mouse are both frustrating
23:21 * Eclesia switched to lxde.
23:21 worr joined #parrot
23:21 soh_cah_toa wow, that's pretty bad. i'd report that
23:23 Coke whiteknight: sure, pull the trigger now.
23:23 Coke 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.
23:24 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 +++
23:24 whiteknight Coke: Yeah, I had to disable a lot of power features for the same reason
23:25 whiteknight oh, no. It is one of the ones I touched. But I copy+pasted it from a place that I didn't touch
23:34 whiteknight apparently yacc treats SymReg * r and SymReg * const r differently
23:34 whiteknight the former it assigns to a void*, the later it assigns to an integer
23:39 ttbot Parrot 61b84bee MSWin32-x86-multi-thread make error http://tt.taptinder.org/cmdinfo/43978
23:44 Coke whiteknight: if you can track that down before I wake up sunday, merge it.
23:45 whiteknight Ah, I got it. I screwed up a bit of bison esoterica
23:45 whiteknight also, it looks like a function got mangled in the merge
23:48 whiteknight I used %token <t> when I should have used %token <sr>
23:53 lucian oddly enough, on my gf's laptop, 11.04 manages to sleep without locking up, previous ubuntus didn't
23:54 whiteknight lucian!
23:55 lucian whiteknight: ?
23:57 whiteknight lucian: We don't see enough of you
23:57 whiteknight also, how is your project goin?
23:57 dalek parrot: f957d20 | Whiteknight++ | / (17 files):
23:57 dalek parrot: Merge branch 'whiteknight/imcc_tag'
23:57 dalek parrot: review: https://github.com/parrot/parrot/commit/f957d20219
23:57 dalek parrot: 5f0a29c | Whiteknight++ | / (4 files):
23:57 dalek parrot: 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
23:57 dalek parrot: review: https://github.com/parrot/parrot/commit/5f0a29cf63
23:57 lucian whiteknight: meh, not great
23:57 soh_cah_toa joined #parrot
23:57 lucian RL's been taking up much of my time
23:58 lucian also, debugging on parrot sucks
23:58 soh_cah_toa ;)
23:58 benabik joined #parrot
23:59 benabik o/

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced