|
Parrot 2.7.0 "Australian King" Released! | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 25 tickets (-2 to go); merge branches; review Git conversion plan Set by moderator on 13 September 2010. |
|||
| Paul_the_Greek | pmichaud: Which Rakudo repository is the latest? I want to look at the test that is failing because of the Boolean change. | 00:02 | |
| NotFound | pmichaud: I don't see anything wrong in the ByteBuffer usage. | ||
|
00:03
kid51 is now known as kid51_at_dinner
|
|||
| Paul_the_Greek | NotFound: Do you know where the Rakudo repository is? | 00:10 | |
| I found it. | 00:11 | ||
| NotFound | pmichaud: I've tested a winxed adaptation of that code and gives the results expected. | 00:12 | |
| Paul_the_Greek | pmichaud: Can you point me at S03-operators/short-circuit.t ? | 00:13 | |
| NotFound, we might as well just talk to each other. | 00:14 | ||
| nopaste | "NotFound" at 192.168.1.3 pasted "Two identical decode functions give same result - winxed" (26 lines) at nopaste.snit.ch/23318 | ||
| dalek | rrot: r48985 | jkeenan++ | trunk (3 files): Per discussion with pmichaud et. al., only the 'die' needs to be handled via deprecation cycle. Duplicated vtable functions can be eliminated now. |
00:17 | |
| NotFound | Same using bb.get_string and using bb.get_string_as | ||
| Paul_the_Greek | NotFound: The two you pasted are identical. | 00:18 | |
| NotFound: Do you know if there is a way to search for a particular file on Github? | 00:19 | ||
| NotFound | Paul_the_Greek: that was pmichaud said, two identical versions. | ||
| Paul_the_Greek: I'm a complete newbie in github usage | 00:20 | ||
| Paul_the_Greek | Right, I was concerned that you thought the two you posted were different (get_string vs. get_string_as). | ||
| Oh, the test I'm looking for is not at the Rakudo Github. | 00:21 | ||
|
00:31
whiteknight left
00:32
Paul_the_Greek left
00:45
bluescreen joined
|
|||
| dalek | parrot: 8cc4429 | (Gerd Pokorra)++ | ports/fedora/plparrot.spec: add spec file for Fedora |
00:45 | |
| pmichaud | gist.github.com/578339 # same as previous nopaste, showing that encodings are somehow different | ||
| plobsing | how is ƶ in an ascii encoded string? | 00:48 | |
| pmichaud | I have no idea. | 00:49 | |
| it thinks that $x is two chars long, though, so I'm guessing it's being converted on output. | 00:50 | ||
| something changed between r48933 and r48982 that is making the Buf.decode method not return a properly-encoding string, though. | 00:51 | ||
| I'll try putting in a debugging statement of some sort. | |||
| oh, wait, I can just re-do the entire class. | 00:52 | ||
| that's easier than rebuilding rakudo at each step. | |||
|
00:53
kid51_at_dinner is now known as kid51
|
|||
| pmichaud | no, that doesn't expose the bug either :( | 00:54 | |
| plobsing | I know what it is! | 00:57 | |
| plobsing looks for commit number | |||
| unicode:utf8:"" doesn't roundtrip through PBC properly after r48969 | 01:00 | ||
| that's my 99% certain hunch | |||
|
01:01
ruoso left
01:08
davidfetter left
|
|||
| cotto | ohai | 01:17 | |
| im not in ur monopoly | |||
| dalek | TT #1791 created by pmichaud++: zero-length string loses encoding in .pbc | ||
| TT #1791: trac.parrot.org/parrot/ticket/1791 | |||
| cotto | er, perfectly fair competitive business | 01:18 | |
| pmichaud | plobsing: you were correct, although we found it independently :) | 01:19 | |
|
01:57
kid51 left
|
|||
| dalek | kudo: 4d96c92 | pmichaud++ | src/core/Buf.pm: Change unicode constant string passed to ByteBuffer.get_string_as to work around TT #1791. |
02:04 | |
| purl | dalek: that doesn't look right | ||
| kudo: c71489b | pmichaud++ | docs/ChangeLog: Merge branch 'master' of github.com:rakudo/rakudo |
|||
|
02:35
janus left,
contingencyplan left
03:00
janus joined
|
|||
| dalek | parrot: fb1e495 | leto++ | Makefile: Don't use escape chars in @echo because some don't interpret them by default; gerd++ |
03:04 | |
|
03:10
tcurtis joined,
bluescreen left
03:26
contingencyplan joined
03:28
Coke left
03:37
jdv79 joined
03:44
patspam left
04:15
theory left
|
|||
| dalek | rrot: r48986 | plobsing++ | trunk/t (3 files): eliminate use of sysinfo in coretest. fixes corevm/coretest. sanity of .SYSINFO_PARROT_INT{MIN,MAX} now offloaded to dynops tests |
04:46 | |
| pmichaud | plobsing: ping | 04:54 | |
| does "make coretest" not test the dynops? | 04:55 | ||
| plobsing | pmichaud: no. it was decided that dynops and dynpmcs are not part of coretest. | ||
| pmichaud | ouch | ||
| the main purpose of the coretest target was to test everything that wasn't code coding style tests | 04:56 | ||
| (which would include dynops) | |||
| sad to see that this has changed. | |||
| plobsing | why? I take coretest to mean "I'm going to be breaking a ton of stuff, but I want basic set/get, math, and subcalls to work" | ||
| pmichaud | the original purpose of codetest was to provide a test target that would test basic functionality without incurring the cost of the coding style and configuration system tests | 04:57 | |
| anyway, if it's changed, I guess that's okay. | |||
| I'm just worried that things are being committed after being tested with "make coretest" but not testing the dynops. | 04:58 | ||
| plobsing | the default test target already provides that. to get config and codingstd tests, you either have to ask for them explicitly, or run fulltest. | ||
| pmichaud | okay, I'll life with that then. | ||
| *live | |||
| didn't realize a change had been made there. | 04:59 | ||
| plobsing | almost noone actually runs coretest (I do), which is why it is frequently slightly broken. | 05:00 | |
| bacek_at_work | pmichaud, dynops depends on ops2c. Which is implemented in nqp. Which depends on some stuff outside of coretest. | 05:01 | |
| pmichaud | bacek_at_work: okay. | 05:03 | |
| dalek | rrot: r48987 | plobsing++ | trunk (4 files): add tests for literal string encoding persistence. |
05:37 | |
| rrot: r48988 | plobsing++ | trunk/t/dynoplibs/sysinfo.t: add forgotten library inclusions to test |
|||
|
05:47
gottreu joined
|
|||
| dalek | TT #468 closed by plobsing++: string encoding not saved in pbc | 05:49 | |
| TT #468: trac.parrot.org/parrot/ticket/468 | |||
|
05:50
cotto left,
cotto joined
|
|||
| bacek_at_work | plobsing, ping | 05:53 | |
| plobsing | bacek_at_work: pong | ||
| dalek | rrot: r48989 | plobsing++ | trunk (2 files): mk_manifest_and_skip |
05:54 | |
| purl | i heard mk_manifest_and_skip was the canonical mechanism for (re)generating MANIFEST | ||
| bacek_at_work | are you sire that "fixed_8" still exists? | ||
| bacek_at_work | I have fix for TT #1791 | ||
| plobsing | fixed_8 doesn't exist. where do you see it? | ||
| bacek_at_work | (not committed) | ||
| in your test for TT #1791 | |||
| if I replace fixed_8 with ascii it passed | |||
| pmichaud | (gc_massacre): on my system, both Parrot's "make test" and Rakudo's "make" seem to nang up in infinite loops somewhere. | 05:56 | |
| nopaste | "bacek" at 192.168.1.3 pasted "fix for tt#1791" (27 lines) at nopaste.snit.ch/23323 | ||
| bacek_at_work | pmichaud, it consumes too much memory for now. | ||
| pmichaud | Rakudo never finishes the compilation of src/Perl6/Actions.pm -- just hangs there for a long time | ||
| plobsing | bacek_at_work: good catch. I stole/modified it from the old testcase on TT #468 and forgot to update it when I modified the other test. | ||
| pmichaud | bacek_at_work: yes; cotto++ asked that we test Rakudo against the branch and report the results. | 05:57 | |
| bacek_at_work | pmichaud, I'm going to look at gc_massacre memory consumption tonight. | 05:58 | |
| pmichaud | bacek_at_work: hope it goes well. :) | 05:59 | |
| bacek_at_work | pmichaud, I hope so. I didn't have much time for coding in last few month. My brainz are rusting... :) | ||
|
06:00
JimmyZ joined
|
|||
| ttbot | Parrot trunk/ r48992 i386-linux-thread-multi make error tt.taptinder.org/file/cmdout/392863.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 06:03 | |
|
06:06
gottreu left
|
|||
| ttbot | Parrot trunk/ r48993 i386-linux-thread-multi make error tt.taptinder.org/file/cmdout/392891.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 06:06 | |
|
06:10
JimmyZ left
|
|||
| dalek | rrot: r48990 | plobsing++ | trunk/t/op/testlib/test_strings.pir: svn props |
06:10 | |
| purl | svn props are the worst | ||
| rrot: r48991 | plobsing++ | trunk/t/op/string_cs.t: fixed_8 no longer exists. long live ascii! |
|||
| rrot: r48992 | bacek++ | trunk/src/packfile/pf_items.c: Don't coerse all empty string into CONST_STRING. Closes #1791 |
|||
| rrot: r48993 | bacek++ | trunk/t/op/string_cs.t: Untodo test for TT #1791 |
|||
| cotto | karma cotto_work | 06:12 | |
| purl | cotto_work has karma of 24 | ||
| aloha | cotto_work has karma of 1. | ||
| cotto | I'll miss that guy. | ||
| pmichaud | ..."fixed_8" is gone? | 06:13 | |
| bacek_at_work | cotto, resigning from ms? | ||
| pmichaud, charset and encodings were merged some time ago, afaiu | 06:14 | ||
| pmichaud | I'm just looking at the amount of code (rakudo and parrot) that still refers to fixed_8 :( | ||
| bacek_at_work | pmichaud, ouch... | ||
| pmichaud | looks okay, though. | 06:20 | |
| Needs a deprecation notice. | 06:21 | ||
| cotto | bacek_at_work, end of contract | ||
| bacek_at_work | cotto, ok. Got new job already? | 06:22 | |
|
06:22
fperrad joined
|
|||
| dalek | TT #1791 closed by bacek++: zero-length string loses encoding in .pbc | 06:23 | |
| TT #1791: trac.parrot.org/parrot/ticket/1791 | |||
| cotto | bacek_at_work, nope. I'm talking with a recruiter tomorrow but I expect I'll have some extra free time for at least a couple weeks. | ||
| bacek_at_work | cotto, good luck with new job finding :) | ||
| cotto | thanks | 06:24 | |
|
06:24
uniejo joined
06:26
plobsing left
|
|||
| dalek | rrot: r48994 | plobsing++ | trunk/src/packfile/pf_items.c: avoid segfaults in the build |
06:27 | |
|
06:44
contingencyplan left
06:45
s1n left
|
|||
| dalek | parrot: 483bef1 | gerd++ | Makefile: change the order of commands to build on Fedora 14, add better output of make when Parrot is installed |
06:53 | |
| purl | dalek: that doesn't look right | ||
| dukeleto | gerd++ | 06:56 | |
|
06:56
baest left,
baest joined
06:57
contingencyplan joined
06:58
s1n joined
|
|||
| dalek | parrot: bc58e51 | gerd++ | / (2 files): increase the version number in README and spec file |
06:59 | |
| ast: 50a95bb | moritz++ | S03-series/arity-2-or-more.t: [series] unfudge some tests |
07:10 | ||
| bacek | ~~ | 07:23 | |
| aloha, 56*999720 | 07:37 | ||
| aloha | bacek: 55984320 | ||
| bacek | aloha, 56*999720 + 88*48898 | 07:38 | |
| aloha | bacek: 60287344 | ||
|
07:38
Patterner left,
Psyche^ joined,
Psyche^ is now known as Patterner
07:44
orc joined
|
|||
| dalek | rrot: r48995 | fperrad++ | trunk/runtime/parrot/library/pcre.pir: [pcre] Add library name genned by install of pcre 8.10 from source. |
07:52 | |
|
07:59
contingencyplan left,
bacek left
08:01
bacek joined
|
|||
| orc | is anybody here have ever ported parrot to android ? | 08:03 | |
| moritz | I'm not aware of such a port | 08:04 | |
| cotto neither | |||
| orc | it whould be great if parrot running on mobile platform | 08:05 | |
| moritz | indeed; such a port would be very welcome, and if you started one, I'm sure others would chime in and help (hint, hint) | 08:07 | |
| sorear | Why don't they just use POSIX | 08:08 | |
| FWIW, mberends is working on a Java port of Rakudo | 08:09 | ||
|
08:11
orc_ joined,
orc left,
orc_ is now known as orc
08:12
tcurtis left
08:16
orc left
08:37
fperrad left
09:08
aloha left
09:09
bacek left
11:01
tadzik joined
11:15
bkuhn joined
|
|||
| dalek | rrot: r48996 | nwellnhof++ | trunk/DEPRECATED.pod: Add deprecation notice for fixed_8 encoding. |
11:32 | |
| tracwiki: v13 | nwellnhof++ | ParrotDeprecationsFor2.9 | |||
| tracwiki: trac.parrot.org/parrot/wiki/ParrotD...ction=diff | |||
| NotFound | Parrot run at least in one mobile platform: notfound.posterous.com/how-to-build...nokia-n900 | 11:45 | |
| dalek | rrot: r48997 | nwellnhof++ | trunk/src/packfile/pf_items.c: Fix r48994 |
12:06 | |
| cotto | There's a lot of stuff in MANIFEST.SKIP | 12:29 | |
|
12:31
whiteknight joined
12:36
jsut_ joined
12:41
jsut left
12:43
plobsing joined
12:47
esskar_ joined
|
|||
| whiteknight | good morning, #parrot | 12:47 | |
|
12:47
eternaleye_ joined
12:48
elmex_ joined
12:49
Themeruta joined,
baest left,
janus left,
perlite left,
PacoLinux left,
NotFound left,
elmex left,
pjcj left,
slavorg left,
cosimo left,
eternaleye left,
esskar left,
pmichaud left,
PerlJam left,
dukeleto left,
sorear left,
jnthn left,
kthakore left,
edenc left
12:50
esskar_ is now known as esskar,
elmex_ is now known as elmex
12:51
kthakore joined,
pmichaud joined,
sorear joined,
jnthn joined,
dukeleto joined,
pjcj joined,
cosimo joined,
PerlJam joined
12:52
perlite joined
12:54
baest joined
13:05
PacoLinux joined
|
|||
| dalek | nxed: r651 | NotFound++ | trunk/winxedst1.winxed: for ... in lacked the optimization phase for its container in stage 1, fixed |
13:09 | |
| TT #1777 closed by doughera++: Optimized builds (--optimize='-O2 -finline-functions') on gcc/amd64 broken ... | 13:10 | ||
| TT #1777: trac.parrot.org/parrot/ticket/1777 | |||
|
13:18
Patterner left
13:24
patspam joined
13:28
Psyche^ joined,
Psyche^ is now known as Patterner
13:39
edenc joined
13:41
slavorg joined
13:48
janus joined
13:59
uniejo left
14:05
Themeruta is now known as NotFound
14:13
davidfetter joined
|
|||
| tadzik | I found some pir code lying around in my /home, and while running it I think I stumbled upon some bug: wklej.org/id/388824/ | 14:21 | |
| some more-less random chars appear at the end of the string | |||
|
14:27
wow joined
|
|||
| plobsing | tadzik: apparently FileHandle.readline_interactive assumes parrot strings are null-terminated (not necessarily the case) | 14:27 | |
| afk | 14:28 | ||
| tadzik | so where does the bug lie? | ||
| NotFound | char * const r = readline(got_prompt ? prompt->strstart : NULL); | ||
| Temporary solution: name = stdin.'readline_interactive'("Please enter your name: \\x{0}") | 14:30 | ||
| whiteknight | blarg | 14:31 | |
| wow | Hello, I have troubles building Parrot VM on windows using MSVS2010. I can run `cl' from command line, but when I try to run Configure.pl I get the following output: nopaste.snit.ch/23329 | 14:32 | |
| moritz | wow: maybe rerun Configure.pl with --verbose | ||
| whiteknight | yes, try --verbose to get more error information | ||
| moritz | and see if the output is helpful | ||
| wow | Oh, thanks | ||
| whiteknight | I do have VS2010 on this machine, I could probably run a test or two myself | 14:33 | |
| wow | nopaste.snit.ch/23330 | ||
| moritz | jnthn uses it to build parrot | ||
| wow | strange | 14:34 | |
| I guess i should define special `cl' command line options | |||
| moritz | I don't think that should be necessary | 14:35 | |
| whiteknight | wow: are you running this in the regular prompt, or in the special VisualStudio prompt? | ||
| wow | whiteknight: special visual studio | ||
| whiteknight | ah, so it should have all the PATH crap setup | ||
|
14:35
nwellnhof joined
|
|||
| wow | yes | 14:35 | |
| link is there | |||
| nmake and cl too | |||
| whiteknight | I'm doing a checkout now. I'll run a test for you to see what I see | 14:36 | |
| wow | Thanks a lot | ||
| whiteknight | wow: which perl are you using? ActivePerl? | 14:37 | |
| dalek | rrot: r48998 | NotFound++ | trunk/src/pmc (2 files): implement Boolean init_int vtable and use it in FixedBooleanArray |
||
| wow | whiteknight: strawberry | ||
| purl | strawberry is a Perl for Windows that works just like Perl everywhere else. See win32.perl.org/wiki/index.php?title...berry_Perl or well where is RAWBERRY | ||
| wow | latest | ||
| c:\\>perl -v | 14:38 | ||
| This is perl 5, version 12, subversion 1 (v5.12.1) built for MSWin32-x86-multi-t | |||
| hread | |||
| whiteknight | wow: I think that's your problem. Configure.pl pulls a lot of settings and defaults from the perl binary. For strawberry, I think you need to use the C compiler that comes with strawberry | ||
| if you want to use cl, you need ActivePerl on windows | |||
| wow | ah :( | ||
| whiteknight | That's only my recollection, but I don't think anybody has fixed it yet | 14:39 | |
| wow | but I still can configure those settings by myself, right? | ||
| nwellnhof | wow: can you try to run "C:\\Program Files\\Microsoft Visual Studio 10.0\\VC\\vcvarsall.bat" before running configure? | ||
| whiteknight | I assume you can, I'm not super familiar with Configure.pl | ||
| nwellnhof: yeah he did | |||
| wow | whiteknight: do you have activestate perl on your machine? | 14:40 | |
| whiteknight | wow: yes | ||
| it worked for me | |||
| wow | Can you do me a favour and run `Configure.pl --verbose' please? | ||
| and paste the log? | |||
| whiteknight | yeah, let me work on that | 14:41 | |
| wow | thanks a lot | 14:42 | |
| I'll steal your compiler options | |||
| nopaste | "whiteknight" at 192.168.1.3 pasted "configure.pl output for wow++" (559 lines) at nopaste.snit.ch/23331 | 14:44 | |
| wow | thanks | ||
| whiteknight | I'm sorry this isn't working out more easily for you | 14:46 | |
| wow | Well it's working how it should be | ||
| It's not parrot's fault | |||
| moritz | pulling configure options from perl isn't great, because perl could have been built with a totally different compiler than installed | 14:47 | |
| whiteknight | moritz: exactly. That's a known bug that really needs to be fixed | ||
| wow | Yeah but there is no other place to pull options from | ||
| moritz | one could use whatever mechanism perl uses to discover them | 14:48 | |
| wow | what might be helpful is a list of shortcuts: `Configure.pl --with-gcc', `Configure.pl --with-msvs2008', etc | ||
| moritz | maybe a list of known options and compilers, and simply try them in most-often-used to least-often-used order, and take the first that works | ||
| tadzik | wklej.org/id/388832/ -- am I doing something wrong, or is there something wrong with Parrot's JSON? (not sure if more Parrot-related or Perl6-related) | 14:49 | |
| wow | hmmm | 14:50 | |
| NotFound | I think a wiki page with a list of platform and well tested options will be better than adding a lot of possibly failing things to configure | ||
| moritz | tadzik: rakudo hashes don't inherit from parrot hashes | ||
| wow | now `link' couldn't find 'msvcrt.lib' | ||
| very strange | |||
| moritz | (but have a has-a relation) | ||
| tadzik: so you'd need to extract the low-level parrot hash for that | |||
| tadzik | moritz: how do I do this? | 14:51 | |
| wow | pastebin.com/7ifX5crL | ||
| very strange | |||
|
14:51
plobsing left
|
|||
| moritz | tadzik: search for CREATE_HASH_FROM_LOW_LEVEL in the rakudo sources, and do the opposite of what it does | 14:52 | |
| nwellnhof | wow: looks like LIBPATH is not set correctly | 14:53 | |
| moritz | probably a pir::getattribute__PPS($hash, '$!storage') | ||
| wow | I run msvs's path setting script | ||
| whiteknight | wow: where is your msvcrt.lib located? Mine is in C:\\Program Files\\Microsoft Visual Studio 10.0\\VC\\lib | 14:56 | |
| tadzik | moritz: works like a charm | ||
| moritz | \\o/ | ||
| you know, JSON is one of the things we already have a module for :-) | 14:57 | ||
| but it's probably slower than the parrot counterpart | |||
| tadzik | I know, but it's a funny experience anyway | ||
| having a pure-Perl6 version is valuable anyway | |||
| and I was just trying to get hands dirty with something :0 | 14:58 | ||
| moritz | no offense meant or anything, just wanted to point out :-) | 14:59 | |
|
15:00
ruoso joined
|
|||
| tadzik | sure thing :0 | 15:00 | |
| :) | |||
| whiteknight | wow: what does your LIBPATH environment variable look like? | ||
| wow | whiteknight: i dont have \\lib\\ folder in MSVS\\VC\\ | 15:01 | |
| :O | |||
| that's pretty strange | |||
| nwellnhof | wow: have you looked in "Program Files (x86)"? | ||
| (if you're on 64bit) | |||
| wow | no i only have "Program Files" | 15:02 | |
| whiteknight | wow: probably a stupid question, but when you installed VS2010, you selected the options to include the C++ compiler and the native code runtime? | ||
| I think that's included by default, but it's worth-while to check | |||
| wow | I guess so... | ||
| Now that you've mentioned it.. | 15:03 | ||
| whiteknight | wow: what's your LIBPATH environment variable contain? "echo %LIBPATH%" | ||
| wow | damn | ||
| only .NET dirs are in %LIBPATH% | |||
| whiteknight | well, that's probably part of the problem | 15:04 | |
| wow | yeah, I guess i didn't install native code runtime | ||
| :[ | |||
| whiteknight | well, you do have strawberry and its C compiler handy, as a backup | ||
| wow | But what the hell, there is like everything but .lib files! Why would I need a C compiler with headers but without runtime | ||
| yeah, i guess i'll have to use that | 15:05 | ||
| whiteknight | I'd say "ask microsoft", but they won't have an answer | ||
| wow | Sorry for bothering you with my stupid shit | ||
| brb, gonna find a usb stck with msvs | 15:06 | ||
| moritz | well, if you have a build server that's low on disk space, and only want to build stuff with it, but never run, and copy the result files to a different machine with the linker... | ||
| whiteknight | wow: it's never stupid shit. We're always happy to answer questions and help new people get started using Parrot | 15:09 | |
| wow | I guess I'll write something like a short tutorial on how to build parrot on windows with msvs | 15:10 | |
| (just to be helpful for once) | |||
| whiteknight | That would be absolutely awesome! wow++ | ||
| nwellnhof | you might want to add it to this wiki page: trac.parrot.org/parrot/wiki/Platforms/Windows | 15:11 | |
| wow | yay | 15:14 | |
| it's weking now | |||
| thanks | |||
| *working | |||
|
15:21
Coke_ joined
|
|||
| Coke_ | any windows git users? | 15:21 | |
| wow | yes, hello | 15:23 | |
| windows git user here | |||
| Coke_ | are you using an http proxy? | ||
| wow | no | ||
|
15:23
davidfetter left
|
|||
| dalek | nxed: r652 | NotFound++ | trunk/winxedst (2 files): call constructor in new by id with one arg |
15:23 | |
| Coke_ | ah well. (I can't do a git clone from my work box to github. This is going to put a damper on my ability to contribute post switch-to-git.) | 15:24 | |
| er, on my work box from github. | |||
| wow | well, I guess you can setup http proxy in git configuration file | 15:25 | |
| pastebin.com/JF127zAQ hmm now i got compile-time error | |||
| (i used nmake) | |||
| Coke_ | wow: yah. that is certainly /supposed/ to work (http proxy in git config.) | 15:27 | |
| wow | oh my bad | ||
| (re: that paste) | |||
| Coke_: but it doesn't? | 15:28 | ||
| you can try asking in #git on freenode | |||
| they might help | |||
| Coke_ | Correct. I can't connect through the proxy either via "git bash" or tortoise git. | ||
| moritz | and I assume git:// is blocked? | ||
| wow | hmm, no i still have that error | 15:31 | |
| Configure.pl went ok tho | |||
| nwellnhof | wow: it seems that include/parrot/pbcversion.h didn't get built correctly | 15:33 | |
| wow: what happens if you run "perl tools/build/pbcversion_h.pl" | |||
| wow | Yeah it gives output | 15:34 | |
| with #define PARROT_PBC_MAJOR 8 | |||
| hmm | |||
| nwellnhof | what does the file include/parrot/pbcversion.h contain? | 15:35 | |
|
15:35
mikehh_ joined
|
|||
| wow | nothing :O | 15:35 | |
| gotta examine nmake log | 15:36 | ||
| nwellnhof | wow: you could try to run "perl tools/build/pbcversion_h.pl > include/parrot/pbcversion.h" manually, but that should be part of the build process, afaics | 15:37 | |
|
15:38
Coke joined
|
|||
| Coke | (@*#&$. was missing a userid for $http_proxy. | 15:39 | |
|
15:40
mikehh left,
mikehh_ is now known as mikehh
|
|||
| mikehh | opbots, names | 15:41 | |
| wow | nwellnhof: i checked nmake log and there is "C:\\perl\\perl\\bin\\perl.exe tools/build/pbcversion_h.pl > include/parrot/pbcversion.h" there | 15:42 | |
| WOW | 15:43 | ||
| what the hell | |||
| i just ran nmake once again | |||
| and now there is a different error | |||
| nwellnhof | is "C:\\perl\\perl" right? | ||
| wow | with ar.EXE... | ||
| nwellnhof: yeah | |||
| yeah, now i got a completely different error | 15:48 | ||
| pastebin.com/WUBuw11W | |||
| I guess that's because of `-out:` | 15:49 | ||
| nwellnhof | wow: looks like you made at least some progress ;) | ||
| wow | nwellnhof: I just did `nmake clean`, `Configure.pl` and `nmake` again | 15:50 | |
| MAGIC! | |||
| nwellnhof | i sometimes had to run Configure.pl twice on windows. no idea why. | 15:51 | |
| wow | whiteknight: is it possible to see your nmake log? | 15:52 | |
| i guess i have to steal more keys | |||
| nwellnhof | wow: can you try to run Configure.pl with --disable-static? | 15:54 | |
| wow | disable-static? you mean --parrot_is_shared? | 15:55 | |
| there is no such option: disable-static | |||
|
15:56
davidfetter joined
|
|||
| dukeleto has wifi at jury duty. woot! | 15:56 | ||
| nwellnhof | then try --parrot_is_shared | ||
| Coke | what could possibly go wrong. :P | ||
| davidfetter | kudos, dukeleto! | ||
| Coke | (to dukeleto) | ||
| atrodo | dukeleto> Only thing that made my time at jury duty bearable | ||
| dukeleto | parrot is benefitting, i just ported manicheck.pl to git | ||
| dukeleto hacks some more | 15:57 | ||
| davidfetter | all things considered, jury duty is a pretty small price to pay for being in a place that has juries | ||
| dukeleto | davidfetter: i agree | 15:58 | |
| davidfetter: pl/parrot has a fedora spec now, gerd++ | |||
| wow | nwellnhof: same stuff | 15:59 | |
| ar.exe error again | |||
| davidfetter | dukeleto, oh, awesome! has this been submitted to Channelsā¢, or is gerd++ Channelsā¢? | ||
| wow | wtf is ar.exe anyway? | ||
| nwellnhof | wow: it generates a static library which should be unneeded. | 16:00 | |
| wow: i don't know how tell configure to disable the static build | 16:01 | ||
| dukeleto | davidfetter: channels? | 16:02 | |
| purl | i guess channels is fairly easy, its tracking nicknames thats the problem. | ||
| davidfetter | the ones whereby the .spec file would turn into an RPM available via yum, etc. | ||
| nwellnhof | wow: i think the problem is that you have another ar.exe in your perl path | 16:05 | |
| try renaming that, or move your perl path behind your msvc path | |||
| wow | wait i need msvc's ar.exe? | 16:06 | |
| nwellnhof | i think so | ||
| dukeleto | davidfetter: gerd++ is doing that. i gave him commit access and he is running with it | ||
| davidfetter | dukeleto, that is so awesome :) | ||
| wow | ok | 16:07 | |
| thanks nwellnhof | |||
| lemme try | |||
| nwellnhof: hmm i only have perl's ar and haskell's ar | 16:10 | ||
| which are both mingw's ar | |||
| i don think there is a visual studio's ar | |||
|
16:10
contingencyplan joined
|
|||
| nwellnhof | hmm, maybe you have to move the other ar.exes out of the way and then reconfigure | 16:11 | |
| they might confuse configure | |||
| wow | well | ||
| make is using perl's ar | 16:12 | ||
| nwellnhof | i think that's wrong | ||
| wow | :O | ||
| nwellnhof | wow: it seems that configure takes 'ar' from your perl config | 16:13 | |
| davidfetter | in 5 days, it'll be arrrr | 16:15 | |
| dalek | nxed: r653 | NotFound++ | trunk/winxedst1.winxed: call constructor in new by id with one arg - fix stage 1 |
16:18 | |
| nopaste | "nwellnhof" at 192.168.1.3 pasted "attempt to fix msvc build with strawberry perl" (12 lines) at nopaste.snit.ch/23333 | 16:20 | |
| nwellnhof | wow: can you try this patch? or insert that line manually into config/init/hints/mswin32.pm? | ||
| wow | sure | ||
| hold on pls | |||
| Coke | nwellnhof: (disable static build) then we're even, since I get parrot to disable the dynamic build. | 16:21 | |
|
16:23
Coke_ left
|
|||
| tadzik | docs.parrot.org/parrot/latest/html/...s.pod.html -- typo, search for "padsThink" | 16:23 | |
| should be "pads. Think" | |||
| wow | now it won't configure, lol | 16:24 | |
| LINK : warning LNK4044: unrecognized option '/o'; ignored | 16:25 | ||
| LINK : warning LNK4044: unrecognized option '/lmoldname'; ignored | |||
| LINK : warning LNK4044: unrecognized option '/lkernel32'; ignored | |||
| etc | |||
| LINK : warning LNK4044: unrecognized option '/o'; ignored | |||
| LINK : warning LNK4044: unrecognized option '/lmoldname'; ignored | |||
| oops, sorry | |||
| LINK : fatal error LNK1181: cannot open input file 'test_5232.o' | |||
| dukeleto | wow: nopaste is better for that | 16:26 | |
| nopaste? | 16:27 | ||
| purl | i think nopaste is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl) or paste.scsys.co.uk or www.extpaste.com or gist.github.com or App::Nopaste or codepeek.com/paste/ or (: pastebot) | ||
| wow | yeah, sorry | ||
| dukeleto | wow: no worries | ||
| wow | oh damn | 16:28 | |
| im such an idiot | |||
| nvm that error | |||
| nwellnhof | wow: do you give any options to Configure.pl? | 16:29 | |
| wow | yeah, sorry it was an error i made in .pm file | ||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, test, fulltest) at r48998 - Ubuntu 10.10 beta {g++-4.5 with --optimize) | 16:31 | |
| nopaste | "NotFound" at 192.168.1.3 pasted "example: current status of winxed and glueglass(blizkost + Gtk2)" (48 lines) at nopaste.snit.ch/23335 | 16:32 | |
| wow | Yay | ||
| compiled | |||
| purl | i think compiled is fine, actaully probably a better | ||
| wow | nwellnhof: thank you a lot | 16:33 | |
| nwellnhof | wow: no problem | ||
| wow | you should probably post that patch somewhere | ||
| nwellnhof | i can commit it right now. | ||
| wow | but what about mingw users? | 16:35 | |
| dalek | kudo: 51e3ff4 | pmichaud++ | src/Perl6/Grammar.pm: Switch infix:<:=> to use list assignment, resolving RT #77462. |
||
| wow | or it's just a config for msvs users? | ||
| nwellnhof | wow: my patch only affects MSVC users | ||
| wow | oh that's cool | ||
| thank you a lot again | |||
| nwellnhof | wow: did you have to use any special configure options? | ||
| wow | Yes, hold on | 16:36 | |
| nwellnhof | next commit will be r49000 | ||
| dalek | rrot: r48999 | nwellnhof++ | trunk/config/init/hints/mswin32.pm: When using MSVC, always use lib.exe for static libraries |
16:37 | |
|
16:37
patspam left
|
|||
| dukeleto is making good progress on converting mk_manifest_and_skip.pl | 16:38 | ||
| wow | paste.lisp.org/display/114533 | 16:39 | |
| here's my "tutorial" | |||
| pir? | 16:41 | ||
| purl | pir is a bofh at tufts or www.pir.net or Passive Infra Red or Parrot Intermediate Language (and almost an acronym) or the Price is Right. or www.parrotcode.org/docs/art/pp001-intro.html | ||
| wow | ah, Representation | ||
| dalek | nxed: r654 | NotFound++ | trunk/setup.winxed: use $load and keyed new for Getopt Obj in setup |
16:44 | |
| wow | I have to compile NQP separetly? | ||
| Coke | should be covered by "make install". | ||
| wow | :O | 16:45 | |
| true | |||
| i hope it wont try to install parrot to /usr/bin | |||
| Coke | I'm not sure what the default prefix for parrot is on windows, but you can override it with --prefix | 16:46 | |
| wow | oh, it installed parrot to C:\\parrot | ||
| pretty cool | |||
| What's miniparrot.exe? | 16:47 | ||
| Coke | miniparrot? | 16:48 | |
| purl | i guess miniparrot is Parrot minus some features for use in the build. It's not for end users. | ||
| dalek | nxed: r655 | NotFound++ | trunk/ (2 files): update generated pir files |
16:49 | |
| nwellnhof | wow: i added your tutorial to the parrot wiki | ||
| wow | Thanks | ||
|
16:50
M_o_C joined
|
|||
| wow | also, could you please recommend a book on parrot? | 16:50 | |
| is wikibook ok? | |||
| Coke | most up to date book is probably in the parrot repo in docs/book | ||
| I have never read the wikibook. | |||
|
16:50
nwellnhof left
|
|||
| Coke | wikibook? | 16:51 | |
| purl | wikibook is unmentionable | ||
| Coke | heh | ||
| wow | uhh, POD | 16:52 | |
| I don't get why you guys like POD | |||
| it's unreadable in plain text version | |||
| s/plain//; | |||
| Coke | so read the version on the website? | 16:55 | |
| pmichaud | parrotsketch? | 16:56 | |
| purl | i heard parrotsketch was a status meeting for parrot core committers held every Tuesday at 20:30 UTC in #parrotsketch | ||
| Coke | docs.parrot.org | ||
| purl | docs.parrot.org is updated nightly iirc | ||
| Coke | no, docs.parrot.org is updated after every release. | ||
| purl | okay, Coke. | ||
| Coke pretty much gives up on partcl. | |||
| dukeleto | Coke: giving up? | 16:57 | |
| purl | i think giving up is probably best. | ||
| Coke | botsnack! | ||
| purl | thanks Coke :) | ||
| Coke | dukeleto: yah. parrot is a PITA to develop for. | ||
| dukeleto | Coke: because the rug you were standing on keeps moving? | 16:58 | |
| Coke | you /wish/ there was a rug. | ||
| dalek | tracwiki: v5 | nwellnhof++ | Platforms/Windows | ||
| tracwiki: trac.parrot.org/parrot/wiki/Platfor...ction=diff | |||
| dukeleto | Coke: is this a partcl vs partcl-nqp thing? | ||
| Coke: what is the biggest issue that makes you not want to hack on partcl? | 16:59 | ||
| NotFound | Coke: try winxed, is a lot more fun than tcl ;) | ||
| Coke | developing each of them sucks for different reasons. | ||
| wow | :( | ||
| NotFound: tcl has libs | |||
| Coke | wow: partcl isn't using the c-libs. | ||
| wow | well yeah | ||
| there are a plenty of pure tcl libs | 17:00 | ||
| NotFound | wow: the interesting tcl libs can be used by embedding tcl | ||
| Coke | NotFound: that's a very different project than partcl. | ||
| wow | well, still | ||
| pmichaud | Coke: why does the nqp version suck, ooc? | ||
| wow | having a tcl implementation would be sweet | 17:01 | |
| Coke | pmichaud: lack of docs. | ||
| pmichaud | (developing for the nqp version...) | ||
| Coke: lack of nqp docs? | |||
| Coke | nqp, pct. | ||
| wow | btw, who develops Scheme for parrot? | ||
| pmichaud | Coke: noted. | ||
| Coke: btw, I don't know if you noticed that nqp can now create vtable methods :) | |||
| NotFound | Coke: I don't know much about tcl, but maybe the problem is that is too dynamic and its model too different from parrot for a compiled approach. Maybe a interpreted way will be easier. | ||
| Coke | NotFound: if you mean "avoid nqp & pct", I'm not sure that helps either. | 17:02 | |
| then you end up with the pure PIR version. | |||
| dukeleto | wow: github.com/bschmalhofer | ||
| wow: his is called eclectus | |||
| pmichaud | partcl-nqp is already pretty much an interpreted approach, afaict | ||
| dukeleto | wow: iirc, none of the scheme implementations on parrot are maintained currently | 17:03 | |
| NotFound | Coke: I think you can use nqp without pct, like any other language. | ||
| Coke | it's not like we're compiling [puts] down to pir::say | ||
| pmichaud | nqp needs a better question -> docs model. | 17:04 | |
| wow | dukeleto: this sucks | ||
| purl | like a quarter byte whore! | ||
| Coke | pmichaud: I don't parse that. | ||
| pmichaud | so that questions about nqp get turned into useful documentation | ||
| Coke | ah. | ||
| dukeleto: primarily, it's no longer at all a pleasant way to spend my time. I probably should have gotten the hint years ago. | 17:06 | ||
| dukeleto | purl, forget this sucks | ||
| purl | dukeleto: I forgot this sucks | ||
| Coke | ... didn't someone already kick purl? | ||
| NotFound | Is pipp working? It's a long time since I last tested it. | ||
| pmichaud | purl keeps coming back | ||
| purl | pmichaud: sorry... | ||
|
17:06
Paul_the_Greek joined,
purl joined
|
|||
| dukeleto | Coke: i understand | 17:06 | |
| pmichaud | still, it's sadly satisfying to kick a bot while it's down. | ||
| atrodo | How many languages do we have modern support for? rakudo? | 17:07 | |
| Coke | I am not an irc geek, but don't you need to do more than kick? | ||
| dukeleto | wow: what sucks? the scheme implementation? | ||
| Coke | atrodo: "modern support"? | ||
| dukeleto | kickban works real well | ||
| atrodo | Poor wording. Active support? | ||
| dukeleto | atrodo: lua has active support | ||
| Coke | atrodo: support by whom? | ||
| dukeleto | atrodo: data_json as well | ||
| Coke | the language developers ? | 17:08 | |
| atrodo | Language maintainers | ||
| Coke | data_json isn't a language. | ||
| pmichaud | nor is it really "supported" since, it's relying on deprecated components. | ||
| dukeleto | oy vey | ||
| pmichaud | although I did write a nqp version of data_json if anyone wants to pick it up | 17:09 | |
| dukeleto | pmichaud: what does data_json depend on that is deprecated? PGE? | ||
| NotFound | CodeString | ||
| purl | CodeString is like a stringbuilder, but with a few helper methods. | ||
| pmichaud | dukeleto: it currently depends on pge, tge, and CodeString | ||
| (all of which are deprecated iirc) | |||
| dukeleto | pmichaud: thanks | ||
| languages? | 17:10 | ||
| purl | it has been said that languages is trac.parrot.org/parrot/wiki/Languages or icanhaz.com/parrotlang | ||
| dalek | rrot: r49000 | luben++ | trunk (2 files): Use fixed size allocator for small hashes |
17:11 | |
| dukeleto | i would say winxed is an actively maintained lang as well | 17:13 | |
| atrodo | Did the smolder stuff ever get straightened out? | ||
| dukeleto | everything else is in various states of borkedness | 17:14 | |
| Coke | smolder? no. | ||
| dukeleto | atrodo: particle was very close | ||
| NotFound | dukeleto: yeah, but fortunately winxed does not need to pass an external spectest suite ;) | ||
| dukeleto | msg particle what else needs doing with our new smolder instance? | ||
| purl | Message for particle stored. | ||
| atrodo | It compiles, it ships! | ||
|
17:14
theory joined
|
|||
| NotFound | dukeleto: Have you seen my last nopaste? | 17:14 | |
| dukeleto | smolder.parrot.org <-- we have a smolder instance | ||
| Coke | dukeleto: ... that's news to me. | 17:15 | |
| dukeleto | i think our smolder submission code needs to use the new user/pass that i think only particle knows | ||
| he might have sent it to me before, but I may have lost it. I really don't remember. i never updated our smolder stuff | |||
|
17:16
theory left
17:17
theory joined
|
|||
| dukeleto will poke particle for smolder info | 17:19 | ||
| is there already a TT to fix smolder? | |||
|
17:19
hercynium joined
17:20
aceluck joined
|
|||
| Coke | trac.parrot.org/parrot/query?status...r=priority | 17:20 | |
|
17:23
Coke left
|
|||
| whiteknight | ah, that's very good. I have been wanting to get a smolder instance back up and running again | 17:27 | |
| particle | trouble writing to the smolder db. | ||
| i can't add a user, it reports the db is read-only | |||
| NotFound | ByteBuffer is not working well, its fail tests were failing for the wrong reason. | 17:28 | |
| whiteknight | particle: okay, so who do we talk to about that. The OSUOSL folks? | 17:29 | |
| dukeleto | particle++ | ||
| particle | yes, i'll update the open ticket. | ||
| dukeleto | particle: whenever there is a user/pass, you can send it to me to update our "make smoke" target, if you don't have time | 17:31 | |
| luben++ # hacking on our gc | 17:32 | ||
| whiteknight | luben++ indeed | 17:33 | |
| dukeleto | 2 | 17:34 | |
| particle | dukeleto: i'm trying to create the same credentials as already exists in lib/Parrot/Smoke/Config.pm or whatever that file is | ||
| luben | whiteknight, I looked at hash_allocator branch | 17:35 | |
| dukeleto | particle: that is smart :) | ||
| luben | I think, most of the stuff is reimplemented in r4900 | ||
|
17:35
contingencyplan left
|
|||
| whiteknight | luben: that was exploratory. I was running into build failures and didn't have time to implement it | 17:35 | |
| dukeleto | which ubuntu person thought it was a good idea to make perldoc optional? | 17:36 | |
| whiteknight | luben: does r49000 provide any kind of performance improvement? I was hoping it would | ||
| dukeleto: Allison is the lead Ubuntu person | |||
| luben | yes, 2-4%, | ||
| whiteknight | yay! I'm not completely stupid! | ||
| (it's always reassuring to hear that) | |||
| dukeleto | msg allison having perldoc included by default would make ubuntu more dev-friendly. Is there a formal place for suggestions to improve ubuntu? | 17:37 | |
| purl | Message for allison stored. | ||
| luben | I have tried to allocate each bucket separately with fixed size allocator, but it is slower that way | ||
|
17:38
contingencyplan joined
|
|||
| dukeleto beats mk_manifest_and_skip.pl into submission | 17:38 | ||
| luben | as discussed yesterday with bacek, only small hashes are allocated with fixed_size allocator | 17:39 | |
| the big ones (buckets > 32) are still allocating with system malloc | 17:41 | ||
| whiteknight | okay. That does make good sense | 17:44 | |
| the fixed-size allocator really performs best on small-sized objects | |||
|
17:45
Chandon joined
|
|||
| whiteknight | hello Chandon | 17:47 | |
| luben | what is the purpose of speciallized allocators like this for string/pmc headers | 17:48 | |
| Chandon | whiteknight, Hola | ||
| whiteknight | luben: using allocation from fixed-size pools like this can really give us an optimization boost by not using malloc and not causing a lot of system memory fragmentation | 17:49 | |
| we do see improved performance when we use them compared to when we do not | |||
| luben | so, they are just fixed_allocators with seggregated pools? | 17:50 | |
| whiteknight | in the long term, I would really love to see PMCs allocated from the fixed-size allocator too. That way we could allocate the PMC header and the attributes structure together in a single allocation | ||
| what do you mean by segregated pools? | |||
| Chandon: I finished another project I was working on and would love to start diving in to the threads code soonish | |||
| luben | string allocator has different arenas from other allocators | 17:51 | |
| whiteknight | luben: at the moment, we break the pools up because of GC behavior. GC sweep iterates over the pools linearly, so different pools get different behavior from the GC | ||
| string headers, for instance, don't contain pointers to other GCables. PMC headers do | |||
| But string headers point to string buffers elsewhere, so the GC needs to be able to find those pointers | 17:52 | ||
| luben | I understand now | ||
| Chandon | whiteknight, Excellent. I've been pretty busy with the semester starting up, but I'm starting to feel guilty about my unmerged branch. The biggest blocker I think ATM is Windows support - minimally it needs an alarm rewrite to use a "waiter thread" instead of signals. | 17:53 | |
| whiteknight | Chandon: Okay, Windows is something I have some access to and can play with. | 17:54 | |
| I may be able to bang out a prototype implementation this weekend or next | |||
| unless you want the honor? | 17:57 | ||
| Chandon | whiteknight, No, no. Go for it. | ||
| The other fun bit is properly handling exceptions / nested runloops. In this case, I'm not even sure I properly understand the problem. | 17:58 | ||
| whiteknight | haha, yeah. Here there be dragons. Do you have a test case or anything that demonstrates it? | 17:59 | |
| NotFound | whiteknight: PMC reuse change the PMC type, thus the attribute storage should be separate. | 18:03 | |
| dalek | rrot: r49001 | NotFound++ | trunk/src/pmc/bytebuffer.pmc: reintroduce ByteBuffer string result validation deleted in r48889, the catching tests were passing for wrong reasons |
||
| whiteknight | NotFound: that's only if we allow in-place PMC type morphing. I suggest we disallow that. It's already not used much | 18:04 | |
| Chandon | whiteknight, Not really. Right now the code just ignores green context switches in nested runloops. I think exceptions will break if you throw them from C in a second OS thread, but... | ||
| whiteknight | haha, yeah. Exceptions not the most robust system we have | ||
| NotFound | whiteknight: just one usage is enough to break all. | ||
| whiteknight | NotFound: so have 0 usages | 18:05 | |
| NotFound | whiteknight: tell it to all folks that depend on it. For example, rakudo | ||
| whiteknight | NotFound: with a deprecation cycle, we can make changes. Rakudo people are capable of using a different mechanism (and I think they would appreciate the speed boost) | ||
| this is a long-term plan | 18:06 | ||
| NotFound | Fine for me, but I still remember when Undef need to be modified to allow its reuse because of don't-remember-why | 18:07 | |
| That is like immutable strings. They are immutable or they aren't, PMC can be reused or can't. | 18:08 | ||
| whiteknight | I don't think they should be | ||
| NotFound | Even when some people fail to understand this simple reasoning. | ||
| whiteknight | not low-level PMCs, anyway. Objects or anything in a higher metamodel may have different semantics and they can work out the details | 18:09 | |
| also, we may be moving to a different metamodel ourselves, and then we need to change plans about how to handle memory allocations | |||
| NotFound | whiteknight: yes, but other long-term goal is to unify PMC and objects. | ||
| whiteknight | I haven't seen too many concrete plans for which object metamodel we want to move to, and when/how we are going to do it | ||
| Notfound: exactly. But we don't have a solid plan for that yet | 18:10 | ||
| NotFound | whiteknight: fully agree | ||
| whiteknight | so, if the option is to wait for something that we don't have a plan for and may never happen, or make an improvement that I do have a plan for, I think I'll do what I know I can do | ||
| NotFound | whiteknight: again, fine for me, as long as we can get rid of pmc reuse. | 18:11 | |
| whiteknight | agreed | ||
| NotFound | Chandon: how does the green thread switch uses the C stack? | 18:15 | |
| whiteknight | NotFound: a greenthread is a continuation | 18:16 | |
| so executing a continuation in a runloop where it was not defined may cause problems | |||
| and if we jump back up to the parent runloop, we cannot jump back down to the child | 18:17 | ||
| this all goes away with Lorito, I hope | |||
| Chandon | NotFound: If one green thread would block on IO, it needs to hang out - keeping its own stack - while another hardware thread takes the interpreter and runs another green thread with it. | ||
| NotFound | Very problematic. | 18:18 | |
| Chandon | Yea it is. The funny thing is it mostly works. | ||
| NotFound | Exception handling usually mostly works. | ||
| whiteknight | Exceptions are really two different things: When thrown from C, they are a setjmp point that takes control into the scheduler and off to the appropriate handler. When thrown from PIR they are a basic continuation and operate entirely in the runloop | 18:20 | |
| Chandon | "We may longjmp and abandon the stack at any time" is a pretty non-intuitive constraint to work under. It almost makes me pine for C++ exception semantics. | ||
| whiteknight | Again, in Lorito that difference mostly disapperas, but for now we are stuck with it | ||
| Chandon | How's Lorito coming, anyway? | 18:21 | |
| NotFound | whiteknight: incorrect. If thrown from pir in a inner runloop, the exception handling gets executed inside that inner, and then needs unrolling if not resumung. | ||
| cotto | chromatic said he'd had some ideas, but I've been spending most of my tuits on the git migration. | 18:22 | |
| atrodo | I haven't been able to figure out how Lorito would solve this problem since it's still C and inner runloops will still have to exist. Just not as often called | ||
| NotFound | atrodo: that is another problem, what to do if C code from extensions wants to reenter parrot runloop. | 18:23 | |
| atrodo | NotFound> Exactly my point | 18:24 | |
| Chandon | I think you could replace inner runloops entirely with callbacks, but the code would look a bit weird and I'm not sure if doing it is actually useful. | ||
| whiteknight | NotFound, yes, there's that part too. | ||
| NotFound | Well, currently is the same problem, but with the lorito approach should be a dfifferent thing. | ||
| whiteknight | atrodo: Lorito isn't C | ||
| Lorito is still an interpreted bytecode, but it's structured in such a way that we can write many of the Parrot API functions in Lorito. That way when we call a function, we stay in the runloop, and when we need to call more bytecode we're still in the runloop | 18:25 | ||
| atrodo | But you're still going to have to call C sometime. Especially when you talk about the embed interface | 18:26 | |
| whiteknight | atrodo: sure, some Lorito opcodes will enable direct calling of C functions | ||
| that's how we're going to be able to start replacing many of our current API functions with Lorito | |||
| atrodo | Right. I still don't see how that solves the problem. We'll still be calling extend/embed code, which could still call an inner runloop | 18:28 | |
| Unless we outright forbid calling an innerloop | |||
| NotFound | A related problem is the lack of a proper interface. If extenders call (and they do) any parrot function, we don't have a point to return control on unhandled exception. | ||
| With such a proper interface, the simple solution is to return control to the caller on unhandled exceptions. | 18:30 | ||
| whiteknight | atrodo: That problem goes away with two rules: 1) individual runloops are not reentrant, and 2) each individual runloop is a separate entity and cannot pass control directly to another runloop | ||
| if Parrot calls an extension, and the extension calls back into Parrot, and that inner call throws an exception, that exception can not be automatically propagated back up to the first runloop | 18:31 | ||
| the exception goes to the extension code, and the extension code can then handle it however it wants (including re-throw in the first runloop) | |||
| Continuations are a little bit more tricky, but not by much. When we throw a continuation through an extension, we call a C setjmp point and unravel the stack all the way back up to the first runloop, cleaning up the extension code with it | 18:32 | ||
| NotFound | Note that that scenario put limitations on exception resume. | ||
| whiteknight | NotFound: not really. The extension code can resume back into the second runloop | 18:33 | |
| NotFound | whiteknight: not if that second runloop has exited. | ||
| whiteknight | NotFound: if an exception is thrown now and is not handled, Parrot exits | 18:34 | |
| that rule can hold for individual parrot instances in the same process, and also for individual runloop instances in the same parrot | |||
| if you don't have a handler that can deal with the exception within the current parrot runloop instance, the runloop terminates | 18:35 | ||
| NotFound | whiteknight: I mean: if you rethrow to the first runloop, the handler in the first runloop can't resume to original point, just to the rethrowing point. | ||
| whiteknight | so, the lesson is to register a handler correctly, if you want to handle and resume an exception | ||
| NotFound: right, but they are two separate instances. The first runloop instance had an *unhandled exception* and died from it | |||
| the extension code that choose to communicate that information back to a different runloop | 18:36 | ||
| if you don't handle an exception, you can't expect to resume it | |||
| NotFound | whiteknight: for me is fine, but there are people in parrot with a great interest in resuming anything. | ||
| whiteknight | NotFound: yeah, I know what you mean. Luckily, most of the problems we have will go away because most Parrot programs will have only one runloop | 18:37 | |
| NotFound: and the issue isn't whether we can resume an exception. We can always resume the exception if the exception is handled, and if the runloop where it was created still exists | 18:38 | ||
| And I don't think that's too strict a rule | |||
| NotFound | I suppose that in the long term it will depend on what extension code is usually doing. | ||
| whiteknight | NotFound: on the bright side, there is very little extension and embedding code for us to deal with :) | 18:39 | |
| NotFound | whiteknight: yeah, but in the current stage with lots of inner runloops is hard to experiment if that approach may work well. | ||
| whiteknight | :) | ||
| NotFound | whiteknight: don't say that to the PLParrot or the modparrot folks ;) | 18:40 | |
| whiteknight | I think (hope) that the system is well-encapsulated enough that we can do something like a git fork, work on the runloop stuff in one, and work on everything else in the other | ||
| NotFound: PLParrot is a nice counter-example, yes. Is modparrot still active? | 18:41 | ||
| NotFound | whiteknight: no idea | ||
| And don't forget blizkost | 18:42 | ||
| And opengl | |||
| whiteknight | blizkost embeds Parrot? | ||
| NotFound | whiteknight: parrot embeds perl5 | ||
| whiteknight | I should have been more narrow: There is relatively little code that embeds parrot | 18:43 | |
| there is plenty of code that extends it | |||
| NotFound | Is mostly the same thing for all this issues. | ||
| whiteknight: BTW, take a look at this: example: current status of winxed and glueglass(blizkost + Gtk2)" (48 lines) at nopaste.snit.ch/23335 | 18:44 | ||
| That's blizkost in action. | 18:45 | ||
| dukeleto | NotFound++ | 18:46 | |
|
18:49
nwellnhof joined
|
|||
| whiteknight | wow. Nice | 18:54 | |
| It would be much better in my estimation to have some native Parrot bindings to Gtk2, but that's still nothing to sneeze at | |||
|
18:55
Chandon left
|
|||
| whiteknight | What we could do is create an interface to Gtk2 that uses Blizkost/GlueGlass internally, and swap out the internals with a pure-Parrot implementation later | 18:55 | |
|
18:55
Chandon joined
|
|||
| Tene | For a while, I had parrot bundings to EFL working, and programs using them from Rakudo. | 18:55 | |
| bindings | |||
| purl | bindings are pre-wysiwig iirc or auto-generated by openqa (sorta) | ||
| whiteknight | EFL? | ||
| Tene | Enlightenment's gui toolkit | ||
| enlightenment.org/p.php?p=about&l=en | 18:56 | ||
| whiteknight | oh, nice | ||
| nwellnhof | i get an infinite loop in Rakudo spectest t/spec/S03-metaops/reverse.t test 33 with latest parrot | 18:57 | |
| whiteknight | Tene: those bindings no longer work? Do you have them posted anywhere online? | ||
| NotFound: also, is glueglass online anywhere? | |||
| Tene | whiteknight: it was broken by the HLL library API changes. I posted it to github. github.com/tene/parrot-elementary | ||
| I didn't get all of the EFL, just the high-level widget toolkit | 18:58 | ||
| whiteknight | Tene: oh, ha. I'm already watching it apparently | ||
| my watchlist is too big for me to watch | |||
| Tene | I really should figure out where the HLL interop stuff is these days, I just haven't been up to getting back into it again. | 18:59 | |
| afk lunch | |||
|
19:00
hercynium left
|
|||
| NotFound | whiteknight: no yet, bu is short, I can nopaste it in a moment. | 19:02 | |
| whiteknight | NotFound++ | ||
| if you put it live, I would love to look at it | |||
| nopaste | "NotFound" at 192.168.1.3 pasted "glueglass - work in progress" (340 lines) at nopaste.snit.ch/23338 | 19:03 | |
| whiteknight | wow, nice | 19:05 | |
| me like | |||
| Tene | github.com/tene/parrot-elementary/b...ter/et.pir is an example app | 19:06 | |
| whiteknight | am I still online? | 19:08 | |
| Tene | yes | ||
| dukeleto | whiteknight: no | ||
| whiteknight | damnit! | ||
| no, all the rest of my internet access is down, except IRC | |||
| NotFound | whiteknight: yes, a native gtk wrapper will be better, but that's a hard work. | ||
| whiteknight | NotFound: yes, it would be very hard | 19:09 | |
| what might be nice is a utility to load in a shared library, identify all the function exports, and write wrappers for all of them in PIR | |||
| dukeleto | #phasers is happening (rakudo dev meeting) if anybody is interested | ||
| on freenode | |||
| whiteknight | is this a weekly planning meeting a la #parrotsketch? | 19:11 | |
| dalek | rrot: r49002 | nwellnhof++ | trunk/runtime/parrot/library/URI/Escape.pir: Use find_encoding instead of find_charset in URI::Escape |
19:12 | |
| rrot: r49003 | nwellnhof++ | trunk/src (2 files): Don't use STRING_equal yet |
|||
| whiteknight | luben: ping | 19:15 | |
| luben | pong | ||
| whiteknight | luben: Do you think we can delete that hash_allocator branch, after r49000? | 19:17 | |
| I mean, that did most of what I was planning, right? | |||
| luben | may be yes. I think most of it is in trunc | ||
| whiteknight | okay, I'll evaluate it tonight and delete the branch if it's redundant | 19:18 | |
| luben++ | |||
|
19:28
p6eval left
|
|||
| whiteknight is heading home. Will be on later tonight | 19:31 | ||
| dukeleto | whiteknight: good travels | 19:32 | |
| whiteknight will backlog whatever he missed in the #phasers and #parrotsketch meetings | |||
|
19:32
whiteknight left
|
|||
| dukeleto kicks Parrot::Manifest in the face | 19:32 | ||
|
19:39
p6eval joined
19:42
Andy left
19:46
plobsing joined
19:54
kid51 joined
20:01
jsut joined
|
|||
| cotto encourages dukeleto to use good form when doing said kicking | 20:03 | ||
| atrodo | Don't want to injury yourself in the pursuit of progress, right? | 20:06 | |
|
20:06
jsut_ left
20:07
M_o_C left
|
|||
| cotto | It's nice to have a proper irc client for prepasting #ps reports | 20:08 | |
| dukeleto | cotto: i set my boot on fire first, is that what you mean? | 20:10 | |
| cotto | wfm | ||
| cotto wonders what dynamic activity is. | |||
| dukeleto | cotto: did you make mk_language_shell.pl a generated file in git_aware_tools ? | 20:12 | |
| cotto: it seems that way, just making sure | |||
| dalek | kudo: 04ce047 | masak++ | src/core/Mu.pm: [core/Mu] added .note method Contributed by tadzik++ |
20:13 | |
| dukeleto thinks he has mk_manifest_and_skip.pl working | |||
| cotto | dukeleto++ | ||
| I'm not sure about mk_language_shell. | 20:14 | ||
| pl | |||
| digging | |||
| dukeleto | cotto: looks like you made a mk_language_shell.in file | ||
|
20:14
forwardever joined
|
|||
| cotto | I don't think that was me. | 20:15 | |
| dukeleto | cotto: nope, it was gerd++ | ||
| cotto is glad he wasn't sleepcommitting | 20:16 | ||
| dukeleto | cotto: me has seen the light. i think this friggin' thing works | ||
| cotto | bam | ||
| dukeleto++ | |||
| #ps in 13 | 20:17 | ||
| sounds like git o'clock will be rsn | 20:18 | ||
| dukeleto | WOOOOOOOOOOOOT | ||
| cotto | I'd better get those plugin tests nailed. | ||
| dukeleto | cotto: just pushed to the git_aware_tools branch, take a look | 20:20 | |
| cotto: it could be refactored more, there is some cruft left over from the old way of doing things, BUT IT WORKS! | |||
| cotto | util++ for the perl snipped in his #ps report | ||
| win | |||
| cotto looks | |||
| dukeleto | i used the new mk_manifest_and_skip.pl to generate a new MANIFEST(.SKIP) | ||
| cotto | no differences of note? | 20:21 | |
| dukeleto | it works off of .gitignore and git ls-files | ||
| NotFound | It's perl? I tought it was a bug in his irc client copying garbage ;) | ||
| cotto | I'd prefer perl 6, but perl 5 is acceptable. | 20:22 | |
| dukeleto | cotto: differences in mk_manifest_and_skip ? It is a lot less code | 20:24 | |
| cotto | no, differences in the generated files | ||
| dukeleto | cotto: MANIFEST is exactly the same | ||
| cotto | (though I'm certain that MANIFEST.SKIP has a boatload of obsolete cruft) | ||
| dukeleto | cotto: MANIFEST.SKIP has some stuff reordered | ||
| cotto: yeah, there looked to be some extra junk in MANIFEST.SKIP | 20:25 | ||
|
20:25
allison joined
|
|||
| dalek | kudo: f5e67ec | masak++ | src/core/IO.pm: Revert "Refactor slurp($filename) to use Parrot's .readall($filename);" This reverts commit 77a72a31234229635f720f853d59b865342df17a, since trac.parrot.org/parrot/ticket/1749 is now fixed. |
20:25 | |
| dukeleto | i also kept the questionable behavior of having 2 lines for every file in MANIFEST.SKIP, one that ends in $ and one that ends in / | ||
| dukeleto | allison: howdy | ||
| allison | dukeleto: hi | ||
| dukeleto | allison: i've just finished porting mk_manifest_and_skip.pl to git | 20:26 | |
| allison: how goes it with you? | |||
|
20:26
tadzik1 joined
|
|||
| allison | dukeleto: great (on porting) | 20:26 | |
| Paul_the_Greek | join #parrotsketch | 20:28 | |
|
20:28
tadzik left,
tadzik1 is now known as tadzik
|
|||
| Paul_the_Greek | Slash would help. | 20:28 | |
|
20:29
chromatic joined
|
|||
| mikehh | #ps time | 20:30 | |
|
20:34
bacek joined,
aloha joined
|
|||
| cotto | hio bacek | 20:34 | |
| dukeleto, do you have anything to knock off the git migration list other than mk_manifest_and_something? | 20:36 | ||
| dukeleto | cotto: maybe, let me check | 20:37 | |
| chromatic | Was ByteBuffer in 2.6? | 20:38 | |
| NotFound | chromatic: 2.5 | 20:39 | |
| chromatic | Coke, r48878's commit message was a typo fix. | ||
| Marked as experimental? | |||
| NotFound | Nop | ||
| chromatic | Ick. | ||
| NotFound | It was tentatively marked as experimental, but became official before 2.5, if I remember well. | 20:40 | |
| chromatic | So we need a dummy parameter there, if at all possible. | ||
| NotFound | I took a look, but don'g get wow to keep the functionality intact. | 20:41 | |
| Should probably check all valid charset/encoding combinations. | 20:42 | ||
| And wich encoding is appropiate for each. | |||
| chromatic | What a mess! | ||
| purl | PLEASE DO NOT MAKE A MESS IN HERE | ||
| NotFound | Yeah | ||
| chromatic | ASCII ONLY PLEASE | ||
| cotto | 255 characters ought to be enough for anybody | 20:43 | |
| chromatic | 128 | ||
| Never trust anyone over 30 or with an umlaut. | |||
| NotFound | 127, you need to keep zero as delimiter | 20:44 | |
|
20:45
hercynium joined
|
|||
| dalek | tracwiki: v29 | dukeleto++ | GitMigration | 20:45 | |
| tracwiki: trac.parrot.org/parrot/wiki/GitMigr...ction=diff | |||
|
20:45
whiteknight joined
|
|||
| plobsing | pmichaud: nci_thunk_gen depends on data_json. data_json is very convenient for large datastructures in PIR. | 20:52 | |
| chromatic | Paul_the_Greek, we'll get to questions in a bit. | 20:53 | |
| Paul_the_Greek | It's about deprecation, so I thought it was relevant. | ||
| Being patient ... | |||
| pmichaud | plobsing: okay, I must've missed that then. | ||
| NotFound | plumages uses it, also. | 20:54 | |
|
20:55
aceluck left
|
|||
| whiteknight | those things that use data_json, can they be converted to use the new json module? | 20:55 | |
| pmichaud | the one I wrote? yes, it shouldn't be too difficult. the new data_json creates a compiler -- same as the previous one. | 20:56 | |
| NotFound | whiteknight: that doesn't solve the deprecation problem. It should be fixed or replaced. | 20:57 | |
| pmichaud | the new one can easily emulate whatever the previous api used. | ||
| whiteknight | NotFound: that's what I'm saying to do. replace it with the new implementation, but add a compatible interface so it doesn't break deprecation | ||
| NotFound | whiteknight: you said converting the things that use it. | ||
| whiteknight | nci_thunk_gen is in our repo. We can convert that without breaking deprecation | 20:58 | |
| chromatic | We don't know of external users which rely on the API. | ||
| plobsing | converting by swapping it out underneath would be ideal | ||
| whiteknight | wheth we know it or not, deprecation policy is a promise. We can gut data_json and replace it's internals with the new implementation, so long as the API is the same | ||
| plobsing | it is used to setup.json for various distutils projects. | ||
| whiteknight | and anything in our repo we can convert directly | ||
| NotFound | We should either replace it with the new one, or with a wrap that uses it. | ||
| whiteknight | ok | 20:59 | |
| dalek | tracwiki: v30 | dukeleto++ | GitMigration | 21:03 | |
| tracwiki: trac.parrot.org/parrot/wiki/GitMigr...ction=diff | |||
| plobsing | Paul_the_Greek: what's your opinion on booleans being integers? -1 or false? ;-) | 21:04 | |
| NotFound | FuzzyLogic++ | ||
| whiteknight | or FILE_NOT_FOUND? | 21:05 | |
| NotFound | Hey, we can just throw an Exception on Boolean.isa. You should know what you have and no ask, loser! | 21:06 | |
| tadzik | is there an opcode to convert an N register to something storable in S? | 21:07 | |
| chromatic | $S0 = $N0 | ||
| plobsing | set_s_n should work. polymorphic ops are great | ||
| or what chromatic said | |||
| purl | chromatic said is good, so it is ;) | ||
| tadzik | bah, right. chromatic++ | ||
| plobsing | lsp? | 21:14 | |
| purl | hmmm... lsp is Liskov Substitution Principle | ||
|
21:21
ruoso left
21:23
preflex left,
tcurtis joined
21:25
preflex joined
21:29
allison left
21:31
hercynium left
|
|||
| moderator | Parrot 2.7.0 "Australian King" Released! | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 25 tickets; remove deprecated items (especially CodeString); record deprecations; polish for 2.8 release | 21:33 | |
|
21:34
kid51 left
|
|||
| dalek | rrot: r49004 | whiteknight++ | trunk/docs/project/release_manager_guide.pod: pencil in mikehh for the Feb release. He volunteered and didn't specify. 3.0 is going to be a biggy, so I'm hoping somebody specifically requests it |
21:47 | |
|
21:55
tadzik left
|
|||
| dalek | kudo: 5ac20e0 | masak++ | src/glue/enum.pm: [src/glue/enum.pm] return the right things enum Foo <a b c>; Previously, requesting Foo yielded an EnumMap, whereas it now yields an object of some kind whose .enums method returns an EnumMap. Similarly, requesting b yielded an Int, whereas now it returns an object that responds to a number of methods, as per S12. |
21:57 | |
|
22:01
bkuhn left
22:03
plobsing left
22:20
patspam joined
22:31
tcurtis left
|
|||
| chromatic | TimToady, ping | 22:58 | |
|
23:05
plobsing joined
23:09
Paul_the_Greek left
23:16
kid51 joined
|
|||
| kid51 | ~~ | 23:16 | |
| luben | chromatic, ping | 23:22 | |
| bacek_at_work | aloha, humans | 23:25 | |
| luben | good localtime bacek | 23:26 | |
| bacek_at_work | hi luben | ||
| chromatic | luben, pong | ||
| luben | chromatic, I looked in args.c | ||
| If I switch from Hash PMC to parrot_hash for named params I get speedup of 2-4% | 23:27 | ||
| is it worth to go in that way | |||
| chromatic | I'm not sure. | 23:28 | |
| luben | this is in fill_params | ||
| for named_used_list | |||
| chromatic | The biggest inefficiency in argument processing right now is that CallSignature contains some static parts and some dynamic parts. | ||
| Oh, there? What are you using as a benchmark? | 23:29 | ||
| luben | rakudo startup | 23:31 | |
| chromatic | That's a good speedup for Rakudo overall then. | ||
| luben | yes | 23:32 | |
| chromatic | Let's try it. | ||
| luben | I concerns only calls that expect named arguments | ||
| plobsing | 2-4% speedup? how are you measuring? | ||
| luben | ok, I will run test and if all passes I will ship it | ||
| plobsing, time ./parrot ../rakudo/perl6.pbc -e '' | 23:33 | ||
| chromatic | Rakudo tests too? | 23:34 | |
|
23:36
forwardever left
|
|||
| plobsing | luben: valgrind can give you more precision in your benchmarking (valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes ./perl6 -e '') | 23:36 | |
|
23:38
hercynium joined
|
|||
| whiteknight | 2-4% improvements are never anything to ignore | 23:43 | |
| luben | ./parrot t/op/calling.t is giving me errors in trunk, without my changes | 23:45 | |
| chromatic | try prove t/op/calling.t | ||
| luben | aaa... yes, it passes | 23:46 | |
| chromatic | Now your heart rate can return to normal again. | ||
| dalek | nxed: r656 | NotFound++ | trunk/winxedst1.winxed: some cleaning in HashExpr code and fix its edge cases for hash values in stage 1 |
||
| whiteknight | ...I hate when that happens | ||
| purl | compiler is a controversial feature of Perl5.005 which will probably be used for evil ends or a way for the unenlightened to make themselves think their programs will run faster. | ||
| plobsing | purl forget compiler | 23:47 | |
| purl | plobsing: I forgot compiler | ||
|
23:50
AzureSto_ left
|
|||
| whiteknight | purl compiler is <reply>compiler? COMPILER? I don't need no damned compiler. When I want to make new programs I take Linux out on a date and make them the old-fashioned way | 23:50 | |
| purl | OK, whiteknight. | ||
|
23:50
AzureStone joined
|
|||
| chromatic | Does your wife know you think of your kid that way? | 23:51 | |
| luben | I'm compiling an running rakudo tests now | ||
| whiteknight | chromatic: I referred to the kid tonight as "the little rodent". My wife was not amused | ||
| chromatic | I have a list of ways with which to refer to children if you want to remove the amusement from their mothers. | 23:53 | |
| NotFound | Note that if you replace a GCable with a non GCable you should free it in all possible exits, including any possible excpetion thown from its callees | ||
| chromatic | I figured I'd check that when I saw the patch; good to have more eyes on it. | 23:54 | |
| "Isn't our little GCable cute?" | |||
| NotFound | My eyes aren't going to keep open for much more time today. | 23:55 | |
| chromatic | If you make the spectest run faster, you can go to bed sooner. | ||
| NotFound | Mmmm... never figured that GCable is a good insult. | 23:56 | |
| luben | NotFound, I have noticed... I am freeing it | ||
| whiteknight | NotFound: only in Parrot | ||
| luben | shipped | ||
| NotFound | whiteknight: everywere. It means that I don't care if the garbage collector gets rid of you. | 23:57 | |
| chromatic | Once I start ignoring you, something will sweep you up. Eventually. | 23:58 | |
| Maybe even also everything you care about. | |||
| NotFound | Oh, if it were that easy with some people... | ||
| luben | ok, I missed to free the hash on some exceptions... second patch comming | ||
| whiteknight | if the hash is attached to the CallContext, you can destroy them together | 23:59 | |
| cotto | anyone mind if I take 3.0? | ||
| whiteknight | fine by me | ||