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.
whiteknight What we could do is add functionality to distutils to output makefiles on the fly from the metadata definitions 00:00
and then pipe the output to make -j
that's probably not "easy" either 00:02
I could write such an extension up as part of Rosella, but then that creates a bootstrapping problem for the Rosella build itself 00:03
the best way to parallelize the Rosella build is this: Type "winxed setup.winxed build" and then get up and go grab a drink
NotFound_b Generating a Makefile from the winxed -> pir -> pbc setup data will not be hard 00:04
But with custom steps, not so easy. 00:05
dalek rrot-libgit2: c14454e | dukeleto++ | / (5 files):
Give Git2.Index a proper home and list all the current subsystems in setup.winxed
00:07
NotFound_b dukeleto: now it works for me, except for the little problem of not having libgit installed. 00:10
dukeleto NotFound_b: really
NotFound_b: ?
NotFound_b: winxed setup.winxed test works for you?
NotFound_b: it fails for me, on libgit2 0.15 i think
NotFound_b dukeleto: FSV of works. If builds and run, but test programs fails because of Undef NCI 00:12
00:16 particle1 joined
NotFound_b No binary and using a python buildsystem? I'm sorry, but I'm not able to test that thing. 00:16
00:22 alin joined
dukeleto NotFound_b: that is the bug i am talking about 00:29
NotFound_b: libgit2? the build system is cmake
NotFound_b dukeleto: "libgit2 uses waf as its buildsystem, and hence requires Python 2.4 or better to configure the build. " 00:30
dukeleto: what is the bug, then? Not locating the library? 00:31
dukeleto NotFound_b: oy, i forgot 00:50
NotFound_b: i just installed it with aptitude
NotFound_b: what OS are you on?
NotFound_b dukeleto: ubuntu
dukeleto NotFound_b: sudo apt-get install cmake 00:51
NotFound_b: that should get you just about everything. I have had the deps for a long time, so that is from memory
NotFound_b: yetanother make derivative. Sigh. At least it is shiny. 00:52
00:56 aloha joined
dukeleto i just added parrot foundation to the GCI system 00:58
we are listed on the public list now
our wiki page looks nicer than Debians: wiki.debian.org/GoogleCodeIn2011/Applying 01:03
github++
particle: there? 01:21
01:55 kid51 joined
dalek nxed: 91eb91c | NotFound++ | winxedst1.winxed:
experimental: use a few algorithms to simpplify some operations
01:56
02:01 Yuki`N joined
Yuki`N sup cotto 02:02
And dukeleto too. 02:07
cotto hi Yuki`N 02:09
wb
Yuki`N It brings back memories.
Most likely, I'm going to be working casual-mode on GCI this year. 02:10
I take it dukeleto is not around, as usual. :P 02:13
cotto he was around earlier today 02:21
Yuki`N Ah. 02:22
02:23 preflex_ joined
Yuki`N I noticed his hostmask >cornell.edu because, coincidentally, I happen to be visiting Cornell this weekend. 02:23
02:53 Yuki`N joined
kid51 Yuki`N: What is "casual-mode GCI"? 02:57
Yuki`N I'm basically not going to try making top anything. 02:59
It was a nice experience, but too much stress.
kid51 Relaxing and going with the flow in your old age, eh?
Yuki`N Yeah.
Probably going to helping parrot out a bit. :P 03:00
Get my 15 tasks worth
Probably more.
kid51 IIRC, you live in New Jersey -- correct?
Yuki`N yeah. 03:01
Going up to Cornell this weekend.
Going to see if I can meet dukeleto.
kid51 We have a contributor, soh_cah_toa, who participated in GSOC this past summer and who has been a strong contributor. He also lives in New Jersey ... Paterson or northwest area, I believe.
Yuki`N I'm central Jersey. Paterson's about an hour away. 03:02
From his handle I assume he's a bit of a geek. :P
kid51 dukeleto usually works remote from Portland OR. But he's affiliated with a genomics program at Cornell. I visited him there one day back in March when he was "working in the office." 03:03
Yuki`N Ah. 03:04
kid51 If you're in central Jersey, then you're not far from Whiteknight, who lives just north of Philadelphia.
Yuki`N Well that's a shame, then.
Ah.
I'm about an hour and a half away from philly. :P
03:05 jsut_ joined 03:09 benabik joined
cotto seen whiteknight 03:13
aloha whiteknight was last seen in #parrot 3 hours 10 mins ago saying "the best way to parallelize the Rosella build is this: Type "winxed setup.winxed build" and then get up and go grab a drink".
Yuki`N oh 03:16
the humor in this channel was unparalleled. 03:17
plobsing_ Yuki`N: yeah, that's the norm 03:36
cotto lol & lol 03:37
dukeleto ~~ 03:44
Yuki`N: hola
Yuki`N So I hear you're not actually at Cornell. 03:46
dukeleto Yuki`N: i telecommute to Cornell from Portland, Oregon 03:48
Yuki`N: i live in the portland meatspace but compute in the ithaca meatspace :)
Yuki`N: i remember you from last year. how goes it? 03:49
Yuki`N Not bad.
dukeleto Yuki`N: can you remind me what spoken/programming languages you use and what you are interested in hacking on? 03:53
Yuki`N um 04:08
English
and I'm still available to hack on crypto, I guess, since we discussed that last.
dukeleto Yuki`N: did you hack on sha256 stuff last year? 04:11
Yuki`N: have you heard of NaCL ? 04:12
Yuki`N: nacl.cace-project.eu/
Yuki`N No, I haven't.
And yes I did the SHA stuff.
dukeleto Yuki`N: it would be *very* interesting to get bindings to that from Parrot, so any language on parrot could interface with NaCL
Yuki`N: NaCL is the chemical symbols for "Salt" and is a basic building block crypto library, mean to replace something like GPG/PGP 04:13
Yuki`N: it uses Elliptic Curves instead of relying on the complexity of factoring primes 04:14
Yuki`N: just an idea, but something i thought you might like
Yuki`N Well elliptic curve crypto, yes.
dukeleto Yuki`N: i have a template for you, of what a project that binds to an external C library looks like. Basically, you would need to take that template for library X and make it work for NaCL 04:15
Yuki`N But wouldn't that also introduce that dependency, or am I not thinking correctly.
dukeleto Yuki`N: this would be something that is a library that people could use with parrot. It would not be part of parrot core 04:16
Yuki`N ah
dukeleto Yuki`N: it would be an add-on. A lot of things like crypto and other fancy things are more appropriate as libraries
Yuki`N: but they could possibly be bundled with parrot
Yuki`N: there is plenty to work on inside parrot core, if that interests you more 04:17
Yuki`N A bit of both might be nice, actually.
dukeleto Yuki`N: most of our crypt libraries other than the SHA's have become libraries/modules developed outside of parrot.git
Yuki`N: this is an example skeleton of a repo that binds Parrot to an external C library: github.com/letolabs/parrot-libgit2 04:18
Yuki`N: it uses the language Winxed, which is a lot more friendly than PIR
Yuki`N Isn't that the project ummmm 04:19
someone was working on last year.
dukeleto Yuki`N: that project is to connect to libgit2
Yuki`N: that needs help as well, if you are into git stuff. parrot-libgit2 is actually modeled after github.com/bubaflub/parrot-gmp
Yuki`N: that is the original example
Yuki`N: if you look, both repos are very similar, they are just geared towards the API of the different libraries they bind to 04:20
Yuki`N: gmp is very big, libgit2 is much smaller. But still, parrot-libgit2 is not nearly done
Yuki`N: NaCL is actually a small library 04:21
Yuki`N interesting.
dukeleto Yuki`N: parrot-nacl should be a nice small, useful library. It is kind of like a building block for building crypto systems
Yuki`N: it is written by djb, (Daniel J Bernstein), who is a famous person in the mathematics/crypto/hash function circles 04:22
Yuki`N: one of his algorithms was in the final running for the SHA3 standard, but was not chosen as the final standard.
Yuki`N: if you use the template of parrot-gmp/parrot-libgit2, you can writing a binding from Parrot to a C library without writing any C 04:25
Yuki`N: you would be writing code in Winxed, or PIR if you really wanted to, but that is mostly considered a language target for code generation
Yuki`N oh 04:26
dukeleto Yuki`N: you can also use NQP (Not Quite Perl 6) if you would like a more perl-ish interface
Yuki`N: both winxed and nqp are added into parrot core, but they are developed outside of core
Yuki`N: they are "snapshotted" in
04:27 arnsholt joined
Yuki`N You should use git submodules. 04:27
dukeleto Yuki`N: yes.
Yuki`N: the hard thing is teaching everybody how to use git submodules and updating all the relevant docs. But yes, I agree.
Yuki`N: and git got a lot more friendly to submodules lately, so i think it is more reasonable now than a year ago 04:28
Yuki`N: if you are into submodules, we have a few places where we need help converting to use them and documenting how to use them 04:29
Yuki`N: basically, we are still in the task creation stage
Yuki`N: you don't have to choose anything I am saying, I am just brainstorming with you :)
Yuki`N I can do the submodule conversion 04:30
dukeleto Yuki`N: feel free to add any ideas mentioned in here or others that you have to this wiki page: github.com/parrot/parrot/wiki/Goog...Task-Ideas
Yuki`N but someone else can do the documentation
=3=
dukeleto Yuki`N: i am not sure if you have editing rights. If not, let me know.
Yuki`N: ah, you are allergic to documentation :)
Yuki`N I have edit rights on the trac but probably not the wiki
dukeleto Yuki`N: I find Markdown very pleasant, but I have written POD most of my life.
Yuki`N xD 04:31
dukeleto Yuki`N: trac is going away. We are converting our wiki and ticket system to Github.
Yuki`N: somebody is working on a script that will export all our current trac tickets to github issues
Yuki`N: also, feel free to ask questions on parrot-dev and/or parrot-users 04:32
Yuki`N: parrot-dev is for questions for parrot.git stuff, parrot-users is for HLLs/libraries/etc.
Tene parrot-clubhouse is for members of the secret invitation-only parrot cabal 04:33
dukeleto Tene: do we have one of those? 04:34
Yuki`N: i added the nacl idea to the task page
Yuki`N Alright 04:35
Back around the end of the first GCI I was thinking it would be cool if I could mentor for parrot, lol.
Tene dukeleto: uhhhhh... not as far as I know. ;)
dukeleto Yuki`N: look at all the repos at github.com/parrot . feel free to add task ideas for any of them
Yuki`N: parrot-embed needs a lot of love 04:36
05:07 alin joined
dalek p-parrot-create: 47d485b | dukeleto++ | README.md:
Add basic building/testing instructions to the readme
05:22
p-parrot-create: 6a14b77 | dukeleto++ | .gitignore:
beef up our gitignore
p-parrot-create: 13a1dbc | dukeleto++ | public/ (3 files):
Use our parrot logo to make the interface less bland
05:32
p-parrot-create: 5cc03ea | dukeleto++ | views/index.tt:
fill out the data options for build systems and test suites
05:40
p-parrot-create: f3de55a | dukeleto++ | views/index.tt:
Identify some DOM structures that can be manipulated with javascript
05:55
p-parrot-create: 70b1c46 | dukeleto++ | views/index.tt:
Finish ui design with some checkboxes for options in HLL language creation
05:56 dafrito joined
dalek p-parrot-create: 9a7e28e | dukeleto++ | views/index.tt:
Add a submit button and make the 80% case (create a new HLL) shown by default
06:02
06:16 aloha joined
dalek p/bigint: 8534217 | moritz++ | src/ (2 files):
add nqp::radix_I alias, fix op name
06:30
06:33 alin joined 06:40 rfw joined
dalek p-parrot-create: 6ff3865 | dukeleto++ | README.md:
Add more to the readme
06:53
p-parrot-create: 530817c | dukeleto++ | / (3 files):
Add a submit URL skeleton with tests
p-parrot-create: 21ce45a | dukeleto++ | / (3 files):
Make the submit action show the params it was called with
07:16
p-parrot-create: 315e3de | dukeleto++ | bin/new_parrot_language.pl:
make new_parrot_language.pl executable
07:17
p-parrot-create: ce31954 | dukeleto++ | bin/new_parrot_language.pl:
Update POD in new_parrot_language.pl
p-parrot-create: 2643402 | dukeleto++ | / (3 files):
Actually run new_parrot_language.pl and start creating the zip file
07:39
08:24 mj41 joined 08:29 he joined
dalek rrot/documentation_revisions: f16273e | (Alvis Yardley)++ | docs/ (2 files):
Added new 'README_revisions.pod' and 'TODO_revisions'
08:57
09:09 alin joined 09:18 lucian joined 09:22 lucian joined
dalek website: ayardley++ | Parrot Documentation Revision Effort (Blog un) 09:26
website: www.parrot.org/content/parrot-docum...rt-blog-un
p/bigint: 98cf1db | moritz++ | src/ops/nqp_bigint.ops:
correct docs for nqp_bigint_radix
09:49
kudo/bigint: ffa2fe7 | moritz++ | src/core/Rat.pm:
[Rat] avoid going through Num for .Int
09:52
kudo/bigint: 17b3fc8 | moritz++ | / (2 files):
use nqp::radix_I in Str.Numeric

