Pugs 6.2.8 released! | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net
Set by autrijus on 13 July 2005.
00:20 ycheng is now known as yc
brentdax Okay, thanks. 00:21
svnbot6 r5992 | iblech++ | PIL2JS: PIL, PIL::Subs, PIL::PPad: Fix recursive subcalls by backuping and 00:30
r5992 | iblech++ | restoring vars. I.e.
r5992 | iblech++ | sub foo ($stop) {
r5992 | iblech++ | my $x = 3;
r5992 | iblech++ | if $stop { $x++ } else { foo 1; say $x }
r5992 | iblech++ | }
r5992 | iblech++ | should print 3, not 4. Fixed.
iblech New JS smoke up: m19s28.vlinux.de/iblech/stuff/not_p...smoke.html 01:00
Night all :)
mjl69 "Hello, World!".say(); 01:01
That's cool (pugs newbie)
no need to study Ruby or Haskell anymore :-) 01:02
ingy seen autrijus 01:59
jabbot ingy: autrijus was seen 4 hours 13 minutes 57 seconds ago
ingy anyone around?
I have to give a talk on pugs in 40 hours and I don't know a thing about it! 02:00
Who can help ingy?
Darren_Duncan hi ... I'm currently at OSCON in room E142, "Conferences for Beginners" ... drop by and meet me in person if you're around 02:30
ingy Darren_Duncan: cool, I'm in the Doubletree, room 517 02:31
Darren_Duncan I'm staying Red Lion, 216 02:32
but I'm at the center right now
ingy ok, Let's meet later after I get back from dinner
I need some help
Darren_Duncan among others in the room are Brian d Foy and Randal Schwartz, I think
ingy do you have a cell phone? 02:33
Darren_Duncan no, sorry
ingy ok, I'll call your room or check irc
Darren_Duncan its an interesting talk, though
ingy :)
Darren_Duncan try irc first ...
ingy ok
Darren_Duncan I try to stay on it
ingy :)
Darren_Duncan when I'm online, just to make it easy to coordinate meetings
you were just mentioned here ... a bit of Pugs stuff now 02:37
ingy Ingy Needs You Help => apocalypse.kwiki.org | Pugs 6.2.8 released! | pugscode.org |pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net 03:01
ingy Ingy Needs Your Help => apocalypse.kwiki.org | Pugs 6.2.8 released! | pugscode.org |pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net
stevan hola ingy 03:10
isnt it a bit early to start writing the talk? ;)
Darren_Duncan I'm still in OSCON room E142, if any of you want to meet in person 03:14
stevan, are you at OSCON, or elsewhere? 03:15
svnbot6 r5993 | putter++ | Corrected test count.
stevan Darren_Duncan: elsewhere
:(
Darren_Duncan: you should fill out an interview for Ingy (apocalypse.kwiki.org/index.cgi?Interviews) 03:16
Darren_Duncan do I just edit the page with the template, or how do I add answers? 03:19
or, what's the best way?
stevan no idea, ask Ingy 03:20
I think you should add your own page
DarrenDuncanInterview
svnbot6 r5994 | putter++ | slurpy_code_param.t: Corrected typo, plan count. 03:28
Darren_Duncan stevan, I added a starter page there ... still have to answer questions 03:35
svnbot6 r5995 | putter++ | t/unspecced/p5/array.t: Evaled two tests. But test 1 is still failing under make test (but not when the test is run directly). 03:47
xinming how much percentage for Synopsis is completed? I mean the desicision won't be changed again for perl 6
Darren_Duncan stevan, I filled out that Ingy interview page 03:50
Ingy, ditto
seen mugwump 03:57
jabbot Darren_Duncan: mugwump was seen 6 hours 30 minutes 1 seconds ago
brentdax Do spaces in a character class count? 04:22
Darren_Duncan ingy, I'm now back at my hotel 04:36
mind you, its probably too late to do anything tomorrow, I'll try to stay online in here during the day tomorrow 04:37
re tutorials, I'm at Damian's Best OO Practices, and the Postgres Intro
autrijus ingy: pong 05:54
Darren_Duncan hello autrijus 06:05
autrijus heya Darren_Duncan. having fun?
Darren_Duncan sure 06:06
I'm starting to use a public version control for Rosetta
coral ?eval my $a = any(1,2); my $b = any(4,8); ($a + $b).pick 06:07
evalbot6 5
coral okay then
coral grins
?eval 1.pick 06:08
evalbot6 Error: pick not defined: VInt 1
coral ?eval (1 + 2).pick
evalbot6 Error: pick not defined: VInt 3
autrijus ?eval [1].pick
evalbot6 1
coral ?eval my $a = any(1,2); $a = $a + 0; $a.pick 06:11
evalbot6 1
coral hmm
it collapses as late as possible, literally at the human.
?eval my $a; for (1..100) { $a += any(0,1); }; $a 06:12
evalbot6 pugs: out of memory (requested 1048576 bytes)
coral blinks
?eval my $a; for (1..10) { $a += any(0,1); }; $a
evalbot6 \((((((((((0 | 1) | (1 | 2)) | ((1 | 2) | (2 | 3))) | (((1 | 2) | (2 | 3)) | ((2 | 3) | (3 | 4)))) | ((((1 | 2) | (2 | 3)) | ((2 | 3) | (3 | 4))) | (((2 | 3) | (3 | 4)) | ((3 | 4) | (4 | 5))))) | (((((1 | 2) | (2 | 3)) | ((2 | 3) | (3 | 4))) | (((2 | 3) | (3 | 4)) | ((3 | 4) | (4 | 5)))) | ((((2 | 3) | (3 | 4)) | ((3 | 4) | (4 | 5))) | (((3 | 4) | (4 | 5)) | ((4 | 5) | (5 | 6)))))) | ((((((1
coral uh, my apologies
i forgot to .pick
?eval my $a; for (1..10) { $a += any(0,1); }; $a.pick 06:13
evalbot6 1
xinming what about do a 1..1000000 loop and $_.say ? 06:22
s/do/doing/
gaal autrijus, in ruleUsePackage (Parser:580 or so), is there a reason why the two chunks that reference "val" (val <- unsageEvalExp ... and case val of ...) aren't adjacent? does the "option ()" need to be in between them? 06:34
also, why is that import chunk guarded with an option () at all? It behaves incorrectly, but my Parsec-fu isn't strong enough to say what *should* be there instead. 06:35
ingy hi autrijus 06:50
nothingmuch ingyping 06:51
ingy hi nothingmuch!
nothingmuch i fudged Test::Base a bit
did you find the unidiff?
ingy :)
Darren_Duncan hi ingy
ingy hi Darren_Duncan
Darren_Duncan how late you staying up?
I'm about to nap myself
ingy not much later I think
Darren_Duncan lets try to meet tomorrow
I'll be at the Postgresql and best oo practices ones 06:52
ingy nothingmuch: make an interview video!
nothingmuch interview video?
Darren_Duncan ingy, I was also the first to sign your interview page
ingy Darren_Duncan: ok, I'll look for you
Darren_Duncan stevan suggested it
ingy Darren_Duncan++
pasteling "nothingmuch" at 212.143.92.226 pasted "Test::Base unidiff against 0.43" (144 lines, 3.9K) at sial.org/pbot/12161 06:53
gaal wants to see y'alls *modules*
brentdax What type is an undeclared invocant considered to be? 06:54
i.e. when I type `method foo($bar) { ... }`, what type is the invocant given? 06:55
autrijus hi ingy 06:56
ingy nothingmuch: catch me another time to review these patches 06:57
autrijus gaal: the option () is totally bogus
ingy I think I have a newer version of Test::Base
I thought I released it
hmm
nothingmuch_ ingy: 0.44 06:58
autrijus brentdax: the type is ::?CLASS.
nothingmuch_ the feature additions from simple to not that simple: add a plan if running run_compare for the user
(i got burned by lack of plan)
and give the filters a way to skip blocks 06:59
gaal autrijus, ok, what oughtta be there then? for p5 behaviour, "()" should suppress calling the hook
autrijus gaal: try parse for "verbatimParens whiteSpace" maybe 07:00
ingy autrijus: do an interview
autrijus optional (verbatimParens whiteSpace) ...
brentdax Hmm, okay. I'm running into the same-method-name bug again, this time in a place where it's not quite as easy to work around.
autrijus ingy: ok. here? now?
nothingmuch_ ingy: wtf is an interview?
autrijus brentdax: minimal test case?
ingy see topic
autrijus oh, kwikinterview 07:01
more like a survey
nothingmuch_ ah
autrijus sure
ingy autrijus: please promote the kwiki
brentdax Can't derive one. Something along the lines of `class A { method foo ($x) { say "A::foo $x" } } class B { has $.a; method foo ($x) { say "B::foo $x"; $.a=::A.new; $.a.foo($x) } }; B.new.foo('bar')` ought to do it, but there's a missing element.
ingy my irc server is being shut down :(
brentdax (The bug would present itself as B::foo being called with an invocant of type A.)
ingy I'll try to add some questions to the kwiki 07:02
also if y'all could make 30 second videos, that would be cool 07:03
autrijus let me see
nothingmuch_ like with a webcam?
i don't have one of those
i can make an audio clip
ingy ok cool
post a picture of yourself too :) 07:04
nothingmuch is cute.
nothingmuch_ =)
ingy it will help my talk ;)
nothingmuch_ it can be like the telephone interviews on the news =)
what will the video contain? answers to those questions?
ingy ok my server is rebooting now
gaal doesn't even have a mike :(
ingy yeah
brentdax (Or rather, B::foo($b, 'bar') followed by B::foo($.a, 'bar').)
ingy answers to questions 07:05
gaal too bad, the throat infection is giving me a sexy voice
autrijus that is bad how? 07:08
gaal i can't send ingy a sample of the sexy voice, because i don't have a mike :)
"optional" doesn't fit here, i think: i want "use ()" to *not* do the hook, and "use" and "use + ruleExpression" to do it 07:11
autrijus yes 07:12
option (verbatimParens whiteSpace) ...
sorry
gaal hmm, that gives option (verbatimParens whiteSpace) $ return () for the no-hook 07:13
svnbot6 r5996 | autrijus++ | * Clean up box hierarchy; moving toward ADT; about to import metamodel.
gaal but how do i then do the yes-hook?
autrijus er no
option (verbatimParens whiteSpace) $ do 07:14
exp <- ruleExpression
...yes hook...
hrm, never mind me
obviously it's
verbatimParens whiteSpace <|> do
exp <- ruleExpression
...yes hook...
nothingmuch_ apocalypse.kwiki.org/index.cgi?Noth...hInterview <-- done 07:15
brb, i'll do the audio thing
autrijus booting to win32 for webcam &
nothingmuch_ uh, i'll brb and then do the audio thing
gaal but if the stuff between parens is empty, we shouldn't do the yes hook; and also if there are no parens at all. 07:16
nothingmuch_ damnit ingy
either expand or don't expand html entities in kwiki
but not both at the same time
oh boy, i'm stupid 07:17
autrijus gaal: no, no-parens-at-all falls into yes-hook withdefault import 07:27
gaal: and the <|> bias on the left
so if it's empty paren it would've done nothing 07:28
gaal hmm.
no, that doesn't work. for `use Foo ()` it does, but anything else doesn't parse 07:31
it does load the module, but the import hook then fails the parse:
unexpected "Foo" expecting use version, word character, "::", "-", "(" or expression 07:32
perlbot nopaste 07:35
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
pasteling "gaal" at 192.115.25.249 pasted ""no" patch that doesn't work" (80 lines, 3.2K) at sial.org/pbot/12164
autrijus gaal: 07:43
use tryChoice
tryChoice [verbatimParens whiteSpace, ...yes hook...]
or alternatively
try (verbatimParens whiteSpace) <|> ...yes hook... 07:44
stevan ingy: interview done,... no video though, I have see if my digital camera can do 30 second clips 07:48
stevan is off to sleep & 07:49
nothingmuch_ ciao
isn't it like really early in the morning over there?
Aankh|Clone Sleep well. 07:50
brentdax watches his leg bounce. 07:53
Bawls is...potent.
Yay, page creation works! The rest is just release engineering. 07:57
(At least for 0.01.)
Aankh|Clone Fill in the blanks: ____ 0.01. 07:58
:-D
brentdax WWW::Kontent, my Summer of Code project written in Perl 6.
Aankh|Clone Ahh.
Kewlies.
brentdax I should probably spend the rest of the night bringing the docs into line with reality. 08:00
08:01 Aankh|Clone is now known as Aankhen``
umbop morning 08:18
autrijus I've done the video 08:29
it's in avi now; encoding
gaal autrijus: the two suggestions both work for Foo () and Foo (LIST), but not for Foo; 08:35
autrijus well, put the entire thing as optional then. 08:37
hm, no
wait
are you using
yespart <- ruleExpression; ?
try
yespart <- optional emptyExp ruleExpression;
etc.
gaal no, i'm not doing that (i think!) 08:38
*inside* the yespart there's a imp <- ruleExpression
autrijus right, I mean the imp.
imp <- optional emptyExp ruleExpression
gaal but then what guards against empty () ?
autrijus the left bias <|> 08:39
that will match first
gaal there's something fundamental i don't grok about Parsec
autrijus I'm trying
gaal like, how it works. :/
autrijus (\(\)) | (yesPart)?
is how it would look as a regex
the "optional" part is the postfx ? 08:40
the <|> is |
gaal ah, this is getting warmer :)
autrijus you are basically trying
1. match empty parens. if found, do nothing
2. otherwise, match an expression. if not there, then default to emptyExp
2.1. do something to that.
gaal is there a 7? :) 08:41
autrijus that's all :)
what cannot be spoken should be kept in silence
gaal okay, in try (verbatimParens whiteSpace) <|> yespart, does the 'try' apply only to verbatimParens whiteSpace, or do everything?
you know, autrijus, i'm scared to ask you if you also know Hebrew 08:42
autrijus is glad to find another tractatus head
gaal so i won't :)
autrijus the try only apply to the verbatimParens whiteSpace part.
gaal i like the Ogden translation better ("whereof one cannot speak, one must be silent") 08:43
s/,/, thereof/
autrijus right. I was backtranslating from the chinese version in my mind :)
or rather, crosstranslating. 08:44
gaal optional is like maybe, right? optional defaultVal rule 08:45
err, no that doesn't compile. :( 08:46
autrijus maybe "option defaultval rule"
optional is shorthand for "option (return ())"
I'm in win32, I don't feel like coding. I'll reboot soon
gaal i
'll keep nibbling.
?eval my $x = 9; mod(); sub mod() {my $x=1; $CALLER::<%MY::{<$x>}> = 10}; say $x 08:55
this loops.
svnbot6 r5997 | gaal++ | * fix `use Foo` and `use Foo ()` to call and not to call &Foo::import,
r5997 | gaal++ | respectively (thanks autrijus!)
r5997 | gaal++ | * add &no builtin
evalbot6 (no output)
gaal oh, i didn't need the braces. 08:56
but this still loops:
?eval my $x = 9; mod(); sub mod() {my $x=1; $CALLER::<%MY::<$x>> = 10}; say $x
evalbot6 (no output)
gaal i'm trying to access the caller's lexical $x. 08:57
autrijus yeah, I know that loops. :-/ 09:04
rebooting 09:05
nothingmuch_ ingy: aborting audio interview 09:17
i can't get a decent sound
AC + cows being orked is too much bg noise
it just sounds like crap
and furthermore, i sound like crap 09:18
"As Luke Palmer said to me "I want to be a superposition."" 09:19
luqui++
use.perl.org/~Ovid/journal/26027
autrijus I can't get this avi encoded to mov 09:58
no matter how I try. :-/
unless I buy a certain sorenson squeeze, it seems
ffmpeg croaks on me :-/
dada ?eval my $sum = 0; my $max = 10; for (1..$max) -> $x { $sum += $_; } $sum; 10:02
evalbot6 \55
dada why the \? 10:03
autrijus because the confusion between lvalues and containers. 10:05
?eval my $a = 55; $a
evalbot6 \55
autrijus ?eval 55
evalbot6 55
autrijus conceptually the '$a' name points to a container that contains 55, not the value 55
this is cleared up a lot in the runcore :) 10:06
s/runcore/new runcore/
jql \55 seems kinda constant. :/ 10:23
jql has perl5 on the brain 10:24
it is, I know, but damn
jql changes the value of PI
dada ?eval my $a = 55; +$a; 10:26
evalbot6 55
dada heh
jql mmmkay 10:27
10:33 Yaakov_ is now known as Yaakov
dada ?eval my $x = 1; given($x) { when 1 { "one" } when 2 { "two"} default { "doh" } } 10:35
evalbot6 'one'
dada ?eval my $x = 1; given($x) { when 1 { "one" } when > 2 { "two"} default { "doh" } }
evalbot6 Error: unexpected "{" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
dada ?eval my $x = 1; given($x) { when 1 { "one" } when $_ > 1 { "more than one"} default { "doh" } } 10:36
evalbot6 'one'
dada ?eval my $x = 2; given($x) { when 1 { "one" } when $_ > 1 { "more than one"} default { "doh" } }
evalbot6 'doh'
dada uhm
?eval my $x = 2; given($x) { when 1 { "one" } when $_ > 1 { "more than one"} default { +$_ } } 10:38
evalbot6 2
dada ?eval my $x = 2; given($x) { when 1 { "one" } when($_ > 1) { "more than one"} default { +$_ } } 10:39
evalbot6 2
dada is my syntax wrong or is pugs wrong? 10:40
autrijus anyone up for Pugs interviews for tomorrow's talk? 12:52
I've got my movie done. uploading
# apocalypse.kwiki.org/index.cgi?Interviews
clkao movie!
autrijus yes. what is oscon without movies?
Limbic_Region autrijus - your interview isn't filled out? 13:00
autrijus Limbic_Region: no, just the movie for now 13:03
filling in interview now
nothingmuch_ autrijus: movie++ 13:07
autrijus all three formats are up
kolibrie I don't see where the movie is
autrijus kolibrie: see topic, click movies 13:08
kolibrie ahh
autrijus I don't know if the mp4 is well supported 13:09
I hope quicktime can play it
scook0 autrijus: I've been looking at the shiny new PIL runcore 13:10
trying to figure it all out
autrijus scook0: cool. it doesn't run anything yet 13:11
it's just the foundational types
scook0 yeah, I know
the lack of context makes it a little harder to understand :)
but I was just wondering: 13:12
what's the meaning of 'Cell' vs 'Box', in Perl6 terms?
autrijus there are no corresponding terms, sadly. 13:13
a box is an (id, content) pair
scook0 ok, let me rephrase:
autrijus a cell is either a mutable or immutable box.
possibly tieable
scook0 (hmm, this question is hard to ask) 13:14
I shall have to think a bit more, until I understand exactly what it is I don't know
vkon I can't find movie... should I be logged in?
QtPlatypus Is there a way to find out what the keys are on a match object? 13:15
dada QtPlatypus: for $0.keys -> $k { ... }, I suppose 13:16
autrijus scook0: ok. food, bbiab
gaal vkon: reload interview page, click Movies
scook0 autrijus: I'm off to bed now, so I'll ask again another day, after some pondering... 13:17
autrijus scook0: ok. enjoy. I'll also throw in more code + comments
food &
vkon thanks... reloading helped ;) 13:18
Limbic_Region got audio only on the movie but really laughed at pugs providing new and great ways to shoot yourself in the foot 13:20
kolibrie autrijus: no theora? no time to find appropriate plug-ins for other formats (at $work) 13:21
dada ?eval sub good { pop(@_); }; good(1,2,3); 13:29
evalbot6 3
dada ?eval sub bad { shift(@_); }; bad(1,2,3);
evalbot6 Error: Can't modify constant item: VUndef
dada mmm
wilx Yay! for the movie! :D 13:30
xinming ?eval sub bad ( *@_ is rw ) { shift(@_); }; bad(1,2,3) 13:35
evalbot6 Error: Can't modify constant item: VUndef
svnbot6 r5998 | fglock++ | * Span.pm - tests 13:52
mjl69 hi
I can't trip this thing up. It really is better than Perl 5 so far. 13:53
say sum 2,3,4; #this is valid Perl6? It works.
I haven't even studied any Perl 6 yet. I'm just making stuff up and it works.
integral ?eval say [+] 2,3,4 # also works 13:54
evalbot6 9 bool::true
mjl69 hey, I finally got an error! say sum 2 3 4; #ha, no invisible commas, huh? 13:56
:-)
integral: cool. It's like right out of the Haskell tutorial I was working through. I am a Perl 6 convert. As a total amateur, I have little invested in 5 anyway (except for a bunch of books) 14:00
svnbot6 r5999 | iblech++ | PIL2JS: Prelude::JS::Bool: (Hopefully) fix &not without arguments, not.t fails
r5999 | iblech++ | only 3 tests now.
integral mjl69: well perl6 being usable for day-to-day scripts and apps is still a way off. The performance for one thing
autrijus wow, leo implemented lazy-k in parrot. 14:01
I should think twice before offering mad suggestions to crazy people.
mjl69 integral: I'll take it as far as is practical. I'm not in a big hurry usually.
integral lazy-k? 14:02
autrijus en.wikipedia.org/wiki/Lazy_K_progra...g_language 14:03
integral thanks
autrijus the quintessential untyped lambda calculus.
or rather, combinator calculus.
svnbot6 r6000 | iblech++ | * PIL.Tie: Very minor Haddock fixes. 14:08
r6000 | iblech++ | * Test enhancements:
r6000 | iblech++ | * builtins/arrays/slice.t, builtins/hashes/slice.t: Slices on array/hash literals
r6000 | iblech++ | * var/var.t: Tests for recursive subs stomping on the lexicals of their other
r6000 | iblech++ | instances
r6000 | iblech++ | * PIL2JS:
r6000 | iblech++ | * PIL/Subs: Fix lexical stomping in anonymous Subs.
r6000 | iblech++ | * Prelude::JS::Operators, PIL2JS.js: All operators
r6000 | iblech++ | stringify/numify/booleanify their operators first (gives a small speed
r6000 | iblech++ | penalty though, but at least I ported &prefix:<+> to JS).
r6000 | iblech++ | * Prelude::JS::Array, Prelude::JS::Hash: Hash and array slices, with
r6000 | iblech++ | assignment (@a[@idxs] = @new_vals).
r6000 | iblech++ | * Fix compilation of modules (was broken because the import thing by gaal++).
gaal oops :)
autrijus :) 14:09
vkon how can one propose patches for inclusion? 14:10
autrijus Limbic_Region: you got audio only even for .swf?
vkon: oh, it's easy. you give us your email address, then you'll get a committer invitation mail 14:11
and then you commit the patch.
vkon wow! but how can you assure quality of patches?
autrijus also, add yourself to AUTHORS.
vkon: the same way as wikipedia :)
xinming If hashes do carry an intrinsic iterator
what does that mean please?
vkon way good... could you please add me as [email@hidden.address] TIA! 14:12
autrijus invitation sent. welcome aboard!
QtPlatypus xinming: An intrinsic iterator allows you to step threw the pairs in a hash.
vkon thanks. I hope I can be helpful. 14:13
autrijus "step through"
xinming A hash reference in a boolean context returns true if there are any pairs in the hash. In either case, any intrinsic iterator would be reset. 14:14
QtPlatypus: I don't understand that exactly. :-S
autrijus vkon: ah, you are the WinCE perl5 porter. nice :)
QtPlatypus xinming: Can I use an example from perl5?
xinming sure 14:15
QtPlatypus: sure
autrijus xinming: for %hash.kv { next if %hash }
xinming: that paragraph means that would be an infinite loop for a nonempty %hash.
vkon WinCE needs investing more efforts, I hope eventually I'll bring it up-to-date
xinming autrijus: I can understand that. 14:16
vkon autrijus: but initially it was Rainer Keuchel who provided a port...
autrijus so 'intrinsic iterator' is the invisible "cursor" of %hash that tracks how it is being iterated.
xinming for %hash.kv -> $key { next unless $key } won't
autrijus xinming: actually I can argue that neither is infinite loop
where did you see that paragraph? 14:17
xinming Ok, Then, It is a kind of "variable" to keep the current position of a hash key. right?
autrijus in perl5's concept, right
xinming how about p6? 14:18
autrijus in p6, .kv is supposedly a generator list 14:20
that generates its next element dynamically whenever demanded
xinming autrijus: Ok,thanks, I think I understand now. I will check that again. thanks 14:21
autrijus np :)
xinming ?eval my $x = 2; my $t = q:ww/$x/ ; 14:29
evalbot6 \'$x'
svnbot6 r6001 | Stevan++ | Perl6::MetaModel - (p5) - removing all SUPER:: related code. SUPER:: is not really relevant for a true MI environment, it should be some variant of NEXT:: instead. But in order to simplify the metamodel, I removed it all for now
xinming why not 2 instead of $x ? :-S
Or the string is wrong?
autrijus my $x = 2; my $t = qq/$x/; $t 14:30
?eval my $x = 2; my $t = qq/$x/; $t
evalbot6 \'2'
xinming ?eval my $x = 2; my $y = 3; my $t = q:ww/$x $y/ ; 14:31
evalbot6 ['$x', '$y']
xinming In fact, It should generate a list as I thought.
?eval my $x = 2; my $y = 3; my $t = qq/$x $y/ ; 14:32
evalbot6 \'2 3'
Limbic_Region 6000 commits in 7 months - impressive 14:35
err - 6000 commits in 6 months - even more impressive 14:36
autrijus :) 14:37
parrot is still at r8768
QtPlatypus Limbic_Region: How is the rate changing? 14:38
autrijus QtPlatypus: it's linear
Limbic_Region there is a graph QtPlatypus - I don't have the link handy though
it maps commits and committers against time IIRC
has anyone written an obfusicator yet? 14:40
Limbic_Region thinks that might be a good way of identifying parser flaws
svnbot6 r6002 | fglock++ | * Span.pm - last change introduced a bug, fixed. 14:41
iblech QtPlatypus: linide.sourceforge.net/pugs-svngraph-latest.png 14:43
QtPlatypus iblech: Thankyou. 14:57
autrijus hm, the interview is hard to do 15:02
I'll turn to metaphysical mishmash.
ingy_ hola 15:05
I am user number 100
glorious! 15:06
I'm having severe irc problems...
it seems the machine I use for irc is refused connection by freenode 15:07
autrijus ingy_: yo. saw the movie?
ingy_ but for some reason I can connect through this crappy hotel net
autrijus!!
yes!
autrijus happy?
ingy_ is this a jit?
autrijus yes.
totally 15:08
ingy_ for me?
autrijus yup
ingy_ I love you
autrijus thanks, me too
ingy_ it's fantastic
who did all that cool stuff?
autrijus you mean the script?
it's from examples/advocacy/motd/pugspraise by ninereasons and other #perl6 folks 15:09
everything else is done by yours truly
ingy_ and the animatated overlays
autrijus++
autrijus :)
ingy_ lambdahumpies++
do you have time for an interview? 15:11
autrijus you mean the wikiview?
ingy_ ircinterview
are there others around? 15:12
autrijus ircinterview is fine by me
I'll post the wikiview up
already six wikiviews are up 15:13
ingy_ ok one sec...
autrijus and mine is up. 15:14
warning: not what you expected.
ingy_ that's what I would expect though ;) 15:15
ingy_ reads...
while I read, please translate this into pugs: apocalypse.kwiki.org/index.cgi?GonzoProgramming
autrijus er, not sure how 15:17
svnbot6 r6003 | iblech++ | * util/svnlog2graph.pl: Adjust scaling again, as we've exceeded r6000. :)
r6003 | iblech++ | * PIL2JS: Fully ported &prefix:<?> to JS. As it is called extremely often (in
r6003 | iblech++ | &statement_control:<if>, &statement_control:<loop> (and thus all other loop
r6003 | iblech++ | constructs), it should give a noticable speedup, resmoking.
autrijus you mean into perl6 poetry?
iblech: wikiview? :)
iblech autrijus: Yep, writing currently :) 15:18
ingy_ iblech++
autrijus cool
ingy_ autrijus: have you read Fear and Loathing in Las Vegas? 15:19
autrijus no
ingy_ oh hmmm
well it's all about a crazy drug induced hell ride
something like pugs
that paragraph is tha opening line...
I think 15:20
so I wanted to translate it into pugs speak
autrijus ok, I'll try, no promise
ingy_ like "a whole multi colored collection of uppers, downers, laughers, screamers" 15:21
like "a whole multi colored collection of hyperoperators, junctions, sigils, twigils"
dada "a whole pattern-matched collection of..." 15:22
ingy_ yeah
QtPlatypus @drugs = <<uppers downers laughers screamers>>;
ingy_ we need a big see session
What? No. We can't stop here. This is pugs country. 15:23
:D
xinming what's the difference between symbolic reference and hard reference? 15:24
QtPlatypus xinming: I hard refrence is very simmler to a pointer in C. It is a refrence to a storage space in the perl's memory. 15:25
xinming and symbolic reference is just a pkg::name::pkg2::name2 right?
ingy_ Yay. My hotel room just got extended 15:26
QtPlatypus More or less. $::{...}
ingy_ no worries of trying to move this morning
worries delayed 24 hours :) 15:27
autrijus done. 15:40
apocalypse.kwiki.org/index.cgi?GonzoProgramming 15:41
fixes welcome 15:42
ingy: is that what you had in mind? 15:43
ingy back... 15:47
autrijus shower, bbiab &
ingy LOL 15:48
AWESOME!!
autrijus++
I need to record someone like MJD quoting that... 15:51
what's the easiest way to record voice on the mac?
dada something that begins with "i", like iVoice probably 15:52
dada isn't a Mac user :-)
ingy :p
dudley ingy: GarageBand, if you have it 15:54
ingy yeah 15:55
autrijus ingy: it now reads two "grammars" of regexes 15:59
I can record it if you want, but you better find (eg) damian :)
junctions are his idea after all
kolibrie the last bit that reads: in the depths of a junctive autothreading 16:03
shouldn't that be: in the depths of a junctive autothread
or: in the the depths of junctive autothreading
autrijus actually, drop the "a" instead 16:04
kolibrie autrijus: very nicely done, by the way
autrijus thanks :)
come to think about it, we hadn't implemented "a" and "an"
my $hat = a Rabbit sub {...}; 16:05
my $lay = an Egg sub {...};
come to think about it some more, I don't see a great need for it right now ;)
kwiki page updated
dada can I ask 2 questions? 16:08
autrijus yes, you can. what's the other question?
dada 1. given sub foo { ... }, why does pop(@_) works and shift(@_) no? 16:09
they should both either fail or succeed, no?
autrijus right, please write tests :)
dada ok
2. in a given/when construct, is when $_ > 1 a proper when-case? 16:10
autrijus I think so, yes
dada (I seemed to recall so, but didn't find mention in the Apo)
autrijus you may want to put () around them
dada ?eval my $x = 2; given($x) { when 1 { "one" } when ($_ > 1) { "more than one"} default { +$_ } } 16:11
evalbot6 2
dada nope
autrijus given and when are really orthogonal; you can use one without using the other
dada you mean I can write if($_ > 1) inside the given?
autrijus yes.
dada sure, but maybe this is a pugs bug anyway 16:12
autrijus no, I'm pretty sure it's as designed :)
dada so it's a p6l bug :-)
autrijus huh? :) 16:13
dada I'm going to double-check with p6l anyway
kolibrie autrijus: I watched the SWF version of your oscon05 video. Very awesome 16:15
autrijus sure. A04 has "if" inside given
svnbot6 r6004 | vkon++ | do not parse arguments after '--'; do not treat '-foo' as '-f'
autrijus but do doublecheck if it makes you feel better :)
ingy back 16:29
hotel net went down
so autrijus
how long until you sleep?
I need to go eat 16:31
bbiab
stevan ingy++ autrijus++ # fear and loathing in Pugs land
ingy then we can interview
stevan!
stevan ingy!
Aankhen`` What video?
ingy be here in say 2 hours for interview 16:32
&
stevan ingy: that will be right in the middle of a conf call, but I will try
autrijus hum I was planning to nap 16:33
oh well, I can set alarm so I wake up in 2hr.
Aankhen`` autrijus: What video is this?
autrijus Aankhen``: a jit performance of examples/advocacy/pugspraise for ingy's talk
Aankhen`` Link? 16:34
autrijus Aankhen``: see my journal 16:35
Aankhen`` OK, thanks.
autrijus np :)
stevan autrijus++ # perl6 code -> no worries;
Aankhen`` Dinner, BBIAF. &
autrijus stevan: strangely it's also perl5 code
so, no worries about perl 5 entire
s/entire/either/
nap, bbl (hopefully in time for ircinterview) 16:36
&
mjl69 eval $x = 2; given ($x) {when (1) {say 'one'} when (2) {say 'two'}}; 16:38
?eval $x = 2; given ($x) {when (1) {say 'one'} when (2) {say 'two'}};
evalbot6 Error: Undeclared variable: "$x"
mjl69 whoops
eval my $x = 2; given ($x) {when (1) {say 'one'} when (2) {say 'two'}};
whoops again
?eval my $x = 2; given ($x) {when (1) {say 'one'} when (2) {say 'two'}}; 16:39
evalbot6 two bool::true
mjl69 just trying it out.
?eval my $x = 2; given ($x) {say 'one' when 1; say 'two' when 2;};
evalbot6 Error: unexpected "{" expecting operator, ":", ",", term postfix, postfix conditional, postfix loop, postfix iteration, ";" or end of input
mjl69 why doesn't this work? 16:40
dada I don't know if pugs supports postfix when yet 16:41
mjl69 will multiple statement modifiers be allowed for Perl 6? 16:42
dada I don't think so
mjl69 say 'one' when 1 if $y for @z;
dada I vote for no, but maybe I'm wrong
iblech mjl69: when as a statement-modifier is not yet implemented. Look if there's a test for it and if not, write one? :) 16:43
mjl69 oh well. I know some are for and some against.
iblech dada: You're right, Larry has stated repeatedly multiple statemnet-modifiers are not allowed.
But:
do { ... if ... } for ...
And there's do STMT, i.e.
my $var = do given $foo {...}
dada so, Larry has multiple statements about multiple statement modifiers? ;-) 16:45
mjl69 iblech: thanks. as long as it is planned (when as statement-modifier). it makes sense to be able to write it that way.
iblech dada: :D 16:46
gaal ingy: the kwiki is borked 16:54
svnbot6 r6005 | iblech++ | talks/Anatomie_eines_Compilers_am_Beispiel_von_Pugs.latex: 17:02
r6005 | iblech++ | * Brought the section introducing Pugs uptodate.
r6005 | iblech++ | * Added introductory slide about PIL2JS and added slide showing a PIL tree.
stevan gaal: it works for me 17:06
gaal ah, yes, works now.
stevan kwiki is kinda buggy like that ;)
17:26 brentdax_ is now known as brentdax
ingy is back 17:58
well kind of 18:01
this cafe network is not usable 18:02
need to move
gaal do they hand out bandwidth depending on the size of your mug?
wilx Hehe.
stevan ingy: I am working on a small movie based on the GonzoProgamming text 18:04
ingy stevan++ 18:09
but the net here sucketh
err 18:10
nevermind that
but it really does sucketh :)
stevan: I was wanting to get that recorded, so you are doing the ultimate thingy for me 18:11
thanks
apocalypse.kwiki.org/index.cgi?Lamb...lInterview 18:12
I want to do an interview here on irc with autrijus and others
stevan I think he is still sleeping
and I am on conf call
ingy ok, I'll keep all ideas on wiki for now. 18:13
I still have 24 hours
which seems way to early for jit
but then again I am just the messenger here
not the hacker so much
so I feel justified in my sheer terror 18:14
acme__ autrijus++ 18:39
18:41 gugod_ is now known as gugod
svnbot6 r6006 | fglock++ | * Set::Infinite - more "Recurrence Span" tests 18:55
r6007 | iblech++ | talks/Anatomie_eines_Compilers_am_Beispiel_von_Pugs.latex:
r6007 | iblech++ | Almost finished the talk: added section about the problems I've been encountering.
autrijus ingy: I'm back. 18:59
hm, I see I'm 30min late 19:01
for the irc interview
ingy hi! 19:02
autrijus hi!
shall we?
ingy we shall? 19:03
although I might need help with the questions too ;)
ok...
apocalypse.kwiki.org/index.cgi?Lamb...lInterview
Q: What is the basic timeline/milestones of Pugs so far? 19:04
autrijus hm, I believe you have that in your slides 19:05
ingy ok fine
autrijus grep for 'What we have done this month'
that only covers Jun though
and only till 26th, so I can fill in Jul here
ingy Q: I remember that the first thing you finished was Junctions. How much longer was it until 'say' worked? 19:06
autrijus Jun 30 - Test::Builder feature complete 19:07
Jul 10 - Separate compilation, starting with Prelude.pm
ingy what is "Separate compilation"? 19:08
autrijus the idea that each .pm file can be compiled individually.
stevan each pugs committer compiles one sub from the prelude
autrijus sort of like perl5's abandoned .pmc idea
stevan: lol
stevan like python :)
autrijus ingy: basically, whenever you use Test::Builder, if T::B is precompiled, then it just loads the compiled form 19:09
and saves reparsing
perl6 supports full separate compilation, a very good idea that is very long overdue
(it didn't work in p5 partly because loading bytecode is slower than parsing)
Jul 14 - Beginning of Perl 5 evaluator of PIL 19:10
er
or s/evaluator/interpreter/. same thing
Jul 17 - Beginning of PIL to JavaScript compiler
Jul 30 - New PIL runcore in Haskell begins 19:11
ingy sorry, massive lag 19:12
autrijus Aug 01 - MetaModel implementation in Perl5 bootstrapped without reliance on Perl5's native OO model 19:13
supposedly, Aug 02 should be "6.2.9 release" but we'll see.
ingy :)
stevan: describe what is the meta-model
autrijus (if I missed anything please fill it in)
ingy what does it mean to me?
stevan ingy: the metamodel is the underlying structure of classes, roles and instances 19:14
autrijus ingy: "print" works on day 15 19:15
"say" is day 16.
ingy so the metamodel is currently implemented in vanilla Perl5? 19:16
autrijus Feb 15 and 16 respectively, conveniently
stevan ingy: and the metamodel defines how those 3 things work together
ingy how does that connect to pugs?
autrijus ingy: svn.openfoundry.org/pugs/perl5/Perl...taModel/t/ is a good read for a glance
also stevan has partial implementations of the same metamodel in JavaScript and Java. 19:17
stevan ingy: the metamodel will give Pugs it's objects
autrijus ingy: the plan is to port MetaModel to Haskell, use it as the OO system for the new PIL runcore, verify its properties some more, then port it again to Perl 6. 19:18
stevan basically, using primative structures (scalar, array, hash and code) it constructs the object system 19:19
throw a little sugar on top and you have perl 6 OO
ingy can it be used from pugs yet?
stevan ingy: no, not yet
autrijus ingy: no, not unless you use perl5:Perl6::MetaModel;
stevan it is still a perl 5 prototype
autrijus but that is not terribly useful
ingy :) 19:20
stevan autrijus: not to mention insane
autrijus that's a given
instanity is &given; the only question is &when
insanity, even.
ingy: so, the metamodel is the key to Perl6's portability 19:21
without a metamodel, we are at mercy of whatever objects the runtime feel like to support
stevan ingy: and when the metamodel is ported to Perl 6, it will be even more portable
autrijus with a metamodel, the runtime need only to implement a simple non-OO core language.
ingy talk a little bit about how Pugs can use any Perl5 module
stevan (++ self-describing-meta-models) 19:22
autrijus theoretically instead of porting the metamodel thru Perl5->Haskell->Perl6, we could've done Perl5->Perl6 directly, but that will make the runcore much slower, and makes invariants harder to verify
so is probably not a net win. 19:23
stevan and really, it is a very small core
autrijus indeed
stevan once I remove all the rest of the Perl 5 sugar
I ported it to JS in a weekend
ingy does pugs need special compilation to use Perl5 modules?
stevan the java port is harder
autrijus ingy: ok. to use a P5 module, you need to run Makefile.PL with the PUGS_EMBED=perl5 flag
ingy :)
autrijus which fails on win32 currently
then you can use perl5:DBI;
it only really works for OO modules. 19:24
because shared namespaces and lexical scope is something that the perlembed -- aka Inline::* -- model can't ever support well.
so that's just a stopgap feature; the real solution is compiling Perl6 to perl5vm.
ingy how is that possible? 19:25
autrijus beyond the Real solution, the Complex solution is to compile both perl5 and perl6 to ParrotVM.
stevan ingy: the Gonzo movie is taking shape, will upload soon
ingy stevan++
autrijus and the Transcendendal solution is to recompile perl5 into perl6.
so we have three paths.
(for seamless p5/p6 interop)
known as PIL/P5, Ponie, LarryPPD. 19:26
how is compiling perl6 to p5vm possible? 19:27
ingy right
autrijus it is simple. we implement an object space -- i.e. a metamodel -- in perl5
we also implement an alternate set of primitive bindings in perl5, known as the Runtime 19:28
(see ext/PIL-Run/ for a prototype)
finally, we write a compiler that takes PIL tree and emit Perl5 source code that calls into the runtime and the metamodel.
exactly as the current PIL2JS is doing
(I also reserve the option to use Acme::Bleach-type module to transparently enable modules to rewrite themselves with cached perl5 representation.) 19:29
(but that may be too insane. maybe just keep a .pm5 in the same directory.) 19:30
the idea is you should eventually be able to say
use pugs; ...code...; no pugs;
and instead of the current IPC implementation, it will trigger a real, Inline::C type compilation of the ...code...
and save a SHA1 cache... etc etc 19:31
ingy wow
autrijus that is, Inline::Pugs will treat Pugs as a compiled language that happens to compile to Perl5 instead of XS.
I think we can do all this in pure-perl land
instead of involving XS.
if we do, then we can port the Parser and the PIL compiler from Haskell to Perl6 19:32
thereby recompiling the compiler so it will too become just a pure perl5 cpan module 19:33
in which case a Perl5 user will not need a C compiler, but can use Perl 6 in full.
that's my basic plan for interop.
__END__
ingy I'm not ignoring you, I'm lagged sometimes 19:34
baadly
autrijus that's fine
ingy so how many "technologies" are currently playing together in the "Grand Borg Interop"? 19:35
* Parrot
* Perl5 Runtime
...
(this would be a good time to resolve all those P** acronyms 19:36
* Javascript
autrijus and * GHC
ingy is this list too infinite
putter!
autrijus no, that's all there is currently.
please see docs/notes/plan
that explains it well.
svn.openfoundry.org/pugs/docs/notes/plan 19:37
putter & :)
ingy putter: putter apocalypse.kwiki.org/index.cgi?Interviews
do a quick interview for me
autrijus: ok 19:38
nnunley: apocalypse.kwiki.org/index.cgi?Interviews
putter tiptoes out to avoid disturbing the interview in progress.
autrijus putter: I think ingy want you to fill the survey 19:39
so he can read it out loud in his imminent talk
ingy nnunley: ^^ what autrijus say
Q: In terms of major pieces of functionality, who is currrently working on what? 19:40
Aankh|Clone finishes reading the backlog and jumps up and down in excitement.
19:41 Aankh|Clone is now known as Aankhen``
autrijus ingy: at this moment (things change rapidly), the P5 side is mostly stevan, but putter, mugwump and nothingmuch hacks on it too; the javascript side is entirely iblech. 19:42
the PIR side has stalled a bit pending leo stabilizing leo-ctx5; previously it was mostly me and putter, but with lots of input from #parrot, leo and chip 19:43
my current focus is the new PIL runcore, but I consult with the channel for help, and lots of people chimed in as well.
(the new runcore is in Haskell.) 19:44
that's just the parts we mentioned; there are also the parser, build system (gaal++), docs (lots of people), and tests (virtually everybody) 19:45
and of course the many many modules.
and the module/example authors are usually driving forces for new features :) 19:46
__END__
ingy do all the modules in ext actually compile and work? 19:47
clkao hi pugsters, svk 1.02 is out. with the growing size of pugs repository, you shall see significant perforamnce increase on push/pull.
ingy I guess they have their own test suites
autrijus clkao: yes, I upgraded to trunk yesterday 19:48
my HD churns a lot less now
clkao grins
autrijus (I was upgrading from 1.00, so I also benefitted from the leak fix)
19:48 brentdax_ is now known as brentdax
autrijus ingy: yes, and they compile/work as far as their t/ is concerned 19:49
clkao autrijus: make sure you ahve the really latest svn::mirror
0.65 on pause incoming
autrijus roger
ingy btw, can you easily write Perl6 modules in Haskell?
autrijus yeah, and we also have infrastructure people working on essential tools, svk in particular ;)
ingy :)
clkao grins 19:50
ingy autrijus: did you get that last Q? 19:52
btw, can you easily write Perl6 modules in Haskell?
autrijus you can't write perl6 modules in haskell :)
however, you can inline haskell code in perl 6 modules and expect the current runcore to recognize it.
ingy ok cool 19:53
one last Q for now...
What is the current UI/API between Pugs and Cabal?
Khisanth does that require the hs-plugin thing?
Aankhen`` Khisanth: Yes.
hs-plugins.
autrijus Khisanth: aye
ingy Khisanth, Aankhen`` : do an interview on the wiki please
autrijus ingy: the API is p6[cli] 19:54
Aankhen`` I'm just helping with modules, I'm not contributing to Pugs directly...
ingy apocalypse.kwiki.org/index.cgi?Interviews
Aankhen``: that's fine
autrijus Aankhen``: CPAN is the language, Perl just the runtime :)
Aankhen`` Heh.
autrijus Aankhen``: so you are doing the vocabulary :)
ingy you are still contributing
Aankhen`` My mistake, I forgot that. :-)
autrijus ingy: there are talks about IRC meetings, but I don't know if it's been arranged. 19:55
ingy ok... I have to run for now.
autrijus cool. and I'll sleep :)
see you in 10 hours or so
ingy I'll take this into a rough draft and be back later
autrijus k
ingy thanks!!!!
autrijus np. rock on! 19:56
ingy see you in 10!!
or so ;)
putter autrijus: very quick question. Syn "rx" goes away in PIL2, yes?
autrijus putter: there's no Syn. 20:01
in PIL2.
Syn is a parse tree thing.
Limbic_Region ingy - you still about? 20:06
you might want to ask autrijus what his plans are now that his 6 month sabbatical is over 20:07
at least I would like to know
autrijus heh. I can answer you
Limbic_Region right - I figured as much 20:08
but I am betting a larger audience would like to know
Limbic_Region doubts seriously more than a few know that you turned down funding initially to have the freedom to do what you want and gave yourself six months *mostly* off from $work to see what you could do 20:09
since Pugs is all the rage now and it has such visibility - I bet people will be quite interested to know what happens now 20:10
so perhaps ingy comes back and backlogs - what's the answer - huh huh huh?
autrijus sorry, I was in #haskell discussing antibuddha
urchin.earth.li/darcs/antibuddha/README # fun 20:11
stevan nice 20:12
autrijus yeah. talking about adopting modperl2 technologies
and enable both single and multiple interpreter
so. my plans 20:14
I'm currently getting consulting gigs and try to work so I can fly to icfp & euroscon
Limbic_Region fwiw - I am still working on that whole "win the lottery thing"
autrijus I think I'll keep diverting 50%/50% on pugs and $work for the next two months 20:15
and after I'm back to euroscon, maybe putting more time to $work so I can get another (maybe shorter) sabbatical in early 2006
this time spending few months in .eu with leo or other lambdas or camels 20:16
that's about it for now
Limbic_Region IIRC, you indicated you weren't opposed to funding now
autrijus that's right; the tpf page has been udpated 20:17
so a writeup on my journal pledging for sponsorship prolly won't hurt.
Limbic_Region there has been a lot of contraversy over who gets funding and what they do with it 20:18
autrijus but I can't deliver milestones the same way TPF grants work really -- I can shift priorities, write journals, get releases, publish papers, and that's that
Limbic_Region I doubt there is anyone out there that would or could question that you wouldn't be productive
but would you still want funding if it meant you didn't have the liberty to completely tear something apart you felt needed fixing
Limbic_Region notes we are a bit out of phase 20:19
you are answering questions before they are asked
autrijus right, must be this time machine thing
let me readjust it a bit
better
now, where are we?
Limbic_Region was about to ask how much it would take to fund you for a month 20:20
where you could be at least as productive as if you had a 9-5 hacking pugs that is
stevan 3 cases of diet coke, 50 packages of Ramen,... 20:21
stevan calculates ...
Limbic_Region well - not to inflate autrijus' head but 20:22
autrijus Limbic_Region: usd$3k/month is I think what it takes to let me focus completely
Limbic_Region ok - let me finish my last thought
autrijus and will also cover travel to people 20:23
Limbic_Region 8hrs productivity doesn't equate to 8 hours of work for autrijus - past performance illustrates this - you also have the ability to switch tasks rather easily and not take too long to readjust
autrijus that's right. so I'm okay with funding come in in 1month units, even. 20:24
or even partially. (and even not at all. :-))
Limbic_Region well, I will come out of lurker status for 1 hr only to summarize this on my journal - feel free to point people to it 20:25
autrijus it's just a matter of how much accelleration it's going to effect
putter does the 3k$us include whatever tax bite .tw takes?
Limbic_Region I think it is important to know that you are not independently wealthy and that it isn't a lot of money to keep you going 20:26
s/and/but/
autrijus putter: .tw has no tax for foreign wireins.
putter k
autrijus putter: very commerce friendly
Limbic_Region: yeah. I calculated 6 months to precisely deplete my savings completely (well, honestly, there's ~usd$3k left), so I'm very not wealthy now. otoh, it's not very hard to find short term works either. but sponsorship would help, too. 20:28
Limbic_Region well autrijus, I think it is important to put that into perspective too
it works out to be about $100 USD / day since I seldom see you take days off 20:29
autrijus *nod*
Limbic_Region and assuming you only worked 8 hours a day - that would be $12.50 / hour
there are people working at McDonalds making more than that
autrijus mcdonalds people take days off :)
so you'll be better dividing it by 44 or 42 or whatever working hour is normally 20:30
Qiang they get free diet coke too. ;-)
autrijus Qiang: that's right!
Limbic_Region they also pay taxes
so that number would still be a lot lower 20:31
autrijus anyway, that's $18/hr in the ballpark.
Limbic_Region ok - so even at $18.75 / hr, it is still a huge bargain since the 8hr of work equates to much more productivity then the "norm"
Limbic_Region notes the time and heads for home but will summarize this on his journal tonight 20:32
autrijus and you can argue it accelerate other people and other projects too, etc.
Qiang autrijus: noticed its 16:33, are you living in the NA timezone now? 20:33
Aankhen`` My "interview" is up, hope it helps.
autrijus Qiang: no, I stayed up to do interview with ingy
and then L~R. I really need to head back now
Qiang: you may like this: apocalypse.kwiki.org/index.cgi?AutrijusInterview
Aankhen`` Right. 20:34
G'night.
autrijus ah, aankhen is in india. didn't know about that 20:35
Qiang autrijus: cool. the chinese doesn't show up correctly, but i guess the english is translation of the chinese? 20:36
that should read. some of the chinese doesn't
autrijus ah. they are in zh-tw. you'd need tongwen.mozdev or something like that
Qiang oh. can even show it partially correct in utf-8 20:37
tongwen is extention ?
autrijus yeah 20:38
that does tw/cn translation
in zh-cn those words would be
å­°čƒ½ęµŠä»„ę­¢ļ¼Ÿé™ä¹‹å¾ęø…ć€‚å­°čƒ½å®‰ä»„久ļ¼ŸåŠØ之徐ē”Ÿć€‚äæę­¤é“者ļ¼Œäøę¬²ē›ˆć€‚ / ć€Œę›²åˆ™å…Øļ¼Œęž‰åˆ™ē›“ļ¼Œę“¼åˆ™ē›ˆļ¼Œę•åˆ™ę–°ļ¼Œ 少则得ļ¼Œå¤šåˆ™ęƒ‘ć€‚ć€ę˜Æ仄圣äŗŗꊱäø€äøŗ天äø‹å¼ć€‚ / äŗŗ之ē”Ÿä¹ŸęŸ”å¼±ļ¼Œå…¶ę­»ä¹Ÿåšå¼ŗ怂草ęœØ之ē”Ÿä¹ŸęŸ”脆ļ¼Œå…¶ę­»ä¹ŸęžÆ꧁怂ꕅ 坚å¼ŗč€…ę­»ä¹‹å¾’ļ¼ŒęŸ”å¼±č€…ē”Ÿä¹‹å¾’怂ę˜Æ仄兵å¼ŗ则ē­ļ¼ŒęœØå¼ŗåˆ™ęŠ˜ļ¼Œå¼ŗ大居äø‹ļ¼ŒęŸ”弱居äøŠć€‚ / äøŗꗠäøŗļ¼Œäŗ‹ę— äŗ‹ļ¼Œå‘³ę— ōæ½xE5ōæ½x91
Qiang: does that look correct?
Qiang remember that you saying you had the problem where all chinese in irc becomes sqare box. did you get it fixed? i am still getting that 20:39
squar
autrijus I got it fixed after reinstalling irssi with recode
oh well. :-/
clkao grins
Qiang hm. you didn't have recode before ? 20:40
autrijus that's right
Qiang i am wondering how come we can read utf-8 chinese before even without recode 20:41
oh well. :-/ guess i will try what you have done
autrijus have fun. :) I'll sleep now. 20:42
putter Good night autrijus.
Steve_p Ow! My eyes!~;)
Qiang night.
autrijus stevan: if you can changelog within the next 12 hours or so, that'd be nice; otherwise maybe delegate to gaal or others; if all fails I'll do it tomorrow once I'm up 20:43
autrijus waves &
stevan autrijus: I will take care of it 20:44
ingy stevan: how's the video? 21:25
svnbot6 r6008 | putter++ | VRule, which formerly appeared as Rule, now appears as Pugs::Internals::VRule, which does a new role Rule. All t/ ext/ and t_disabled/ tests work. This is a preliminary to having additional regex engines.
ingy stevan: mail me a url 21:26
lunch&
putter iblech: I didn't check PIR2JS prior to making the VRule change (r6008). Backing it out is fine if it causes you problems. The change has the unfortunate concequence that /a/.ref is no longer Rule, as specced. Rule was both a role and the pugs internal implementation class. I don't believe the equivalent of String/Str has been specced yet.(?) 21:35
pasteling "mxmasster" at 66.113.65.25 pasted "Help with Excel Spreadsheet" (8 lines, 405B) at sial.org/pbot/12181 21:36
iblech putter: No worries :) PIL2JS doesn't do any rx things yet, so I'm absolutely fine with that change :) 21:37
stevan ingy: look on the wiki, I posted a URL 21:42
putter ok. :) I noticed the js regexp model is regretably limited (no embedded code or named backrefs). A modified pcre backend will transliterate and unpack, but it looks like full rules support will have to wait for the next step, a pure p6 engine... 21:44
iblech Right... 21:47
svnbot6 r6009 | iblech++ | * docs/notes/plan, Anatomie_eines_Compilers_am_Beispiel_von_Pugs.latex: 22:02
r6009 | iblech++ | Very minor typo fixes.
r6009 | iblech++ | * PIL2JS:
r6009 | iblech++ | * PIL::Subs: $?SUBNAME, &?SUB and &?BLOCK all correctly reset to their
r6009 | iblech++ | pre-subentry contents when a sub is about to return. This means
r6009 | iblech++ | t/magicals/subname.t passes 3/3 now. :)
putter I'd like to say op2Match x@(VRule _) y | not y@(VRule _) = op2Match y x but that doesn't work. Thoughts...? 22:11
iblech Hm, define op2Match x@(VRule _) (VRule _) = ... and op2Match x@(VRule _) y = op2Match y x? 22:14
putter yeah, I tried that next. :) helpfully, ghc gives overlapping definition warnings... (theres a default op2Match x y = ... case). 22:16
:( 22:17
buu Holy god, what language is that?
iblech Haskell :)
buu It's worse than malbolge!
Darren_Duncan seen ingy 22:26
jabbot Darren_Duncan: ingy was seen 59 minutes 36 seconds ago
Darren_Duncan if anyone's at OSCON, I'm interested in meeting ... I'm currently in Damian's best OO practices, and will attend evening events afterwards
ingy, hopefully today will work (not waiting too long and all) 22:27
putter iblech: courtesy of #haskell, create a guard predicate not_VRule and do op2Match x@(VRule _) y | not_VRule y = ... :) 22:28
iblech putter: oooh, nice! :) 22:29
pdcawley_ Darren: What's the like?
Damian's talk that is.
Darren_Duncan great
he's the best speaker I've seen anywhere 22:30
also very helpful with questions
pdcawley_ Yeah. I'm guessing that he's not got worse since I last saw him.
Darren_Duncan I'm learning/reinforcing things I can apply right away
putter And available for world-wide training sessions as well... ;)
Darren_Duncan I also got him to sign my tutorial books and his new Oreilly book
22:31 sili is now known as perlboy
Darren_Duncan he also said a comment I made about his Best Practices talks and books was very insightful and/or that few to none else have said so 22:32
pdcawley_ My copy of that's in the post. I'm looking forward to it.
22:32 perlboy is now known as sili
pdcawley_ Ooh.. get you.. what did you say? 22:32
Darren_Duncan what I said is that, knowing Damian's heavy involvement in Perl 6 design ...
I said that I thought his recommended practices in Perl 5 was to get us working in ways that would become more natural in Perl 6 22:33
something like that
pdcawley_ Ah... yes. That wouldn't surprise me at all.
Darren_Duncan still, his reply said or implied that he hadn't heard anyone, or hardly anyone, realize that
and yes, I came to that on my own 22:34
pdcawley_ Well, if you start writing Perl that looks like Perl instead of warmed over C or whatever, Perl 6 is going to fit your way of thinking really well. 22:35
I've always thought that the people who were squawking that Perl 6 "doesn't look like Perl" probably didn't know what Perl actually looked like. Which is possibly laying it on a little thick, but not that much... 22:36
Darren_Duncan mind you, I've been making serious efforts to make my Perl 5 look like Perl 6 will (helped by my attempts to write Perl 6) look, so people migrating have the easiest time in using them, and it is easier to keep them in sync 22:37
pdcawley_ Higher Order Perl's another good book if you want to write code that's going to be even easier in Perl 6.
Darren_Duncan don't have that ... who wrote it?
pdcawley_ Dominus. 22:38
It's great.
Darren_Duncan will look for it
pdcawley_ HOP in Perl'll be great. All the little callbacks he uses that use $_[...] for convenience and with all the extraneous subbiness can get replaced with -> $named_args {...}
Which'll be *lovely*
I WANT POINTY BLOCKS NOW DAMMIT! 22:39
putter With a language as large as p5, people use personal dialects, subsets of features. So it seems at least plausible that for some narrow dialects, p6 breaks a significant portion of their idioms. (putter tries to give people the benefit of the doubt) 22:50
svnbot6 r6010 | putter++ | /a/ ~~ "a" now works, rather than only "a" ~~ /a/. iblech++ #haskell++
putter Tried to write r6010 in Prelude.pm (one line) rather than haskell (several), but infix:<~~> on VRules just wasnt happening. 22:52
dudley hmm. Does perl 5.8.7 build with gcc 4.0? 22:57
Khisanth gcc 4.0 sounds annoying already :) 23:00
dudley Yep.
I'm getting those annoying linking errors again, but I'm sure it's not parrot this time. 23:01
I think I may have built perl5 yesterday with 4.0
putter dudley: mac? 23:02
dudley yeah, 10.4
putter there's a section in INSTALL...
dudley Yeah, I wrote it.
putter doh.
dudley :-) 23:03
ingy stevan: Gonzo.mov will not play :( 23:17
putter iblech, is there any reason a Parser.hs couldn't possiblyApplyMacro $ App (Var "&rxbare_") Nothing [expr] where macro rxbare_ ($pat) is primitive is safe is defined in the Prelude? 23:20
ingy stevan: > md5 Gonzo.mov
MD5 (Gonzo.mov) = a5f410418ea0635201c9e2c5924707bd
iblech putter: Should work. 23:21
putter: If it doesn't, maybe fully qualify the subname.
putter No compatible subroutine found: "&rxbare_" :( Thanks - thought I'd get a reality check before debugging... 23:22
k
iblech Hm, have you added &rxbare_ and the end of the Prelude? 23:23
putter yes.
iblech (I tried adding a stub &tied some days ago, to the end of the Prelude, too, and Pugs didn't find it then.)
putter haven't tried "&*rxbare_" ... in progress...
ah. 23:24
cybercobra newbie question - what's logical err? (err, //) 23:27
iblech my $a = undef // 3; # $a will be 3 23:28
my $a = $all_other_values // 3; # $a will be $all_other_values
I.e. if the first arg is undef, return the second arg, else return the first arg 23:29
sub infix:<//> ($a, $b) { defined($a) ?? $a :: $b } (ignoring the thunkiness of $b)
cybercobra ahh. thanks. and the pipe operators? (==>, <==) 23:30
putter ($a // $b) in p5 is (defined $a ? $a : $b)
Odin- Pass everything on the blunt end into the 'rest' argument of whatever is on the pointy end.
iblech I.e. @array ==> map {...} or map {...} <== @array
cybercobra so it means 'append/prepend the array result on the pointy end to the array on the blunt end'? 23:32
ingy hey guys, why does the pugs interpreter sound an alarm constantly? 23:33
it is also making my readline keys behave very strangely
putter (@a ==> map {}) is in p5 (map {} @a)
which you can still do. also @a.map:{}
the advantage is @a ==> map {} ==> grep {} ==> @b is clearer than the p5 equivalent. 23:34
sortof.
woot. explicit Foo::rxbare_ at both ends works. 23:37
iblech ingy: Hm, pos1/end etc. work *sometimes* strangely here, too 23:38
ingy iblech: when I start up the pugs shell, it goes beep beep beep... forever 23:41
but it still works
except when I hit an arrow key
iblech weird
ingy it is repeated
forever it seems 23:42
it is very odd
I'm using a mac
with pugs @ 6007 or so
this has been happening for some time though
cybercobra what's adverbial (:) do? 23:49
putter :x is (x => 1) :x(3) is (x => 3) :x<foo> :x[3,4,5] :{} is sub { } 23:53
iteracts nicely with named arguments. sub foo(+$x,+$y) ... foo :y(12) :x(2); 23:54
cybercobra so, it's like keyword args but w/ a funny syntax? 23:55
putter 1 .. 10 :by(2) # which doesnt work yet
cybercobra ahh, like smalltalk selectors. neat. thanks. 23:56
putter yes. it's a shorthand for a pair, which are used for keyword args.
np.
cybercobra putter: and semi-infinite range (...) ? 23:57
buu Holy christ 23:58
putter 1 .. Inf ;) sortof. lazy.
cybercobra okay. that makes sense. 23:59