svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com Set by avar on 16 November 2006. |
|||
00:49
pnu joined,
gaal joined,
cj joined,
tewk joined,
shachaf joined,
TimToady joined,
GeJ joined,
nanonyme joined,
qmole joined,
[particle] joined
00:50
kcwu joined,
wilx joined,
lambdabot joined
01:12
weinig joined
01:46
ozo joined
02:42
dmq joined
02:43
weinig is now known as weinig|zZzZ
02:51
Schwern joined
03:06
pbuetow joined
03:11
dduncan joined,
bjoern_ joined
|
|||
bjoern_ | Hi. Say you call a|b a "choice" and ab a "sequence". What would you call a||b and a&&b where a||b = a?b|b?a and a&&b = ab|ba? | 03:12 | |
dduncan | did you mean to say: and a&b a "sequence" | 03:15 | |
? | 03:16 | ||
or (a,b) ... that's a sequence | |||
bjoern_ | Not really. This isn't a Perl question and the syntax does not really matter. I'm just looking for good names. | ||
dduncan | just a minute ... | 03:17 | |
bjoern_ | ab is "first a, then b" | ||
a|b is "either a or b" | |||
a&&b is "a and b in any order" | |||
a||b is "a, or b, or both in any order" | |||
dduncan | I see ... what is the wider context? | 03:18 | |
bjoern_ | You could say XML element names for a schema language | 03:19 | |
so you'd <choice><a/><b/></choice> for example | |||
I was thinking along the lines of "inclusion", "conjunction", ... but haven't been able to come up with something good | 03:20 | ||
hmm a&&b is "any permutation of all values" and a||b is "any permutation of some values" ... | 03:27 | ||
03:28
diakopter joined
|
|||
bjoern_ | any other channel on freenode where people might have an idea? | 03:29 | |
dduncan | hard to say ... but still, you've given me more to work with | 03:32 | |
I certainly face times I want to come up with names too, and have gotten help here on a couple occasoins | 03:33 | ||
occasions | |||
I suggest using an online thesaurus to ideas | 03:34 | ||
put in words that you think mean similarly to what you want, and see other things that may look good | |||
it may not be the best, but thesaurus.reference.com/ is what I usually try for this purpose | 03:35 | ||
lambdabot | Title: Thesaurus.com | ||
04:10
Teratogen joined
|
|||
Teratogen | will Perl 6 still have a text preprocessor a la Perl 5's perl -P ? | 04:10 | |
text preprocessors are nice =) | 04:11 | ||
dduncan | that matter is orthogonal to the language itself, so would depend on specific implementations | 04:12 | |
and there is no single Perl 6 implementation | 04:13 | ||
Teratogen | is it orthogonal to Perl 5, or is it a moot point? | ||
dduncan | there is only 1 Perl 5 implementation | ||
Teratogen | perl -P will always try to invoke a C preprocessor, even if one isn't there | ||
dduncan | all this said, v6.pm, one Perl 6 implementation, is over Perl 5 | ||
so things that work with Perl 5 should work with it as reasonable | 04:14 | ||
or maybe I misunderstood your question | |||
are you talking about source filtering? | |||
or a dynamic text editor? | |||
Teratogen | no | 04:15 | |
a simple text preprocessor | |||
bjoern_ | (/me in #math) "permutation" isn't too bad because you could say, to produce a valid text | ||
[a | b] - make a <choice> among these: a, b, c, ... | |||
[a , b] - use this <sequence>: a, b, c, ... | |||
[a && b] - make a <permutation> of these: a, b, c, ... | |||
[a || b] - make a <permutation> of a subset of these: a, b, c, ... | |||
Teratogen | a la Perl 5's perl -P | ||
bjoern_ | (#math wasn't too helpful yet though, neither were the thesauri) | ||
Teratogen | I know Perl 6 will have a sophisticated built in preprocessor | ||
at the "code level" | |||
not at the "text level" | |||
dduncan | it has macros | 04:16 | |
you mean like that? | |||
Teratogen | right | ||
exactly | |||
macros are one thing | |||
a text preprocessor is something else | |||
something simpler | |||
but still very useful | |||
there should be a "perl6 -P" | |||
dduncan | macros can take either an AST or the text source code as input | ||
in Perl 6 | |||
Teratogen | aah | ||
dduncan | so you have that flexability | ||
Teratogen | cool | ||
=D | |||
dduncan | afaik | ||
one moment ... | 04:17 | ||
have a look at Synopsis 6 ... dev.perl.org/perl6/doc/design/syn/S06.html | |||
lambdabot | Title: Synopsis 6: Subroutines - perl6: | ||
bjoern_ | combine-some / combine-all are two words unfortunately | 04:19 | |
dduncan | there's a snippit at the top, but mainly scroll down about 80% to the "Macros" section | ||
avar | when you can take ast you have the power of lisp macros | 04:22 | |
bjoern_ | I think I am going with <conjunction> for a&&b and <combination> for a||b then | ||
dduncan | bjoern_ , depending on the nature of things, you could have something that sort of works now, and change it later if something better comes up ... even easier if you design your schema to declare a version string, so that user programs can adapt to changes | 04:28 | |
after it goes in production | 04:29 | ||
04:50
LeeD joined
04:58
Aankhen`` joined
05:06
miyagawa joined
05:37
nipra joined
05:38
araujo joined
05:45
luqui joined
05:56
ofer0 joined
06:14
BooK_ joined
06:41
kanru joined
|
|||
Teratogen | congratulations, tag- | 06:51 | |
06:59
f0rth joined
07:00
lambdabot joined
07:14
Aankh|Clone joined
07:16
lambdabot joined
07:20
Aankh|Clone is now known as Aankhen``
07:25
Aankh|Clone joined
07:33
Southen_ joined
07:47
cognominal joined
07:59
devogon joined
08:13
marmic joined
08:21
iblechbot joined
08:22
Schwern joined
08:53
spo0nman joined,
lambdabot joined
08:54
lambdabot joined
08:56
makk384 joined
09:08
lambdabot joined
09:18
lambdabot joined
09:40
makk384 left
09:42
elmex joined
09:58
Aankh|Clone is now known as Aankhen``
|
|||
svnbot6 | r14977 | fglock++ | mp6 - fixed variables predeclaration in bind | 10:23 | |
10:43
fglock joined,
buetow joined
|
|||
svnbot6 | r14978 | fglock++ | mp6-mo - initial commit | 10:59 | |
r14978 | fglock++ | - classes (::CompUnit) are implemented as a macro. | |||
r14978 | fglock++ | The macro expands to a module (::Module), which calls MO. | |||
r14978 | fglock++ | - implemented methods, accessors, class variables | |||
11:08
ruoso joined,
Khisanth joined
|
|||
fglock | nothingmuch: is '->new' created automatically by MO? otherwise, is '->create_instance' the right way to implement it? | 11:23 | |
11:24
Debolaz2 joined,
cdfh_ joined,
BooK joined,
Debolaz2 joined
11:28
bjoern_ joined,
Debolaz2 is now known as Debolaz
|
|||
baest | /win 1 | 11:38 | |
sorry :) | 11:39 | ||
11:45
webmind joined
11:52
chris2 joined
|
|||
nothingmuch | fglock: i have drawn that up but haven't implemented yet | 12:00 | |
i'm not 100% sure how I will do it, but the constructor protocol is going to consist of: | |||
low level constructors, generated by the meta class as private methods | |||
high level constructors inherited from a base class which in turn gets them from some roles so that you can easily make a different base class | 12:01 | ||
see: nothingmuch.woobling.org/constructi...zation.pdf | |||
lambdabot | tinyurl.com/y3o94b | ||
nothingmuch | the problem with this is that it makes sense for class style stuff | 12:02 | |
but it doesn't match what TimToady wanted for prototype OO | |||
svnbot6 | r14979 | fglock++ | mp6-mo - implemented "new" method | ||
nothingmuch | which while implementable is going to be difficult in perl 5 land | 12:03 | |
fglock | I've got: Can't locate object method "create_instance" via package "MO::Run::Responder::Invocant" at cp.pl line 130. | 12:05 | |
nothingmuch | that's because invocant doesn't have that method, it's a moose method | ||
you need to set the native runtime in MO::Run::Aux to get "normal" oo | |||
where the object type is a blessed ref, not a boxed type | 12:06 | ||
BEGIN { $MO::Run::Aux::MO_NATIVE_RUNTIME = 1 } | |||
somewhere before use MO::Run::Aux | |||
Debolaz | en.wikipedia.org/w/index.php?title=...d=97634795 | ||
lambdabot | tinyurl.com/yzchr9 | ||
nothingmuch | or you could use MO::Run::Aux::method_call( $obj, "method" ) instead of $obj->method to have it working under both types | 12:07 | |
fglock | can I use method_call() everywhere? | 12:09 | |
nothingmuch | yes | ||
it's slow, but it means it'll run with either boxed invocant or native perl 5 always | |||
if it could be a macro that's what it would have been ;-) | |||
fglock | ok, I can make it macro later | 12:10 | |
nothingmuch | MO's own generated code uses these "macros" and will eventually use a proper AST to treat it as a macro | ||
fglock | I'll paste what I have so far, one sec... | 12:11 | |
nothingmuch | MO::Run::Aux dictates everything, in a sense... it provides boxing and unboxing routines, as well as method calls, etc... it bridges the meta model with the runtime | ||
and it has two modes | 12:12 | ||
if you want to use $foo->method type method calls you must use it under the native mode | |||
and then it can also generate .pmcs sanely | |||
bbiab | 12:13 | ||
12:15
ofer1 joined
|
|||
fglock | paste.lisp.org/display/33941 | 12:15 | |
paste.lisp.org/display/33942 | |||
I've got the same error message with MO_NATIVE_RUNTIME = 1 | 12:21 | ||
method_call() works - thanks! | 12:24 | ||
nothingmuch | are you sure you did it early enough? | 12:28 | |
fglock: that looks good | 12:30 | ||
some comments: | |||
do { [] }; # what's this? | |||
$__class_box->create_instance( @{$List__} ); - you can call it on #self | |||
$self, sorry | 12:31 | ||
but either way MO::Run::Aux::method_call( $self, "create_instance", @{ $list__ } ) is prolly safer | |||
also, create_instance will soon change to need to accept field meta objects instead of key/value pairs | |||
and only 'new' will accept them | |||
so I will let you know when to phase 'new' out | |||
the issue with $__clas__box vs. $self is that new cannot be inherited that way | 12:32 | ||
looks sweet =) | 12:33 | ||
fglock++ | |||
anymoose, i'm going to excercise | |||
fglock: oh, one request... Keep the small bits of emitted stuff pluggable | 12:35 | ||
since MO::Compile::Class::MI is not necessarily the right metaclass, and Method::Simple is not necessarily the right metrhod metaclass it should be easy to change them later if we decide to tailor ones that better suite your needs | 12:36 | ||
12:37
agentzh joined
|
|||
fglock | ok | 12:38 | |
agentzh | hmm, it's fun to see there's various encodings used by the people here: utf-8, gb2312, big5, latin1, and etc, etc, etc. :) | ||
fglock | nothingmuch: I'm confused with p6 'submethod BUILD' - how is it used? | 12:42 | |
12:57
ruoso joined
13:03
dduncan left
|
|||
fglock | nothingmuch: now I'm getting 'Can't locate object method "responder_interface" via package "MO::P5::Registry" | 13:05 | |
svnbot6 | r14980 | fglock++ | mp6-mo - method calls now use 'method_call()' instead of '->' | ||
fglock | nothingmuch: re 'do { [] }' - it's an empty ::Bind, it was generated because the function has no params. It could be removed by the emitter. | 13:11 | |
nothingmuch | fglock: BUILDALL aggregates all of the BUILD submethods and calls them in order | 13:21 | |
fglock: can you paste the line that made that error | |||
fglock | I'm fixing it - I'm moving the internal/native MO calls into the runtime | 13:22 | |
here: MO::Run::Aux::method_call( MO::Run::Aux::registry(), q(register_class), 'x', $__base ) | 13:24 | ||
I think MO::Run::Aux::registry() is not a valid object? | 13:25 | ||
re BUILD: should I implement it somehow? | |||
13:29
bonesss joined
|
|||
nothingmuch | oh | 13:33 | |
no need to do that | |||
MO::Run::Aux::registry is a p5 object, not a MO object | |||
only use the method_call pseudomacro for values that are returned by MO::Run::Aux's boxing routines | |||
fglock | ok - it's fixed now | ||
13:39
asz joined
|
|||
agentzh | ōæ½xD0ōæ½xC2ōæ½xC4ōæ½xEAōæ½xBAōæ½xC3 | 13:47 | |
13:49
elmex joined
13:52
kanru joined,
thepler joined
|
|||
svnbot6 | r14981 | fglock++ | mp6-mo - 'new' works | 13:53 | |
14:00
weinig|zZzZ is now known as weinig
14:01
zev joined
|
|||
svnbot6 | r14982 | fglock++ | mp6-mo - added example | 14:03 | |
14:04
[particle] joined
14:24
mako132 joined
14:25
mako132 joined
|
|||
fglock | nothingmuch: can you give me an example of how to add a new method to 'instance_methods' and recalculate | 14:29 | |
bbiab | |||
14:38
nipra joined
|
|||
svnbot6 | r14983 | agentz++ | [get-irc-logs.pl] | 14:52 | |
r14983 | agentz++ | - always refresh the last day's log. | |||
14:52
Jedai joined
14:53
kanru joined
15:11
fglock joined
|
|||
fglock | nothingmuch: $__base->instance_methods->add( MO::Compile::Method::Simple->new(...) ) seems to work. Is this correct? | 15:19 | |
nothingmuch | si | 15:22 | |
i was going to say that but you left ;-) | |||
however, at this point you need to reinstall the new responder interface | |||
the registry is not yet smart enough to do this, it should have a 'regenerate' method of some sort | 15:23 | ||
i'm avoiding this for now because I haven't decided yet if I want some sort of declarative dependency based regeneration | |||
which would be cooler | |||
and safer | |||
but more work | |||
fglock | is this the responder interface? $__class_box = Main::box_class($__base) | ||
nothingmuch | that's not enough | 15:24 | |
box_class has two modes of operation: | |||
under the native mode it'll look inside the registry for the metaclass's registered package | |||
and return that | |||
so that $__class_box is just a package string | |||
under the non native runtime it will get $__base->class_interface and return an invocant with $__base and that responder interface as a boxed value | 15:25 | ||
fglock | I'm avoiding native mode so far | ||
nothingmuch | if you're using the registry use the native mode | ||
otherwise it makes no sense | 15:26 | ||
(you can't sanely use packages & the registry but avoid perl's own OO dispatch) | 15:27 | ||
fglock | can I make a sub ::MyClass that returns a $class | ||
nothingmuch | ? | ||
fglock | so that I call ::MyClass()->new(...) | 15:28 | |
nothingmuch | why? | ||
fglock | and I don't use the registry | ||
I mean call_method( ::MyClass(), 'new', ... ) | |||
nothingmuch | then code calling from p5-space into p6-on-p5-space will have to do weird stuff | ||
what for? | |||
fglock | no problem, as long as I get the p6 stuff right | 15:29 | |
nothingmuch | i still don't understand why you want to use the fully virtualized runtime | ||
it's much slower and very demanding on memory | |||
fglock | I'd like to move as much as possible into p6-land | 15:30 | |
nothingmuch | well, yes... you can simply make up your own registry thing that maps symbolic names to meta class instances | ||
fglock | which would make it easier to emit to non-perl backends | ||
nothingmuch | i don't see what difference it makes right now... in a sense you need some mapping between a package name and it's corresponding metaclass instance | 15:31 | |
bidi | |||
and you want to ideally make your calls on the most suitable one leaving it opaque to the emitter how exactly the runtime dispatches this | |||
as long as it does it right | 15:32 | ||
in p5 the most natural way to map it is packages and subs in stashes | |||
as long as you use a set of macros (or pseudomacros) as provided by MO::Run::Aux and adhere to some simple registration protocol (the p5 registry might be too simplified.. i rushed it), then it should be 100% portable | |||
15:33
ruz joined
|
|||
nothingmuch | and you shouldn't need to care that the registry is in fact flattenning the metaobjects into packages | 15:33 | |
and that method_call is really a perl 5 arrow operator | |||
my $boxed_type = MO::Run::Aux::box_class($metaclass_instance); | |||
$boxed_type is totally opaque | |||
in p5 land it maps to a class string since that's what native to it | |||
fglock | so I should only use method_call() in 'new' ? | 15:34 | |
nothingmuch | why? | ||
it's a macro for a method call | |||
a portability macro to ensure that you don't have to care if it's the native runtime or the fully virtualized one, which do method calls completely different from eachother | 15:35 | ||
fglock | ok, so let's go back to registry regenerate | 15:38 | |
I can use MO::Compile::Class::MI->new() when I see a class declaration for the first time | 15:39 | ||
nothingmuch | yes | ||
fglock | but it can be declared again, with extra methods | ||
nothingmuch | there is a very very important distinction though | 15:40 | |
nevermind | |||
i thought you meant something else | |||
you can simply alter the collections | |||
and then recalculate the responder interface by fetching a new one: $class->instance_interface | |||
etc | |||
and then emitting that | |||
look in Registry's emit_all_classes | 15:41 | ||
this can be refactored to emit_class | 15:42 | ||
so that you can forcibly emit a class, even if it was emitted beforfe | |||
you call ->add and then reemit | 15:44 | ||
the problem is that you have to reemit all the derived classes as well | |||
which is why I want a hook system | 15:45 | ||
fglock | can I just use emit_all_classes() for now? I'll only call it once for each new class | 15:46 | |
nothingmuch | no, that's lazy | ||
it'll skip classes it already did without checking if they were modified | |||
15:47
Belaf joined
|
|||
nothingmuch | why do you need to support modifying classes so early? | 15:47 | |
fglock | because mp6 adds methods to classes in several different files | 15:50 | |
I could fix that, but I'd like to add support for it, instead | |||
nothingmuch | you can wait with emit_all_classes | ||
and simply do that after everything is modified | 15:51 | ||
if you don't mind so much do it at INIT time | |||
fglock | it's not so early - mp6-mo should support all of p6 object system | 15:53 | |
mp6-mo is a runtime for p6 | |||
nothingmuch | it should, yes | ||
but why right now | |||
there is a lot of effort involved | |||
and partial support is better than nothing | 15:54 | ||
fglock | we've got partial support in v6.pm, but mp6 is supposed to fix that | 15:56 | |
nothingmuch | that's not what I'm saying | ||
i'm saying that adding this functionality to MO is difficult... it's not in there right now | 15:57 | ||
fglock | maybe I could help? | 15:58 | |
nothingmuch | the question is: do you want to hack weird MO internals or do you want to let this slide for now and get back to it when it's ready for you ;-) | 15:59 | |
fglock | I'm a bit impatient, you know :) | 16:00 | |
nothingmuch | it's opensource... you're welcome to try yourself | 16:01 | |
16:01
stef_ joined
|
|||
nothingmuch | but the "real" solution is a considerable amount of work IMO | 16:01 | |
16:02
ashleyb joined
|
|||
fglock | ok, I'll work around it | 16:04 | |
16:10
stef__ joined
16:14
pbuetow joined
16:24
Arathorn joined
|
|||
fglock | nothingmuch: unnamed classes are not supported? I'm making a for-later list | 16:27 | |
are roles ok? | |||
nothingmuch | uh? | ||
fglock | my $c = class { ... } | 16:28 | |
nothingmuch | you can simply use a metaclass object... if you want to use the native runtime generate an anon class for it | ||
otherwise there is no need to name a class at all, ever | |||
fglock | ok | ||
nothingmuch | all the meta objects are natively anonymous | ||
fglock | how do you get the metaclass? $obj->WHAT, etc? | 16:29 | |
nothingmuch | through the type box | ||
unbox the responder interface out of it using MO::Run::Aux and then ask that what it's class is | 16:30 | ||
fglock | can you give an example? given an object $obj ... | ||
nothingmuch | i forgot to commit it... | 16:31 | |
loook at MO::Run::Aux::unbox_value | |||
something like that but unbox_responderinterface | |||
unbox_ri | 16:32 | ||
darcs pull | |||
wait, not yet | 16:33 | ||
now | |||
webmind | happy new year! | 16:36 | |
16:36
webmind left
16:38
weinig_ joined
16:42
nipra_ joined
16:43
diakopter joined
16:45
agentzh joined
|
|||
agentzh | curve for #perl6 message count in 2005: perlcabal.org/agent/irc-2005.gif | 16:46 | |
and the curve for the year 2006: perlcabal.org/agent/irc-2006.gif | 16:47 | ||
diakopter | agentzh: should have no broken smartlinks now | ||
agentzh | diakopter: wow! | ||
diakopter | (I only fixed 2 - the last 2) | ||
agentzh | diakopter++ | ||
maybe i should plot the smartlink count curve too. :) | |||
diakopter | I was thinking about adding "Unfiled" smartlinks to the top of all the test files that have no smartlinks yet - so they show up as "bugs" | 16:48 | |
16:48
_bernhard joined
|
|||
agentzh | bugs? | 16:48 | |
diakopter | unlinked test files | ||
"broken" smartlinks | |||
agentzh | ah, okay. | ||
diakopter | there are a few hundred that are not linked | 16:49 | |
agentzh | what will such links look like? | ||
i mean, where should these links be linked to? | |||
diakopter | hopefully, nowhere valid, so they show up as broken by smartlinks.pl --check | 16:50 | |
so, anywhere invalid? | |||
agentzh | i think it's sufficient to add a few lines of code to smartlinks.pl | 16:51 | |
diakopter | oh, to count/list the test files without smartlinks. | ||
agentzh | and possibly add an option to tell it to say something about .t files without any links. | ||
right | |||
diakopter | on another topic - a friend of mine and I were considering finishing the "refactoring" of the test suite - do we need some kind of authorization to begin doing that? | 16:52 | |
agentzh | refactoring? what kind of refactoring? | 16:53 | |
diakopter | reorganizing, relabeling | ||
removing duplicates | |||
agentzh | i think that's fine. :) | ||
if you're really doing something big, feel free to ask here. :) | 16:54 | ||
diakopter | but if no one answers like the past few weeks.... | ||
agentzh | oh well | ||
diakopter | :) | ||
agentzh | i think it's always fine to fire a mail to p6c. | 16:55 | |
if there's no one awake here. ;-) | |||
any contribution to the test suite will be greatly appreciated. | 16:56 | ||
diakopter | I'm confused as to how widipedia can call pugs a "slow perl6 implementation" - I mean, are there any faster ones? perhaps the language is just slow :-P | ||
agentzh | just as audreyt like to say, "when doubt, commit!" | 16:57 | |
pugs is only a prototype. | |||
and it's not optimized for speed afaik. | |||
it's mostly optimized for correctness. | |||
pugs's historical mission is just to verify the language design, | 16:58 | ||
diakopter | right, but to call it a slow implementation means there must be a faster implementation | ||
agentzh | and give us a sane test suite. | ||
indeed! | |||
diakopter | and not just an imagined/future one | ||
agentzh | perl6 on parrot is supposed to be the fastest. | 16:59 | |
no, it's also underway. | |||
the parrot folks are working on that. | |||
including pmichaud and particle. | |||
diakopter | is there a polite way to say "I know" on IRC? | ||
svnbot6 | r14984 | fglock++ | mp6-mo - remove old AST/ and Perl5MO/ dirs | ||
agentzh | iirc, the parrot implementation for perl6 has already passed a good portion of the sanity test. | 17:00 | |
*tests | |||
the pugs test suite may be the most valuable componment in the pugs repos. | 17:01 | ||
17:02
iblechbot joined
|
|||
agentzh | end of day for me & | 17:05 | |
17:05
agentzh left
17:20
nipra_ is now known as nipra
17:25
ozo joined,
weinig joined
17:58
riffraff joined
|
|||
riffraff | hi | 17:58 | |
18:00
masak joined
18:14
BooK_ joined
18:15
larsen_ joined
18:16
ludan joined
|
|||
svnbot6 | r14985 | fglock++ | mp6-mo - native mode MO works (fixed in MP6/Perl5/Runtime.pm) | 18:24 | |
r14986 | gabriele++ | solved problem 28, could use an update if/when sort(SingleArgumentClosure) works | 18:27 | ||
18:32
justatheory joined
18:40
ludan joined
18:41
larsen__ joined
|
|||
riffraff | does perl6 _impose_ tail call optimization like scheme or is it an implementation detail? | 18:42 | |
18:44
fglock joined
|
|||
svnbot6 | r14987 | fglock++ | mp6-mo - no longer requires add_method() for bootstrapping | 18:45 | |
TimToady | riffraff: p6 imposes it. | 18:49 | |
riffraff | wonderful thanks | 18:50 | |
18:57
upd joined
19:01
mdiep joined
|
|||
mdiep | Juerd: you about? | 19:03 | |
pasteling | "riffraff" at 83.187.201.251 pasted "gcd with euclid's algorithm, (problem 32/99)" (27 lines, 770B) at sial.org/pbot/22088 | 19:04 | |
riffraff | someone could please take a look at my paste and comment it, whenever it feels like? I don't know if it makes sense to use a ternary operator or an explicit if/else instead of a two lines body, or to just remove the last return. I need coding guidelines :/ | 19:06 | |
mh.. one "it" should be "he", of course | 19:08 | ||
masak | riffraff: I liked "it" :) I thought you were making a gender-grammatical point | ||
btw, the two-line body reads fine if you ask me | |||
feels a bit like Haskell's pattern matching when written that way | 19:09 | ||
riffraff | masak, you're also right, but it was just showing my language roots, in italian I wouldn't use he/she/it at all, and in my mind everything becomes "it" :) | 19:10 | |
masak | riffraff: a lot of thought has been made on this subject | 19:11 | |
en.wikipedia.org/wiki/Gender-neutral_pronoun | |||
by me, you make a very fair point in writing "it", not only showing your language roots | 19:12 | ||
(not saying I would necessary do the same, though. ususally I just rework the sentence until the pronoun disappears) | |||
19:12
fglock joined
|
|||
masak & | 19:12 | ||
riffraff | interesting, I understand the general point of gender neutral pronouns, but never thought much about it, thanks for the pointer | 19:14 | |
19:17
kanru joined
|
|||
svnbot6 | r14988 | fglock++ | mp6-mo - change all p5 method calls to 'native' | 19:21 | |
fglock | now attempting to bootstrap mp6-mo ... | 19:26 | |
diakopter awakes at the word bootstrap | 19:27 | ||
kolibrie | me crosses fingers | ||
19:28
weinig is now known as weinig|bbl
19:29
nipra joined
|
|||
Juerd | mdiep: Am now | 19:36 | |
svnbot6 | r14989 | gabriele++ | implemented euclidean algorithm for gcd, tests passing | ||
mdiep | Juerd: what do I need to do to get a feather account these days? | ||
Juerd | mdiep: Send me an email with the request | 19:37 | |
mdiep: Include real name and preferred username | |||
mdiep | email? | 19:38 | |
Juerd | E-mail \E-mail\, email \email\, e-mail \e-mail\([=e]"m[^a]l`), | ||
n. | |||
electronic mail; a digitally encoded message sent from one | |||
computer to another through an electronic communications | |||
medium, especially by means of a computer network. | |||
:) | |||
mdiep | :-p | ||
your email? | |||
Juerd | Preferrably over SMTP | ||
No, your mail, to my mailbox :) | 19:39 | ||
mdiep | "what is your email address?" | ||
Juerd | [email@hidden.address] | ||
mdiep | thanks :-p | ||
19:40
b_jonas joined
|
|||
awwaiid | I like the comments in that paste re: needing to be multi to allow for other commutative rings | 19:42 | |
fglock | re mp6-mo: no bootstrap yet - it took several minutes to compile a small program, and didn't finish :( | 19:47 | |
kolibrie | bummer | ||
riffraff | awwaiid, thank you, I hardly remeber practical use cases of commutative rings except that in a coding theory course I took, but I like the idea of being open to enhancements :) | 19:48 | |
19:54
statico joined
19:58
ilogger2 joined
19:59
[particle] joined
20:08
ingy joined
|
|||
Alias_ | hmm | 20:18 | |
weird | |||
why would CPAN, when running as root, write to my user's .cpan directory | |||
I won't be able to clear that cache except as root either | 20:19 | ||
wilx | Because of some env variables that have not been cleared when su'd? | 20:22 | |
20:26
polettix joined
|
|||
kolibrie | Alias_: the culprit is CPAN::Config, which hard-codes that kind of stuff | 20:29 | |
20:35
ilogger2 joined
20:40
rindolf joined
|
|||
rindolf | Hi all. | 20:40 | |
diakopter | hi | 20:41 | |
Alias_ | oh, also wrong channel :) | ||
The weird thing is though, if I just require CPAN::Config, it gets the right one | 20:42 | ||
if I use CPAN, it internall does CPAN::HandleConfig->load and gets the WRONG one | |||
rindolf | Hi Alias_ | 20:53 | |
Alias_: are you up early? | |||
Alias_ | late | 20:54 | |
sorta :) | |||
Alias_ works on pip arm | |||
rindolf | Alias_: I see. | ||
Alias_: what's pip arm? | 20:55 | ||
Alias_ | pip is my installer tool | ||
That lets you script Perl module installs | |||
From arbitrary sources | |||
CPAN modules, CPAN paths, local tarballs, and now uris | |||
> sudo -H pip --install svn.phase-n.com/svn/cpan/release/PP..._01.tar.gz | 20:57 | ||
That's todays addition | |||
20:57
larsen_ joined
|
|||
Alias_ | The magic bit, is that not only does it install it, it also installs it's dependencies across the private code to CPAN boundary | 20:57 | |
And the installation is not only perfectly compatible with CPAN, it tricks the CPAN client into ACTUALLY doing the installation of a non-CPAN module | 20:58 | ||
So it's a perfect installation | |||
It's more useful for installing non-CPAN perl modules of course | 20:59 | ||
Or sequences of installs | |||
And hopefully eventually will also support par files and ppd files | 21:01 | ||
21:09
larsen___ joined
21:47
ilogger2 joined
22:08
marmic joined
22:18
dduncan joined
22:23
frankg joined,
buubot joined
22:28
zev joined,
Schwern joined,
cognominal joined,
f0rth joined,
qmole joined,
nanonyme joined,
kane_ joined,
Eidolos joined,
audreyt joined
22:34
zev joined,
Schwern joined,
cognominal joined,
f0rth joined,
qmole joined,
nanonyme joined,
kane_ joined,
Eidolos joined,
audreyt joined,
buubot joined
22:36
mako132 joined
22:39
ilogger2 joined
22:40
ilogger2 joined
|
|||
TimToady | er, && is infix, not postfix. so in theory my $and = &infix:<&&> would work, though && is really an infix macro, and currently hardwired in pugs (I suspect), and thus perhaps not available that way. | 22:42 | |
?eval &infix:<&&>(1 == 1, { say "yes" }) | 22:43 | ||
evalbot_r14989 | {Syn "block" {App &say (: "yes")}} | ||
22:43
zev joined,
cognominal joined,
f0rth joined,
qmole joined,
nanonyme joined,
kane_ joined,
Eidolos joined,
audreyt joined
|
|||
TimToady | ?eval &infix:<&&>(1 == 1, say "yes" ) | 22:43 | |
evalbot_r14989 | OUTPUT[yesā¤] Bool::True | ||
TimToady | ?eval my $and = &infix:<&&>; $and(1 == 1, say "yes") | 22:44 | |
evalbot_r14989 | OUTPUT[yesā¤] Bool::True | 22:45 | |
TimToady | ?eval my $and = &infix:<&&>; $and(1 == 2, say "yes") | ||
evalbot_r14989 | Bool::False | ||
riffraff | well, it seem to work :) | ||
TimToady | yeah. :) | ||
riffraff | thank you once more | ||
TimToady | 4 | ||
riffraff | a question about "returns": if I declare a method as returning Bool, and inside it there is an undef, should I get implicit coercion to False ? | 22:48 | |
TimToady | no, you'd get an undefined Bool I expect. | ||
in Haskell terms, most types are already Maybe types. | 22:49 | ||
riffraff | I see | ||
TimToady | need to commute... & | 22:50 | |
riffraff | but not undef -> True | 22:51 | |
TimToady | It's possible it should coerce to False though, since testing a value for truth generally counts as "handling" an unthrown exception... | 22:52 | |
so Bool may be special that way... | 22:53 | ||
now if you coerced to bool instead of Bool, it would certainly have to decide whether to produce 0 or 1 or throw or throw an exception... | 22:54 | ||
since bool is just an unsigned 1-bit integer. | |||
and has no room to contain an unthrown exception. | |||
but have to trot & | 22:55 | ||
22:55
buetow joined
22:56
zev joined,
cognominal joined,
f0rth joined,
qmole joined,
nanonyme joined,
kane_ joined,
Eidolos joined,
audreyt joined
23:06
Schwern joined
23:12
lambdabot joined
23:21
Psyche^ joined
23:24
jan joined
23:29
Psyche^ is now known as Patterner
23:30
araujo joined
23:33
elmex joined
23:34
QwestDawG joined
23:37
perlDreamer joined
|
|||
diakopter | welcome perlDreamer | 23:37 | |
perlDreamer | howdy | ||
TimToady | rehi | 23:45 | |
Alias_ | TimToady: So, I'm pondering the idea of a Perl 6 futures market... | ||
for, say, your blessed "production" release | 23:46 | ||
TimToady: With contracts at quarterly intervals | |||
When would be an appropriately unlikely end date... | 23:47 | ||
Q4 2010, and then "after 2010" ? | |||
I don't mean this as a joke or jibe, but a way to stop the FUD to a degree | 23:50 | ||
TimToady | hmm, well, I think the best way to stop the FUD is just up and finish the thing. :) | 23:51 | |
Alias_ | of course, but then I get a lot of chatter around and about on that topic | 23:52 | |
diakopter | on that note | 23:54 | |
TimToady | I predict diakopter is going to say something about testing... | ||
Alias_ | Anyone want to take the negative contract? | ||
diakopter | perlDreamer and I were talking about, thinking about devoting some time/effort to refactoring/restructuring the test suite. Hey! | 23:55 | |
perlDreamer | do you have any suggestions/cautions ideas for such a task? | ||
TimToady | I have exhausted my "futures" for the year... | ||
what are the goals? | 23:56 | ||
perlDreamer | portable across implementations (easy for parrot to use) | ||
we have an idea about tracking test progress across time, so you can track when a feature broke in an implementation | |||
avar | Aren't there a few things still that languages/perl6/*pir needs to run Test.pm and the test suite? | ||
perlDreamer | also an easy way to compare test results across implementations (pugs passes these tests, parrot, these, etc.) | 23:57 | |
diakopter | erasing duplicates, better organizing around the synopses/apocalypses/exegeses | ||
Alias_ | perlDreamer: Andreas has a solution for that in Perl 5 | ||
perlDreamer: The "when did it break" problem | |||
diakopter | "don't break it"? | ||
Alias_ | perlDreamer: Has does a binary search across the revision space | ||
perlDreamer | Alias_: is it posted online somewhere? | ||
Alias_ | There's a CPAN module for it, yes | 23:58 | |
I've never gotten it to work though :) | |||
[particle] | diakopter: write the tests in pure perl 6. then parrot can easily run them | 23:59 | |
perlDreamer | Alias_: which Andreas are you talking about? | ||
TimToady | one of the problems is that there's never going to be a one-to-one correspondence between tests and features, so the identity of a feature is difficult to nail down. | ||
DebolazX | TimToady: Perhaps it might also be an idea to watch the wikipedia article about perl 6, it has had some interesting fud edits lately. :) | ||
TimToady | I could spend all day battling fud, but I don't think that's my job. |