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. |
|||
wolverian | www.codinghorror.com/blog/archives/000635.html interesting take on learning programming | 00:05 | |
lambdabot | Title: Coding Horror: Separating Programming Sheep from Non-Programming Goats | ||
00:11
frustrato joined
|
|||
frustrato | hi, i got a question regarding perl5-compatibility for perl6 compiler | 00:12 | |
does perl6 compile perl5 code and if yes, how does it do that? | |||
thanks | |||
wolverian | most likely by invoking perl5. | ||
(i.e. ponie) | 00:13 | ||
(perl5-on-parrot) | |||
frustrato | thank you, wolverian...so perl6 compiler itself doesn't understand perl5 code? | ||
wolverian | pugs (the current development compiler) certainly doesn't, but can invoke perl5. ponie is the official plan once we get perl6 running on parrot. | 00:14 | |
so, the answer to your question is most likely "yes". | |||
00:14
mauke_ is now known as mauke
|
|||
TreyHarris | hrm. if i leave pugs in interactive mode sitting alone, after awhile (tens of minutes to a few hours) it stops responding, spins up and eats all available CPU--so that my fan starts groaning and it's difficult to get enough responsiveness to even kill it. | 00:16 | |
wolverian | write a test? ;) | ||
TreyHarris | lol | 00:18 | |
dunno how to do that one. open the microphone and get a sample of the fan whine? :-) | |||
wolverian | I suppose people would stop running the test suite before the test actually finished... around five minutes into it or so :-) | 00:19 | |
00:20
ruoso joined
00:22
daxim_ joined
00:37
hcchien joined
01:00
hikozaemon joined
01:07
justatheory joined
01:16
mauke joined
|
|||
vsoni | seen audreyt | 01:33 | |
jabbot | vsoni: audreyt was seen 15 hours 5 minutes 43 seconds ago | ||
audreyt | vsoni: mm? | 01:35 | |
vsoni | audreyt: I will be working on | 01:36 | |
IMCC reentrancy | |||
but this will happen as small patches | |||
audreyt | that's fine | ||
obra | (small patches)++ | 01:37 | |
vsoni | audreyt what bout libpge? | ||
obra | (small patches)++ # They let you sneak in the huge new features without anyone noticing | ||
audreyt | vsoni: I think a C emitter on Pugs::Emitter::Rule::C makes sense | 01:38 | |
vsoni: but it's not pmichaud or anyone else's priority right now | |||
01:38
dolmans joined
|
|||
audreyt | vsoni: so if you'd like to champion it, or find someone who does, that'd be wonderful | 01:38 | |
but otherwise there's no movement expected on that front | |||
vsoni | audreyt: Why do we need coroutines do PGE in C....I did not get that | 01:39 | |
audreyt | vsoni: we don't | 01:42 | |
goto() would do | |||
coros are good to express backtracking | |||
but there are other ways to save state | |||
vsoni | audreyt: yep... | 01:43 | |
so is Pugs::Emitter::Rule::C going to happen? | |||
audreyt | it is, if you would like to do it, or if you find someone who does | 01:44 | |
a commit bit is on its way to you | 01:45 | ||
vsoni | audreyt: thanx | 01:49 | |
audreyt | no prob :) add yourself to AUTHORS after checking out svn.openfoundry.org/pugs/ | 01:50 | |
lambdabot | Title: Revision 11629: / | ||
audreyt | the v6.pm stuff can be found in perl5/ | ||
Arador | hey audrey, have a question: | 01:59 | |
I'm thinking about doing something on perl6, but I don't know where to start... | 02:00 | ||
audreyt | ok. what would you normally enjoy hacking? | 02:01 | |
I've been trying to find someone to work on trypugs, aka tryruby.hobix.com/ clone | |||
lambdabot | Title: try ruby! (in your browser) | ||
Arador | I usually hack either C or Perl | 02:02 | |
robkinyon | Arador: You any good with LWP-type stuff? | ||
audreyt | also svn.openfoundry.org/pugs/perl5/Pugs...l6/HACKING | 02:03 | |
also pugs.blogs.com/pugs/2006/07/pugs_janitor_ta.html | |||
robkinyon | Arador: In particular, you feel like helping me write an extension to CPAN(PLUS) to support P6's module specifications in P5? | 02:04 | |
Arador | back in a minute: you are giving me a lot of information | 02:06 | |
Audrey: try pugs sound quite feasable. Haven't programmed javascript in years, but in the netscape 4.0 time I was a kind of guru on it (frameworks have changed since though) | 02:08 | ||
audreyt | you can try coding it up in Jifty, would be fun | 02:09 | |
but any framework is fine | 02:10 | ||
it has no db/state anyway | |||
for trypugs, you'd want to harness the interactive pugs shell | |||
vsoni | audreyt: Have you checked out Google Web toolkit | ||
audreyt | using IPC::Run | ||
vsoni: yes. | |||
vsoni | aureyt: Its pretty nifty....Java to HTML and Javascript compiler | 02:11 | |
audreyt: We gotta have something like that | |||
audreyt | well, it's a pretty printer | ||
or rather, a JS DSL in Java | |||
not the entire java; a small predefined subset | |||
but I agree, we gotta have something like that | |||
Arador | robkinyon: I have limited experience with LWP, but sound posible too: written in P5? | ||
audreyt | there's already ./pugs -BJS | ||
but ./pugs -CJS needs lots of sugar and DOM bindngs | |||
vsoni | audreyt: yep | 02:12 | |
robkinyon | arador: Do you know the P6 module specs? For example, "use Foo::Bar-1.2..2.3-CPAN:RKINYON;" | ||
the goal is to support that (as well as possible) in P5 | |||
I have about 80% of the design completed, but ran into problems immediately when trying to implement on top of CPAN.pm | 02:13 | ||
now that I have a better implementation strategy, I don't have time to start | |||
Arador | robkinyon: I recognise it, bit don't really remember the details anymore (there are a lot of specs) | ||
vsoni | audreyt: other cool one I came across is zk1.sourceforge.net | ||
lambdabot | Title: ZK - Simply Rich | ||
Arador | S11 clears things up :) | 02:14 | |
vsoni | audreyt: here is the link to their demos....www.potix.com/zkdemo/userguide/ | ||
robkinyon | arador: primarily, the need is to override a few items in CPAN.pm (or CPANPLUS.pm, your choice) to provide a few overrides and a few new shell commands | ||
Arador | oh my! tryruby has almost 70 kb of javascript code | 02:15 | |
lambdabot | Title: ZK Component Demo | ||
Arador | yikes | ||
damnit, bugs! (the real live kind) | 02:22 | ||
02:26
weinig is now known as weinig|sleep
|
|||
Arador | Audrey: I think tackling pugs would be the harder part: it is not really made for web based usage | 02:30 | |
http is really a shitty protocol for these kinds of usages, AJAX and friends don't really change that... | 02:31 | ||
02:32
Sam_ joined
|
|||
audreyt | Arador: I know, you need some sort of affinity | 02:32 | |
but hey, "run a shell application remotely over the web" | 02:33 | ||
Sam_ | Hi Audrey, Can I ask you a question ? | ||
audreyt | maybe look around in CPAN or ask around if something like that exists? | ||
Arador: if not, that would be a generally useful module to have | |||
PerlJam | Sam_: you just did! | 02:34 | |
audreyt | actually it's $job. relocated to $job channel :) | ||
Arador | the main work would probably managing all the pugs shells... | 02:36 | |
usefull: yes. potentially very nasty: absolutely | 02:37 | ||
audreyt | mm. IPC::Run should make it a bit better | 02:40 | |
02:41
kanru joined
02:44
vsoni joined
|
|||
Arador | might help, but I'm not sure about the timeouts | 02:45 | |
obra | audreyt this is the thing casey was thinking about doing? | 02:46 | |
audreyt | yeah | ||
Arador | we'd need some atypical timeout behavior (instead of a fixed timeout, we constantly postpone the timeout). Not sure it can handle that cleanly | 02:47 | |
audreyt | alarm() can handle that | ||
also can fastcgi | |||
Arador | I was hoping I wouldn't need a handler process for each client, so alarm would be too crude | 02:48 | |
I'm not very familiar with fastcgi, but it sounds like an OK idea | 02:49 | ||
obra | audreyt: what about wrapping the world monad? | ||
(Buffer and replay all user input) | |||
audreyt | Arador: IPC::Run supports timeout | ||
and you can periodically reset that | |||
obra: sure. and there's even HTML::FromANSI ;) | 02:50 | ||
obra | :P | 02:51 | |
Arador | I'm going to sleep now (it's really past bed time here): good night/day/morning/whatever | 03:00 | |
I'll do my homework tomorrow ;-) | |||
and report my ideas | 03:01 | ||
03:13
hikozaemon joined
03:36
mjk joined
04:15
fglock joined
04:23
christopher joined
04:25
orafu joined
04:28
nothingmuch joined
04:31
orafu joined
05:04
iblechbot joined
05:06
unobe joined,
unobe left
05:09
nothingmuch joined,
Aankhen`` joined
05:19
tup joined
|
|||
TreyHarris | audreyt: for the past few revs, if i leave the pugs shell open, after some period of time idle (seems variable, as little as 5 minutes to as much as a few hours) pugs spins up and grabs CPU like there's no tomorrow and becomes totally unresponsive. i haven't been able to isolate it yet, because my machine nearly locks up. nicing hasn't seemed to help | 05:28 | |
audreyt | hrm | 05:29 | |
osx? | |||
with readline? | |||
TreyHarris | yeah, 10.4.7 | ||
audreyt | ppc? | ||
can you say | |||
gdb pugs | |||
run | |||
and then wait itll it hangs | |||
TreyHarris | yes, ppc. readline's been acting a little odd, sometimes i get dduplicated or dleted chars | ||
audreyt | and do a bt? | ||
TreyHarris | yes, i'll try that | 05:30 | |
audreyt | mm. gnu readline? | ||
TreyHarris | i dunno, whatever makefile.pl's discovering. lemme look | ||
audreyt | do a | ||
otool -L pugs | |||
$ otool -L pugs | grep readline /usr/local/lib/libreadline.5.0.dylib (compatibility version 5.0.0, current version 5.0.0) | 05:31 | ||
er. | |||
otool -L pugs | grep readline | |||
/usr/local/lib/libreadline.5.0.dylib (compatibility version 5.0.0, current version 5.0.0) | |||
that's what I got | |||
TreyHarris | /opt/local/lib/libreadline.5.0.dylib (compatibility version 5.0.0, current version 5.0.0) | ||
audreyt | same version as here | ||
TreyHarris | yeah, but /opt is where darwinports installs into, so you must have a different build | ||
audreyt | sure. shouldn't matter, though | 05:32 | |
I'll leave my "gdb pugs" shell hanging around for a while and see what happens | |||
TreyHarris | ok, i'll try gdb and see what i find | ||
audreyt | cool. thanks! | ||
needs to sleep now, though. bbl :) | |||
TreyHarris | sweet dreams :-) | 05:33 | |
audreyt | thanks :) | 05:34 | |
TreyHarris | hrm. how do I get back to the gdb prompt once pugs hangs? | 05:35 | |
audreyt | ^C | 05:37 | |
TreyHarris | ok, thanks | ||
audreyt | it's still failing to hang for me... | 05:38 | |
I suspect readline signal handling | |||
src/Pugs/Shell.hs line 72 was supposed to handle that | |||
Readline.setCatchSignals False | |||
but maybe it wasn't called, or something. is this ghc 6.4.1 or 6.4.2? | 05:39 | ||
TreyHarris | well, readline on the 6.2.12 binary release from unobe works great, but the last few build have caused those visual errors i mentioned | ||
6.4.1 | |||
audreyt | can you maybe check what readline the binary release links to? | 05:40 | |
TreyHarris | /usr/local/lib/libreadline.5.1.dylib (compatibility version 5.0.0, current version 5.1.0) | ||
so maybe that's the cause | 05:41 | ||
but go to bed, i'll catch you tomorrow | 05:42 | ||
audreyt | ok. try simply mv away the 5.0.dylib | 05:43 | |
and cp the 5.1 to its place | |||
and see if the problem goes away | |||
but ok. see ya tomorrow | |||
TreyHarris | thanks :-) | ||
05:50
stumbly joined
05:51
diotalevi joined
06:04
gantrixx joined
06:05
wesle1 joined
06:27
ImustDIE joined
|
|||
svnbot6 | r11630 | lwall++ | Control keywords are not functions, and it just propagates confusion | 06:37 | |
r11630 | lwall++ | to let non-functions look like functions. Space is now required after | |||
r11630 | lwall++ | if, while, unless, until, for, etc. With the exception of adverbs, a | |||
r11630 | lwall++ | postcircumfix:<( )> or anything that looks like one is now consistently | |||
r11630 | lwall++ | a function call (or a macro resembling a function call). | |||
06:43
scook0 joined
06:47
lumi joined
06:52
stumbly left
07:02
gaal joined
07:07
xinming joined
07:24
beppu joined
07:27
hcchien joined
07:32
tup joined
07:49
topa_ joined
08:24
buetow joined
08:35
drrho joined
08:44
xinming_ joined
08:50
jtextori joined
08:56
elmex joined
|
|||
clkao | is if(something) no longer worky? | 08:57 | |
wolverian | TimToady_, what is a keyword and how do I declare one? the statement grammatical category? | 09:04 | |
09:07
avarab joined
09:20
integral joined,
orafu joined
09:54
stumbly joined
09:56
penk joined
09:59
wesle1 joined
10:04
ruoso joined
10:11
integral joined
10:12
orafu joined
10:18
[particle] joined
10:44
baest joined
10:47
xdg joined
11:02
chris2 joined
11:04
shachaf joined
11:08
hugues23 joined
11:15
tifo joined
11:55
frederico joined
12:16
Jedai joined,
kanru joined
12:19
bpphillips joined
12:26
mauke_ joined
12:29
baest joined
12:40
Aankh|Clone joined
12:43
weinig|sleep is now known as weinig
12:46
mauke_ is now known as mauke
12:47
christopher joined
12:57
weinig is now known as weinig|working
13:10
Termy joined
13:14
xinming joined
13:15
szbalint joined
|
|||
[particle] | dm/SYS90 | 13:30 | |
ww | |||
13:33
Qiang joined
13:40
fglock joined
13:43
ludan joined
13:46
elmex joined
13:54
justatheory joined
13:55
stevan joined
13:59
Fawaka joined
14:01
diotalevi joined
|
|||
svnbot6 | r11631 | fglock++ | pX/fglock/PCR - pass t/05-var.t | 14:06 | |
14:18
cjeris joined
|
|||
TimToady_ | clkao: if(something) should call sub if rather than statement_control:<if>. if it's followed by a block it should be a syntax error. | 14:26 | |
woverian: yes, the statement_control category defines at least those keywords that are expected at the statement boundary. | 14:27 | ||
the rules matching statement_control will need to assert \s+ after them rather than just <?wb>. | 14:29 | ||
s/them/the keyword/ | 14:32 | ||
clkao | TimToady_: how about loop(;;) ? | 14:35 | |
ajs | Just ran this on some of my Perl code lying around: perl -nle 'print if /\bif\(/' ../*/*.pl | wc -l | 14:37 | |
It reported 27. Ah... habits to unlearn... joy. | |||
14:37
dolmans joined
|
|||
clkao | oh, so if (something) { } is okay. the space. | 14:38 | |
ajs | I know... note the regex above | ||
\bif\( | |||
[particle] | my code is full of my(, for(, if(, while(, etc | 14:39 | |
ajs | Heh, I expanded my search to include those (not my, since I think that still works in p6) and got 219. for( and while( are more common in my code | 14:41 | |
Mind you, that's in 216 programs, so it's not THAT common. Still, it's clearly something i've learned to type | 14:42 | ||
Comes from the C/C++ where I typically type if( i == 100 ) | 14:43 | ||
robkinyon | would it be possible to create a pragma to allow for "if(){}"? | 14:45 | |
14:46
FurnaceBoy joined
14:53
rodi joined
|
|||
TimToady_ | clkao: loop too, though I forgot to scan for it last night. | 14:53 | |
ajs | robkinyon: Anything is possible, but it would require some funky parser changes, I would think.... that pragma would be non-trivial | 14:54 | |
TimToady_ | that pragma is probably "no strict" | ||
robkinyon | "no strict 'spacing'" ? | ||
TimToady_ | v6; | ||
robkinyon | or "no strict 'whitespace'" ? | ||
TimToady_ | hopefully the pragma just changes a property of the %statement_control pseudohash that asserts what must follow. | 14:56 | |
either that, or all statement_control rules are required to start with <?ws_if_strict> or some such. | |||
seems worth factoring the assert behavior into the array though | 14:57 | ||
since all alphabetic keywords need to assert <?wb> or whatever it is now. | |||
(\b having reverted to meaning backspace) | 14:58 | ||
and there's another FAQ waiting to happen... :/ | |||
should probably warn on \b in regex for now. | |||
or make people write \x08 for the next 10 or 20 years till pcre dies out. er... | 15:00 | ||
no strict 'backspace' :) | |||
no strict 'backwhitespace' :P | 15:01 | ||
hmm, how did I get a backspace on my name? does that mean I got deregistered somehow? | 15:02 | ||
my irssi session has been up for several months now, so maybe someone finally timed me out... | |||
PerlJam | TimToady_: servers are always dropping and reconnecting, sometimes the reconnection happens faster than your session dies so when it comes up there's already a TimToady, so it tries again with an underscore | 15:04 | |
TimToady_ | ah, gotcha. still an irc newbie... | ||
I obviously worry too much... :) | |||
PerlJam | you should be able to change back to TimToady without worry :) | 15:05 | |
[particle] | /nick TimToady # [particle] tries irc nick squatting ;) | 15:06 | |
15:06
TimToady_ is now known as TimToady
15:14
Termy joined
15:15
amnesiac joined
15:18
elmex joined
15:21
cdpruden joined
15:22
chris2 joined
15:23
Termy joined
15:24
Aankh|Clone is now known as Aankhen``
|
|||
kolibrie | audreyt: with Scalar::Defer, is there a way to assign from a deferred variable to another variable so that the new variable gets a static value? | 15:32 | |
15:33
vel joined
|
|||
TimToady | $x + 0 :) | 15:34 | |
15:35
iblechbot joined
|
|||
kolibrie was thinking maybe $new = lazy { $deferred }; | 15:36 | ||
but, upon testing, that also seems not to work | 15:38 | ||
TimToady | tied($deferred)->FETCH :) | ||
15:38
rodi joined
|
|||
TimToady | or maybe it's overloaded somehow... | 15:38 | |
kolibrie | its overloaded | 15:39 | |
TimToady | which overloading, I wonder...all of them? | ||
seems like the only way it'd work. | |||
unless there's some FETCHish hook I don't know about... | 15:40 | ||
kolibrie | use overload fallback => 1, map { $_ => \&force } qw( bool "" 0+ ${} @{} %{} &{} *{} ); | ||
sub force (&) { &{$_defer{ id $_[0] }} } | |||
15:41
cjfields joined
|
|||
TimToady | Perl is a scary language. | 15:42 | |
kolibrie | quite :) | ||
15:44
cjfields joined
15:46
cjfields left
15:47
cjfields joined
|
|||
broquaint | I'm finding "{ THINGS }\nif COND" being a parse error quite cumbersome. | 15:47 | |
Conditionally doing things with hashes and anon subs really handy. | 15:48 | ||
s/subs/$& is/ | |||
TimToady | yeah, been thinking about that. | 15:50 | |
15:50
cjfields joined
15:51
froh-doh joined
|
|||
svnbot6 | r11633 | lwall++ | Forgot to scan for loop(...). | 15:51 | |
15:52
cjfields left
|
|||
audreyt | kolibrie: my $x = $y->force | 15:53 | |
TimToady | hi audreyt! | 15:54 | |
audreyt | TimToady: hey! | ||
I dreamed of a CPAN module in Acme namespace that introduces lazy evaluation via Scalar::Defer | |||
as I found on search.cpan.org | |||
then I realized it was a dream, clicked "Source" and copy/pasted the source code into a file | 15:55 | ||
but that file, being also in the dream, isn't accessible now :/ | |||
TimToady | pity that doesn't work for things you see while drunk or on codeine. | ||
audreyt | ("introduce" as in "turn every opcode to return thunks") | 15:56 | |
mm, is that what the screen savers were approximating? | |||
TimToady | In Xanadu did Kubla Khan... | ||
audreyt | ... For he on honey-dew hath fed, and drunk the milk of Paradise. | 15:57 | |
TimToady | when I was in the hospital, I discovered that morphine also makes you very ichy | 15:58 | |
not exactly a pleasure-dome... | 15:59 | ||
as you may have noticed, I've been performing a consistency/sanity hack. | 16:02 | ||
but I haven't actually changed the parser, being scared of Haskell... | |||
well, actually, just too lazy to look... | 16:03 | ||
and assuming some minion would do it for me. :) | |||
audreyt | well, I've seen the new checkin | 16:04 | |
looks nice | |||
are they turned into tests yet? | 16:05 | ||
I've seen updated existing t/ files to use the correct syntax | |||
TimToady | no, I've only removed the nonos so far. | ||
I will try to produce tests. Also for === etc. | 16:06 | ||
audreyt | yeah. with tests (t/syntax/ perhaps?), certainly fglock and I can adjust the parsers | ||
audreyt prepares to go to uri's place to get S02 edits typed down and sent as patch to p6l | |||
16:06
Revision17 joined
|
|||
audreyt | (also plan to send a normalized mmd-draft for p6l too) | 16:06 | |
TimToady | audreyt++ | 16:07 | |
defer { audreyt++ } | |||
audreyt | lol | 16:09 | |
that gets me many ++s | |||
TimToady | but only if you're 0-ary. | ||
audreyt | are you calling me a thunk? | ||
TimToady | I thank your thunks that you think continually. | 16:10 | |
audreyt | well, it's really deliminated continuations, not fully continuous | ||
kolibrie | audreyt: ah, thanks | ||
audreyt | kolibrie: new Scalar::Defer released with ->force documented | ||
thanks! | 16:11 | ||
TimToady thinks "thunks!" | |||
*** THONK *** | 16:12 | ||
audreyt | th nk | ||
# visual representation of a continuation | |||
TimToady | I suppose that's the sound of putting someone in the kill file after much consideration | ||
silug | so i'm trying to get Perl6::Bible in fedora extras, and there's a question about the license of the various documents | 16:14 | |
audreyt | silug: oy. that reminds me, Perl6::Bible should be replaced by Perl6::Doc | ||
silug | oh? | ||
audreyt | but anyway, same content, so same issue remains | ||
TimToady | thĆøĆønk & | 16:15 | |
audreyt | silug: as far as I know they are never really licensed | ||
clkao | moose | 16:16 | |
audreyt | and nominally I think TPF owns copyright, but I'm not sure | ||
silug | so should i start harassing all involved for license clarification? :) | ||
audreyt | silug: would be nice if they could be CC-BY licensed | ||
well, ask TPF first | |||
silug | ok | 16:17 | |
16:18
hexmode joined
|
|||
silug | i'm really hoping to get a large chunk of the available perl6 stuff in fedora soon-ish | 16:18 | |
audreyt | coo | ||
cool | |||
silug | i'll have to bug you about some pugs issues later. :) | 16:19 | |
audreyt | sure :) | 16:20 | |
silug | more like "a pugs issue" actually. it doesn't seem to install to the correct directories on a multilib x86_64 fedora system | 16:25 | |
but i haven't spent a lot of time trying to track down why. it might be an easy fix. | 16:26 | ||
silug spent the week after yapc fighting with parrot | |||
16:36
aufrank joined
16:40
salty-horse joined
16:41
buetow joined
16:46
ruoso joined
16:57
Yappo joined
|
|||
fglock | audreyt: ping | 16:57 | |
audreyt | pong | 16:58 | |
fglock | I realized that perl6-in-perl6 have better be in a different namespace than Pugs::Compiler::Perl6 - so that they can be developed independently | 16:59 | |
audreyt | v6-perl6 :D | ||
v6::Compiler | 17:00 | ||
v6::Emitte | |||
v6::Emitter | |||
I think that would work | |||
fglock | Perl6::Compiler::Perl6 | ||
audreyt | I sorta think Perl6:::* namespace is tainted | 17:01 | |
in public image | |||
and so would prefer v6::* | |||
(Perl6::* has a Acme::*-ish image to it) | |||
[particle] | worse... damian-ish | ||
ruoso | heh | 17:02 | |
fglock | perl5/v6-Compiler/ ? ('perl5' actually meaning 'CPAN') | ||
audreyt | sure | ||
or maybe indeed put up a cpan/ | 17:03 | ||
but anyway, I agree | |||
(I need to run to uri's place soon, bbiab) | |||
17:03
sahadev joined
|
|||
fglock | so the idea would be to write this compiler that can be executed either by v6.pm, Pugs or perl6-parrot | 17:03 | |
when they catch up with enough syntax | |||
audreyt | yes. | ||
but then I'd like to use multimethods | 17:04 | ||
to write compilers | |||
ruoso | fglock, so you're planning to use that namespace only for Perl 6 code? | ||
audreyt | but maybe at first we don't need that | ||
just straight port | |||
but I agree v6::* should strictly be p6 code | |||
bootstrap-happy code | |||
fglock | ruoso: yes | ||
audreyt | (bbiab for real) & | ||
ruoso | fglock++ | 17:05 | |
that will be fun | |||
:) | |||
clkao | audreyt: multi methods already work | 17:10 | |
fglock: what are you changes in your branch about? they are with empty commit messages | 17:11 | ||
fglock | clkao: I'm making small changes to make the tests pass - I thought most changes were not worth commenting | 17:12 | |
clkao | alright | 17:13 | |
what's the big thing going on the branch then? | |||
fglock | clkao: use.perl.org/~fglock/journal/ | ||
lambdabot | Title: Journal of fglock (5723) | ||
clkao | we should do given/when. can be very useful for the p6-p6 | ||
how is the ast standardlising going? we are still stick to random structure that we come up with? | 17:15 | ||
fglock | clkao: nothingmuch had some comments about a higher level of representation, I'd like to know more about that | 17:16 | |
clkao | ya, we chatted a bit about it. but i think its orthogonal | ||
gtg | 17:17 | ||
it's too hot here | |||
fglock | otherwise, changing the ast is easy - you change it in the parser and in the emitter, and it's done | 17:18 | |
clkao | sure | ||
fglock | It would be nice to have the ast documented in a way perl people can understand :) | 17:20 | |
meeting & | 17:21 | ||
17:24
rlb3 joined
|
|||
audreyt | indeed | 17:27 | |
clkao: | |||
src/Pugs/AST/CapInternals.hs | |||
line 353 and below | 17:28 | ||
see if you can make sense out of it | |||
that's the AST to go with for Pugs 6.28.0 | |||
not sure what I can do to improve the notation to make it more accessible | |||
grep for all ^data declarations | 17:29 | ||
gaal mooses | |||
TimToady | I think the least worst solution to "{...}\n" if is probably to generalize long to dot to allow \<?ws>modifier | ||
s/" if/ if"/ | 17:30 | ||
s/long to dot/long dot/ | |||
audreyt | that indeed looks like easy to explain | ||
TimToady | Course the easiest to explain is if we disallow \capturable to have whitespace. | 17:33 | |
then any \ followed by ws is just quoting the ws. | 17:34 | ||
which, interetingly, let's you write \\ ($a,$b,$c) and get a capture. | 17:35 | ||
broquaint | So "{ ... } \ \n if COND" ? Or am I misunderstanding? | ||
TimToady | could probably get away with {...}\ even | ||
since I think {...}if is probably legal. | |||
broquaint | Groovy. | 17:36 | |
TimToady | the difference between what we're doing and what cpp is doing is that we use \ to quote any sequence of whitespace (incl comments), not just \n | 17:39 | |
17:45
swaroop joined
|
|||
TimToady | I like the generality of having a whitespace escape particularly since we don't know how the grammar will be extended, and new rules might install other newline dependencies. | 17:51 | |
so it's another futureproofing tactic. | |||
18:46
larsen joined
19:05
fglock_ joined
|
|||
fglock_ | re ast documentation: for example, what a Int node looks like? is ':NInt<42>' ok? | 19:08 | |
'42.as(NInt)' ? | 19:09 | ||
[particle] | timtoady: r10306 has a typo: +to C<0.123> rather than C<$_.123.) # <--- missing '>' before '.)' | 19:23 | |
TimToady | thanks. | 19:24 | |
weird, must have u'ed accidentally somehow in vi after prev checkin. | 19:27 | ||
fglock_ | how is an 'as()' created? 'sub as( Int $x: Str ::T ) { "$x" }' makes sense? | 19:33 | |
'sub as( Int $x: Str ::T ) is export { "$x" }' | 19:34 | ||
TimToady | has to be a method. sub can't take an invocant. | 19:40 | |
19:41
qmole_ joined
19:42
qmole_ is now known as qmole
|
|||
fglock_ | 'class Int; method as( Int $x: Str ::T ) is export { "$x" }' | 19:42 | |
'class Int; method as( Int $x: Str ::T ) { "$x" }' | 19:43 | ||
'class Int; method as( Str ::T ) { ."" }' | |||
how about declaring an 'as' for converting to your new class - 'class NInt; method Int::as( NInt ::T ) { ... }' | 19:48 | ||
TimToady | none of those are gonna work, given "" will just call back to .as | ||
and ."" is wrong about 3 ways... | 19:50 | ||
Int::as is just a constructor then, and should probably be Int::new | 19:53 | ||
fglock_ | NInt is the 'Int' ast node - I want '42.as(NInt)' to mean 'NInt.new(42)' | 19:58 | |
19:59
froh-doh joined
|
|||
PerlJam | oh, I like the .fmt/.as changes. | 20:00 | |
TimToady | .as(Str) was busted before... | 20:01 | |
20:03
hexmode joined
|
|||
audreyt | TimToady: up for some quick review? | 20:11 | |
TimToady: I'll commit the proofedits with uri piecemeal | 20:12 | ||
sanity checks welcome | |||
TimToady | phone conf 6perl... | ||
audreyt | batch #1 is landing now | ||
oh ok | |||
afterwards, then | 20:13 | ||
(r10308) | |||
20:13
iblechbot joined
|
|||
fglock_ | does this make sense? 'class NInt; method Int::as( $x: NInt ::T ) { NInt.new($x) }' | 20:14 | |
audreyt | method NInt::as surely? | 20:15 | |
also NInt ::T is not needed; just NInt would do | |||
oh wait | |||
sorry | 20:16 | ||
you are installig a Int->NInt as | |||
method Int::as (NInt) { NInt.new(self) } | |||
would do, I think | |||
20:16
bpphillips left
|
|||
fglock_ | audreyt: thanks | 20:18 | |
audreyt | np :) | 20:21 | |
fglock_ | should everything have a v6 namespace prefix? 'class v6::NInt; method v6::Int::as (v6::NInt) { v6::NInt.new(self) }' | 20:25 | |
audreyt | sure, that can work | 20:26 | |
fglock_ | 'use namespace "v6";' :) | 20:27 | |
audreyt | search.cpan.org/dist/aliased/ # surely? | ||
lambdabot | Title: Curtis "Ovid" Poe / aliased - search.cpan.org | ||
audreyt | mm there's also namespace.pm | 20:28 | |
justatheory | aliased is nice | ||
fglock_ | how about: 'class v6 { class NInt; method Int::as (NInt) { NInt.new(self) } }' | 20:29 | |
audreyt | sure | ||
clkao | that works as heirarchical namespace? | ||
fglock_ | cool - this looks much cleaner | 20:30 | |
clkao | and can you import other module to magically do that? | ||
TimToady | nit: the "class NInt;" syntax is only allowed at file level. | 20:34 | |
fglock_ | fixed: 'class v6 { class NInt { method v6::Int::as (NInt) { NInt.new(self) } } }' | ||
20:34
DaGo joined
|
|||
TimToady | maybe we should allow } x 3 :) | 20:35 | |
clkao | or super bracket | ||
TimToady | } x * | ||
fglock_ | importing Int: 'class v6 { class Int {} class NInt { method Int::as (NInt) { NInt.new(self) } } }' | ||
pasteling0 | "cdpruden" at 75.10.18.156 pasted "Is 'value' special in derived classes? possible bug" (37 lines, 922B) at sial.org/pbot/18510 | 20:53 | |
cdpruden | does that paste seem like a bug, or am I missing something? and if it does seem like a bug, would it belong in t/oo/inheritance.t, or somewhere else? | 20:56 | |
audreyt | it's a bug. | 20:57 | |
cdpruden | should I toss it in a file in t/oo? | 20:58 | |
audreyt | sure | ||
cdpruden | or rather, add a test to inheritance.t for it | ||
okay, will do | |||
audreyt | yup | ||
cdpruden | thanks :) | ||
audreyt | the bug is there because &value is a prim | ||
but it should really just be a Pair method | 20:59 | ||
commit the test, I'll make it pass :) | |||
cdpruden | it drove me slightly batty that it was showing up in the derived and not base :) | ||
audreyt | sorry for having a buggy dispatch algorithm :) we've just worked out the semantic of the new one | ||
will code it up so that this class of error goes away | 21:00 | ||
cdpruden | no need to apologize :) | ||
svnbot6 | r11634 | cdpruden++ | Added failing test for | 21:08 | |
r11634 | cdpruden++ | <audreyt> the bug is there because &value is a prim | |||
r11633 | lwall++ | Forgot to scan for loop(...). | |||
fglock | pmichaud: ping | 21:23 | |
pmichaud | fglock: pong | ||
audreyt | uri++ # 1st pass of S02 proofreading done | 21:25 | |
fglock | pmichaud: I'm about to start writing perl6-in-perl6 - I wonder if it's possible to reuse some of your work in perl6-parrot | 21:26 | |
pmichaud | my stuff in perl6-parrot is still largely pir based. But I'd like to stay very closely abreast of whatever you do with perl6-in-perl6 | ||
if you can organize it to be similar to what TGE expects, that would be fantastic | 21:27 | ||
it'd also be interesting to see where our grammars currently differ | |||
TreyHarris | pmichaud: /whatis perl6-in-perl6? | 21:28 | |
fglock | the idea is to implement the ast using constructors, which you can implement in low-level if needed, so the grammar would be mostly reusable | ||
ruoso always used closures in Perl, never realized it was so often used in C | |||
pmichaud | oh, that'd be nice | ||
audreyt ponders if there's a way to fly pmichaud to YAPC::SouthAmerica with <TimToady merlyn audreyt> | |||
pmichaud | very nice | ||
audreyt when is YAPC::SA? | 21:29 | ||
fglock | pmichaud: november | ||
pmichaud | I'm available if we can find airfare | ||
I'll of course be very happy to present at YAPC::SA if there's room in the schedule :-) | |||
TreyHarris suspects that his subscription to p6-l is no longer sufficient to keep up with what's up, even though he's not writing compiler guts. where's the action these days? | |||
audreyt: so far, readline 5.1 has fixed my problem :-) | 21:30 | ||
pmichaud wonders what airfare would be to YAPC::SA | |||
audreyt | TreyHarris: well, then I'll consider it not-my-bug | ||
yeah. it'd be nice to synchronize the implementations in a f2f setting | |||
(bbiab) | 21:31 | ||
TreyHarris | pmichaud: what's perl6-in-perl6? and more importantly, where should i have been paying attention to have heard about it? | 21:32 | |
pmichaud | TreyHarris: perl6-in-perl6 is the plan to write the perl6 compiler using perl6 | ||
it's still just planned | |||
fglock | pmichaud: - YAPC::SA will happen inside CONISLI - www.conisli.org/ | ||
lambdabot | Title: :: CONISLI :: | ||
TreyHarris | ah, ok. i've known of this. i just hadn't heard that name before, i heard the "bootstrap process" or the like | ||
pmichaud | there are several parallel implementations working towards perl6-in-perl6 | 21:33 | |
clkao | win 1 | ||
should i go to yapc::Sa? | 21:34 | ||
fglock | pmichaud: S.Paulo-S.Francisco - U$1.377,00 | ||
pmichaud | I'm in Dallas | ||
TreyHarris | pmichaud: thanks. since p6-l has so little traffic of late, can you recommend (an) other mailing list(s) I should subscribe to to keep up with developments? i found p6-c to be mostly over my head when i subscribed to it last time (1.5-ish years ago?) | ||
pmichaud | which airport in S. Paulo? | ||
fglock | clkao: sure! | 21:35 | |
pmichaud | TreyHarris: actually, p6l and p6c are your best bests. Actually, #perl6 is your best bet, but after that is p6l/p6c | ||
TreyHarris | pmichaud: yeah, i learn most from #perl6, but it can be hard to catch up after my daily 10 hour absence :-) | 21:36 | |
pmichaud guesses that Southwest Airlines doesn't fly to Brazil :-) | |||
TreyHarris | thanks | ||
is there a pugs mailing list, or a testers mailing list? | |||
pmichaud | Looks like roundtrip is $883 or $918 | ||
fglock | pmichaud: Sōæ½xE3o Paulo-Guarulhos - GRU | ||
pmichaud | (depending on carrier) | ||
fglock | pmichaud: that price was for United | 21:37 | |
pmichaud | well, United doesn't go from DFW. DFW->GRU is either Delta, American, or Continental | ||
(United *does* go from DFW, but only to limited places) | |||
clkao | there's direct flight from london. but it's stupidly expensive | ||
pmichaud | it's easy to get direct flights from dfw to almost anywhere :-). I can get direct to tokyo, london, and apparently gru :-) | 21:38 | |
anyway, if we can find a way to come up with airfare, that'd be great. (I'm easy to house -- just a couch is fine :-) | 21:40 | ||
fglock | pmichaud, clkao: I'll be looking for sponsors :) | 21:43 | |
pmichaud | that'd be great | ||
I've already cleared that I'm free tha tweek | |||
fglock | pmichaud: are you ok with v6::Compiler for the CPAN namespace? | 21:47 | |
pmichaud | sure, sounds fine | 21:49 | |
21:52
Termy joined
|
|||
fglock | audreyt: is it ok to create cpan/v6-Compiler/ ? | 21:54 | |
audreyt | fglock: v6/Compiler/ ? | 21:55 | |
fglock | ok | ||
audreyt | toplevel v6/ is maybe easier to identify with | ||
perl5/ can then be the support modules for p5 | 21:56 | ||
v6/ would be the bootstrapped-already compiler | |||
I think | |||
ruoso | audreyt, isn't Perl6:: namespace already for support modules for perl 5 runtime | 21:57 | |
? | |||
fglock | audreyt: v6/(distro name) = v6/v6-Compiler | ||
audreyt | fglock: sure | 21:58 | |
ruoso: sorry I mean the Pugs layout | |||
sources directory | |||
not cpan namespace | |||
ruoso | ah... ok | ||
svnbot6 | r11635 | fglock++ | added v6/ dir for Perl6-in-Perl6 - 'v6/v6-Compiler/README' | 22:12 | |
r11636 | fglock++ | syntax fix | |||
clkao | () | ||
(!) | |||
is this christmas time? | |||
how much perl6-compiler can we reuse? | 22:13 | ||
fglock | clkao: it's just the box - you have to put something inside and wrap it, and put under a tree | ||
clkao | ;) | ||
fglock | clkao: most of the grammar is reusable, but it needs to be p6fied; most stuff from parrot-p6 grammar is reusable too | 22:14 | |
and it needs to be merged with the new AST | 22:15 | ||
audreyt | yeah. I need to start to write a series of articles dissecting the new AST | 22:16 | |
or maybe gaal can do that? :D | |||
anyway, I need to go out to find food | 22:17 | ||
fglock | audreyt: how about writing it as p6 grammar :) | ||
audreyt | be back in a couple hours | ||
fglock: AST is internal structure... | |||
like, semantic structure | |||
as p6 classes, sure | |||
gaal: interested in writing a DrIFTer that generates Moose or p6 classes? | 22:18 | ||
fglock | audreyt: I mean writing usage examples - see the v6-Compiler README | ||
audreyt | ok | 22:19 | |
will do | |||
bbiab.. & | |||
fglock | me too & | ||
22:20
fglock left
|
|||
justatheory | I'm having a brain fart. What kind of subs use yield to re-enter execution from a point in the sub over and over? | 22:28 | |
gaal | audreyt: I really prefer doing CapInternals stuff first | ||
justatheory | It's no coroutines, is it? | ||
pmichaud | coroutines | 22:29 | |
justatheory | Okay, not such brainfart afterall. Thanks pmichaud | ||
gaal | but sure :) | 22:30 | |
audreyt: nothingmuch may be coming over for a minithon next weekend | |||
22:32
elmex_ joined
22:43
sahadev left
22:44
cjeris left
|
|||
Fawaka | justatheory: one correction | 22:47 | |
justatheory | ? | 22:48 | |
Fawaka | coroutines are not subroutines technically | ||
justatheory | Fawaka: Yeah | ||
Bah! No, it was "continuation" I was looking for. | 22:58 | ||
23:04
lollan_ joined
23:07
weinig joined
23:09
stephanepayrard_ joined
23:16
weinig_ joined
23:20
rashakil joined
23:26
lollan joined
23:51
xdg joined
|
|||
TimToady | audreyt: for the next batch you might also $line402 ~~ ss/an unit/a unit/ | 23:55 | |
Fawaka | ss? Is that the new syntax these days? | 23:56 | |
TimToady | short for s:s/// | ||
Fawaka | single? | 23:57 | |
TimToady | short for s:sigspace/// | ||
Fawaka | ah, | ||
<just another opinion>I really could not guess the meaning of sigspace</just another opinion> | 23:58 | ||
23:59
cdpruden joined
|