Please test pre0: pugs.blogs.com/pre0/Perl6-Pugs-6.2.12.tar.gz | paste: sial.org/pbot/perl6 | pugs.blogs.com | pugscode.org | pugs.kwiki.org Set by audreyt on 12 June 2006. |
|||
00:11
Odin- joined
00:54
FurnaceBoy is now known as FB|afk
|
|||
svnbot6 | r10869 | fglock++ | v6.pm - fix parser: '->' is not an operator; updated TODO | 01:02 | |
01:05
weinig is now known as weinig|sleep
01:08
Stoffie joined
01:13
Snoopa joined
01:20
shachaf joined
01:24
buetow_ joined
01:26
dasein joined
|
|||
audreyt | TimToady: should conditionals be able to take routine literals? | 01:49 | |
if $x sub ($y) { ... } | |||
or is it only block literals (bare/pointy)? | |||
I admit that "if $x sub" reads really weird | 01:50 | ||
and "return" from within the sub is perhaps not as useful | |||
so maybe limit it to block form? (that part is uncharted for now) | |||
02:09
shachaf joined
02:12
insulanus joined
02:13
pdcawley joined
02:14
neoesque joined
02:15
Stoffie left
|
|||
meppl | gute nacht | 02:20 | |
svnbot6 | r10870 | audreyt++ | * unregister fps/HsSyck from userbase before ubilding to save trouble | 02:32 | |
r10871 | audreyt++ | * MenTaLguY noted that stm-retry-with.pl should join the threads | 02:35 | ||
r10871 | audreyt++ | on machines where the main thread wouldn't autowait for closed threads. | |||
03:01
fglock joined
|
|||
fglock | audreyt: ping | 03:03 | |
03:07
shachaf__ joined
03:09
shachaf joined
|
|||
audreyt | fglock: ping | 03:10 | |
pong | |||
fglock | audreyt: I wonder when it's the time to release v6.pm - release early and people have too many expectations, release later and you get few developers | 03:11 | |
it's easier to install from CPAN, too | 03:12 | ||
obra | fglock: release 0.01_01 to cpan? | 03:13 | |
audreyt | have you solved the } ? | ||
obra | that marks it as a developer release | ||
audreyt | unbalanced brace problem | ||
fglock | I'm not sure - can't test it now | 03:14 | |
audreyt | ok. once it's fixed it's of course good to release | 03:15 | |
03:16
FB|afk is now known as FurnaceBoy
|
|||
audreyt | just be ruthlessly honest in expectation management | 03:16 | |
and make sure nobody think it's anywhere near complete -- or even "most complete at the moment" -- and it should be fine :) | |||
audreyt spent the day porting CPAN to haskell | 03:17 | ||
made some good progress | |||
fglock | yes - I'd like some help with the POD later - I'll work on it in the weekend | 03:18 | |
audreyt | perlcabal.org/~audreyt/hackage/ | ||
there's a client now (cabal-install), and dependency resolver | |||
need to figure out the equivalent to AtomPub API | |||
obra | did you and syntaxninja decide to use Atom as the native api? | 03:19 | |
audreyt | but once it's there things should be much easier | ||
no, we decide to use plain old filesystem. | |||
obra | cool :) | ||
audreyt | and .txt.gz files | ||
fglock | my windows installation is pretty broken - I can't even install my own modules | ||
audreyt | it's a port of olde CPAN | ||
I happen to think that the ftp-based semantic is the right semantic | 03:20 | ||
we can add discoverability and RDF on that as long as our URI space is clean | |||
the previous prototype was using XML-RPC | |||
I was like, horrified | |||
so it's better now :) | |||
audreyt spreads the REST | |||
obra | :) | 03:25 | |
fglock | does Moose handle multimethods? | ||
audreyt | I think you can hook C::M::P on it | 03:29 | |
not sure though, should talk to #moose | |||
stevan: does it make sense to get a C::M::P bridge? | 03:30 | ||
# search.cpan.org/dist/Class-Multimethods-Pure/ | 03:31 | ||
fglock | yup - I'm looking at C::M::P too - it would be nice if Moose just supported most stuff, and v6.pm would be mostly a syntax layer | ||
audreyt | yeah | 03:32 | |
though multisubs (that's what C::M::P defines) is really orthogonal to methods | |||
s/multisubs/multis/ | |||
i.e. you can have multi subs, multi methods, nonmulti subs, nonmulti methods | 03:33 | ||
and the two dimensions are largely orthogonal | |||
(methods always bias to the invocant; sub always consider no invocant; then if it's multi, the positionals are considered) | 03:34 | ||
and that's all | |||
so v6 can gen CMP coderefs and use them as moose methods | |||
03:35
justatheory joined
|
|||
fglock | would multimethod dispatching work with Moose? | 03:35 | |
I should learn more about Moose internals | 03:36 | ||
audreyt | I don't see why not... | ||
Moose inheritance is still recorded in @ISA | |||
CMP looks at @ISA | |||
so it should be fine | |||
fglock | I guess I'll make v6.pm intercept a 'use Test' and use perl5:Test/Test::More instead for now | 03:41 | |
same with Data::Dumper | 03:44 | ||
audreyt | why not just write | 03:48 | |
use perl5:Test::More | |||
if you mean that? | |||
fglock | in order to run the pugs test suite | 03:50 | |
audreyt | oh. then I suggest you getting ext/Test/lib/Test.pm to work :) | 03:51 | |
if you pass all sanity tests, Test.pm should Just Work | 03:52 | ||
03:52
nperez joined
|
|||
fglock | sleep & | 04:01 | |
04:02
fglock left
04:11
SamB joined
04:28
shachaf_ joined
|
|||
audreyt | ingy: can we get a Module::Compile release out of your repo | 04:33 | |
for fglock's v6 to depend on? | |||
I just fixed the } block problem caused by the original validator block in conjunction with do blocks in user code | 04:35 | ||
svnbot6 | r10872 | audreyt++ | * Module::Compile - sync against ingy's repo. This version now works with v6.pm. | ||
audreyt | so would be nice to have a release | ||
that's r2849 at your svn.kwiki.org/ingy/Module-Compile repo | 04:39 | ||
svnbot6 | r10873 | audreyt++ | * Module::Compile - ascii art ;) | ||
r10874 | audreyt++ | * restore parsing for nested => after the state-FIRST hack | 04:55 | ||
audreyt | ok, now that the state() regression is gone, we can roll pre1. | 05:08 | |
Please test pre1: pugs.blogs.com/pre1/Perl6-Pugs-6.2.12.tar.gz | paste: sial.org/pbot/perl6 | pugs.blogs.com | pugscode.org | pugs.kwiki.org | 05:12 | ||
audreyt | please give pugs.blogs.com/pre1/Perl6-Pugs-6.2.12.tar.gz a try if you have some spare cycles :) | 05:13 | |
audreyt waves and goes sleeping & | |||
05:40
FurnaceBoy is now known as BeetleBoy
05:55
QtPlatypus joined
06:17
scook0 joined
06:53
insulanus is now known as insulanus|zZz
07:06
visq joined
07:25
Aankhen`` joined
|
|||
dduncan | fyi, I have noticed the pre1 and downloading it ... will start to make tonight, though smoke may wait for tomorrow | 07:37 | |
07:42
drbean_ is now known as drbean
07:47
elmex joined
|
|||
Aankhen`` | Is it really necessary to recompile a bunch of Haskell modules for `make install`? :-( | 07:50 | |
07:57
kane_ joined
08:09
azuroth joined
|
|||
azuroth | hey-yo | 08:10 | |
08:27
iblechbot joined
08:44
lisppaste3 joined
|
|||
dduncan | Aankhen, I notice that many 'make' commands trigger what looks like a recompilation, but I think they just skip over things already compiled, so it doesn't last long; this would actually be a compilation if you said make smoke or make install without saying 'make' first | 09:23 | |
09:24
ArthurBrazil left
09:25
dduncan left
09:45
szbalint joined
09:53
drrho joined
09:55
drrho left
|
|||
Aankhen`` | ddun: Okay. | 09:58 | |
Bleh. | |||
10:16
cognominal joined
10:20
cognominal joined
10:39
chris2 joined
10:44
prefiks joined
11:05
buetow joined
11:13
christopher joined
11:21
jiing joined
11:26
DaGo joined
11:52
iblechbot joined
11:57
visq joined
12:10
bjoern_ joined,
bjoern_ is now known as DEpwnsSE
12:26
Odin- joined
12:31
Odin- joined
12:45
chris2 joined
12:51
buetow joined
13:01
rashakil__ joined
13:04
weinig|sleep is now known as weinig
13:33
lollan joined
|
|||
stevan | audreyt: C::M::P + Moose would be a nice thing | 13:46 | |
it does not require any work even | |||
as you said | |||
however,.. C::M::P might need a little work, I am not sure what state luqui left it in | |||
and it should probably be hacked to support ->does() as well | 13:47 | ||
audreyt | aye | 13:53 | |
though CMP doesn't do the specced distance dispatch | |||
stevan | hmm | ||
audreyt | but otoh, the interaction between distance dispatch and casting and etc is still unresolved | 13:54 | |
stevan | C::M? | ||
Damian's module | |||
Moose should play well with anything | 13:55 | ||
well,.. anything that plays well with Pure Perl 5 | |||
bbiab, gotta go buy socks for YAPC | 13:58 | ||
azuroth | ... | 14:05 | |
ZuluOne | Does YAPC have any feet to put them on? | 14:16 | |
14:29
nperez joined
14:32
justatheory joined
14:39
mako132_ joined
14:46
xerox_ joined
15:01
xerox_ is now known as xerox
15:06
gaal joined
15:13
mako132_ joined
15:18
DaGo joined
15:41
mugwump joined
15:52
nothingmuch joined
16:06
justatheory joined,
insulanus|zZz is now known as insulanus
16:07
christopher joined
|
|||
audreyt | wow, it's amazing | 16:08 | |
those Diebold ATM machines | |||
it took my card, displayed a Win32 segfault message, then rebooted into Tivoli | 16:09 | ||
then rebooted again, then shut itself down | |||
audreyt is now pennyless ;) | |||
16:12
bpederse__ joined
|
|||
nothingmuch | audreyt: will YAML::Syck ever support !perl/code ? | 16:34 | |
16:35
macroron joined
|
|||
audreyt | nothingmuch: hack it in? | 16:37 | |
nothingmuch | audreyt: how? | 16:38 | |
audreyt | you are now committer to svn.openfoundry.org/perlsyck/ | ||
by line 568 | 16:39 | ||
perl_syck.h | |||
handle the CV case | |||
see Storable for example and FreezeThaw | |||
I need to run now | |||
nothingmuch | okay | ||
i think i'll manage from there | |||
thanks | |||
audreyt | np :) | ||
nothingmuch++ | |||
nothingmuch | nothingmuch.woobling.org/Class-Work...ample.yaml | 16:40 | |
=) | |||
16:40
putter joined,
mako132_ joined
|
|||
putter | audreyt: ping? | 16:41 | |
audreyt | putter: pong | ||
what's up? | |||
nothingmuch | audreyt: can you also make me comaint? | ||
i want to release Class::Workflow today | |||
putter | Boston perlmongers would normally meet the 11th, but could shift, or schedule a social. Any interest in doing a talk, or lightning? | 16:42 | |
nothingmuch | and if i finish i will release YAML::Syck dev first | ||
audreyt | putter: both is fine | ||
putter | hate to cut in on hackathon time... | ||
audreyt | nod | ||
I'm willing to give a talk, maybe on deploying perl6 | 16:43 | ||
I need to run off though | |||
so mail me with potential dates? | |||
nothingmuch: you are now comaint | |||
putter | sometime midweek, say 5th? any constraints? | ||
re run off, k, touch base later | 16:44 | ||
16:46
Aankhen`` joined
16:48
Ymmv joined
|
|||
nothingmuch | audreyt++ | 16:55 | |
thanks | |||
17:05
Limbic_Region joined
17:06
nothingmuch joined
17:07
hcarty joined
17:13
DEpwnsSE is now known as bjoern_
|
|||
nothingmuch | hmm | 17:24 | |
17:25
weinig_ joined
|
|||
nothingmuch | YAML and YAML::Sick aren't 100% consistent about !perl/Foo 'bar' | 17:28 | |
YAML makes 'bar' into a scalar ref and blesses that into Foo | |||
YAML::Syck ignores the tag | |||
and makes it just 'bar' | |||
which should it be? | 17:29 | ||
xerox | nothingmuch - What are those .xs files? | ||
17:29
ruz joined
|
|||
nothingmuch | xerox: .xs is C with preprocessing to make something that can interface with perl space | 17:30 | |
"X subs" i think | |||
xerox | Ah, perl space. | ||
hcarty | Is perl5 embedding working properly in the pre1 release? I can call routines in perl5 modules, but when I try to create an object (ex CGI.new) I get an error | 17:34 | |
pasteling | "hcarty" at 70.108.201.66 pasted "perl5 OO error" (7 lines, 132B) at sial.org/pbot/17945 | 17:36 | |
hcarty | I'm not sure if it's a problem with my build, or something on my system. I've had the same problem with all of my recent attempts at building pugs | 17:40 | |
s/building/using/ | |||
audreyt | hcarty: hi | 18:03 | |
ah. the metaobject havn't been updated | |||
can you write a test for it in t/perl5/? | |||
I'll fix it now | |||
(and do you have a commit bit yet, if not, what's your email addr?) | 18:04 | ||
hcarty | I'll do my best - I do not have a commit bit. [email@hidden.address] | ||
audreyt | you do now. welcome aboard! | 18:05 | |
add yourself to AUTHORS first to test commit | |||
hcarty | Thank you! | ||
audreyt | :) | ||
18:06
wilx joined
|
|||
nothingmuch waits for big explosions | 18:10 | ||
audreyt | nothingmuch: both Y.pm and Y::S are wrong | 18:13 | |
this is right | |||
pyyaml.org/wiki/PerlTagScheme | |||
nothingmuch | audreyt: okay, i will maybe fix it later | ||
that said | |||
18:13
chris2 joined
|
|||
nothingmuch | how does aliasing work with syck? | 18:14 | |
18:14
Aankhen`` joined
|
|||
nothingmuch | i'm seeing *tag = '\0' which i really don't understand | 18:15 | |
hmm | |||
i'm guessing this is not what I want, right? | |||
audreyt | right | 18:16 | |
aliasing works by anchors | |||
nothingmuch | well, let's TODO that for now | ||
does the emitter automatically add anchors for us? | |||
i don't see meaningful mentions of anchor format, etc | 18:17 | ||
wow | |||
compiles | |||
# Test 11 got: "{ \"foo\" . shift }" (t/2-scalars.t at line 31) | 18:18 | ||
# Expected: "{ \"foo\" . shift }" | |||
WEEEEEEEEEEEEEEEE | |||
now for eval | |||
uh, wait | |||
sorry, wrong test | |||
# Test 9 got: "--- !perl/code: \"{\\n 'bar';\\n\\\n}\\0\"\n" (t/2-scalars.t at line 21) | |||
# Expected: "--- !perl/code: '{ \"bar\" }'\n" | 18:19 | ||
but that's still good ;-) | |||
audreyt | emitter autoadds anchors | ||
don't worry about that | |||
nothingmuch | goody | ||
PerlJam | Any of you guys know of an opensource javascript pretty printer? | ||
audreyt | anchor resolution for cyclics is also auto | ||
PerlJam | I've got some horrendous javascript to wade through and it would be better if it weren't so horrendous :) | ||
audreyt | www.jcay.com/javascript-code-improver.html | 18:20 | |
not free software | |||
PerlJam | yeah, that seems to the where everyone points. | ||
unfortunately, I'm not running windows. | |||
nothingmuch | audreyt: how should i pretty print string storage, wrt \n, | and so forth? | 18:21 | |
audreyt | use one of the styles | 18:23 | |
nothingmuch | i mean "what is the name of a function that could help me" ;-) | ||
audreyt | in emitting | ||
select one of the scalar_2quote | |||
scalar_none | |||
etc | |||
nothingmuch | SCALAR_QUOTED etc? | ||
okay | |||
18:28
lisppaste3 joined
|
|||
nothingmuch | oi oi oi | 18:28 | |
the deparsing works | |||
but i can't emit it right | |||
ah | 18:31 | ||
it was the length | |||
18:35
ludan joined
|
|||
nothingmuch | well | 18:39 | |
appearantly it roundtrips | |||
i haven't found a good style though | |||
maybe you can help me later | |||
audreyt | commit! | ||
nothingmuch | tests fail | 18:40 | |
(my new tests) | |||
is that OK? | |||
audreyt | sure | ||
hcarty | If I want to use svk to work on pugs, is the svn.openfoundry.org/pugs url the correct one to mirror? I've only ever used svk for local/personal projects. That's what it looks like in pugs::hack, but I want to be sure before I let the lengthy sync process begin | ||
audreyt | yes. | ||
obra | yes. | ||
audreyt | and if you want to you can sync-to-head | ||
ah, the svk vendor is here | |||
:D | |||
nothingmuch | audreyt: comitted | 18:41 | |
oh crap | |||
i forgot to up the plan number | |||
there | 18:42 | ||
i should poke around line 183, right? | 18:46 | ||
hmm | 18:48 | ||
i can' | |||
t finish this tonight | |||
i am invited to dinner | |||
then i have to pack and tomorrow i fly | |||
but it's a long flight =) | |||
if you want to help me save time (anyone) /msg me or nopaste me links to some docs that I might discover are useful later | 18:49 | ||
besides Storable.xs | |||
so that i can prefetch | |||
ciao! | |||
18:51
bpederse__ left
19:02
weinig__ joined
|
|||
svnbot6 | r10875 | hcarty++ | r5@laptop44: hcarty | 2006-06-24 15:11:38 -0400 | 19:14 | |
r10875 | hcarty++ | Added myself to AUTHORS | |||
hcarty | Rock - I finally got it work correctly | 19:16 | |
audreyt | woot | 19:27 | |
wolverian | I thought svnbot filtered the commit metadata there nowadays | 19:29 | |
spinclad | depends on how you send it, i think -- 'svk push' tends to do this, iirc | 19:31 | |
audreyt | svk push --verbatim doesn't do it | 19:32 | |
spinclad | right, that's the magic word | ||
btw, pre1 built and smoked here | 19:34 | ||
wolverian | ah. I have a direct mirror and my svk ci doesn't do it either here | ||
but it used to, which makes me think it wasn't a direct thingy. | |||
or something. :) | |||
spinclad | but pirsmoke gave lots of complaints (no surprise i think) | 19:35 | |
audreyt | yeah. sadly parrot doesn't have a sensible support for our new OUTER:: semantic | 19:36 | |
working on it, though | |||
spinclad | back later & # food shopping and lunch | 19:38 | |
hcarty | I will try to remember to use --verbatim for future commits | 19:40 | |
19:42
renormalist joined,
hcarty left
|
|||
audreyt | ...and where is the test? ;) | 19:43 | |
19:44
hcarty joined
|
|||
renormalist | Hi all! I just saw in old experimental perl6 code stuff like "sub my_substr ($str, ?$from = 0, ?$len = Inf)". Are these prepended '?' an old syntax for optional params written with appended '?' like "($from?, $len?)" (seen in S06)? | 19:52 | |
wolverian | yes | 19:54 | |
renormalist | is the old syntax still legal? | 19:56 | |
szbalint | no | ||
renormalist | m'kay | ||
xerox | Now let's add ! to mandatory params :-) | ||
renormalist | This appending is better than prepending, so it doesn't optically conflict with twigils. nice | 19:58 | |
wolverian | on the other hand, it increases visual lookahead. it's not too bad though. | ||
20:09
Qiang joined
20:26
kanru joined
20:35
renormalist joined
|
|||
renormalist 's network lags a bit | 20:41 | ||
hcarty | For "use perl5:CGI" (or any other perl5 module) should both "my $q = new CGI" and "my $q = CGI.new" work in pugs? | 20:53 | |
And is the proper way to test this with a try {} ? | |||
20:57
Ymmv joined
21:08
macroron joined
|
|||
svnbot6 | r10876 | hcarty++ | Added a test for using perl5 class modules | 21:30 | |
21:32
hcarty left
|
|||
svnbot6 | r10877 | hcarty++ | r9@laptop44: hcarty | 2006-06-24 17:31:25 -0400 | 21:33 | |
r10877 | hcarty++ | Forgot to add svn-properties to last commit | |||
22:00
dasein joined,
colomon joined
|
|||
nothingmuch | uhg | 22:02 | |
colomon | Hi all. Just tried pre1. make works fine, make test has one error, but make install fails with ghc-6.4.2: unknown package: fps-0.7 | 22:03 | |
platform is Suse linux on X86-64. | 22:04 | ||
svnbot6 | r10878 | renormalist++ | cperl-mode.el: imenu index recognizes various multi|proto sub(method) variants | 22:12 | |
ingy | hola | 22:28 | |
audreyt | colomon: roger, will fix | 22:32 | |
which error was in the maketest? | |||
nothingmuch | audreyt: BLAM | 22:34 | |
releasing YAML-Syck-0.46_01 ? | 22:35 | ||
audreyt | sure | ||
go ahead | |||
nothingmuch | i don't need to bump the JSON version, right? | 22:36 | |
audreyt | right | ||
nothingmuch | how do i make meta.yml with MI? | 22:40 | |
ah, metafile | |||
huh?! it's not creating | |||
audreyt | rm -rf inc first | 22:42 | |
nothingmuch | ah | ||
for author vs. user behavior? | |||
ugh, failing tests | 22:44 | ||
should i check inc in? | 22:47 | ||
t/leak................Use of inherited AUTOLOAD for non-method YAML::Syck::Load() is deprecated at t/leak.t line 26. | 22:48 | ||
i think ti's due to DL_NOLAZY | 22:49 | ||
aye | |||
*sigh* | |||
22:52
FurnaceBoy joined
|
|||
nothingmuch | oh, sorry, that was stupid | 22:54 | |
anyway, i'm not checking in inc/ | |||
because I doubt it should even be in svn | |||
and since i see no tags/ either, i'm not tagging | |||
YAML-Syck-0.46_01 uploaded to the CPAN | |||
wish me luck | 22:55 | ||
22:57
Ymmv joined
23:01
Khisanth joined
23:13
dduncan joined
|
|||
dduncan | I have now begun to smoke pre1 ... est 2:30 to completion | 23:14 | |
er, 2h,30m | |||
23:33
rashakil joined
|
|||
audreyt | hm, coding up cabal-install in Haskell is quite nice | 23:36 | |
it helps that I can port all the CPANPLUS algorithms ;) | |||
audreyt verifies again that perl is wonderful for exploratory I-know-nothing-about-the-domain programming | |||
...and Hs is wonderful for I-already-know-what-I-am-doing-just-do-it | 23:37 | ||
stevan | audreyt: are you in chicago yet? | ||
audreyt | perlcabal.org/~audreyt/hackage/ now runs, whee | ||
stevan | :) | ||
audreyt | (the equivalent to PAUSE is being worked out... eta 1-2 hrs) | 23:38 | |
stevan | Haskell,.. it's the new Perl | ||
audreyt | :D | ||
stevan: no, going to fly in tomorrow morning | |||
stevan | ah | ||
cool | |||
I arrive tomorrow night, with nothingmuch and robkinyon | |||
audreyt | cool | ||
stevan | should be a very fun hackathon this year | 23:39 | |
audreyt | indeed | ||
-O9fun | |||
stevan | :) | ||
-O11fun | |||
mine goes up to 11 | |||
nothingmuch | -O1.43e+471fun | 23:42 | |
23:42
Ymmv joined
|
|||
nothingmuch | that's like, more than google fun | 23:42 | |
HUZZAAAAH! | |||
stevan | -OInffun | ||
nothingmuch | now you've ruined the joke | ||
stevan | the fun *NEVER* stops! | ||
nothingmuch | =) | ||
WOW | 23:43 | ||
i found a spoon! | |||
almost done packing | 23:48 | ||
i wonder what's left | |||
dduncan | unpacking | 23:49 | |
23:50
buetow joined
|
|||
dduncan | something I've been wondering, which is practical for the problem domain I'm addressing ... databases | 23:51 | |
I would like to effectively use a database engine as a compilation target for a certain subset of Perl ... | |||
so that certain things which would run well in a database are done there | 23:52 | ||
ideally, this may take the form of a macro-like feature where one can declare a macro that says that all sub-expressions of the call to said macro become part of the macro | 23:53 | ||
afaik, macros in perl 6 can take Perl ASTs as input, but I'm wondering if ... | |||
nothingmuch | this is probably better done as a theoretical optimizer plugin | 23:54 | |
that looks for staticly typed code | |||
dduncan | that is very possible | ||
nothingmuch | which is definitely database backed | ||
that way the scale can be larger | |||
dduncan | I was very much thinking that what I wanted to do is best in the domain of an optimizer | ||
nothingmuch | and the user interfacing is zero | ||
dduncan | effectively what I wanted to do is take what looks like multiple invocations of the database in user land and turn it into fewer or different actual invocations behind the scenes | 23:55 | |
nothingmuch | as it stands right now, it looks like the optimziation framework will be flexible enough to give you that | ||
once it exists =) | |||
aye | |||
also, runtime checks can get out of the picture | |||
and reachability analysis can do smart prefetching | |||
so it really extends farther than just drop in replacement of certain opcodes =) | 23:56 | ||
that said, you can probably still pull it off with overloading (the punt to database feature) | |||
dduncan | eg, if users say $foo = select_table( 'foo'); $bar = select_table( 'bar' ); $baz = Relation::table_join( $foo, $bar ); ... | ||
that would behind the scenes turn the table join into a db-side op rather than a perl-side op | |||
unoptimized, the select_table(), each one, would be a separate db invocation | 23:57 | ||
nothingmuch | have you seen DBIx::Class? | ||
it's nearly like that | |||
except it's in perl 5 | |||
dduncan | sure | ||
nothingmuch | so are $bar and $foo thunks? | ||
dduncan | but what I'm looking to do, unlike all the other layers out there, is that people can just write normal Perl and have it appropriately rearranged without them having to do anything special | 23:58 | |
nothingmuch | in dbic they represent resultsets, which conveniently doesn't say if they're materialized or not, but does know how to generate a select for them =) | ||
dduncan | $bar and $foo would be Relation variables | ||
a Relation variable is essentially a a set of hashes | |||
nothingmuch | Perl 6 will let you overload more cleanly | ||
since %, @ etc become more like operators | |||
that layer will be a lot nicer to work with | |||
i thought you were trying to specify e.g. a loop block | 23:59 | ||
dduncan | eg, its like what you get when, in DBI you say $sth->fetch_arrayref({}); | ||
nothingmuch | and then shove the loop block into a select where clause | ||
anyway, as nice as it is to talk | |||
i really have to stfu | |||
and finish =) | |||
dduncan | sure | ||
nothingmuch | will you be at yapc? |