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. |
|||
[particle] | is there a MANIFEST for pugs? | 00:05 | |
[particle] is adding prove6.bat so windows folks can C as well | |||
svnbot6 | r11789 | particle++ | add prove6.bat so windows users can test perl6 today! | 00:10 | |
r11789 | particle++ | run C<util\prove6 -v t/> or your favorite C<prove> command. | |||
00:16
Bit-Man joined
00:27
nekokak joined
|
|||
clkao | whoot | 00:30 | |
audreyt | particle++ | 00:37 | |
audreyt finally finished outline for her talk | 00:38 | ||
just need to fill code in | |||
clkao | hi audreyt | ||
how's it going? | |||
audreyt | going well | 00:39 | |
care to review my draft a bit? | |||
(uploading) | |||
it's curious that I'm hacking Jifty and you are hacking Perl6 :) | |||
mm bad influences on each other | 00:40 | ||
pugs.blogs.com/talks/oscon-rhox-draft.pdf | |||
(very early draft) | 00:41 | ||
00:41
lollan joined
|
|||
clkao | audreyt: seen my use.perl journal? you might want to link to that if you happen to do pugs blogging | 00:42 | |
jabbot | clkao: I havn't seen my, clkao | ||
clkao | it kind of excites some people ;) | ||
audreyt | clkao: I already did that last night ;) | ||
pugs.blogs.com/pugs/2006/07/v6pm_920_tests_.html | |||
clkao | gr | ||
alright | |||
audreyt | it is very exciting | ||
clkao | sorry i didn't notice because i was drinking ;) | ||
Dr_Pi | How long is t/perl5/method.t supposed to take? It appears to be hanging. | 00:45 | |
audreyt | then it's prbably hanging | ||
audreyt goes filling in more code so the slides can make sense | 00:46 | ||
clkao | audreyt: oh i meant to ask you something | ||
audreyt | mmm? | ||
clkao | isa_ok({ 'one' => 1 }, 'Hash'); | ||
how is this Hash not Code ? | |||
00:49
pochi joined
00:53
lollan joined
|
|||
audreyt | it's always Code | 00:53 | |
some Code are folded into Hash | |||
See S06 | 00:54 | ||
Anonymous hashes vs blocks | |||
C<{...}> is always a block. However, if it is completely empty or | |||
consists of a single list, the first element of which is either a hash | |||
or a pair, it is executed immediately to compose a Hash object. | |||
clkao | audreyt: see t/02-test-pm/1-basic.t | 00:55 | |
mmmm | 00:56 | ||
ok the rule is a bit crazy | |||
audreyt | indeed | 00:57 | |
implementation is at src/Pugs/Parser/Util.hs | |||
clkao | what tio do? | ||
audreyt | line 159 | ||
extractHash :: Exp -> Maybe Exp | |||
clkao | i can impelemnt that in perl emit easiy | ||
but i just don't feel very sane | |||
clkao ponders about using autobox | 00:59 | ||
00:59
dduncan joined
|
|||
dduncan | ping audreyt | 01:04 | |
I see you last posted 7 mins ago, so I don't imagine you're far away from seeing this? | 01:05 | ||
clkao | dduncan: i htink you should just ask whatever yo uwanted to ask | 01:06 | |
dduncan | yes . | ||
audreyt, where are you now . | |||
I'd like to meet when we can | 01:07 | ||
I'm currently in E141 I think, where OSCAMP is | 01:08 | ||
in an hour olr less, for this evening's events, I've marked a seat right in front of the podium | |||
for Larry's Onion and Damian's Davinci Code | 01:11 | ||
I'll save you a good seat if you want it | |||
I marked the second row, leftmost seat | 01:12 | ||
(exactly where I sat last year) | 01:13 | ||
doh | |||
clkao | gr | 01:14 | |
01:25
xdg joined
01:26
myavuzselim left
01:38
hikozaemon joined
01:42
dolmans joined,
vel joined,
wolverian joined
01:47
chip___ joined,
PerlJam joined,
leo joined,
pmurias joined,
pmichaud joined,
webmind joined,
Juerd joined
01:48
dduncan joined
01:56
markstos joined
01:58
dduncan joined
|
|||
pasteling | "markstos" at 12.176.101.89 pasted "I'm trying to port CGI::Application to Perl6, but I can't get it to even compile. It dies with an out of memory error. Click for details." (9 lines, 744B) at sial.org/pbot/18626 | 02:00 | |
markstos | Yup. I wonder if it could be solved by using a lazy data structure in Pugs::Runtime::Rule, so it doesn't try to put so much into memory at once. | 02:01 | |
02:06
justatheory joined
02:12
chip___ is now known as chip
02:29
diederich joined
|
|||
diederich | yes | 02:29 | |
02:30
Diederich joined
|
|||
Diederich | anyone home? | 02:31 | |
rodi | nobody here but us chickens... | ||
obra | We're all in larry's keynote | 02:32 | |
Diederich | oh cool! | ||
so this is where the magic happens? :-) | |||
how's the keynote going? I'd give my left eye-tooth to see one of his talks. | 02:33 | ||
Khisanth | channeling Odin? :) | 02:36 | |
Diederich | well, at least someone tell me when it's over! | 02:38 | |
02:40
markstos left
|
|||
ingy | hola | 02:44 | |
Diederich | howdy! | ||
ingy | :) | 02:45 | |
Diederich | is this the author of IO::All? | ||
ingy | oh... yes this is | ||
who is that? | |||
Diederich | (You'll have to excuse me, this is the first time I've been in direct contact with a lot of Perl luminaries) | ||
dduncan | go to #oscon on perl.org | ||
live Larry commentary | |||
Diederich | o? | ||
dduncan | I think they are viceoing it this time | 02:46 | |
Diederich | I've been using Perl since 1993, and I've never talked to any of you guys. :) | ||
n | |||
SamB | dduncan: then who is that TimToady person? | ||
... or are you implicating that he can be in two places at a time? | 02:47 | ||
Diederich | dduncan, what port is IRC running on perl.org? | 02:48 | |
dduncan | the normal one? | 02:50 | |
6667 | |||
Diederich | telnet perl.org 6667 | ||
that gives me no route to host :( | |||
dduncan | try irc.perl.org specifically | 02:52 | |
anyway, Larry's onion just ended | |||
Diederich | sorry I'm so dense, it's been a very, very long time since I've used IRC | ||
dduncan | he also used some of audreyt's snazzy diagrams | 02:53 | |
Diederich | I can't wait to read all about it | ||
be back in a little while | 02:56 | ||
TreyHarris | is all of Pugs quintuply-licensed under the five licenses shown under LICENSE/, or are parts of it licensed differently from other parts? | 03:12 | |
03:15
xdg joined
|
|||
dduncan | different parts | 03:20 | |
03:20
amnesiac joined
|
|||
dduncan | see the README, I think | 03:20 | |
04:38
lisppaste3 joined
04:46
traecer joined
04:48
mako132 joined
05:10
kanru joined
|
|||
dolmans | "abc" ~~ ("abc","123") makes false in pugs, is the language changed or i misunderstood? | 05:10 | |
05:13
tessier__ joined
|
|||
tessier__ | Wow | 05:13 | |
So...why are 119 people interested in a perl interpreter written in haskell? | |||
dolmans | tessier__: i am interested in a perl 6 interpreter, it occasionally implemented in haskell. | 05:15 | |
tessier__ | You mean it is coincidentally implemented in haskell? | 05:16 | |
dolmans | no, i just don't care. | 05:17 | |
tessier__ | hrm | ||
There is still a perl6 interpreter implemented in C right? | |||
dolmans | don't know it. | 05:18 | |
05:21
justatheory joined
|
|||
Kattana | perl6 is implimented in magic and pure thought. | 05:22 | |
dolmans | :-P | ||
FurnaceBoy | I guess the position of "Perl6 in C" implementor is open, tessier__ | 05:25 | |
tessier__ | So Larry Wall is a haskell coder now? | 05:26 | |
Or is perl6 not a canonical perl? | |||
tessier__ is confused | |||
FurnaceBoy | if Larry's involvement makes it canonical, it's canonical :-) | 05:27 | |
in fact, that's a great adjective. | |||
the Synopses are the Canon :-) | |||
traecer | The Perl 6 interpreter will eventually be coded to run in the Parrot virtual machine | ||
But there is also currently Pugs, which implements some (a lot) of Perl 6 in Haskell | 05:28 | ||
The short answer to why 2 efforts is the Parrot VM was taking too long | 05:29 | ||
Pugs allows people to start working with some Perl 6 today, so when the final Perl 6 interpreter is ready, people won't be lost | |||
TreyHarris | ?eval "abc" ~~ ("abc","123") | 05:44 | |
oops, where did evalbot go? | |||
dolmans: your thinking it should be true matches my reading of S03. at least written as ("abc", "123") ~~ "abc" definitely should--it's right there in S03. the "matching code", 'any(("abc","123")) eq "abc"', *does* work | 05:47 | ||
dolmans: it's :todo | 05:50 | ||
05:51
cognominal joined
|
|||
TreyHarris | dolman: see svn.perl.org/perl6/pugs/trunk/t/ope...artmatch.t at "/Array\s+Str\s+array\s+contains\s+string\s+match" | 05:53 | |
dolmans | TreyHarris: yes, and "abc" ~~ any("abc","123") works either. | ||
dolmans browsing | |||
TreyHarris | dolmans: works too? or doesn't work either? | 05:54 | |
dolmans | works too. | ||
05:59
buetow joined
|
|||
tessier__ | FurnaceBoy: Yeah, canonical is a cool word. :) | 06:03 | |
tessier__ likes to sound erudite | |||
Although I eschew obfuscation. | |||
traecer: There are 2 implementations of perl 6? One in Haskell and one for the parrot virtual machine right? Is parrot itself the language in which perl6 is being implemented in for the parrot virtual machine? | 06:04 | ||
Parrot is taking too long so they went with haskell and it was implemented faster...so why continue with parrot? | 06:05 | ||
Kattana | parrots goal isnt to implement perl6. | 06:14 | |
traecer | Parrot's goal is to be a virtual machine for several dynamically-typed languages, including Perl 6 | 06:17 | |
Plus, Haskell is slow, from what I hear | |||
dolmans | p5's syntax `for $x (@a) {}' is gone? i'm annoyed typing for @a -> $x | 06:18 | |
traecer | And also, one goal for Perl 6 is to ultimately self-host (though that's a looonnnggg way off) | ||
Actually, I thought for was still there | |||
oh I see what you mean. | 06:19 | ||
I'm not sure, I haven't read the Synopses lately | |||
TreyHarris | dolmans: for takes two arguments, the thing it's iterating and a block (possibly with arguments). so yes, you need to write the pointy sub form; the other form won't parse. just like you can't write "grep { ... } @array" anymore. | 06:20 | |
you could use a placeholder, though. "for @a { ... $^x ... }" | 06:22 | ||
tessier__, traecer: pugs targets many interpreters, including parrot (and javascript and perl5) as well as the haskell runtime. the two implementations have effectively merged, AFAICT. | 06:25 | ||
dolmans | TreyHarris: yes i can. though i prefer the p5 for syntax's simplicity, i must coordinate myself to p6's arrow culture. | ||
:-P | 06:26 | ||
buetow | At least no moew arrows in OOP :) $foo.method(); | ||
s/moew/more/ | |||
TreyHarris | dolmans: the syntax was a special case. perl 6 is all about normalization. | ||
traecer: btw, haskell isn't slow when properly used. | 06:27 | ||
tessier__ | yeah, haskell seems to fair exceptionally well in the programming language shootout | ||
dolmans | TreyHarris: i think so too. | ||
traecer | I remember speed being one of the complaints a long time ago. I haven't really kept up with P6 development lately | 06:28 | |
dolmans | tessier__: in my opinion haskell is suit for build a grammer parser, so it is sense to implement p6 in haskell. if you want to use it daily, it is a disaster. | 06:30 | |
tessier__ | dolmans: Why a disaster for daily use? Lots of people seem to be loving it. Lindows recently announced they would be standardizing on it. | ||
dolmans | in daily use, you just want to do your work but not to do monad trick. | 06:31 | |
IMHO | 06:32 | ||
TreyHarris | when forced to be a procedural language, yes, haskell's a disaster. :-) | ||
dolmans | TreyHarris: this world is not a pure functional world, yes? there are too many status changed rapidly. | 06:33 | |
TreyHarris | in any case, i'd ask audreyt her opinion, but i think that the intent is that, once p6-on-p6 is able to self-host, that development towards release would move from haskell to perl 6 | 06:35 | |
dolmans | perhaps haskell suit for building large scale software which i can't write.:-P | 06:36 | |
06:37
traecer left
06:45
kcwu joined
06:52
iblechbot joined
07:38
elmex joined
08:11
obra_work joined
|
|||
nothingmuch | moosage | 08:14 | |
obra_work | hey | 08:18 | |
08:19
obra_work is now known as obra
|
|||
gaal | wapititude | 08:24 | |
nothingmuch: have you built obby 0.4 successfully? HEAD seems to be broken on some dependency, or maybe I'm not finding all the maint-build scripts I need to run. | 08:25 | ||
(missing inc/config.hpp in net6) | |||
08:26
audreyt joined
|
|||
nothingmuch | gaal: gentoo | 08:28 | |
obra | gobby made me very sad | 08:29 | |
gaal/nothingmuch, you heard that larry described moose as one of his favorite perl6ish projects? | 08:30 | ||
nothingmuch | gaal: awesome! | 08:32 | |
err | |||
obra: awesome! | |||
but tell that to stevan =) | |||
obra | I will | 08:33 | |
but I'm sleeping soon | |||
gaal | nothingmuch: wahuddya mean, gentoo? | ||
nothingmuch | gaal: i meant gentoo compiled it for me | ||
gaal | nothingmuch: okay. was that a tarball or a checkout? I should probably just get the tarball. | 08:34 | |
nothingmuch | package system | 08:36 | |
gaal | k | ||
nothingmuch | e.g. apt-get install gobby? | ||
gaal | nothingmuch: yes yes; debian didn't have 0.4, is all. | 08:39 | |
lumi | Morning nothingmuch & gaal | 08:40 | |
gaal | hey lumi | ||
lumi | gaal: ebby is completely missing obby's syncing brains! | 08:41 | |
gaal | suck. | ||
lumi | Which is why it broke so badly | ||
Yeah, I'm writing it now | |||
gaal | ooh | 08:42 | |
08:43
hugues23 joined
|
|||
lumi | Hopefully I'll have sth by tomorrow | 08:43 | |
gaal | looks like we'll have an obbython, not a mopathon :) | ||
lumi | Mayhap, but an obby's a terrible thing to waste | 08:46 | |
What should I read about mop now? | 08:50 | ||
gaal | Moose, Moose::Class, src/Pugs/MOP | 08:51 | |
but bug nothingmuch and stevan about it :) | |||
re: obby, surely | |||
08:54
nothingmuch joined
|
|||
gaal | what's the ./configure switch to add an extra c include path? | 08:56 | |
ah, CFLAGS=-I... | 08:58 | ||
nothingmuch | oh! | 08:59 | |
i have 0.3 | |||
09:04
revision17_ joined
|
|||
gaal | we want to target 4, don't we | 09:04 | |
I've built obby ok, but still futzing around with sobby | 09:05 | ||
09:15
avar joined
09:30
kanru joined
|
|||
dolmans | is there another way to do `sort { $^a <=> $^b } @array', the $^ is tricky but hurt hands. | 09:55 | |
wolverian | @array.sort(&infix:{'<=>'}) or so, I expect | 09:56 | |
lambdabot | Unknown command, try @list | ||
wolverian | (dunno about current pugs) | ||
dolmans | wolverian: yes, it worked, i like that. | 09:57 | |
wolverian | svn.openfoundry.org/pugs/docs/Perl6...ctions.pod | ||
dolmans | no, i don't like that syntax, it reminds me sort is method of array, i just hate oo. :-P | ||
wolverian | sort @array: ...; | 09:58 | |
sort {} @array works too, I think | 09:59 | ||
gaal | dolmans: what is it you don't like? the ^ ? sort -> $a, $b { $a <=> $b } @array | ||
wolverian | sort {+$_} @arr; is the same too | ||
dolmans | gaal: yes, ^ hurt hands and make me sicks. your version is understoodable to me. | 10:01 | |
wolverian: your new version sounds good too, | |||
xinming prefers `sort @array, {}` then, we don't need to do sort on a closure in OO way. :-P | |||
wolverian | sorting a closure sounds rather useless :-) | 10:02 | |
xinming | { $^a <=> $^b }.sort(@a) is ugly... | ||
10:02
tup joined
|
|||
gaal | you can also avoid the anonymous comparator entirely. sort &mycmp, @array | 10:02 | |
xinming | the reasonable one is, @array.sory({ $^a <=> $^b }); | 10:03 | |
wolverian | wish there was a shorter syntax for bare infix ops than &infix:{'<=>'} | ||
xinming | gaal, but, for OO way, I think @array.sory is more reasonable. | 10:04 | |
wolverian | that's what we have, yeah | ||
gaal | xinming: I thought dolmans was worried about the use of placeholder vars. | ||
xinming | wolverian, I think you can bind `>_<` to `<=>` though, It doesn't save much typing, but you can type faster... :-) | 10:05 | |
wolverian | xinming, true enough. :) | 10:06 | |
dolmans | i remember my days on emacs, i rebind all @$%, :-P | ||
xinming | well, In fact, typing @$% these character isn't a big problem if you are familiar with keyboard. | 10:07 | |
dolmans | perhaps my fingers is too hard. | ||
s/is/were/ | 10:08 | ||
xinming | BTW, After perl 6 released... I'd think to make True type using :-) and False type using ':-(' | ||
:-P | |||
dolmans | sounds a good idea. | 10:09 | |
xinming | yes, It might be emotional version of perl 6. | 10:10 | |
and also, the devel version... :-) | |||
10:11
chris2 joined
|
|||
xinming | s/devel/evil | 10:12 | |
dolmans | and something else? perhaps orz for exception? | ||
xinming feels sorry for his poor English. | |||
dolmans, yes. | |||
I ever suggest that orz is used for running a system command | |||
dolmans | :-P | ||
xinming | "cat /etc/shadow".orz; :-) | ||
10:28
iblechbot joined
10:30
BooK joined
|
|||
xinming | Since bare words are considered sub calls in perl 6, so, will this be valid? (a => 'letter')? | 10:35 | |
I mean the a in left side. it's a key, will it obey the bareword-closure rule? | 10:36 | ||
wolverian | => is special afaik | 10:38 | |
xinming | => is pair constructor, then, I wonder, what the proto of left hand side is... | 10:40 | |
wolverian | told you it's magic! :) | ||
xinming | supper time... bbl. | 10:41 | |
well, I don't think there would be magic wand for every perl grammer... ;) | |||
I'm writing test, So, I just want to be sure about this. | |||
and %hash util method in pugs lacks test. | |||
Juerd | wolverian: Every "special" in Perl 6 has some kind of *normal* grammar or prototype :) | 10:46 | |
wolverian: In that sense, things aren't so special anymore. | |||
RFC: rename prefix:<=> to prefix:Ā« >> Ā» | 10:48 | ||
>> has a visual association with various "next" symbols | 10:49 | ||
Is less ugly combined with assignment ($foo = =$bar versus $foo = >>$bar) | |||
AFAICT, doesn't clash | 10:50 | ||
(terms aren't hyperable, are they?) | 10:53 | ||
gaal | &prefix:<ā> ::= method ($fh:) { $fh.close } | 10:59 | |
&prefix:Ā« >> Ā» ::= method ($fh:) { $fh.seek(0, :end) } | 11:00 | ||
Juerd | Hmm? | 11:01 | |
gaal | fastforward :) | ||
clkao | hurrah. there will be devel::cover hackathon | ||
Juerd | Are you serious? | ||
gaal | no :) | ||
Juerd | Ok :) | ||
clkao | 4 | ||
Juerd | I was :) | ||
nothingmuch eyes gall | 11:17 | ||
nothingmuch smiles | |||
(suspiciously!) | |||
11:19
agentzh joined
|
|||
gaal mooses | 11:19 | ||
agentzh grins | 11:20 | ||
nothingmuch | muahahahaa! | 11:24 | |
theorbtwo grins conspiritorally. | 11:28 | ||
xerox | audrey slides are terrific :) | 11:50 | |
agentzh | the slides are finished already? | 11:58 | |
12:15
bpphillips joined
|
|||
xerox | Nope | 12:18 | |
12:31
frederico joined
|
|||
gaal | nothingmuch: all the jupiter stuff is #if 0'ed... | 12:43 | |
nothingmuch | ugh' | 12:44 | |
let's stick with the annotated example then | |||
gaal | oh. no: it's just shoved into the .hpp file :( | 12:45 | |
nothingmuch | hmm? | ||
y'know what? | |||
we can just harass the authors on IRC =) | |||
gaal | d'you know ehere they are? | ||
I looked for a channel but didn't find one. | 12:46 | ||
12:46
mauke_ joined
|
|||
gaal | re: hpp: the code isn't in the cpp files, it's in ../inc/*.hpp | 12:46 | |
It's the wonderful "inline all" mode of c/c++ development :) | |||
13:01
mauke_ is now known as mauke
|
|||
nothingmuch | gaal: www.0x539.de/members.html | 13:09 | |
lambdabot | Title: [ 0x539 dev group - Members ] | ||
xerox | Obby? Obby? | 13:14 | |
gaal | nothingmuch: there's one other person besides me there now :/ | 13:23 | |
xerox: nothingmuch and I want to write a vim plugin | 13:24 | ||
and lumi is fixing the one for emacs | |||
xerox | Yes, we were going to try that with shapr today | ||
gaal | that=ebby? | 13:25 | |
xerox | It would be really nice to have some open source collaborative editing tool which Works(tm) | ||
gaal | gobby (the reference implementation) does... but the editor itself isn't $FAVORITE | 13:26 | |
xerox: does #haskell have a log? | 13:29 | ||
13:29
fglock joined
|
|||
xerox | gaal: yes | 13:29 | |
@where logs | |||
lambdabot | tunes.org/~nef/logs/haskell/ meme.b9.com/cdates.html?channel=haskell | ||
gaal | thanks :) | ||
fglock | gaal: do you know of a plain english description of how the perl6 code emitter should work? | 13:34 | |
13:35
agentzh joined
|
|||
gaal | sorry, no. and not a nonplain description, either | 13:37 | |
13:39
xdg joined
|
|||
fglock | I want to write a sample emitter for the nodes already in p6-on-p6, so that I can test the data flow | 13:39 | |
it should compile things like '1' | 13:40 | ||
13:48
frederico_ joined
|
|||
agentzh | fglock: is there much room to optimize P-C-R even further? | 13:48 | |
fglock | agentzh: sure - there is a partial rewrite going on in misc/pX/fglock | 13:50 | |
agentzh | fglock: great! | ||
fglock | I've not being working on it because I'm getting busy with p6-on-p6 | 13:51 | |
agentzh | i'll look closer into PCR when i finished reading the synopsese | ||
fglock | I've stopped in rewriting the numbered captures - that's pretty tough | 13:52 | |
gaal | fglock, for now yaml-dump the nodes? | ||
agentzh | i can imagine. :=) | ||
fglock | agentzh: most of the other tests pass | ||
agentzh | fglock: okay | 13:53 | |
fglock | gaal: I want to write the compiler framework, so that people can work on specific sections | 13:54 | |
gaal: so it needs an optimizer and an emitter, even if they don't do much | |||
13:54
iblechbot joined
|
|||
fglock | gaal: I guess I'll use a multi sub to dispatch on $node.does | 13:56 | |
gaal | fglock: reasonable. in haskell, it'd be a pattern match which is is a similar thing. | 13:59 | |
agentzh | GC == Garbage Collection? | 14:05 | |
fglock | agentzh: yes | 14:06 | |
agentzh | fglock: how about DBC? | 14:08 | |
S04 says "C<POST> blocks are evaluated after everything else, to guarantee that even C<LEAVE> blocks can't violate DBC." | |||
what is DBC there? | |||
Database Constraints? | |||
nothingmuch | '/w 12 | 14:10 | |
fglock | maybe 'design by contract' | ||
agentzh | fglock: Hmm, very likely | 14:11 | |
nothingmuch | yes, fglock is correct | ||
PRE and POST in design by contract are hooks that validate at the start/end of methods (and in Perl 6 any blocks) that the input and output are correct | |||
ideally DBC involves exporting a "contract" of declarative constraints | |||
which are then used to generate the pre/post hooks during development | 14:12 | ||
agentzh | aye | ||
nothingmuch | the point is that PRE/POST run at the very ends | ||
since enter/leave may affect the predicate in e.g. PRE and POST which verifies that this block can be invoked or was did what it was supposed to do | 14:13 | ||
agentzh | if it was not supposed to do, an exception is thrown, right? | ||
* if it is not what supposed to do | 14:15 | ||
agentzh is making a patch to S04... | 14:17 | ||
fglock | I'm making the directory tree for p6-on-p6 - I've got Grammar/ for the parser, Emitter/ for the code generator; what would be a good name for a place to put optimizers and other ast transformations? | 14:19 | |
[particle] | Optimizer/ | 14:20 | |
14:20
f0rth joined
|
|||
fglock | thanks :) | 14:20 | |
[particle] | why don't you call the passer dir Parser/ ? | ||
14:21
vel joined
|
|||
fglock | it's called Grammar in the other compilers, so I'm just reusing the name | 14:21 | |
agentzh | what will happen to "print if $foo" if there's a user-defined prefix:<if>? | ||
[particle] | the result of C<if $foo> will be printed | 14:23 | |
(i expect) | |||
fglock | the problem is that 'if' is a valid 'expression terminator' | ||
[particle] | fglock: that's what's confused me so far... the grammar is just an input format/file | ||
fglock: the parser applies the grammar to the input stream | 14:24 | ||
agentzh | [particle]: currently S04 claims that it's a syntax error and i think it's odd too. | ||
[particle] | agentzh: the best way to find out is to write a test :) | 14:25 | |
agentzh | :) | ||
will do | |||
fglock | agentzh: also, what happens if you define prefix:<;> ? | 14:26 | |
agentzh | fglock: wow, that's really scary. testing... | 14:27 | |
[particle] | what is ; defined as... term? | ||
fglock | ';' can be a parameter that you pass to the expression parser, that tells it what it should expect to end the expression | 14:29 | |
agentzh | proto prefix:<if> ($arg) { say $args; } | 14:30 | |
does it look sane? | |||
i got syntax error when using pugs | |||
[particle] | $arg => $args | ||
agentzh | okay | 14:31 | |
but still the same error... | |||
*** | |||
unexpected "{" | |||
expecting comment, operator, ":", ",", postfix conditional, postfix loop, po | |||
stfix iteration, ";" or end of input | |||
at test.p6 line 3, column 26 | |||
fglock | [particle]: I think it is more like 'the compiler applies the grammar to the input stream' - the 'compiler' is the front-end program to the other modules | ||
[particle] | the parser loads the grammar and extracts data from the input stream | 14:32 | |
fglock | mm, the Grammar directory only contains grammars anyway | 14:34 | |
agentzh | I second [particle]'s opinion, Parser/ sounds better than Grammar/ | 14:35 | |
[particle] | fglock: well, then that does sound appropriate | ||
if it contains grammar files | |||
there should be a module called Parser, which does the grammar loading and input processing | 14:36 | ||
agentzh | i'm wondering if pugs supports operator overloading... | ||
14:36
scw_ joined
|
|||
agentzh gives up | 14:38 | ||
audreyt | ?eval sub infix:<+> (Str $x, Str $y) { $x ~ $y }; "jifty " + "RHOX" | 14:41 | |
oy | |||
agentzh | audreyt: s/sub/proto/? | ||
nothingmuch | gaal: 21:50 or 22:50 ? | ||
(arrival at train station) | 14:42 | ||
audreyt | s/sub/mult/ | ||
if you want other + to still work | |||
14:42
amnesiac joined
|
|||
agentzh | audreyt: S03 makes use of the "proto prefix:<...>" syntax | 14:42 | |
audreyt | agentzh: proto is the prototype of multis | ||
you declare a proto once | |||
then you amend it with multis | |||
14:42
evalbot_11793 joined
14:43
cjeris joined
|
|||
agentzh | audreyt: gotcha | 14:43 | |
14:43
svnbot6 joined,
glasser joined
|
|||
audreyt | ?eval infix:<+> (Str $x, Str $y) { $x ~ $y }; "jifty " + "RHOX" | 14:43 | |
evalbot_11793 | Error: unexpected "$" expecting comment, "(", ":", operator or ")" | ||
audreyt | ?eval multi infix:<+> (Str $x, Str $y) { $x ~ $y }; "jifty " + "RHOX" | ||
evalbot_11793 | "jifty RHOX" | ||
audreyt | there we go. | ||
?eval multi infix:<CONCAT_WITH> (Str $x, Str $y) { $x ~ $y }; "jifty " CONCAT_WITH "RHOX" | |||
evalbot_11793 | "jifty RHOX" | ||
audreyt | as you can see, perl6 doesn't merely have "operator overloading" | 14:44 | |
but actually you can throw random operators at it. | |||
agentzh | but why can't pugs even recognize "proto prefix:<->"? | ||
audreyt: yes, i've just defined a "foo" prefix operator. :=) | |||
audreyt | because you didn't write a test for it :) | 14:45 | |
[particle] | ?eval multi infix:<super cool> (Str $x, Str $y) { $x ~ $y }; "jifty " super cool "RHOX" | ||
evalbot_11793 | "jifty RHOX" | ||
[particle] | ooh, embedded whitespace in ops. that's fun! | ||
agentzh | yes! | ||
audreyt | [particle]: perfect for DSLs | ||
agentzh: write a test for proto_subs.t in t/subroutines? | |||
if it's not tested, it doesn't happen :) | 14:46 | ||
agentzh | ?eval multi prefix:<if> ($args) { say @arg; } | ||
evalbot_11793 | undef | ||
agentzh | oops | ||
audreyt | (see multi_subs.t in t/subroutines/ for how to write it) | ||
svnbot6 | r11794 | fglock++ | v6-Compiler - added HACKING file | ||
agentzh | ?eval multi prefix:<if> ($arg) { say $arg }; print if 123; | 14:47 | |
evalbot_11793 | OUTPUT[123 1] Bool::True | ||
agentzh | audreyt: okay | ||
?eval print if 123; | |||
evalbot_11793 | OUTPUT[] Bool::True | ||
audreyt | the ?eval doesn't carry context | ||
from one line to another | |||
agentzh | audreyt: is it a bug? | ||
audreyt | no | 14:48 | |
fglock | audreyt: would you comment on what I currently have in v6-Compiler? it's mostly an empty framework, to be filled-in | ||
audreyt | if it preserves context from line to line | ||
amnesiac lurks | |||
audreyt | it will turn into a MUD, or a MOO, of some kind | ||
nothingmuch | audreyt: when is/was your talk? | ||
agentzh | S04 claims that "print if 123" will be a syntax error if there's a prefix:<if> defined by the user | ||
audreyt | nothingmuch: in 6 hours | ||
so I actually need to shut network down and work on it | |||
agentzh: test that too | |||
and link to the spec using L<> syntax | |||
(see other tests for now) | |||
s/now/how/ | |||
agentzh | will do | 14:49 | |
audreyt | yay | ||
agentzh++ | |||
agentzh | :) | ||
nothingmuch | audreyt: 6 hours? that's forever ;-) | ||
audreyt | fglock: I think it's sane. I also agree that having it run from end-to-end in both Hs and P5 is important | ||
fglock: because then both can migrate piecemeal into it | 14:50 | ||
nothingmuch | good luck! | ||
audreyt | collaborative de-scaffolding | ||
fglock | audreyt: yes - and Parrot too :) | ||
audreyt | well, yeah, but someone needs to work out MMD and metaobject protocol for Parrot before that can happen | ||
audreyt looks at [particle] :) | 14:51 | ||
[particle] looks around | |||
[particle] has nowhere to hide | |||
fglock | audreyt: we could write the libs in Perl6 and emit to Parrot | ||
[particle] | audreyt: the discussions have started (sunday at pre-oscon parrot hackathon) | ||
xinming | audreyt, hmm, (a => 'a') is this valid? | ||
audreyt | fglock: sure, it's already done that way in pugs -CPIR | ||
xinming: yes | |||
xinming | audreyt, since a isn't quoted. | 14:52 | |
audreyt, hmm, is '=>' an infix? | |||
fglock | so we could just reuse the pugs-emitted libs | ||
xerox | audreyt: the slides are great :) | ||
fglock | for the bootstrap | ||
audreyt | fglock: but the emitted PIR still has to somehow to MMD | ||
and somehow observe the .meta protocol | |||
otherwise you don't have a target to emit to | |||
i.e. it's the equivalent to Sub::Multi and Class::MOP layer that v6.pm uses in its targetting | 14:53 | ||
otherwise we're stuck in perl4 level emitting | |||
the same situation as the current pugs -CPIR is in | |||
TreyHarris | agentzh: to return to the question you asked which was never answered (what should failure to meet DBC criteria do, throw an exception?): the usual answer is "yes, when developing and testing, but you can usually disable DBC assertions completely when running in prod, since they're supposed to be complete and thus are often quite expensive" | ||
audreyt | in any case... I'll be back and around more after my talk :) | 14:54 | |
xerox: ooh thanks :D | |||
*wave* & | |||
TreyHarris | audreyt: good luck! | ||
xinming | audreyt, bye. :-) | ||
fglock | lunch & | ||
audreyt | fglock: (but I agree we should use gaal+'s work to make the PIR emitter and AST available to P6) | ||
(and emit whatever we can to PIR that way) | 14:55 | ||
amnesiac | PEER and ASST | 14:57 | |
agentzh | xinming: the left side of => gets auto-quote according to S02 or S03. | ||
*autoquoted | |||
xinming | agentzh, Ok, thanks | ||
agentzh | ...if the LHS of => is a bare word | 14:58 | |
xinming: np :) | |||
15:02
stephanepayrard_ joined,
justatheory joined
|
|||
pasteling | "agentzh" at 221.208.173.84 pasted "Here's my patch to S04. Please do some sanity check before I sent it to p6-l" (199 lines, 8.7K) at sial.org/pbot/18632 | 15:02 | |
agentzh | oops! s/sent/send/ | 15:03 | |
cjeris | agentzh: 150, 821, 876, 899 appear to contain fresh typos - dropped out words? | 15:06 | |
agentzh | cjeris: looking... | ||
oh, that's my bad... | 15:07 | ||
cjeris: thanks for pointing them out. | |||
cjeris | np | 15:08 | |
nothingmuch | clkao: are you awesome? | 15:15 | |
TreyHarris | nothingmuch: isn't that the sort of determination that's usually made extrinsically? | 15:18 | |
nothingmuch | TreyHarris: i'm entrapping himn | ||
if he says no i can give him a way to be awesome | 15:19 | ||
and if he says yes then he has to show me how | |||
and in both ways i get the same benefit | |||
TreyHarris | ah, and if he says "i don't know, you tell me?" | ||
nothingmuch | then i give him two options | ||
=) | |||
regardless of the current state if he does what I want he will become awesome, and if he doesn't he will lose awesomeness | 15:20 | ||
so ... =) | |||
but sshhh, don't tell him, i want him to fall for it | |||
gaal | nothingmuch: the earilier one is better for me, if ok with you | ||
nothingmuch | gaal: yes | 15:21 | |
oh btw | |||
gaal | groovy. | ||
nothingmuch | i crashed my puter | ||
and lost the bus number | |||
gaal | from hashalom, 63. from merkaz, 5, 18, 61, 62 | 15:22 | |
agentzh finds making patches very difficult | 15:23 | ||
gaal | agentzh: technically? just vi away, then do 'svk diff' | ||
or do you mean editing specs is hard? | |||
of course it is :) | |||
bbiab& | 15:24 | ||
15:28
arguile joined
15:29
agentzh joined
|
|||
agentzh | www.pandorabots.com/pandora/talk?bo...d97e345aa1 | 15:29 | |
lambdabot | Title: A. L. I. C. E. The Artificial Linguistic Internet Computer Entity - chatbot - ch ... | ||
agentzh | maybe we should bind this alicebot to our perl6faqbot in the future | 15:30 | |
that will be damn cool | |||
there's even a perl version of alicebot which is free of charge. | 15:31 | ||
15:32
kanru joined
15:42
thepler joined
15:47
Jedai joined
|
|||
pasteling | "agentzh" at 221.208.173.84 pasted "Modified version of the previous patch for S04. Thanks cjeris for pointing out my stupid mistakes. I was using "substitution" when searching texts in my editor." (176 lines, 7.9K) at sial.org/pbot/18634 | 15:55 | |
agentzh | i've double checked this one. hopefully there will be a powerful Synopses parser soon. :) | 15:56 | |
editing synopses is much much harder than writing code. :( | 15:57 | ||
cjeris | agentzh: 521 you lost the sentence merge, 23 s/is a matter of/are a matter of/ | ||
agentzh | looking... | ||
cjeris: is "are" okay there? | 15:58 | ||
cjeris: "... are a..." seems odd | |||
cjeris | agentzh: right, "are matters of". | 15:59 | |
agentzh | okay | ||
applying... | |||
applied | 16:00 | ||
agentzh sees why small patches are usually preferred over large ones | 16:01 | ||
16:05
mako132_ joined
16:11
daxim joined
|
|||
agentzh | ?eval multi prefix:<foo> ($arg) { say "Foolish $arg!" } print foo 'agent' | 16:11 | |
16:11
evalbot_11793 is now known as evalbot_11794
|
|||
evalbot_11794 | OUTPUT[Foolish agent! 1] Bool::True | 16:11 | |
agentzh | ?eval proto prefix:<foo> ($arg) { say "Foolish $arg!" } print foo 'agent' | 16:12 | |
evalbot_11794 | Error: unexpected "{" expecting comment, operator, ":", ",", postfix conditional, postfix loop, postfix iteration, ";" or end of input | ||
agentzh | so this is a bug | ||
[particle] | that proto isn't recognized? | ||
is that the bug you mean? | |||
agentzh | yeah | ||
proto definitions don't even compile | 16:13 | ||
audreyt said that's because there're no corresponding tests for that | |||
[particle] | strange | 16:14 | |
?eval proto postcircumfix:<foo> () {...} | |||
evalbot_11794 | Error: unexpected "{" expecting comment, operator, ":", ",", postfix conditional, postfix loop, postfix iteration, ";" or end of input | ||
[particle] | so it seems | ||
agentzh | i'd try to add some tests to the pugs tree | ||
?eval proto abc() {...} | 16:15 | ||
evalbot_11794 | Error: unexpected "{" expecting comment, operator, ":", ",", postfix conditional, postfix loop, postfix iteration, ";" or end of input | ||
gaal | mooooooooooooooose. | 16:17 | |
16:17
iblechbot joined
|
|||
agentzh | excuse me, how can i run a specific portion of the pugs test suit? | 16:17 | |
gaal | agentzh: use 'prove': | 16:18 | |
export HARNESS_PERL=./pugs | |||
export PERL6LIB=blib6/lib | |||
prove t/some/section | |||
agentzh | gaal: oh, that's it! thanks for reminding | ||
gaal | sure thing. if you like you can also use the yaml harness on specific parts. | 16:19 | |
daxim | I've installed the fedora rpms for hs-plugins, c2hs, cpphs, DrIFT and greencard on suse10 | ||
hopefully it doesn't crap out | |||
gaal | none of these things is required for pugs | ||
though hs-plugins gives you a limited eval :lang<haskell> | 16:20 | ||
16:20
chris2 joined
|
|||
gaal | and DrIFT lets you help us hack :) | 16:20 | |
daxim | doesn't matter, if it doesn't work, I can remove the packages cleanly | ||
gaal | actually to use drift you don't need it installed | 16:21 | |
you need it as a sister directory to pugs. | |||
daxim | is that documented somewhere? | 16:22 | |
gaal | daxim: it's for developers only, so not really | 16:23 | |
drift is only used to generate some files, but typical users simply get the ones drifters create for them. | 16:24 | ||
daxim | aha | ||
16:24
Aankhen`` joined
|
|||
gaal | but if you're interested: untar the drift source and rename it to 'DrIFT' (no version number) | 16:24 | |
so standing in the pugs working dir, ../DrIFT/src is the good stuff. | 16:25 | ||
then run util/claim-drift.pl | |||
and then you can generate instances (Instance.hs files) yourself. | |||
once again, only needed if you're into metaprogramming. | |||
agentzh | it seems to me that pugs' test suit is rather incomplete. :( | 16:26 | |
so it's a very good chance to contribute. ;-) | 16:27 | ||
gaal | agentzh: it'll need to double, at least | ||
indeed :) | |||
agentzh | i'd like to try to double it in the next month or two. :=) | ||
gaal | :index intersperse | 16:28 | |
@index intersperse | |||
lambdabot | Data.List | ||
16:37
marmic joined
16:39
miyagawa joined
16:43
swaroop joined
16:44
justatheory joined
|
|||
svnbot6 | r11795 | agentz++ | [t/subroutines/multi_sub.t] | 16:47 | |
r11795 | agentz++ | added tests for "proto" definitions | |||
16:50
dduncan joined
16:52
justatheory joined
16:53
rodi joined
17:00
cognominal joined,
justatheory joined
|
|||
svnbot6 | r11796 | agentz++ | [t/subroutines/multi_sub.t] | 17:05 | |
r11796 | agentz++ | more links to the Synopses | |||
17:08
nothingmuch_ joined
|
|||
nothingmuch_ | gaal: problem | 17:08 | |
my dad and I had a communication breakdown | |||
he offerred to drive me | |||
but misunderstood the hour | |||
and i've now missed my bus | |||
so i have to take the 22:50 one | |||
but i'll take a cab so i arrive earlier | |||
17:10
nothingmuch joined
|
|||
nothingmuch_ | ? | 17:11 | |
17:11
Termy joined,
nothingmuch joined
|
|||
nothingmuch | audreyt: ? | 17:12 | |
err | 17:13 | ||
gaal: ? | |||
gaal | hullo | ||
nothingmuch | is that ok? | ||
gaal | cab from the station? let me find a number for you | ||
sure it's okay :) sorry it didn't go smoother | 17:14 | ||
nothingmuch | should i just find one on the street | ||
gaal | that works too, but if you get tired of waiting why not have one handy: 03-6993322 or 03-5283131 | 17:15 | |
probably you can get one on the street in no time though | |||
nothingmuch | gaal: because my phone really really sucks =) | ||
anymoose | |||
gaal | see /msg | 17:16 | |
17:16
nelt joined
17:17
hexmode joined
17:18
stevan joined
|
|||
gaal | okay why is this a parse error? PosClass 17 [42] "Moose" | 17:18 | |
PosClass is in scope | |||
svnbot6 | r11797 | audreyt++ | * multi_sub.t: avoid duplicate function name "foo" | 17:19 | |
audreyt | because it's typeclass used as constructor? | ||
gaal | nope, it's a constructor | ||
misc/pX/gaal/SimpleMod.hs | |||
audreyt | it compiles for me | 17:20 | |
gaal | with a stupid name, but still :) | ||
I'm hacking it | |||
audreyt | moose = PosClass 17 [42] "Moose" | ||
worksforme | |||
gaal | don't want to commit yet becuase it'll btb | ||
audreyt | did you give it a name? | ||
gaal | putStrLn $ asPerl6Object $ PosClass 17 [42] "Moose" | ||
audreyt | is asPerl6Object in scope? :) | 17:21 | |
gaal | asPerl6Object :: a -> String | ||
yes. | |||
audreyt | main :: IO () | ||
main = putStrLn $ asPerl6Object $ PosClass 17 [42] "Moose" | |||
asPerl6Object :: a -> String | |||
asPerl6Object = const "moose" | |||
worksfomre | |||
gaal | I've changed it since.. sec, let me put up a patch. | ||
17:22
justatheory joined
|
|||
audreyt | actually, I need to go back to slides :) | 17:22 | |
svnbot6 | r11798 | audreyt++ | * Pugs.Parser: parse for "proto". For now it just means "sub" | ||
r11798 | audreyt++ | until we switch to CapInternals. | |||
r11798 | audreyt++ | multi_sub.t now passes again. (agentzh++) | |||
gaal | don't you have a talk to give? | ||
audreyt | agentzh: your new tests now pass | ||
gaal | heh | ||
agentzh | gaal: (!) | ||
apparently i need to roll more. :=) | 17:23 | ||
gaal++ gaal++ gaal++ | |||
gaal | why's everybody confusing me with audreyt today? | ||
I'm not that smart :) | |||
agentzh | yes, you are | 17:24 | |
gaal | agentzh: it's audreyt who consumed all your tests :) | ||
agentzh | really? | ||
agentzh backlogs | |||
gaal | look: 20:22 < svnbot6> r11798 | audreyt++ | multi_sub.t now passes again. (agentzh++) | 17:25 | |
agentzh | sorry, my mistake. ;-) | ||
audreyt++ | |||
Dr_Pi | If I want to test t/perl5/method.t by itself, do I just type pugs method.t? | 17:27 | |
17:27
bradleym joined
|
|||
gaal | multi &postfix:<++> (Gaal $moose) { $audreyt++ } # runs into the mutability of ++ problem | 17:27 | |
agentzh | agentzh: use 'prove': | 17:28 | |
export HARNESS_PERL=./pugs | |||
export PERL6LIB=blib6/lib | |||
prove t/some/section | |||
Dr_Pi: see above | |||
gaal | audreyt: if you get a minute, perlcabal.org/~gaal/tmp/weird.patch | 17:29 | |
agentzh | Dr_Pi: but i think ``pugs t/some/test.t'' is also okay | ||
17:29
Steve_p joined
|
|||
gaal | but after drifting SimpleMod.Instances, you need to manually insert 'import Data.List' into it | 17:29 | |
...I didn't want to add that to drift.pl just yet | 17:30 | ||
anyway, we're one likely-silly hurdle away from duming simple but arbitrary Hs data as P6 objects :-) | 17:32 | ||
Dr_Pi: yes pugs t.t is okay, if a little verbose and w/o nice summary line at the end. | 17:34 | ||
17:37
aufrank joined
17:41
mako132_ joined
|
|||
agentzh | true | 17:41 | |
17:41
bernhard joined
|
|||
agentzh | oh, no... | 17:42 | |
perl Makefile.PL segfaults at "Writing Makefile for WTemplate" | |||
17:43
elmex joined
|
|||
agentzh | i think i saw the same problem days before | 17:43 | |
any idea? | |||
gaal | ahh! solved my weird problem | 17:44 | |
agentzh | gaal: congrats | ||
gaal | heh. i forgot the function name - had only the signature | 17:45 | |
ghc gave a confusing error | |||
aufrank | is any of us #perl6 folk from chicago? | ||
agentzh | oh, my problem has also got solved. | ||
gaal | hmm, agentzh, I didn't see that segfault, how was it fixed? | 17:46 | |
agentzh | it just took minutes to finish | ||
weird | |||
gaal: i got an error while making | 17:47 | ||
pasteling | "agentzh" at 221.208.173.84 pasted "Win32 building failure" (40 lines, 1.3K) at sial.org/pbot/18638 | 17:48 | |
17:48
nothingmuch joined
|
|||
gaal | whee, dumping of positionals works | 17:48 | |
agentzh: hmm, that's new | 17:49 | ||
agentzh | i was using "nmake unoptimized" | ||
i'm now trying normal "nmake" | |||
to see if the problem will go away | 17:50 | ||
nope, it's the same error. :( | |||
gaal | sorry for the lame suggestion, but make clean and start again? | 17:51 | |
agentzh | i've already performed "nmake realclean" | ||
17:51
justatheory joined
|
|||
agentzh curses Win32 | 17:52 | ||
17:53
ruoso joined
|
|||
agentzh | even "realclean" has errors. alas. | 17:53 | |
gaal | looks like something is closing your stdio, but I've no idea what it can be | 17:54 | |
pasteling | "agentzh" at 221.208.173.84 pasted "Errors when performing "nmake realclean" on Win32" (9 lines, 436B) at sial.org/pbot/18639 | ||
17:55
larsen joined
|
|||
gaal | urp?? | 17:55 | |
agentzh | it's really really annoying... | ||
gaal | you can always make a clean co... | 17:56 | |
agentzh is sad. | |||
?eval proto prefix:<foo> ($arg) { $arg+1 } print foo 3 | 17:57 | ||
17:57
evalbot_11794 is now known as evalbot_11798
|
|||
evalbot_11798 | OUTPUT[4] Bool::True | 17:57 | |
agentzh | yay! i can always use evalbot | ||
although i cannot use it to run pugs' test suit | 17:58 | ||
thanks audreyt++ for adding "proto" support to pugs | |||
audreyt | draft #2 up | 17:59 | |
50% finished! | |||
(2hr to go) | |||
# pugs.blogs.com/oscon-rhox-draft.pdf | |||
agentzh | audreyt: go ahead! | ||
xerox | New slides? | 18:00 | |
audreyt | xerox: yeah | 18:01 | |
populated with code for the first half | |||
xerox | audreyt++ | ||
audreyt | now working on second half | ||
feedback welcome | |||
xerox | It's so unfortunate that the talks aren't put online afterwards... | ||
audreyt | you mean video? | ||
xerox | Yep! | ||
agentzh looks at the Pugs Janitor Tasks posted by audreyt++ | 18:02 | ||
well, anyway, end of day for me & | |||
audreyt | agentzh++ # good night | ||
agentzh | audreyt: night | 18:03 | |
gaal | audreyt: good luck with the talk! | ||
audreyt | thanks! (I'll need it) | ||
18:05
salty-horse joined
18:08
thepler joined
|
|||
lumi | audreyt: slide 74, s/do/does/ | 18:12 | |
TimToady | audreyt: 117 ~~ s/Hoes/How/ | 18:13 | |
wolverian | heh | 18:15 | |
lumi | audreyt: 79 s/Hoes/How/ | ||
In fact, s/Hoes/How/g might be appropriate.. | |||
audreyt | did that | ||
where is the "do"? | |||
lumi | "Which users do this change affect?" | 18:16 | |
audreyt | k, changed to "Which users does this affect?" | ||
gaal | firefox is a lousy wget | 18:17 | |
wolverian | audreyt, what's with the /=/, by the way? | ||
audreyt | I started this slides to show "useful utilities" | ||
but it seems to become more and more Damianesque | |||
"bend perl to evil purposes" | |||
wolverian: /=/ is going to be Jifty's .meta URI space | 18:18 | ||
all reflections go there | |||
wolverian | ah. nice | ||
jifty is rails2 :) | |||
audreyt | mm rails6 | ||
by yeah, obra was heavily inspired by DHH | |||
because last year's oscon DHH said "only ruby can create mini languages like this" | 18:19 | ||
and obra was like, "sir, I accept the challenge" | |||
...and the rest is jifty | |||
wolverian | so the reflection api is completely automatic? | 18:20 | |
lumi | Are slide 99 and 100 identical? | ||
Or better, last two phases of slide 41 | 18:21 | ||
audreyt | might be, that's fine | ||
extra newline | |||
fixed, thanks | |||
wolverian: yes. | |||
wolverian: thanks to Class::MOP and friends | |||
"Perl 6 Now" etc :) | 18:22 | ||
wolverian | yummy | 18:23 | |
hey! where's XML::All? :) | 18:28 | ||
audreyt | in the kwiki.org svn repo | ||
not ready for prime time | |||
not enough tests | |||
will release after the talk | |||
wolverian | ah, ok | ||
audreyt | relatively mundane, too, compared to the XML::Literal magic | 18:29 | |
(it's in svn.kwiki.org/audreyt) | |||
lambdabot | Title: Revision 137: / | ||
wolverian | no moose? the world is ending! | 18:30 | |
audreyt | hmm? | 18:31 | |
XML::All doesn't use moose | |||
it's not an object | |||
it's a inside-out katamari | |||
wolverian | that's a very apt name | ||
audreyt++ # crazy hacking | |||
audreyt | another of those "overload everything" things (see also Scalar::Defer) | ||
I blame TimToady, actually | 18:32 | ||
it was Capture implemented in Perl5 | |||
gaal | does order of overloading everything matter? | ||
audreyt | Capture was meant to be used like that | ||
gaal: no | |||
FurnaceBoy | TT has a lot to answer for | 18:35 | |
gaal | what is ......? | 18:36 | |
ugh, that didn't paste well did it | |||
audreyt | chinese in the slides are for flavour | ||
gaal | the han in user 1 | ||
audreyt | "System Admin" | ||
18:37
thepler joined,
xdg joined,
stephanepayrard_ joined
|
|||
gaal | audreyt: the GET for actions as in slide 44 is demo data? | 18:38 | |
audreyt | surely | ||
the full schema is much, much, much larger. | 18:39 | ||
anything wrong with the data? | |||
obra | hi | ||
gaal | no; just wondering where you store the schematic metadata | ||
audreyt | hi obra | ||
gaal | of the demo | ||
hey obra | |||
18:40
justatheory joined
|
|||
audreyt | only 7 slides to go | 18:40 | |
obra | audreyt: nice | ||
audreyt | gaal: oh, it's all in RPS::Model | ||
I just commented out some "column" | |||
and then it became smaller | |||
xdg | audreyt: I like how you're doing near-real time blogging of your slide progress. :) | ||
audreyt | all the rows still work | ||
xdg: :D | |||
xdg: Class::InsideOut rocks | |||
I use it for all my katamaris | |||
xdg | Thanks. | ||
audreyt | xdg: Scalar::Defer wouldn't be possible without it | ||
xdg | I figured it out when I got my CPANTS is_prereq point | 18:41 | |
gaal | xdg, hi :) | ||
audreyt | xdg: I have a patch for Data::Dum::Streamer | ||
remind me after my talk | |||
xdg | audreyt: for DDS? Or for C::IO to support DDS? | ||
audreyt | CIO on DDS | ||
xdg | Cool. | ||
audreyt | it's handcoded currently for Pugs::Runtime::Match | ||
xdg | It almost went into 1.00 but dmq still has some singleton issues | ||
audreyt | (which is also C::IO) | ||
gaal | ooh, cool zshlike paths on 46 | 18:42 | |
audreyt | oh! so you have some protocode already? | ||
send it to me :) | |||
xdg | I've got half a patch in an svn branch somewhere I think | ||
audreyt | ok. please dig it out | ||
and I'll see if I can merge | |||
because YAML::syck will also support DDS_freeze | |||
xdg checks repository... | |||
audreyt | (the 1st and 3rd arg) | ||
I want my katamaris be YAMLable and JSONable :) | |||
xdg | dagolden.com/svn/public/CPAN/Class-...S-support/ | ||
lambdabot | Title: Revision 664: /CPAN/Class-InsideOut/branches/DDS-support | ||
audreyt | danke | 18:43 | |
audreyt goes back to slides | |||
xdg | gaal: hi! | ||
btw, I'm looking for win32 compiler experts to help Vanilla/Strawberry | |||
audreyt: good luck! | |||
18:44
hcarty joined
|
|||
audreyt | thanks! | 18:45 | |
18:45
Termy joined
18:47
b_jonas joined
|
|||
spinclad | my gv doesn't always like this pdf; i often have to hit 'stop interpreter' | 18:47 | |
wolverian | evince works nicely here (libpoppler) | 18:48 | |
[particle] | katamari? | ||
18:48
thepler joined
|
|||
[particle] was hoping for a factoid | 18:48 | ||
wolverian | [particle], en.wikipedia.org/wiki/Katamari#Controls | 18:49 | |
the second paragraph on that page explains the katamari better, I guess | |||
spinclad | evince? | 18:50 | |
18:50
Eimi joined
|
|||
wolverian | spinclad, www.gnome.org/projects/evince/ | 18:50 | |
spinclad | (libpoppler?) | ||
lambdabot | Title: Evince – Simply a document viewer | ||
gaal | spinclad: fwiw my acroread doesn't love it either... | ||
wolverian | spinclad, libpoppler is the backend library, forked from xpdf | 18:51 | |
xdg | audreyt: should I forward email trail between me and dmq on DDS? | ||
audreyt | sure | ||
wolverian | haskell papers need syntax colouring | ||
spinclad | 141: reminds me a bit of a neolithic madonna | 18:53 | |
wait, how did TimToady2 get into this? | 18:57 | ||
wolverian | how many timtoadies do we have? | ||
spinclad | (slide 169) | 18:58 | |
wolverian | oh ;) | ||
spinclad | 177 == 178 (but fillin not reached here yet, i guess) | 18:59 | |
shiny! | 19:03 | ||
19:06
vel joined
|
|||
audreyt | 4 slides to go... | 19:08 | |
obra | audreyt++ | 19:09 | |
19:10
dolmen joined
|
|||
gaal | wtf? instance (PLit a) => PLit (Eval a) where plShow (Eval x) = plShow x | 19:11 | |
Expecting a function type, but found `[Char]' | |||
Expected type: a -> b, Inferred type: String | 19:12 | ||
In the second argument of `(.)', namely `plShow x' | |||
(.) ? | |||
I have the (bogus) data Eval a = Eval a | |||
[particle] | plShow (x) ?? | ||
audreyt | what's signature of plShow? | ||
gaal | could it be confusing constructir? | ||
class PLit where plShow :: a -> String | 19:13 | ||
class Show a => PLit a, more precisely. | 19:14 | ||
[particle]: nah! | |||
[particle] | gaal: i know less haskell than i do apl | 19:18 | |
19:18
beppu joined
|
|||
gaal | [particle]: the one thing you should know is that they like functions as much as they like golf. no parens for function application! :-) | 19:20 | |
[particle] waits for a haskell grammar written in perl6 rules | 19:21 | ||
gaal | okay, the crazy hypothesis that ghc was mixing up datatype with constructor is falsified; changing to data Eval a = UEval a the problem persists. | ||
[particle]: much, much easier than a perl6 grammar in Parsec | |||
[particle] dreams about compiling haskell down to javascript | |||
19:22
tup joined
|
|||
[particle] | *ahem* | 19:22 | |
gaal contemplates writing Paddock, a haskell documentor that isn't broken for all those ghc extensions | |||
wolverian | heh | ||
gaal | so this is seriously weird, but I think audrey will give a talk and nothingmuch and I will meet and have sushi before this is fixed. | 19:23 | |
19:24
bobuntu joined
19:25
dduncan joined
|
|||
spinclad | wolverian++ # evince | 19:25 | |
wolverian | :) | ||
spinclad | tho i still get a few black bars for some of the graphix | 19:26 | |
but so much nicer to actually see most of it | |||
wolverian | hm, graphics are fine here | 19:28 | |
gaal | nothingmuch sends all of you his love. | ||
bbl & | 19:29 | ||
spinclad | slides 7 and 8 (Erdo''sing 2 and 3) here | ||
all the rest are fine | 19:32 | ||
obra | audreyt: when are you headed to the conf center? | 19:33 | |
wolverian checks | |||
work here | |||
(big pictures of $! and $Job, respectively)( | |||
s,\(,, | |||
aufrank | audreyt: are -- comments parsed in the jifty schemas, or are those presentation-only comments? | 19:37 | |
wolverian | I _knew_ there was something weird there. didn't realise it's s,#,--, :) | 19:38 | |
aufrank | yeah, it's haskell comment syntax | ||
well, one of the haskell comment syntaxes anyway | |||
audreyt | actually those are SQL | 19:40 | |
comments | |||
obra: going there in 20 mins | |||
wolverian | sql has comments? ... wow. | 19:41 | |
audreyt | and it's done! | ||
pugs.blogs.com/talks/oscon-rhox.pdf | |||
aufrank | audreyt++ | ||
wolverian | congrats :) | ||
audreyt | feedback still welcome | ||
I can fix my atalk during obra's jifty talk :) | |||
(same room, immediately before me) | |||
aufrank | yeah, he just ditched me in #jifty to go give a talk. the nerve of some people ;) | ||
19:46
coumbes joined
19:47
aufrank joined
|
|||
dduncan | hello audreyt | 19:47 | |
19:49
hcarty left
|
|||
spinclad | odd that a number of the graphix (the magic cards and the IBM logo) extend downward, mirrored | 19:49 | |
not a bad effect | 19:50 | ||
dduncan | to you and anyone else intetested ... | ||
'm writing this to let you know that I've organized a discussion about the semantic web and related topics in the OSCAMP room (E146) today that starts about when your Web 2.0 talk ends and goes until at least 5:00. | |||
look forward to meeting | 19:51 | ||
er, people at oscon that is | |||
oh, I'm looking at your pdf now ... | 19:55 | ||
19:56
cognominal joined
|
|||
TreyHarris | probably a stupid question, but what is "erdosing"? (sorry, still haven't figured out how to type accented characters in irssi) | 19:58 | |
dduncan | also, please check and/or reply by email if I"m signed off ... back in a bit | 19:59 | |
wolverian | TreyHarris, en.wikipedia.org/wiki/Erdos#Biography (third paragraph) | ||
TreyHarris | wolverian: thanks. of course i've heard of Erdos, but I didn't know he had been verbed :-) | 20:01 | |
I also wasn't aware of his itinerantism | |||
spinclad | on 186, surely C<<$item->name>> and C<<$item->description>>, not C<$collection> ? | 20:06 | |
audreyt: ^ | |||
20:06
Eimi left
|
|||
aufrank | audreyt: slide 130: print $$xml #a | 20:07 | |
why is that #a? | |||
I would have guessed #23 | |||
whoops # 123 | 20:08 | ||
I guess it prints the type of element ($xml is an anchor) | |||
20:09
lisppaste3 joined
|
|||
spinclad | audreyt++ | 20:15 | |
aufrank | audreyt++ # just finished reading the slides :) | 20:17 | |
20:19
bpphillips left
20:26
stephanepayrard_ joined
20:32
dduncan joined
|
|||
audreyt | spinclad: fixed, thanks | 20:32 | |
and yes, ${} is the tagname | |||
20:35
mako132_ joined
20:37
thepler joined,
cognominal joined
|
|||
xerox | audreyt: ping | 20:39 | |
audreyt: I spotted a `moose' in hackage.haskell.org/darcs/cabal-ser...e-index.hs so I believe you have something to do with it :-) Is it the put software? Do you know how to build it? | 20:40 | ||
audreyt | xerox: yes, but my talk is coming up in <1hr | 20:45 | |
please let's deal with this affterwards | |||
xerox | Oh sure! | 20:46 | |
gaal | moooooose | 20:47 | |
20:47
salty-horse joined
|
|||
kolibrie | yay! I'm invited to speak at Pittsburgh Perl Workshop - pghpw.org | 20:48 | |
lambdabot | Title: Pittsburgh Perl Workshop - 2006-09-23 - About | ||
gaal | whee | ||
gaal antlers | 20:49 | ||
kolibrie | now I have to make sure I know what I'm talking about | ||
gaal | a moose in cabal? couldn't be | 20:50 | |
20:50
justatheory joined
|
|||
kolibrie | gaal: }:) | 20:50 | |
wolverian | ]:) # trimmed moose | 20:51 | |
20:59
SageLT joined
|
|||
spinclad | (:E | 21:00 | |
21:05
thepler joined
|
|||
dduncan | audreyt, fyi, reinstalling svk made the pull work, so thank you for figuing that out | 21:07 | |
audreyt | dduncan: cool! | 21:08 | |
dduncan++ # it's wonderful to finally meet you in person | |||
dduncan | indeed | ||
in the interest of continuing that, I invite you to the oscamp room after your talk | |||
audreyt | yup | 21:09 | |
21:12
kanru2 joined
21:14
fglock_ joined
|
|||
kolibrie | audreyt: wow # XML::All in-place modification | 21:22 | |
audreyt | kolibrie: it's actually the easiest part | 21:24 | |
it's just XML::Twig | |||
XML::Twig is very much underappreciated :) | |||
21:25
fglock_ joined
|
|||
fglock_ | v6.pm is using too much ram again - Native.pm no longer compiles :( | 21:28 | |
kolibrie | audreyt: I'll have to look at it more closely | ||
fglock_ | circular references might be a problem with things like { return $/ does xxx } | 21:31 | |
svnbot6 | r11799 | Sage++ | Heredocs now translate (<<End -> q:to/End/ and friends). | ||
r11799 | Sage++ | All functions that need to can now handle Heredocs. | |||
r11799 | Sage++ | Some minor cleanups and revisions, mostly comments, formatting, and cleaning up the code that actually calls the parser. | |||
21:33
dduncan left
21:34
justatheory joined
|
|||
svnbot6 | r11800 | Sage++ | Major updates to the parser used by the translator: | 21:38 | |
r11800 | Sage++ | Heredocs now parse correctly. This includes the start, end, and contents. | |||
r11800 | Sage++ | Blocks with the chomp modifier (|+) now parse correctly, even inside Heredocs. | |||
r11800 | Sage++ | Between these two changes, I believe the parser can handle anything in a valid P5AST. This means the Perl 5 -> Perl 6 translator should now at least partially translate any yaml output from MAD_SKILLS. I believe the translator will now handle all of /t, but I have yet to run a full test. | |||
21:38
mako132_ joined
|
|||
wolverian | whoa! sage++ | 21:38 | |
SageLT | Been working jard. ;) | ||
*hard | |||
21:39
vel joined
|
|||
TimToady | sage += rand(100) :) | 21:43 | |
21:47
Eimi joined
|
|||
gaal | can datatypes limit members by class? data Show a => DT a = V1 a | 21:51 | |
fglock_ | I guess I'll rewrite the rule compiler to p6 instead of refactoring the current one | 21:52 | |
gaal | I'm trying to find a way to give a class constraint on polymorphic type begotten elsewhere. that isn't very clear, so: | 21:53 | |
class MyShow a where myShow :: a -> String | 21:54 | ||
21:55
Termy joined
|
|||
gaal | and also, a DrIFTed class NewClass with showElems :: NewClass a => a -> String | 21:55 | |
showElems can do for example Maybe a, as long as NewClass a, because there's an instance for Maybe | 21:56 | ||
the problem is this: | |||
I can't really drift showElems, because the various constructors it faces have fields that I have no way of associating with class MyShow | 21:57 | ||
so if I had showElems (Maybe a) = "Maybe.new(" ++ (myShow a) ++ ")" | |||
the compiler croaks with "cannot deduce MyShow a from constraint (NewClass a), (NewClass (Maybe a)) | 21:58 | ||
and it's right... | |||
but I don't see a workaround at present. | |||
now, I need myShow, because it polymorphically does things correctly on different types | 21:59 | ||
I wish there were a way to say "all types have are instances of this new class; here's the default method implementations." | 22:00 | ||
gaal falls asleep thingking of polymorphic lambdas | |||
better get myself to bed | 22:01 | ||
22:04
froh-doh joined
|
|||
nothingmuch | /w 9 | 22:12 | |
22:15
Eimi joined
22:25
mako132_ joined
22:27
Kattana joined
22:38
nelt joined
22:42
thepler joined
|
|||
clkao | seen sage | 22:48 | |
jabbot | clkao: I havn't seen sage, clkao | ||
22:50
dduncan joined
22:57
markstos joined
23:03
miyagawa joined
|
|||
clkao | whta's this proto thing about | 23:06 | |
23:14
thepler joined
|
|||
[particle] | clkao: you mean proto prefix:<foo> () { ... } | 23:25 | |
svnbot6 | r11801 | clkao++ | Parse signature term type correctly. | ||
23:26
justatheory joined,
mako132_ joined
23:28
mako132_ is now known as maco132
23:43
FurnaceBoy joined
|