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