Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-04-14

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:14 wilx joined perl6
00:22 diotalevi left perl6
00:44 cygwin-guy joined perl6
00:52 rissy joined perl6
00:54 thorat joined perl6
00:54 svnbot6 r15908 | Darren_Duncan++ | ext/(Locale-KeyedText|Set-Relation)/ : replaced any +@ary with @ary.elems
00:55 Aankhen`` Heh, I keep pronouncing @ary in my head like "unary".
00:56 PerlJam Aankhen``: you're weird :)
00:56 Aankhen`` 'Tis true. :-D
01:02 avar "at-ari" :)
01:05 Aankhen`` joined perl6
01:05 specbot6 r14374 | larry++ | Eliminated STATUS in favor of normal dispatch to :foo pair-handling methods.
01:15 Aankhen`` joined perl6
01:21 nperez joined perl6
01:21 LCamel joined perl6
01:27 LCamel joined perl6
01:56 diakopter joined perl6
02:36 diakopter is someone around with commitbit invite rights?
02:53 geoffb diakopter: still here?
02:54 geoffb diakopter: it turns out I still have (rather dusty) invite rights
03:01 zgh joined perl6
03:04 amnesiac joined perl6
03:05 geoffb @tell diakopter: Since you left before I could ask, I just substituted _ for the . in his username to get the account name
03:05 lambdabot Consider it noted.
03:31 Aankhen`` avar: Atari, eh?
03:47 justatheory joined perl6
03:48 bonesss joined perl6
04:18 forsaken joined perl6
04:25 esstone joined perl6
04:26 reZo joined perl6
04:27 reZo is now known as rissy
04:30 bonesss joined perl6
04:32 bonesss joined perl6
05:07 bonesss joined perl6
05:13 devogon joined perl6
05:51 SubStack joined perl6
06:13 BooK_ joined perl6
06:16 dduncan I've noticed that Pugs doesn't seem to handle pod properly when it occurs inside a multi-line hash value definition; it tries to interpret =pod as a function call to &pod ... this happens when the pod block is inside "my $foo = { 1 => 2, };", but not when it is in "my $foo = { 1; };" ... presumably the latter is being parsed as a block and the former as a hash
06:17 dduncan now, pod is supposed to be able to exist within a multi-line expression, is it not?
06:19 pasteling "dduncan" at 24.69.53.198 pasted "pod inside multiline hash definition has Perl parse failure" (11 lines, 67B) at http://sial.org/pbot/24216
06:29 penk joined perl6
06:53 dduncan well, I added a test for that problem
06:54 svnbot6 r15909 | Darren_Duncan++ | added test t/syntax/parsing/pod_in_multi_line_exprs.t since the presence of POD in certain sections of Perl code causes Perl parse failure, but shouldn't
06:54 mdiep joined perl6
06:57 pasteling "evalbot_r15908" at 194.145.200.126 pasted "Pugs build failure" (358 lines, 19.9K) at http://sial.org/pbot/24217
07:02 franck__ joined perl6
07:15 mdiep joined perl6
07:23 jisom joined perl6
07:32 SubStack joined perl6
07:59 penk joined perl6
08:16 xinming joined perl6
08:31 xinming joined perl6
08:35 xinming joined perl6
08:53 VanilleBert joined perl6
08:56 OwlEye good morning :)
08:59 dunstabulos joined perl6
09:04 masak OwlEye: morning
09:05 SubStack joined perl6
09:25 dunstabulos joined perl6
09:30 elmex joined perl6
09:31 chris2 joined perl6
09:32 iblechbot joined perl6
09:36 the_dormant joined perl6
09:37 orafu joined perl6
09:38 buetow joined perl6
09:40 buetow joined perl6
09:57 xinming joined perl6
10:00 VanilleBert left perl6
10:04 svnbot6 r15910 | Darren_Duncan++ | ext/QDRDBMS/ : added new file lib/QDRDBMS/Engine/Example/Operators.pm ; large update to PhysType.pm
10:13 riffraff joined perl6
10:13 riffraff hello
10:14 riffraff chris2, did you apply for the SoC ? If you were not choosen this year I'm going to start a riot
10:14 chris2 i didnt
10:14 chris2 i dont really have time
10:16 riffraff ah eveything is fine then
10:17 chris2 but i wasnt chosen last year :-P
10:18 riffraff yeah I remember, but I though it was okay because you're a damn youngster so you have time :)
10:34 Belaf joined perl6
10:49 dduncan left perl6
10:53 riffraff joined perl6
11:09 the_dormant joined perl6
11:34 DarkWolf84 joined perl6
11:36 Limbic_Region joined perl6
11:43 mr_ank joined perl6
12:07 lisppaste3 joined perl6
12:08 larsen_ joined perl6
12:09 jerrylee joined perl6
12:38 jerrylee joined perl6
12:41 masak ?eval for ="README".open { .say }
12:41 evalbot_r15894 is now known as evalbot_r15910
12:41 evalbot_r15910 Error: Unsafe function 'Pugs::Internals::openFile' called under safe mode
12:42 masak to whom it might concern: the above error message is as of now also given by commandline pugs
12:42 masak surely that's not intended?
12:45 moritz no, it isn't :(
12:48 OwlEye joined perl6
12:50 masak moritz: it is at times like this that I wish I were more intimate with the internals of pugs
12:50 masak so that I could just go to the right file, fix, recompile and svn up
12:50 masak err, svn ci
12:51 masak maybe I could pretend to have the requisite knowledge and just sorta stumble upon the flaw
12:51 * masak tries that
12:52 reZo joined perl6
12:53 reZo is now known as rissy
12:56 masak ok, so I'm just thinking out loud here trying to pin down the bug
12:57 masak the unsafe function 'Pugs::Internals::openFile' is in src/Pugs/Prim.hs:1059
12:58 masak though my guess, on second thought, is that Pugs never even gets to that
12:58 masak somewhere there is an enumeration of unsafe functions
12:58 masak and somehow that is triggered now because pugs thinks it's in sage mode
12:59 masak s/sage/safe/ # misspelling not intended
13:01 lumi Do other unsafe functions not work, either?
13:01 masak lumi: good question. if you name one, I'kk try it out
13:01 masak s/kk/ll/ # obviously something wrong with my keyboard today
13:03 lumi use
13:04 masak seems to work fine here
13:04 masak ?eval use DOM
13:04 evalbot_r15910 Error: *** Unsafe function 'use' called under safe mode␤    at -e line 16, column 7-51
13:04 masak it dies here, but not on my machine
13:04 lumi I'm not really sure what comes next
13:05 Psyche^ joined perl6
13:05 lumi ?eval exit 1
13:05 evalbot_r15910 Error: Unsafe function 'exit' called under safe mode
13:05 masak also works here
13:05 lumi So probably open is iffy
13:05 * moritz rebuilds pugs
13:06 masak lumi: yes
13:08 masak ?eval system("echo hi")
13:08 evalbot_r15910 Error: Unsafe function 'system' called under safe mode
13:08 masak ...and that worked too over here
13:08 masak so, what makes openFile the exception?
13:12 riffraff sorry, how do I, in perl6, get all the matches of a regex in a string? I mean like something("hello", /./ ) #-> <h e l l o>
13:14 moritz riffraff: with comb
13:14 moritz ?eval "hello".comb(/./)
13:15 evalbot_r15910 ("h", "e", "l", "l", "o")
13:15 lumi :ov, apparently
13:15 moritz ?eval /./.comb("hello")
13:15 lumi I don't know if it's implemented
13:15 evalbot_r15910 Error: No such method in class Regex: &comb
13:16 riffraff mh.. my english is not good enough to undestand why this is called comb, but thanks :)
13:16 moritz combine?
13:16 lumi ?eval "hello" ~~ m:ov/./
13:16 evalbot_r15910 Match.new(␤  ok => Bool::True, ␤  from => 0, ␤  to => 1, ␤  str => "h", ␤  sub_pos => (), ␤  sub_named => {}␤)
13:16 masak riffraff: it's probably from the verb "to comb through something"="to search something thoroughly"
13:17 riffraff oh cool
13:17 riffraff thanks
13:17 lumi Or :exhaustive
13:17 masak np
13:17 Psyche^ is now known as Patterner
13:18 lumi riffraff: See S5, :ex :exhaustive :ov :overlap are the modifiers
13:18 masak now, it turns out that in Pugs.Internals.Global, there's a variable defined called safeMode
13:18 masak the strange thing, and where my search by all looks of it sadly ends,
13:18 masak is that this global is by definition very much set to False on my box
13:19 masak (it depends only on the envvar PUGS_SAFEMODE, which is undefined)
13:19 masak and yet I get this error with openFile
13:19 masak anyone else get it?
13:19 lumi I'm rebuilding Pugs, I'll check when it's done..
13:19 masak goodness
13:20 masak I mean, good
13:23 moritz masak: rebuild will soon be finished..
13:24 masak it's nice to have other hares here to discuss with while the rabbits are sleeping
13:25 lumi What's the difference between hares and rabbits?
13:25 masak eh, that didnt make much sense... s/hare/turtle/
13:25 * moritz is immune to figurative speech
13:25 masak sorry, it's a metaphor $larry used the other day
13:25 masak apparently, the hares are those coding away at lightning speed
13:26 lumi Better than ants and grasshoppers, I guess
13:26 masak :)
13:26 masak while tortoises do things slowly but constantly
13:26 riffraff is there something like <alpha>+ builtin? <word> seems reasonable, but it looks that it sucks too much resources
13:26 riffraff talking of regexn, again
13:26 riffraff (nothin about it in S5, afaict)
13:27 lumi Okie, a fresh Pugs on feather seems to not have your thing
13:27 moritz there is <ident> or something
13:27 lumi masak: That was to you, sorry
13:27 moritz pugs> "/etc/passwd".open
13:27 moritz {handle: /etc/passwd}
13:27 masak riffraff: have you checked S05? http://feather.perl6.nl/syn/S05.html
13:27 moritz masak: no problem here
13:28 masak moritz: well, that's reassuring in a way
13:28 masak I'm also recompiling here
13:28 masak maybe I had an old version installed system-wide
13:28 lumi But it doesn't seem to like paths at all
13:28 masak lumi: that's part of what's being discussed now on p6l I guess
13:28 lumi Actually it seems to just not work
13:29 riffraff masak, yes, doing that, no luck. Now checking A05
13:29 lumi pugs: "AUTHORS".open: openFile: does not exist (No such file or directory)
13:29 lumi Oh uh, this is actually just my stupidity, sec
13:29 masak lumi: which means that it does not throw an unsafe-error, at least
13:29 moritz lumi: what does "AUTHORS" ~~ :e says?
13:30 masak moritz: it asks whether the file exists
13:30 lumi Reading the error I realize I didn't have -e
13:30 moritz masak: I know...
13:30 lumi So, it works with no error
13:30 masak ah, ok, so now it works here too
13:31 masak sorry for kicking up a fuss over nothing :/
13:31 riffraff mh.. <ident> in Exegesis 5.. but gets _ too. It seem I'll stick qith <alpha>+ :)
13:31 lumi masak: Your safe mode error went away?
13:31 masak moritz: oh, so your question was not about the semantics but over what happens on my machine? sorry
13:31 masak lumi: yup
13:31 masak guess they fixed it
13:31 masak :)
13:31 moritz riffraff: rule word { <alpha>+ }
13:31 lumi The Perlgods?
13:32 riffraff eheh yes
13:32 moritz masak: right, np
13:32 masak lumi: yeah. those perlgods sure are fast
13:33 masak riffraff: normally in these cases, "_" is considered alphanumeric or quasi-alphanumeric for some reason
13:33 moritz I have a problem with the debian buils of pugs...
13:33 moritz they include Perl6::Perldoc.pm, and I'd like to exclude them...
13:33 moritz because that module is on CPAN as well, and may be installed seperately
13:34 moritz any ideas how to exclude them?
13:34 riffraff I can see the reason for that, but in my case it is not good
13:34 moritz or to build a separate package for them
13:34 masak moritz: making last-minute changes to Makefile? actually I don't know what the SOP is in this type of case
13:36 masak & # spring sun is calling
13:38 xinming joined perl6
13:48 BooK joined perl6
13:48 Jedai joined perl6
14:01 rissy joined perl6
14:06 diakopter joined perl6
14:06 ortmage_ joined perl6
14:06 rissy joined perl6
14:10 fglock joined perl6
14:20 the_dormant joined perl6
14:28 eden_c joined perl6
14:32 Belaf joined perl6
14:40 fglock does ' sub *say {xxx} ' mean: ' &*say := {xxx} ' or: ' &*say ::= {xxx} '
14:43 xinming fglock: Maybe compile time binding.
14:44 fglock xinming: ok, this means that BEGIN { say() } would use it immediately
14:44 fglock but does it affect the other parts of the compiler?
14:44 fglock the real question is,
14:45 fglock is there a separation between the running compiler and the compile-env?
14:45 fglock (separate namespaces)
14:47 xinming I think TimToady should answer the question. :-P Sorry, I don't know
14:48 fglock xinming: ok
14:54 OwlEye joined perl6
15:09 dunstabulos joined perl6
15:15 ajs joined perl6
15:35 mr_ank joined perl6
15:38 kanru joined perl6
15:49 jamhed joined perl6
15:49 TimToady fglock: not sure what you're asking, but within a given compilation unit the code does not care whether it is running at compile time or run time.  The compilation unit is exempt from having to specify COMPILING:: to refer to the currently compiling scope.
15:51 TimToady and when it starts up at run time, the comp unit has a snapshot of what the comp unit ended with at compile time.
16:04 amnesiac joined perl6
16:08 rashakil__ joined perl6
16:13 justatheory joined perl6
16:27 Belaf_ joined perl6
16:42 jaam joined perl6
16:42 jaam left perl6
16:50 forsaken joined perl6
16:52 the_dormant joined perl6
17:01 fglock joined perl6
17:08 fglock joined perl6
17:09 fglock TimToady: re snapshot, is it COW or an alias? for example, what happens to the compiler error messages if BEGIN modifies 'say'
17:14 Yappo is now known as Yahoo
17:14 Yahoo is now known as Yappo
17:23 bonesss joined perl6
17:23 Psyche^ joined perl6
17:38 Psyche^ is now known as Patterner
17:40 Belaf_ is now known as Belaf
17:44 fglock joined perl6
17:45 fglock_ joined perl6
17:45 weinig is now known as weinig|away
17:45 fglock_ ?eval my $a = 3; $a[10]
17:45 evalbot_r15910 \undef
17:45 fglock_ ?eval my $a = 3; $a[10][10]
17:45 evalbot_r15910 Error: Can't modify constant item: VUndef
17:46 fglock_ ?eval my $a; $a[10][10]
17:46 evalbot_r15910 \undef
17:46 fglock_ is this a pugs bug, or spec?
17:48 TimToady bug, rvalues should not be attempting to autovivify
17:49 TimToady on *say, I think that every compilation unit starts off with a clean GLOBAL space when compiling.
17:49 TimToady at run time, however, only the main program gets to keep its snapshot of GLOBAL
17:50 TimToady so the main program can use BEGIN to set *say, but non-main would have to use INIT.
17:51 TimToady alternately, nobody gets to set *say except the prelude, or anybody gets to set *say, and we have a problem managing transactions.
17:51 fglock_ clean GLOBAL meaning, the compiled-code '*say' is freshly compiled, rather than a snapshot of the current runtime
17:52 TimToady a module has to be precompilable without knowing what context it will be used in.
17:52 TimToady (unlike in P5)
17:53 TimToady meaning, at the point of starting to compile a module, * is whatever the prelude gives you, and nothing else.
17:54 TimToady however, for multis, I think the main application has to have control over what is or is not in *
17:55 TimToady multis can be added or deleted at run-time, but onlys can be assumed to be permanent over their scope.
17:55 fglock_ there is the compiler-side prelude, and there is the code-under-compiling prelude (with separate *say instances)
17:56 TimToady I don't see the distinction you're trying to make
17:56 fglock_ I wished I could upload my diagram :(
17:57 TimToady well, send me a link when you figure out how
17:57 fglock_ Compiler is: GLOBAL+Namespaces+Pads; contains %Env
17:57 fglock_ %Env contains it's own GLOBAL+Namespaces+Pads
17:58 TimToady why?
17:58 fglock_ one sec
18:01 fglock_ BEGIN { ... redefine say } ... syntax error  -- the syntax error is printed with the Compiler::GLOBAL::say, rather then from %Env::GLOBAL::say
18:03 fglock_ or: %Env only contains pads, and all GLOBAL and namespaces are shared between compiler/compiled
18:04 TimToady first, I doubt the compiler should be printing errors with a redefinable routine like "say".
18:04 TimToady but leaving that aside
18:05 TimToady I think it's strange to have more than one GLOBAL namespace
18:05 TimToady and the user will assume they have only one.
18:05 TimToady the basic problem is that different comp units will end up with different ideas about GLOBAL
18:06 TimToady and I think the main comp unit has to win there, for some definition of "win"
18:06 TimToady at the moment I'm happy with just throwing away the module's idea of GLOBAL after the module is compiled
18:06 TimToady it just has to run with whatever GLOBAL the main program provides.
18:07 TimToady (exception: modules imported by the prelude)
18:09 TimToady rather than just throwing away a module's GLOBAL, it might be possible to try to mesh them like a Palm resync, but that gets complicated.
18:09 eden_c joined perl6
18:09 TimToady an intermediate solution would be to just check for obvious conflicts and warn them if two module's GLOBAL sections seem to conflict
18:10 TimToady we also have modules that may or may not be the main program, so we'd have to keep the GLOBAL around for when they run as main, and ignore/warn/mesh when not main.
18:11 TimToady in general, for setting multis an INIT would be good enough if there's already an appropriate global proto
18:11 TimToady as long as you don't need the multi at compile time
18:11 fglock_ ok - how about other globals, compiler's $X::y is the same as compiled's $X::y
18:12 TimToady globals have to be global
18:13 fglock_ so both GLOBAL and globals are not included in %Env
18:13 avar does this mean the core ops are immutable at compile time?
18:14 fglock_ no, it means they are mutable
18:15 avar storing say in Compiler:: = immutable? Or %Env?
18:15 fglock_ they are shared by the compiler and the code-under-compilation
18:16 fglock_ only compiler-lexical versions are immutable
18:17 fglock_ globals are not protected
18:21 TimToady perhaps we can have "multi *say (*@_) is export {...}" and then importing say to the main scope installs the module's multi in main's global space, which persists into the runtime.
18:21 fglock_ yes
18:23 rindolf joined perl6
18:23 rindolf Hi all.
18:23 rindolf I wonder: do we really need irc.perl.org any more?
18:24 offby1 I -think- that's the domain name I use to connect ...
18:24 eden_c that's where I get support for Catalyst and DBIC
18:25 fglock_ TimToady: https://feather.perl6.nl/~​fglock/kp6-environment.jpg
18:26 avar irc.perl.org has a distinct community. Merging IRC networks hasn't been so successful in the past if you're thinking of telling people to use freenode:)
18:26 fglock_ ignore the "$Env=Main.clone" - fixing
18:27 offby1 "2007-14-04"?  The fourth day of the 14th month in 2007?
18:27 claes__ joined perl6
18:27 avar fglock_: anyway, you could join #perl on irc.freenode.org to discuss this. A bit more on topic there than in the p6 chan:)
18:27 avar ook
18:27 fglock_ iso-something
18:28 avar rindolf, not fglock_ :)
18:28 fglock_ :)
18:29 fglock_ iso-8601
18:32 fglock_ offby1: no, you are right
18:32 fglock_ fixing
18:34 TimToady it's a nice compromise: USians like it because it puts the month first, and non-USians like it because it's the "correct" order in reverse.  and everyone likes it because it sorts better.
18:34 rindolf avar: well I think that people who connect to irc.perl.org because they think this is the proper network to discuss Perl and then join #perl will be heavily disgusted.
18:34 rindolf TimToady: hi. What's up?
18:35 TimToady the sun is up, but not out.
18:35 TimToady though literally, the sun is out, but not in...
18:35 fglock_ I fixed a few things on the picture, please reload
18:37 TimToady it seems to be confusing compile time with run time.  the $env arrow is at run time, not compile time
18:37 TimToady well, it's at use time, which is run time for the module.
18:37 * offby1 is pedantic about date formats ... and about noting the time zone whenever displaying a time!
18:38 fglock_ the picture only shows the compiler; the compiled-code-runtime is later
18:38 TimToady so, are the Zulus in the Zulu time zone?
18:38 fglock_ I'll try to include that
18:38 TimToady at the time the module is compiled there is no $env arrow.
18:38 tuna joined perl6
18:39 TimToady it is likely the main is not compiled yet
18:39 lb joined perl6
18:40 fglock_ thinking...
18:40 TimToady maybe you want to draw it more like a protocol negotiation between two entities over time.
18:41 fglock_ I've been seeing it like this:
18:41 fglock_ BEGIN blocks execute as if they were a coroutine
18:41 fglock_ while the compiler is running
18:42 fglock_ the parser also executes as a coroutine
18:42 fglock_ the parser side-effects modify the coroutine pads and globals
18:43 fglock_ in the picture, yellow is plain p6, and blue is the coroutine
18:44 TimToady ok, I was misreading the blue as a module compile
18:45 TimToady It's not really coroutines
18:45 TimToady the only thing running is the compiler.
18:45 TimToady but the parser can generate closures to be executed by the compiler.
18:45 fglock_ (it's a snapshot of the memory, during compilation)
18:46 fglock_ yes
18:46 TimToady and those closures are special in that they do not have to say COMPILING::
18:46 fglock_ (the closures are blue)
18:46 fglock_ s/are blue/execute inside blue/
18:46 TimToady maybe you're trying to put too many dimensions in at once.
18:47 TimToady maybe not
18:48 TimToady but in that case I still don't see what the $env arrow is doing.
18:48 fglock_ what does COMPILING:: points to? the closures lexical environment?
18:48 fglock_ I think my $env is "COMPILING::"
18:48 TimToady it points to the lexical scope currently being parsed and compiled
18:49 fglock_ yes, it is
18:49 fglock_ I should change that
18:49 rindolf TimToady: I'm sorry that I didn't contribute to punie yet.
18:50 rindolf TimToady: like I said I had high aspirations of making it into a fully-functional Perl 5 compiler someday.
18:50 TimToady er, I didn't know/didn't remember you were supposed to be. :)
18:50 rindolf TimToady: oh.
18:50 TimToady so don't sweat it... :)
18:50 rindolf TimToady: I sent it to a few mailing lists. But it could have been lost in confusion.
18:51 avar fglock_: What are your plans with mp->kp->..? It seems to be pretty easy to add another emitter.
18:51 avar fglock_: As you're doing with parrot
18:51 jisom joined perl6
18:51 rindolf Having read CatB, Joel-on-Software, and other stuff, I've become extremely paranoid of an open editor window.
18:51 rindolf I usually prefer hacking on some existing code.
18:51 offby1 afraid you'll jump out of it?
18:52 rindolf As you people may know, I'm now working on t/TEST -> Test::Harness -> Test::Run which was originally written by TimToady for perl1.
18:53 rindolf It was pretty hairy when I started with it.
18:53 rindolf offby1: well, if it's a very short task it's OK.
18:53 rindolf offby1: but if you tell me to do something big... then it's too intimidating.
18:53 rindolf offby1: I wasn't always like that.
18:54 rindolf When I started as a programmer I always thought of big pie-in-the-sky projects.
18:54 rindolf offby1: have you written your own CMS, yet?
18:55 rindolf Because I did.
18:55 fglock_ TimToady: please reload
18:55 rindolf TimToady, avar: can I pick your brain about Perl/XS and the perl5 internals?
18:55 * offby1 scratches his head
18:56 fglock_ avar: current plan is to "finish" kp6, getting closer to Perl6
18:56 [particle] fglock: hackathon still ongoing?
18:57 fglock_ [particle]: yes, but we can't commit from here
18:57 fglock_ behind a proxy or something
18:57 [particle] :(
18:58 fglock_ [particle]: kp6->parrot seems more possible than mp6->parrot, so the focus has changed a bit
18:58 [particle] what makes kp6 friendlier for perl6/parrot?
18:58 fglock_ [particle]: AST transformations
18:59 [particle] will you target perl6 or past?
18:59 avar rindolf: Sure, what are you working on there?
18:59 [particle] s/target/emit/
18:59 the_dormant joined perl6
18:59 fglock_ [particle]: not sure yet, will probably work on both - but perl6 seems to be more fun
18:59 sorear joined perl6
19:00 avar If parrot is a viable target for kp6 that's very interesting indeed:)
19:01 fglock_ TimToady: I pointed COMPILING:: to the current lexical scope; $Env holds the root closure
19:02 lichtkind joined perl6
19:03 rindolf avar: I'm trying to write a concentrated guide for that. DocBook/XML, Public Domain with useful SVG illustrations, etc.
19:03 TimToady I think of the arrows as pointing the other way, arrows of reference rather than data flow...
19:04 avar rindolf: nice, you can /query and stuff:)
19:04 rindolf Instead of the current perlembed, perlxstut, etc.
19:04 rindolf avar: will /msg be fine?
19:04 rindolf avar: I'm behind a NAT.
19:04 avar yes..
19:04 rindolf avar: OK.
19:04 avar here is fine too:)
19:05 TimToady rindolf: it takes me a long time to transition back to thinking about P5 internals, so in general I'd rather not unless it's in large batches.
19:05 rindolf TimToady: OK, no problem.
19:05 fglock_ hmm - I'll just use plain lines
19:05 rindolf I think it was a week ago that I attended a very successful Ruby-Israel meeting.
19:06 OwlEye joined perl6
19:06 rindolf Most of the Rubyers came from Perl or Python, I think.
19:06 rindolf They made some classical mistakes, but I've pointed them to the right direction.
19:07 TimToady I've been saying that Ruby was the real competition for Perl for about ten years now...
19:08 moritz why not python?
19:09 offby1 yeah! do tell
19:09 * offby1 pulls up a chair
19:09 TimToady Ruby is trying to take over the TMTOWTDI niche.  Python isn't.
19:10 * offby1 scratches his head again, but this time in a different spot
19:13 rindolf Well, some of the Rubyers had some misconceptions about Perl.
19:13 rindolf Especially the ones without any real experience with it.
19:14 rindolf TimToady: I still think Perl is the best solution for UNIX system scripts.
19:14 rindolf But that's a small niche.
19:17 Khisanth because there are only a handful of UNIX installations in the world? ;)
19:19 moritz 4, to be a bit more specific ;-)
19:19 rindolf Khisanth: no.
19:19 offby1 hmm, is there a simple way to get the output of "localtime" rendered as a string, like perl5's "asctime"?
19:19 sorear left perl6
19:22 TDDPirate joined perl6
19:26 TDDPirate left perl6
19:27 fglock_ I hope this is more clear: https://feather.perl6.nl/~​fglock/kp6-environment.jpg
19:28 SCalimlim joined perl6
19:29 OwlEye joined perl6
19:32 Limbic_Region joined perl6
19:51 offby1` joined perl6
19:55 fglock joined perl6
20:00 ROBO-chessguy joined perl6
20:04 perlbot joined perl6
20:07 perlbot joined perl6
20:08 Aankhen`` joined perl6
20:11 diakopter joined perl6
20:11 svnbot6 r15911 | diakopter++ | fixing syntax error.  :|
20:11 svnbot6 r15911 | diakopter++ | watch this space: http://perlcabal.org/syn/S26.html
20:13 * diakopter waits for pugs build failure notice, again.
20:16 offby1` is now known as offby1
20:26 fridim joined perl6
20:27 dduncan joined perl6
20:28 diakopter does anyone know how often/when smartlinks.pl is scheduled to run on feather?
20:28 diakopter or is it called by an svn commit hook script?
20:42 dduncan joined perl6
20:42 Aankhen`` joined perl6
20:42 rindolf joined perl6
20:42 bonesss joined perl6
20:42 forsaken joined perl6
20:42 Polar joined perl6
20:42 evalbot_r15910 joined perl6
20:42 devbot6 joined perl6
20:42 jql joined perl6
20:42 devbot6` joined perl6
20:42 moritz I think I read something about a regular update
20:43 devbot6` is now known as devbot6
20:43 silug joined perl6
20:44 Polar joined perl6
20:44 Aankhen`` joined perl6
20:56 forsaken joined perl6
21:04 the_dormant joined perl6
21:36 the_dormant joined perl6
21:49 the_dormant joined perl6
21:51 dmq joined perl6
21:55 Limbic_Region joined perl6
21:56 ortmage_ joined perl6
22:06 offby1 ?eval "Yes, I'm here"
22:06 evalbot_r15910 is now known as evalbot_r15911
22:06 evalbot_r15911 "Yes, I\'m here"
22:06 offby1 ?eval localtime
22:07 evalbot_r15911 \Time::Local.new(("day" => 15), ("hour" => 0), ("is_dst" => Bool::True), ("min" => 7), ("month" => 4), ("picosec" => 248012000000), ("sec" => 1), ("tz" => 7200), ("tzname" => "CEST"), ("wday" => 1), ("yday" => 104), ("year" => 2007))
22:07 offby1 so how can i get that rendered as Sat Apr 14 15:07:27 PDT 2007 ?
22:07 offby1
22:07 avar ?eval ~(localtime)
22:08 evalbot_r15911 "<obj:Time::Local>"
22:08 offby1 mm hmm
22:08 avar ?eval "" ~~ localtime()
22:08 offby1 what's ~(do) ?
22:08 evalbot_r15911 Bool::False
22:08 offby1 :-)
22:08 avar I'm trying to stringify:)
22:08 avar eval "{localtime()}"
22:08 avar ?eval "{localtime()}"
22:08 evalbot_r15911 "<obj:Time::Local>"
22:08 offby1 stubborn, ain't it.
22:08 avar yep
22:08 geoffb ?eval my $time = localtime; $time.ymd
22:08 evalbot_r15911 Error: No such method in class Time::Local: &ymd
22:09 geoffb ?eval my $time = time; $time.ymd
22:09 offby1 how do I ask what methods an object supports?
22:09 evalbot_r15911 Error: No such method in class Rat: &ymd
22:09 perlbot joined perl6
22:09 geoffb ?eval my $time = localtime; $time.HOW.perl
22:09 evalbot_r15911 "\\Class.new((\"is\" => (\"Scalar\",)), (\"name\" => \"Time::Local\"))"
22:09 Jedai ?eval time().HOW
22:09 evalbot_r15911 ^Num
22:09 geoffb ?eval my $time = localtime; $time.WHAT.perl
22:09 evalbot_r15911 "::Time::Local"
22:10 geoffb grrr, now I need to actually go and read the docs, sigh
22:11 offby1 I too was trying to avoid that :-)
22:11 geoffb ?eval my $time = localtime; $time.HOW.methods.perl
22:12 evalbot_r15911 Error: No such method in class Class: &methods
22:12 perlbot joined perl6
22:12 geoffb ?eval my $time = localtime; $time.methods.perl
22:12 evalbot_r15911 Error: No such method in class Time::Local: &methods
22:12 geoffb Well, I think that's correct syntax, just unimplemented
22:13 tibbetts joined perl6
22:14 moritz is .WHO.foo the same as .^foo?
22:14 offby1 Who, or why, or where, or WHAT ... is the sultan of SWAT?
22:15 geoffb .^foo is the same as .HOW.foo
22:16 moritz and .WHY always returns 42? *g*
22:16 mako132 joined perl6
22:16 perlbot joined perl6
22:24 diakopter joined perl6
22:24 dduncan audreyt was going to integrate the new metamodel, but had to deal with issues at home ... but presumably once that is done, the .HWO and whatever should just work
22:28 LimbicRegion joined perl6
22:28 LimbicRegion is now known as Limbic_Region
22:29 diakopter @messages
22:29 lb You don't have any new messages.
22:30 offby1 dduncan: you mean, with no special effort on behalf of the class' implementor?
22:30 offby1 implementer
22:30 dduncan what I mean is that the meta-model methods should all work for the system-defined data types
22:30 dduncan and have reasonable defaults for user-defined ones
22:30 offby1 sounds good
22:31 dduncan you would have to, eg, do something yourself to make your own class act like a "value" type for example
22:31 dduncan eg, you have to define your own .WHICH to make your class return something useful for an immutable object rather than something like its memory address, which is for mutable objects
22:32 dduncan I'm waiting to use that stuff myself
22:33 dduncan meanwhile, I'm giving my value classes "which" methods that I can invoke for similar purposes, such as to implement a set of objects
22:34 dduncan that is implemented using the "which" value as a hash key and the object as the value
22:34 perlbot joined perl6
22:34 dduncan or more generally, I'm using that to implement a relation data type that effectively can have multiple keys for the same values
22:35 perlbot joined perl6
22:35 dduncan if you look at ext/QDRDBMS/lib/QDRDBMS/En​gine/Example/PhysType.pm, you can see what I'm talking about
22:36 dduncan note that my which() includes the class name in the serialized value, so that the right thing happens if you put different types of objects in the same hash
22:37 dduncan afaik, Pugs' WHICH doesn't do this, or at least that doesn't show up when printing the WHICH value
22:37 dduncan I think the current WHICH of Pugs just returns the value itself
22:37 perlbot joined perl6
22:45 Juerd Who maintains trac on feather?
22:45 Juerd It should be optimized somehow
22:45 dduncan dunno
23:16 offby1 if every object can display its methods and stuff on demand, that would imply that it'd be relatively easy to write an IDE with "Intellisense"
23:18 avar you still need to figure out what the object is an instance of, which requires parsing/compiling..
23:20 TimToady I think offby1 is counting all that under "and stuff".
23:34 deq` joined perl6
23:36 esstone joined perl6
23:46 offby1` joined perl6
23:48 offby1` is now known as offby1
23:48 mako132 joined perl6

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

Perl 6 | Reference Documentation | Rakudo