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