Check your feather email | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | www.treehugger.com/files/th_images/paradigm.jpg Set by audreyt on 29 August 2006. |
|||
markstos | I'm working on IO.pod a little. Will signals in Perl 6 be basically the same as Perl 5 ? and IPC ? | 00:00 | |
svnbot6 | r13281 | markstos++ | [docs/Perl6/Spec/IO.pod] | 00:17 | |
r13281 | markstos++ | - add some initial organization by adding "File, filehandles and directories" section, based on Perl5 perlfunc | |||
r13281 | markstos++ | - Created "unfiled" section for the rest of the functions for now. perl5 perlfunc | |||
r13281 | markstos++ | could provide further inspiration on how to organize these. | |||
r13281 | markstos++ | - Documented the first function, chmod, by doing 'perldoc -u -f chmod' | |||
r13281 | markstos++ | and copying the POD over. I trimmed out the 'fchmod' and 'fcntl' | |||
r13281 | markstos++ | sections because I wasn't sure how/if they applied to Perl 6. | |||
r13281 | markstos++ | If you know better, please add them back in with appropriate | |||
r13281 | markstos++ | adjustments. | |||
r13282 | markstos++ | IO.pod | 00:21 | ||
r13282 | markstos++ | change headings from 'or' to 'and' to make more sense. | |||
r13281 | markstos++ | [docs/Perl6/Spec/IO.pod] | |||
r13281 | markstos++ | - add some initial organization by adding "File, filehandles and directories" section, based on Perl5 perlfunc | |||
r13281 | markstos++ | - Created "unfiled" section for the rest of the functions for now. perl5 perlfunc | |||
r13281 | markstos++ | could provide further inspiration on how to organize these. | |||
r13281 | markstos++ | - Documented the first function, chmod, by doing 'perldoc -u -f chmod' | |||
r13281 | markstos++ | and copying the POD over. I trimmed out the 'fchmod' and 'fcntl' | |||
r13281 | markstos++ | sections because I wasn't sure how/if they applied to Perl 6. | |||
r13281 | markstos++ | If you know better, please add them back in with appropriate | |||
r13281 | markstos++ | adjustments. | |||
markstos | weird. It announced r13281 twice. | ||
mugwump | with 13282 in between | 00:29 | |
00:31
nekokak joined
|
|||
svnbot6 | r13283 | fglock++ | v6 - implemented .WHAT - TimToady++ | 00:31 | |
r13284 | markstos++ | IO.pod: add barebones spec for 'open' based on the syntax the tests have. | 00:43 | ||
r13285 | markstos++ | IO.pod: | 00:52 | ||
r13285 | markstos++ | Add 'getc' basic spec, based on current pugs tests, and | |||
r13285 | markstos++ | the perl5 definition. Only the FILEHANDLE case is covered | |||
r13285 | markstos++ | now (not STDIN) because that's all the test I'm looking at covers. | |||
00:55
gnuvince joined
|
|||
markstos | for working with directories, do we want to stick with the opedir/readdir interface, or use something more like IO::Dir in Perl 5 or provide both interfaces ? | 00:58 | |
search.cpan.org/~gbarr/IO-1.2301/IO/Dir.pm | |||
lambdabot | Title: IO::Dir - supply object methods for directory handles - search.cpan.org, tinyurl.com/g6js2 | ||
markstos | Personally, I find the IO::Dir design cleaner, would be fine with retiring the functional interface. | ||
it required a "DIRHANDLE" concept, which doesn't seem necessary. when just making directories another kind of object will do. | 00:59 | ||
svnbot6 | r13286 | lwall++ | .HOW.getmethods and .HOW.getattributes lose their "get". | 01:04 | |
01:06
peteso joined
|
|||
TimToady | markstos: likely signals will become events of some sort and shoved into an event queue somewhere. | 01:07 | |
markstos | My translation: don't bother trying to spec them myself right now. | 01:08 | |
01:08
lollan joined
|
|||
markstos | I just noticed we can already do readdir($dir) or $dir.readdir, which follows logically, but was still cool to see working both ways. | 01:09 | |
I mean, not bad for an unspec'ed feature. :) | |||
TimToady | Let's just say it'd be fine by me if %SIG disappeared. | 01:10 | |
01:12
vel joined
|
|||
markstos | That's fine with me too, as long as I know what to translate $SIG{__WARN__} into. | 01:12 | |
svnbot6 | r13287 | markstos++ | IO.pod | 01:17 | |
r13287 | markstos++ | Add specs for opendir,closedir,readdir and rewinddir | |||
r13287 | markstos++ | based on dir.t and perl5 perlfunc. | |||
r13288 | markstos++ | [t/builtins] | |||
r13288 | markstos++ | Add working smart links to 5 files pointing to S16. | |||
01:19
justatheory joined
|
|||
markstos | I see in the P5 spec for close() that sometimes SIGPIPE can be sent to the writer. Should I just trim that part out for now ? | 01:19 | |
01:20
perlbot joined
|
|||
TimToady | I suppose. | 01:20 | |
markstos | I'm having trouble constructing the right grep to find this: What's become of $? | 01:21 | |
TimToady | warnings are now just resumable exceptions, so $SIG{__WARN__} is likely to be intercepted in some kind of exception handler. | 01:22 | |
Perhaps the default warning resumer pays attention to &*warning_interception_hook or some such. | |||
all exceptions are now in $! | 01:23 | ||
markstos | $? is gone ? | ||
TimToady | Along with $@, $^E | ||
all unified to $! | 01:24 | ||
markstos | Thanks! | ||
I mean: thanks for doing that-- not just thanks for telling me about it! | |||
TimToady | It was kind of a gamble, but it seems to be working out. | ||
anyway, dinner & | 01:25 | ||
markstos | simplicity++ ... when it works | ||
svnbot6 | r13289 | markstos++ | IO.pod | 01:29 | |
r13289 | markstos++ | Bring over the spec for 'close' from Perl 5. | |||
r13289 | markstos++ | Changed $? to $! (TimToady++), and trimmed out | |||
r13289 | markstos++ | the part about SIGPIPE, which is still unspec'ed. | |||
markstos | will perl6 have "perl -U" like Perl 5 has? It's mentioned in the spec for 'unlink' that I'm trying to port. | 01:33 | |
svnbot6 | r13290 | markstos++ | IO.pod | 01:38 | |
r13290 | markstos++ | port the specs for unlink and rmdir from Perl 5. | |||
r13290 | markstos++ | The section mentioning "perl -U" was removed, since | |||
r13290 | markstos++ | I don't know if that's planned to be supported in Perl 6. | |||
01:45
markstos left
01:46
justatheory joined
|
|||
svnbot6 | r13291 | markstos++ | [t/var] | 01:47 | |
r13291 | markstos++ | Some smart linking work, doc clean-up. | |||
peteso | I take it that doing an initial `svk sync` is suppose to take awhile? (committing all the revisions) | 02:04 | |
audreyt | peteso: yes, a couple hours is not uncommon | 02:05 | |
peteso | if I am picking up the pugs repo and want to do offline changes and what not, is that the right way to go? | ||
clkao | eek | 02:06 | |
we are working on making it faster | |||
audreyt | peteso: yes. | ||
clkao | this project grows too fast ;) | ||
peteso | sweet, thank you | ||
audreyt | clkao: would that require openfoundry be upgraded to 1.4.0 server? | ||
clkao | possibly | ||
ra_replay is likely to be a bit faster. | |||
audreyt | or does it involve running a dedicated svk server? | ||
clkao | but it's still quite latency bound | ||
audreyt | ah. *nod* | ||
we need some sort of pipelining | |||
clkao | want to have meta-data pointing to bootstrap dump and make magic happen | ||
audreyt | it's really not that much data | ||
it's all bound on DAV latency it seems | 02:07 | ||
peteso | is the slowdown on account of the `svk` app locally or downloading or the server? | ||
audreyt | too much interactions | ||
peteso: the protocol | |||
clkao | i hate software | ||
audreyt | compare that to keep-alive darcs GET chains :) | ||
peteso | is it a WebDAV operation per revision request? | 02:08 | |
audreyt | or three | ||
but it's more expensive than it needs to be, yeah | |||
peteso | ahh | 02:09 | |
mugwump | of course git-fetch wins on all counts | ||
clkao | worse than that. you don't want to know. | 02:10 | |
mugwump | (except partial checkouts) | ||
audreyt | I remember clkao swearing about DAV's stupidity vividly when openfoundry was being designed... | ||
peteso | must svn be tied to DAV? | ||
mugwump already noticed clkao's repos aren't shared via DAV :) | 02:11 | ||
TimToady | markstos: perl -U should go away. it shouldn't be lumping together unrelated "dangerous" notions under one switch in any event. | ||
audreyt | no, but having a ssh account for each committer was deemed impractical for openfoundry; also port 80 is more proxy friendly | ||
peteso | makes sense | ||
audreyt | but, in practice, unless you are code.google.com, the proxy win is entirely theoretical; mostly linkability is the only real win | ||
clkao | i think dav is amonst the software i hate most | 02:12 | |
though it's protocol. anyway. hate | |||
peteso | linkability as in the http:// URLs? | ||
obra | clkao's repositories will be shared with DAV soon | 02:13 | |
as soon as commitbit is safe | |||
clkao | RRAAAH! | ||
svk rm commitbit | 02:14 | ||
obra | why? because svnserve can't do vhosting yet | ||
clkao | i hate hate hate dav | ||
obra | ok. then give me "svk publish" | ||
clkao | can do svn://code/foo | ||
similar to what dav is going to give us | 02:15 | ||
obra | nope. because there's already a repo at / on that host | ||
[For those playing the home game, cl is sitting 2 feet from me] | |||
clkao | that's for svn+ssh:// no ? | 02:16 | |
obra | no. for svn:// | ||
bps-public is at diesel's root | |||
clkao | but i am grumpy so you don't want to talk to me | ||
GRR | |||
svnserve does ip-based vhost | |||
maybe we should get another ip | |||
audreyt regrets brining up DAV and vanishes in a puff of logic | |||
clkao | audreyt: it's all your fault | 02:17 | |
audreyt: you owe me birthday gift | |||
obra | clkao: perl 6? | ||
audreyt | I thought we're supposed to give out gifts on birthday | ||
so I've safe until next April | |||
clkao | you didn't even say happy birthday! | ||
peteso wonders if it was actually he who brought up the issue.. | |||
audreyt | s/I've/I'm/ | ||
clkao: oy. "happy birthday" xx Inf | 02:18 | ||
mugwump | that's a lazy blessing | ||
clkao | that's very depressing | ||
TimToady | That's too many. How 'bout xx *? | ||
mugwump | whatever | ||
TimToady | can't get the vision of DAV pickles out of my head...I blame audrey | 02:19 | |
PerlJam | Is DAV pickles related to Tommy Pickles? | 02:20 | |
02:31
bsb joined,
mako132_ joined
02:49
vel joined
02:52
vel joined
02:57
silug joined
03:13
Teratogen joined
|
|||
jdv79 | how's things in p6 land? | 03:26 | |
03:38
Akwa|user joined
|
|||
peteso | apparently quiet :) | 03:38 | |
Akwa|user | Check your feather email | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | www.treehugger.com/files/th_images/paradigm.jpg [set by audreyt on 2006-08-29 05:26:57 -0700] | 03:42 | |
Khisanth | ?eval [1..10:2] | 03:48 | |
03:48
evalbot_r13276 is now known as evalbot_r13291
|
|||
evalbot_r13291 | Error: unexpected "[" expecting program | 03:48 | |
Khisanth | ?eval 1..10:2 | ||
evalbot_r13291 | Error: unexpected ":" expecting "_", fraction, exponent, term postfix, comment, operator, "does", "but", "^fff^", "fff^", "^fff", "^ff^", "^..^", "fff", "ff^", "^ff", "cmp", "leg", "<=>", "..^", "^..", "ff", "..", postfix conditional, postfix loop, postfix iteration, ";" or end of input | ||
Teratogen | err, those are what perl6 error messages are gonna look like? | 03:51 | |
Khisanth | hehe | ||
reminds me of using C++ | |||
03:52
jbence joined
03:55
weinig|food is now known as weinig|zZz
|
|||
TimToady | I believe the error messages can be improved somewhat once we have our parse written in Perl 6. | 04:02 | |
*parer | |||
*parser, darn it | |||
PerlJam | Teratogen: no, that's what they look like now. | ||
TimToady: we can only go up from here :) | 04:03 | ||
TimToady | I think in general the "expecting" part is useless unless it can be pared down to a few general categories. | ||
and I think it's quite outrageous in human engineering to say "unexpected 'w'" when the keyword is "while" | 04:05 | ||
but these things can be fixed more easily after we abandon parsec. | |||
(I sincerely hope.) | |||
04:12
peteso left
|
|||
PerlJam | One day we'll get to the point where the compiler says "I wasn't expecting what you wrote here but based on your past programming patterns I think that you really meant to write ... so I fixed it for you and continued compiling. You may want to look over my changes." | 04:16 | |
revdiablo | Bayesian parsing? | 04:17 | |
04:18
xinming_ joined
|
|||
TimToady | I wouldn't use such fancy parsing to "fix it and go on", but I wouldn't mind if it were smart enough to give you a meaningful error message like "you meant :by(2) rather than :2 there" | 04:23 | |
PerlJam | TimToady: I agree with all of these cool things you're putting in the language but I do tend to worry a bit about performance. Maybe Moore's Law can save us still though. | 04:26 | |
(I was worried about how much slower perl5 was than perl4 but in practice it wasn't an issue) | |||
PerlJam hopes that trend continues :) | |||
TimToady | what runs fast and what runs slow will probably depend greatly on the impedance match with the VM in question. | 04:27 | |
I expect the P5-ish parts to run quite fast on the P6-on-P5 stack... | 04:28 | ||
On the other hand, parrot is likely to be lot faster at other things. | |||
platforms that JIT will have entirely different characteristics from those that don't | 04:29 | ||
my hope is that the slowdown in MMD is made up for by calling the right routine with args that are already known to be of the right type. | |||
but it remains to be seen how that performs in practice. | |||
04:30
corpse joined
|
|||
mugwump | yeah, strict typing and closed classes should bring on some wins for some VM | 04:31 | |
(where "strict" means "strict enough") | |||
TimToady | for some applications that can close classes | ||
open frameworks might not be able to decide such things in advance. | 04:32 | ||
on the other hand, compiling it both ways might work. | |||
PerlJam | Perl6 will have a new motto (to go along with all of the others) "There's more than one runtime to execute it" or some such. | 04:33 | |
04:34
rafl joined,
justatheory joined
|
|||
TimToady | the notion of breaking circularity differently on different platforms also gives us a lot of leeway in optimizing for big and small iron. | 04:34 | |
04:39
frederico joined
|
|||
PerlJam | now .. if only I could write a program that executed in wetware that could fix whatever it is that's giving my daughter a fever | 04:40 | |
TimToady | um, presumably you already wrote the program, or at least half of it... | 04:41 | |
but it's an adaptive algorithm... | 04:42 | ||
so sometimes you just have to be patient. | |||
mugwump | the program would be called a diagnostic process? :) | 04:43 | |
TimToady | I'd call it a problem in pattern matching. | ||
mugwump | Hmm, could carry the analogy further ... Traditional medicine is to functional as Western medicine is to imperative | 04:44 | |
TimToady | after which it becomes a problem in parallel processing. | ||
04:45
b00t joined
|
|||
mugwump | the imperative meds break things down into tiny pieces, the functional meds look at the system as a whole | 04:45 | |
imperative meds don't understand functional meds and are *sure* they're going about things All Wrongā¢ | |||
and functional meds fix health problems with the tiniest programs (treatments, eg needles) | 04:46 | ||
but they're no good at debugging really broken programs | 04:47 | ||
PerlJam wonders if the bioinformatics people are looking for and finding recursive structures | 04:49 | ||
Teratogen | perl6 error messages are gonna require a wiki or something | 05:03 | |
mugwump | subversion repositories are the new wikis | 05:04 | |
05:14
BooK_ joined
05:20
joshmoore joined
05:21
joshmoore left
|
|||
gaal | PerlJam: "Fast, Error Correcting Parserwww.cs.uu.nl/groups/ST/stbib/stbib-...Azer99.bib | 06:02 | |
lambdabot | tinyurl.com/httm6 | ||
gaal | er, oops. | ||
"Fast, Error Correcting Parser Combinators: A Short Tutorial" | |||
and: www.cs.uu.nl/people/doaitse/Papers/...omPars.pdf | 06:03 | ||
lambdabot | tinyurl.com/gkvhj | 06:04 | |
gaal | consider that Eclipse aready has that "quickfix" feature which is quite impressive for Java. | 06:06 | |
06:33
marmic joined
06:38
kane-xs joined
|
|||
TreyHarris | wow. note to self: do not examine $self inside a POE session object. | 06:45 | |
svnbot6 | r13292 | gaal++ | * signature.t - clean up tests a bit. Most failures were typos | ||
r13292 | gaal++ | in the test, in fact. Clearly the Signature parser needs better | |||
r13292 | gaal++ | error messages! | 06:46 | ||
06:46
traecer joined
06:53
iblechbot joined
07:31
bsb joined,
zakharyas joined
07:39
DHGE joined
07:52
didie_p6 joined
08:00
drrho joined
08:06
peteso joined
|
|||
peteso | could perchance anybody give me some assistance with an `svk sync`? | 08:07 | |
kane-xs | peteso: what assistance are you looking for? | 08:08 | |
peteso | I am trying to sync the pugs repo so I can poke around | 08:09 | |
kane-xs | have you read 'svk help intro' ? | ||
peteso | 'tis slightly more involved than that.. I am seeing "Retrieving log information from 12102 to 13292" | ||
followed by "Incomplete data: Delta source ended unexpectedly" | 08:10 | ||
kane-xs | ouch | ||
what happens when you type svk sync again? | |||
peteso | I'm not sure if that's something at my end or at openfoundry | ||
same thing | |||
lumi | peteso: Both | ||
There was some repo breakage at that point | |||
And you need to update, um, some module | 08:11 | ||
It should be in the logs | |||
kane-xs | peteso: to work around it, you can use svk sync -s REVNUMBER | ||
peteso | lumi: hmm.. which logs should I be looking for? | ||
kane-xs | so you dont get full history, just the ones starting REVNUM | ||
lumi | The channel logs | ||
peteso | kane: oh, that makes a lot more sense!! I felt bad for pounding the server for hours with the slow DAV requests | ||
lumi: thanks, I'll look into that | 08:12 | ||
kane: if I had only known that useful trick, thank you.. will make things a lot faster | 08:13 | ||
kane-xs | you're welcome :) | ||
lumi | peteso: colabti.de/irclogger/irclogger_log/...l=633#l931 | 08:16 | |
lambdabot | Title: #perl6 2006-08-11,Fri, tinyurl.com/f8p6h | ||
peteso | lumi: yes, I was just reading that over.. apparently it's an svk issue moreso than svn | ||
lumi | Ah, SVN::Mirror, apparently | 08:18 | |
peteso | you guys are very helpful, thanks | 08:22 | |
TreyHarris | within a named sub foo () { ... }, foo() should always recurse, should it not? | 08:23 | |
it shouldn't call some other sub foo elsewhere? | |||
buu | TreyHarris: How many subroutines named foo do you have? | 08:28 | |
svnbot6 | r13293 | masak++ | * patch submitted by zack++ for HTTP::Server::Simple | ||
08:28
bsb left
|
|||
TreyHarris | buu: tons. ;-) | 08:33 | |
svnbot6 | r13294 | trey++ | [t/unspecced/precompile.t] | ||
r13294 | trey++ | Got rid of old .can syntax and replaced with an import. | |||
buu | TreyHarris: How horrifying. | ||
TreyHarris | buu: 'foo' stood in for 'the actual name of the subroutine', which wasn't relevant to my question | ||
buu | Well, yes, but the idea of having lots of subroutines named the same is horrifying. | 08:34 | |
TreyHarris | pugs just dwimmed a little *too* much, and didn't go into an infinite recursion and instead called out to the same-named sub external to the would-be deep recursion. or so i thought. turned out that code branch was never getting exercised, so it was fine | ||
lumi | What other sub would you think would be called? | 08:35 | |
TreyHarris | buu: only two. and i had an excuse: i was intentionally writing my own version of something to overlay it | ||
but i called out to the other one without qualifying its name, so i should have recursed | |||
recurses! foiled again again again again again... | 08:37 | ||
?eval pi | 08:40 | ||
evalbot_r13291 | 3141592653589793/1000000000000000 | ||
09:00
renormalist joined
09:26
frederico joined
09:28
ludan joined
09:34
elmex joined
10:10
araujo joined,
ruoso joined
10:24
markstos joined
10:28
Yappo joined
10:32
Yappo joined
|
|||
svnbot6 | r13295 | markstos++ | [t/builtins] | 10:37 | |
r13295 | markstos++ | All links to L<S16> have been expanded to be valid, there should be | |||
r13295 | markstos++ | at least crude entries in S16 for everything they point to. | |||
10:38
Yappo joined
|
|||
svnbot6 | r13296 | markstos++ | IO.pod | 10:38 | |
r13296 | markstos++ | just some POD correctness updates. | |||
10:43
Yappo joined
10:44
Yappo joined
10:47
iblechbot joined
10:49
drbean_ joined
|
|||
svnbot6 | r13297 | markstos++ | [t/var] | 10:50 | |
r13297 | markstos++ | merge two autovivificatoin tests | |||
r13298 | audreyt++ | * yaml_harness.pl - Passing in options such as --concurrent | 11:02 | ||
r13298 | audreyt++ | shouldn't cause tests under perl5/ to be run by smoke. | |||
r13298 | audreyt++ | * Also restore the horrible, arbitrary, "first parallel only | |||
r13298 | audreyt++ | gets 2/3 of the share" heuristic, as it really helps to | |||
r13298 | audreyt++ | reduce smoke time... | |||
markstos | What's become of $, and $\ ? | 11:06 | |
gaal | ?eval ~:($x) | 11:07 | |
11:07
evalbot_r13291 is now known as evalbot_r13297
|
|||
evalbot_r13297 | "CCall \"~\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 1, s_requiredNames = \{}, s_positionalList = [MkParam \{p_variable = \"\$x\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"x\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = \{}, s_slurpyScalarList = [], s_slurpyArray = Nothing, s_slurpyHas | 11:07 | |
gaal | this is wrong. | ||
why does it enter asStr on the CCall ~? | |||
I want it to be the same as: | 11:09 | ||
?eval my $x = :($x); "$x" | |||
evalbot_r13297 | ":(\$x)" | ||
gaal | heh, that \ there is confusing. | 11:10 | |
svnbot6 | r13299 | markstos++ | IO.pod: | 11:17 | |
r13299 | markstos++ | - port spec for 'print' from Perl 5. | |||
r13299 | markstos++ | - move 'unfiled' listing for "say" in Functions.pod | |||
r13299 | markstos++ | to be near 'print' in IO.pod | |||
r13299 | markstos++ | - note a bit of the print spec is commented out: | |||
r13299 | markstos++ | [ I don't know what's become of $, and $\. -markstos ] | |||
r13299 | markstos++ | Fix that if you know what to do. | |||
r13300 | markstos++ | IO.pod | 11:19 | ||
r13300 | markstos++ | oops, "say" was the in wrong section. | |||
11:27
ruoso_ joined
11:32
ruoso_ joined
11:33
spoop joined
11:34
ruoso_ is now known as ruoso
|
|||
markstos | @tell TimToady the spec doesn't seem to currently what a define what a container is, and it's not a concept I recall needing to know about in Perl 5. | 11:42 | |
lambdabot | Consider it noted. | ||
11:51
markstos left
|
|||
svnbot6 | r13301 | markstos++ | [t/var] | 11:52 | |
r13301 | markstos++ | Everything in here has at least one smart link now. (7 added) | |||
r13301 | markstos++ | For a number of cases the specs felt murky or missing, | |||
r13301 | markstos++ | and I left comments near the links in those cases. | |||
11:53
buetow joined
|
|||
nothingmuch | marmic: a container the thing inside which values go | 11:59 | |
e.g. an array element | |||
or a variable | |||
or a hash slot | |||
11:59
rodi joined
12:07
Limbic_Region joined
12:35
bpphillips joined
12:36
dvorak joined,
weinig joined
12:46
lollan joined
12:47
buetow joined
|
|||
Limbic_Region | audreyt is probably sleeping huh? | 12:47 | |
maybe not - not quite 9PM there | 12:48 | ||
audreyt ping | |||
13:04
iblechbot joined
13:05
zakharyas joined
13:10
pdcawley joined
13:16
stevan joined
13:47
dakkar joined
13:52
salty-horse joined
|
|||
salty-horse | does anyone mind if I change syn_index.html to utf-8? the gb2312 encoding chooses an ugly font for my browser | 13:54 | |
13:54
fglock joined
13:55
szabgab joined
14:01
szabgab joined,
ofer0 joined,
cjeris joined
14:08
vel joined
14:14
jferrero joined
14:19
jbence joined
14:21
vel joined
14:28
ruoso_ joined
|
|||
gaal | salty-horse: please go ahead. | 14:35 | |
salty-horse | gaal, it's also in dos newline format: \r\n | 14:38 | |
kolibrie | salty-horse: I think util/add-svn-props.sh takes care of newline formats | 14:42 | |
salty-horse | ah :) | ||
gaal | salty-horse: sh util/add-svn-props.sh | ||
yeah :) | |||
(hey, kolibrie!) | |||
kolibrie | hey, gaal! | ||
moose! | |||
gaal | right on! | 14:43 | |
14:45
ruoso_ is now known as ruoso
14:47
Eimi joined
|
|||
ruoso still braindamaged by TheDamian's talk | 14:47 | ||
[particle] | gaal is a l33t m0053 | 14:48 | |
gaal | āl0lā | 14:50 | |
svnbot6 | r13302 | salty_horse++ | Validated XHTML markup, changed encoding to utf-8, set svn:eol-style | ||
14:51
kanru joined
|
|||
rodi | gaal: nice moose! w00t! | 14:53 | |
gaal | audreyt: can you explain what's going on in ~:($x) ? I don't understand how we're finding ourselves in findSub... | 14:55 | |
14:59
integral is now known as notintegral
|
|||
gaal | that's derivative... | 14:59 | |
14:59
weinig is now known as weinig|work
|
|||
gaal | audreyt: okay, I understand it's from r12200. but I think it's doing the wrong thing :( | 14:59 | |
14:59
integral joined
15:02
pdcawley joined,
vel joined
|
|||
gaal | whoa! crazy evaluation strategy, too: | 15:04 | |
?eval sub stringy ($x) { "$x" } stringy nosuchmeth :(:$somesig) | 15:05 | ||
15:05
evalbot_r13297 is now known as evalbot_r13301
|
|||
evalbot_r13301 | "CCall \"nosuchmeth\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 0, s_requiredNames = \{\"somesig\"}, s_positionalList = [], s_namedSet = \{\"somesig\":=MkParam \{p_variable = \"\$somesig\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"somesig\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}}, s_slurpyScalarLi | 15:05 | |
gaal | pugs has lazy evaluation :) | ||
TimToady | is it treating nosuchmeth as a post-declared listop? | 15:10 | |
lambdabot | TimToady: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
gaal | TimToady: there's special transition logic to stringify a method invocation on a newval, but it looks like the... ah, no, heh, the stringification had happened before entering stringy | 15:12 | |
let's make sure... | |||
?eval sub stringy ($x) { "--$x--" } stringy nosuchmeth :(:$somesig) | |||
evalbot_r13301 | "--CCall \"nosuchmeth\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 0, s_requiredNames = \{\"somesig\"}, s_positionalList = [], s_namedSet = \{\"somesig\":=MkParam \{p_variable = \"\$somesig\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"somesig\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}}, s_slurpyScalar | 15:13 | |
gaal | okay, that's a relief. | ||
15:14
peteso joined
|
|||
TimToady | MEGO xx * | 15:14 | |
15:15
penk joined,
kisu joined
15:16
PeqNP joined
|
|||
TimToady | that sure looks like call-by-name to me. | 15:21 | |
shouldn't it attempt to call nosuchmeth before calling stringy? | 15:22 | ||
15:22
hexmode joined
|
|||
gaal | TimToady: "calling" nosuchmeth is intercepted and reduced to the string | 15:22 | |
TimToady | gotcha. | 15:23 | |
except, of course, it should parsefail at the end of the compunit, but we'll leave that go for now... | |||
gaal | apparently it's reduced and folded...? | ||
I'm looking for a way to get ~ to dispatch correctly on newvals, because this is awkward: | 15:24 | ||
?eval my $x = :($whee : @whoa = 42); $x | 15:25 | ||
evalbot_r13301 | \:($whee: @whoa) | ||
lumi | What's the \ doing there? | ||
gaal | stingification artefact | ||
I think? | |||
?eval my $x = :($whee : @whoa = 42); "$x" | |||
evalbot_r13301 | ":(\$whee: \@whoa)" | ||
gaal | yeah. | 15:26 | |
buggy one at that. | |||
TimToady | ELOWCAFFEINE. what is awkward about it? | ||
lumi | ?eval my $x = :($whee : @whoa = 42) | 15:27 | |
evalbot_r13301 | \:($whee: @whoa) | ||
gaal | TimToady: in writing tests for pretty printing Signatures, I'd love to just say ~:($x) | ||
but now I have to use a temp var | |||
lumi | ?eval "{:($x)}" | ||
gaal | because of that dispatch interception thing. I gotta find me an audrey | 15:28 | |
evalbot_r13301 | ":(\$x)" | ||
gaal | $problem.audrey => fixed | ||
TimToady | ?eval ~:($x) | 15:29 | |
evalbot_r13301 | "CCall \"~\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 1, s_requiredNames = \{}, s_positionalList = [MkParam \{p_variable = \"\$x\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"x\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = \{}, s_slurpyScalarList = [], s_slurpyArray = Nothing, s_slurpyHas | ||
gaal | hm, maybe I'll go find me a falafel instead. bbiab :) | ||
TimToady | ?eval ~ :($x) | ||
evalbot_r13301 | "CCall \"~\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 1, s_requiredNames = \{}, s_positionalList = [MkParam \{p_variable = \"\$x\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"x\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = \{}, s_slurpyScalarList = [], s_slurpyArray = Nothing, s_slurpyHas | ||
lumi | ?eval "" ~ :($x) | ||
evalbot_r13301 | ":(\$x)" | ||
TimToady | heh | 15:30 | |
gaal | hey, that's not bad! | ||
TimToady | ?eval :($x).~ | ||
evalbot_r13301 | Error: unexpected "~" expecting ".", operator name, qualified identifier, variable name, "...", "++", "--", array subscript, hash subscript or code subscript | ||
TimToady | still, unary ~ should be equiv | 15:31 | |
gaal | 42.~ | ||
?eval 42.~ | |||
evalbot_r13301 | Error: unexpected "~" expecting ".", operator name, qualified identifier, variable name, "...", "++", "--", array subscript, hash subscript or code subscript | ||
TimToady | ?eval 42.! | ||
evalbot_r13301 | Error: unexpected "!" expecting ".", operator name, qualified identifier, variable name, "...", "++", "--", array subscript, hash subscript or code subscript | ||
lumi | It's not an 'operator name'? | ||
gaal | well, it's not like that's the only problem with our current dispatcher... | ||
lumi | ?eval 42.prefix:<~> | 15:32 | |
evalbot_r13301 | "42" | ||
gaal | lumi: yeah indeed. ruleOperatorName | ||
falafel & | |||
TimToady | ?eval :($x).prefix:<~> | 15:33 | |
evalbot_r13301 | "CCall \"~\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 1, s_requiredNames = \{}, s_positionalList = [MkParam \{p_variable = \"\$x\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"x\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = \{}, s_slurpyScalarList = [], s_slurpyArray = Nothing, s_slurpyHas | ||
lumi | ?eval :($x).infix:<~> | ||
evalbot_r13301 | "CCall \"~\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 1, s_requiredNames = \{}, s_positionalList = [MkParam \{p_variable = \"\$x\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"x\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = \{}, s_slurpyScalarList = [], s_slurpyArray = Nothing, s_slurpyHas | ||
lumi | ?eval prefix:<~>(:($x)) | 15:34 | |
evalbot_r13301 | "CCall \"~\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 1, s_requiredNames = \{}, s_positionalList = [MkParam \{p_variable = \"\$x\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"x\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = \{}, s_slurpyScalarList = [], s_slurpyArray = Nothing, s_slurpyHas | ||
lumi | I'm confused then. Why are the string interpolation and ""~ working? | 15:35 | |
gaal | ICoercible :) | ||
asStr in newVal land | |||
I'm not here | |||
15:53
ptty joined
|
|||
peteso | is there a reason why the 'is' attrib list can't be comma separated? | 15:57 | |
svnbot6 | r13303 | rodi++ | Added support for numbered rules from $ca objects, set defaults, changed | 15:59 | |
r13303 | rodi++ | examples to use new interfaces. | |||
16:00
mollmerx joined
|
|||
ajs_ | No matter how I run pugscc, I get "pugs: user error (*** *** Undeclared variable: "@*CHECK"" | 16:03 | |
Am I doing something wrong? | |||
TreyHarris | ajs_: pugscc hasn't been touched except in global search-n-replace changes in a year. are you sure it works? | 16:09 | |
16:22
Psyche^ joined
|
|||
ajs_ | TreyHarris: Am sure it doesn't ;-) | 16:25 | |
16:32
integral_ joined
16:33
integral_ is now known as integral
16:38
Psyche^ is now known as Patterner
|
|||
TimToady | .-e is now spelled .'-e' | 16:46 | |
and .'WHERE' is not a meta call. | |||
PerlJam | TimToady: I just saw the patch on p6l. That's infinitely better than the other suggestions people came up with (especially the ones involving underscores ;-) | 16:47 | |
16:47
araujo joined
|
|||
TimToady | I don't know if it's Inf better, but it's definitely * better. | 16:48 | |
PerlJam | It's "doh! why didn't I think of that?" better at any rate. | ||
TimToady | yeah, it's kinda been staring us in the face for years. | 16:49 | |
and in parrot the qoutes are mandatory. :) | 16:50 | ||
s/ou/uo/ | |||
[particle] | well, they're mandatory if you don't want name conflicts :) | 16:53 | |
16:53
justatheory joined
|
|||
svnbot6 | r13304 | putter++ | xx-uncategorized/use_import_not_found.t - Created. | 17:06 | |
r13304 | putter++ | The line class C {} sub f() {C.new()} currently makes subsequent use()s fail with *** No compatible subroutine found: "&Mumble::import". | |||
r13304 | putter++ | The workaround is simply to put the use()s first. | |||
r13305 | putter++ | gen_prelude.pl - Added -Iblib6/lib to the ./pugs command which creates the precompiled prelude. So Prelude.pm can now use() modules there. | 17:13 | ||
17:24
eric256 joined
17:25
eric256 left
17:34
hexmode joined
17:35
zakharyas joined
17:36
mauke_ joined,
Gothmog_ joined
17:38
Gothmog_ joined
17:45
onsen joined
17:46
ruoso joined,
ludan joined
17:48
dj_goku joined
17:49
fglock joined
|
|||
svnbot6 | r13306 | fglock++ | v6 - cpan version 0.015 | 17:49 | |
17:56
mauke_ is now known as mauke,
wilx joined
|
|||
ajs_ | is "./pugs -CPIR -e 0" supposed to work? | 18:02 | |
TreyHarris | TimToady: how do you indirectly call the meta $obj.WHERE, given $obj and $meth = "WHERE"? $obj."^$meth"? | 18:06 | |
$obj.^"$meth"? | 18:08 | ||
18:09
weinig|work is now known as weinig
18:11
pdcawley joined
|
|||
svnbot6 | r13307 | putter++ | t/xx-uncategorized/pi_internals.t - Created. | 18:16 | |
r13307 | putter++ | New test for Pugs::Internals::pi in Prim.hs, broken by r13255's renaming of pi from "pi" to "Pugs::Internals::pi". | |||
18:17
putter joined
|
|||
putter | Sigh. Even with pugs, I should take that extra couple of minutes to get change log entries *right*. :/ | 18:17 | |
The line class C {} sub f() {C.new()} currently makes subsequent use()s fail with *** No compatible subroutine found: "&Mumble::import" ... *during precompilation*. | 18:18 | ||
TreyHarris | ?eval Pugs::Internals::pi() | 18:19 | |
evalbot_r13301 | Code::Exp.new() | ||
TreyHarris | ?eval pi | ||
evalbot_r13301 | 3141592653589793/1000000000000000 | ||
TreyHarris | ?eval +Pugs::Internals::pi() | ||
evalbot_r13301 | Error: Cannot cast from VObject (MkObject {objType = (mkType "Code::Exp"), objAttrs = <StrMap 0xb7a12040>, objOpaque = Just <<Pugs.AST.Internals.Exp>>, objId = MkObjectId {unObjectId = 1}}) to Double (VNum) | ||
TreyHarris | putter: ah, that's a failing test. | 18:20 | |
what is it supposed to do? calculate pi based on the context in which it is caused? | |||
s/caused/called/ | |||
putter | Simply renaming the Prim.hs pi broke it. The correct pi you now see is a literal in Prelude.pm. | 18:24 | |
'putter <- "take more time to write clear commits"'++ TreyHarris__ | 18:25 | ||
err, TreyHarris++ | |||
I was quite surprised. But given that exprs are currently in flux, I thought dealing with it now was a... yak too far. | 18:26 | ||
TreyHarris | oooh, i hate it when i do a find | grep and forget to do 'xargs grep' | 18:54 | |
putter | :) | ||
18:59
bernhard joined
|
|||
TreyHarris | ?eval sub foo() { 1 }; sub foo() { 2 }; say foo() | 19:02 | |
evalbot_r13301 | OUTPUT[2 ] Bool::True | ||
gaal | ap (++) "take more time to write clear commits" >>= \putter -> TreyHarris | 19:06 | |
hm that doesn't have quite the same ring to it | |||
19:06
integral_ joined
19:07
integral_ is now known as integral
|
|||
svnbot6 | r13308 | putter++ | Created ext/Math-Basic, defining Math::Basic, per S29. | 19:11 | |
r13308 | putter++ | Math::Basic is currently very simple (just a definition of pi). | |||
r13308 | putter++ | My intent is to shortly try to use it from Prelude.pm, without breaking pugs. | |||
r13308 | putter++ | There is related work in misc/Perl-MetaModel/ and misc/S29_round*, which can | |||
r13308 | putter++ | be afterward integrated as stability permits. | |||
lumi | gaal: What does that mean? | 19:13 | |
gaal | nothing at all | 19:15 | |
lumi | Indeed | ||
TimToady | TreyHarris: it's not high on my priority list to support indirect macros, but since macros can be called as functions, prefix:{$huh} probably works. | 19:16 | |
TreyHarris | TimToady: was just curious, given that several of us have been working on meta-meta-programming issues (like markstos) | 19:17 | |
19:18
justatheory joined,
Eidolos joined
19:23
larsen_ joined
|
|||
putter | ;) | 19:29 | |
is there currently a convention for where/how to dump failing tests? it was pugsbugs, with failing testness implied. xx-uncategorized/ with fail or bug in the test name??? ideas? | |||
or is the thrust to get all these tests integrated with the suite, and pay the integration cost up front, which somewhat discourages test creation, but saves the pain of integrating later. | 19:30 | ||
t/nag_audreyt_and_gaal/... ;-) | |||
gaal: ping? | |||
actually, anyone with build system experience: ping? | |||
19:31
putter joined
19:33
fglock joined
19:47
xerox joined
19:52
SubStack joined
|
|||
putter | idea: have a concept of "key modules to be make'ed early". Currently, if you just make, and then use Test;, it doesn't work because Test hasn't been made yet. And as Prelude comes to depend on other modules, it would be nice if they could just be added to a "make early" list, rather than being kludged. | 19:58 | |
svnbot6 | r13309 | putter++ | Revert r13305, which added -Iblib6/lib to prelude precompilation. | 20:05 | |
r13309 | putter++ | In a clean build, blib6/lib isn't populated soon enough to help. | |||
20:06
onsen_ joined
|
|||
TreyHarris | putter: are you using svn or svk? | 20:24 | |
20:25
ntgrl joined
|
|||
TreyHarris | anyone here have good javascript clue who might be able to help me diagnose a script that runs perfectly under firefox but doesn't do anything at all under safari? | 20:26 | |
putter | svn :/ | ||
20:26
ntgrl is now known as integral
|
|||
svnbot6 | r13310 | putter++ | This is a first try at having Prelude.pm use an external module, namely Math::Basic. | 20:26 | |
r13310 | putter++ | If this breaks some aspect of the build, simply revert this change. | |||
r13310 | putter++ | [Prelude.pm] | |||
r13310 | putter++ | Now says use Math::Basic :GLOBAL<pi>;. The :GLOBAL doesn't work, so Prelude still has a reflector sub pi, with all the "is builtin" etc doodads. | |||
r13310 | putter++ | [config-template.yml] | |||
r13310 | putter++ | Math/Basic.pm has been added to precompile_modules. | |||
r13310 | putter++ | [gen_prelude.pl] | |||
r13310 | putter++ | In order to find Math::Basic when precompiling Prelude.pm, we need an explicit -Iext/Math-Basic/lib. Which seems unfortunate. But -Iblib6/lib can't be used because it is not populated soon enough. | |||
TreyHarris | i've got that "smoke Perl 6 implementor's view" working under firefox, but i can't figure out how to make it work on safari | ||
putter | implementer's view? | 20:27 | |
TreyHarris | putter: well, i was going to suggest holding off until audreyt makes the 6.2.13 release, this sounds like something that could impede that. and if you had svk, making a local branch to look at how to solve it | 20:28 | |
putter: got firefox? | |||
putter | re release, didn't realize one was pending. hmm. in the past the policy has been go for it anyway, T-1day or before. but perhaps that's changed? | 20:29 | |
got firefox | |||
TreyHarris | putter: ah. ok | ||
putter | my impression was the observation was the current smoke colors were too implementer, rather than user, oriented. with known not to be working being green. no? | 20:30 | |
or am I confused? | |||
TreyHarris | putter: right. so look at www.ibiblio.org/harris/smoke.new.html to see what i'm talking about. it's a small subset of a smoke.html i produced on tuesday. scroll down to the bottom, ideally so you can see the button and all the tests | 20:31 | |
lambdabot | Title: TAP Matrix - Tue Sep 12 00:37:56 2006 GMT | ||
TreyHarris | then click the button | ||
putter | button? | 20:32 | |
svnbot6 | r13311 | zgh++ | duplicate test in t/statements/modifiers/for.t, changed slightly so the two tests are no longer identical | ||
putter | ah, above the test grid | ||
TreyHarris | yeah | ||
putter: seem reasonable? | 20:34 | ||
putter | JS error, | ||
20:35
larsen_ joined
|
|||
TreyHarris | putter: oh, no. it works in my firefox | 20:35 | |
bleh | |||
putter | missing formal parameter, line 110, little green arrow is pointing at the second arg of change_style_for_class (namely, class). | ||
I've an old fox, perhaps that's it. | 20:36 | ||
TreyHarris | well, a plain old smoke should be giving you the same errors | ||
putter | checking... | ||
TreyHarris | that's my problem here with diagnosing the safari, it's only complaining about javascript that i didn't touch | ||
putter | no error from recent smoke on server | 20:38 | |
TreyHarris | hm | ||
putter | no sign of broken function either. sure change_style_for_class isn't yours? | 20:39 | |
TreyHarris | oh, the errors i'm seeing are at 36, 37, and 105x2... all before my changes | 20:40 | |
lemme look | |||
yeah, the smoke.html i generated this morning (the standard one unmodified) has broken CSS at those lines too | |||
putter | k | 20:42 | |
svnbot6 | r13312 | putter++ | Typo. The test is of a Hash, not an Array. | 21:02 | |
21:18
markstos joined
21:22
pdcawley joined
|
|||
putter | @tell audreyt Is there a vision for how Prelude.pm is going to evolve? It seems there is no way to define globals but "is builtin", which seems to have the unfortunate sideeffects of ripping things out of their defining module, and making multis non-multi. | 21:26 | |
lambdabot | Consider it noted. | ||
21:30
lanny joined
21:33
weinig is now known as weinig|brb
21:38
weinig|brb is now known as weinig
21:47
larsen_ joined
|
|||
svnbot6 | r13313 | fglock++ | Pugs-Compiler-Rule - changed an accessor call | 21:55 | |
21:57
dduncan joined
|
|||
dduncan | TreyHarris or others, from backlogging this channel it looks like you just said there will be a Pugs 6.2.13 release coming up soon (rather than the next release being 6.28.0 ... is that true or are you just guessing? | 22:00 | |
if is is true, does anyone know the ETA for 6.2.13? ... I like to know so I can clean up some of my own parts in time | 22:01 | ||
putter | no idea, sorry | 22:05 | |
I'm trying to find a way to set a global in the Prelude while not unmulti-ing multis, and ideally allowing ::= to work. | 22:07 | ||
So, possible mechanisms for creating a global include | |||
* ::* and GLOBAL:: as prefixes on the name, | |||
TreyHarris | dduncan: putter was saying she was shooting for a release this weekend | ||
s/putter/audreyt/ | 22:08 | ||
putter | GLOBAL::<foo> symbol table, | ||
TreyHarris | lol | ||
dduncan | okay, if you're sure about that, I'll see to getting to my cleanup work now then ... | ||
putter | Prelude's "is builtin", | ||
TreyHarris | audreyt: i'm sure she said that. i'm not sure that it's still true, as i last heard her say it late last week. | ||
bleh | |||
putter | and ... is there anything else? | ||
dduncan | I suggest updating the #perl6 header to mention it | ||
TreyHarris | s/audreyt/dduncan | ||
putter | * prefix works, GLOBAL anything doesnt. | 22:09 | |
Both * prefix and "is builtin" demulti multis. | |||
our &*foo ::= &bar; doesnt actually create a global. | |||
Any ideas on possible paths/workarounds I've missed? | 22:10 | ||
22:12
lollan joined
22:30
mako132_ joined
|
|||
svnbot6 | r13314 | putter++ | Created some failing Prelude.pm tests. | 22:35 | |
r13314 | putter++ | - our &*f ::= &g; doesn't actually create a global. | |||
r13314 | putter++ | - global multis behave non-multi, disappearing upon another declaration. | |||
r13314 | putter++ | Created a new prelude_test.t, and added some helper "prelude_test*" code to Prelude.pm. | |||
r13315 | putter++ | Remove a bit of test code which inadvertently escaped in r13314. | |||
putter | good night & | 22:38 | |
TimToady | putter: my brain is still in sideways, but I think we're moving toward "is export" to allow thing to be both methods and global exports. | 22:39 | |
when you export a method it turns the ':' into a ',' and pretends it's a multi. | |||
so you can have method Array::push(@: *@) is export | 22:40 | ||
ingy | yay | ||
TimToady | and you also get multi push(@,*@) in the namespace exported to. | 22:41 | |
so all that remains is for * to import <push> | |||
ingy just got done writing yet another p5 exporting base class. | |||
TimToady | it was audreyt's idea. | ||
ingy | although it gets a little better each time I do it ;) | ||
TimToady | audreyt++ xx * | ||
though I guess that only evaluates once... | 22:42 | ||
mugwump | wait, won't that ... :) | ||
ingy | How to be Spiffy Without Anyone Noticing -- by Ingy dot Net | 22:43 | |
[particle] idly wonders how many exporters perl 6 will have | |||
TimToady | how 'bout audreyt += rand(*) then. :) | ||
ingy | hi mugwump | ||
[particle] | hey ingy, wanna present that at spug next month? | ||
mugwump | how's it going ingy? | ||
ingy | [particle]: I'd like to present the new YAML.pm when its done | 22:44 | |
the tpf grant sponsored thingy | |||
so if that's next month, sure | |||
TimToady | th.ingy | ||
mugwump | aha! there's your answer | ||
(to your keynote question) | |||
TimToady | eh? | ||
[particle] | ingy: great! | 22:45 | |
mugwump | you asked who wanted to be thing | ||
ingy | mugwump: th.ingy.net | ||
TimToady | :-) xx * | ||
ingy | hmmm | ||
looks like I am going to have to invent a 'th' web service | 22:47 | ||
mugwump | I guess leo must be lurch | 22:48 | |
ingy | and for my next big project... | ||
Totally::Hot | |||
TimToady | Titan::Hunk | ||
Temp::Happy | 22:49 | ||
Tri::Horned | |||
araujo | hi hi | ||
ingy | oh boy, what a can of worms... and I have to run away. | ||
TimToady | Talk::House | 22:50 | |
ingy | Truly::HaveToRun & | ||
TimToady | Too::Hasty... | ||
ingy | Tim::Hokey & | 22:51 | |
[particle] | HA! | ||
22:54
polettix joined
|
|||
TimToady | actually, I think exported methods have to turn : into ; rather than , | 23:00 | |
dduncan | That's Him | 23:02 | |
er Thats::Him | |||
There::Here | 23:03 | ||
23:06
jferrero joined
23:15
ramon joined
|
|||
TimToady | changed my mind, exported methods probably shouldn't default to turning : into ; | 23:17 | |
but that means we should probably allow $self:; *@args to indicate that it should turn into ; instead of , | |||
or (; *@args) for implicit self | |||
just working on S29 from the exported method angle... | 23:18 | ||
But it also means that Math::Basic is bogus, and things like abs() really belong in Num | 23:19 | ||
if we write them all as methods | 23:20 | ||
23:24
peteso joined
23:27
cjeris left
23:29
[particle] joined
|
|||
mugwump | TimToady: did you ever see the traits-friendly num/real/float/rational/etc types from Haskell Venn diagram? | 23:30 | |
markstos | I know this can be done easily with [*], but I was just playing with this function with does the same thing. However, the recursion seems to short circuit instead of unwinding properly: | ||
mugwump roots around for it | |||
markstos | ?eval sub prod ($x,*@xs) { return $x unless @xs.elems; return $x * prod([,] @xs); } print prod(2,3,4); | ||
evalbot_r13301 | OUTPUT[4] Bool::True | ||
markstos | The expected result was 2 * 3 * 4 = 24 | 23:31 | |
TimToady | ?eval sub prod ($x,*@xs) { return $x unless @xs.elems; return $x * prod([,] @xs); } print prod(2,3.42); | 23:32 | |
evalbot_r13301 | OUTPUT[2] Bool::True | ||
TimToady | ?eval sub prod ($x,*@xs) { return $x unless @xs.elems; return $x * prod([,] @xs); } print prod(2,3,42); | ||
evalbot_r13301 | OUTPUT[4] Bool::True | ||
TimToady | [,] @xs is turning into +@xs somehow | ||
so it's passing the length | 23:33 | ||
?eval sub prod ($x,*@xs) { return $x unless @xs.elems; return $x * prod([,] @xs); } print prod(2,3,42,582); | |||
evalbot_r13301 | OUTPUT[6] Bool::True | ||
TimToady | yes, 2 * 3 (the rest of the args) | ||
markstos | Because it's trying to cast an array into a scalar ($x) ? | ||
It sounds like you agree it's a bug, though ? | 23:34 | ||
TimToady | yes | ||
markstos | Good. I'll stop trying to make it work, then, and consider adding a test for it. | ||
Of course, the short cut works: | 23:35 | ||
?eval sub prod (*@xs) { [*] @xs } print prod(2,3,4); | |||
evalbot_r13301 | OUTPUT[24] Bool::True | ||
TimToady | ?eval sub prod ($x,*@xs) { return $x unless @xs; return $x * prod([,] @xs); } print prod(2,3,4); | ||
evalbot_r13301 | OUTPUT[4] Bool::True | ||
gnuvince | Is there a place where I can read what's the perl6 plan? How v6.pm, pugs and parrot are part of the larger plan? | 23:36 | |
markstos | $x is getting set to the array on the second pass. | 23:37 | |
gnuvince: there are multiple plans. | |||
v6.pm and pugs are parallel projects | 23:38 | ||
TimToady | we're a bunch of ants all pulling the huge chunk of food toward the nest, on average. | ||
markstos | As I understand, pugs can use parrot, but doesn't have to depend on it. | ||
TimToady | the basic answer is, right here is where you can read about it. :) | 23:39 | |
gnuvince | markstos: I thought v6.pm was Perl6 in Perl5 and pugs Perl6 in Haskell | ||
markstos | gnuvince: it's a volunteer effort optimized for fun, so the plan is somewhat organic. | ||
gnuvince: correct. | 23:40 | ||
23:40
[particle] left
|
|||
markstos | biab | 23:40 | |
gnuvince | and the official Perl6? Will it be built upon these two? | ||
Or written from scratch in Parrot's language? | 23:41 | ||
TimToady | official Perl 6 is anything that passes the test suite. | ||
23:41
weinig is now known as weinig|bbl
|
|||
obra | timtoady++ | 23:41 | |
TimToady | regardless of what it's built on. | ||
markstos | right. There can be more than one. | ||
TimToady | or with | ||
that's why pugs has been making heroic efforts lately to cut out all the platform dependencies from the test suite. | 23:42 | ||
peteso | aren't there some self-hosting goals as well with the compiler? | ||
TimToady | but both v6 and parrot are aiming to cover the same tests | 23:43 | |
yes, that is also a goal | |||
so only the backends need be platform dependent | |||
obra | TimToady: is there a right place to canonize that comment about officialness in the synopses? | 23:44 | |
peteso | nice | ||
gnuvince | ok | ||
Well I tell you, I can hardly wait for Perl 6. | |||
TimToady | S01 would probably be the right place. | ||
Impatience is good | |||
gnuvince | Isn't that one of the three programmer qualities? | 23:45 | |
I can remember laziness and hubriss | |||
hubris | |||
TimToady | Would you like to help? | ||
peteso | is the habit of appending the unary increment operator to someones name like applauding them? | ||
obra | peteso: yes. there's a karma bot around here somewhere. | ||
karma timtoady? | |||
jabbot | obra: timtoady? has neutral karma | ||
obra | karma timtoady | 23:46 | |
jabbot | obra: timtoady has karma of 27 | ||
gnuvince | TimToady: I was given svn commit access to Pugs by audreyt recently. However I am very new to Perl in general. I'm trying to wrap my head around Perl 5, and once I'm comfortable, I'll probably start trying to commit tests for Perl 6. | ||
TimToady | but we mostly ignore it... | ||
that's cool. | |||
one of the most important pieces of feedback we can get right now is how it all sits with newcomers. | |||
if you see something that is obviously screwball, please say so. | 23:47 | ||
gnuvince | Well I tell you, the new-style objects make more sense to me. | ||
peteso | obra: presumably then would -- decrement? even if discouraging | ||
gnuvince | Of course, I'm coming from a Smalltalk/Ruby/Python background, so that's to be expected. | ||
TimToady | though, oddly, the P5 object model was pretty much borrowed from Python... | 23:48 | |
obra | peteso: yes. | ||
peteso | obra: thanks for the clarification | 23:49 | |
obra++ | |||
gnuvince | Perl 6 is interesting because it retains the qualities that make Perl 5 good for one-off scripts, but improves (in my opinion) for the larger software | ||
obra | I've really enjoyed building largeish systems in perl5. But I'm an odd one | 23:52 | |
23:52
mjk joined
|
|||
clkao | i enjoyed, for only a while | 23:53 | |
TimToady | gnuvince: that's definitely been one of our basic goals. | 23:54 | |
gnuvince | With a bit of luck, I'll get the job at Ubisoft for which I applied yeterday. They need a QA programmer and the most used languages for the job will be Perl and Python. Hopefully I can pick up more experience with Perl ;) | 23:58 | |
rodi | Speaking of audreyt, I wrote an ode to her and Pugs: use.perl.org/~rodi/journal/30985 | 23:59 | |
lambdabot | Title: Journal of rodi (7124) |