Pugs t-shirts www.cafepress.com/pugscode | Pugs 6.2.9 released | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net
Set by stevan on 15 August 2005.
luqui xinming, well mostly because it's just good compiler design 01:44
like you said, it helps us bootstrap 01:45
xinming luqui: then, What will pugs be in the future?
luqui and it means we have somewhere to go if parrot ends up not being so hot
I think pugs will always be a bootstrap
since Perl 6 really ought to run in Perl 6
xinming luqui: So, Pugs might take place of "Parrot" :-)
luqui I mean, be compiled by a perl 6 program
I doubt it
Pugs just keeps our options open, so mono, jvm, *vm, etc. can take Parrot's place if they need to 01:46
(javascript included in that list :-)
it also gives us nice portability and interoperability options if parrot does succeed, too
I guess the real answer is "because it's silly not to" 01:47
xinming luqui: hmm, I'd like pugs can be keep pugs. :-) with too much options, might confuse some people. Just like me. :-P 01:48
xinming is going to read tutorials. 01:50
luqui which tutorials? 01:51
ingy hola 01:52
xinming luqui: maybe haskell, maybe Synopsis. :-) 01:53
luqui hi ingy
xinming ingy: hi
luqui ahh, indirect object syntax :-)
ingy hi luqui 01:55
I have become famous overnight
luqui you weren't famous before?
obra Maybe pugs will run on the new ruby vm
ingy Wikiwyg
luqui what you kill is what you get?
:-p
*what I kill 01:56
ingy it del.icio.us/popular/ and all over google after 3 days
it's creepy
luqui well...cool 01:57
xinming seen autrijus 01:58
jabbot xinming: autrijus was seen 1 days 22 hours 24 minutes 39 seconds ago
xinming wish autrijus will take care of himself. 01:59
s/wish/wishes/
luqui: you still there please? 02:38
luqui: I think I found a bug in Synopsis, But I am not so sure, I just have to confirm first. ;-) 02:39
luqui: hmm, I was wrong, Sorry for the confusion... 02:40
xinming is blind... @_2 02:41
A leading [ or + indicates an enumerated character class: 02:53
A leading - indicates a complemented character class:
can anyone here give me an example for this?
luqui <+[a-z]> # alpha 02:55
<-[a-z]> # any character that is not a-z
xinming luqui: thanks 02:56
Khisanth so no more <[^a-z]>? 03:24
hmm <[^_^]>
xinming <[$_$]> 03:28
<[@_@]> 03:29
:-)
<[/\/| $]> 03:30
Khisanth <[@_@]> for some reason I am associating that one with autrijus :) 03:32
jql waits for <[a-z] (-) [aeiou]> 03:52
svnbot6 r6441 | putter++ | PIL-Run - t/01-sanity/04-if.t passes. iblech++
r6442 | fglock++ | * perl5/ Array - implemented boxed lazy Array
luqui jql, you wait for that to be implemented?
or specced?
jql suggested
luqui it was suggested long ago 03:53
and it was part of perl 6 for a long while
jql umm...
no, not with the new set ops
which are new afaik
luqui (right, the semantic equivalent_)
jql well, that's what I meant
operator unification
luqui still, we killed char class set ops altogether
other than union
hmmm.. 03:54
jql unicode bleh
luqui actually, the only thing we killed was intersection, I suppose
svnbot6 r6443 | putter++ | EvalX.pm: unbreak t/01-sanity/03-equal.t 03:59
allent17 anyone in here familiar with bioperl? 04:10
luqui why?
you going to do a perl6 port?
allent17 ha, nah, just need a little help
luqui you should probably go ask at #perl
QtPlatypus Though porting bioperl to perl6 would interesting. 04:15
luqui sure... if only I knew the first thing about it 04:19
and if only it were useful without being really really fast
(I guess that's the first thing about it)
QtPlatypus only knows the first thing about it. 04:20
luqui knows that it's his bedtime 04:21
Khisanth has only heard complaints about bioperl 04:27
QtPlatypus What sort of complaints? 04:34
Khisanth they were mostly non constructive and shallow though :) 04:37
QtPlatypus Damn.
Its just that bioperl is one of the application areas where it would be nice to get imput from. 04:39
tewk ll 05:21
Boy I'm good at that 05:22
QtPlatypus Good at what? 05:24
Apprently generating random non-sequturs. 05:55
putter ok, p5. $n = '$P::x'; $$n = 3; Question - what variable is now 3? 05:56
bah. $n = 'P::x'; thanks. 05:57
jql $n = '$P::x' would work, too 05:58
:)
perl ain't picky
putter ;) though sometimes, as now, not-picky == dont notice bug until loooong after its created. :/ 06:01
06:20 jp-autar1 is now known as jp-autark
putter ah well. PIL-Run subs will have to wait for tomorrow (aka later today). 06:43
&
xinming @objectĀ».=meth(@args) # calls mutator method on each 11:20
does this mean, @object[0] .= meth(@args), @object[1] .= meth(@args), @object[2] .= meth(@args)... ? ? 11:21
masak xinming: i think so 11:45
dang, perl6 operators can really blow one's mind 11:46
xinming masak: maybe because I am not clever. T_T 11:48
?eval [*](1..100)
evalbotzy 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
xinming ?eval [+](1..100) 11:49
evalbotzy 5050
xinming I like this :-)
elmex <gnaa>perl6 is too complicated and parrot will never be finished.</gnaa> 11:53
QtPlatypus wonders perl6 will optimize [+](1..100) -> ((1+100)*100)/2 11:55
I guess not would be hard to match.
nothingmuch antishithemins are making me droooooowwwwzzzyyy 12:05
QtPlatypus: with peephole optimizations and *value* inferrence it should be easy 12:06
if I had more time i would start writing a PIL optimizer plugins
and the optimization framework
QtPlatypus nods 12:07
masak xinming: oh, i think you're clever. it's just that perl6 operators require that and more 12:08
nothingmuch QtPlatypus: if you're tempted i posted a mail about the optimization pipeline sometime in early july, on p6l 12:09
QtPlatypus will take a look. 12:10
GeJ Talking about optimizations, do you know if there will be a way to code a lib/module/whatever in PIR and use() it in a perl6 script? 12:11
maybe there's an API already specced?
nothingmuch GeJ: there will be, 100% surely 12:12
and right now pugs has eval_pir
scook0 I would be very surprised if it were not possible
nothingmuch but i don't think a module interface is implemented yet
the interface should look like 'use pir:SomeModule'
and the 'pir' foreign interface plugin defines:
where to look
how to load
how the interface is exposed
QtPlatypus The macro interface can almost do it. 12:13
scook0 nothingmuch: `use pir:SomeModule`?
wouldn't you just compile to PBC (or whatever), put it in your path, and say `use SomeModule`?
(I suppose I'm just nitpicking...) 12:14
nothingmuch sorry, back 12:20
i don't know
GeJ nothingmuch: hum, yummy... :) Unfortunately, it may generate more flame from those who blame perl for being cryptic when they take a perl golf entry as "regular" perl code. :)
nothingmuch i guess 'use SomeModule' should work if it was perl
but if it's handwritten pir it's a different "domain" of code 12:21
whether in effect it's cached bytecode from the perl somemodule, or compiled bytecode from the pir somemodule is an implementation detail
and in fact what I'm writing to p6l at the moment
xinming Any one here can give me an example of sub.wrap? 12:51
scook0 xinming: hmm, let me think 12:55
ok, let's say we have `sub eat_meal { ... }` 12:56
and that's all working fine
then at some stage we discover that we need to wash our hands before eating a meal 12:57
so we say:
my $h = &eat_meal.wrap( { wash_hands; call } ) 12:58
and from now on, any time we call eat_meal()
it will call wash_hands(), then call the original code
then when we don't need to do this any more 12:59
we say:
&eat_meal.unwrap($h)
and it goes back to normal
kvakke wow
scook0: what is $h? 13:00
scook0 kvakke: a unique value 13:01
that lets you identify this particular `wrap`
so that you can undo it later
without affecting other wrappers
kvakke ok, that's really cool
xinming scook0: It seems like sub func will do { ... } { ... };
nothingmuch scook0: we're thinking of a wrap mutiny 13:02
xinming s/seems/seems to be/
nothingmuch .wrap should not be mutating
&sub.=wrap is the mutating variant
kvakke I installed pugs yesterday, now I don't know what to do with all the power...
nothingmuch furthermore you can edit the stack
scook0 nothingmuch: ooh, .= goodness
(functional programming)++
nothingmuch and have access to the wrapper stack from within each wrapped thingy
s/wrapped/wrapping
s06's .wrap is too much like Hook::LexWrap which, with all due respec, is a pretty lousy interface 13:03
&sub_with_wrapper should have the .nested_sub method to retreive the original wrapped sub
scook0 nothingmuch: the only issue is whether it affects everybody's view of &sub
nothingmuch and also have things like '&further_augmented = &sub_with_wrapper.remove_deep_wrapper(name)' 13:04
scook0: you can replace the symbol, or use .-
scook0 (which I suppose depends on the exact semantics of .= )
nothingmuch (which are the same)
xinming hmm, What about sub func will (first|...) `forgot the automatic hooks` ?
nothingmuch &some_sub.=wrap(sub { "i'm a wrapper"; call });
and then later
scook0 xinming: it was just a simple example
nothingmuch &some_sub.=nested_sub; # or a better name
scook0 you can actually do more complicated stuff 13:05
nothingmuch the subs should also give you access to the whole stack, so that if you wrap a with b to get b', and wrap b' with c to get c', you can ask c' to remove the b wrapping, and get c'', which is c wrapped around a
scook0 xinming: the example in S06 converts Fahrenheit to Celsius
actually, the `mutator mutiny` thing reminds me of one of my pet peeves: 13:07
the fact that s/// does mutation
svnbot6 r6444 | fglock++ | * PIL-RUN - (1,2,3) stringifies correctly; 'Array' implemented.
scook0 and it's actually /harder/ to substitute on a copy 13:08
nothingmuch scook0: i agree, but It
's very useful none the less
do you have an idea you could raise to p6l?
scook0 nothingmuch: bah, too tired for that now 13:09
wolverian scook0, I suspect it's mostly to make map { s/// } ... trivial
(and fast)
nothingmuch wolverian: s/trivial/dangerous/; ?
as for fast - static analysis is your friend! 13:10
wolverian if you can fix it, please do!
scook0 (well, if we can't even change `==` for historical reasons, I don't see what chance `s///` has)
wolverian I like how == behaves currently. 13:11
scook0 perhaps I'll just `no substitutions 'mutation'` or something :)
xinming scook0: thanks, I will think more on your words. 13:12
scook0 wolverian: I prefer == for generic-equals, but then again I don't really have a Perl background
wolverian nothingmuch, I meant s/// for @foo; above
scook0, right, I do. 13:13
nothingmuch wolverian: ah, that's something completely different =)
wolverian and I'm sure neither of us is right. :)
nothingmuch phew, long post
wolverian nothingmuch, yes. I haven't slept too well. :)
nothingmuch is also drowsy
anti-histhemines
i hope my p6l post is Good Enough
wolverian histamines 13:14
I slept about six hours and had a lactose intolerance test in the morning, so I couldn't eat after 8pm last evening
nothingmuch can't spell
oi
scook0 nothingmuch: better than `antishithemins` -- took me a few seconds to figure that one out :) 13:15
wolverian basically, they gave me a large jug of lactose :)
nothingmuch ouch 13:16
that's horrible if you do have lactose intolerance
do you know what lactose intolerance actually works like? I was shocked
wolverian I know the mechanism, yes
nothingmuch imagines bacteria making a joyous feast in wolverian's tummy 13:17
wolverian little bacteria farting in your stomach :)
right. :)
nothingmuch stomache or intestines?
iblech, fglock, putter, stevan, autrijus, parrot people - the p6l post concerns you 13:18
wolverian right, intestines.
scook0 bye chaps -- bedtime for me 13:20
nothingmuch ciao scw 13:21
uh, oops
tab completion makes it into an even bigger mess
ciao! 14:28
svnbot6 r6445 | fglock++ | * PIL-Run - fixed some problems with internal recursive lists 14:52
r6446 | fglock++ | * PIL-Run - 1..1000000000000000 works
kvakke ?eval [+] (1..10) 15:44
evalbotzy 55
Juerd The parens are unnecessary. [op] is a listop, like print. 16:02
?eval [+] 1..10
evalbotzy 55
Juerd ?eval [**] 1..10 16:03
evalbotzy 1.0
Juerd :)
?eval [**] reverse 1..10
evalbotzy Inf
Juerd Woo!
?eval Inf + 1
evalbotzy Inf
Juerd ?eval ~Inf + 1
evalbotzy Inf
QtPlatypus I thought they did bigint support
?eval 2**32
Juerd QtPlatypus: *this* big?
evalbotzy 4294967296
QtPlatypus ?eval 2**64
evalbotzy 18446744073709551616
Juerd ?eval "Inf" + 1 16:04
evalbotzy Inf
QtPlatypus ?eval 2**128
evalbotzy 340282366920938463463374607431768211456
QtPlatypus ?eval 2**2**2
evalbotzy 16
Juerd ?eval 10**9
evalbotzy 1000000000
QtPlatypus ?eval 2**2**2**2
Juerd ?eval 10**9**8
evalbotzy 65536
Inf
QtPlatypus ?eval 2**2**2**2**2
evalbotzy 20035299304068464649790723515602557504478254755697514192650169737108940595563114530895061308809333481010382343429072631818229493821188126688695063647615470291650418719163515879663472194429309279820843091048559905701593189596395248633723672030029169695921561087649488892540908059114570376752085002066715637023661263597471448071117748158809141357427209671901518362825606180914588526998261414250301233911082736038437678764490432059603791244909057075603
QtPlatypus ?eval 2**2**2**2**2**2
evalbotzy Inf
Juerd ?eval 10**9**3
evalbotzy 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Juerd ?eval 10**9**4
evalbotzy 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Juerd ?eval 10**9**5
(irc message limit. hehe)
evalbotzy (no output)
Juerd ?eval 10**9**6 16:05
evalbotzy (no output)
Juerd ?eval 10**9**7
evalbotzy pugs: out of memory (requested 1048576 bytes)
Juerd ?eval 10**9**8
evalbotzy Inf
QtPlatypus ?eval 10**10**100
evalbotzy Inf
Juerd weird!
10**9**8 is inf, but 10**9**7 uses too much memory.
pdcawley_ Boggle 16:11
coral ?eval 10**9**8**0.1 16:18
evalbotzy 9.032825325192743e14
svnbot6 r6447 | fglock++ | * PIL-Run tabs cleanup
coral ?eval (10**9**8|10**9**8)**0.1 16:19
evalbotzy Inf
svnbot6 r6448 | fglock++ | * PIL-Run - registered type 'Bit'; bool::true/bool:false works 16:40
elmex ?eval print "i'm stupid" 16:44
evalbotzy i'm stupidbool::true
elmex ?eval print "\001ACTION pukes on the floor\001\n" 16:46
evalbotzy ACTION pukes on the floor bool::true
elmex ?eval print "\001ACTION dances around\001"
evalbotzy ACTION dances aroundbool::true
elmex *G*
wolverian I like flaming threads that burn down to intelligent discussion. 16:50
elmex ?eval print "\001ACTION dances around\001"; "" 16:51
evalbotzy ACTION dances around''
elmex ?eval print "\001ACTION dances around"; ""
evalbotzy ACTION dances around''
elmex hmm
?eval print "\001ACTION dances around"; undef
evalbotzy ACTION dances aroundundef
svnbot6 r6449 | fglock++ | * PIL-Run - 'a' x 10000000000 works
elmex wolverian: what discussion?
wolverian elmex, the thread that started with Kevin Tew's "Python PMC's [sic]" on perl6-internals 16:52
elmex ah :)
Khisanth ?eval "\001ACTION dances around\001" 16:53
evalbotzy 'ACTION dances around'
elmex weird
python will be the first finished (serious) language that runs on parrot ;) 16:54
Khisanth ?eval print "\001ACTION dances around"; sub foo {return ""} foo
evalbotzy ACTION dances around''
Khisanth ?eval print "\001ACTION dances around"; sub foo {return "\001"} foo 16:55
evalbotzy ACTION dances around''
Khisanth shakes his fist at the bot
elmex *g* 16:56
Khisanth hrm those would have work on some clients 16:57
elmex: how far along is python on parrot? 16:59
svnbot6 r6450 | fglock++ | * tabs cleanup 17:05
r6451 | putter++ | PIL-Run - namespace now hierarchical. 01-sanity/05-sub.t passes.
fglock putter: ping 17:06
putter fglock: pong 17:07
fglock can you help to find out why 1..10.reverse doesn't work? I think the pil is not being read properly 17:08
putter sure, looking...
hmm, before I get to that, it looks like the hierarchical namespace patch broke even basic lists (3,4) ... 17:10
fglock it still works here. did you update Value and Container ? 17:11
putter sigh. usual putter problem. usual putter comment. usual fglock suggestion. usual fix. usual putter post-fix comment. 17:12
fglock I usually use 'svn up ../..' 17:13
putter ;) thanks. good idea. or just svn up .. , so pugs doesnt get updated. 17:14
fglock there are 3 list constructors working: (1,2,3) (1..10) (1 x 10)
putter err, where is reverse defined? it doesnt seem to be in Prim... 17:15
fglock I don't know how to specify 1..10:by(2) syntax
PrimP5.pm - MULTI SUB reverse (@xx) { @xx->reverse }; 17:16
putter 1..10:by(2) wont parse anyway. adverbs on operators dont work yet (I only did them for f calls).
ok, so 3 problems. reverse(@xx) { @xx->reverse } should have been reverse(@xx) { $xx->reverse } since @xx is now in p6 land, which becomes a $xx scalar ref in p5 land. yeah, it sucks/confusing. perhaps it should change. 2nd, its the other version, reverse($xx){...}, which is called currently. that gave the ... "unimplemented" message. 3rd, method calls arent implemented in EvalX. so (3..4).reverse reduces to reverse() which give 17:23
s "cant call reverse on undef!". shall I add method calls? ;)
svnbot6 r6452 | putter++ | PrimP5.pm: minor reverse() fixes
xinming ?eval my @ary = (3, 4, 5, 6); @ary >>-<< 1 ; @ary; 17:25
evalbotzy [3, 4, 5, 6]
xinming ?eval my @ary = (3, 4, 5, 6); @ary = >>-<< 1 ; @ary;
evalbotzy Error: unexpected ">" expecting term
fglock cool - reverse(1..10000000) works
method calls? sure! 17:26
xinming hmm, How to decrease 1 for each element of an @ary?
wolverian @ary>>--
xinming ?eval reverse(1..10)
evalbotzy '01 9 8 7 6 5 4 3 2 1' 17:27
xinming :-) It seeems it do reversing too much...
wolverian @ary >>-= 1 # I assume
xinming wolverian: hmm, I know this, But...
?eval my @ary = (3, 4, 5, 6); @ary >>-= 1; 17:28
evalbotzy Error: unexpected ">" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
xinming ?eval my @ary = (3, 4, 5, 6); @ary>>--;
evalbotzy Error: Can't modify constant item: VInt 3
wolverian xinming, seems to be pugsbugs. check if there are tests for those and add them if not, please :)
xinming wolverian: Certainly I will, I just ask here for confirmation. 17:29
wolverian xinming++
I will now go buy some food before the store closes. bye!
xinming hmm, Some times, you normally use $::('nick')++, what does this mean exactly? 17:30
what does ++ mean.
fglock xinming: I think there is a 'vote' counter 17:31
karma fglock
jabbot fglock: fglock has neutral karma
fglock mm maybe not
xinming thanks anyway 17:32
nothingmuch hmm, no replies =(
fglock nothingmuch: people need time to think about it 17:33
putter fglock: :) one line change. (3,4).reverse now works.
nothingmuch they've had a whole day, i only thought about it for 20 mins or so before I wrote it all down
xinming the test has been there.
nothingmuch (which took another half hour or so, but whatever)
xinming someone had it written. :-P 17:34
svnbot6 r6453 | putter++ | EvalX.pm: add invocant to args.
putter ok, that wasnt the clearest commit message I've ever done.
fglock what's next? is it possible to add simple signature check, such that 'a'..'z' is called different than 0..100? 17:36
putter I'd like to get the last two sanity tests running, so one can make test-perl5 ... 17:37
fglock I'll take a look at the tests 17:38
putter if you get a chance and could take a look at 06-use, I'll skip ahead to plowing through getting Test.pm to compile... 17:39
xinming submethod and method can be the same name in a class, so, Which one has higher priority? 17:40
submethod. :-) 17:42
nothingmuch xinming: i think a submethod and a method cannot co-exist in the same namespace 17:45
it just doesn't make sense
xinming nothingmuch: they can. :-) 17:48
nothingmuch xinming: that's horrible
i'm guessing submethod takes over
but only from within the class
xinming You may mix methods and submethods of the same name within the class hierarchy,
that's from S12
nothingmuch: Yes, I tried, submethod has a higher priority. 17:49
nothingmuch xinming: please post on p6l and ask why the hell that is allowed
"You may mix methods and submethods of the same name within the class hierarchy" 17:50
xinming nothingmuch: well, I won't. :-) I wish submethod and method can be the same name in a class. :-)
nothingmuch not the same namespace, though, right?
xinming nothingmuch: hmm, right...
nothingmuch it means that classs a { method foo { } }; class b is a { submethod foo { } }; class c is b { method foo { } }
in this case if you say 'a.new.foo' you get the first foo 17:51
xinming But I think the default answer is "yes" to this question,
nothingmuch if you say b.new.foo you also get the first foo
if you say c.new.foo you get the third foo
if c::foo says '$?SELF.SUPER::foo' it gets a::foo
xinming ?eval class C { method a { 'a'.say }; submethod a { 'b'.say } }; C.new.a;
evalbotzy b bool::true
nothingmuch the only case where b::foo is every called is if something in class b said '$?SELF.foo'
xinming: that's just wrong 17:52
xinming nothingmuch: hmm, Ok, I will post the question.
nothingmuch xinming: submethods should never be accessible from outside the class 17:53
so even if you can have 'method a' and 'submethod a' in the same class, you still can't say C.new.a and get a submethods
s/s$//;
putter fglock: hey, use Test; already works. because of the "problem" iblech mentioned earlier - you ask pugs to compile "use Test;", and it provides a compilation of Test.pm. !:) 17:54
("works" in the sense that PIL for Test.pm arrives at PIL-Run, not in the sense that EvalX has a clue what to do with it.) 17:55
xinming nothingmuch: In my understanding, method and submethod, their only difference is, method can be inherited, But submethod can't..
nothingmuch well, yes
submethods are like private methods
they are utility methods that should not be shared
xinming by the way, How to write "new" in perl 6? don't use bless {},$class syntax. 17:57
because in perl 6, a class a no longer a anonymous hash, (though we can make it) 17:58
PerlJam xinming: $class.bless(...) 17:59
where ... is the bit that initializes the attributes.
xinming s:nth(2)/a/is/
fglock bbiab
xinming PerlJam: thanks. 18:00
PerlJam $class.bless(key => value, :otherkey(othervalue)) # etc
xinming PerlJam: it seems that this will create a anonymous hash "class" It's the same in perl 5
PerlJam xinming: I think that people who want to write their own "new" in perl6 will really want to write a BUILD method 18:01
putter fglock: bah. Test.pm is breathtakingly non-trivial. sanity seems to be "missing" a series of 06.01 ... 06.82 tests. hmm, perhaps the right thing to do is to create them? other backends will be down this path after us...
nothingmuch house work... ciao! 18:02
PerlJam xinming: If you still think of class Foo { has $.a, $.b; ...} as a hash with keys $.a and $.b, then sure.
xinming PerlJam: But, In perl 6, Attribute can't be access via $obj.{'att_name'}; 18:03
$class.bless( { } ); will create a perl 5 style instance. though, not so sure about $class.bless(),
I would check it. bbl
nothingmuch I'm guessing that Object::bless is a runtime thing 18:04
it returns an Opaque 18:05
and no one but the runtime knows how it's implemented
nothingmuch fades back out
ods15 hi
PerlJam adjusts the tuner but nothingmuch's signal is too weak ;) 18:06
xinming PerlJam: your right. :-) 18:07
PerlJam lunch & 18:08
xinming $class.bless( 0, *%_ ) will do make a perl 6 "style" object, and $class.bless( { } ) will make a perl 5 "style" object.
ods15 untangle's PerlJam's & into a |
ods15 then proceeds to beat PerlJam over the head with it
putter oh, what do y'all think? create a series of t/01-sanity/07-XX-foo.t tests, which test each language feature as used in Test.pm. that way, new backends work their way through 07-XX, rather than confronting a monolithiic 07-test "next, implement _all the many language features Test.pm uses".
xinming hmm, I am still wrong 18:09
{ }.bless $class might be perl 5 "style" object.
fglock putter: there are many tests that could be reused - how about writing a script to run existing tests in a specified order 18:10
in increasing complexity 18:11
putter or just making a list, and leave the scripting for later. my one reservation is that test files will, intentionally, try to test things thoughroughly. where here our objective is to just barely get things working well enough for Test to run, and subsequently run those same test files. 18:13
oh, that's the gotcha. you cant use the existing test files... they use Test! ;). well, one could create a simple-Test.pm perhaps, and start backend's make test using -MSimplerTest until they are ready to take on Test.pm itself. 18:16
ooo, how about that. mumblebootstrap/Test.pm, which defines a package Test;, doing very basic Test.pm functionality, with the simplest possible code. so given new backend, you work your way through sanity, but punt 07-test. run with pugs -Imumblebootstrap for a while, which swaps in the minimal Test, until you have some hope of running the real Test.pm. thoughts? 18:20
One could even have backend-specific mumblebootstrap/Test.pm's, tuned to whatever is simplest/first-running on backend foo. 18:22
fglock how about Test::Bootstrap ? Test::MiniPerl ?
putter perl5/PIL-Run/lib6/Test.pm ? and in EvalX pugs -Ilib6 (which it should say anyway) 18:24
fglock what's wrong with MULTI SUB postcircumfix:<[ ]> ($a,$i) {...} - it's a syntax error
putter trailing semicolon? 18:25
fglock no, it is there
putter looking...
fglock actually, nevermind - this can be specified in Prelude 18:29
putter ah, so. when you get syntax errors in Prim, there is a # print; line in the filter. uncomment it, and perl -w crude_repl.pl > deleteme.pl. in this case, it still says MULTI SUB. hasnt been expanded. apparently because of the quicky parsing in the filter \S+. lets see, what should it be instead...
xinming hmm, 18:30
sub init_dbh (Str $dsn --> DBI $dbh) {
$dbh .= connect($dsn);
$dbh.do('some init code');
say 'I return $dbh anyway!';
}
I saw this in autrijus' journal, What will --> operator be if this grammar is accepted?
It doesn't make sense to me... T_T 18:31
Or, what will --> operator do here?
will it just be an ',' ? 18:36
Juerd It'll promise that init_dbh will return that particular DBI $dbh 18:37
So my Blah::Xyzzy $dbh = init_dbh($dsn) works only if Blah::Xyzzy can handle DBI
At compile time. 18:38
fglock bbiab 18:39
xinming Juerd: so, You think this will be a "return-type" operator?
putter fglock: it's in... 18:40
Juerd xinming: I'm actually quite sure. 18:42
svnbot6 r6454 | putter++ | PrimP5.pm: postcircumfix:<[ ]> stub.
xinming Juerd: So, This is funny, Perl 6 will have a more syntax to confuse people... 18:44
Juerd xinming: You're very tiring 18:54
wolverian xinming, that's very obvious syntax, I think. 18:56
xinming Juerd: I ever said, I am NOT clever, or talent. So please tolerate some stupid questions... :-) 19:09
PerlJam Juerd: Just imagine the thousands and millions of people who come after xinming 19:13
xinming PerlJam: Then, there should be thousands and millions one come after me... Will you commit the suicide. :-P 19:15
integral billions too... 19:16
putter give pugs -CPerl5 -e 'multi sub postcircumfix:<[ ]>(*@a){1} 5[6]', a postcircumfix:[ ] (with space) is defined, but a postcircumfix:[] (without) is called. this seems not quite the right thing. 19:18
PerlJam putter: that's weird. 19:22
buu ?eval sub test { say $^y; say $^x } test(10,20,30); 19:27
evalbotzy Error: Undeclared variable: "$^y"
wolverian I expect that's a pugsbug, buu.
buu Really?
wolverian s,expect,think,
haven't you read the apocalypses and synopses? :) 19:28
buu So what *should* it do?
wolverian: Not for a while.
wolverian it shoud say 10, 20
er
actually
it is an error
test expects two arguments, gets three
buu That errors now?
And how come $^y gets 10, doesn't $^x come before it?
wolverian I think so, yes. &test.arity is 2
PerlJam buu: sub test { ... $^y ... $^x } is the same as if you'd said sub test ($x,$y) { .. $y .. $x } 19:29
wolverian buu, oh, yes.
buu Holy fucking shit.
wolverian sorry. I suck at the alphabet :)
buu How is that possibly a good idea?!
wolverian buu, it's nice with map.
buu The mind boggles.
PerlJam buu: it allows you to have more than one implicit arg for those times where it's needed.
buu: in perl5 $_ got all of the implicitness, in perl6 you can spread that out a bit 19:30
buu PerlJam: Until you change the name and screw the ordering.
PerlJam buu: that's why it's a *shortcut*
wolverian buu, that's intentional. it is to be used in very small blocks. :)
buu Oh. Dear. Lord.
wolverian if you don't think it is a good idea, I'm sure p6l is receptive.
buu It just seems.. pointless. 19:31
PerlJam buu: sort { $^b <=> $^a } @array
iblech putter: re &postcircumfix:<[ ]> -- that's correct, but internally, we use &postcircumfix:[] so we don't have to deal with the spaces and the <>s
buu PerlJam: Eh, I suppose. 19:32
PerlJam buu: map { [ $^b, $^a ] } @stuff; # map 2 -> 1
buu PerlJam: I'd rather see $^a..z get the arguments in that order.
iblech buu: sub test { say $^y; say $^x } -- that is illegal, placeholder variables only work with blocks, not subs
wolverian oh, right. sorry, forgot that.
iblech buu: I.e. sub foo { $^a } is illegal, but { $^a } works
buu iblech: I thought blocks were subs?! What's the difference?
svnbot6 r6455 | putter++ | PIL-Run - Primitives can now be written in p6 (lib6/PrimP6.pm). postcircumfix:<[ ]> moved from PIL/Run/PrimP5 to PrimP6.
wolverian buu, subs have names. :) 19:33
buu PerlJam: Wouldn't just saying $^a = $_[0], $^b = $_[1] make a tad more sense?
wolverian (and are semantically larger collections, so $^ vars don't work well there.)
buu You still get the short cuttyness, but they always mean the same thing
iblech buu: Both Sub and Block isa Code, but a Block isa not a Sub
PerlJam buu: why say it when it's implied.
iblech: buu really isn't ready to hear all of this :)
iblech buu: I.e. {...}.isa(Sub) is false
buu PerlJam: Code clarity.
iblech PerlJam: oh :) 19:34
buu iblech: Ok, but that doesn't explain why $^x don't work in subs?
PerlJam buu: for the times where you want more clarity, use an explicit parameter list
iblech buu: Larry explicitly forbid it
buu iblech: Ok.
PerlJam: There is that.
putter iblech: but I'd think PIL should use one or the other, rather than both. for the moment I'm just crushing spaces when walking PVars. 19:35
PerlJam buu: you know the perl motto, of course. Perl6 just exponentiates the WTDI a little bit :)
buu PerlJam: I just think it's wacky to see say, $^f and then five lines later see $^e and have to go back and realize the first variable was the second argument
putter iblech: thanks for the info! ;) 19:36
iblech putter: Right. Let me see whether I can fix that
PerlJam buu: right. But that's why the rule is so simple. when you use implicit parameters, they are unicodically ordered.
buu I suppose that's more of a programmer issue, but I'm afraid I don't see the benefits of deciding based on their order.
PerlJam: I guess my point is more, with my way, for example, if I come across say, $^c, I always know exactly which argument it is. I don't have to read anything else, I know what it is. With this way, I still have to read the rest of the code and try to figure out their order in my head. 19:37
PerlJam buu: how else would you decide their order? You'd have to declare that right? As soon as you're declaring them, you lose the benefit of implicitness (which maybe you shouldn't have done in the first place)
buu PerlJam: Er, no.
PerlJam: My idea was that order was always tied to a specific variable. 19:38
$^a is [0], $^b is [1], and so forth
PerlJam oh, right.
well, ping p6l about that.
buu But they're scary! 19:39
They might eat me.
iblech buu: But then you can't use more descriptive names, e.g. think of %hash.key.map:{ uc $^key }
buu iblech: Don't you think that more descriptive implicit names raise the confusion level significantly? 19:40
At least with more than one.
PerlJam yeah, lwall's method allows for mnemonicity
iblech buu: Actually I think more descriptive names *lower* the confusion level :)
PerlJam buu: it's still another "enough rope" situtation. Perl is all about giving you rope. What you do with it is up to you. :) 19:41
buu iblech: They help describe what's in the variable, but then you have more letters to guess which variable comes first =/
PerlJam "With great power comes great responsibility" or something.
buu shrugs.
PerlJam ;-)
buu $^foobar, $^foo_bar, etc. 19:42
iblech buu: What PerlJam said, and if you use $^aaaaa and $^aaaab then it's your fault anyway, I think :)
buu heh
Well there's certainly an argument for that.
putter hmm, how do we get pugs -CPerl5 if the input use()es a module which generates output? eg, Foo.pm is "say 'Im not perl code';" perl -CPerl5 -e 'use Foo;' outputs bogusity. 19:43
bogosity even 19:44
iblech putter: Right. I've s/use Test/use lib/ 06-use.t because of that problem :)
Juerd PerlJam: Well, Perl 6 should have some non-perl name and lots of whining will end itself.
iblech putter: (I.e., I don't know a solution)
buu Juerd: I doubt it. 19:45
putter perhaps puts needs a -o argument?
iblech putter: I like that. And we could add more hooks later, i.e. pugs -o foo.pil foo.pl; pugs -o foo.js foo.pl, etc.
putter oh, do task inference based on the path name too? 19:46
iblech I'd like that, yes :)
putter :)
though it feels a little like "save one argument and 4 letters at the complexity cost of becoming magical"... or does it shortcut other things too? 19:48
I guess the other place it might bite is if .foo underspecifies, so one ends up with a mix (".foo means -ZfooA, unless a -ZfooB is also specified) 19:50
iblech Hm? What argument do you have in mind?
putter oh, err, -CJS ? 19:52
iblech ah, but it still would have to inference the type of the input file
putter pugs -BJS -e '...' pugs -CJS -e '....'
err, huh? p5 vs p6?
pugs -CJS -o foo.js foo.pl 19:53
iblech pugs -CJS -o foo.js foo.pil 19:54
putter ahhhhhhh
iblech but now that you say it, we could just as well forbid .pil as input
I.e. I would be completely fine with -CJS|Perl5|... -o output input.p6 19:55
putter eh, .pil seems plausible. I wonder still though about underspecification... is -o foo.pl the p5 backend, the other p5 backend, the SWI prolog backend, or the YAP prolog backend? 19:56
;)
but the first step atleast is just pugs -Cperl5 -o deleteme ... to replace pugs -Cperl5 ... > deleteme 19:57
iblech ok, then we definitely need -C for disambiguation 19:58
Right.
19:58 Maddingue__ is now known as Maddingue
putter mugwump: so... any plans to give Scriptalicious a persistent history cache? so when crude_repl starts up again(and again) one still has one's command history? 20:04
:)
buu PerlJam: What is scriptalicious?
ER, putter, sorry. 20:05
iblech buu: search.cpan.org/author/SAMV/Scripta...licious.pm
buu iblech: Er, yeah, I managed to find it.. but what the heck does it do? Or rather, why is it useful? 20:06
iblech buu: PIL-Run uses it, IIRC, mainly for it's easier interface to Term::Readline 20:07
buu Oh. 20:08
nothingmuch putter: wrt to refactoring sanity tests - ++ 20:25
xinming: --> is not a perl 6 operator... The syntax for declaring subroutine parameters is a minilanguage of it's own
which can have embedded perl 6 in where { } clauses 20:26
putter nothingmuch: thanks! :) 20:30
svnbot6 r6456 | putter++ | PIL-Run - ? optional arguments, p6_eval_file() added, crude_repl.pl accepts optional filenames.
putter ;) bash... that was ?$arg optional arguments ;-) 20:31
nothingmuch heh 20:32
sv* -m '$arg' not "$arg"
nothingmuch has been hard coded to turn on a red flag in his head whenever he scans ".*?\$.*?" 20:33
putter Hmm... so I started down the PIL/Run/lib6/Test.pm minimal Test path... but since unrecognized things tend to cause death, its not clear its at all useful. sure, you can run ok() is() etc. but its not clear any of the .t files dont die anyway... 20:34
nothingmuch: yes. but I found myself using apostrophies, so that's (sic) why I got into the habit ;) 20:35
(I suppose I should just remind myself how to escape ' in bash...) 20:37
prolog land - echo 'foo''bar'
ok. thanks nothingmuch. ;)
dinner & If noone has started on smashing Test.pm into a bunch of bitesized .t files, I start on that later. fglock, iblech, everyone - tnx, was fun! ;) 20:41
nothingmuch still no replies for linkage post =( 20:46
stevan nothingmuch: your submethod understanding is incorrect 20:50
I thought the same way you did
but I asked Larry
they are not private to the class 20:51
you can call them from outside
nothingmuch odd
why aren't they inheritable then?
stevan and the whole "method and submethod of the same name can exists in a class" is wrong
they are not inheritable so that you can really specialize it to a particular class
nothingmuch or rather, why does something like that have it's own keyword, and such a confusing one at tht
stevan yeah it does seem a bit much
nothingmuch is this just for BUILD and DESTROY? 20:52
stevan they basically are regular methods with the following like inserted
next METHOD unless $?SELF.class =:= $?CLASS;
so basically if you are not local, it skips to the next applicable method
nothingmuch hmm
stevan BUILD and DESTROY are the only good uses I can think of myself 20:53
and it's a good use actually
becuase inherited BUILD and DESTORY can be messy
nothingmuch always preferred 'method BUILD is disowned { }' or something like that
stevan and BUILDALL and DESTROYALL seem to the right way to go
nothingmuch yeah, C++ is surprisingly sane in that respect, but only because it *REAALLLLLYUYYYYYYY* has to be
xinming www.axis-of-aevil.net/archives/img/..._cover.jpg 20:56
lol
mutant 20:57
nothingmuch has that posted in his cube
xinming well, I just saw it, And feel funny, So posted here. :-) 20:58
nothingmuch xinming: yeah, it's a wonderful photo =) 21:06
well, not really a photo, eh?
Khisanth what happened to the backticks in p6? 21:12
xinming hmm, May I suggest 2 method for an @ary? 21:15
one is "pull" which will "pull out" a slice of an array, another one might be "insert" 21:17
svnbot6 r6457 | fglock++ | * PIL-Run - implemented (1,2,3)[1] array subscript
xinming hmm, It seems splice does this. :-S 21:19
nothingmuch loved splice 21:32
svnbot6 r6458 | fglock++ | * PIL-Run - implemented (1,2).elems; (1,2).end
r6458 | fglock++ | - updated Container::Array
nothingmuch i knew *exactly* what it was going to do, when I just saw it's name in the docs
i haven't used it much over the years though
xinming ?eval [+][1, 2, 3] 21:33
evalbotzy (1, 2, 3)
xinming will [op] deference the array?
nothingmuch i think it should
[1, 2, 3] >>+<< [1, 1, 1]
?eval [1, 2, 3] >>+<< [1, 1, 1]
evalbotzy (2, 3, 4)
nothingmuch yes, it's more consistent
xinming So another bug. :-) 21:34
nothingmuch xinming++; # how do you find all of these? 21:35
landover hello all 21:37
nothingmuch well, finally finished shower, etc... off to bed!
landover: hi!
landover how is perl6 coming along 21:39
nothingmuch landover: quote well
landover i have almost considered switching to python...
joking
heh
nothingmuch if you have subversion, 'svn co svn.openfoundry.org/pugs/'
landover: whatever floats yer boat
landover good good must play with it 21:40
nothingmuch personally doesn't mind pythonites
landover: give me an email address, i'll give you commit privs
landover ya i have become friends with the pythonites
nothingmuch okay, sending invite
play nice and commit beautiful tests
do you know where the synopses are? 21:41
landover no ive been in the trenches...literally...if you know what i mean
or should i say been doing a lot of gov work etc....
how is parrot coming along? 21:42
nothingmuch these are the most important: [email@hidden.address]
landover gracias
nothingmuch parrot is coming along nicely but differently
i actually don't know that much about it
irc://irc.perl.org/parrot is the place to discuss, i guess
but there are some knowlegiable people here too 21:43
ugh... i can't find the login box on openfoundry. 21:44
i wonder what's wrong
landover my only concern is that i would rather not move towards any type of a strictly typed language or should i say one that is compiled....im lazy....
cough cough...or java....
nothingmuch landover: perl 6 is strictly typed and compiled, but some of it's strict types are, for example the "Any" type, and it pretends to interpret =) 21:45
well, at least in the future
the type system is completely optional
and compilation is transparent when you don't want it, but still lets you make object files
so in short - best of both worlds
xinming: can you understand the openfoundry interface? 21:46
oh wait, I think I got it 21:47
phew! english!
okay, landover, your invitation is sent
landover i suppose im the only smalltalk fan left....poor poor allan kayes
gracias
nothingmuch look around the source code, there's a bunch of READMEs 21:48
they aren't too long
get ghc from www.haskell.org/ghc to compile pugs
you can also get parrot for rules
landover haha ok i must be an idiot.....please dont answer that.....but what are all of the ?'s for? 21:49
elmex i love smalltalk
nothingmuch what ?s?
in AUTHORS?
landover the link
nothingmuch oh
landover on openfoundry
???????????????????,??????????(???)????????????????????????????????????
????????????????????????????????????????????????????????????????,???????????????????????????????
nothingmuch that's chinese
i'm not sure which chinese though
landover ah sorry my chinese is a little bad
nothingmuch once you manage to login it can become enlglish I think
landover: that's why it took me so long to login ;-) 21:50
landover hah
sabren does anyone here know about pugs /Emit/PIR.hs ?
nothingmuch sabren: i know a bit about it, but only meta data 21:51
Supaplex sabren, I bet the fellow that wrote it does.
:P
but ask us instead :)
sabren haha.. yeah.. I was hoping for a quick answer here..
I haven't used pugs at all.. I'm working on pirate (the python compiler)
nothingmuch sabren: IIRC it is basically an PIL<->PIR 21:52
s/an/a/;
i think translator is the right word
sabren right
nothingmuch i don't think it does much - evaluating PIL is a tricky job
sabren what is PIL?
nothingmuch but it pretty prints PIR
PIL is the pugs intermediate language
sabren ah
so basically you take perl code and do a bunch of tree transformations and get PIL? 21:53
21:53 autark is now known as jp-autark
landover sabren can i ask you a tech question...my programming skills are obviously far less than yours if you are writing compiles 21:53
nothingmuch sabren: yes, that's the bulk of pugs' job
landover err compilers
can i msg you a geek question?
nothingmuch right now we have an evaluator that doesn't do PIL (from before the PIL revolution) and a PIL emitter
PIL runtimes on javascript and perl5 21:54
and the beginings of a new pugs runtime running PIL2
elmex wtf is PIL btw. ? i know PIR and PASM ..
sabren landover: I'll try to help if i can :)
nothingmuch sabren: pugscode.org/images/simple-compilation.png
elmex: PIL is pugs intermediate language, and it's a functional like subset of perl 6.
very very tiny 21:55
xinming is going to sleep now,
geoffb sabren: see also docs/notes/plan in the pugs source tree
xinming bye all.
elmex nothingmuch: ah
geoffb has finally caught up with backlog since yesterday (sheesh)
nothingmuch backlogging.. *sigh*. I wish I could read that fast
geoffb and damn, two of the people I need to talk to went offline, bah 21:56
Supaplex the compiler looks like a zip disk :)
geoffb anyone know whether leo-ctx5 has merged on the parrot side?
nothingmuch Supaplex: autrijus was having fun
sabren he said it's coming soon but I think they're still debating about python
nothingmuch anyway, i really want to go to sleep. Bye!
sabren thanks nothingmuch :)
geoffb sabren, was that comment to me?
sabren geoofb: yes, sorry :) 21:57
er geoffb
geoffb What about python is holding up leo-ctx5?
sabren geoffb: supposedly it breaks all the python pmcs... I don't know if it's holding him up or not but they've been going back and forth on the perl6 and pirate lists 21:58
geoffb iblech, putter: if you backlog, I have questions for both of you, and answers for one of you. :-)
sabren, *sigh*, OK
sabren so here's the thing: with pirate, we're working to turn our single-pass compiler into a series of tree transformations 22:04
and the end result should look a lot like PIR 22:05
so that's why I'm looking at Emit/PIR.hs ... to see if we've got some overlap here
geoffb sabren: did you check out docs/notes/plan? 22:06
sabren geoffb: reading it now
geoffb (y)
There are probably a few bits that are somewhat out of date (that file is probably a month old now), but the basic concepts should be clear 22:07
also STATUS in the top level (which I just updated) has some more up-to-date info about progress
landover hah its funny around 2/3 years ago i left irc world....and within ten minutes i've realized what the hell i've been missing 22:08
people that know what the hell they are actually doing heh
geoffb landover, it helps to be on a channel with a fairly high SNR . . .
Speaking of IRC, anyone happen to know if IRC has a delayed-message function, to send a message to someone who is not currently on? 22:10
svnbot6 r6459 | geoffb++ | Update, extend, and clean up STATUS 22:11
landover geoffb not that i can recall 22:12
u can prob write a python/perl script that will check when that ip is logged on
geoffb bah, that would make some things a lot easier
buu geoffb: Most networks tend to provide such services.
landover buu oh?
buu I don't believe it's a part of any spec.
landover i didnt know that
right 22:13
geoffb buu: how do you do it on freenode?
buu memoserv
sabren geoffb : so... PIL is basically scheme... does it have first class objects?
geoffb iblech, putter, or autrijus (none of whom are not around at the moment, sigh) would be better to ask, but: 22:14
iblech said yesterday that PIL1 does not have proper OO support, but PIL2 does.
Sadly, PIL2 is not yet ready, because autrijus is buried in his day job
Hmmm, fglock and stevan might know as well, but I believe they are idle 22:16
and nothingmuch is gone as well. 22:17
Damn this timezone!
sabren :)
it's okay, I'm just trying to get a feel for where you guys are at
landover well if everyone in this room chipped in oh 10 bucks a day...we could prob pay his ass to do it
geoffb $970 a day? Dude, I'd work for that! 22:18
landover now you see what i mean
literally we could hire people to support our own cause heh
i dont mind chipping in 50 a week to someone....
if i know that i'll have a job...1-2-5 years from now
its like an investment thats better than education heh 22:19
geoffb Sadly, and I've never understood quite why, many of the people in here are permanent lurkers -- I'm not quite sure why they don't just use the HTML irc logs.
landover ah geo mainly to steal good ideas....
you know im only here to see if im going to be out of a job...6 months or a year....to program in j2ee....blah 22:20
heh
actually they say all good things come to those who wait
buu geoffb: I'm sucking your brains out. 22:21
sabren so... is PIL2 something thats months down the line? weeks? days? 22:22
geoffb buu: aaaaaaahhhhhh 22:23
What a nice pressure release
buu Exactly. It's like trepanation.. with tentacles!
geoffb sabren, PIL2 was supposed to be this month-ish, but autrijus has been delayed
landover geoff we need a bot that says autrijus is working is not working is busy ..or is delayed
geoffb sabren, I do remember that someone from the Python side had talked with him at the leo hackathon about making PIL useful to both Perl 6 and Python compilers 22:24
landover speaking of autrijus i really hope the us doesnt go to war with china over taiwan...then i'd be enemies with autrijus that would be really pretty
sabren geoffb : that was me :)
landover err wouldnt be really pretty
sabren oh wait 22:25
geoffb landover, just because nations go to war, doesn't mean people do
sabren i wasn't at leo's.. i only talked to him on the list
geoffb sabren, it's possible that's what I recall, sorry, it's been a while
buu geoffb: It is unlikely. 22:30
s/geoffb/landover/
landover buu oh absolutely..i was trying to make a poor excuse of a joke 22:31
buu Kim Il Jong scored 5 hole in ones the first time he played golf! 22:32
Or kim jong il, whatever his name is
landover hahahahaha
leo__ the PIL2 scheme emerged here on a flipchart, well, in Autrijus' own speed. But I've to admit that it is beyond my understanding. To work against my troubles of groking FP, I've implemented unlambda and major parts of Lazy-k in Parrot ;-) 22:34
sabren hey leo! 22:36
leo__ (I'm not aware of a specific discussion PIL/Python, but as PIL2 can represent Perl6 code, there are for sure no problems to represent different languages in PIL)
hi all - just delurking a bit 22:37
sabren the thing is, right now pirate already compiles a whole slew of stuff
geoffb leo__, ah! So can you explain the status of leo-ctx5? The last update I have is that the PIR backend is blocked waiting on that merge . . . . 22:38
(PIR backend for pugs, I mean)
sabren but we're refactoring it... i'm just trying to keep where pugs is headed in mind so that we might possibly be able to integrate the two later on
geoffb nodnod 22:39
landover got it
leo__ geoffb: yes, first merge, then continue with impoved (workable) lexical handling and variable sized register frames
sabren: dynclasses/py* did implement already too much of CPython - IMHO 22:40
some refactoring is really needed
geoffb leo__, is merge near, or still far?
sabren leo: I'm just the AST guy... one of these days I'll learn C :) 22:41
leo__ chip is looking at the code currently, I hope the merge is in the next release, which is due soon
geoffb ah, fantastic
sabren Leo: btw, python_group still doesn't show up correctly in the current parrot tree 22:42
it broke right after the last release
landover hey isnt this a perl6 room note python? heh
just kidding
sabren perl6 is so cool it does python too :)
landover ROFL
try explaining that to an illogical technical manager
sabren leo: any idea why it might break? 22:43
leo__ sabren: I dunno what 'show up' mean and that should reall better be explored on p6i or #parrot 22:44
sabren leo: haha... yeah but you're not in parrot, and when I mentioned it before on p6i you said it should be working... so i'm stumped
leo: Couldn't load 'python_group': python_group.so: cannot open shared object file: No such file or directory 22:45
landover is the path correct?
leo__ sabren: I'm of course in the #parrot channel and listening there too 22:46
- but you aren't ;-) 22:47
sabren it's not on irc.freenode.net?
leo__ no
pobox 22:48
geoffb painful that the two are on different nets, it's a FAQ at this point
leo__ pobox: irc.pobox.com:6667
buu geoffb: Heh, so where is the answer? 22:49
sabren well that would certainly explain why there's never anyone in #parrot.. thanks 22:50
geoffb buu, here and there. Constantly.
:-)
buu geoffb: Er, what?
leo__ sabren: it's probably too easy to create 'talk with yourself private channels'
geoffb buu, I meant, it gets answered over and over in each channel, because people are often in one and want to get to the other 22:51
leo__, definitely
buu geoffb: ER, so what is the answer?
geoffb buu, if you're asking *why*, I have no idea, if you're asking where #parrot is, leo__ just said where to look 22:52
leo__ $ grep -w irc docs/*.pod
(inside parrot )
buu geoffb: No no, I wanted a why =/
leo__ dunno yest what even the problem is - wait a minute 22:54
s,,s,
landover geoffb we could probably bridge the two channels using a python script that would just forward all messages from one to the other 22:56
leo__ that'll need a really good filtering language then ;-) 22:57
landover why?
geoffb landover, do you mean #parrot on pobox to #parrot on freenode? Or #parrot on pobox to #perl6 on freenode? 22:59
The former might be reasonable. The latter would be PAINFUL
landover former of course
well it works the same way as a port forward program does
hell the guys over at twisted could probably whip it up in an hour or so 23:00
leo__ landover: just in case if forwarding starts spitting out evalbotzy at #parrot ;-) 23:02
23:05 skylan_ is now known as skylan
leo__ pytuple.pmc:163 is 23:07
if (!SELF.elements())
oops
# there must be some working shortcut key to switch windows in irssi OS/X ;-) 23:08
# ah must have hit ^N 23:12
leo__ thinks that now all have started the irc forwarder hack ;-) 23:16