Camelia, the Perl 6 bug

IRC log for #perl6, 2006-07-07

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:00 ivanfrey unobe: thanks, I'll be talking to you later.
00:00 unobe ivanfrey: from Pugs::Doc::Hack: svn co http://svn.openfoundry.org/pugs.
00:00 lambdabot Title: "Revision 11252: /"
00:01 ZenoP joined perl6
00:01 unobe ivanfrey: i'm gonna go eat too. :)
00:03 kolibrie audreyt: purging my old /usr/local copy seems to have fixed the fps error.  Thank you.
00:03 justatheory audreyt: Gotta a SVN::Notify::Config question for you when you have a few.
00:04 audreyt kolibrie: yay.
00:04 audreyt justatheory: would you like comaint on that?
00:04 ivanfrey unobe: oh! there is a svn plugin for the Finder.
00:05 justatheory audreyt: No, but I think that John Peacock would.
00:05 justatheory He says he emailed you.
00:05 justatheory And there was a change in SVN::Notify 2.60 that broke SVN::Notify::Config.
00:05 kolibrie audreyt: um, oops, now I get this error: src/DrIFT/YAML.hs:1:0:ghc-6.4.1: unknown package:fps-0.7
00:05 audreyt kolibrie: rm -rf dist/build
00:06 * kolibrie is getting used to rm-ing things tonight
00:06 audreyt I don't see an email, hm
00:06 audreyt justatheory: can you tell jpeacock that he is now comaint and please carry on?
00:06 justatheory audreyt: Does he know where?
00:06 audreyt I'm giving away CPAN modules that I don't use myself anymore :)
00:07 justatheory Oh, no svn, just pause?
00:07 justatheory sure
00:07 audreyt yeah
00:07 justatheory ok
00:07 audreyt thx
00:07 justatheory np
00:07 audreyt putter: still @home?
00:08 kolibrie audreyt: same error
00:08 * kolibrie must go out and paint while it is still light
00:09 kolibrie I'll tackle this again later, or tomorrow
00:10 audreyt k
00:26 vsoni audreyt: could there be two threads running IMCC in Parrot
00:27 meppl gute nacht
00:32 vsoni seen audreyt
00:32 jabbot vsoni: audreyt was seen 22 minutes 14 seconds ago
00:33 lampus_ is now known as lampus
00:48 marksto1 joined perl6
00:49 marksto1 is now known as markstos_
00:50 hikozaemon joined perl6
00:57 svnbot6 r11253 | audreyt++ | * mmd-draft.txt - introduce the idea of punnitude and seriousness.
01:02 nxu7 joined perl6
01:06 audreyt (those ideas was going away the second putter touches the keyboard)
02:03 ivanfrey how do I come back from away
02:04 lumi I think /away
02:16 bpphillips joined perl6
02:21 bpphillips left perl6
02:32 ivanfrey lumi: so it's a toggle.
02:33 stephanepayrard_ joined perl6
02:45 ruoso joined perl6
02:48 ivanfrey joined perl6
03:07 b00t joined perl6
03:40 gaal hello from nyc!
03:42 svnbot6 r11254 | gaal++ | * WIP Internals: more convention updates
03:46 audreyt gaal: hi!
03:47 putter joined perl6
03:48 putter hi gaal! :)
03:48 putter what time is your flight?
03:49 gaal hello :) my flight isn't till the 9th
03:49 putter ahhhhh.
03:50 gaal Amtrak++ # 110 volt in coach
03:50 svnbot6 r11255 | gaal++ | * oops, r11254 mistakenly checked in a bogus "fix" into a file
03:50 svnbot6 r11255 | gaal++ |   that shouldn't have been touched.
03:56 audreyt putter: I've drawn the stack on whiteboard tonight as http://pugs.blogs.com/photos/v​isiolization/v6alphastack.png
03:57 gaal why is it called visiolization when you are graffling with the ideas?
03:57 gaal oh sorry, I forgot it was truce
04:04 ivanfrey anyone here use the scplugin in mac os x
04:05 ivanfrey ?
04:06 putter audreyt: I might rename the layers  Syntax/Semantics/Infrastructure/Augmentation
04:07 Yaakov joined perl6
04:08 putter (syntax and augmentation are unchanged.  i think of idioms as meaning something different.  and that layer is where most p6 semantics are.  the layer currently called semantics... oh, drat
04:08 putter mop and mc are infrastructure.  the others more semantics.
04:09 putter as in, one can use mop to create a very non-p6 thing.  or am I confused?   mc at least seems infrastruct.
04:10 mumumu joined perl6
04:11 putter aside: I'd order the Augmentation list by popular familiarity and stability.   So its quickly clear what the layer is.
04:16 audreyt ok. the idea is that you get p6 semantics using the semantics layer
04:16 audreyt and the idioms layer is merely sugar -- but still perl5 instead of relying on module::compile -- to make it idiomatic
04:17 audreyt I agree it seems there is a layer between Semantics and Augmentation
04:17 audreyt and let's call it Infrastructure.
04:18 vsoni audreyt: I have made some progress on the Exception manangement in IMCC...You should see a patch in couple of days
04:18 putter err, maybe.  maybe rename Semantics -> Infrastructure (non-p6-specific but not low level grunge), Idioms -> Sematics (p6 semantics), and move Data::Bind and Pugs::Runtime up to Semantics.  sound plausible?
04:19 PerlJam "Idioms" is a weird name for something that's "sugar" :)
04:19 audreyt vsoni: yay
04:19 gaal lolipops?
04:20 gaal I'm off to sleep, good night :)  &
04:20 audreyt ok, let's try again
04:20 audreyt Data::Bind implements the Perl 6 calling convention
04:20 vsoni audreyt: I ran some tests and Static globals in IMCC are NOT causing things to fail
04:20 audreyt Pugs::Compiler::Regex implements Perl 6 regexes
04:20 putter basically, core, core patches, generally useful p5 packages, stuff which does p6 semantics, stuff which does p6 syntax.
04:20 audreyt Class::MOP implements Perl 6 metaobject protocol
04:21 putter having the toolchain their seems a bit odd
04:21 putter s/their/there
04:21 audreyt however, there can be a layer between v6.pm and D::B, P::C::R and C::MOP
04:21 putter good night gaal
04:21 audreyt that lets Perl 5 users use those Perl 6 semantics, but with shorthands that gives a p6 "look and feed" in perl5
04:21 audreyt yet does not rely on a Perl 6 grammar
04:22 guaumiau joined perl6
04:22 putter C-MOP, I believe... implements an api for manipulating p5.  you can use that manipulation to do non p6-ish things.  but if its api is p6-ish, I suppose its ambiguous where it goes.
04:22 audreyt C-MOP implements an api for manipulating an object space
04:22 audreyt its API is wholesale equivalent to the .meta API in perl 6
04:23 audreyt for example, the C-MOP ::Package and ::Module metaobjects
04:23 audreyt treats the symbol table as if it's storing mappings from idents to container
04:23 audreyt and the perl5 "glob" concept does not appear there
04:23 putter And the p5 object space is a subset of the p6 object space, so there is nothing you can do with MOP which is not p6-compatable?
04:23 audreyt indeed.
04:24 putter hmm...
04:24 audreyt Moose introduces helpers like
04:24 audreyt has 'foo' => (is => 'rw')
04:24 audreyt it is not perl 6
04:24 audreyt it looks like perl 6
04:24 audreyt but is actually just perl5 helper functions
04:24 audreyt the idea is that you can use Moose to simplify calls to C-MOP
04:25 audreyt without depending on the rapidly changing v6.pm surface syntax
04:25 putter right
04:25 audreyt we need a similar set of idiomatic wrapper for Data::Bind
04:25 putter and the argument for module::compile being p6-ish?
04:26 audreyt there is no argument.
04:27 audreyt (refresh, the picture changed.)
04:27 putter ah, ok, so Idioms is sort of "Psuedo Syntax"?  p5 code tweaked to look vaguely p6-ish?
04:27 putter pugs runtime is infrastruct rather than semantics?
04:29 audreyt refresh
04:30 audreyt yes, it's pseudo syntax. the use is twofold
04:30 audreyt one is to let CPAN authors test p6 semantics easily
04:31 audreyt another is to let the p5 code generated by v6.pm look "idiomatic"
04:31 audreyt i.e. like human written code.
04:31 audreyt without that layer it's going to look like machine code.
04:31 audreyt which is, well, bad.
04:34 putter ok, "Idioms".  tend to be individual things.  hmm... "Look and Feel?" ;)  um...
04:34 putter flavor, style, ui,
04:35 putter "Perl6 Idioms"
04:36 TimToady looks kinda like a Model to me.
04:37 putter "Perl6 Syntax", "Perl6 Idioms", "Perl6 Semantics"?  else the p6/p5 transition wont be clear to those less familiar with the packages.
04:38 putter or wrap Syn, Id, Sem in a p6 box?
04:39 audreyt putter: the Toolchain means "updating all these to deal with p6 syntax in regular .pm files"
04:39 putter ahhh,
04:39 audreyt which does depend on v6.pm
04:39 audreyt (otherwise they can't parse any of it)
04:40 putter I completely didnt get that.  toolchain adaptation?  update?  compatibility?
04:41 putter toolchain compatability, and put a right side line from there down to Sem saying P6?
04:42 dduncan oh, something I was going to bring up ...
04:42 dduncan while file name shouldn't really matter, what is the canonical file name extension for perl main programs?
04:42 audreyt .pl ?
04:42 dduncan eg, is it .pl or .p6 or something else?
04:43 dduncan we seem to have a bunch of .p6 files in the Pugs distro ... can they be renamed to .pl?
04:43 audreyt I remember TimToady saying "BCPL is the ancestor of B"
04:43 audreyt and it implies B->C->PL
04:44 audreyt that is, the successor of B is C, and the successor of C is Perl, instead of (say) C++ or ObjC
04:44 audreyt the D people will probably beg to differ, though...
04:45 dduncan so, is there a reason for Perl 6 main programs to be named .p6 instead of .pl, when the .pm is unchanged, as well as extensions for other file types?
04:45 dduncan my impression was that .p6 was used to be cute, but isn't necessary ...
04:46 dduncan in particular, when we have a Perl 6 runtime being sugar over the Perl 5 one, and Perl 6 being able to run Perl 5, and the contents of the files are supposed to be what is important, I suggest renaming all the .p6 to .pl
04:46 dduncan unless there is an objection, I will go and do that now
04:47 audreyt I have an objection :)
04:47 audreyt if they are to be named .pl, then they need the correct "use v6-alpha;" incantatio over them
04:47 audreyt and the #! lines for them needs to be removed
04:47 audreyt currently being .p6 means that they can be free to omit the "use v6" line
04:47 dduncan so then those changes should be done too
04:47 audreyt but if they are going to be .pl, the "use v6-alpha" is neccessary
04:48 audreyt also, all tests in t/ as well as ext/* should adopt the same change
04:48 audreyt instead of "use v6-pugs" and "use v6", all should be updated to "use v6-alpha" without #! line.
04:48 audreyt if those changes are done, I'm completely fine with .p6->.pl.
04:49 dduncan regardless of the changes of .p6 ... the various .t files will need to be changed from "use v6-pugs;" to "use v6-alpha;" anyway, right?
04:50 audreyt yes.
04:50 dduncan I could do that first
04:50 dduncan are you aware of anything in such a change that would break the test/smoke system ... eg, would some harness need to be updated too?
04:51 dduncan changes to the .t specifically?
04:52 dduncan well, I'll try changing just the .t and see what happens
04:52 sanug joined perl6
04:57 bsb joined perl6
05:00 dduncan okay, 539 t/* files had one "use v6-pugs;" line changed to "use v6-alpha;" ... the beginning of make test checks out such that the alteration didn't cause problems ... will assume the rest of the tests work too
05:01 dduncan committing momentarily ...
05:01 audreyt it won't cause problems :)
05:01 justatheory joined perl6
05:02 TimToady I'm about to smoke it, so we can know in about 30 minutes.
05:02 dduncan commit is in progress ...
05:03 dduncan I still have about 4 other similar commits to do, outside of t/*.t ... they will maybe take 10-15 minutes
05:03 dduncan for the editing
05:04 TimToady I can hold off.
05:04 audreyt http://pugs.blogs.com/photos/v​isiolization/v6alphastack.png updated again.
05:04 dduncan that would work best, unless you want to do a second smoke afterwards
05:04 TimToady or just run an intermediate make test while you're doing that.
05:04 dduncan though its probably 1am-ish over there
05:04 dduncan yes
05:04 dduncan the t/ one would be the largest commit by file count
05:05 dduncan ... still going ...
05:05 TimToady it's only 10pm here...
05:05 dduncan where are you?
05:05 TimToady Mountain View
05:05 dduncan its 10pm here too, near Victoria BC
05:06 dduncan some how I thought you were still around Chicago ... my bad
05:06 dduncan like some others staying there or Boston for hackathon the second
05:06 TimToady nice butterflies in Victoria.
05:06 TimToady I like the museum too.
05:07 dduncan when were you last here?
05:07 TimToady must be five or six years ago at least by now...
05:07 dduncan well, if any of you guys are out this way in the future, then the small but existant Victoria.pm could probably setup a greeting
05:08 dduncan small meaning 4-10 people ... though maybe a lot of places are like that ... unlike London et al
05:08 TimToady was there several times while growing up, since I lived in Bremerton and Seattle.
05:09 TimToady still checking in?
05:09 dduncan besides me, probably the most well known Perl person in Victoria.pm is Peter Scott, who started it about 3-4 years ago
05:09 dduncan yes, still checking in
05:10 dduncan its about 500 files, at about 2KB/sec in bandwidth
05:10 dduncan or maybe right now its just trying to merge, as data received is about the same also
05:10 dduncan but I am on high-speed
05:11 dduncan I'm not sure how long this will take ... should be any minute now, but if you want to start the smoke without waiting, your call
05:12 kane_ joined perl6
05:12 putter joined perl6
05:17 justatheory joined perl6
05:17 putter re v6alphastack.png, I'd be tempted to punt the VM column, rename the p6 column to just "Perl 6", and extend it up to include toolchain.  ie, the toolchain upgrade is for p6.  the meaning of the lower stuff should be self-evident.  calling it vm just makes me squint and try to figure out what that means. :)
05:18 putter With the p6 column to provide context, I'd be happy with Model going back to Idiom.  Or Idioms.  "language X idioms" is a phrase I know.  model could mean anything.
05:20 dduncan oh oh, something's happening ...
05:20 dduncan try pulling it now
05:20 svnbot6 r11256 | Darren_Duncan++ | updated all 539 t/*.t files so that they 'use v6-alpha;' rather than 'use v6-pugs;'
05:20 TimToady it's coming.
05:22 TimToady there's only one ext/ that uses v6-pugs
05:22 TimToady bunch of stuff in perl5/
05:23 TimToady I'll go ahead and smoke it now.
05:24 dduncan searching the rest of the Pugs distro, my editor says there are 45 occurrences of v6-pugs in 28 files ... half are probably generated and won't be touched ...
05:25 dduncan the README has it in 2 places
05:25 TimToady I noticed that t/README needs to have #! advice fixed
05:26 dduncan er, the README in question is in Pugs-Compiler-Perl6, not the main one ...
05:26 dduncan can I assume that there is no circumstance in which v6-pugs is still useful?
05:26 TimToady I doubt anything is actually paying attention to the -pugs
05:26 dduncan okay, will replace all
05:27 audreyt putter: http://pugs.blogs.com/photos/v​isiolization/v6alphastack.png ?
05:29 dduncan I will assume that references in historical documentation like talk archives will not get updated
05:30 dduncan as they are snapshots in time
05:30 TimToady that's what I've generally done.
05:30 dduncan well, I am an archivist at heart
05:31 TimToady notes are usually fair game though, I think.
05:31 TimToady well, yes, I have tendencies that way too, which is why the A's and E's are full of [Update:] sections.
05:31 putter what do we use Parse::Yapp for.../
05:32 putter err, s{/}{?}
05:32 TimToady and how do we do continuations?
05:32 dduncan how about /docs/talks/deploy.xul ... that one I was going to leave unchanged
05:32 TimToady up to audreyt
05:32 dduncan actually, that note was specific to Pugs 6.2.2, so I should hope so
05:33 dduncan in the timeline
05:33 dduncan er, thats 1 of 17 occurrances in that file
05:34 audreyt dduncan: change too
05:34 putter audreyt: nice.  I think I'm down to:  do we really use parse::yapp?  is the "..." in infrastructure real? ie, their some packages which could hypothetically go there.  let's, see...
05:34 shachaf joined perl6
05:35 dduncan you want that historical document changed? ... I'll leave the version-specific line regardless though
05:35 audreyt putter: it's what Pugs::Compiler::Precedence etc uses
05:35 putter ok
05:35 audreyt the ... is real
05:35 audreyt maybe I should put some gray fonts there
05:35 audreyt to stands for the things to come.
05:36 putter I much prefer Idioms to Model.  "Model" is so generic, it doesnt really tell me anything.
05:36 audreyt TimToady: we use the same trick PIL2Js uses
05:36 putter when in doubt, simplicity... ;)
05:36 audreyt Felleisen et al's encoding
05:36 audreyt http://www.cs.brown.edu/~sk/Publications/Pape​rs/Published/pcmkf-cont-from-gen-stack-insp/
05:36 lambdabot Title: "Continuations from Generalized Stack Inspection"
05:36 audreyt then encoded it on CLR using exceptions alone
05:37 dduncan if it is useful, we may want to have a clear deliniation between documentation that is meant to be kept up to date, and that which is meant to be a snapshot in time ... ignoring that Subversion provides other kinds of snapshots in time
05:37 audreyt perl5 is certaily rich enough.
05:37 dduncan I know that some of my Rosetta docs were meant to be snapshots ... the copy of the lightning talk for example
05:37 audreyt oh. not for me
05:38 dduncan okay then, will update the xul
05:38 putter "Evolving"... rapidly evolving?  something about the bare evolving there has been bugging me.  but maybe that's just me.
05:41 putter and last I think... is there nothing which goes in Syntax but v6?  surely some things, a p6 grammar, are not something you would use from p5 except in the context of v6.pm and Syntax.  no?
05:41 putter Evolving -> Ferment :)
05:41 audreyt you mean the p6 grammar for p6
05:42 TimToady I thought of that one.
05:42 svnbot6 r11257 | sanug++ | Updated the perl6_compilation diagrams
05:42 svnbot6 r11257 | sanug++ | Pulled out Helvetica oblique that caused the PDF file to loose a font. Put in Helvetica Bold in
05:42 svnbot6 r11257 | sanug++ | Purple to make the input language stand out. Graffle outputs all canvases for HTML with one step
05:42 svnbot6 r11257 | sanug++ | by just using HTML export, for whole document - creates the basename as a directory name and
05:42 svnbot6 r11257 | sanug++ | puts all of the output in that directory. Used Acrobat to read in PDF and write out as Acrobat 7.0
05:42 TimToady I suppose it would end up in CPAN
05:42 svnbot6 r11257 | sanug++ | file - this saved about 1.5 MB in file size - crucial because this file slows down checkout.
05:42 svnbot6 r11256 | Darren_Duncan++ | updated all 539 t/*.t files so that they 'use v6-alpha;' rather than 'use v6-pugs;'
05:42 putter yes, re p6 g for p6.
05:42 dduncan huh?
05:42 putter or even p5 grammar for p6
05:43 dduncan a duplicate svnbot message
05:43 putter anything whose only role in life is simply to give us p6 syntax.
05:43 svnbot6 r11258 | Darren_Duncan++ | likewise replaced 'use v6-pugs;' with 'use v6-alpha;' in 10 other distro files
05:44 putter didnt like "Ferment"? :)
05:45 audreyt http://pugs.blogs.com/photos/v​isiolization/v6alphastack.png updated again
05:46 putter "rapidly evolving" is so... wide.  you didn't like "Ferment"? :)
05:46 dduncan now, how about the pile of "use v6;" ... should those be left as-is, or changed to "use v6-alpha;"?
05:46 dduncan this is what most /ext do, I think
05:47 dduncan Test.pm being a notable exceptoin
05:47 putter If "Rapidly Evolving" -> "Ferment", and "Model" -> "Idioms", then I'd be psyched.
05:47 putter ;)
05:48 TimToady I don't think Idioms is quite right.
05:48 putter yeah
05:49 dduncan since plain "use v6;" doesn't mention Pugs and logically should work, I'm going to leave them alone unless you say they should gain a -alpha
05:49 vsoni audreyt: quick question
05:49 PerlJam s/Idioms/Models/
05:50 putter my understanding is its the box for things which permit pseudo perl6-like p5 code.   class, and has, and such.
05:50 fordinal joined perl6
05:50 PerlJam or even "Meta Models" :)
05:50 putter phrases
05:51 putter utterances ;)
05:51 TimToady It's more like the semantics is the model, and the P5 and P6 layers are views.
05:51 putter ahhh
05:53 PerlJam Stable/Evolving -->  low entropy/high entropy  :-)
05:53 PerlJam or solid/liquid/gas
05:53 TimToady Stable --> Psycho
05:53 putter oh no...
05:53 PerlJam except gas evoke the vaporware meme
05:53 TimToady Stable --> Racetrack
05:54 TimToady :)
05:54 TimToady Stable --> Rampaging
05:54 TimToady Tumultuous
05:54 dduncan skipping plain "use v6;" for now ... now removing pugs-invoking shebang lines ...
05:55 TimToady apres moi les Deluge
05:55 putter Style?
05:55 PerlJam What's the difference between a toolchain and a toolbox?
05:55 putter Syntax/Style/Semantics
05:55 shachaf_ joined perl6
05:56 TimToady smoke done, no differences, yay!
05:56 dduncan sounds good
05:56 audreyt yay!
05:56 audreyt putter: ok. I removed the perl6 box
05:56 putter oh, good point, re toolchain.  that should be Tools shouldnt it.
05:56 audreyt in http://pugs.blogs.com/photos/v​isiolization/v6alphastack.png
05:56 dduncan I'm finding lots of pugs shebang lines
05:56 TimToady Syntax/Semantics/Pragmatics
05:56 PerlJam to me a toolchain are things that *must* be linked together to get a useful result.  A toolbox, has many tools to chose from that *may* be linked together or used independently.
05:57 dduncan about 195 with at least a blank line after them
05:57 putter err... I liked the "views" comment when it was said because it offered new perspective... but I dont think it really flies, does it?
05:58 putter "Perl5 Syntax" is trying to mean "Perl6 Phrases Expressed in Perl5", but... not a chance of that actually coming across to users.
05:59 audreyt s/syntax/sugar/ already
05:59 audreyt refresh again?
05:59 PerlJam "cpan stack"?
06:00 putter ahhh
06:00 TimToady maybe "Perl 5 Paraphrase"
06:00 PerlJam pidgin perl6
06:00 putter lol
06:00 TimToady don't like Rapidly
06:01 PerlJam I think Stable --- Evolving was just fine
06:01 putter perl core isnt evolving?
06:01 PerlJam putter: not so much compared to CPAN
06:02 TimToady It's life, putter, but not life as we know it...
06:02 putter fine.  just me.
06:02 TimToady I'd say perl core is adapting rather than evolving.  :)
06:02 ingy obra: ping
06:02 putter how about Syntax/Pidgin/Semantics?
06:02 PerlJam the stack is collapsing :)
06:03 putter no, just names
06:03 audreyt what's wrong with "Perl 5 idioms" :)
06:03 putter they are perl _6_ idioms expressed in perl5
06:03 TimToady they aren't particularly idiomatic
06:04 TimToady they're just translations.
06:04 obra ingy: pongy
06:04 TimToady circumlocutions
06:04 putter Syntax/Sugar/Sematics would be fine too
06:04 TimToady more like Starch than Sugar
06:05 audreyt ok, I prefer Sugar :)
06:05 putter for whatever reason (excessive familiarity?) I'm not feeling too strongly on the p6/not-p6(infra,aug,core) any more...
06:06 putter sweeter sourd
06:06 PerlJam putter: still works for me.
06:06 putter so, where are we at.  punt rapidly, and remove Perl X clutter, and see what it looks like?
06:07 TimToady but it goes against the metaphor: v6 is desugaring Perl 6 into...Sugar?
06:07 PerlJam I still think "Perl 5 Sugar" should just be "Pidgin Perl6"
06:07 putter Sugar'ed MOP et al.
06:08 TimToady maybe it's the syrup layer.
06:08 putter what's a word for one level down from syntax.  sentence structure kinds of things.
06:08 PerlJam everyone knows that syrup goes on top
06:08 PerlJam putter: grammar :)
06:09 putter ouch
06:09 TimToady Cream Filling
06:09 TimToady one level in which continuum?
06:09 putter moving away from surface, towards... anywhere.
06:10 sanug What about     Perl 5 Sugar ->  Perl 6 MOP?
06:10 PerlJam What is "tools upgrade" supposed to convey?
06:10 putter I am so not making progress writing the mmd spec at the moment.
06:11 putter dialect, accent, style, phrase,
06:11 Aankhen`` joined perl6
06:11 TimToady it's the denotation
06:12 putter form, formulation,
06:12 TimToady which is why it feels idiomatic, because it's really a declarative semantics layer rather than imperative
06:12 putter manner, mode, fasion,
06:13 putter parlance,
06:13 TimToady denotation
06:13 putter no one knows what denotation means
06:13 TimToady sounds like a match
06:13 putter sigh
06:14 putter is the tool upgrade really unstable, or just... active?
06:14 PerlJam I liked "Evolving"
06:14 putter whatever.  evolving is fine.
06:15 PerlJam like anything else, the tools have a stable core with changing fringes.
06:15 putter Syntax/Style/Semantics would leave me happy.
06:16 putter putter's vote, and then I'll get back to mmd so I can get to sleep, is
06:17 dduncan committing about 172 files with shebang removals ...
06:18 dduncan if that last test commit was any indication, this should take 5-10 minutes ...
06:18 DebolazX audreyt: Hopefully I'll have some time to look into that issue today.
06:18 dduncan the other took 15+ and was 3X the file count
06:19 * PerlJam sleep &
06:19 putter Evolving (weak), not Unstable (weak), Ferment (moderate); remove the Perl X stuff from the titles (bigtime tufte avoid unnecessary ink and clutter violation) (strong); Style (moderate), not Model (very strong), Sugar (ok).
06:20 TimToady Style does little for me.  These are domain specific languages.
06:22 putter oh, and broader perspective - a very nice diagram audrey, good work :)
06:24 TimToady Stable --> Exciting  :)
06:24 TimToady Stable --> Fun :)
06:24 audreyt I had "Fun" originally
06:24 TimToady heh
06:25 TimToady Stable --> Berserk  :)
06:25 svnbot6 r11259 | Darren_Duncan++ | updated about 172 files in [examples/,ext/,t_disabled/] to remove pugs-invoking shebang lines
06:26 audreyt ok, refreshed one last time
06:26 audreyt for today
06:26 TimToady resmoking
06:26 audreyt # http://pugs.blogs.com/photos/v​isiolization/v6alphastack.png
06:27 putter *clap* *clap*
06:27 TimToady I like Experimental
06:27 TimToady it's the right size
06:27 putter I like it (the diagram)
06:28 putter happy audrey?
06:29 dduncan yes, nice stack you've got there
06:30 TimToady let's just hope we don't have to move it to anohter peg any time soon.
06:30 TimToady *another
06:30 audreyt whew :)
06:31 audreyt putter++ TimToady++ #perl6++
06:34 sanug left perl6
06:38 audreyt zzz &
06:38 putter me too.  good night all &
06:38 svnbot6 r11260 | putter++ | mmd-draft: regresses from first-draft, past zeroth-draft, to negative-first-draft.  The algorithm not-quite described is better, even quite possibly the Right Thing.  But the quality of the description has regressed.  I expect to fix it in the morning.
06:40 putter don't read it audreyt, go to sleep.  it will still be there in the morning. :)
06:40 putter lost cause?  &
06:42 shachaf joined perl6
06:49 mdiep joined perl6
06:51 audreyt journal up. zzz &
06:54 elmex joined perl6
06:56 svnbot6 r11261 | Darren_Duncan++ | about another hundred files had pugs-invoking shebang lines removed
07:04 TimToady last smoke was fine, resmoking again and zzz &
07:05 mdiep joined perl6
07:18 svnbot6 r11262 | Darren_Duncan++ | updated a few more files to remove pugs shebangs ... in this commit and several previous, also updated some documentation concerning shebangs
07:18 dduncan I think thats about it for shebang lines ... I also updated some docs concerning them as encountered
07:18 dduncan now I'll just rename the .p6 files and that's probably it for today
07:32 ingy obra: did you get my msgs?
07:37 iblechbot joined perl6
07:42 svnbot6 r11263 | Darren_Duncan++ | renamed about 23 example Perl 6 scripts from *.p6 to *.pl ... there are many yet to do
08:12 svnbot6 r11264 | Darren_Duncan++ | renamed about 44 more Perl 6 scripts from *.p6 to *.pl ... there are maybe 50-100 more that still need doing
08:15 dduncan but I won't be doing them today ... takers welcome
08:15 renormalist joined perl6
08:15 dduncan note that any corresponding .p5 had been renamed to -p5.pl as well
08:41 drrho joined perl6
08:52 mdiep joined perl6
09:01 szbalint joined perl6
09:58 mdiep joined perl6
10:21 tup joined perl6
10:36 mdiep joined perl6
10:58 gaal morning! any nyc hackers about?
11:00 elmex joined perl6
11:08 ludan joined perl6
11:08 dduncan hell no!
11:08 dduncan but its 4am here
11:09 dduncan and I am off
11:09 dduncan &
11:09 dduncan left perl6
11:21 ivanfrey audreyt: I feel rather stupid, after seeing this: http://developer.apple.com/relea​senotes/DeveloperTools/Perl.html
11:21 lambdabot Title: "Perl 5.8.1 Release Notes"
11:22 tup joined perl6
11:55 ivanfrey what's the command to update my local subversion copy? just svn co again?
11:55 gaal svn up
11:55 gaal svn update # for long
12:03 yango joined perl6
12:06 gaal audreyt: I just heard Taipei is deploying VoIP in its metro wifi area
12:27 diotalevi joined perl6
12:28 bpphillips joined perl6
12:28 bpphillips left perl6
12:28 bpphillips joined perl6
12:29 xdg joined perl6
12:32 ivanfrey perl Makefile.PL is giving me "Could not find module `Data.ByteString':
12:32 ivanfrey  use -v to see a list of the files searched for
12:32 ivanfrey  (imported from pugs-tmp-17193.hs)
12:32 ivanfrey ghc-pkg: cannot find package plugins"
12:37 ludan joined perl6
13:03 bernhard joined perl6
13:35 variables joined perl6
13:38 diotalevi Module::Compile used to be in the pugs tree. Where did it go? I have two failing tests to commit to it.
13:42 ivanfrey joined perl6
13:47 chris2 joined perl6
13:59 sahadev joined perl6
14:04 * particle_ points to the CPAN: http://search.cpan.org/~ingy/Module-Compile-0.17/
14:04 lambdabot Title: "Ingy döt Net / Module-Compile-0.17 - search.cpan.org"
14:04 ivanfrey make is telling me to run ranlib on files I've already run ranlib on.
14:06 ivanfrey Ahhh, my bad they're in a different directory.
14:08 diotalevi particle_: yeah, I know there's a dist on CPAN. I was looking for where the svn moved to.
14:09 particle_ ah, my mistake.
14:10 diotalevi Cuz see, I found out that empty M::C blocks are an error as are any use of the << operator.
14:14 justatheory joined perl6
14:21 fglock_ joined perl6
14:23 fglock_ hi!
14:27 cmcavoy joined perl6
14:27 cmcavoy PUGS: http://mfrost.typepad.com/cute_ove​rload/2006/07/breakfast_of_ch.html
14:28 nothingmuch joined perl6
14:32 fglock_ everybody zzzing
14:39 ajs_ I know this is a strange question, but does "constant Type foo = 1" really just define a "macro term:foo() {q:code{1}}"? It matters for some documentation I'm writing....
14:42 vel joined perl6
14:45 fglock_ ajs_: that's implementation-dependent - depends on what level of optimization you have
14:48 xinming joined perl6
14:53 pmurias joined perl6
14:53 pmurias hi fglock, you were complaining that everybody is sleeping?
14:54 fglock_ pmurias: hi!
14:54 fglock_ sorry to wake you up :)
14:56 * PerlJam isn't sleeping
14:57 fglock_ let's see what's on the fridge
14:58 pmurias it's the middle of the day in Poland, and to hot to sleep anyway
14:58 fglock_ exactly midday here
14:59 fglock_ I'm installing Vanilla Perl
14:59 ruoso joined perl6
14:59 ajs_ fglock_: Vanilla Perl? Perl, Perl, Baby?
15:00 fglock_ http://win32.perl.org/wiki/i​ndex.php?title=Vanilla_Perl
15:00 ajs_ Ah.
15:00 PerlJam fglock_: I'm sorry for your trouble
15:01 PerlJam fglock_: (anyone using windows must have some trouble ;-)
15:01 fglock_ :)
15:02 PerlJam The first things I do when I must use a windows box is install gvim and ActivePerl.  I look forward to the day when I can install StrawberryPerl instead of ActivePerl
15:02 xinming Juerd: ping
15:03 ajs_ What's wrong with ActivePerl... I thought it was fairly full-featured.
15:03 fglock_ ajs_: it doesn't provide compilation of XS modules
15:03 PerlJam ajs_: Have you ever tried to use POE on ActivePerl?  Have you ever had to deal with ppm and realize that you just can't install any old module from CPAN like you would under a sane OS?
15:04 fglock_ ajs_: otherwise, it is quite good
15:04 PerlJam The main thing  that ActivePerl brings to the table is the Win32 stuff.
15:06 bpphillips PerlJam: agreed, I installed the CamelPack win32 perl installer (http://camelpack.sourceforg​e.net/index.php/Main_Page) and used it with some success but I was just attempting to install Moose::Autobox and the autobox distro refuses to install :-(
15:06 lambdabot Title: "Main Page - CamelPack"
15:06 pmurias where does the new AST live?
15:07 pmurias src/Pugs/AST presumably
15:08 PerlJam pmurias: the AST lives in the code ;)
15:09 pmurias unfortunatly
15:10 cjeris joined perl6
15:10 fglock_ pmurias: I think the current one is http://svn.openfoundry.org/p​ugs/misc/pX/audreyt/p6ast.hs
15:11 FurnaceBoy joined perl6
15:12 pmurias i seen p6ast.hs before, i understood from what gaal said that it's just rough notes
15:12 josh___ joined perl6
15:13 rafl_ joined perl6
15:13 fglock_ bbiab &
15:14 rafl_ Hello there
15:15 rafl_ Could someone with sudo access on feather (audreyt?) maybe make the sshd listen to a port like 8080 in addition to 22?
15:17 vel joined perl6
15:20 rafl_ Or a login on a random machine where the sshd listens to a non-standard high port, so I could use it as an ssh proxy, would also help. I'm currently in a very restricted environment and would like to get some work done.
15:23 audreyt done at 8080
15:26 rafl_ audreyt: Thanks!
15:26 audreyt np
15:27 josh___ Oh hey, audreyt, you're listed on Module::Compile's page as an author. Where'd the snv for it go to? It used to be in the pugs repository.
15:27 josh___ is now known as diotalevi
15:27 mdiep joined perl6
15:27 audreyt http://svn.kwiki.org/ingy/Module-Compile
15:27 lambdabot Title: "Revision 2870: /Module-Compile"
15:27 rafl_ audreyt: Could we try an other port as well, please? Somehow 8080 seems to be blocked as well, whereas svk pull and friends work, so some high ports seem to be open..
15:28 diotalevi Thanks. I had some failing tests to commit.
15:28 diotalevi Well... I had a pugs commit bit. I suppose ingy's perms won't have copied from pugs. :-/
15:28 audreyt diotalevi: ask ingy for commit bit in that place, or just send it to him
15:29 audreyt rafl_: there's one on 110 I noticed
15:29 audreyt (I didn't open it)
15:29 audreyt so try 110
15:29 rafl_ OK
15:29 audreyt I've removed the 8080 one
15:30 diotalevi ja. thanks.
15:30 rafl_ audreyt: That works well! :-)
15:30 audreyt woot.
15:31 TimToady audreyt++
15:31 TimToady rafl_++
15:31 audreyt g'morning TimToady :)
15:32 TimToady good almost afternoon, AudreyT!
15:32 audreyt lol
15:32 audreyt rgs++ # "p5p awaits your desires and contributions"
15:32 * rafl has his irssi back, yay!
15:32 audreyt perl is indeed desirable...
15:33 TimToady is there an easy way to make irssi do pagedown on a spacebar if it's the first thing on the command line?
15:33 audreyt # http://pugs.blogs.com/pugs/2006/07/d​iagram_for_per.html#comment-19398614
15:33 audreyt TimToady: you mean <space><enter> to scroll?
15:33 TimToady
15:33 TimToady yes, only without the <enter> :)
15:34 PerlJam TimToady: What's wrong with hitting the Page Up/Down keys?
15:34 TimToady It's a teeny-tiny key, and I have to reach further.
15:35 TimToady and I'm trained to spacebar for next page
15:35 TimToady even have my vim set up that way.
15:35 TimToady and I rarely want to begin an utterance with space.
15:36 particle_ maybe you should change your keyboard driver
15:36 TimToady lol
15:37 TimToady seems like it has to be doing single-char input at some point, or it wouldn't be catching function keys.
15:37 audreyt yup. it is possible I think with  Irssi.pm
15:37 audreyt since irssi plugins are just perl5 modules
15:37 audreyt but I've never gone there
15:38 * audreyt wonders if #irssi may help
15:38 TimToady Yes, which is why I asked whether it was "easy" rather than "possible".  :p
15:38 audreyt ok. it's a hard and possible thing. :)
15:38 TimToady but I knew that already. :)
15:38 szbalint #irssi on IRCNet is an excellent channel, I think most core irssi developers idle there...
15:47 ivanfrey audreyt: I checked out the latest version, but I'm getting some errors when I try to build.
15:48 audreyt ivanfrey: nopaste?
15:49 ivanfrey audreyt: it's coming. I'm just a total newbie when it comes to hackerdom.
15:50 ivanfrey audreyt: Could not find module `Data.ByteString':
15:50 ivanfrey  use -v to see a list of the files searched for
15:50 ivanfrey  (imported from src/Pugs/AST/Internals/Instances.hs)
15:50 ivanfrey Build failed: 256 at util/build_pugs.pl line 126.
15:50 ivanfrey make: *** [pugs] Error 2
15:50 audreyt ivanfrey: *nod* that means "make" fails to build Data.ByteString on an earlier stage.
15:51 audreyt try this
15:51 audreyt make >1 2>2
15:51 audreyt and paste the log at http://sial.org/pbot/perl6
15:51 * obra kidnaps audreyt to the office
15:51 audreyt (the erros will go to the "2" file and outputs to the "1" file)
15:52 audreyt obra: ok, ok, coming downstairs now
15:52 obra :)
15:55 ivanfrey audreyt: I'm getting connection refused at http://sial.org/pbot/perl6
15:56 ivanfrey audreyt: gotta run. I'll talk to you later.
15:57 rzoz joined perl6
15:58 szbalint Stupid question: What is the P6 equivalent of this Perl5 snippet: Foo::Bar::method($variable) ?
15:58 ingy morning
15:59 pmurias morning
15:59 szbalint ah never mind
15:59 szbalint stupid question indeed.
15:59 pmurias szbalint: with !$variable.isa(Foo::Bar)
15:59 pmurias ?
16:01 szbalint I had a typo in my code, so I thought I was doing something wrong about invoking a perl5 method...
16:02 audreyt ivanfrey: nopaste.snit.ch is an alternative
16:03 ingy hi audreyt
16:05 TimToady szbalint: I don't think it's a stupid question, if what you're asking is how to call it non-virtually.
16:05 TimToady Foo::Bar::method($variable) is still virtual (via one-arg is a method rule)
16:05 TimToady to devirtualize it you'd have to say
16:06 TimToady &Foo::Bar::method($variable)
16:06 TimToady or Foo::Bar::<&method>($variable)
16:06 TimToady isa should also work, since it returns &method
16:06 TimToady but might return you a different one than you were expecting...
16:07 TimToady er, not .isa
16:07 TimToady that would be .can
16:07 TimToady hmm
16:07 TimToady and that doesn't devirtualize, according to spec.
16:08 TimToady so you probably need a & in there somewhere...
16:10 TimToady course, even Foo::Bar::<&method> is not necessarily unique if you've got multi methods in that class.
16:10 TimToady wandering off &
16:19 snowstalker joined perl6
16:24 prefiks joined perl6
16:39 szbalint audreyt: pm?
16:40 audreyt you registered to nickserv?
16:42 audreyt (i.e. I don't see pm from you)
16:43 szbalint oh
16:43 szbalint I was asking for permission to do that :)
16:44 szbalint It was supposed to be short for "can I message you?"
16:45 merlyn this notion of asking in public if someone can message you in private seems odd
16:45 merlyn maybe it's just me
16:45 TimToady maybe he wants to talk about you.  :)
16:45 audreyt szbalint: well, I've prefer #perl6 :)
16:45 FurnaceBoy lol
16:45 TimToady (or me...)
16:45 audreyt s/ve/d/
16:45 audreyt but yeah, if you want to talk about me, or TimToady, in _private_.... sure :)
16:45 FurnaceBoy "on irc, nobody can read your T-shirt..."
16:46 audreyt "but on my T-shirt you can read all about IRC..."
16:46 szbalint to be honest it seems weird for me too, merlyn.
16:46 FurnaceBoy hehe
16:46 szbalint But I'm on multiple networks and on some it is considered polite to ask, on some you just message away.
16:46 FurnaceBoy yeah, they can always block pm's if they are... pms'ing
16:47 szbalint I didn't know what is acceptable here, so I erred on the side of caution.
16:47 audreyt szbalint: ok. feel free, though I still prefer public discussion
16:48 szbalint Okay, let's stick to #perl6 then.
16:48 * TimToady plugs his ears...
16:49 audreyt mm pluggable ears
16:49 * FurnaceBoy plugs his T-shirt
16:50 FurnaceBoy plugs ... isn't there a pun there somewhere?
16:50 FurnaceBoy you plug pugs
16:50 TimToady plugs is optimized for flun?
16:50 FurnaceBoy hahahahaha
16:50 szbalint I'm still having problems perl5<-->Pugs communication-wise. I'm not even sure it is worth fixing, so I just wanted to ask you if you want to spend time with it at all, as I can use the 'eval in perl5 land' workaround.
16:50 * FurnaceBoy read that as 'evil in Perl5 land...'
16:50 * FurnaceBoy ... 'where the shadows lie...'
16:51 szbalint I'm using Inline::Java, and it basically sets $@ to be a reference to the Throwable Java object
16:51 szbalint when handling exceptions.
16:51 audreyt I see. you run into the triruntime problem we were discussin with putter last night
16:51 kanru joined perl6
16:51 audreyt a double boxed object doesn't know its original owner, and stringification kills that
16:52 audreyt s/that/the original link/
16:52 audreyt so you want instead of stringificated $@, a true ref to the javaland Throwable
16:52 szbalint Yeah. So basically what I get back from P5 is a string, which is kind of useless when I want to use that to access error details...
16:53 audreyt I understood. fortunately, there is a workaround.
16:53 audreyt let me code it up...
16:53 * szbalint lights up like a christmas tree.
16:53 audreyt "When Perl 6 is here, everyone will be like a christmas tree"
16:53 * FurnaceBoy laughs
16:54 FurnaceBoy well, it will be Christmas time
16:55 snowstalker Hey all, is anybody able to install Devel::Caller via CPAN? After reading the v6.pm announcement mail, I wanted to try Data::Bind module which depends on this module, but I get a 404 Not Found
16:55 audreyt snowstalker: slow CPAN indexer?
16:55 audreyt http://search.cpan.org/dist/Devel-Caller/
16:55 lambdabot Title: "Richard Clamp / Devel-Caller - search.cpan.org"
16:55 audreyt or slow mirror
16:56 * audreyt hax0rs PAUSE to force reindexing
16:56 putter joined perl6
16:56 fglock audreyt: hi!
16:56 audreyt hm, seems it's indexed alright
16:56 audreyt fglock: hi! stack diagram makes sense to you?
16:57 snowstalker audreyt, I guess the mirror is the problem because I'm able to download via the browser, so a little perl6-off-topic question, how do I change the CPAN mirror ?
16:57 lollan joined perl6
16:57 audreyt depends on what you're using
16:57 audreyt if it's CPAN.pm shell
16:57 fglock audreyt: looking again...
16:57 snowstalker 'sudo cpan' :)
16:58 audreyt o conf urllist unshift URL
16:58 audreyt then
16:58 audreyt o conf commit
16:59 TimToady transparency suffers...
16:59 justatheory joined perl6
17:00 audreyt fglock: also, were you able to get vanillaperl working on your machine?
17:00 audreyt (vanillaperl.com if not)
17:01 fglock audreyt: I'm testing it right now - I'll tell you in a few minutes
17:01 snowstalker audreyt, It worked like a charm, thanks :)
17:02 fglock Tools upgrade - means rewriting tools in p6?
17:05 audreyt fglock: no... upgrading tools to support p6
17:05 audreyt for example "perldoc" doesn't grok kwid yet
17:05 audreyt and perltidy can't reformat p6 code
17:05 audreyt PAUSE can't index "module Foo"
17:05 audreyt et cetera.
17:05 fglock ok
17:10 fglock I think Pugs::Compiler belongs to Syntax;
17:10 audreyt true, if you think Rules as a p6 sublanguage
17:11 audreyt instead of something usable independently
17:11 fglock how about moving Tools upgrade, Infrastructure, Augmentation to a second stack?
17:11 audreyt as in "not #perl6"?
17:11 ajs_ The http://pugs.blogs.com/pugs/2​006/07/diagram_for_per.html mentions Moose::Meta... CPAN should probably know about Moose::Meta so as not to confuse those who try to "cpan" something they see in the diagram...
17:12 audreyt I'll change it to "Moose"
17:12 audreyt fglock: what would you call that stack?
17:12 ajs_ Or that ;)
17:12 fglock they are "perl as a VM", I think
17:12 fglock maybe move to "core"
17:13 fglock some things could be side-by-side
17:13 audreyt yes, like infrasturecure vs augmentation
17:14 fglock like in "CPAN is the language"
17:14 audreyt "CPAN is the language, perl is the VM, v6 is a better syntax"
17:15 ruoso audreyt++
17:17 rzoz joined perl6
17:18 fglock how about 3 columns: Tools (new CPAN over old CPAN), Semantics (Moose over MOP), and Syntax (v6 over Rules/Module::Compile/Yapp)
17:20 audreyt (but there is a dependency)
17:20 audreyt i.e. the tools is going to depend on the syntax layer for actually working with p6 source
17:20 audreyt and the syntax layer demends on the semantics for the output to work
17:20 audreyt and the dependency is one-way
17:22 fglock how about moving Semantics/Infra/XS side by side - they don't depend on each other
17:22 audreyt the semantics would depend on infra+xs
17:22 audreyt but I agree infra and xs has no dependency
17:22 audreyt I'll move those two side by side
17:23 fglock ok!
17:24 audreyt fglock++
17:25 fglock Data::Bind installation says "Can't locate Devel::Caller" - I'll try to install separately
17:26 audreyt fglock: yeah, install from http://search.cpan.org/dist/Devel-Caller/
17:26 lambdabot Title: "Richard Clamp / Devel-Caller - search.cpan.org"
17:26 audreyt (is this still win32?)
17:26 fglock audreyt: yes
17:27 audreyt ok
17:27 fglock "Module::Build not configured with C_support" - I've seen this before - fixing
17:27 audreyt install ExtUtils::ParseXS
17:27 audreyt then force M::B again
17:29 theorbtwo (Module::Build)--
17:29 theorbtwo What, we should ./configure --enable-foo ?
17:30 putter given \(2,3) even :(Int;;Any) :(Int;Int) is ambiguous, yes?
17:30 svnbot6 r11265 | audreyt++ | * v6.pm - Makefile.PL now supports Win32 as well in its ENV/PERL6LIB
17:30 svnbot6 r11265 | audreyt++ |   line, so 08-test.t also passes on VanillaPerl.
17:31 putter hi audreyt, everyone
17:31 audreyt putter: why? Int;Int wins
17:31 fglock putter: hi!
17:31 audreyt fglock: v6.pm just passed all tests on vanillaperl for me as of r11265
17:31 * putter ponders...
17:31 audreyt without r11265 test.t would fail
17:31 putter hi fglock!
17:31 audreyt putter: :(Int;;Any) is no different from :(Int;Any)
17:32 audreyt I mean
17:32 audreyt putter: :(Int;;Any) is no different from :(Int;Any;;)
17:32 fglock audreyt: great! I'm still installing here
17:34 fglock "syntax error at -e line 1, next char )" making ExtUtils-ParseXS
17:34 putter so ;; means "I have nothing more to say", rather than "I assert we need to have been done by now".  right.
17:35 audreyt putter: right.
17:35 fglock trying dmake instead of nmake
17:36 audreyt fglock: always use dmake with vanillaperl
17:36 audreyt I just cp'ed it to make.exe
17:36 cognominal joined perl6
17:36 audreyt and nmake.exe
17:36 audreyt i.e.
17:36 audreyt cd \vanilla-perl\util\
17:36 audreyt copy dmake.exe make.exe
17:36 audreyt copy dmake.exe mnake.exe
17:36 fglock audreyt: ok
17:36 audreyt s/mnake/nmake/
17:41 audreyt szbalint: try again
17:41 svnbot6 r11266 | audreyt++ | * szbalint++ requested that Perl5-land errors should be
17:41 svnbot6 r11266 | audreyt++ |   propagated as full SVs, not strings, in Perl6-land.
17:41 svnbot6 r11266 | audreyt++ |   Implement this by making an instance of (MonadError Eval Val)
17:41 svnbot6 r11266 | audreyt++ |   and make throwError the Val-throwing variant of the
17:41 svnbot6 r11266 | audreyt++ |   String-throwing "fail"
17:41 szbalint audreyt: ok
17:41 fglock audreyt: do you think the p5 files should be optimized for readability - so it would be better not to emit compiled rules into compiled p6?
17:42 audreyt fglock: I think there should be an idiom layer that makes use of P::C::R easy
17:42 audreyt esp for grammars
17:42 audreyt s/idiom/sugar/
17:43 audreyt the current *foo = P::C::R->...->>code way is a bit verbose
17:43 audreyt same for Data::Bind
17:43 fglock broquaint implemented a 'install' command in PCR
17:43 audreyt maybe move to use Attributes
17:43 audreyt sub moose :signature(...) {...}
17:43 audreyt and I think v6 should emit things with those sugars
17:44 audreyt because that's how we show people the "p5 equiv meaning" of their v6 programs
17:44 audreyt so yeah, I think precompiling rules at this point is microoptimization
17:45 audreyt though it does remove the P::C::R from the runtime dependency
17:45 audreyt maybe a flag that defaults to "not precompile" ?
17:45 larsen joined perl6
17:46 fglock inlined code would be able to run without PadWalker, because it's inside the user code
17:46 svnbot6 r11267 | Sage++ | m// now properly applied (instead of //m, my mistake). length(foo) -> foo.chars is in the code, but not properly tested.
17:47 nothingmuch joined perl6
17:47 fitzzz joined perl6
17:47 audreyt fglock: but inlined code destroys readability if you really _inline_ them
17:47 fglock but that's a solved problem, so it's not a good reason
17:47 fglock ok
17:47 audreyt is it possible to put inlined code at bottom
17:48 audreyt and then call to them at user code
17:48 audreyt and user code would be identical to P::C::R
17:48 audreyt except the ->install actually looks up inlined precompiled code first
17:48 audreyt and if it's there, instead of compiling the rules, simply return the closures?
17:48 cjeris left perl6
17:48 audreyt that's like the best of both worlds
17:49 fglock I'll investigate that.
17:49 fglock I'll try to recompile PCR grammar to :ratchet, so maybe it will be fast enough
17:50 audreyt cool
17:50 fitzzz is it possible that fork() dont work on win32 ?
17:50 fitzzz oops wrong chan
17:50 audreyt fitzzz: yeah. and short answer: it works
17:50 audreyt but doens't work the same way as on unix.
17:50 audreyt "perldoc perlfork" for details
17:50 buubot Type 'perldoc perlfork' in your shell or go to http://perldoc.perl.org/perlfork.html
17:50 lambdabot Title: "perlfork - perldoc.perl.org"
17:50 fitzzz any docs on that ?
17:50 fitzzz ok thanks
17:50 fglock currently all of v6 is still slow backtracking code
17:51 audreyt fglock: yup. you need to pull the same predictive-parsing fix as I did in Parsec-land :)
17:52 fglock tokens and regexes in PCR cannot call each other - so I need to either fix that, or convert the whole compiler at once
17:53 fitzzz left perl6
17:54 aufrank joined perl6
17:55 audreyt fix that = better idea
17:55 fglock "make test" in Devel::Caller kills perl after failing 3 tests
17:55 audreyt known. force install
17:55 audreyt investigating that with #p5p
17:55 audreyt it's a ithreads thing
17:55 audreyt v6 doesn't uses the failing parts
17:56 fglock audreyt: I've been working around all kinds of bugs in order to finish the compiler :)
17:56 audreyt fglock: which is why we need the porters
17:57 audreyt and why it's a stack :)
17:57 fglock I mean, my own bugs
17:57 audreyt ah.
17:57 fglock and refactoring after it works :)
17:57 audreyt that's the agile way :)
17:58 audreyt arguably that's also what the language spec is doing too...
18:00 Daveman joined perl6
18:01 fglock it's been a tight schedule so far: parser=1 month; rules=2 months; compiler=2 months
18:02 audreyt "schedule"? :)
18:02 audreyt I'd say it's been an amazing velocity so far
18:02 spinclad seconded
18:03 bpphillips fglock++
18:03 fglock Data::Bind installed!
18:04 audreyt woot. now let's see if v6.pm passes tests...
18:04 audreyt fglock++ # indeed -- in #perl6, such velocity has only been matched by iblech++ in the past
18:04 fglock installing from CPAN...
18:04 fglock audreyt: :)
18:05 fglock how about a javascript version of Rules? then we can port the compiler easily
18:05 spinclad fglock++  # <aol/>
18:06 audreyt fglock: that'd be so cool.
18:06 audreyt I kind of still want librules in C and convince spidermonkey to link it in
18:06 fglock we could make the Rule emitter to emit Perl6, and the run the compiled grammar in javascript...
18:07 audreyt yes, but, "eval"
18:07 fglock librules in C would be nice for all backends
18:07 audreyt "eval" needs full stack on the target
18:07 audreyt unless you want "eval" to be an XmlHttpRequest
18:07 audreyt which... is sane
18:07 fglock eval() will work once you have the compiler
18:07 fglock running in javascript
18:08 DaGo joined perl6
18:08 audreyt yup
18:08 fglock seeing eval() work for the first time in p5 was amazing :)
18:09 fglock installation proceeds smoothly ...
18:11 joples joined perl6
18:13 fglock audreyt: re perl6 stack - there is a layer for circular things, like the rule grammar, which is written in p6
18:13 audreyt fglock: from user perspective there's no such thing
18:13 audreyt from the dev perspective there's a lot of metacircularity
18:14 fglock ok
18:14 audreyt sanug says he's working on one that fully explores the v6.pm magick
18:14 audreyt bbiab
18:35 spinclad "Otherwise, it plays a card game (Mutual Assured Destruction) with the other side."  specificity++ :)
18:37 fglock bbiab
18:41 svnbot6 r11268 | audreyt++ | * mmd-draft: double-semi must occur after single-semi.
18:42 lollan joined perl6
18:45 lollan joined perl6
18:46 lollan joined perl6
18:46 sahadev left perl6
18:50 buetow joined perl6
18:54 putter audreyt: remind me why the card came discards the roles and tries again?
18:57 spinclad so that you always have better, worse, equal, or incomparable?
18:59 penk joined perl6
19:02 spinclad since the roles float, and don't speak to specific places in the hierarchy.
19:05 audreyt putter: it doesn't try again
19:05 audreyt putter: it's just discard the roles and see if both loses or both wins
19:07 rindolf joined perl6
19:07 rindolf Hi all.
19:08 audreyt i.e. with (Storable Animal Moose) vs (Readable Moose)
19:08 audreyt it's a mutual win, not Animal Moose win
19:08 audreyt so you don't really play the game again
19:09 rindolf Hi audreyt
19:09 audreyt rindolf: hi
19:09 * audreyt sings mad praises at kudra, our new summarizer
19:10 rindolf audreyt: Can you (and others) tell me what you think about http://eskimo.shlomifish.org/Files/files​/text/html-widgets-navmenu-tpf-grant.txt ?
19:10 audreyt (a backlog summary will be posted in a few days)
19:10 mauke_ joined perl6
19:10 putter hi spinclad, audreyt
19:10 rindolf audreyt: summariser for the IRC channel?
19:10 audreyt rindolf: no, for perl6-*
19:10 audreyt you know, the "Perl 6 Summary" that has been missing since, oh, February
19:10 rindolf audreyt: oh, I see.
19:10 rindolf audreyt: ah OK.
19:11 rindolf Maybe I'll start one for perl-qa and module-authors.
19:11 TreyHarris audreyt: oh, cool, where's the summary?  i didn't get it on p6-l
19:11 audreyt TreyHarris: I'm going to review+polish it a bit during this weekend
19:11 audreyt so expect it to be posted on p6-a and/or use.perl early next week
19:11 TreyHarris ah, ok, so it's not a mistake that i haven't seen it yet :-)
19:11 audreyt it is not :) but I'm very happy :)
19:12 * TreyHarris is happy vicariously
19:14 audreyt rindolf: it's quite well written
19:14 spinclad kudra++
19:14 rindolf audreyt: OK, thanks.
19:14 audreyt should probably become part of HTML::Widget::NavMenu's TODO
19:14 audreyt or part of its POD
19:14 rindolf audreyt: yes, I guess I can put some of the stuff there.
19:15 audreyt but the "Who uses it" section seems to indicate that TPF is not likely to fund the development, as it would only improve live for a few people
19:16 putter ah, so I was wrong I think.  the ruledrop means we havent integreated the spinclad's objection to heterogeneous prefixes.  (R1) and (R2) are still comparable and equiv.
19:17 rindolf audreyt: OK.
19:17 rindolf audreyt: so you think I should completely remove it.
19:17 rindolf ?
19:17 rindolf Well, it is a generic module and can be used anywhere Perl can.
19:18 putter Does a parameter type list with redundant roles trump one without?   R1 does R2.  (R1)  (R1 R2)
19:19 audreyt nope
19:19 audreyt R1 can be written out as R1 R2
19:19 audreyt so they are wholly equiv
19:19 audreyt rindolf: I think it's fine as a piece of documentation, call-for-help, etc, for the module docs
19:19 audreyt and on your use.perl jjournal too
19:19 audreyt and mentioning TPF there would likely confuse things
19:20 audreyt I think Alias's Strawberry proposal is done after he gets a TPF grant
19:20 audreyt or a promise for a grant
19:21 putter so I think... the function of role drop is exactly to (what spinclad objected to) permit unrelated roles, not associated with a listed class, to be comparable.
19:21 audreyt and so is more like relaying for TPF, instead of encouraging others to submit to TPF
19:21 audreyt putter: it is.
19:22 audreyt and I think Storable and Readable should indeed both advance...
19:22 spinclad i think i have a case of instability.  first, stability:  for variants U, V, W, if U > V (U wins against V) and U > W  but U !> V + W, this is unstable.
19:22 audreyt right.
19:24 putter Junctive types are treated as their narrowest alternative, yes?
19:24 spinclad the case:  U = (Int; Int, Num)  V = (Int, Num; Int)  W = (Int, Int, Num)
19:24 putter ah, I'll just leave it flagged.  final pass and checking in
19:24 * putter reads spinclad's example
19:25 mauke_ is now known as mauke
19:25 audreyt putter: yes.
19:26 FurnaceBoy_ joined perl6
19:26 spinclad sorry,  W = (Num, Int, Int)
19:26 vel joined perl6
19:26 putter i thought i knew what puzzle you were going for (one is flagged in the new draft), but that's not it.
19:26 putter let me proof and check in, and then i'll be back
19:27 spinclad U beats V by V's semi   U beats W by U's semi  but V keeps W alive as spoiler where it beats U at the end.
19:27 audreyt spinclad: yes. it's unstable
19:28 spinclad interleaving semis are bad news
19:28 spinclad *sigh*
19:29 * audreyt is reminded of Arrow's paradox somehow
19:29 spinclad or circular electoral preference
19:29 audreyt spinclad: it can be made stable if we s/all/any/
19:29 spinclad (though not exactly)
19:30 audreyt but I like the "all" semantic better, honestly
19:30 audreyt and I think unstability in face of interleaving semis is... fine.
19:30 spinclad kill all spoilers every time we pass any semi?
19:30 audreyt spinclad: kill all spoilers when any of the contenders has a semi
19:30 audreyt instead of all
19:30 TimToady one wonders if semis must be specified by proto only...
19:31 audreyt spinclad: because "any" essentially make all semi align
19:31 rindolf audreyt: I see.
19:31 audreyt TimToady: you mean, textually the first multi with semi dominates the rest
19:32 audreyt TimToady: or you mean that proto is neccessary whenever you want to use semis
19:32 spinclad I'm starting to think spoilerhood is a binary relation, which ends for a pair when either passes a semi
19:32 audreyt both are a bit weird
19:32 TimToady the latter is what I meant
19:32 audreyt spinclad: that gets us stability too
19:32 rindolf audreyt: well, I originally sent two drafts of a proposal for strawberry perl after I saw Adam Kennedy's entry about it.
19:32 audreyt oh! cool
19:32 rindolf audreyt: that was before I started working for Oleh.
19:33 rindolf Hi TimToady
19:33 TimToady hi!
19:33 audreyt spinclad: but see TimToady's suggestion
19:33 audreyt essentially, the semi set is prearranged so all candidates must agree
19:34 audreyt this is weird because of differing arity
19:34 TimToady "can always relax it later"...
19:34 rindolf TimToady: what's the status of your p5->p5 compiler? Is it in the core already?
19:34 audreyt as multis with varying arities can't really conform to a proto that lists semis for them
19:34 audreyt so I'm not sure how this flies
19:34 TimToady it's mostly there, but there has been some bitrot.
19:34 svnbot6 r11269 | putter++ | mmd-draft.txt:  now cleanly reflects current understanding.
19:34 rindolf TimToady: do you  have unit tests for it?
19:35 rindolf TimToady: or any kind of tests?
19:35 TimToady not really.  there were tests involving copying t/ ext/ and lib/ and then roundtripping every .pm or .t in them.
19:36 TimToady but nothing test-harnessy
19:36 spinclad i could see a subproto that only applies once you've decided at the first semi which main variant to take
19:36 putter re the interleaved colon issue,
19:37 TimToady Sage is just working off my pre-core version of it.
19:37 shachaf joined perl6
19:37 TimToady the version that spits out yaml
19:38 TimToady but I need to de-bitrot the core version one of these years...
19:38 rindolf TimToady: I'm sorry that you missed my Test-Run presentation.
19:39 spinclad at each successive semi, all variants in consideration must agree.  i would very much favor this.
19:39 putter the thing is I think you want the spoilers (now "active noncontenders") to be made weak refs, prevented from being gc'ed only by the continued contenderedness of the dissenters which prevented them from being exterminated at a otherwise consensus colon.
19:39 rindolf TimToady: it was placed in the Python track in the middle of two other longer presentations in the two other tracks.
19:40 spinclad actually, that's what i don't want:  it makes for instability.
19:40 spinclad unless we're talking past each other
19:40 putter ie, a contender lacks a semi, preventing spoilers from being zapped.  the affected spoilers should be tagged "zapped but temporarily spared by request of contender x".  when the dissenter goes away, so do those now "not important" spoilers.
19:41 spinclad i think i can still find an unstable case...
19:41 putter talking past I think.  i believe this provides stability, while still allowing interleaving.
19:41 spinclad (if we want interleaving... different issue)
19:41 putter or not. (stable)
19:44 spinclad U = (Int; Num, Num)  V = (Int, Num; Any)  W = (Num, Num, Int)
19:44 FurnaceBoy joined perl6
19:45 spinclad U > V, U > W, but interleaved semis keeps W alive.  U not > W till too late.
19:45 putter hmm.  it might be that woundedness has to be a relation, rather than a predicate.  "the spoilers would be gone but for the dissenters.  every wound they inflict is only -relative to the dissenter-.  they do not affect the relative woundedness of the nondissenters who wanted those spoilers gone.  only if the dissenter is in
19:46 putter the final contender set do those potential wounds (disqualifications) become real."  which is perhaps a bit nightmareish to implement when you then hit a few more semis?  i'm brainstorming here.
19:47 spinclad i agree, i think that brings stability.
19:48 spinclad (if i've read you right.)
19:49 spinclad U's spoilers get cleared out whenever U has a semi; so V keeping W alive against V doesn't keep W alive against U.  U wins.
19:49 putter so let's see.  there is a set of tripples, <n,x,y>  at position n, x disqualified y
19:50 putter that is independent of semis
19:50 putter doublesemi is easy.  clear out all <n,x,*> for n > pos.
19:51 spinclad i'll try to harvest these to a test file before i go on vacation for a week this sunday.
19:55 spinclad but enforcing aligned semis by proto is seriously appealing and much simpler, both to explain and implement.
19:56 putter the key question is what "less important" means.  we think we understand one case of it.  when all contenders think the right is less important than the left, variant disqualified on the left, on the important stuff, are felt to have nothing worth listening to say about handling of the right.
19:56 putter s/variant dis/variants dis/
19:56 spinclad (different issue again)
19:56 putter ?
19:57 putter so the question is how to play "less important" when not everyone agrees.
19:57 spinclad (what i last said, not what you said next)
19:58 putter ah, ok
19:58 audreyt spinclad: try Test::LectroTest
19:58 audreyt (or Test.QuickCheck)
19:58 spinclad looking
19:58 audreyt which seems like perfect for property-based stuff like "stability"
19:58 audreyt as you can magickally tell it to "find a counterexample"
20:00 audreyt TimToady: so, with
20:00 audreyt proto range ($x, $y; :$by, *%)
20:01 TimToady you'd make multi range ($x; $y) illegal
20:01 audreyt all variants must have exactly two positionals
20:01 audreyt and they have to be all mandatory?
20:01 audreyt or can I still have
20:01 audreyt multi range ($x, $y, $z, :$by)
20:01 audreyt ?
20:02 audreyt or multi range ($x, $y, ?$z, :$by)  ?
20:02 audreyt sure, I understand under that we'll just outlaw semicolons in multis
20:02 audreyt saying that it's a proto-only syntax
20:02 audreyt but my concern is that it may fail to express varying arities
20:03 audreyt each with perhaps different cutpoints
20:03 audreyt ($x)  ($x, $y; $z)  ($x, $y; $z, $w)
20:03 audreyt cannot be unified by a proto, can it?
20:03 TimToady I'm not sure it would disallow semis elsewhere, just that they'd have to be consistent in some sense.
20:03 audreyt yet it seems to be to be a sane case
20:04 TimToady something like, only a proto is allowed to specify where the next semi is.
20:04 audreyt so is there a proto that can unify the three variants above?
20:04 audreyt (and put a semi after $y)
20:05 TimToady ($x, $y?; $z?, $w?) maybe
20:05 audreyt but then it's a closed world again; a proto can't simply use
20:06 audreyt *@ *%
20:06 audreyt to allow extensibility
20:07 PerlJam Fully 50% of the time I pay attention to this channel it's like you all are speaking some foreign language that is familiar but not quite enough.
20:07 spinclad i don't see Test.QuickCheck, looking at Test-LectroTest
20:07 audreyt Test.QuickCheck is haskell
20:07 audreyt lextro is perl
20:08 spinclad ($x, $y?; *@, *%)
20:08 spinclad ah, already said
20:09 audreyt ($x, $?; *@, *%)
20:09 audreyt the "close world" means you can't then introduce a 5-arg variant that cuts at 4th
20:09 audreyt even though it'd be consistent and stable with regard to all the existing 1/3/4 arg variants
20:10 TimToady I'm very worried about explainability, after watching this discussion go by...
20:11 audreyt I am too... but really, so far it's just reiterating criteria set forth in S12...
20:11 TimToady And I always hated playing double-deck cancellation Hearts...
20:11 alexander joined perl6
20:11 audreyt though the card game we have to play no matter what the semicolon situation is
20:12 audreyt as it's about pairwise type closeness comparison
20:12 PerlJam refresh my memory ... : is the "stop word" for invocant parameters, and ; is the "stop word" for those that participate in MMD ?
20:13 audreyt PerlJam: yes, though there is at most one invocant
20:13 audreyt TimToady: it's a bit like explaining preferential voting to people -- you know that it will produce a better government, but highest-score-wins is easier to explain and therefore is deployed to detrimental effects...
20:15 spinclad i don't know what an optional positional before a semi with a required positional after  would mean
20:15 PerlJam okay, so colon is the "invocant suffix".
20:15 audreyt spinclad: it means invalid syntax because optionals always come after required
20:15 spinclad (in fact, semi is irrelevant there)
20:15 spinclad good
20:16 spinclad but ($?; *@) i could see
20:17 TimToady multi-protos, anyone?
20:17 audreyt aw...
20:17 ajs_ I'm confused. I thought (according to S06) that the semi was dead, and we were relying strictly on * and ? for optionality in prototypes...
20:17 TimToady different semi
20:18 ajs_ ...?
20:18 TimToady * and ? are still optionality
20:18 audreyt ajs_: what used to be "multi f ($a : $b)" is now "multi f ($a ; $b)"
20:18 TimToady reserving colon only for invocant.
20:18 TimToady so "multi method" can unambiguously either specify $self or not.
20:19 audreyt and "multi method f () {}" is no longer syntax error.
20:19 ajs_ hurg... ok... I need to go back and unbreak some stuff in S29. I think I learned this lesson before, but it's been a bit
20:19 TimToady the s/:/;/ is very recent
20:19 TimToady Chicago hackathon, in fact.
20:20 PerlJam so ... multi f (Int $a: Str $b) { ... }   multi f (Int $a, Str $b:) { ... }   is valid?
20:21 TimToady neither is valid any more
20:21 audreyt only if you change the colons to semicolons
20:21 TimToady must use ;
20:21 audreyt and the semi at the end is redundant
20:21 * PerlJam is trying to figure out what "invocant" means in this context.
20:22 audreyt there is no invocant to a multi sub
20:22 audreyt invocant is always the thing that is bound to "self"
20:22 audreyt TimToady: putter proposed "multi f (Int $a ;; Str $b)"
20:22 audreyt purely syntactic
20:22 ajs_ So, the part before the semi is just what you do MMD on, right?
20:23 PerlJam ajs_: that's how I understand it.
20:23 audreyt so that we can say "there is an implicit ;; at the end if there's none"
20:23 TimToady audreyt: yes, I saw that earlier.  still trying to decide if I like it...
20:24 audreyt the use case here is trying to tell people that (Int, Str) means (Int, Str ; )'
20:24 audreyt but (Int ; Str) is different from (Int ; Str ;)
20:24 audreyt becomes kinda awkeard
20:24 TimToady yes, I understand the motivation
20:24 ajs_ So, what is (Int; Str;)?
20:25 audreyt ajs_: it means try to tiebreak with Int first if it can
20:25 ajs_ Ok
20:25 audreyt but if there are still ambiguitiy remains, then try to use Str as well
20:25 audreyt see http://svn.openfoundry.org/pug​s/misc/pX/Common/mmd-draft.txt
20:25 rindolf Bleh, chromatic still insists on thinking that I should immediately re-license my original Test::Run code to GPL+Artistic : http://www.mail-archive.com/pe​rl-qa%40perl.org/msg06085.html
20:25 lambdabot Title: "Re: [Slightly OT] Understanding Software Licences [was Re: Proposal Sugg"
20:26 rindolf audreyt: how is the PDification of Pugs progressing?
20:26 PerlJam how common would it be to NOT want to do that?  i.e.,   (Int, Str;)  instead of (Int; Str;)  ?
20:26 audreyt rindolf: chromatic likes copyleft... so he is entited to that
20:27 rindolf audreyt: BTW, I started refactoring my Graham's Function script (expert QOTW 8) in perl 5, which as you recall a perl 6 version of it is under examples.
20:27 audreyt rindolf: PD is not valid in .eu, so we went to MITX instead, and then only for the Haskell/Perl6 code in src/
20:27 rindolf audreyt: yes.
20:27 rindolf audreyt: OK.
20:27 rindolf audreyt: MITX is a sound choice.
20:27 * rindolf is using it.
20:27 audreyt well, same for my CPAN modules. *shrug*
20:28 rindolf audreyt: of course a German used my PD code in KDE's Kpat.
20:28 rindolf audreyt: I see.
20:28 audreyt it is true that to create a copyleft fork requires lots of time, and so you discourage chromatic from forking your code.
20:28 audreyt may be contrued as good idea.
20:28 TimToady another easy-to-teach-but-maybe-suboptimal approach is that every variant assumes semicolon everywhere that *any* variant requests one.
20:28 rindolf But a copyleft licence does not prevent forking.
20:29 rindolf I think I won't reply to his message. I don't have anything too wise to say, either.
20:29 audreyt rindolf: that is wise. let's drop that.
20:29 PerlJam TimToady: action-at-a-distancey
20:29 rindolf audreyt: yes.
20:29 audreyt TimToady: yeah, that is the "any" approach
20:29 TimToady yes.
20:29 TimToady multi range ($x; $y) is evil under that scenario
20:29 rindolf audreyt: but I'll need to revamp my Test::Run meta-proposal a bit to avoid such problems.
20:30 rindolf Well, maybe I'll try to install Lisp-in-a-box now.
20:30 audreyt TimToady: yeah. we've explored that space yesterday... still like "all" better, and pairwise stability can be preserved; easy-to-teach I think mostly relies on wordsmithing :)
20:31 audreyt TimToady: mostly trying to approach the intent as worded inS12
20:31 TimToady yeah, just looking for easy ways to trim out the dwimmy bits temporarily.  carry on..
20:33 * TimToady feels his brain asymptotically approaching stupid from lack of nutrients, so lunch &
20:33 audreyt :D
20:35 Daveman oh, TimToady lives near me?
20:35 cognominal joined perl6
20:35 * Daveman shrugs
20:36 rindolf TimToady: how old is your oldest kid?
20:37 nxu7 joined perl6
20:37 spinclad audreyt: where can i find Test.QuickCheck?  i don't to have the equivalent of a CPAN webpage bookmarked...
20:38 * Daveman pokes shlomi
20:38 bpphillips left perl6
20:39 rindolf Hi Daveman
20:39 rindolf Well I'd better go do something productive like cleaning up my inbox.
20:40 spinclad or i'll look for it again after vacation  (it'll be a _looooong_ backlog).
20:41 audreyt spinclad: it's GHC core
20:41 audreyt http://www.cs.chalmers.se/~rjmh/QuickCheck/
20:41 lambdabot Title: "QuickCheck: An Automatic Testing Tool for Haskell"
20:41 spinclad thanks
20:42 audreyt http://www.haskell.org/ghc/docs/6.4.2/html​/libraries/QuickCheck/Test-QuickCheck.html
20:43 fglock audreyt: v6.pm is working on vanilla-perl :)
20:43 spinclad ah, there's the library pages, tx again
20:44 audreyt fglock: ooooh
20:44 audreyt fglock: good :)
20:44 audreyt people using ActivePerl needs to wait for Devel::Caller being fixed, and the activeperl ppm cluster pickup
20:44 audreyt which is a week at least
20:44 audreyt alternatively, they'd need Visual C++ 6.0
20:45 audreyt but vanillaperl works today :)
20:45 audreyt Alias++
20:45 audreyt dagolden++
20:47 spinclad (gonout baxoon) &
20:53 fglock Limbic_Region: ping
21:07 audreyt encoding-warnings 0.10 released and made lexical pragma
21:07 ajs_ S03 suggests "constant $foo". Mailing list has suggested "constant foo". S29 as re-written by Larry suggested "constant foo". Are we generally expecting "constant foo"?
21:07 * audreyt goes back to the porters crowd after, wow, nearly 2 years of absence
21:08 ajs_ porters++
21:08 audreyt ajs_: good question.
21:08 audreyt constant $foo is definitely in.
21:08 audreyt "constant foo" can be construed in building a nullary constant macro function
21:08 audreyt as in
21:08 audreyt macro foo () { ...value... }
21:08 audreyt I think we should keep both.
21:09 ajs_ Ok, so it's roughly what I thought. So if I say "constant foo" I shouldn't be shocked (though perhaps apauled) to see "foo()"
21:09 penk joined perl6
21:09 fglock Limbic_Region: sent a simple exp evaluator in p5-Rules
21:09 audreyt aye. ditto p5.
21:09 ajs_ Thankee
21:09 audreyt np
21:10 audreyt actually, S04 has the function form.
21:10 * gaal meows
21:10 audreyt so it's both a scope declarator _and_ a code declator
21:10 ajs_ Ok, thanks for the pointer
21:10 audreyt very curious, that.
21:10 * kolibrie throws gaal some yarn
21:12 * gaal chases, unfurls, ties and twirls
21:13 fglock audreyt: what is the recommended way to create inc/ and META.yml?
21:13 gaal pmurias: src/Pugs/AST/CapInternals.hs, which is not yet compiled (it's just a disabled version of Internals.hs)
21:16 audreyt fglock: copy the entire path somewhere off the pugs tree
21:16 audreyt cp perl5/Pugs-Compiler-Perl6 /tmp
21:16 audreyt cd /tmp/Pugs-Compiler-Perl6
21:16 audreyt rm -rf inc
21:16 audreyt perl Makefile.PL
21:16 audreyt make dist
21:16 audreyt you need Module::Install installed
21:16 audreyt also, currently you need to copy Test.pm by hand into t/
21:17 fglock thanks!
21:18 penk joined perl6
21:20 FurnaceBoy_ joined perl6
21:20 dduncan joined perl6
21:21 alexande2 joined perl6
21:21 gaal audreyt: how is returned type expressed in data Capt ?
21:21 gaal does every "type" have a Class?
21:23 gaal what is the definition of a return type constraint in Perl 6? One simple idea is either (a) some Class (b) some junction of (a) or (b).
21:24 audreyt it is a Sig
21:24 gaal ISTR luqui stipulating that on the surface level, defining item + slurpy context return vals is done with a junction, but that didn't make sense to me at the time
21:24 gaal audreyt: so a Sig includes a Sig field?
21:24 audreyt no
21:24 audreyt        { c_signature         :: Sig
21:24 audreyt needs a field after it
21:24 audreyt c_returns :: Sig
21:25 gaal hmmm, so to mmd you need two Sigs?
21:27 gaal and does method f ($x --> Int $b) put the same thing in c_returns as does method f ($x) returns Int $b ?
21:28 gaal is there any sense at all to the invocant slot of a c_returns?
21:29 rindolf Hi gaal
21:30 rindolf gaal: did nothingmuch and you agree to MITXify your code?
21:30 gaal "our code"?
21:31 rindolf gaal: in Pugs.
21:31 audreyt gaal: yes there is some sense at all
21:32 audreyt not much, but some
21:32 gaal so only a 2-disjunction
21:32 gaal ?
21:33 audreyt not sure what you mean
21:33 gaal audreyt: the return valur can ony be simple-type, or simple-type | simple-type?
21:33 gaal oh sorry
21:34 gaal you're responding to sometihng else
21:34 audreyt the return value can be whatever
21:34 gaal okay, what does a return type inocant mean?
21:34 audreyt a full Capt
21:34 putter ok, have story, seek audience
21:34 audreyt f([,] g())
21:34 audreyt if g has an inv ret
21:34 audreyt then that inv gets f meth
21:35 audreyt hm, it's more convincing before when we used *g()
21:37 Entonian joined perl6
21:38 putter each variant maintains its own world view.  it's own two sets of "who's qualified?", and "who's alive?". (aka contender and active; aka unwounded and alive).
21:38 fglock sent Pugs-Compiler-Rule-0.09 to cpan - only minor fixes
21:39 putter at each position, the process cries out "everyone who thinks x is alive should mark y as disqualified!".
21:39 gaal rindolf: you have permission to use my code.
21:40 putter individual variants notice when they pass their own semis, and do the usual, the disqualified cease to be alive.
21:40 gaal audreyt: I'm not sure I'm following... is that a function call syntax that gets dispatched to a method?
21:40 audreyt gaal: it is
21:40 svnbot6 r11270 | fglock++ | Pugs-Compiler-Rule 0.09
21:40 putter after running all the positions, if everyone agrees that a unique qualified variant exists, it is chosen.  else ambiguity.
21:40 audreyt gaal: the [,] makes it oh-so-non-convincing
21:41 audreyt so maybe we kill that.
21:41 audreyt in which case, the return sig is just a SigSubSingle .
21:41 audreyt gaal: since the idea of [,] is that it expands syntactically as arg,arg,arg
21:41 audreyt but inv needs to be
21:41 audreyt inv:arg,arg
21:41 audreyt so it's natural that [,] can't put it there
21:42 gaal uh, and named and slurpies
21:42 audreyt and so it's natural that return($pos, :$named) is fine
21:42 gaal yeah
21:42 audreyt since return($inv: $pos) is probably not calling return anyway
21:42 audreyt but instead invoking a meth called return
21:42 putter oops, no.  that's if everyone _who thinks they are qualified_ agrees...
21:42 audreyt so all ties together now
21:42 audreyt good.
21:43 audreyt putter: yup, that condition is needed.
21:43 putter the "all qualified have simultaneous semi" is an obvious subcase
21:43 audreyt and yes, that makes the whole process pairwise.
21:44 * gaal steps back to avoid crosstalk
21:44 putter so what am i missing?
21:44 putter or rather, what have I missed?
21:45 audreyt "the process" plays the card game for the variants
21:45 audreyt right?
21:45 putter yes
21:45 audreyt good. write it down in mmd-draft.txt? I think it's sane.
21:46 putter hmm.  I'm still doubtful of it.  was hoping for someone to take some potshots at it. :)
21:48 fglock t/08-test.t - # Test 1 got: "ARRAY(0x814bd54)" (same in windows and linux)
21:49 fglock it may be loading p5's Test.pm?
21:50 ajs_ Can anyone think of a good reason why Trig functions would have to live in Math::Trig *and* Num namespaces?
21:51 TreyHarris ugh, ridiculous javascript footprint though... just opening it ate up 200MB more memory in my firefox process
21:51 TreyHarris oops, wrong pane, pardon me
21:52 fglock &
21:53 audreyt fglock: the CPAN release of v6.pm has a bug in Makefile.PL
21:53 audreyt fglock: I fixed it in the trunk.
21:54 audreyt pugs trunk, that is
21:54 audreyt fglock: so maybe I'll cut a new v6.pm release tonight
21:54 audreyt so that it can pass all tests on win32
21:54 audreyt fglock: (the Makefile.PL magick was setting PERL6LIB environment so that it sees t/Test.pm first)
21:55 rindolf gaal: no, I'm not interested in using your code (at least not until I find one that I need to use). I'm just asking about the Pugs conversion to MIT X11.
21:56 fglock audreyt: btw, the Changelog says Parse::Yapp is no longer used, but it is still used for precedence - see changelog for v0.003
21:56 rindolf Because audreyt wants to relicense it.
21:57 audreyt fglock: it's no longer used on v6 level
21:57 audreyt only indirectly on PCR
21:57 fglock oh, right
21:59 fglock going home &
22:00 fglock left perl6
22:03 TreyHarris audreyt: why relicense?
22:08 TreyHarris audreyt: nevermind, i found http://pugs.blogs.com/pugs/2​006/04/licensing_clari.html
22:14 alexande2 is now known as alexander
22:17 gaal rindolf: I'm very whatever about licensing; sqlite blessing is what I'm happy with, attitude wise; and I'd prefer not to waste my energy debating that. For practical reasons it seems MIT license is the way to go, and I'm fine with that too (on the one pugs module that has my name on it explicitly, that license is in fact given explicitly as well).
22:18 rindolf gaal: I see.
22:18 gaal It's my personal feeling that we have enough open source licenses as it is, and that consumers of code can be content with MIT license, but if they aren't, that's all good too.
22:19 rindolf gaal: yes.
22:19 rindolf gaal: there was something that the Open Source Foundation saying that they wanted to reduce the number of licences.
22:20 rindolf gaal: due to possible incompatibility between licence X and licence Y.
22:20 gaal "wake me when they're done"
22:22 rindolf gaal: :-)
22:31 szbalint audreyt: How can I use the perl5 objects then? When I try to do $!.method it dies with:
22:31 szbalint *** {obj-perl5} at (...)
22:31 audreyt szbalint: write a test?
22:31 szbalint audreyt: sure.
22:32 audreyt or extend t/perl5/exception_handling.t
22:33 szbalint yeah, thats what I was thinking. :)
22:45 alexander left perl6
22:57 szbalint audreyt: commited.
22:57 svnbot6 r11271 | szbalint++ | Adding test, to check that when $@ is passed from perl5 land,
22:57 svnbot6 r11271 | szbalint++ | in case it is an object, it's methods can be accessed.
22:57 svnbot6 r11270 | fglock++ | Pugs-Compiler-Rule 0.09
22:59 gaal joined perl6
23:06 svnbot6 r11272 | audreyt++ | * exception_handling.t - make it more canonical
23:09 svnbot6 r11273 | putter++ | mmd-draft.txt: New story - each variant gets its own world view.  It looks more stable, but I don't have the warm fuzzies of full understanding yet.
23:09 putter spinclad, audreyt, anyone: new rev in.  feedback encouraged.
23:10 audreyt ok.
23:13 lollan joined perl6
23:16 szbalint audreyt: Hopefully I'm catching up slowly on the style guide of doing tests...
23:17 putter spinclad: your earlier instability example now does the right thing.  need more problematic cases now. :)
23:18 TimToady rindolf: 24
23:19 putter anyone have any favorite collections of signatures for mmd?
23:20 TimToady ajs: yes, I intended anything to be declarable as constant that might make sense, and perhaps a few things that don't.
23:20 audreyt constant class Foo { ... }
23:21 audreyt look, closed classes!
23:21 TimToady shh!
23:21 audreyt =)
23:21 TimToady actually, that's arguably just a role then.
23:22 TimToady if we take role/class to be divided on the immutable/mutable scale
23:22 audreyt szbalint: it's a GC mismatch
23:22 TimToady but the main point of s/my/constant/ is to force the = to BEGIN time.
23:23 TimToady [,] $capture is already gone, I think
23:23 TimToady S03 has =$capture for that.
23:23 putter (Int,Int) (Int;Int) (Int,Num) (Int;Num)   1/2->amb; 2/3->2; 2/4->2; 1/4->1
23:23 TimToady though that has its own problems.
23:23 audreyt no. you need both.
23:23 audreyt [,]=$cap
23:24 audreyt is the full form.
23:24 TimToady right.
23:24 szbalint audreyt: I don't understand, sorry.
23:24 audreyt szbalint: that's ok, I'm fixing
23:24 audreyt upshot is that $err considers itself unreferenced
23:24 * gaal perks up his ears
23:24 audreyt and so GC itself away from p5 land
23:25 audreyt leaving the Hs land pointing to a RV that's no longer there
23:25 audreyt problem is, Hs land is not refcounting
23:25 audreyt so we have to force it to have Refcnt++
23:25 audreyt and basically leak it madly
23:25 audreyt by never free any object thrown at us across $! boundary
23:26 audreyt (I know I'm not making sense. a sec. :))
23:26 SamB what? no finalizers in HS land?
23:26 TimToady I've been wondering how to hijack P5's GC mechanism...
23:26 audreyt SamB: PerlSV currently has no finalizer
23:26 audreyt it's possible to add one that then refcnt-- it
23:26 SamB wouldn't that improve things?
23:27 audreyt uhm. maybe.
23:27 SamB or would it never get run?
23:27 audreyt consistently do a ref++ for all wrapped SV
23:27 audreyt and then ref-- on finalization
23:27 audreyt it does get run when GHC is not busy
23:27 audreyt or upon program exit
23:28 TimToady distinguish finalization that can STM from finalization that can't?
23:28 audreyt but the GHC rts doesn't let us say
23:28 audreyt "these ForeignPtr needs timely destruction, so pleasr performGC but only walk paths leading to them"
23:28 audreyt it's either stop-the-world-and-count performGC
23:28 SamB because it does not have psychic powers?
23:28 audreyt or free-as-you-are-not-busy
23:29 audreyt SamB: no, I mean
23:29 SamB well, I mean, how would it know what paths lead to ForeignPtrs?
23:29 audreyt performSpecificGC :: Weak a
23:29 audreyt performSpecificGC :: Weak a -> IO ()
23:30 audreyt SamB: presumably by refcounting over them
23:30 audreyt enableRefCountingFor :: Weak a -> IO ()
23:30 SamB that sounds... complicated... and likely slow, too...
23:32 audreyt that sounds like IDisposable.
23:32 SamB isn't that a ... COM interface?
23:33 SamB those are hardly the same sort of thing as objects on GHC's heap
23:33 audreyt I understand.
23:33 audreyt all I'm saying is, GHC has no such interface
23:33 SamB its true
23:33 audreyt and so the usual timely-destruction guarantee in p5
23:33 audreyt is not possible when we cross to p6 land.
23:34 audreyt even with finalizers.
23:34 SamB what is "timely destruction"?
23:34 audreyt { open my $fh, "/etc/passwd"; }
23:34 TimToady Haskell doesn't quite actually believe in this thing called "time".
23:34 SamB hopefully they will make it so that finalization is at least a bit more timely in the future...
23:34 audreyt SamB: by the time the block finishes
23:34 audreyt p5 guarantees that the filehandle will be closed immediately
23:34 SamB but that wouldn't be a guarentee, really
23:35 audreyt TimToady: "the RealWorld is just another function argument"
23:35 TimToady from an STM perspective we merely need to keep it looking like things happened in the right order.
23:35 audreyt yes.
23:35 TimToady so we just look in the world object to see if anyone else intends to open the file in the meanwhile... :)
23:36 SamB Haskell does not disbelieve in time -- it merely transends it much of the time
23:36 gaal TBH strict slurp saddens me
23:36 audreyt my @x = =<file>; unlink 'file';
23:36 SamB what in the world is "strict slurp"?
23:36 audreyt SamB: deepSeq readFile
23:36 SamB it sounds like a contradiction in terms
23:37 audreyt TimToady: is it okay that @x is empty? :)
23:37 audreyt constrast: my $x = =<file>; unlink 'file';
23:37 TimToady er, I think a certain segment of the population would find it surprising.
23:37 audreyt contrast also: my @x = slurp('file'); unlink 'file';
23:37 audreyt TimToady: but you can't get
23:37 audreyt for =<file> -> $line { ... }
23:37 audreyt to be lazy
23:37 audreyt without getting the surprising unlink
23:38 * gaal understands the reasoning, but is sorry there's no magic to make it DWIM
23:38 audreyt those two are the same thing
23:38 audreyt unless perl6-land "unlink" somehow flushes
23:38 SamB wait a moment
23:38 audreyt but then, system("rm") will still trip you
23:38 TimToady are you saying you can't even open the file till first ref?
23:38 SamB does not unlink merely remove a directory entry from the directory ?
23:38 TimToady unix at least will do lazy unlink because it refcnts
23:39 gaal samb: on unix fss yes
23:39 TimToady I understand windows is not so enlightened.
23:39 audreyt not on win32
23:39 audreyt on unix though, you can truncate()
23:39 SamB and windows won't error because you tried to delete a file that is open?
23:39 gaal on win32 you'll probably get a persmission denied error.
23:39 SamB so don't truncate()
23:39 audreyt ok. try again
23:40 audreyt my @lines = =<file>; ...then somehow write/append to file...
23:40 audreyt that affects the not-yet-fully-evaluated lines of @lines
23:40 audreyt and that's fine, right?
23:40 TimToady yes.
23:40 audreyt but once you ask @lines of its size
23:40 audreyt the magick stops
23:41 audreyt and you can't then go back and change it
23:41 TimToady copenhagen, yes.
23:41 gaal the magic is gathered and refuses to be dispersed again
23:41 SamB well... the same thing happens in Haskell...
23:41 SamB and it doesn't even count as impurity ;-)
23:41 audreyt it counts as unsafe ;)
23:42 audreyt TimToady: so slurp() in list context
23:42 audreyt and =<> in list context
23:42 audreyt is the same?
23:42 SamB I think the formal argument is essentially "IO is crazy"
23:42 audreyt or slurp() should be the strict version?
23:42 TimToady slurp is always eager
23:42 SamB that sounds more like gulp()
23:43 audreyt and readline() is lazy like prefix:<=>?
23:43 audreyt i.e. synonyms on IO handles?
23:43 TimToady I think so.
23:44 audreyt ok, restoring laziness
23:45 gaal (A Scanner Darkly) &
23:49 ingy hi gaal
23:51 meppl gute nacht

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs