Summer of Perl | 6.2.12 released! | paste: sial.org/pbot/perl6 | pugs.blogs.com | pugscode.org | pugs.kwiki.org | www.treehugger.com/files/th_images/paradigm.jpg
Set by nothingmuch on 12 July 2006.
00:01 monkey_ joined, fglock joined 00:03 dolmen joined
svnbot6 r11719 | clkao++ | When a class is declared, initialise the bareword. 00:10
clkao i wonder if we should box Bool. this seems overkill. but $foo = Bool::true; $foo.ref should work
00:14 rbrown_ is now known as rodrickbrown
robkinyon nothingmuch: pong 00:15
svnbot6 r11720 | clkao++ | Scope class declaration. 00:16
r11721 | clkao++ | When install_local, ignore redefine warnings. 00:18
00:24 kanru joined 00:26 daxim_ joined
svnbot6 r11722 | fglock++ | PCR - implemented <!x> and <[a..z]> in Ratchet.pm 00:27
r11723 | fglock++ | v6 - implemented <!x> in P6Rule.pm 00:30
clkao fglock! 00:33
fglock: i think the p6rule metasyntax is a bit dodgy
fglock: see t/rules/from_perl6_rules/der_grammer.t 00:34
fglock clkao: looking 00:39
svnbot6 r11724 | clkao++ | make both 'class Foo {}' and 'class Foo;' work. 00:42
clkao it looks like infinite loop matching for the metasynax rule
(with my limited rule knowledge)
fglock clkao: yes, I'm working on the infinite loops in the grammar 00:43
clkao excellent
fglock: i am adding a bunch of working tests to manifest as regression guard 00:44
fglock ok!
I'm working on making perl6-in-perl6 compilable 00:45
'der_grammar.t' ends in a parsing error - it's not looping here 00:50
clkao right, it doesn like rule Foo { D <eh> F }
fglock: for expression matching term{}, why is the stuff between {} parsed as bare_block? can i require a term 00:51
fglock " rule { D <eh> F } " parses ok 00:52
maybe reinstall PCR? 00:53
00:53 hikozaemon joined
clkao oh ok, it's from Term.pm 00:53
the '{' rule.... it needs to be just a term rather than statements when it's actually %something{} 00:54
fglock: right it does parse now. not this afternoon 00:55
fglock clkao: "postcircumfix:{}" is parsed at Expression.pm #168 00:56
the 3 ast formats there are for these constructs: .{} / $var.{} / $var{} 00:58
svnbot6 r11725 | clkao++ | correct test count. 01:00
fglock sorry - bad english - "there are 3 ast formats, which match each of these constructs"
clkao fglock: yes, and it's using the one from term.pm. 01:02
fglock: see " perl -Ilib lib/v6.pm --compile-only -e '%hash1{"one"} = 5'"
ggrr, is it bool or Bool? 01:08
fglock bool is unboxed, Bool is object
clkao RAARAH! hate 01:09
svnbot6 r11726 | fglock++ | PCR - crude implementation of return block from p6 ast in Ratchet.pm 01:12
fglock '0.true' is Bool false (method call); 'true 0' is bool false (expression operation)
clkao fglock: mmm can you help me fix $foo{"bar"} ? 01:14
svnbot6 r11727 | clkao++ | * Include tests that pass to MANIFEST. 01:15
r11727 | clkao++ | * Make Class Foo { sub something } declare method in right namespace.
r11727 | clkao++ | * Class Bool in Prelude.
01:17 bsb left
fglock clkao: one sec 01:17
svnbot6 r11728 | clkao++ | Don't emit empty block for class Foo {}, which causes a warning. 01:24
fglock clkao: fixed 01:28
svnbot6 r11729 | fglock++ | v6 - emitter: %a{"key"} 01:30
glasser nothingmuch, clkao: so, it looks like app::cli already has the help stuff factored out 01:31
it's just not 100% obvious how to use it. (also, svk doesn't actually use the factored-out version, maybe they need to be merged)
clkao fglock++ 01:33
(!) 01:34
that reminds me, glasser, did you factor out the help stuff yourself?
svnbot6 r11730 | clkao++ | Parse "rx:perl{\s}".
clkao fglock: gah! you are just emitting the statement as expr 01:38
glasser it looks like alexmv did or something back in december 01:39
but svk was never updated to ues it
fglock clkao: committing one more change... 01:40
svnbot6 r11731 | fglock++ | v6 - '%a{1;2,3}' compiles to '$a{1}{2,3}'
clkao whoot! 01:41
fglock: 02-test-pm/1-basic now parsed 01:43
svnbot6 r11732 | clkao++ | add gt and lt infix operators.
clkao fglock: i need to make foo => $bar a pair.
munging the infix => is a bit annoying :/
01:44 SubStack joined 01:45 rafl joined, justatheory joined 01:46 Bit-Man joined
fglock clkao: you mean emitting {foo=>$bar} ? (a hash ref) 01:46
clkao fglock: i wanted it to be internally as a pair. maybe not. 01:48
01:49 dduncan joined
dduncan greetings to those of you at OSCON 01:49
I am in the convention center near the registration booths
if you're in town, lets meet
fglock I'm in the couch near the TV 01:50
dduncan I don't see a TV ... what room is that near?
fglock at home :)
dduncan pfft 01:51
fglock clkao: you can add '=>' to 'sub infix' in Perl5.pm #786 and see what it breaks (or fixes) 01:52
svnbot6 r11733 | fglock++ | v6 - prefix:<?> 02:04
r11734 | fglock++ | oops
r11735 | clkao++ | Cleanup the infix op table a bit for readability.
02:04 mjk joined
fglock bbiab & 02:08
svnbot6 r11736 | clkao++ | More infix table cleanups. 02:13
r11737 | clkao++ | Oops, bring infix:{=>} back. 02:16
02:17 Jedai joined
dduncan audreyt, please post here and say when you arrive in Portland and/or the convention center ... I'll backlog 02:18
svnbot6 r11738 | clkao++ | Make infix:{=>} work as named captures. 02:21
r11739 | clkao++ | Really fix the class {} scope. 02:30
02:45 tokuhirom joined
svnbot6 r11740 | clkao++ | misc fixes for 02-test-pm/1-basic.t 02:48
r11741 | clkao++ | Allow binding %b to $a
02:52 ruoso joined 02:55 xinming joined 02:57 buubot joined 03:01 buubot joined
svnbot6 r11742 | clkao++ | Kill duplicated op. 03:34
clkao Preprocessing library Pugs-6.2.12... 03:37
Setup: can't find source for Pugs.AST.Internals.Instances in ["src"]
Build failed: 256 at util/build_pugs.pl line 156.
svnbot6 r11743 | clkao++ | Mark the failing test as todo.
r11744 | clkao++ | Support $?POSITION (and $?CALLER::POSITION), so Test.pm now reports
r11744 | clkao++ | caller for failed tests.
03:39 fglock joined
svnbot6 r11745 | fglock++ | PCR - fixed return blocks in Ratchet.pm + v6.pm 03:46
03:46 buubot joined
ruoso fglock, insonia? 03:46
fglock ruoso: last commit before going to bed :) 03:47
03:48 buubot joined
clkao why is -rule now using -perl6 ? 03:48
clkao discovers it's 5am
ruoso fglock, me too... but on my monography... I'll be presenting it friday morning
fglock clkao: -rule ? 03:49
ruoso: congratulations!
ruoso fglock, :)
clkao fglock: the last change 03:50
fglock clkao: if v6.pm is loaded, then PCR can now compile the code inside closures using v6 03:53
clkao ok.. 03:54
fglock try "--compile-only" with ' token xxx { a { return ~$/ } } '
clkao somehow i have the impression that match object and regex are properly wrapped in v6. but it doesn't seem so
svnbot6 r11746 | clkao++ | misc builtins.
clkao whoot 03:55
fglock & 03:57
03:57 fglock left 04:06 Eidolos joined
svnbot6 r11747 | clkao++ | =:= (kind of) 04:13
04:14 buubot joined
clkao 680 tests pass ;) 04:18
clkao &
04:27 mako132 joined
svnbot6 r11748 | clkao++ | Add a bunch of passing tests. 04:34
04:34 ptty joined 04:40 buubot joined 04:41 traecer joined 04:59 bsb joined 05:21 Aankhen`` joined 05:27 agent joined
agent ?eval [\+] 1,2,3 05:28
evalbot_11748 (1, 3, 6)
agent ?eval [+] 1,2,3 05:30
evalbot_11748 6
05:31 sysread joined 05:36 [particle] joined
gaal agent: [] is the last element in [\] 05:37
06:02 agentzh joined 06:13 BooK_ joined 06:39 xinming joined 06:47 SubStack joined 06:58 iblechbot joined 07:32 hugues23 joined 07:41 buetow joined 07:53 elmex joined 07:57 Aankh|Clone joined 07:58 xern joined
gaal search.cpan.org is b0rked. anyone here who can fix it? 08:06
the dist pages show up fine but browsing gives a 403 Forbidden 08:07
08:11 nekokak joined 08:22 Aankh|Clone is now known as Aankhen`` 08:23 avar joined 08:26 ludan joined 08:58 Aankh|Clone joined 09:03 revision17_ joined 09:05 z3ndrag0n joined, daxim_ is now known as daxim 09:29 Aankh|Clone is now known as Aankhen`` 09:41 Aankh|Clone joined 09:43 rindolf joined
rindolf Hi all! How do I make a class defined in PerlXS inherit from a different PerlXS class? 09:44
broquaint Set @ISA. 09:45
rindolf broquaint: I tried using use base 'GD'.
broquaint: but maybe it's wrong.
Let me try it with @ISA.
I'm getting: <<< Can't locate auto/GD/PHPFilter/new.al in @INC >>> 09:47
broquaint Where are you setting @ISA? 09:51
rindolf broquaint: in the .pm file. 09:52
broquaint: eskimo.shlomifish.org/Files/files/c...phpfilter/
lambdabot Title: Index of /Files/files/code/perl/gd-phpfilter
rindolf broquaint: how can a PerlXS class inherit from a different PerlXS class. 10:00
use GD; use vars qw(@ISA); @ISA=(qw(GD)); in the .pm does not seem to work. 10:01
I wonder where I can find an example for it.
Google returns junk www.google.com/search?q=perl%20xs%2...20class%22
lambdabot Title: perl xs &quot;base class&quot; - Google Search
broquaint Look around the Gtk2 distribution for some clues (I couldn't see anything obvious though). 10:02
rindolf broquaint: I did that, but could not find anything. 10:03
I wish I was not a persona non grata on irc.perl.org
broquaint I think the answer may lie in Glib ... 10:04
rindolf broquaint: OK. 10:05
broquaint Oh, I should've just voiced my first thoughts - set @ISA in XS. 10:06
See. GType.xs in the Glib distro.
rindolf Maybe I need require instead of use.
Oh wait, I didn't define new(). 10:07
But GD.pm has new.
10:09 Jedai joined
broquaint Does it work when you set @ISA in XS? 10:09
10:37 agentzh joined 10:40 tokuhirom is now known as toku_away 10:49 Aankhen`` joined 11:17 bernhard joined 11:18 elmex joined 11:23 iblechbot joined 11:25 f0rth joined 11:26 f0rth joined 11:31 f0rth joined 11:49 Aankh|Clone joined 12:09 chris2 joined 12:10 traecer left 12:12 wesley joined 12:13 bpphillips joined 12:22 szbalint joined 12:23 Aankh|Clone is now known as Aankhen`` 12:39 mauke_ joined 12:51 Aankh|Clone joined 12:53 f0rth joined, mauke_ is now known as mauke
svnbot6 r11749 | fglock++ | v6 - long lines and deep blocks are better formatted 13:22
13:28 fglock joined 13:56 FurnaceBoy joined 14:06 frederico joined 14:23 [particle] joined 14:29 vel joined
svnbot6 r11750 | gaal++ | * DrIFT.Perl6Class - add 'MooseClass' to express Hs structures as 14:47
r11750 | gaal++ | Perl 5 classes that use Moose.pm
r11750 | gaal++ | * Use the pretty printing library for nicer code
r11750 | gaal++ | * CapInternals - derive MooseClass
r11750 | gaal++ | * misc/pX/gaal/* - demo code for showing Moose schemas
r11750 | gaal++ | * RRegex.PCRE - fix warning, I hope
gaal anyone with a fast machine mind checking I didn't break the build? 14:48
clkao i think it was already broken last night 14:50
14:51 eal joined
gaal It was fixed last night :) 14:51
a few times :)
clkao configure: No greencard found
Preprocessing library Pugs-6.2.12...
Setup: can't find source for Pugs.AST.Internals.Instances in ["src"]
bizzare, it's somehow deleted for me 14:52
gaal eh? svk up
clkao svk revert
14:54 Termy joined
gaal better now? 14:55
14:56 coumbes joined
gaal anyway, fglock, clkao, if you build misc/pX/gaal/CITest now and run it you get a dump concatenating perl 6 and perl 5 moose code of the new ast, if that's useful to you. 14:57
home & 14:58
15:02 cjeris joined 15:06 justatheory joined 15:10 coumbes joined 15:21 hexmode joined
pasteling "gaal" at 192.115.25.249 pasted "New AST, rendered in Moose" (1297 lines, 19K) at sial.org/pbot/18603 15:22
fglock gaal: looking
svnbot6 r11751 | fglock++ | * perl6-in-perl6 - lib/v6/Grammar/Native.pm compiles and loads without warnings using v6.pm
r11751 | fglock++ | - added v6/v6-Compiler/lib/v6/AST/Native.pm
r11751 | fglock++ | - some fixes in Perl5 emitters (calling subroutines in v6 namespace is a syntax error)
gaal brb, shower&
clkao fglock! 680 pass! 15:23
fglock clkao: wow! 15:24
clkao also test.pm reports what line the failure comes from noiw
fglock: do you want to make t/rules/ pass a bit for the current v6 ?
fglock clkao: last commit means we are close to start using perl6-in-perl6 grammar and AST 15:25
15:26 agentzh joined
fglock clkao: I'll look t/rules after lunch 15:27
clkao how close? ;)
great, i should think about food this time
fglock very :)
clkao also i have a script to pull working test files to manifest now 15:28
fglock v6.pm can compile and load the code, so it's just a matter of translating what we already have
from perl5/parrot/haskell to plain perl6
clkao is the ast/native using what gaal's generating? 15:30
fglock clkao: 'setup_class' in Perl6.pm reports 'redefined subs' - is Moose already doing the Class-name declarations?
clkao fglock: i don't think so. mm. i think redefined subs are data::bind issue. which is fixe 15:31
fglock clkao: not yet
clkao d
setup class sets up barewords like Str
fglock ok, I'll reinstall data::bind
clkao so they can be used for $foo.ref eq Str
gaal clkao++!
clkao i hope you can compile ;)
lots of fixes in data::bind as well 15:32
might worth do another v6 release
but i need to take care of svk a bit today ;)
fglock clkao: is the new data::bind released? 15:33
clkao fglock: no
fglock gaal: what is the base class/role for an AST node? does it contains line numbers, for example? 15:34
15:35 aufrank joined
scw fglock: (about r11722) when is Emitter::Perl5::Ratchet::negate called? 15:35
gaal fglock: I don't grok how position and context are represented yet in fullness
fwiw, I do understand pragmas 15:36
as for base class, well, look at CompUnit
fglock scw: it needs a patch to the grammar - see P6Rule.pm in Pugs-Compiler-Perl6/lib/Grammar
xerox pokes gaal
gaal peeks at xerox 15:37
eh, I deleted compunit :)
but it will be: a version number, a description string, and an AST
with the root node of that being an Exp
xerox gaal - Two things: hasktags gets tags wrong at times, for example when I M-. on `getFoo' it goes on `getFooBar' which is some lines above `getFoo', even if it is in the same module. Does your patch to ctags work better?
gaal - Secondly, did try GHCi-On-Acid (shor: GOA) ? %-) 15:38
gaal specifically, a binding
$compunit := class Foo { ... };
xerox: my ctags patch doesn't do data constructors 15:39
nothingmuch fyi, publicly usable gobby on pasta.woobling.org
gaal but it does do what you ask better than what you describe with hasktags
nothingmuch well, really sobby
xerox gaal: hasktags does?
scw fglock: how about Rule.pm in Pugs-Compiler-Rule/lib/Pugs/Grammar/Rule/ ?
clkao i so want to rewrite some parts of svk in perl6
gaal as for GOA, no, should I look for it? :)
nothingmuch given tuits /me may be tempted to implement obby's network proto in perl
xerox img57.imageshack.us/my.php?image=gh...cidzn1.jpg
nothingmuch and then try to glue that to vim
lambdabot Title: ImageShack - Hosting :: ghcionacidzn1.jpg
xerox ^- shot
darcs get haskell.galois.com/~paolo/darcs/goa 15:40
lambdabot Title: Index of /~paolo/darcs/goa
agentzh clkao: why svk is soooo unstable on Win32?
clkao agentzh: how unstable?
fglock scw: I'll keep the old '!' in metasyntax, so that both will keep working - one sec
gaal xerox: ha, is that for real? :) 15:41
xerox gaal: YES!
xerox bounces happily
agentzh clkao: svk often reports many "G XXXXX" and quits silently
xerox gaal: I _just_ released it, hope it works as it is.
clkao fglock: btw, when you look at t/rules, also try to see t/02-test-pm1-basic.t, it's mostly done, missing the rx: thing. which i made the parsing work last night
gaal xerox: and here I was thinking I should get used to running a lambdabot locally in screen #2
agentzh this happens every month
clkao agentzh (!)
agentzh: when doing what?
scw fglock: redirecting the '!' part in &metasyntax to &negate ?
clkao every month... when it's fullmoon?
xerox gaal: yay for ghci on acid. 15:42
agentzh when do 'svk push'
clkao but running it again works?
agentzh nope
gaal xerox: :bs is especially interesting. :)
scw fglock: I mean, in Ratchet.pm
gaal how the moose did that :pl work?
agentzh i often remove svk completely from my machine and start to install svk all over again
this is very very very annoying 15:43
clkao, what exactly does svk mean?
sorry, what exactly does "G" mean in svk?
clkao 'G' is merged without conflict
fglock scw: yes, that works 15:44
agentzh okay, it's understandable.
xerox gaal: haha it is this one:
?botsnack
svnbot6 r11752 | fglock++ | PCR - emitter-time parsing of <!x> for backwards compatibility
lambdabot :)
15:44 stevan joined
xerox The first one I added, for simplicity :) 15:44
scw fglock: since the '!' part in &metasyntax is broken :p
agentzh but why does svk quit mysteriously quit after reporting a lot of "G"?
xerox gaal: you should pull again, I missed a file at the first round, releasing software is hard!
scw fglock: maybe a better way is to rewrite Grammar::Rule::Rule.pm 15:45
gaal xerox: no kidding :)
pull from where?
clkao agentzh: so re-run does work? reinstall it would work with your existing svk depot ?
xerox darcs get haskell.galois.com/~paolo/darcs/goa
lambdabot Title: Index of /~paolo/darcs/goa
agentzh re-run doesn't work at all. reinstall and re-setup everything *work* 15:46
fglock scw: changing Grammar::Rule::Rule.pm might break Regex :(
gaal xerox: it does everything \bot does?
xerox gaal: yup.
scw fglock: what do you mean?
gaal like, it just embeds it?
agentzh clkao: i find sometimes recovering Config by hand is very helpful.
gaal xerox: tres cool!
xerox gaal: see README. No, it doesn't embed, it calls it :) 15:47
scw fglock: I changed it for <!before ...> and ran and passed 'make test'
gaal xerox++
agentzh clkao: is there any documentation on the details of svk's Config file?
gaal xerox++
xerox hops happily
clkao fglock: btw, data::bind 0.28 releasd 15:48
xerox gaal: some spj++ is needed because of `:def', which is _crazy_
fglock scw: nice - just commit then :)
clkao agentzh: uhm, not really
gaal xerox: it's a bit sad that you need to hardcode paths in .hs... \bot does that too afair
fglock clkao: ok!
scw fglock: err... that's r11700 :p
agentzh clkao: is the user supposed to modify svk's Config?
xerox gaal: see TODO 15:49
gaal: yes, that's a problem wrt hoogle/djinn/binary-calling-plugins
clkao agentzh: surely not, but most people are more than user, also it's a simple yaml file ;)
scw have to go or will miss the subway @@
agentzh clkao: gotcha
fglock scw: ok - I'll look
lunch &
gaal xerox: may I suggest HsSyck for config file...
agentzh clkao: i think i've already reported this svk bug to rt.cpan.org. please take a look when you have the tuits. :=) 15:50
xerox gaal: nowadays it uses Config.hs ~ what is HsSyck?
gaal xerox: our library to bridge haskell with YAML 15:51
svn.openfoundry.org/pugs/third-party/HsSyck/
lambdabot Title: Revision 11752: /third-party/HsSyck
xerox So the configuration would be written in YAML?
YAML looks nice.
gaal yeah, and in one function call you get a Hs data structure populated with your conf.
xerox `generated by re2c' is scary :) 15:52
xerox will tell dons
Thanks for the pointer
gaal xerox: where? 15:53
xerox Some of the .c files has that string at the very beginning. 15:54
gaal the c does most of the work - it's why's libsyck 15:56
xerox hehe 15:57
I wonder why did you use C.
gaal it's actually an excellent yaml library
clkao agentzh: ok
xerox Oh, it has a BIG parser! 15:58
agentzh clkao: thanks. hopefully i'll be able to return to svk soon. ;-)
gaal yaml isn't a small language...
xerox Ack. 15:59
gaal argh, darcs get on a project that has a lot of existing revisions takes ages. is there a way not to download so much history? 16:00
xerox Yes!
gaal I mean not wget -r :)
xerox Use the `--partial' option.
gaal cool, thanks
xerox You're welcome :D
OK, I should hack cabal-get now. 16:01
May the hasktags be with me.... erhm.
gaal xerox: if you're on linux I can schlep over a binary so you don't have to compile ctags...
linux/x86 16:02
xerox I'm running OS X on Intel now
gaal ah, too bad then.
svnbot6 r11753 | clkao++ | * Parse $0 and friends.
r11753 | clkao++ | * Parse m// and friends.
gaal okay, I need to take a break. see you in a few... &
xerox gaal: may you put the code somewhere?
agentzh Re <gaal> agent: [] is the last element in [\] 16:03
gaal: thanks
gaal xerox: to ctags you mean? sec
agentzh: np :)
xerox Thanks much.
gaal xerox: perlcabal.org/~gaal/exuberant-ctags...askell.tgz 16:06
xerox hugs gaal 16:07
gaal :)
you MAY need to sort the output -- some editors get picky. so:
ctags -R ; mv tags tags.un ; sort tags.un > tags
xerox makes an alias 16:08
16:08 buubot joined
gaal uh, and rm tags.un too. :) 16:08
bbiab &
svnbot6 r11754 | clkao++ | Parse bare /.../ rules. 16:23
16:26 buubot joined
pasteling "agentzh" at 210.22.200.67 pasted "Pugs Build Failure on Win32" (13 lines, 632B) at sial.org/pbot/18605 16:29
16:29 buubot joined
gaal agentzh: vi config.yml and increase the heap size 16:29
rerun Makefile.PL 16:30
agentzh will do
gaal perl Makefile.PL that is
[particle] i think you can just rebuild from there
agentzh should i do realclean?
gaal no need
[particle] but, the long-term fix is as gaal said
agentzh okay
gaal agentzh: how much RAM does your machine have?
agentzh i've set ghc_heap_size to 348m 16:31
gaal that should be enough.
agentzh and is re-nmake
16:31 f0rth joined
agentzh -ing 16:31
gaal if you have lots of ram, experiment with a higher value, it might speed up your build.
agentzh i have 512 MB 16:32
gaal ah. then don't go much higher than that :)
agentzh not very large
it looks good.
gaal if your machine starts thrashing, you're done - ghc would take hours to finish
agentzh wow...
it's compiling Pugs.Eval now. 16:33
gaal that's near the end, good.
agentzh well passed Pugs.Parser where my heap was exhausted. 16:34
yeah
Generating precompiled Prelude...
gaal Pugs.Parser and Pugs.AST.Internals are the worst.
agentzh nod nod
gaal your machine isn't very slow!
agentzh Pugs.AST.Internals took me much time to compile 16:35
thanks, gaal.
gaal sure
agentzh my CPU is 3.00 GHz.
yay! i'm done! 16:36
svnbot6 r11755 | clkao++ | Simple emit for ~~ m/.../
agentzh gaal, [particle]: thanks for the help. :=) 16:37
so glad to build Pugs on Win32 again. :D 16:38
xerox gaal: Emacs says tags isn't a valid tags file either sorted and unsorted :-( 16:40
16:40 Aankh|Clone is now known as Aankhen``
xerox gaal: M-x visit-tags-file Right? 16:40
gaal xerox: oh. you need 'ctags -eR' 16:42
the -e is emacs mode...
clkao fglock: doh ^ is not implement in PCR
fglock gaal: 'VNative' is an AST node, right? - what is 'ValNative' ?
16:42 ludan joined 16:43 justatheory joined
gaal fglock: a "Val" is any one of five types of things 16:43
fglock clkao: I think it parses, but it doesn't emit code for it
gaal in haskell code if you see 'VNative xxx' then xxx is of type ValNative, but the whole expression is of type Val 16:44
ValNative itself has a few variants too:
bit, int, uint... 16:45
see line 104
so if you take a really native type, say boolean
you wrap it in NativeBool, you just got a 'ValNative' object.
you wrap that again, you get a Val 16:46
you can wrap it once more with an EVal constructor, you get an Exp
fglock ok 16:47
gaal so the code 'True' is an expression of type value of type native value of type boolean of value true
(whew)
cjeris gaal: where are all these types defined?
gaal cjeris: svn.openfoundry.org/pugs/src/Pugs/A...ternals.hs
and if you prefer to see it in Perl 6 notation, see the last post on pugs.blogs.com 16:48
xerox gaal++ thanks much!
gaal fglock: in Haskell speak, the Perl 6 source 'True' parses to
clkao fglock: grammar Foo is Bar should have Bar in trait attribute, it's currently a bunch of bizzare calls 16:49
gaal EVal (VNative (NBool True)))
in Perl 6, that would be something like
EVal.new(VNative.new(NBool.new(True))) 16:50
xerox: you're welcome!
note that in Perl, that EVal object that you have 'does' the Exp role 16:52
as do the classes ENoop, EVar, EDeref, etc. - line 477
16:56 amnesiac joined 16:58 buubot2 joined 17:01 buetow joined
gaal wow, xerox++, GOA really rocks. 17:04
fglock gaal: I'm organizing things in namespaces - NBool is 'v6::AST::NBool', and PureBool is 'Bool' I think - does this make sense? 17:05
gaal fglock: note that not everything is clearly hierarchical. 17:06
for example Exp has a EVal of type Val,
but other things have Val too
so Val is not a subordinate namespace of Exp 17:07
everything ought to be under one AST namespace, I think.
17:08 ruoso joined
gaal nothingmuch already asked me to allow giving a base namespace, I'll add it Real Soon 17:08
xerox gaal: thank you very much, shae blogged about it, hehe
fglock gaal: you said 'EVal.new(VNative.new(NBool.new(True)))' - but what is 'PureBool' used for? 17:09
gaal fglock: see S06, there are both Native and Immutable tyepes, and there is some overlap 17:10
compare 'bool' with 'Bool'
'int' with 'Int'
17:11 buubot joined
fglock 'PureBool' is a runtime class? 17:11
gaal ---> NativeBool vs. PureBool
fglock: see ValPure
line 244
xerox: argh, shapr keeps moving his blog so I never see his entries! 17:12
fglock: Vals are basically either native, or immutable, or mutable-but-sortof-sane, or mutable-but-IO 17:13
xerox www.scannedinavian.com/hope/
clkao fglock: ok, i emit some code for match. not working very well though ;) 17:14
gaal xerox: found it now.. if only my rss aggregator were clever enough (lj)
xerox :D
17:15 buubot joined
fglock gaal: so NativeBool is an ast node that maps to a 'bool' thing, and PureBool is an ast node with a 'Bool' thing? 17:16
audreyt the definition of "sortof sane" is "can be rolled back in memory"
xerox focus! &
audreyt i.e. "undoable modification" versus "irrevocable mutation" 17:17
17:17 stephanepayrard_ joined
gaal audreyt! moose moose 17:18
svnbot6 r11756 | clkao++ | close the =begin.
audreyt moose!
gaal fglock: NativeBool and PureBool are on the same "level"
audreyt just woke up
and found network
but havn't finished slides 17:19
have ~5 new CPAN modules to upload
gaal Bool (haskell type) -> NativeBool -> NativeVal -> Val
audreyt before the talk can proceed without lying
gaal Bool (haskell type) -> PureBool -> PureVal -> Val
scw audreyt: I'll leave you a question and go to sleep then 17:20
audreyt fglock: PureBool and NativeBool and Bool and bool respectively
scw audreyt: you don't have to answer me now :p 17:21
audreyt they are the same Hs type because p6 spec doesn't demand any different capacity from them
scw audreyt: is there syntax to write rules with argument?
audreyt but e.g. PureInt and NativeInt is different.
scw: ask your mentor...
I thin kit's
scw audreyt: e.g., possiblyTypeLiteral in Literal.hs take one argument
audreyt rule foo ($x) {...}
scw audreyt: I asked him several days ago and he didn't reply 17:22
gaal audreyt: is your talk today?
scw audreyt: Hmm... maybe I should send him a mail instead?
audreyt gaal: no, 48 hours from now
scw: yes
scw audreyt: 'k, thanks :)
ingy audreyt: can you see my msgs? 17:23
gaal can see ingy's moosages
audreyt scw: the call syntax seems to be
<rule: param>
ingy: no
ingy: try magnet
gaal audreyt, ingy, just open a channel, this is irc :) 17:24
audreyt scw: so I'd say go with that syntax for now and also mail pmichaud for clarifiacation
ingy: I need you help in my 5 to-be-on-CPAN modules
one of which you'll like
it's called XML::All
and does what you think it does.
gaal lol
audreyt basically realizing the Capture spec in p5 via overloading in the domain of xml 17:25
very addictive :)
17:25 cognominal joined
fglock can I implement this using inheritance, and just do $/.as(v6::AST::Bool) ? 17:26
audreyt fglock: sure
fglock and $/.as(v6::AST::bool) ?
clkao audreyt: i think we should be at 700 pass mark now
gaal I gotta go again for a bit, see y'all &
audreyt fglock: sure 17:27
fglock: basically ::bool and ::Bool is already autoboxed and explicitly boxed
"true natives" as of yet doesn't exist
but! nor does perl5 support native bools anyway.
fglock audreyt: this is for p6-on-p6
audreyt I know
but 6on6 doesn't care about runtime 17:28
it can't use runtime-specific native bools
so for 6on6, bool and Bool are pretty much interchangable inside the compiler
it's jsut the emitter
fglock but it should pass the info to the optimizer?
audreyt when seeing a NativeBool
can get optimizer
to work
and not a PureBool
which is boxed Bool 17:29
(I hope I'm making some sense)
fglock does 'True' parse to 'bool' ?
audreyt it's a deep philosophical question :) 17:30
I think it parses to Bool
as it's defined in Bool::True
and it's only the container
my bool $x = True
that does the deboxing
same for numerics
this is based on the S02 spec
fglock so there is no parse-time bool 17:31
audreyt that says untyped containers uses Num and Int emantics
which seems to me means
my $x = 1
makes a Int
which means parsetime natives doesn't exist
fglock and no parsetime bools, since true and false are defined in an enum 17:32
audreyt yup
fglock ok - thanks!
audreyt the only way to get parsetime bool is
constant bool $x = True 17:33
or
my bool $x; BEGIN { $x = False }
etc.
fglock btw, '1' is parsed as 'Bit', right?
17:33 Termy joined
clkao impatiently waits for christmas 17:33
17:33 theorb joined
audreyt fglock: I hope so, yes, but parsing it as an Int with fallback also worksforme 17:34
17:34 cmarcelo joined
audreyt lunch... & 17:36
fglock fallback at optimization/emit time?
audreyt it could
it also could be runtime
Bit->Int is widening cast
upcast
no info loss
so doesn't matter either way
fglock k 17:37
17:37 xinming joined 17:38 _maydayjay_ joined 17:40 __cognominal joined 17:43 theorb is now known as theorbtwo, salty-horse joined
svnbot6 r11757 | fglock++ | 6on6 - added v6/AST/Base.pm; 17:57
r11757 | fglock++ | - added class hierarchy to v6/AST/Native.pm
17:58 penk joined 17:59 rindolf joined 18:01 _maydayjay_ left 18:03 penk joined
svnbot6 r11758 | clkao++ | Data::Bind 0.28 18:06
rindolf Hi all! Sorry for the SlightlyOT, but: With Module::Build how do I compile another .c file into the .so of the Perl extension? 18:07
svnbot6 r11759 | clkao++ | * Make simple passing of rx work. 18:09
r11759 | clkao++ | * Make ~~ matching passed in (perl5-compiled) regexp work.
clkao mmm 18:12
isa_ok({ 'one' => 1 }, 'Hash');
how is this Hash not Sub ?
18:19 bernhard joined, integral_ joined
rindolf Hi clkao 18:20
clkao: what's the progress with the svk API? 18:21
clkao rindolf: what svk api? 18:24
rindolf clkao: the one Gabor and I wanted. 18:25
clkao: like the svn API.
clkao: only for SVK and in Perl.
clkao ah. it does't exist yet. do you want to help?
rindolf clkao: sorry, but I'm not using svk much.
Good ol' svn works for me.
clkao: I was just asking. 18:26
clkao i was also just asking ;)
rindolf clkao: sure, no problem.
18:29 buubot joined 18:35 fglock joined
clkao oh crazy. 18:35
788 pass!
rindolf I might need to write a buubot plugin. 18:36
18:42 integral_ is now known as integral 18:47 _maydayjay_ joined 18:53 larsen joined
clkao audreyt/TimToady: around? see my last isa_ok question 19:01
19:02 DaGo joined 19:14 dolmen joined 19:16 dolmen left 19:17 beppu joined 19:27 Limbic_Region joined
nothingmuch moosage 19:29
gaal elktitude 19:31
fglock clkao: I fixed 'grammar' and 'class' in the grammar - I'll fix the emitter before the commit 19:37
gaal nothingmuch: did you see xerox++'s GOA? 19:40
19:40 froh-doh joined
nothingmuch nope 19:40
whutsitdo?
Limbic_Region greetings from the land of the almost alive
19:42 miyagawa joined
gaal nothingmuch: bring \bot to ghci: www.scannedinavian.com/hope/image/27/full 19:43
darcs get haskell.galois.com/~paolo/darcs/goa 19:44
lambdabot Title: Index of /~paolo/darcs/goa
19:48 buubot joined
svnbot6 r11760 | fglock++ | v6 - added 'class' and 'grammar' to Terms, updated the emitter 19:54
19:56 vsoni_ joined
svnbot6 r11761 | clkao++ | Force scalar context for bind_op2, so ("foo" =~ m/x/) would return undef. 19:59
nothingmuch gaal: cute =) 20:02
gaal darn useful too
nothingmuch needs to do more haskell for $work
gaal hoogle, pl, index in one place
"more" is good 20:03
svnbot6 r11762 | gaal++ | * DrIFT.Perl6Class: allow for namespace mangling (nothingmuch++)
r11762 | gaal++ | * The demo programs use ("p6::AST::" ++) as a mangler
r11762 | gaal++ | * Add CapInternals.Instances.hs for the DrIFTless
gaal I wish I did any .hs for $work!
20:04 knewt joined 20:06 miyagawa joined
svnbot6 r11763 | fglock++ | v6 - implemented 'is classname' to grammar/class decl 20:06
clkao 20:10
20:10 buubot joined 20:11 buubot joined 20:13 elmex_ joined
svnbot6 r11764 | fglock++ | v6 - fixed last commit 20:13
clkao whoot. it kind of works 20:15
svnbot6 r11765 | fglock++ | v6 - initialize a string in emitter
20:16 xdg joined 20:17 SubStack joined
svnbot6 r11766 | fglock++ | v6 - allow '::' and '_' in attributes 20:18
fglock lib/v6/AST/Native.pm compiles :) 20:19
clkao whoot
fglock is there something magic about the 'as' method? why is it called 'coerce::as' 20:20
clkao role is not parsed yet 20:22
grammar/native compiles as well. just a bit weird ;) 20:24
20:25 cmarcelo left
fglock role has the same syntax as class? 20:25
clkao i think so
PerlJam yes, but very different semantics :)
clkao need to use Moose::Role; intead of Moouse though 20:26
then does X => with 'X'
20:27 Kattana joined
svnbot6 r11767 | fglock++ | v6 - added simple 'role' parse/emit 20:30
20:36 bpphillips left
clkao can you have pointy sub like "-> $x is Something { }" ? 20:39
20:39 justatheory joined
PerlJam clkao: nope (at least not unless someone has changed it on me) 20:41
20:42 elmex joined
clkao any good reason not to? 20:43
svnbot6 r11768 | fglock++ | v6-Compiler - added Makefile, etc 20:45
PerlJam Because that's what the sub keyword is for? 20:46
audreyt clkao: hey 21:01
clkao: Data::Bind. can we get it to accept rvalue callconv?
i.e. if it's not an unblessed reference
but rather a blessed reference or a value
then pretend it's been rvalue (expression context) at first place
and just reject "is rw" 21:02
it matches what actually happens incallconv
and will simplify the named syntax
what do you think?
you can have pointy sub "-> Something $x {...}". 21:03
clkao audreyt: parse error
audreyt oh, it's "pionty block"
clkao: call with
[1,2,3,4], {named=>1}
and instead of aliasing
just do value semantics assigment 21:04
and croak if param is rw
clkao why? then are you copying things
"value sematics assignment" ?
expanding as inline?
audreyt ok
basically
create a \1 on the fly 21:05
if it's not ref
not aliasing
because
nothingmuch audreyt: please post kudra's summary on pugs.blogs.com
audreyt sub x ($x is rw) {}
x(1)
ought to fail
(I'll brb)
nothingmuch: will do
clkao *nod*
is this just for making people happy with constant? 21:06
nothingmuch audreyt: it's in drafts or something
and tell her it's OK to post on her own
she didn't believe me when I told her you wouldn't mind
clkao fglcok: t/subroutine/defaults fails now, because package foo; is emitted as a function call 21:09
audreyt clkao: er no, in p6 21:12
x(1)
svnbot6 r11769 | clkao++ | * Signature in pointy sub.
r11769 | clkao++ | * Evil for now works:
r11769 | clkao++ | for (%hash.kv) -> $k,$v {
r11769 | clkao++ | warn "$k $v";
r11769 | clkao++ | }
audreyt ought to similarily fail
so it's meet-the-spec too 21:13
basically the call side can pass lvalue or rvalue
the param side can expect byref or byval
and the r->l direction ought to either vivify a ref there ("is copy") or fail ("is ref") 21:14
all other directions are fine
gaal: btw 21:17
has Ident $.p_variable;
can probably be reduced to has Ident $.variable;
without losing info
will make life easier
21:18 dduncan joined, fglock joined, ruz joined
fglock "use v6::Compiler;" - is a syntax error in perl5 :( 21:19
clkao: s/package/module/ - I think package is a perl5-only word 21:20
maybe the test is wrong? 21:21
audreyt it is?
fglock: it worksforme
"use v6::Compiler" works on 5.8.8 here
clkao fglock: it used to work 21:22
fglock audreyt: my fault - it works now
audreyt good
fglock clkao: I think 'package' has the same semantics as 'use v5' 21:24
audreyt yes, but only as the first statement
clkao audreyt: i have some plan of making use of data::bind::sig in compile time. maybe along that time
fglock: then
audreyt clkao: good
clkao
fglock fixing...
clkao then subroutines/defaults.t is wrong? 21:25
now it finally comes to boxing or not.
%hash.values.sort
audreyt clkao: fixed 21:26
(the test predates the spec change)
clkao eggcellent
there are also a bunch of rules tests skipped. any reasons?
svnbot6 r11770 | audreyt++ | * t/subroutines/defaults.t - update to chase Synopsis change
r11770 | audreyt++ | (Arbel hackathon iirc) on "package Foo;" being invalid except
r11770 | audreyt++ | as the first statement -- use "package Foo {}" form now.
audreyt clkao: PGE used to segfault on them 21:27
clkao: the rule tests part will be totally thrown out
replaced by david romano's spec-based rules tests
clkao where are they?
svnbot6 r11771 | fglock++ | v6 - added 'package' back
audreyt apparently in pmichaud's computer
clkao gr!
audreyt pmichaud said that's hispriority now
to get it checked in 21:28
will find him in realspace this week
21:28 xinming joined
nnunley Wow 103 commits since the start of the icfpc 21:29
audreyt nothingmuch: kudra's summary is on pugs.blogs.com 21:30
pmichaud pong 21:33
clkao nnunley: blame 40% on me 21:34
pmichaud the rule tests have been replaced (last week)
they're in t/compilers/pge/p6rules/regex_tests
21:36 elmex joined
audreyt oh! 21:36
sorry, missed that.
/p6regex/ :) 21:37
pmichaud np, you've been pretty busy of late :-)
oh yeah, p6regex :-)
the subrule tests aren't in there, but most of the others are
(if someone wants to improve the regex_tests file to include subrule tests... patches welcomed)
(actually, all test patches welcomed :-)
nothingmuch audreyt: AWESOMETOWN! 21:38
audreyt clkao: committed 21:41
svnbot6 r11772 | audreyt++ | * t/p6regex/: Copy over the spec-based p6rx tests from 21:42
r11772 | audreyt++ | parrot/t/compilers/t/pge/p6rulex/regex_tests committed
r11772 | audreyt++ | by pmichaud++ last week. Yay!
audreyt fglock: write a p6-based harness on it perhaps?
fglock audreyt: I'll look 21:43
dduncan if anyone's at oscon, I'm in the OSCAMp room for the next few hours ... come meet 21:45
nothingmuch has anyone ever used the alt-input stuff in vim? 21:46
i don't know where to start and google isn't helping
i figured this loony bin is a good place as any to ask ;-)
svnbot6 r11773 | fglock++ | v6 - 'class' supports long names with version again 21:51
fglock clkao: 'Too late to run INIT block at /usr/local/share/perl/5.8.7/v6.pm line 22' when running v6-Compiler Makefile.PL 21:54
I precompiled with 'perl -Ilib -Mv6::Compiler -e 1'
maybe I should remove 'requires('v6' => '0.010');' ? 21:55
clkao fglock: ya, i see them sometimes, when there's .tc files 21:58
svnbot6 r11774 | gaal++ | * audreyt++ suggested beheading field names in the Perl renditions of 22:00
r11774 | gaal++ | Hs records. This is only correct for code that uses our naming
r11774 | gaal++ | convention, but taking over the world we may as well instate our
r11774 | gaal++ | naming convention everywhere.
audreyt yes. 22:01
gaal nothingmuch: what alt-input stuff? 22:02
nothingmuch gaal: i want to implement obby in vim
vim can take command input from a second stream
which is monitored by the main event loop
originally intended for use by debuggers
gaal vim or gvim?
nothingmuch since I already know the hooks to do it the other way (sort of, vimspell, or at the very worst rebinding), i guess it's doable 22:03
either or
:help alt-input says it'll work with both
gaal reading that 22:04
we can hack on that this week
that doc isn't very detailed :) 22:05
nothingmuch it isn't detalied at all 22:06
hence google
but google isn't being helpful either
gaal I think it does need gvim
and I won't be surprised if it only works in X
"The current implementation is based on the X Toolkit dispatch loop and the XtAddInput() function call." 22:07
nothingmuch wouldn't really mind
oh
hmm
*shrug*
gaal isn't osx only half X?
nothingmuch none X at all
although you can launch an X
gaal I remember jwz discussing it (he ported xscreensaver there)
nothingmuch oh
he prolly knows much more than me then 22:08
gaal it = x on osx
nothingmuch i've not actually coded in it
hmm
i can run an xserver
and x11 programs
it works fairly well
gaal vimspell doesn't use anything like alt-input 22:09
oh, you didn't say it did 22:11
nothingmuch no
the other direction
gaal nothingmuch: did you look at the obby event model at all?
nothingmuch that is, sending local input
i read the spec
it's ingeniously simple
gaal I should too then
nothingmuch they solve the race condition thing very cleanly 22:12
i think i can implement it in Perl in ~2 days
the only problem is that it requires a good buffer/cursor abstraction 22:13
svnbot6 r11775 | fglock++ | v6-Compiler - moved '$v6::Compiler::VERSION' to a line by itself; still Makefile.PL can't see it
nothingmuch that is 22:14
a good one considering the obby thing and the vim buffer will be in a separate process space
the other idea
trying to hook into vim's eventloop from embedded perl
doesn't seem very plausible
$nothingmuch =~ s/\n/,/g; 22:15
gaal where's the newest spec? i saw something that said it was outdated
nothingmuch darcs.0x539.de/trac/obby/cgi-bin/tr...yInternals 22:16
lambdabot Title: ObbyInternals - obby - Trac
nothingmuch oh
i read it the wrong way
gaal "The following documentation is outdated for 0.3.0-dev and above because a new documented algorithm named Jupiter was implemented into obby."
nothingmuch ew documented algorithm
sounds promising
okay 22:17
wolverian <7aw
oops 22:18
nothingmuch darcs get the obby thing
and make in doc
fglock gaal: this is what the v6-Compiler version of the ast is starting to look like: svn.openfoundry.org/pugs/v6/v6-Comp.../Native.pm
nothingmuch it seems fairly documented
22:18 justatheory joined
gaal fglock: should be 'does', not 'is' 22:20
fglock: also, I fixed namespaces at nothingmuch++'s prodding
so you can build misc/pX/gaal/CITest.hs and run it, getting _everything_ 22:21
fglock gaal: sorry, but what is the difference between 'does' and 'is' in this case? 22:22
gaal fglock: what do you intend for Base.pm?
fglock: v6::AST::Native should be a role, not a class
for one thing, you can't instantiate it directly 22:23
fglock I don't know yet what Base.pm will be - it might contain the Match 'pos', for example
gaal okay, I have to hear audreyt on that subject again myself 22:24
fglock gaal: do you find it better to have the whole definition in a single file? 22:25
22:26 thepler joined
gaal fglock: oh, no, I don't think it matters much. Well, there is a circular dependency issue I want to avoid 22:26
okay, I'm giving sleep another attempt. later! :) 22:27
zzZ&
svnbot6 r11776 | fglock++ | v6-Compiler - s/is/does/ - gaal++
fglock & 22:28
clkao harness landing 22:30
22:32 cjeris left
svnbot6 r11777 | clkao++ | p5 version of harness for regex_tests - to be ported to p6 and sit in 22:32
r11777 | clkao++ | pugs/t. A few tests (mostly named captures) are disabled because they
r11777 | clkao++ | hang.
22:33 fglock left 22:40 avarab joined 22:46 GeJ joined
clkao audreyt: how do i make dist for v6? it involves module::install hate 22:52
audreyt clkao: cp -Rf the dir away somewhere else
clkao bundling 349 passed tests ;)
audreyt raze inc
clkao grr!
audreyt and then perl Makefile.PL
make dist
you'll have to do the same if it were autoconf...
...but wait, you never liked autoconf 22:53
svnbot6 r11778 | clkao++ | v6-alpha 0.011
audreyt never mind
clkao it's not creating meta.yml
audreyt razed inc ?
clkao ya. but i handcrafted it 22:54
22:55 avar joined 23:18 rlb3 joined
clkao audreyt: pause doesn't want to index my v6. i thought i have permission? 23:20
ah, new modules names 23:21
justatheory stevan: Do you have that link that you pasted sometime last week for natural queries? 23:27
23:43 dduncan joined 23:54 baest joined