Parrot 3.9.0 "Archaeopteryx" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 19 October 2011.
00:11 jsut joined 00:17 bubaflub joined 00:38 dngor joined
Coke survived Halloween! 00:42
dalek nxed: b7c47a4 | NotFound++ | t/basic/02boolops.t:
more tests for && and || operators
00:45 diakopter joined
diakopter hi; building on a fresh git clone on strawberry perl: ./include/parrot/config.h:134:5: error: #if with no expression 00:46
the block is: #if 00:47
# define LONGLONG_SIZE 0
#endif
benabik Looks like a configure error. 00:48
diakopter is it right to be #define INTVAL_SIZE 0 and #define INT_SIZE 0
shouldn't those be nonzero? 00:49
I guess I could try building using msvc 00:50
so far I'm 0 for 2, didn't work on cygwin, didn't work on strawberry. I'm giving msvc (with activeperl) a try. 00:52
benabik I've never tried building on Windows. :-/ 00:55
plobsing diakopter: perhaps that should be ifdef 00:57
diakopter well, here's another bug report - make clean doesn't remove the .h files from include/parrot
plobsing although the intval_size value is more troubling 00:58
diakopter oh, realclean got them 01:01
running Configure.pl using activeperl/msvc gave this: Hmm, I see your chosen INTVAL isn't the same size as your pointers. Parrot 01:03
should still compile and run, but you may see a ton of warnings.
sigh. then it died upon building: src/alarm.c(22) : fatal error C1083: Cannot open include file: 'sys/time.h': No 01:04
such file or directory
I've been using fperrad's sourceforge win32 parrot distribution/installer, but I wanted to try to build it for myself. <fail> 01:05
dalek rrot/jkeenan/reposition_archive_tarball: 595bffe | jkeenan++ | / (10 files):
Reposition parrot_test_run.tar.gz in a subdirectory (t/archive) so it can be safely decompressed and untarred.
01:09
rrot/jkeenan/reposition_archive_tarball: bead135 | jkeenan++ | MANIFEST:
Add new file to MANIFEST.
rrot/jkeenan/reposition_archive_tarball: 4603865 | jkeenan++ | t/archive/README:
Restore README.
01:45 diakopter left 01:56 woosley joined
dalek rrot: f66b1b5 | dukeleto++ | ChangeLog:
Correct typo in ChangeLog about set_random
02:41
TT #1519 closed by dukeleto++: plan(0) is not supported by Test::More/Test::Builder 03:46
TT #1519: trac.parrot.org/parrot/ticket/1519
03:55 dngor joined
dalek TT #312 closed by dukeleto++: disable static on win32/aix if shared 04:02
TT #312: trac.parrot.org/parrot/ticket/312
04:10 nbezzala joined 04:26 alester joined 05:13 zpmorgan joined 06:09 woosley left 06:37 mj41 joined 06:47 zby_home joined
dalek kudo/nom: 8780040 | moritz++ | src/core/ (2 files):
throw the first typed exception from within the setting
07:19
07:36 he joined 08:25 mj41 joined 08:32 zby_home_ joined 09:25 TonyC joined 09:29 lucian joined 10:01 nopaste joined 10:07 TonyC joined 10:09 nopaste joined 11:03 nbezzala joined 11:38 Psyche^ joined 11:44 benabik joined 11:57 pbaker joined 12:01 nbrown joined 12:13 whiteknight joined
whiteknight good morning, #parrot 12:14
benabik o/ whiteknight
whiteknight hello benabik
nine good morning, whiteknight
whiteknight hello nine
12:21 zby_home joined 12:22 bubaflub joined
dalek nxed: f309df5 | NotFound++ | winxedst1.winxed:
unify "class not found at compile time" warning messages
12:29
12:37 atrodo joined
dalek p/reprapi2: 42c18a2 | jnthn++ | src/6model/reprs/P6opaque.c:
Add missing initialization logic. Thanks to kboga++ for the hint that led me to this issue.
12:39
benabik Looks like green_threads broke the build on Win32. src/alarm.c includes sys/time.h 12:54
The following comment might have been a clue: "This file relies on POSIX."
nine darn 12:55
benabik That's the cause of our Win32 build failures. Windows doesn't have a sys/time. 12:56
whiteknight what do they have, time.h?
Coke I can try to compile a sample program for you. 12:57
whiteknight I'm updating my windows box now
Coke ah, excellent, I can go back to coffee. ;) 12:58
nine Me not having any windows box at all makes it a little difficult to test on that platform 12:59
whiteknight yeah, apparently we don't have many people doing regular testing there
nine whiteknight: just to let you know, I just got Parrot to execute two tasks concurrently on real OS threads :)
whiteknight awesome 13:00
what's the strategy you're using with regard to interps?
nine whiteknight: I see interps as CPU cores. So there's one interp for each OS thread. interps are pretty independent of each other 13:01
whiteknight: so in short. Pretty much exactly like the previous threading implementation as far as I can see 13:02
whiteknight nine: okay, that's what I was thinking. Back when Chandon was working on this, he and I were talking about dividing the interp up into two structures: One that was process-global and the other that was thread-local
things like the class store and namespace root would make a lot more sense to keep global with limited access than to deep-clone for each new thread. In fact, deep-cloning of interp stuff was one of the biggest sources of bugs in the old system 13:03
nine whiteknight: dividing it up would probably still be the way to go. After all, CPU cores share a whole lot of other hardware around them ;) 13:04
benabik Don't assume interps are 1:1 with CPUs. Users can create interps themselves too. 13:06
whiteknight yes, that was yet another big problem with the old system. We assumed an interp was a thread in most cases
nine benabik: what's the use case for this?
whiteknight nine: think of security sandboxing. One interp can create a child interp on the same thread with security restrictions
or, to keep global data separate 13:07
nine Ok, I'll keep that in mind. So each thread has it's own interp, but there's no direct relationship the other way round
whiteknight it's almost more accurate to say that an interp HAS-A thread, and multiple interps can have the same thread 13:08
they can't all be executing at once, of course
or, better yet, parent/child interps currently share the same scheduler, so the scheduler can HAS-A thread 13:09
dalek p: a743c97 | jnthn++ | src/ (9 files):
Toss clone from the REPR API; it's just implementable in terms of the more primitive allocate and copy_to.
13:10
p: e4e4bb4 | jnthn++ | src/6model/ (8 files):
Add gc_cleanup to REPR API; none of the current reprs need it, but bigint will. Not yet called.
p: 6dc6dc9 | jnthn++ | src/6model/reprs/P6opaque. (2 files):
Teach P6opaque to delegate to other reprs where it should. We now longer special case handling of various things in P6opaque that we probably never should have, have the hooks for getting P6bigint correctly flattenable into P6opaque, etc.
p: a375e18 | jnthn++ | src/ops/nqp.ops:
Don't look up something we already have.
p: c0c5bb0 | jnthn++ | src/NQP/SymbolTable.pm:
Fix a nasty NQP bug where the REPL and code run immediately rather than pre-compiled didn't properly see the setting.
p: 516c219 | jnthn++ | src/6model/reprs/P6opaque.c:
Add a missing sanity check to P6opaque that catches some nasty bugs.
p: fd65ca0 | jnthn++ | src/ops/nqp.ops:
Fix thinko in repr_clone op.
p: 42c18a2 | jnthn++ | src/6model/reprs/P6opaque.c:
Add missing initialization logic. Thanks to kboga++ for the hint that led me to this issue.
p: c86e02e | jnthn++ | src/ (21 files):
Merge branch 'reprapi2'
p: 176a5a8 | jnthn++ | src/PAST/SixModelPASTExtensions.pir:
Revert back to an earlier Parrot revision that builds on Windows.