Fixes S32-str/numeric.t again
11:18 ambs joined 12:09 bluescreen joined 12:11 Psyche^ joined 12:37 mj41 joined 12:38 jsut joined 12:54 benabik joined 13:14 dod joined 13:33 whiteknight joined
whiteknight good morning, #parrot 13:33
benabik o/ whiteknight
whiteknight msg nine: here's an interesting article that seems to support the hybrid design for threading: mechanical-sympathy.blogspot.com/20...chive.html
aloha OK. I'll deliver the message. 13:34
whiteknight good morning, benabik
dalek p/bigint: cf9144d | moritz++ | src/ops/nqp_bigint.ops:
fix spelling of base_core, though it does not seem to make a difference
14:18
p/bigint: caacd56 | moritz++ | / (3 files):
First shot at a "smart" nqp::pow_I opcode

The idea is to return either a bigint or a float (for the +-Inf case, and when the exponent is negative).
The float part isn't tested yet, so likely wrong. The part that returns bigints has sparse test coverage, so it might be not too far off.
14:24 ambs joined
dalek nxed: d8d034b | NotFound++ | t/advanced/10closure.t:
more tests for lexicals
14:57
nxed: c232ac8 | NotFound++ | winxedst1.winxed:
minor refactors and nano-optimizations
15:02
15:03 ambs joined
dukeleto ~~ 15:45
dalek nxed: eef6a0e | NotFound++ | winxedst1.winxed:
avoid overriding init vtable in VarContainer
15:55
mls hi guys! 16:12
whiteknight hello mls
moritz hi mls
mls: if you happen to want to work on some lexicals or maybe codegen stuff in rakudo: rt.perl.org/rt3/Ticket/Display.html?id=103332 16:13
mls ok, I'll have a look 16:14
any comments on the mls/kill_events_in_ehqueue branch? 16:15
16:16 davidfetter joined 16:20 pjcj joined
whiteknight mls: I haven't heard anything negative yet. I think we can start talking about a merge today 16:23
mls \\o/ 16:24
moritz: seems like a capture_lex is missing
16:31 alin joined 16:33 alin joined 17:30 ambs joined 17:31 bluescreen joined
dukeleto just asked for a Jenkins instance on the gcc compile farm for parrot 17:32
64 cores? I have a test suite for that.
gna.org/support/index.php?2838 <-- is this link viewable for others? 17:33
cotto yup 17:35
they also need to fix their ssl cert 17:36
NotFound dukeleto: libgit2 issue #8: you forget 'new' 17:38
The error message is strange, I'll look at that. 17:41
mls I just found out that the auto-close code int Sub's invoke() doesn't work well with cloned subs
Is that known? Should that be fixed?
dukeleto NotFound: i forgot a new??? 17:42
mls: explain what you mean with a code snippet :)
NotFound dukeleto: v = 'StructView' ---> v = new 'StructView'
whiteknight mls: it is likely unknown and should be fixed. I'm not sure I've ever seen a problem there 17:43
doesn't the sub auto-closer use a clone normally?
dukeleto NotFound: that fixes it! 17:44
whiteknight Sub needs a serious refactor, and the time is getting much closer
mls not a sub clone. it uses a dummy context if it doesn't find the correct one
s/uses/creates/
whiteknight hmmm
NotFound dukeleto: sorry for the completely misleading diagnostic.
whiteknight that seems wrong
mls: do you have a short code snippet that demonstrates bad behavior?
mls I'm just creating them (there are two problems) 17:45
dalek rrot-libgit2: b918081 | dukeleto++ | src/Git2/Index.winxed:
Add in a missing new, NotFound++, which fixes #8
17:46
dukeleto woooooot
parrot-libgit2 has a small, but passing test suite which contains both PIR and Winxed bindings 17:47
whiteknight Sub and auto-closing lexical scopes are both so fundamental, it's always amazing to me when serious bugs are found in those places
dukeleto++
dukeleto NotFound: it made life fun :)
mls first problem: gist.github.com/1355560 17:50
it prints "hello" if you comment out the clone()
whiteknight what does it print with the clone()? 17:51
mls nothing 17:52
(I guess find_lex returns a STRINGNULL)
whiteknight I bet that foo is tied to the original bar because of :outer("bar") 17:56
that's a PMC reference
so $P0 points to something new, but foo->outer_sub points to the original bar
mls yep. exactly right.
whiteknight that still doesn't explain why foo doesn't auto-close over current context 17:57
mls it creates that dummy context 17:58
cause the original "bar" is never called
18:02 bluescreen joined
mls problem2: gist.github.com/1355595 18:03
that's a nice one, the rakudo guys have the same problem ;) 18:04
it should print two times "hello" and then two times "world" 18:05
dukeleto git.io/parrot
less to type!
18:09 bluescreen joined
mls problem2 happens because storing the "last time the sub was called" doesn't work well with recursion 18:10
dukeleto as simple as curl -i git.io -F "url=github.com/parrot/parrot" -F "code=parrot"
whiteknight mls: who stores the last time the sub was called? 18:11
mls That's sub->ctx, it gets set if SUB_FLAG_IS_OUTER is set 18:13
whiteknight bleh
mls yes ;)
The problem is that going through the caller chain to find the correct context is too expensive 18:15
18:15 fperrad joined
dukeleto wow. When you press "1" in top on gcc110 it says "terminal is not big enough" 18:19
18:20 contingencyplan joined
whiteknight jams another needle into his Sub voodoo-doll 18:21
mls I'll try to come up with a fix tomorrow, for now I'm heading home 18:23
whiteknight mls: okay. I'm planning to refactor that whole system in the near future. Let me know if you have any particular insight 18:24
mls ok, maybe I dream up a good solution ;) 18:25
afk -> home
whiteknight awesome. mls++
cotto dukeleto++ 18:30
sounds like a great bug to file
dukeleto dealing with java backtraces on gcc110 in attempts to install jenkins ... 18:40
dukeleto holds on tight
the sweet, sweet irony
18:53 pjcj joined
whiteknight the most recent post on chromatic's blog is very interesting 19:09
cotto and only 20 minutes old 19:12
19:12 ambs joined
whiteknight you gotta get in there quick, like a ninja. beat the rush 19:15
19:20 jsut_ joined 19:30 ambs_ joined
NotFound Tricky question: a pir override for vtable invoke can be a multi? 19:48
19:48 dafrito joined
whiteknight Notfound: ... I don't know. You might want to test it 19:57
NotFound Just using :vtable together with :multi doesn't seem to work, but defininig a :mult out of the class and adding it via the Class.add_vtable_override method seems to work. 20:06
whiteknight yeah, I would imagine that the packfile loader is not smart enough to do :vtable :multi 20:10
...which is one of the reasons why we need to kill the packfile loader
one of many reasons
whiteknight really needs more free time in the schedule 20:14
on the bright side, we're scheduled to settle on a house at the end of this month, then I can move out from my wife's parent's house and have more free time
cotto whiteknight: is it a sure thing this time? 20:17
whiteknight cotto: no, and that makes me as nervous as ever
cotto you gotta keep on trying, I guess
whiteknight cotto: This is the 9th house we've bid on in 3 years 20:18
so yeah, perseverence!
perseverance
The owner this time is a professional house flipper. He sells lots of houses, isn't under water with the mortgage, has worked with our realtor before, and has a reputation for being reasonable and honest 20:19
so, that's the best I've dealt with so far
dalek kudo/bigint: eab4d7a | moritz++ | src/core/Str.pm:
remove fossil noticed by japhb++
cotto sounds like just the guy you need to be dealing with
whiteknight srsly
my wife, if it wasn't for wine coolers and daycare, might be pulling out her own hair and eating it at this point, with all the stress and disappointment 20:20
living with her mother has turned into something of a sanity challenge
cotto I don't normally advocate alcohol, but it sounds like the best option in your case.
whiteknight what's funny is that we have a pretty well-stocked liquor cabinet, and prior to moving in with the in-laws we mostly used it for cooking 20:21
I can make a bananas foster like a mamajama 20:22
cotto whiteknight: do you know what I need to do to get paid back for the gsoc summit flight? 20:23
whiteknight cotto: no idea. I can dig through the email pit tonight
dukeleto may know more than I do, he's gone before
cotto he said to talk to you 20:24
I'd be much obliged.
whiteknight heh, hot potato. I'll see what I can do
worst case scenario, we'll send out an email to carol or whoever
20:47 ambs_ joined 20:53 benabik joined
dukeleto cotto: i am still in process of trying to do the paperwork for gsoc. filling out a w9 form 20:56
cotto: you know, those emails you have been getting? ;)
cotto dukeleto: yup 20:59
for which I'm appreciative
21:17 bluescreen_ joined
dalek nxed: 41a890e | NotFound++ | winxedst1.winxed:
method addfunction in NamespaceBase to decrease direct usages of the functions attribute
21:21
dukeleto cotto: ping 22:00
cotto dukeleto: pong 22:02
dalek nxed: d4567e4 | NotFound++ | winxedst1.winxed:
minor cleaning in NamespaceBase
22:09
22:39 donaldh joined 22:57 mj41 joined, whiteknight joined
whiteknight good evening, #parrot 23:02
23:14 alvis joined 23:20 donaldh joined
cotto 'evening, whiteknight 23:24