Camelia, the Perl 6 bug

IRC log for #parrot, 2011-03-15

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:03 dalek nqp/ctmo: b33dc05 | moritz++ | / (3 files):
00:03 dalek nqp/ctmo: first shot at removing P6Regex.pir. Diws with "Can only use get_how on a RakudoObject"
00:03 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/b33dc053e9
00:03 dalek nqp/ctmo: aa87ead | jonathan++ | src/Regex/P6Regex/Grammar.pm:
00:03 dalek nqp/ctmo: Need to still use the HLL library; was missed when removing the P6Regex PIR file.
00:03 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/aa87eadde6
00:03 dalek nqp/ctmo: 1eb4e1b | jonathan++ | build/Makefile.in:
00:03 dalek nqp/ctmo: Another round of Makefile changes to work towards getting things working again after removing P6Regex.pir.
00:03 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/1eb4e1b4f3
00:03 dalek nqp/ctmo: 9ace6d6 | jonathan++ | src/Regex/P6Regex/ (2 files):
00:03 dalek nqp/ctmo: Need to use block form of packages when there's multiple in a file.
00:03 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/9ace6d652d
00:03 dalek nqp/ctmo: d014f94 | jonathan++ | src/Regex/P6Regex/Compiler.pm:
00:03 dalek nqp/ctmo: Work around a MAIN bug.
00:03 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/d014f94f99
00:03 dalek nqp/ctmo: 4460cea | jonathan++ | src/Regex/P6Regex/Compiler.pm:
00:03 dalek nqp/ctmo: Move regex compiler init to the right place; now all tests pass that pass in the ctmo branch.
00:03 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/4460cea99f
00:03 dalek nqp/ctmo: 9cdb417 | jonathan++ | src/NQP/Actions.pm:
00:03 dalek nqp/ctmo: Fix MAIN bug.
00:03 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/9cdb417836
00:03 dalek nqp/ctmo: e3036b0 | jonathan++ | src/stage0/ (6 files):
00:03 dalek nqp/ctmo: Update bootstrap with MAIN fix and P6Regex.pir gone.
00:03 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/e3036b09d2
00:03 dalek nqp/ctmo: 749d34c | jonathan++ | src/Regex/P6Regex/Compiler.pm:
00:03 dalek nqp/ctmo: Toss workaround for MAIN bug.
00:03 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/749d34cae2
00:13 NotFound_b left #parrot
00:18 cotto ~~
00:24 fperrad left #parrot
00:28 cosimo joined #parrot
01:07 woosley joined #parrot
01:35 whiteknight left #parrot
02:06 dukeleto ~~
02:18 kid51 left #parrot
03:04 ShaneC left #parrot
03:11 GodFather joined #parrot
03:15 ShaneC joined #parrot
03:22 jsut joined #parrot
03:27 jsut_ left #parrot
04:14 dukeleto sure is quiet in here
04:15 * KaeseEs chirps
04:16 * dukeleto feels better
04:16 Khisanth left #parrot
04:18 KaeseEs i know someone was talking about the GMP bindings gsoc project earlier, has anyone mentioned the GSL bindings project?
04:18 dukeleto KaeseEs: which GSL binding project?
04:18 dukeleto KaeseEs: i think i proposed both of them
04:18 dukeleto KaeseEs: are you interested?
04:18 dukeleto KaeseEs: are you eligible to be a gsoc student?
04:19 KaeseEs i'm pretty sure i'm eligible! i'm a junior this year, will be asenior next year
04:20 KaeseEs the one that's on the wiki is for bindings for " Special Function, Random Distributions and Cumulative Distribution Functions (CDFs), which have the simplest function signatures"
04:20 KaeseEs and yeah i'm interested :)
04:21 dukeleto KaeseEs: awesome!
04:21 dukeleto KaeseEs: have you used GSL before?
04:21 dukeleto KaeseEs: i wrote Math::GSL on CPAN and it was a gsoc project 2 years ago
04:22 KaeseEs no, mostly i was interested because we did random distributions in my algorithms class about a month ago
04:22 KaeseEs i saw you did math::gsl, was actually perusing the source on cpan to see how it was done :3
04:23 dukeleto KaeseEs: beware, it uses SWIG
04:23 dukeleto KaeseEs: black magic is under the hood
04:23 dukeleto KaeseEs: take a look at src/nci
04:23 dukeleto KaeseEs: most likely, you will need to add some function signatures to src/nci/*.nci, but you might be able to get away without it for the simplest GSL functions
04:23 KaeseEs swig autogenerates headers and does marshalling, yes?
04:24 dukeleto KaeseEs: it reads C header files and autogenerates XS and Perl glue to call C functions and marshall data
04:24 KaeseEs ah-ha.
04:24 dukeleto KaeseEs: somehow, it works most of the time
04:25 dukeleto KaeseEs: lots of people seem to have problems with compiling Math::GSL on windows-ish platforms, tho
04:25 dukeleto KaeseEs: but that is mostly because their environment is broke
04:25 Khisanth joined #parrot
04:26 KaeseEs i've got debian in a vm on my laptop, so i think i should be alright build-wise
04:27 * KaeseEs fires up vmware and another instance of puttytray
04:27 dukeleto KaeseEs: the Math::GSL test suite will be useful to you, you can basically steal it
04:27 dukeleto KaeseEs: i stole most of it from the actual GSL test suite :)
04:27 KaeseEs is parrot cool with perl tests or should i rewrite in pir or something?
04:28 dukeleto KaeseEs: i would say that you should start hacking now. do you have a fork of parrot.git on github yet?
04:28 KaeseEs yes
04:28 dukeleto KaeseEs: your tests would most likely need to be in PIR
04:28 KaeseEs i'm on break this week so i have some tuits to throw at it
04:28 dukeleto KaeseEs: but you could write a quick script to convert the Math::GSL perl tests into parrot tests
04:28 dukeleto KaeseEs: good timing!
04:29 dukeleto KaeseEs: i would say, as a first step, try to get access to a single GSL function via PIR, call it and get the return value
04:29 dukeleto KaeseEs: you will need to use 'dlopen', 'dlfunc' and friends
04:29 dukeleto KaeseEs: read up on those
04:29 dukeleto KaeseEs: if you have a start on the project before you send your gsoc proposal in, that looks *really* good
04:29 dukeleto KaeseEs: also, it will give you a better handle on how to estimate your timelines and deliverables
04:30 dukeleto KaeseEs: the first steps are the hardest, everything gets easier after that
04:30 KaeseEs ok. i'll look at the dlopen manpages maitenant
04:30 dukeleto KaeseEs: examples/nci will help you a bunch
04:30 KaeseEs heh, my copy of the repo was 89 commits behind
04:31 dukeleto KaeseEs: you should basically copy the simplest example in examples/nci and tweak it to do what you want
04:31 dukeleto KaeseEs: probably examples/nci/ls.pir
04:32 * KaeseEs googles for a vim syntax file for PIR to make his eyes a little happier
04:32 plobsing KaeseEs: it is in the repo
04:33 KaeseEs oh neato
04:33 plobsing editor/*.vim
04:33 dukeleto KaeseEs: yes, those will make you much happier
04:33 dukeleto KaeseEs: you should keep your repo up-to-date with "git pull --rebase", commit to a branch and don't commit to master
04:33 plobsing also 'make tags-vi' if you haven't already
04:33 plobsing <3 tags
04:35 dukeleto plobsing: i didn't know about that make target!
04:35 dukeleto plobsing: that should be documented in our new hacking_tips.pod
04:35 dukeleto KaeseEs: https://github.com/parrot/parrot/blob​/master/docs/project/git_workflow.pod
04:35 dukeleto KaeseEs: any question you have about working with parrot.git is probably answered there
04:36 dukeleto KaeseEs: if not, ask me here or send an email to parrot-dev
04:36 KaeseEs will do!
04:36 dukeleto KaeseEs: https://github.com/parrot/parrot/blob/m​aster/docs/project/git_terminology.pod will also be helpful
04:36 dukeleto KaeseEs: excited to see someone hacking on GSL stuff for parrot! I've been wanting to do it for a while, but $life keeps getting in the way
04:37 dukeleto KaeseEs: everybody here is friendly, don't hesitate to ask questions here or on parrot-dev
04:37 dukeleto KaeseEs: you can mention that you are a prospective GSoC student too
04:38 dukeleto KaeseEs: and if it makes you feel better, mention that I told you to :)
04:38 KaeseEs is #parrotsketch just for meetings btw? i saw it mentioned in the mailing list
04:38 dukeleto KaeseEs: yes, every tuesday there is a dev meeting in there
04:38 dukeleto KaeseEs: it is listed on our google calendar on parrot.org
04:39 dukeleto KaeseEs: it is in UTC, so the time changes depending on your timezone+DST (if applicable)
04:39 KaeseEs ah-ha
04:39 dukeleto KaeseEs: but i add sms/email reminders to the google calendar to remind me when it is, and I never have to think about that junk
04:40 dukeleto KaeseEs: you can read the irc logs to get a feel for how they go
04:40 dukeleto KaeseEs: you are of course welcome to attend (everyone is) and be sure to mention you are hacking on gsl bindings
04:40 dukeleto KaeseEs: people will be very happy
04:41 KaeseEs do we have some uptake of parrot within scientific computing already?
04:41 KaeseEs i know a ton of eg. bio people are heavy p5 users, didn't know anyone had looked at 6 or other parrot-hosted languages
04:43 dukeleto KaeseEs: i guess i am the go-to person for scientific computing + parrot
04:43 dukeleto KaeseEs: there is a bioperl6 project
04:43 KaeseEs oh neato
04:43 dukeleto KaeseEs: i know some bio/sci-comp people interested in parrot, but they don't have huge dev resources, so they haven't done much yet
04:43 dukeleto KaeseEs: but they *are* excited
04:43 dukeleto KaeseEs: https://github.com/cjfields/bioperl6
04:44 dukeleto KaeseEs: i work in the bioinformatics world, i currently hack on http://solgenomics.net
04:44 KaeseEs oic!
04:45 dukeleto KaeseEs: and every line of that site is on github: https://github.com/solgenomics
04:45 dukeleto KaeseEs: one of the nice things about being NSF-funded. Every line must me open source, by decree.
04:45 dukeleto s/must me/must be/
04:45 KaeseEs so when the GM foods holocaust happens, i should write an angry letter to J. Leto in between shooting plague zombies, is what you're saying :3
04:46 KaeseEs does NSF specify BSD style or just something OSI approved
04:46 dukeleto KaeseEs: possibly :)
04:46 dukeleto KaeseEs: i am actually not sure, probably osi-approved. All our stuff is artistic license 2.0 (i.e gpl/perl)
04:47 dukeleto KaeseEs: we don't deal with monsanto or those other evil companies
04:47 cotto I'm hoping to eventually turn Parrot to evil and subvert PaFo, but that's still a ways off.
04:47 dukeleto KaeseEs: and mostly we just help facilitate researchers studying public data about plants, we don't sell GMO seeds or any of that evil stuff
04:48 dukeleto cotto: i knew you had alterior motives
04:48 cotto I'm all about open evil.
04:48 cotto ;)
04:48 dukeleto "OSI-approved evil"
04:49 KaeseEs is GM for vitamin/mineral fortification feasible yet or is it stuck in the "like foo but bigger!" rut
04:51 dukeleto KaeseEs: i really don't know, I am just a coder pretending to know about biology
04:51 KaeseEs heh
04:52 dukeleto cotto: you will be happy to hear that I actually met a bio-coder dude at a conf recently that was excited to hear that I hack on parrot
04:52 plobsing OpenEvil is great. That's how I got my Beowulf cluster of atomic supermen.
04:53 dukeleto cotto: i am always taken aback a bit when people actually know stuff about parrot
04:53 dukeleto cotto: guess i should get used to that...
04:53 cotto dukeleto, that's pretty awesome.  It'll be even more awesome when it's commonplace.
04:54 cotto speaking of which, I really want to find out if my oscon talk gets accepted.
04:55 dukeleto cotto: yeah, me too
04:55 dukeleto cotto: also, YAPC::NA
04:55 dukeleto cotto: you should go to YAPC::NA
04:55 dukeleto we should have a parrot hackathon there
04:55 cotto dukeleto, +1
04:56 dukeleto cotto: also, at Open Source Bridge
04:56 dukeleto cotto: and Linux Fest NW
04:56 * dukeleto is all about IRL hackathons
04:57 dukeleto so much gets done in a short period
04:57 cotto +1 for each;
04:58 * dukeleto does some much-needed laundry
05:06 cotto I wish osbridge allowed normal logins.  I have no idea which openid account I used or even which are valid.
05:06 cotto gripe gripe gripe
05:07 cotto eog
05:14 plobsing eog gripe.png
05:18 dukeleto cotto: click on the button. they allow like 50 types of login
05:18 * dukeleto goes back to laundry
05:19 cotto dukeleto, I got it
05:32 contingencyplan left #parrot
05:52 alin joined #parrot
05:52 cotto allison, ping
05:58 theory left #parrot
06:14 mtk left #parrot
06:22 mtk joined #parrot
06:35 cotto talk titles are hard
06:56 cotto yapc::na, os bridge and linuxfestnw talks submitted
07:00 fperrad joined #parrot
07:02 rurban_ joined #parrot
07:04 cotto I love how easy osbridge's site makes it to favorite a proposal.
07:04 rurban left #parrot
07:04 rurban_ is now known as rurban
07:06 cotto pmichaud, ping
07:09 cotto pmichaud, unping
07:12 jsut_ joined #parrot
07:15 eternaleye_ joined #parrot
07:17 jsut left #parrot
07:19 eternaleye left #parrot
07:24 jrt4 joined #parrot
07:25 jrt4 left #parrot
07:32 cognominal left #parrot
07:37 cognominal joined #parrot
07:41 arnsholt joined #parrot
07:46 alin left #parrot
08:12 gerd joined #parrot
08:24 gerd Is quiet, but it is not 09:00 UTC. There are no commit at the moment, so could I start changing the version number?
08:24 moritz sure
08:25 gerd So I will start changing the version number
08:27 Topic for #parrot is now 3.2.0 release IN PROGRESS | http://parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: Get more GSoC ideas on wiki; close tickets; stable 3.2 release; assess status of roadmap goals for 3/15 meeting.
08:28 dalek parrot: ede9cd7 | (Gerd Pokorra)++ | / (12 files):
08:28 dalek parrot: update to version 3.2.0
08:28 dalek parrot: review: https://github.com/parrot/parrot/commit/ede9cd75d0
08:30 gerd I will create the tarball and run the tests.
08:32 lucian joined #parrot
08:35 mj41_nb joined #parrot
08:36 lucian left #parrot
08:37 gerd The tarball fulltest is still running; but I will already tag the release in the meantime
08:38 alin joined #parrot
08:39 gerd release 3.2.0 is tagged
08:40 moritz does that mean the repo is open for commits again?
08:41 gerd The tarball fulltest is still running; but I will also already upload the tarballs
08:41 gerd for me other commit are okay
08:41 Topic for #parrot is now Parrot 3.2.0 released | http://parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: Get more GSoC ideas on wiki; close tickets; stable 3.2 release; assess status of roadmap goals for 3/15 meeting.  
08:42 moritz actually I just wanted to update /topic, not commit :-)
08:51 gerd make fulltest of the tarball passes successful, my tarball upload is very slow, at the moment is is stalled
08:56 gerd I killed the session, know it is uploaded
09:01 gerd 3.2.0 is triggered at the ftp-server, I will start writing the WWW page
09:09 cosimo left #parrot
09:17 woosley left #parrot
09:37 dalek website: gerd++ | Parrot 3.2.0 "Nanday Parakeet" Released!
09:37 dalek website: http://www.parrot.org/news/2011/Parrot-3.2.0
09:53 bacek ~~
09:53 bacek How is running "planet.parrotcode.org"?
09:53 bacek And why it's parrotcode.org not parrot.org?
10:00 GodFather left #parrot
10:03 moritz hysterical rasins. Of course.
10:10 tadzik + A statement convert the '.param' PIR systax -- is there a verb missing?
10:10 tadzik also, a link to Rosella is broken
10:13 lucian joined #parrot
10:15 gerd I will fix the link, thank you
10:18 gerd the link is fixed, what verb should added?
10:22 lucian left #parrot
10:25 gerd tadzik: I do not know how to say it better, do you have a suggestion?
10:29 lucian joined #parrot
10:32 gerd I will take me something to eat, bye!
10:32 gerd left #parrot
10:39 tadzik msg gerd well, the thing is that I don't know what did you want to say :)
10:39 aloha OK. I'll deliver the message.
10:39 tadzik aloha: thanks
10:50 * bacek thinking about teaching aloha good manners :)
10:58 tadzik maybe it just smiles and blushes silently :)
11:00 moritz maybe it should say "I serve my masters." instead of "OK. I'll deliver the message."? :-)
11:08 lucian left #parrot
11:08 lucian joined #parrot
11:10 bacek moritz, hmmm. "I'll delver the message, as you wish, master" looks better :)
11:24 kid51 joined #parrot
11:24 kid51 ~~
11:28 allison cotto: pong
11:31 lucian left #parrot
11:32 lucian joined #parrot
11:50 kid51 left #parrot
11:56 lucian left #parrot
11:57 dukeleto gerd++ # 3.2.0
12:00 lucian joined #parrot
12:30 whiteknight joined #parrot
12:32 Coke I have keys to planet parrotcode.
12:32 whiteknight me too
12:32 Coke (it's run by the perl.org folks. We can probably get it setup to run under planet.parrot.org, but it's JNWI(tm))
12:50 bluescreen joined #parrot
12:55 lucian left #parrot
12:55 plobsing left #parrot
13:11 bluescreen left #parrot
13:17 mtk left #parrot
13:19 bluescreen joined #parrot
13:20 mtk joined #parrot
13:29 bluescreen left #parrot
13:29 dalek Rosella/gh-pages: 4ad0699 | Whiteknight++ | index.html:
13:29 dalek Rosella/gh-pages: Add some color and remove unnecessary page-topper stuff
13:29 dalek Rosella/gh-pages: review: https://github.com/Whiteknig​ht/Rosella/commit/4ad0699657
13:31 mtk left #parrot
13:38 contingencyplan joined #parrot
13:40 bluescreen joined #parrot
13:48 mtk joined #parrot
13:57 woosley joined #parrot
14:02 mtk left #parrot
14:06 mtk joined #parrot
14:06 woosley left #parrot
14:17 dukeleto ~~
14:21 moritz dukeleto: what's the OH in http://twitter.com/dukelet​o/status/47519916013780992 ?
14:31 dukeleto moritz: "overheard"
14:31 dukeleto moritz: http://twitter.com/#!/pdxoh
14:32 bluescreen left #parrot
14:32 dukeleto moritz: any tweet that has OH in it gets retweeted by @pdxOH
14:32 dukeleto moritz: @pdxOH is kind of like a collective dumpster of random things that people overhear
14:33 moritz aka "noise" :-)
14:35 sigue left #parrot
14:41 gerd joined #parrot
14:46 gerd left #parrot
14:48 krunen left #parrot
14:54 krunen joined #parrot
14:55 dalek Rosella/gh-pages: 604289b | Whiteknight++ | index.html:
14:55 dalek Rosella/gh-pages: +information about installing with plumage
14:55 dalek Rosella/gh-pages: review: https://github.com/Whiteknig​ht/Rosella/commit/604289b461
14:55 dalek Rosella: 7bb9390 | Whiteknight++ | s (4 files):
14:55 dalek Rosella: Add in an experimental new contracts library, which is going to allow something like 'design by contract' programming for Parrot.
14:55 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/7bb9390e6f
14:55 dalek Rosella: f28393b | Whiteknight++ | LICENSE:
14:55 dalek Rosella: Merge branch 'master' of github.com:Whiteknight/Rosella
14:55 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/f28393b618
14:59 sigue joined #parrot
15:01 rurban_ joined #parrot
15:02 hudnix joined #parrot
15:04 rurban left #parrot
15:04 rurban_ is now known as rurban
15:09 hercynium joined #parrot
15:12 theory joined #parrot
15:18 * Coke mentions TT #1886 again.
15:19 * Coke builds parrot-3.2.0+ ...
15:22 bluescreen joined #parrot
15:25 cotto allison, is there any reason to keep Parrot's launchpad page?
15:26 allison not as it currently stands, no
15:26 allison it makes more sense to shift it over to the center for Ubuntu packages of parrot
15:28 plobsing joined #parrot
15:28 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#12355) fulltest) at RELEASE_3_2_0 - Ubuntu 10.10 i386 (g++-4.5)
15:28 [hercynium] joined #parrot
15:32 hercynium left #parrot
15:32 [hercynium] is now known as hercynium
15:37 cotto docs.parrot.org is updated
15:38 mikehh bah - that should be Smoke/Smolder #12335
15:42 arnsholt left #parrot
15:57 davidfetter joined #parrot
16:12 bluescreen left #parrot
16:15 sigue left #parrot
16:19 Patterner left #parrot
16:19 Psyche^ joined #parrot
16:19 Psyche^ is now known as Patterner
16:37 Coke msg cotto - the doc link from latest should /always/ point to devel. there's no point in relinking it every time to the latest version explicitly.
16:37 aloha OK. I'll deliver the message.
16:37 Coke rant: /msg vs. msg
16:37 hercynium left #parrot
16:39 arnsholt joined #parrot
16:40 whiteknight Coke: ping
16:42 Coke whiteknight: pong
16:42 whiteknight has partcl-nqp ever worked?
16:42 Coke ... yes.
16:43 Coke parrot keeps breaking me. What can I say.
16:43 whiteknight it is relying on some code pathways, some of which are relatively old, which should not have ever worked for you
16:43 Coke And yet they did.
16:43 whiteknight hence my confusion
16:44 whiteknight I don't think this is a case of "parrot broke it", this shouldn't have ever worked, and now it doesnt
16:44 Coke note that partcl-nqp is just using nqp-rx (and therefore PCT & friends).
16:45 Coke whiteknight: (shouldn't have ever worked) - talk to nqp-rx & PCT, then.
16:45 whiteknight these problems aren't in NQP or PCT
16:45 Coke Where are they?
16:46 Coke What level of the stack? I'm not using anything lower level than PIR, and damn little of that.
16:47 Coke msg cotto - reverse that - while it works either way, it makes more sense to have devel always point to latest and just update latest (and supported if needed.)
16:47 aloha OK. I'll deliver the message.
16:48 whiteknight specifically, the code that's a problem is Parrot_pmc_reuse. Autopromotion from Float->TclString is undefined at best
16:48 whiteknight what worries me the most are the comments "Warning, this should not be called on Object PMCs"
16:48 whiteknight now, we're seeing why
16:49 Coke whiteknight: It's not supposed to be going from Float to tclstring. It's supposed to be going from TclFloat to TclString, like it used to.
16:49 whiteknight well, it isn't
16:49 Coke Right. because parrot broke something regarding the HLL mapping.
16:49 Coke So, rather than give me crap that I'm using some wrong interface...
16:50 whiteknight Where is TclFloat defined
16:50 whiteknight ?
16:50 whiteknight "ack -a TclFloat" in the partcl-nqp repo returns no results
16:50 Coke *sigh*. I may be conflating the 2 versions. Apologies for ranting. Moment.
16:52 Coke yes, there is no TclFloat in partcl-nqp, only partcl. Trying to find the reuse.
16:53 whiteknight the reuse happens automatically inside Float. It's a code path which has obviously never been well tested
16:53 sigue joined #parrot
16:53 whiteknight there's no obvious indication that you shouldn't have been using it.
16:53 whiteknight I'm just surprised that you haven't seen failures in this area until now
16:54 Coke to be fair, this is not a recent bug.
16:55 Coke and that would explain why it doesn't impact partcl (which has pmcs for the 3 string/int/float types)
16:55 whiteknight okay. The timeline really isn't important. What's important is that now I know what behavior is expected here, and I can try to implement that
16:56 Coke I am wondering why this only happens on the second invocation.
16:57 Coke (and why it depends on the formatting of the tcl code).
16:57 whiteknight The first invocation, the types are different
16:57 Coke (presumably it compiles down to different pir)
16:57 whiteknight I think it's an Undef being transformed into a Float
16:57 whiteknight I need to trace through it again
16:58 whiteknight in-place morphing to an Object type is going to be a huge pain to implement. It should be in by 3.3 at the latest
17:04 ShaneC left #parrot
17:05 lucian joined #parrot
17:11 bluescreen joined #parrot
17:16 cotto_work ~~
17:17 petdance joined #parrot
17:18 jnthn_ whiteknight: (in-place morphing to an Object type) do you mean PMC => Object that inherits from that PMC?
17:19 whiteknight jnthn: doesn't need to inherit. Just in-place morphing from any built-in PMC type to any Object type
17:19 jnthn_ oh
17:19 jnthn_ we have the latter in Rakudo's dynops.
17:19 jnthn_ er, wait
17:19 whiteknight in src/pmc.c, take a look at Parrot_pmc_reuse and Parrot_pmc_reuse_noinit
17:19 jnthn_ I mean, we have the inheritance case in Rakudo's dynops
17:19 jnthn_ :)
17:20 whiteknight the code does interp->vtables[new_type], and does absolutely no bounds checking
17:20 jnthn_ Though I look forward to killing it in a month or so :)
17:20 jnthn_ eww
17:20 jnthn_ That sounds...dangerous.
17:20 whiteknight I look forward to 6model too, but I need to fix this problem for Coke now. Can't wait for 6model
17:21 davidfetter aloha, 6model
17:21 davidfetter hrm
17:21 whiteknight aloha, 6model?
17:21 aloha whiteknight: 6model is basically intended to be used from a HLL
17:21 whiteknight awesome
17:21 davidfetter ah
17:21 davidfetter um, what is it?
17:21 whiteknight it's the new meta-object model, inspired by Rakudo's needs in the area
17:22 whiteknight Parrot intends to adopt it, more or less wholesale
17:22 alin left #parrot
17:22 ShaneC joined #parrot
17:23 davidfetter more, or less?
17:23 whiteknight I'm sure there will  be some modifications made and plenty of bikeshedding
17:24 davidfetter you have to have bikeshedding. totally necessary for any project of note
17:24 whiteknight the bikeshedding is actually the primary objective. 6model is just a nice side-effect
17:25 Coke whiteknight: partcl-nqp has no PMCs. (just to clarify your comment on the TT 1886 ticket.)
17:25 davidfetter heh
17:25 whiteknight Coke: okay
17:28 M_o_C joined #parrot
17:29 dalek parrot: 8a139ce | Coke++ | docs/project/release_manager_guide.pod:
17:29 dalek parrot: Use slightly more sensical link update strategy.
17:29 dalek parrot: review: https://github.com/parrot/parrot/commit/8a139ce139
17:31 hercynium joined #parrot
17:32 davidfetter 'sup hercynium
17:32 hercynium 'sup!
17:32 dalek Rosella/gh-pages: 2627f01 | Whiteknight++ | index.html:
17:32 dalek Rosella/gh-pages: rearrange some of the headings. Add some more details about isntallation, credits, and licensing
17:32 dalek Rosella/gh-pages: review: https://github.com/Whiteknig​ht/Rosella/commit/2627f01eae
17:32 Coke whiteknight++ #finding the cause of 1886.
17:34 Util NEWS says "A statement convert the '.param' PIR systax". Assuming s/systax/syntax/, what does it mean?
17:35 cotto_work It means nobody proofread NEWS.
17:36 whiteknight plobsing made some modifications to the .param syntax in the IMCC grammar
17:36 Util Right :) I mean "what change to .param was made?"
17:36 Util whiteknight: pointer to details?
17:36 cotto_work .param can appear anywhere in a sub now
17:36 cotto_work (iirc)
17:36 whiteknight now .param can appear anywhere in a function, not just at the very top. This is useful for e.g. params on an exception call and params on callback into a coroutine
17:37 whiteknight Util: I don't know where the details would be. Ask plobsing
17:37 Util cotto_work, whiteknight: thanks!
17:37 whiteknight sorry we can't be more helpful!
17:38 Util Actually, that was the level of detail I needed
17:40 whiteknight msg NotFound: I would love to have conditional compilation in Winxed. Something like a DEBUG{ ... } block which could be made invisible in a non-debug build would be perfect
17:40 aloha OK. I'll deliver the message.
17:41 whiteknight the alternative to built-in DEBUG stuff would be to use a separate preprocessor like M4
17:48 whiteknight being able to litter your code with debug notes and assertions, and have all those things disappear in a release build would be very handy
17:48 whiteknight I used to wish for that feature from IMCC a lot. Now, forget IMCC
17:51 dodathome joined #parrot
17:51 plobsing whiteknight: winxed is quite amenable to CPP
17:52 whiteknight what do you mean by that?
17:52 plobsing the C preprocessor. It works fairly well on javascript and winxed
17:53 plobsing in case you wanted quick and dirty debug build capability
17:57 whiteknight oh, okay. Yeah there are other solutions I can come up with. I would really love to have something built into Winxed though
17:57 whiteknight there was some talk at one point of having a Debug PAST node type which disappeared going into POST
17:57 whiteknight I think that was supposed to be part of the tree-optimization work
17:58 lucian plobsing: i think that's very evil
17:58 whiteknight how is that more evil than any other type of debug mechanism?
17:58 whiteknight oh, you mean to use the preprocessor. Nevermind
17:58 lucian whiteknight: it relies on pre-lexing (or at the very least pre-ast) macros
17:58 lucian yeah, that
18:00 plobsing lucian: they get a bad rap, but when they're enough, the work great
18:01 lucian plobsing: i think the bad rap is very justified
18:04 lucian plobsing: pre-ansic macros are very dangerous even for simple things
18:04 lucian even ansi c ones are dangerous, and often even for simple things
18:05 plobsing they're a feature that is simpler but less powerfull than an alternative, and some people take them too far. Regular expressions are in the same boat.
18:05 lucian plobsing: i blame them for being too powerful and not abstract enough
18:06 lucian even scheme macros (which happen during scope analysis i think) scare me a bit
18:06 * lucian will brb
18:07 plobsing lucian: but those are hygenic! what would you have? hermetically-sealed macros?
18:14 dalek Rosella/gh-pages: f9c30a7 | Whiteknight++ | index.html:
18:14 dalek Rosella/gh-pages: add info about the contract library. Add copyright notice for the Rosella logo image
18:14 dalek Rosella/gh-pages: review: https://github.com/Whiteknig​ht/Rosella/commit/f9c30a7725
18:18 Util In NQP, is there significance to upper/lowercase in the pir:: signatures?
18:19 Util Such as this:  pir::get_hll_global__PPS(...);
18:19 Util versus  this:  pir::get_hll_global__PPs(...);
18:20 jnthn_ Yes
18:20 jnthn_ S - must come from a register, s = can come from a constant too
18:20 jnthn_ iirc
18:20 Coke There's a page describing those...
18:22 Coke perldoc compilers/pct/src/PAST/Compiler.pir
18:24 Khisanth left #parrot
18:26 lucian plobsing: they're hygienic, but you still need to expand them to see what's going on
18:26 lucian better is possible
18:26 petdance left #parrot
18:27 lucian plobsing: http://www.erights.org/data/irrelevance.html is interesting
18:27 lucian i'd rather have scope checked before any macros, then expansion is much less surprising
18:28 lucian although scheme's are the best i've seen so far
18:29 plobsing wait, what do you mean by scope checking?
18:30 lucian plobsing: lexical names scope checking
18:31 * lucian 's terminology is crap
18:32 hudnix left #parrot
18:34 hudnix joined #parrot
18:34 plobsing in plt, conflicting macro names get rewritten, inserting (let ...)s where necessary
18:35 lucian plobsing: racket's macros are better, yes
18:35 plobsing basically, it is auto-gensym
18:35 lucian also, expansion for debugging is better
18:36 lucian but i still don't think it's quite enough
18:36 plobsing sounds to me like you just don't like macros
18:36 lucian plobsing: perhaps :) i don't think they're worth the risks most of the time
18:37 lucian but as i said, scheme's are the closest i've seen
18:38 lucian E's macros don't work yet, so it doesn't count
18:39 minusnine joined #parrot
18:40 lucian plobsing: for simple things, i rather like D's approach, with version() {} and debug{} blocks
18:40 lucian and static if () {}
18:44 lucian playing spore, my idea of a game where programming is important is becoming more clear
18:45 Util jnthn_, Coke: thanks, just what I needed!
18:46 mj41_nb left #parrot
18:50 particle left #parrot
18:53 particle joined #parrot
19:03 bluescreen left #parrot
19:04 bluescreen joined #parrot
19:14 plobsing left #parrot
19:24 dalek Rosella: c4358e5 | Whiteknight++ | CREDITS:
19:24 dalek Rosella: Add note about the logo image to CREDITS
19:24 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/c4358e5f51
19:25 plobsing joined #parrot
19:27 dmalcolm joined #parrot
19:42 bubaflub joined #parrot
19:44 alin joined #parrot
19:50 cotto_work #ps in 40
19:50 plobsing left #parrot
20:00 minusnine left #parrot
20:10 plobsing joined #parrot
20:11 Khisanth joined #parrot
20:16 alin left #parrot
20:29 cotto_work #ps time
20:35 whiteknight left #parrot
20:35 dalek parrot/opsc_llvm: 1c7d081 | bacek++ | / (2 files):
20:35 dalek parrot/opsc_llvm: Inherit BasicBlock from Value to access .name
20:35 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/1c7d081c96
20:43 alin joined #parrot
21:00 preflex left #parrot
21:02 Coke msg bacek send me an email or something with details.
21:02 aloha OK. I'll deliver the message.
21:02 bacek Coke: http://feeds.feedburner.com/baceksblog/parrot
21:04 preflex joined #parrot
21:13 bacek $dayjob time
21:13 dodathome left #parrot
21:14 bluescreen left #parrot
21:29 bluescreen joined #parrot
21:29 minusnine joined #parrot
21:31 nwellnhof joined #parrot
21:37 dalek nqp/ctmo: 7227290 | jonathan++ | / (3 files):
21:37 dalek nqp/ctmo: Bump PARROT_REVISION, use generational GC, fix NQPLexPad up for the changes.
21:37 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/72272904ed
21:37 dalek nqp/ctmo: 32b9b81 | jonathan++ | src/metamodel/reprs/P6opaque.c:
21:37 dalek nqp/ctmo: Avoid allocating zero bytes; parrot++ catches this now.
21:37 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/32b9b815f8
21:37 jsut joined #parrot
21:41 theory left #parrot
21:42 nwellnhof left #parrot
21:42 jsut_ left #parrot
21:42 theory joined #parrot
21:44 bluescreen left #parrot
21:46 mtk left #parrot
21:52 mtk joined #parrot
21:56 cxreg left #parrot
21:58 hercynium left #parrot
21:58 lucian_ joined #parrot
22:02 lucian left #parrot
22:02 lucian_ is now known as lucian
22:12 plobsing left #parrot
22:13 plobsing joined #parrot
22:16 alin left #parrot
22:18 alin joined #parrot
22:18 dalek nqp/ctmo: 3341bd9 | jonathan++ | / (4 files):
22:18 dalek nqp/ctmo: Move declaration of brackets list into NQP, eliminating one more cheat file.
22:18 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/3341bd9a63
22:26 plobsing left #parrot
22:31 M_o_C left #parrot
22:31 plobsing joined #parrot
22:39 bubaflub left #parrot
22:46 dalek nqp/ctmo: 4a132aa | jonathan++ | / (4 files):
22:46 dalek nqp/ctmo: Move hll-compiler cheat into NQP.
22:46 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/4a132aaa70
22:49 tadzik hrm, my not-Parrot-related blag posts still land on Planet Parrot
22:49 whiteknight joined #parrot
22:54 cotto_work whiteknight: ohai
22:54 whiteknight hello
22:54 whiteknight is #ps still happening?
22:54 whiteknight or is this an unrelated meeting?
22:54 davidfetter it's on
22:54 tadzik there is still move around there, but ps is over I think
22:54 davidfetter oh. oops.
22:56 plobsing they're designing pynie-ng mostly
23:01 slavorg left #parrot
23:02 rurban_ joined #parrot
23:02 slavorg joined #parrot
23:02 bacek_at_work ~~
23:03 plobsing left #parrot
23:04 rurban left #parrot
23:04 rurban_ is now known as rurban
23:05 dmalcolm left #parrot
23:05 alin left #parrot
23:06 plobsing joined #parrot
23:07 dalek nqp/ctmo: 08a5c79 | jonathan++ | src/HLL (2 files):
23:07 dalek nqp/ctmo: Move HLL compiler init to NQP.
23:07 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/08a5c798e0
23:07 dalek nqp/ctmo: 3434ae9 | jonathan++ | src/ (3 files):
23:07 dalek nqp/ctmo: Further gut HLL.pir.
23:07 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/3434ae921f
23:07 dalek nqp/ctmo: 7c1a5c6 | jonathan++ | src/ (2 files):
23:07 dalek nqp/ctmo: Move an include so that the only things that stick stuff into the Parrot root namespace are in one PBC file.
23:07 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/7c1a5c6e26
23:13 hercynium joined #parrot
23:14 Util jnthn_: Does the MOP provide (at least in theory) an API to control inheritance? If so, would it limited to single inheritance?
23:16 cotto left #parrot
23:17 jnthn_ Util: The core doesn't actually know what inheritance is at all. :)
23:18 Util For 6model's core, I agree; is it also true for the MOP itself.
23:18 * Util has not read the book :(
23:18 Util s{\.}{?}
23:18 jnthn_ Util: Individual meta-object implementations are free to implement inheritance as they wish. See NQPClassHOW.pm for an example of multiple inheritance, and see http://www.jnthn.net/papers/2011-nlpw-classes.pdf for an example where single inheritance is implemented.
23:18 jnthn_ It's possible to implement any desired MRO also.
23:19 jnthn_ NQPClassHOW.pm contains a C3 implementation, but you could just as easily write pre-order or whatever.
23:20 Util But it is the *meta*-object that must implement all this? The MOP has no API to say at runtime something like, "this particular class, let's change the MRO or inheritance tree just for it"?
23:21 jnthn_ I'm a little confused by what you're referring to as "the MOP".
23:22 jnthn_ If you want to change it by class, then you'd need to probably mix in to the meta-object for that class
23:22 jnthn_ And override compute_mro or some such.
23:22 Util Thanks! I will point the Python-on-Parrot discussion to this.
23:23 jnthn_ Essentially though, the meaning of a class (or role or grammar or whatever) is defined by its meta-object.
23:28 Andy left #parrot
23:39 dalek nqp/ctmo: 75b960b | jonathan++ | src/HLL (2 files):
23:39 dalek nqp/ctmo: Can include constants anywhere, so do so. Now HLL.pir is just includes of NQP compiler output, and is thus ready to wave goodbye.
23:39 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/75b960bdf8
23:39 dalek nqp/ctmo: 1ccff4d | jonathan++ | build/Makefile.in:
23:39 dalek nqp/ctmo: Keep dependencies honest.
23:39 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/1ccff4d38f
23:39 dalek nqp/ctmo: a2f8d51 | jonathan++ | src/HLL/Actions.pm:
23:39 dalek nqp/ctmo: Use curly brace classes when we'll have multiple in the same file.
23:39 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/a2f8d518d6
23:39 dalek nqp/ctmo: 675ee22 | jonathan++ | src/HLL/Compiler.pm:
23:39 dalek nqp/ctmo: Clear up some cruft. Dunno what I was thinking...
23:39 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/675ee223e9
23:39 dalek nqp/ctmo: 2acf542 | jonathan++ | / (2 files):
23:39 dalek nqp/ctmo: Eliminate HLL.pir. Now we're down to just one library that is overall PIR-compiled; the rest is NQP-compiled. We'll keep Regex.pbc fully in PIR for the foreseeable future, and everything else will trend towards its last remaining bits of PIR becoming NQP.
23:39 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/2acf542385
23:39 dalek nqp/ctmo: 00bb576 | jonathan++ | src/stage0/ (7 files):
23:39 dalek nqp/ctmo: Update bootstrap.
23:39 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/00bb576e05
23:48 hercynium left #parrot
23:57 plobsing left #parrot

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

Parrot | source cross referenced