This reverts commit ca125937799df5107be65bf7eb67ed2fd74e0a97.
p: 2685f80 | jnthn++ | / (4 files):
Revert back to an earlier Parrot revision that builds on Windows.

This reverts commit ae3236c82201bf2daad3b9ccb040dbd4feb67f1c.
p: 1d39d41 | jnthn++ | tools/build/PARROT_REVISION:
Revert back to an earlier Parrot revision that builds on Windows.

This reverts commit b498832b5d7d328f66e91a87d580f62ba7870966.
nine whiteknight: why would parent/child interps share the scheduler? 13:17
whiteknight that's just the way it is now
okay, I've got a commit coming that makes us build on windows 13:25
it basically just disables all preemption for now 13:26
13:31 ambs joined 13:38 jsut_ joined 13:53 lucian joined
dalek kudo/nom: 6daf5d1 | jnthn++ | tools/build/NQP_REVISION:
Bump to NQP revision that provides reprapi2.
13:54
kudo/nom: 95135c3 | jnthn++ | / (9 files):
Merge reprapi2 into nom.
kudo/nom: 666f399 | jnthn++ | src/core/Num.pm:
After the repr updates, we correctly have native num attrs initialized to NaN. However, Num.new() seems to be expected to give back zero, so add an explicit new that makes this happen. Means we regress no spectests now after reprapi2.
13:54 nbezzala joined 13:55 bluescreen joined 13:58 mtk joined 14:08 alester joined
alester prods the channel to go look at github.com/petdance/scratch/issues and give feedback on the list about the conversion. 14:26
prod prod 14:27
whiteknight I already went! 14:32
Do we have any windows users around who are able to do some testing? 14:40
dalek rrot: f747ea1 | Whiteknight++ | src/ (2 files):
Remove the preemptive thread scheduling logic from the windows build. Parrot should build on windows (or get much closer now) but without preemptive green_threads support
whiteknight Any windows testing of that latest commit would be much appreciated 14:42
ttbot Parrot f747ea17 i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/57009 14:45
whiteknight bleh 14:47
Coke hey, ttbot is back. 14:51
benabik "Ć¢ā‚¬Ėœe’ undeclared (first use in this function)" What?
Coke that would have been helpful on the initial windows merge.
s/windows/green threads/
whiteknight I'm getting some weird linker error about _environ on windows. 15:05
in the Env PMC 15:06
and that's something that we didn't touch
15:26 schmooster joined
dalek kudo/nom: 0f941b3 | moritz++ | src/core/Exception.pm:
hide Exception.throw and .rethrow from backtrace
15:27
whiteknight blah, extra character got added to the file 15:28
Patterner src/alarm.c:96
whiteknight yeah, I'm working on it 15:42
dalek rrot: c34e000 | Whiteknight++ | src/alarm.c:
fix typo, misplaced character
15:43
Patterner working for me now. whiteknight++ 15:47
benabik Now we just need actual Win32 alarms. 15:48
whiteknight has anybody built on windows besides me?
I can't actually build, I run into that unrelated linker error
Patterner linux 64biz here. sorry 15:49
*bit
ts ts ts... src/scheduler.c 205 (tailing space :) 16:01
nine whiteknight: you wondered what that 'pause;' was in Parrot_cx_outer_runloop. It actually should have been pause(); and I have no idea why the compiler didn't complain. Without that pause(); a sleep() turns into a busy loop. 16:30
Ah of course, it simply evaluates to the pause function's address and does nothing. 16:37
Coke I can do a windows build if you like. 16:39
dukeleto ~~ 16:46
nine Coke: would be interesting if pause() is even available on Windows 16:47
Coke .. except I cannot git pull --rebase at the moment due to this pesky HTTP failure.
nine: write me a small .c to check?
nine Coke: just a sec 16:48
#include <unistd.h> 16:50
void main(void) { pause(); }
Coke foo.c(1) : fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory 16:51
16:51 alester joined
Coke suacommunity.com/dictionary/pause-entry.php 16:52
benabik All the signaling stuff is going to have to be abstracted out and appropriate bits found for Win32.
Coke that site looks like a nice function-by-function xover guide. 16:53
nine Signals are pretty much only used for alarms. I'd guess that there's some simple way to get that on Win32 as well, but I don' 16:55
benabik suacommunity.com/dictionary/alarm-entry.php
nine t have the slightest idea about that platform
whiteknight I can try to dig up a windows equivalent sometime 16:56
nine The description on that site sounds like we'd have to use threads to implement green_threads :) 16:58
whiteknight eventually, we will have threads too
we can implement threads and green threads in terms of each other, and bootstrap from nothing
benabik A background thread to manage alarms is probably orders of magnitude simpler than having interpreters running on multiple threads. 17:01
nine benabik: sure hope so :) 17:02
alester It's funny just how much I enjoy data migration. 17:06
It's a sickness, I think.
whiteknight a sickness we are happy to exploit 17:11
alester++
alester Heh. :-)
Net::GitHub::V3 makes everything pretty butt simple. 17:12
I'd have done more last night but I had to watch "The Walking Dead" 17:14
which is pretty much an apt description for Trac. :-)
whiteknight I really wish the decision to migrate to trac in the first place was more well thought-out at the time 17:15
cotto ~~ 17:36
+1
dukeleto wiki.enlightenedperl.org/gci2011/gci2011/ideas 17:40
alester: the graphic novel is way better than the miniseries (The Walking Dead)
Coke I'm up to book.. 9? still haven't seen the tv show. 17:41
it's just outside my short list.
17:43 fperrad joined
dukeleto Coke: the show is basically a different story with many of the same characters, so they are mostly independent 17:43
we still need more GCI tasks! 17:44
specifically, in the Training and Outreach section
whiteknight well, I have no ideas 17:46
Coke dukeleto: I had to stop reading the books for a while. too depressing. ;)
nine whiteknight: github.com/niner/parrot/commit/752...22341d3a80 17:50
dukeleto whiteknight: i will add tasks, just letting people know that i could use help 17:56
Coke: yeah, but they sure do make you appreciate what you have :) 17:57
18:18 zby_home_ joined 18:20 contingencyplan joined
alester dukeleto: What, you think I haven't read the GN as well? :-) 18:32
alvis ~~
alester I've read most of the first 20 or so issues, and I'm finding I enjoy the show more.
dukeleto alvis: howdy 18:36
alester: i have been meaning to reply to your email, but i haven't 18:37
alvis dukeleto: hey.
dukeleto alvis: ^^
mistab
alvis: i agree with everything that benabik++ says
alvis: don't worry about html. Github will autoformat POD files into pretty html
alvis dukeleto: I certainly try too as well. :) 18:38
dukeleto: Oh ..., yeah, I did forget that.
dukeleto alvis: very large emails are hard to respond to. If you send multiple smaller emails about specific questions, you may see higher/faster respond rates from me and others :) 18:39
alvis dukeleto: Oh, ok. I didn't think of that. Will do in the future.
dukeleto alvis: do you have specific questions for me? 18:45
alvis dukeleto: one jumps to mind: how to set up for and handle user contributed docs? 18:47
dukeleto: and now that I pause for moment: how to best solicit help from folks? :) 18:50
Coke (user contributed docs) - piggyback on the code contribution process. 18:51
someone does minor docs? pull requests. 18:52
big docs? get them a commit bit.
dalek nxed: a7e3c4e | NotFound++ | t/stringarray.t:
improve style in string array tests
nxed: cc4d2e6 | NotFound++ | t/ (2 files):
move string array tests to t/basic/
nxed: a470ab3 | NotFound++ | t/basic/01intarray.t:
fix style in int array tests
nxed: a7e3c4e | NotFound++ | t/stringarray.t:
improve style in string array tests
nxed: cc4d2e6 | NotFound++ | t/ (2 files):
move string array tests to t/basic/
nxed: a470ab3 | NotFound++ | t/basic/01intarray.t:
fix style in int array tests
alvis Coke: Ah ..., sounds good.
NotFound ETOODALEK?
dukeleto alvis: i try to solicit help from people all the time. I guess you can try to study my emails :) 18:53
alvis: we need help making the parrot community accessible. people think parrot is some esoteric device that they have no hope of learning how to use 18:54
alvis dukeleto: Ha! And it seems effective too. :)
dukeleto alvis: we need to show them how to solve problems with parrot tools and why we are a friendly and awesome community to be a part of 18:55
alvis dukeleto: Agreed, on both points.
dukeleto alvis: i do my best ;)
NotFound dukeleto: most people think parrot is a hands-free device for cars -> www.parrot.com/ ;) 18:57
alvis I think I'll try to organize a presentation at the local university. 18:58
Maybe I'll get some shiny, new CS undergrads involved. 18:59
18:59 zby_home joined 19:07 mj41 joined
dalek nxed: 86a56a8 | NotFound++ | winxedst1.winxed:
refactor and fix compile time evaluation of builtin substr
19:15
nxed: 86a56a8 | NotFound++ | winxedst1.winxed:
refactor and fix compile time evaluation of builtin substr
cotto #ps in 12 19:18
dalek kudo/nom: 0f582d8 | jnthn++ | src/core/metaops.pm:
Couple of small optimizations to meat-ops.
19:22
kudo/nom: 0f582d8 | jnthn++ | src/core/metaops.pm:
Couple of small optimizations to meat-ops.
19:23
nxed: 815aebf | NotFound++ | winxedst1.winxed:
refactor and fix compile time evaluation of builtin ord
19:27
nxed: 815aebf | NotFound++ | winxedst1.winxed:
refactor and fix compile time evaluation of builtin ord
NotFound dalek is reporting two times all winxed commits
tadzik not only winxed commits, it seems 19:29
Util #ps time 19:31
NotFound Ah, yes, the last in rakudo/nom is also repeated. But the previous weren't.
whiteknight ...is anybody in #ps? 19:33
cotto lost track of time 19:34
dalek nxed: efdfc76 | NotFound++ | winxedst1.winxed:
generate proper errors on exceptions thrown from builtin compile time evaluation
19:45
nxed: efdfc76 | NotFound++ | winxedst1.winxed:
generate proper errors on exceptions thrown from builtin compile time evaluation
benabik dalek: stop repeating yourself
Coke Perhaps winxed was added to the tracker 2x? 19:49
NotFound Coke: it was not repeating a few hours ago. 19:51
cotto alvis: do you have a blog?
benabik rakudo is also repeating. 19:57
NotFound src/pmc/default.pmc:1067 -> Nominated for the "most blatant lie of the year in code comments" awards. 19:59
benabik ~.~
cotto NotFound: that's precious. 20:01
NotFound Two sentences, one about the action, one about its rationale, and both wrong. 20:02
In just one line.
20:04 lucian joined 20:18 mj41 joined
alvis cotto: No, but I'll start one. (As a rule, I'm not much of a fan of web presence. Just a personal thing.) 20:33
dalek kudo/nom: 9fc3eb2 | jnthn++ | src/core/IO.pm:
A couple of IO performance improvements. .say for @some_list_of_strings now runs in under half the time, and we shave a little bit off the spectest runtime too.
kudo/nom: 9fc3eb2 | jnthn++ | src/core/IO.pm:
A couple of IO performance improvements. .say for @some_list_of_strings now runs in under half the time, and we shave a little bit off the spectest runtime too.
20:42 schmooster joined 20:47 donaldh joined
cotto alvis: np. It's your prerogative. 21:07
if you want, it should be easy to post on the parrot.org blog 21:08
21:08 RobertLJ joined 21:12 perlite joined
alvis cotto: Sounds good. I'll take a look. 21:12
21:13 pbaker joined
cotto alvis: should I create a user for you? 21:14
dalek kudo/nom: f71cff1 | jnthn++ | src/core/GatherIter.pm:
Avoid a more expensive ! in GatherIter; remove some Q:PIR.
21:15
kudo/nom: cb63745 | jnthn++ | src/core/metaops.pm:
When crossing two lists, we don't need to shove the op through METAOP_REDUCE; it's a binary op already. Just use it.
kudo/nom: f71cff1 | jnthn++ | src/core/GatherIter.pm:
Avoid a more expensive ! in GatherIter; remove some Q:PIR.
kudo/nom: cb63745 | jnthn++ | src/core/metaops.pm:
When crossing two lists, we don't need to shove the op through METAOP_REDUCE; it's a binary op already. Just use it.
cotto alvis: if so, give me your preferred username
alvis cotto: Sorry to be so dumb, but ... user? for? 21:16
cotto alvis: for parrot.org
it's separate from trac
alvis cotto: You must not be talking about an user account on parrot.org, but something else? 21:17
cotto alvis: I'm talking about an account on parrot.org
alvis cotto: No, I have one already set up. It's ayardley, btw. 21:18
dalek nxed: bedf0dc | NotFound++ | winxedst1.winxed:
fix compile time evaluation of builtins chr and escape
nxed: bedf0dc | NotFound++ | winxedst1.winxed:
fix compile time evaluation of builtins chr and escape
cotto alvis: ok. now you have permission to blog. We don't set it up by default because there's a lot of potential for spam. 21:19
dalek nxed: 9e712e3 | NotFound++ | winxedst1.winxed:
fix indentation
nxed: 9e712e3 | NotFound++ | winxedst1.winxed:
fix indentation
alvis cotto: ahh, ok. thank you.
cotto alvis: can you write a quick dummy blog post to make sure it's set up correctly? 21:21
dukeleto cotto: i got a jenkins instance up and a parrot test suite running 21:23
cotto: jenkins is pretty slick
cotto dukeleto: hawt 21:24
dukeleto cotto: the only issue is that i enabled lots of plugins and it ran out of memory on my linode
cotto dukeleto: hilarious
dukeleto cotto: but i will disable unecessary plugins and it will probably be ok there
cotto: i am thinking we should run it on supercell
cotto dukeleto: I'm thinking that's a really good idea, provided it's reliable enough for us to depend on it.
Fiddly CI won't do us any favors. 21:25
dukeleto cotto: no, it won't
dalek website: ayardley++ | Parrot for Dummies (which means me! :-) 21:27
website: www.parrot.org/content/parrot-dummi...h-means-me
alvis cotto: done & it's working. thanks.
cotto alvis: great. It's lta to write a blog post, only to have some dumb technical problem keep you from posting (or eat your post). 21:28
alvis cotto: yeah, it would - come to think 'bout it. :) 21:32
21:36 plobsing_ joined 23:11 bubaflub joined
dalek rrot: 7fcdbb3 | jkeenan++ | src/scheduler.c:
[codingstd] No trailing whitespace.
23:16
rrot: 7fcdbb3 | jkeenan++ | src/scheduler.c:
[codingstd] No trailing whitespace.
23:19 kid51 joined 23:22 rfw joined 23:23 benabik joined
cotto nerds-central.blogspot.com/2011/11/...ctors.html 23:27
23:36 jsut joined
dalek rrot: 9e91735 | jkeenan++ | / (11 files):
Merge branch 'jkeenan/reposition_archive_tarball'
23:43
rrot: 9e91735 | jkeenan++ | / (11 files):
Merge branch 'jkeenan/reposition_archive_tarball'