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