6.2.11 released! | pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6
Set by audreyt on 1 February 2006.
dduncan ?eval my $::('x y') = 3; say $::('x y'); 00:03
evalbot_8956 Error: unexpected ":" expecting "$!"
dduncan ?eval my $foo = 3; say $::('foo'); 00:05
evalbot_8956 OUTPUT[3 ] bool::true
dduncan ?eval my $::('foo') = 3; say $::('foo'); 00:06
evalbot_8956 Error: unexpected ":" expecting "$!"
00:13 blm joined
dduncan anyone here? 00:14
xinming only us two right now I think 00:15
blm In some emails I saw reference to some documents with name with S followed by two numbers. Maybe they were language design documents. Does anyone know where they are?
dduncan Larry says that this [ $::('x y'); ] is working in Pugs right now
synopsis 2
xinming blm: dev.perl.org/perl6/doc/synopsis.html
dduncan see dev.perl.org/perl6/doc/synopsis.html 00:16
blm Thanks heaps :-)
dduncan but from my own tests, I can't get that to work
I get compile errors
xinming blm: If it starts with A, then, It is apocalypse. if it starts with S, then, It is synopsis... etc...
dduncan: ?? 00:17
dduncan ?eval my $::('x y') = 3; say $::('x y');
evalbot_8956 Error: unexpected ":" expecting "$!"
dduncan now, Larry just now said on p6l and p6c that the second statement is already working in Pugs
even if that were the case, how do I first declare the variable 'x y' in order to reference it, if that won't compile? 00:18
xinming dduncan: I think, for $::('x y'); It is used for rule object.
dduncan I'm inclined so say "no it's not" on the list, but I'm first checking if I missed something
xinming dduncan: as, $::('x y') ==> $<x y>; (IMHO) 00:19
dduncan the basic issue is that I want a way to use identifiers that include spaces and such in ordinary code
your example doesn't work in Pugs either
...
my $<x y> = 3;
?eval my $<x y> = 3;
evalbot_8956 \3 00:20
dduncan curious
xinming dduncan: It's used in rule object. IMHO. $<x> is might be the same as $/<x>
and $<x y> then --------> $/<x y>
blm Can I ask who "owns" evalbot?
xinming dduncan: and If you want a identifier which will contain space... I think you'll fail. :-) 00:21
dduncan I should be able to, though, if all uses of it are delimited
xinming $eval 'I owns my own...'.say;
?eval 'I owns my own...'.say;
evalbot_8956 OUTPUT[I owns my own... ] bool::true
dduncan they would have to be different delimiters
Larry said on the list, first, $::<x y> 00:22
for a compile time action
xinming dduncan: If you want a identifier which will contain space, I think you can store it as a key in hash. and don't declare a variable.
dduncan I could do that, but I prefer not to
Khisanth gets urge to kill certain languages designers
dduncan I wanted to be able to make a code converter 00:23
xinming hands Khisanth a knife...
dduncan that say, converted SQL to Perl
and had the result look as similar as possible
xinming dduncan: then, sorry, I can't be helpful. :-(
dduncan in SQL, all delimiters can be double-quote delimited 00:24
in SQL, all literal strings are single-quote delimited ... different delimiter, so no conflict
xinming dduncan: could you please give me the link about that?
in ml
dduncan do you mean about SQL?
xinming no
I mean the @larry one 00:25
dduncan in ml ...
xinming mailing list
dduncan I believe its nntp.perl.org/group/ or something ...
xinming Khisanth: :-) why do you want to do that?
dduncan: It's a pain to search. >_<
dduncan its one of the last ones
but I can link anyway ...
Khisanth xinming: because I kinda hate being lied to 00:26
dduncan see www.nntp.perl.org/group/perl.perl6....uage/24644 for example
also www.nntp.perl.org/group/perl.perl6....uage/24648 00:27
xinming Khisanth: @larry lied?
dduncan the latter includes the former
maybe he said that from memory
xinming dduncan: hold ono plz
dduncan still, please see what he says and see what you think I can do in Pugs now that's equivalent
Khisanth xinming: there was a claim it would be less line noise, seems like it's going in the opposite direction all the time 00:28
dduncan fyi, what I'm looking for is mainly an optional feature that would be used mainly by people invoking other languages, or maybe writing code generators ... not something you would use typically for manual work 00:29
and as I mentioned in www.nntp.perl.org/group/perl.perl6....uage/24643 , basically its only desugaring to help the tokenizer, and wouldn't affect anything else 00:30
optional desugaring
'cause once things are tokenized and/or parsed, they're all the same
with or without spaces initially
all the same as in "hash keys" or thereabouts 00:31
00:34 theorbtwo joined
dduncan back in a bit 00:39
00:51 Cryptic_K joined 00:55 macli left 01:08 theorbtwo joined
dduncan is back 01:26
01:32 vel joined 01:35 xern joined 01:38 justatheory joined 01:46 joepurl joined 02:03 Cryptic_K joined 02:34 Blicero_ joined 02:35 Blicero_ left 03:27 vel joined 03:35 robkinyon joined 04:17 ACIDBUCK joined 04:36 _SamB_ joined 04:50 Amnesiac joined 05:12 beppu_ joined 05:31 Cryptic_K joined 05:37 khisanth_ joined 05:38 khisanth_ is now known as Khisanth
meppl guten morgen 05:58
dduncan I concur 06:03
meppl good morning dduncan 06:04
dduncan I concur
meppl :D
dduncan I concur 06:05
that said, its actually evening here
meppl good evening dduncan 06:06
dduncan good evening/morning meppl
06:25 cventers joined 06:52 GeJ joined
svnbot6 r8957 | Darren_Duncan++ | r2381@darren-duncans-power-mac-g4: darrenduncan | 2006-02-07 23:10:13 -0800 07:13
r8957 | Darren_Duncan++ | /ext/Rosetta : continued rewrite of Language.pod
07:31 drbean joined 07:43 nothingmuch joined
nothingmuch audreyt: while I agree that pugs is taking the right direction I wanted to make it more "official" 07:43
thhat's my grudge
that they expect Perl 6 to sort of grow organically 07:44
and they are "counting on us" to just do it OK
PerlJam "they"?
nothingmuch on the other hand we don't really get any authority on design decisions
@Larry
design decisions go much deeper than syntax
even if Perl 6 grows organically and it's a success 07:45
PerlJam nothingmuch: authority on design decisions comes from showing the design to be faulty through an implementation.
nothingmuch it will converge on something similar to what I am trying to detail anyway
true, but that is on a very small scale
because everyone knows that componentization and layering and modularity are Good Thinngs
PerlJam nothingmuch: btw, I tend to agree with your email to p6l. Chunking things better might allow some chunks to be small enough that I can tackle them in my moments of boredom. 07:48
nothingmuch exactly 07:49
we need more steps and milestones, not fewer ones, because we're adhoc
07:51 iblechbot joined 08:16 Aankhen`` joined 08:41 Debolaz2 is now known as Debolaz 08:53 sanxiyn joined 09:07 nothingmuch joined 09:20 drrho joined
nothingmuch hola 09:22
www.perlmonks.org/?node_id=527975 09:32
nothingmuch tried to clarify his intent once more 09:57
i hope it helps
10:10 r0nny joined 10:24 Aankh|Clone joined 10:27 G2 joined 10:56 GeJ joined 11:16 dada joined 11:21 scook0 joined
audreyt nothingmuch: I think officiality is overrated 11:45
(see my reply) 11:46
gaal hey audreyt
audreyt nothingmuch: (and also this is getting massively offtopic for p6l :D)
gaal: yo
my name is all over .tw TV networks now
gaal oh?
audreyt :/
fortunately I'll be escaping this in 5 days 11:47
gaal as a person trying to get access to .il? :)
audreyt as a person who get covered without consent
gaal boo :(
audreyt a certain newspaper published the runtype typecasting's (paraphrased) translation without interviewing me 11:48
so, sucks
gaal sue them for copyright infringement :-P
lypanov audreyt: :(
audreyt sadly it's paraphrased
lypanov out of context paraphrased?
audreyt nah, it's more or less accurate translation 11:49
just published against my explicit intent
Juerd Can they use your name legally without your approval? 11:50
I have no clue about international media, but in NL it's common to abbreviate the last name (or, if the first name is much less common, the first name) to a single letter. 11:51
audreyt I don't know; in any case I'm not dwelling on this particular time sink anymore... I need to get back on pugs :/
Daveman :o
Juerd Wow. Audreyt++ :)
lypanov best option.. 11:53
nothingmuch audreyt: this is not officiality, really 11:55
it's more of a call for participation
i'd like @Larry to help with this too
and to ask people to help with it
audreyt: when are you landing in IL ?
audreyt nothingmuch: 14th 11:57
nothingmuch okay
i'm landing on the 19th
so you wanna have a planathon for the 2 days before the hackathon?
audreyt sounds fine
or maybe I'll start with gaal without you 11:58
:D
nothingmuch sure 11:59
12:03 iblechbot joined 12:07 chris2 joined
lypanov morning chris2 12:10
gaal I'll be happy to work on that, but definitely I need some help with the exporter stuff :) 12:11
chris2 hi lypanov
12:17 drbean joined 12:54 nnunley joined 13:06 kolibrie joined 13:15 bsb joined 13:21 nothingmuch joined 13:28 pjmm joined 13:36 KingDiamond|away is now known as KingDiamond 13:39 xern joined 13:44 Aankhen`` joined 13:45 pdcawley joined 13:48 elmex joined 13:51 _SamB_ is now known as SamB 14:18 BeoTW joined
BeoTW hi, i'm new here. (I have been lurking the perl6 effort for some while) 14:19
nothingmuch BeoTW: well, sorry, we aren't accepting new applicants right now.. Try again in 6 months/ 14:22
?
;-)
wolverian THAT WAS A HORRIBLE JOKE
BeoTW don't worry. I have my own hobby work :)
nothingmuch BeoTW: start on dev.perl.org/perl6 - familiarize with the synopses and stuff 14:25
then svn co the pugs repo from svn.openfoundry.org/pugs
and we will set you up with commit access
BeoTW thanks. I prefer to stick with lurking and picking up ideas :)
GeJ bande de baltringues de NetSol... 14:26
wolverian you don't have to do anything - we just like to give commit access :)
BeoTW anyway, reason I checked out here is I was just zapping on taiwan tv
GeJ oops, sorry
EBADWINDOW
BeoTW (I am in taiwan now). funny thing is; audrey was covered by one news/gossip channel 14:27
wolverian yeah, she knows. :)
what kind of coverage was it?
integral heh, you're the first to end up here though :)
wolverian :) 14:28
BeoTW I suppose there are not a lot of programming language freaks wathcing taiwan channels
lypanov nothingmuch: lol. brilliant response
Daveman integral :)
BeoTW I dont knwo what it was about. it was all in chinese, with the fotos from the pugs blog 14:29
wolverian 12:49 audreyt : a certain newspaper published the runtype typecasting's (paraphrased) translation without interviewing me 14:30
nothingmuch newspaper != tv channel
wolverian yeah, I don't know what happened there :)
BeoTW i saw it on tv. I was getting a haircut, and they had screens with those crap news channels to watch 14:31
14:31 Qiang joined 14:32 bsb joined 14:41 rantanplan_ joined, chris2 joined 14:45 bsb left, bsb joined 14:49 joepurl joined 14:50 vel joined 15:11 Aankh|Clone joined, nnunley_ joined 15:31 nnunley_ is now known as nnunley
nothingmuch seen audreyt? 15:31
jabbot nothingmuch: audreyt was seen 3 hours 33 minutes 27 seconds ago
Juerd nothingmuch: I think you missed an important thing when writing your proposal :) 15:37
nothingmuch: This community loves NAMES :)
15:37 Eimi joined
nothingmuch Juerd: =( 15:37
i'm quite sad about it
Juerd nothingmuch: Give a layer a cute name, cuter than "Perl 6 Extended" or "Standard Library", and at least half the people complaining now would LOVE it.
:)
nothingmuch i didn't expect chromatic to be so annoyed with this 15:38
i doubt adding humor would help now
Juerd I think they largely miss the point.
Something I also encounter much when posting stuff. My feather usage mail was widely misunderstood as "feather's overloaded", while the actual message was "feather is so quiet these days, what's happening?" 15:39
nothingmuch heh 15:41
nothingmuch wishes he had time to abuse feather
but i think i will have some again soon
Juerd I included one line saying that if people were busy doing other stuff, I would try and find more hackers feather.
s/feather/for feather/
I should have phrased that differently.
Same is true for a few lines in your post, but it is too late now.
stevan ok,.. I dont get allison's last remark 15:42
sort of feels like she is saying "sure whatever,.. you guys have fun with your little toy"
oh well 15:43
stevan goes to volunteer for the Scala project
nothingmuch: nice response to David,.. you made your points well there I think 15:44
nothingmuch add support for globs 15:47
oops, wrong channe;l
Juerd: yes, i think i agree
stevan: i think she is saying "well, you surely don't expect *me* to do that, do you?"
stevan nothingmuch: maybe 15:48
nothingmuch at least that's how I understood it
stevan I just get the feeling that they dont take our opinions and work seriously 15:52
lypanov is there an ml archive? 15:59
i've like to read
bsb stevan: I suspect it's more a communication gap 16:03
They go "MEta model, very nice..." and Pugs folk go "Punie with tree transforms, very nice..." 16:04
but to understand the meat of either requires quite a bit of effort 16:05
I can't keep up with either
integral "punie with tree transforms? sounds nice, but we can run a 8000 test testsuite, and you can print 1" 16:07
lypanov has a jitting ruby that can print 1 too! 16:08
chris2 has a non-jitting beryl that can print 1 and 2 ;) 16:09
lypanov :P 16:10
chris2 and all other natural numbers below 2^32
lypanov actually mine can do a times table printout
and the number printing is written in ruby too
and thats also jitted 16:11
so i win, i hope :P
chris2 i need to refactor my VALUE first before i can write more complex code
lypanov quick quick quick!
chris2 how big is your VALUE, btw?
lypanov um... 16:12
in nanovm?
16:12 G2 joined
lypanov two ruby VALUE's 16:12
lypanov didn't work on optimisation of the low level stuff /at all/
chris2 so, 64 bit? 16:13
bsb integral: Parrot has it's share of tests too. But the Meta Model and Punie are important projects, but their importance isn't apparent without investing to time to see why
lypanov chris2: yup
chris2 mmh, okay
i have 128 bit so far, which is a bit icky. but i think i can optimize that later
stevan bsb: but Parrot tests are exactly that,.. tests for Parrot,.. not Perl 6 16:14
Punie is Perl 1 even
chris2 (128 bit processors will be default anyway when i finish :P)
integral bsb: Personally I don't see them as important for the first release of perl6 on parrot
bsb sure
integral To me they seem to be for later goals of having a better faster perl6.
stevan there is a large gap between Perl 6 the language and Parrot the VM
integral And I have not fiddled with them at all because they're written in PIR :)
16:14 mauke_ joined
stevan the p5 approach of evaling the opcode tree will not work IMO 16:15
integral stevan: that's the original pugs approach; the one that PIL is replacing :)
bsb And Punie is a test flight to bridge the gap
integral why do we need a test flight? Can we just decide to sit down and write as good a perl6 as possible with the tools? 16:16
stevan bsb: actually I think the goal of Punie is more to build a set of compiler tools for Parrot,..
bsb Who is evalling the op tree? (I really don't know)
integral Like writing as good a perl6 as possible with the tools that Pugs is using
lypanov chris2: lol
stevan bsb: p5 parses code into an opcode tree,.. then the evaluator just walks it
(i am simplifying somewhat)
lypanov ;) 16:17
chris2 my main problem is that every value by design can contain a continuation. i need to code some things first before i can decide how often that happens
bsb stevan: ok, I thought you meant the Punie was doing/planning to do that
stevan all the things that the p5 runtime needs (scalars, arrays, hashes, packages, etc) are manipulated with opcodes
bsb: that is the approach that Punie and PGE are currently taking for their experimental p6 stuff 16:18
16:18 mauke_ is now known as mauke
stevan p6 will require a more sophisticated set of things (classes, object, scalars, arrays, roles, hashes, packages modules etc etc) 16:18
to make a set of opcodes for manipulating them like they are in p5 would be insane 16:19
bsb You're prototyping that now aren't you?
stevan not the opcode stuff no
the object space approach is to take a minimum of opcodes and use them to build the things we need
layering until we get to Perl 6 16:20
once we define objects and classes, we can make roles... once we have that,.. we can build container types, etc etc
otherwise you end up pushing this all down to the VM 16:21
and in the case of Parrot,.. this is not appropriate because Parrot is not just for Perl 6
if it was,.. I would be fine with that
but if Parrot caters too much to Perl 6,.. then it will not be received well by other languages 16:22
bsb I thought Parrot was intended to allow fast and tightly integrated language specific PBCs 16:23
stevan yes, but that reduces cross language compatiability does it not? 16:24
bsb So the meta-model and prelude would be optimized into that piecemeal
integral notes that this cross language compatibility has *still* not been demonstrated
stevan bsb: yes, that would be the best approach IMO
16:25 j0sephi joined
stevan integral: the way .NET does it is to force everyone down into pure ILASM 16:25
Odin- Igh.
Sounds nasty.
stevan Odin-: it is :)
bsb Similarly, punie and pge can use rudimentary opcode evals until something better can replace it
integral Sure, but they actually have something which *works* :)
stevan but it works, price you pay for compatability 16:26
bsb: I think Punie and PGE are good projects,..
but they will not bridge the gap,... and this is something we have learned with Pugs,..
why not learn from our mistakes?
I think they see our project as being a totally different approach,.. and it is really not that different 16:27
bsb stevan: I'm not so clear on what "the gap" is? Generic clothin? 16:29
stevan bsb: the Parrot object model is not the Perl 6 object model as speced in S12 16:30
bsb Is it about getting Perl6 on Parrot?
stevan yes
much needs to built atop parrots model to make Perl 6's model... to support all the features
although to be honest,. many of those features are not fully speced,.. so it's tricky
this gap needs to be filled 16:31
then if the array/scalar/hash are to be objects,.. as it says in S02,.. then they need to be hooked to the metamodel
bsb So PGE and Punie aren't really addressin, or intending to address that?
stevan not that I can see
bsb (where are all my "g"s goin) 16:32
stevan Python made the mistake originally of not having arrays and dicts be extenable, they have since fixed that
we should not make that same (very old) mistake
bsb It does seem odd that Parrot is so concerned about supporting Tcl, Python, and Ruby, yet Perl 6 incompatible 16:33
stevan not incompatible really 16:34
bsb Surely, it's not
stevan Python, Ruby, etc are todays dynamic languages
perl 6 is being designed to be tomorrows dynamic language
bsb (..uplifting music swells..) 16:35
stevan and it is hard to support something which is only partially speced,.. and which is doing this people have not done before (well except LISP.. LISP did everything 20 years ago)
theorbtwo I'm rather annoyed with the perl foundation's approach to perl 6. They keep appointing managers. That's OK.
The problem is that instead of managing, the managers go and implement their own private code.
stevan Ivory Tower approach :)
bsb I thought Allison quit managing to start implementing code 16:36
stevan allison was the tpf president
oh wait,.. yeah she was the p6 manager too
theorbtwo I mean, one of those people ended up writing PGE; not all was lost. 16:37
bsb I don't have a problem with private code, but it doesn't help momentum
stevan exactly
theorbtwo Exactly.
stevan or cooperation
16:37 hexmode joined
stevan I cannot code with what I cannot see 16:37
bsb or understanding of the relevance 16:38
theorbtwo Even worse, when the person who is loudly responsible for foo does that, it puts other people off from thinking about it.
The situation appears to be well in hand.
bsb Maybe. I have found Pm to be very helpful when contacted
stevan thats not the point though 16:39
bsb Actually, I should thank you stevan, for taking the effort to keep us in the picture
theorbtwo People shouldn't have to contact him; he should be rallying effort. That's the point of having management in place. 16:40
bsb "us" being pugs tourist
stevan bsb: :)
theorbtwo is absolutely right,.. the whole point of OSS is that many eyes make for better software 16:41
bsb Maybe Pm was a bad example as he's implementor rather than manager
theorbtwo Indeed, many thanks.
Really? I thought his title was pumpking.
bsb Even Larry follows the private coding when it suits
theorbtwo: I can't say for sure 16:42
stevan theorbtwo: IIRC you are right
bsb: Larry's project is a different story
bsb Sure
stevan the p5->p5 translator was his "fun" project
theorbtwo Larry has often done that, I think. Mostly, even. I don't much mind for the translator thing.
Was? 16:43
stevan theorbtwo: sorry,.. s/wa/i/
integral My gripe isn't that they write code, is that it's *their* private code that they don't publish.
theorbtwo Ah, OK.
bsb integral: I kind of agree from my position on the sidelines 16:44
I don't like coding in public though 16:45
theorbtwo As do I... but I suppose part of it may be that I am pretty obviously on the sidelines.
integral Actually I don't like the fact that parrot is much the same too. Even the committers can't just fix things everywhere, they've got bugs to file, and people in charge of certain bits
And you can't do things that aren't in chip's big mysterious design
bsb Pugs is the unusual one in that respect 16:46
stevan bsb: but the model seems to work well
theorbtwo I haven't payed much attention to pugs in a very long time.
bsb It does seem to work
theorbtwo Er, s/pugs/parrot/
I payed a lot of attention for a while, but I quickly saw that they weren't really doing much moving forward into higher-level bits. 16:47
integral We've also got the advantage that all the things that use pugs are in the repository, so when you change things, they can be changed together
theorbtwo: they *still* have bugs in the GC
personally I can't understand that. Surely a GC is a very standalone thing that one can test to death?
theorbtwo Yeah, well, that's life. Unless they are show-stopper bugs, then that's OK, they'll get fixed, in the meantime, settle vaugely on an API, and build on top of the GC while you're fixing bugs in it. 16:48
16:49 lumi joined
bsb The api for parrot is complicated by the number of languages 16:49
Full generality is hard (see also Meta Model :) 16:50
stevan s/languages/designs/ :P
theorbtwo Naturally it is. One of the problems with both parrot and pugs is trying to be everything to everybody.
Parrot keeps trying to let more languages compile to it, pugs keeps trying to compile to more languages. 16:51
It feels like pugs is getting better about that. 16:52
Sigh. 16:53
I should really stop ranting.
bsb I don't know if parrot can do the same. One of it's goals is multilanguage support 16:54
theorbtwo Yeah, but it needs to remember that it isn't 1.0 yet. 16:55
If you want to change things, you're going to have to break things sometimes. These things happen, and the live languages will fix themselves to deal.
16:57 KingDiamond is now known as KingDiamond|away
wolverian oh no, larry slipped out the secret design list email address on p6l ;) 16:59
stevan wolverian: and you will be shot if you get to close to it,.. either that or the dogs will get you,.. and if not that,.. you wont get past the razor wire,.. that things locked up tighter than a CIA prison in a former soviet block country 17:01
wolverian now you're letting the sarcasm show :) 17:02
Juerd Heh, knowing perl.org, it's probably ezmlm, and not too hard to sign up by sending mail to, say(npi), [email@hidden.address] 17:03
wolverian also probably manually whitelisted
Juerd Most mailing lists depend on secrecy rather than whitelists.
wolverian perl6-* depend on whitelists
Juerd Yes, for *posting*
Who wants to post there... Lurking is so much more interesting :) 17:04
wolverian yeah.. I was thinking about spamming it :) I mean.. of people spamming it..
bsb People like sausages and want Perl 6 shouldn't watch either being made 17:05
theorbtwo goes mmpf.
wolverian that took the longest time to parse 17:06
theorbtwo Why wasn't that conversation on perl6-language?
stevan hmm,... p6 made out of the slimy bits left behind by other languages all wrapped up in pigs intestine.,.. not that far from the truth maybe ;)
wolverian it's not a design by committee? :)
17:07 justatheory joined
theorbtwo I thought it was supposed to be design by benovelent dictatorship: there's discussion, larry makes a decision, everybody hopefully shuts up, at least until it becomes obviously bad. 17:08
Juerd 14ssssh, we're not supposed to discuss this! 17:09
integral the last bit couldn't happen before pugs though
all the tpf/managery/parrot people seem to think of nothing but management :-/ 17:10
theorbtwo I guess I'm just the poor ensign on conn who wonders why the doctor gets called to the conference room when there's something wrong with the conn controls and nobody can steer, and he doesn't.
stevan puts theorbtwo in charge of steering,.. integral in charge of mangament and Juerd in charge of clandestine services 17:12
Juerd integral: Yep. And that explains why they interpreted nothingmuch's proposal in that light :|
stevan and bsb in charge of sausage making
Juerd Okay, can we agree to call the core layer of Perl 6 "Sausage"? That's one cute name down, a few to go ;) 17:13
bsb I am living in Germany at the moment...
stevan bsb: sorry wurst then
Juerd bsb: You have to steal their sausage secrets.
theorbtwo So we'll end up with sausage in strange colours?
Juerd Just look for Wurstgeheimnisse
bsb Made from BLOOD!
integral "You're searching the wrong archives. :-)" -- should I be worried by the smiley? Is larry gleeful that all this vital design information is hidden in a locked cupboard? 17:14
stevan prefers the red Perl 6 to the milky grey Perl 6
integral I mean, can we actually trust @Larry to get info from [email@hidden.address] into S*?
bsb I do
Juerd integral: I stopped trying to interpret non-verbal textual communication in email, unless when something annoys me, and there's a positive smiley that can convince me it was not meant bad :) 17:15
integral: In this case, there was nothing to annoy me, so I didn't parse the smiley at all.
theorbtwo I think one of the best things TPF could possibly do is hire a secretary.
stevan theorbtwo: they have,,.. its chromatic
he is the fastest typer apparently :)
Juerd But Chr^Wchromatic is usually very busy doing ORA things, isn't he? 17:16
17:16 marmic joined
theorbtwo This person does little but make good summeries of the p6* lists, including sixperl, and output current specification, which goes into an SVN. 17:16
stevan hmm.. sound like fun ;)
theorbtwo Ideally, it mails approprate lists a diff midnight every day, along with what message they are up to.
I don't like that when somebody new comes along and wants to know how feature X is currently speced, the answer is "read all the S*, then the last 5 years of mailing list archives". 17:18
17:21 pdcawley joined
stevan shhh the summarizer is here 17:21
17:21 binary42 joined
stevan theorbtwo: if it is not in S* it is not yet Perl 6 law 17:22
integral or they forgot to put it in..
stevan integral: but that should not matter,..
cause it is forgotten
integral no, because they'll say "You were searching the wrong archives!"
theorbtwo Where is the S* SVN? 17:23
stevan svn.perl.org/ I think
integral svn.perl.org/perl6/doc/trunk/
err, .../design/syn/S*.pod specifically
17:37 avar joined 18:07 sapper joined 18:16 G2 joined 18:18 ayrnieu joined 18:20 sapper joined 18:21 netbsdi joined 18:31 dduncan joined, bsb left 18:42 sapper joined
dduncan good morning 18:43
well, I'm off to a job interview shortly ... where what the company does is akin to my life's ambition ... so please wish me luck, or pray for me, or whatever 18:45
szbalint gl.
18:54 hexmode joined 19:06 avar joined 19:14 j0sephi joined 19:31 Maddingue joined
lypanov dduncan: i'm keeping fingers crossed for you 19:36
svnbot6 r8958 | Darren_Duncan++ | r2385@darren-duncans-power-mac-g4: darrenduncan | 2006-02-08 11:35:35 -0800
r8958 | Darren_Duncan++ | /ext/Rosetta : more Language.pod updates
dduncan much thanks, to both of you
stevan dduncan: good luck 19:45
what is it for? (and in turn, what is you lifes ambition?)
dduncan in brief, my life's ambition is to build systems that provide accurate storage of and easier sharing of knowledge 19:46
the company in question makes e-learning products and such ... not exactly the same, but close enough that I'd be happy to work there for awhile (which also helps with financial stability)
stevan nice 19:47
much luck
you can use #perl6 as a reference,.. we will back you up ;)
dduncan anyway, I'm off in a few minutes, so I'll have to save further talks to later
perhaps
but, unfortunately, its a php job
but thats my second favorite language
to do paid work in right now
stevan yuk 19:48
oh well
$work is $work
dduncan still, while I prefer perl personally, I'm rather language agnostic otherwise
stevan makes a note to build a PHP backend to save people from such pain
dduncan also, getting money is important now
at least its not something proprietary like .Net 19:49
stevan aside from M$,.. .NET really doesnt suck 19:51
dduncan well, I want something with a free base so users aren't restricted from running the official version by their platform 19:53
Mono doesn't change that, too much 19:54
stevan looks at his watch,.. and hopes dduncan is not late
19:57 Limbic_Region joined 20:06 pdcawley joined 20:09 j0sephi joined 20:20 elmex joined 20:21 TMTOWTDIt joined 20:30 justatheory joined 20:33 marmic joined 20:39 j0sephi joined 20:47 r0nny joined, pdcawley joined 20:53 chromatic joined
chromatic So. 20:53
Limbic_Region deep thought 20:55
chromatic I'm trying to figure out the complaints and confusion on p6l and the #perl6 logs. 20:56
Limbic_Region oh, well I am still reveling in new Dad after-glow - www.simnet.is/velfag/jasmine/Jasmine.html 20:57
chromatic I saw; contrats!
s/trat/grat/
Limbic_Region thanks - the only way I am going to have time enough to write more perl.com articles or *gasp* a book, is if I do it at $work 20:58
Odin- Seeing a simnet URL here kinda creeps me out. :> (I know why it's there, though.)
Limbic_Region but it is soooo worth it
Odin- I thought for a moment "wait, isn't this freenode?"
chromatic I like your book idea. It'd be a pity if you couldn't do it somehow.
20:59 r0nny joined
Limbic_Region hasn't been following the list or #perl6 for the last few days (obviously) - complaints and confusion about what? 21:00
chromatic Yuval wants to spec the Perl 6 compiler layers between the language and whatever Parrot provides right now. 21:01
integral Like the AST that needs spec'ed before AST macros can be used? 21:02
Limbic_Region ok, I can see where that would open up a can of complaints/confusion
integral And then some one misinterpreting this proposal as somehow about management 21:03
chromatic Sure... I certainly didn't understand him.
integral Are you familar with pugs' model of AST -> PIL -> JS/Parrot/Perl5/etc ?
chromatic Familiar but not intimately. 21:04
Juerd chromatic: As I understood it, the layers weren't specifically compiler layers, but also layers in language design 21:06
chromatic That's what I understood from his original message too. 21:07
Odin- Modularisation of the system design, on all levels, I thought.
Juerd There's a common wish many of us share: a somewhat more formal description of the language. That is made much easier if the design is layered to begin with, and people agree on the boundaries of those layers.
chromatic I disagree.
Juerd I think the proposal is sound, but too rough
chromatic I think layer boundaries make too much complexity.
At least, those I understood from Yuval's proposal. 21:08
cognominal hum, I have still trouble to understant what Piln exactly is
Juerd cognominal: As I understand it, it's a high level in-between language, higher than pil2.
chromatic That's exactly my point.
Take cog, a smart guy and an interested guy who has already crossed over the boundary of getting involved in the project. 21:09
Juerd By the way, Limbic_Region: congrats!
chromatic If he has trouble understanding the layering, how does adding the complexity of all of these in-between interfaces help attract more people?
tewk I though Perl6 -> pil2 -> piln -> ~ parrot, that would make it a low level language, essentially lambda calculus
Odin- chromatic: Err. I'd say it's exactly the opposite problem: It's the lack of clear definition that's confusing.
chromatic: Because whatever those layers represent will be present anyway, but as an undifferentiated mass. 21:10
Juerd chromatic: Well, it's because there's no documentation (as far as I know) of existing layers. And all existing layers are actual layers in implementation, not related in any way to language design.
Odin- That's *not* less complexity.
chromatic How many available lambda calculus hackers are there in the world interested in Perl 6?
Juerd I forgot to count them, sorry :) 21:11
chromatic You won't need both hands.
Juerd I can't believe that to be true.
chromatic Count the number of available Haskell hackers working on Pugs *right now*.
Juerd But suppose it is, how would it affect us?
chromatic or in the past month. 21:12
Odin- chromatic: This argument is a bit interesting. You're not arguing they won't be needed, you're arguing they're not present. If they aren't, why won't they be needed with your approach? :>
chromatic Or in the past four months.
tewk interaction with the lambda layer will be minimal
21:12 BeoTW_ joined
cognominal I am following from a distance but I think things are advancing at a brisk pace compared to that last four years. 21:12
chromatic Maybe it will be minimal.
But it will not be free.
Odin- Nothing is free.
Juerd chromatic: Considering that Pugs is not, by current planning, the Perl 6 implementation, how is Haskell relevant for layering?
chromatic My argument is that I don't believe it to be necessary complexity.
Odin- And certainly not freedom. ;>
cognominal The only problem is to keep up with what is done.
integral Why not just scrap the synopses and the design process and declare that pugs and its tests are authorative? 21:13
chromatic Because Pugs is useless right now.
But if you want to do that, feel free.
Juerd Useless?
chromatic No one is in charge -- go right ahead.
Juerd Do you really think so?
integral useless? It can do many of the same things as perl5 such as IRC bots!
chromatic It took me All Day to build and test Pugs last weekend.
I don't care about running it on Spidermonkey.
I don't care about running it on the JVM.
I don't care about running it on Mono or Rotor or the CLR. 21:14
integral Oh, that's nothing, I build parrot once and it crashed! And I read the synopses once and they were missing the answer to my question!
chromatic I care about being able to find a problem, fix it, and get some satisfaction within a few minutes.
Juerd I think Pugs has been very useful for discovering corner cases, for playing with the language, for many people's personal skill development, for Perl 6 documentation, and undeniably: for momentum.
chromatic It's useless to me for that point.
Juerd How on earth can you state that it is useless? It's not *as useful* as a full Perl 6 implementation.
chromatic I think that's an important barrier to development.
Limbic_Region Juerd - thanks
integral chromatic: not being written in perl5, C or PIR you mean? 21:15
chromatic No.
The barrier to entry is way too high right now.
integral Not being written in a language that chromatic uses?
chromatic integral, if you're not interested in reading what I wrote, feel free not to respond to me.
Juerd chromatic: The barrier to entry couldn't be much lower. In pugs, many languages are used, not only Haskell.
chromatic Yet how do I fix a bug in Pugs/
Do I write it in Haskell? 21:16
Do I write it in C?
Do I write it in Perl 5?
Do I write it in JavaScript?
Do I write it in Perl 6?
Juerd chromatic: If you find a bug, you can write a test in plain Perl 6. That's as accessible as anything gets.
chromatic And how long will it take me to rebuild Pugs and run the test?
Juerd chromatic: Without pugs, however, not even the test COULD be written!
Limbic_Region well, get it fixed versus fixing it yourself
chromatic Sure, that's the mantra.
Limbic_Region getting it fixed is as easy as writing a perl6 test
chromatic I've had bugs not fixed for a long time.
integral and if the build time is annoying you, fill in the little bit of code to load the prelude from YAML
chromatic How long was my Test::Builder broken? 21:17
I did that.
cognominal What is missing a great chart that maps the relation between the parts. With such a chart, people would be able to focus to what interest them
chromatic That's why it takes so long to build.
Juerd chromatic: If there was another Perl 6 implementation, then Pugs would be useless. But there is not, and Pugs serves as the de-facto implementation, for now.
chromatic Again, useless for my purposes.
Don't take that for anything more than my opinion.
cognominal I don't believe in any master plans beyond the synopses.
Juerd chromatic: That may be so, But it is not useless for Perl 6.
chromatic That's fine. I agree.
That's not my point.
integral chromatic: Could you compare it to parrot? How is parrot better on these points than pugs?
Juerd chromatic: In fact, I think that aside the synopses, it's the most useful thing that ever happened to Perl 6.
chromatic This is not about Parrot, integral. I never mentioned Parrot. 21:18
integral I'm not allowed to mention parrot first?
Juerd chromatic: Sorry; I assumed (apparently wrongly) that we were discussing Perl 6, not your person.
integral Or does it suffer from the same problems?
chromatic I don't want you to get the impression that I am saying Parrot yay, Pugs boo.
That's not the point.
Parrot suffers from similar problems.
My point is this: I believe that the velocity problem of Perl 6 is not a complexity of design issue. 21:19
integral Actually I don't really understand your language problem. It would seem that has *no* solution other than an implementation in each of the ones you named
Odin- Any implementation would suffer from similar problems, unless you were intimately familiar with it.
Juerd I was also under the impression than nothingmuch meant Perl 6 in his proposal, not the implementations only.
chromatic I believe it's a practicality of contribution issue.
Juerd chromatic: I think it's both.
chromatic Juerd, you may be right. 21:20
integral I'd like to remind people that there *is* feather, which can compile pugs in ~40 minutes from clean, and *much* less from non-clean
Juerd chromatic: You do appear to assume that someone who is unable to contribute to the implementation is unable to contribute to the project.
chromatic: Which is wrong, for contribution of tests has to happen by many people to be succesful, and can be done already.
chromatic I don't mean to give that impression.
Juerd chromatic: The level of entry for that is incredibly low.
stevan chromatic: until pugs I was knew very little about lambda calculus
chromatic No, it's not low.
mauke integral: the latest svn pugs? I doubt that
Juerd I have no C skills, no Haskell skills, and mediocre Perl 5 skills 21:21
stevan until pugs nothingmuch didnt know Haskell
chromatic A 40 minute build is not low.
integral mauke: hmm
Juerd However, from the very beginning of Pugs' Perl 6 support, I have been able to contribute tests.
chromatic stevan, I'm not sure holding you or Yuval up as an example of the average hacker is statistically valid!
If I could clone Yuval and Luke, I would.
Odin- chromatic: Is "the average hacker" kinda like "average joe", with a bit of programming skills? 21:22
stevan chromatic: that is not what I am doing,.. my point is only that pugs has caused many people to learn new skills
Juerd The tests catalyze development, and can be re-used in the real interpreter to come. If testing is 1/3 of development, then I think Pugs has gotten us a huge head start.
Odin- The "normal person" who is so stupid as to be unable to understand the High and Mighty things that need to be done on their behalf?
chromatic I'm saying the normal person doesn't know the lambda calculus and doesn't have the skills to write a self-hosting language.
He can learn, I'm sure.
But will he? 21:23
integral but they don't need to do either!
stevan chromatic: what does that matter?
it only takes a few really
chromatic How many?
integral I don't understand all this stuff about "the lambda calculus" actually. What do you need beyond being able to use sub{} in perl5?
stevan I am not sure i understand the reasoning behind your argument?
chromatic The more complexity you add to the implementation, the fewer people will contribute.
stevan what does this matter,..
chromatic That's my conjecture.
I could be wrong.
Juerd chromatic: I think Pugs is near the level of support to help Perl 6 bootstrap. From that point forward, isn't the entry level exactly that which is wanted: any good hacker who knows Perl 6?
stevan but how is that different from the complexity of writing tree tranformations in PIR? 21:24
chromatic Juerd, I hope so. The sooner Pugs can do that, the better.
integral but *a* implementation is less complex than *no* implementation!
stevan or hacking the depths of Parrot
Juerd integral: Neither do I. I don't understand lambdastuff. It feels somewhat weird to see someone claim that I wouldn't have been able to contribute...
integral you don't have the whole grammar to write, just the bit for your addition
Odin- chromatic: Complexity is there; you can push it down in one place, but it comes back up in another. The argument is, where should that complexity go?
chromatic The number of people who know C is greater than the number of people who know Haskell or PIR.
That's why Parrot is C, not Scheme or Haskell or even C++. 21:25
integral Odin-: into a small enough area for audrey to maintain ;-)
stevan chromatic: ok,. that is parrot,.. which is not the Perl 6 compiler
Juerd chromatic: But do you think there are many people who want to hack a Perl 6 interpreter up in C, from scratch?
chromatic integral, I agree.
Odin- integral: Wouldn't that be ideal? But, seriously. There's too much even for that. ;)
Juerd chromatic: Sure, many people know C. But I think the percentage of Haskell hackers interested in Perl 6 is much greater than the percentage of C hackers interested in Perl 6. Also, a single Haskell hacker is more productive in terms of language support completeness, which is all we need for bootstrapping: performance is of much later concern. 21:26
stevan chromatic: I think the point is being missed really,.. it is not that we need to break up the current project into these parts,.. its that we dont see these parts being addressed in the current project,.. so they need to be created
Odin- fails to see why modularised design would be harmful.
Juerd chromatic: (Though I may be wrongly assuming that Pugs will be used for bootstrapping.)
mauke (too) many people use C without understanding the language
integral And I'm not convinced C is easier, considering some of the bugs that get introduced into parrots 21:27
Odin- Besides, modularisation is generally an analytic tool. Look at the famous "three powers".
Juerd As an outsider, I think I could more easily learn Haskell than C, by the way :)
I have to stop typing now. Sorry to leave you in the middle of a discussion.
afk
Oh, one last observation: the entry level to contribute being high does not invalidate the usefulness of a modular design as suggested by nothingmuch. 21:29
afk
Odin- Hm. The argument is that the modular design would *raise* the entry level. 21:30
(Which doesn't seem logical to me, frankly...)
stevan But the complexity must exist somewhere,..
and so the entry level for a non-modular design would be roughly the same multiplied by the size of the monolothic design 21:31
chromatic Juerd, I don't.
but I think the number is greater than the number of people who want to hack up a Perl 6 interpreter in just about any other language.
But again.
These are just my opinions.
I could be wrong.
None of you needs my or anyone's approval to explore your ideas.
stevan, I agree. That's the most valuable part of Yuval's proposal and I think it's well-worth doing. 21:32
integral No one was looking for approval for pugs, but I think instead for more helpful design
stevan chromatic: ok, so maybe Yuval and I need to go back and work out these details more,..
chromatic My concern is that, for example, rewriting existing things such as PGE in Perl 6 is more expensive than useful. 21:33
stevan not talk about changing anything,.. only bringing in the peices which are missing to the mainstream and not bury them in pugs
chromatic: that is Luke's pet project
integral "expensive"?
stevan the more useful PGE re-write was in Haskell
chromatic But I'm also trying to figure out where this Pity Poor Pugs persecution complex is coming from. 21:34
stevan and it took only a few days and made it possible for us to describe PIL^N in a P6 grammer
which will help when/if that gets ported to Parrot
so it was not expensive, it was well worth the cost
chromatic Sure, but that was the *third* version of the system. Of course it was easier.
Odin- chromatic: They're only "expensive" if you think in terms of some sort of officially given jobs.
stevan chromatic: yes, exactly
chromatic Odin, not true.
Think of opportunity costs. 21:35
stevan chromatic: I will help you understand the pity complex if you help me understand your obsession with "cost"
chromatic Sure.
integral But if there's a PGE in PIR, one in Haskell and another in perl6, you don't just have PIR hackings hacking it, but Haskell and Perl6 ones too!
chromatic Hey great, three places to maintain code! 21:36
integral *hackers
Odin- chromatic: Yes, and that's an unknown (unknowable, in fact) value.
integral yes, but three times the hackers!
Much more accessible, which I thought was important?
chromatic Pure conjecture.
kattana_ chromatic just seems to want things done now, lots of us are impatient but if you have the energy to push people to do things use it to get it done yourself.
21:36 kattana_ is now known as Kattana
chromatic No. 21:36
chromatic wants as many people to be able to contribute as possible.
chromatic thinks that making it easy to do so will encourage more people to contribute.
integral But how do you do that? What language do you pick to write X in? 21:37
chromatic I think complexity, duplication, and frustration are barriers to that.
That's my obsession with cost, stevan. What is the cost of someone contributing something useful?
Kattana think of the huge "cost" to make it simple.
chromatic Then think of the benefit for that cost.
Is Haskell the right language to write a parser in
Maybe so.
Kattana complicated things are easy, simplicity is the mark of genius.
chromatic Is it the right language for a project? Maybe... if you accept that the ease of writing has a tradeoff with the fewer number of able contributors. 21:38
stevan chromatic: I dont think it is a pity complex so much (although I was certainly bitching this morning, I will agree) as much as it is a feeling that our work and the learning from that work are not being taken into account with the Parrot side of the project, that it almost seems we need to hack it in PIR to be taken seriously
Odin- Economic analysis isn't applicable to all of reality. ESPECIALLY not when there are countless unknown variables.
integral I'm still confused...
if there's you're not trying to discourage pugs, then why is rewrites of things in pugs' factored into the cost of the other perl6 developments? 21:39
21:39 DesreveR joined
stevan chromatic: in some ways we are at the R&D stage, so cost should not be an issue, it should be assumed to be "lost revenue" 21:39
chromatic stevan, certainly the desire to support multiple backends (and the perception that the project has stalled in the past few months to do so) makes me less interested in contributing.
Again, just me.
stevan chromatic: well audrey needs to earn a living, as do I 21:40
chromatic As does just about everyone else.
stevan Parrot has the backing of TPF which a luxury
chromatic Some backing.
Larry? Day job.
Chip? Day job.
stevan yes, enough to help pay Chip and Leo I assume
chromatic Jesse? Day job.
Patrick? Day job.
Allison? Day job. 21:41
chromatic? Day job.
Luke... well, Luke's just special.
stevan :)
Luke has school
chromatic Exactly. He's the one of us without a day job.
I don't know what Leo does.
stevan Larry's list participation ebbs and flows with his job
integral school doesn't count as a day job?!
LeTo suffering from lack of money ;)
stevan Allison works on Punie one day a week
chromatic My concern is that anything that increases complexity only do so when there's a clear value. 21:42
That's all.
stevan chromatic: but is it increasing it? the complexity must exists somewhere
this is what I am not getting about your argument
Odin- Why do you think modularisation of the design doesn't qualify? 21:43
stevan where is the type inferencer going to live?
in a module, ... or in the depths of some monolothic design?
complexity either way
chromatic It's not clear to me that we *need* a type inferencer Right Now.
stevan we have a types do we not?
chromatic The last time I considered it, I thought that would be a part of PAST/POST.
Depends on what you think the next piece to implement is. 21:44
obra a modular design is great. And it'll make people better able to hack on things. And there's nothing stopping pugs from starting to build better abstractions between subsystems.
chromatic I personally would like to see an end-to-end system that can run at least a simple Perl 6 expressioin.
expression
stevan pugs does that?? slowly, but it does it
chromatic I'd love to see that hook up to Parrot.
integral pugs doesn't? 21:45
chromatic Not usably, for me.
stevan chromatic: it does,.. not sure what state it is in now
integral should have been working in the release
chromatic After eight hours of running the tests, I gave up.
stevan chromatic: the usable argument does not hold water with me,.. of course its clunky,..its alpha stage
chromatic I don't mean clunky. 21:46
I mean that if I wanted to add a feature to it and run the tests, I'd have to spend 16 hours.
stevan thinks ORA needs to pay chromatic more so he can get a new 'puter ;)
chromatic Hey, look! You've identified a cost.
integral oh, you missed the big in pugs::hack where it tells you how to run the specific test you're fixing
stevan chromatic: dont run the whole test suite if you can avoid it
integral *bit
chromatic C'mon, you know TDD better than that.
stevan dont make clean between compiles 21:47
chromatic: yes, but you have to balance the costs ;)
obra 8 hours for a full test run isn't workable for many developers
chromatic: what sort of hardware is this?
chromatic It's a 1 G Powerbook
1GHz with 1Gb RAM.
stevan ram is an issue with Pugs,.. its a hog
integral what confuses me is that all the smokes report short times like 100-200 minutes, but mine take far longer
chromatic Not terribly modern but not awful.
cognominal chromatic: how do Perl bools sell compared to Python and Ruby?
chromatic Python was about a third of Perl, last I saw, and there was a recent spike in Ruby books that took it above that slightly. 21:48
integral
.oO( maybe we need to add some o'reilly haskell books to READTHEM )
chromatic There's really not enough data on Ruby books to say one way or the other.
stevan integral: :)
cognominal I am reading about Ruby and I am happy to see that Perl6 is stealing a lot from it.
chromatic Anyway, that's my concern about cost. 21:49
If I have to build Pugs once and run the test suite to know I'm starting from a clean place, that's eight hours.
cognominal I hope that Audray will be back soon, she will cheer you up
chromatic Sure, I can run only a few tests when I'm developing (if I know that's a possibility), but before I check in I'm going to run the test suite again. 21:50
cognominal I am mostly a lurker, but when she is there things move fast.
stevan chromatic: the new (more modular) PIL2 design will hopefully fix that
chromatic 16 hours of overhead.
That's a cost.
stevan puts chromatic on the Pugs Lay-A-Way plan
integral we're meant to run the tests before checking? *eep* I'm a big failure :-(
chromatic And for integral's sake, dodging Parrot segfaults and GC bugs and syntax changes is also painful.
But this is not a Parrot/Pugs comparison.
integral hmm, is there any large app with a *fast* test suite? 21:51
chromatic Perl 5.
Parrot's not *too* bad; it's about 20 minutes on the same hardware for me.
integral oooh! yes! Not very complete though I thought :-/
chromatic Perl 5 the language is fairly complete.
integral chromatic: but parrot is very, very small compared to perl5, pugs, ruby, python, etc
chromatic I agree, but the mechanism for testing Parrot is very slow. 21:52
stevan chromatic: my biggest concern is that the "expense" already "spent" on Pugs will be thrown out and not be used to it's fullest by the Parrot side of the project,... if that is not true,.. they call me paranoid and I will gladly shut up 21:53
s/they/then/
integral My worry is that "expense" "spent" on pugs, parrot etc aren't all from the same budget
chromatic Well to be fair, people only do what they want. 21:54
stevan yup
but ignoring something does not make it go away either
integral it ties into your programming language stuff. The haskell hackers wouldn't have been near parrot with a barge pole
chromatic How many Haskell hackers are currently working on Pugs?
Not people interested in Perl 6 who *learned* Haskell.
Juerd 23:05 < chromatic> Not people interested in Perl 6 who *learned* Haskell. 21:55
Why not?
chromatic Haskell hackers who've started to *learn* Perl 6.
stevan shapr was one (he edits the Monad Reader)
chromatic 'cuz you can only get so much work out of your existing fans before you need to attract new people.
Juerd chromatic: Audrey herself just learned Haskell when she started this all. That was one year ago.
stevan lightstep was another (but I havent seen him in a while)
chromatic Audrey was already a Perl 6 fan.
integral we've had a lot of people who've contributed something and then moved on, which is nice
Juerd So Audrey doesn't count in your number of Haskell people working on Pugs? I find that weird. 21:56
integral I'd consider myself a full haskell hacker now fwiw, and I now use it preferentially to perl and C for projects
chromatic Well, the point is that Haskell hackers wouldn't have touched Parrot.
That's fine.
How many Haskell hackers has Pugs attracted?
integral you want me to go though AUTHORS and categorise them? 21:57
stevan chromatic: how is this a measure of anything??
Juerd stevan: It's like LoC measuring.
chromatic Think about it.
stevan I did,.. I still dont get it
Juerd stevan: Two lines of code are more than one, but the value of each line of code is factored out despite its importance. Or so I think. 21:58
integral oh, I've got sloccount figures if you want: pugs contains 28k of ansic, 24k of haskell and 1k of perl in src
chromatic If the claim is "Writing Pugs in Haskell has attracted people who never would have contributed", surely there's a way to measure the value of that attraction.
integral chromatic: survey everyone in AUTHORS!
chromatic Does the ease of writing in Haskell compare to the smaller number of people who can contribute?
obra chromatic: for the original prototype, clearly.
stevan chromatic: we are reducing the Haskell parts
chromatic That's a question I want to raise for the complexity issue.
Juerd chromatic: Why is a huge number of people working on the *implementation* ideal?
obra for an ongoing perl6, audrey has stated that it's just a bootstrap. 21:59
chromatic The point is.
NOT
that a huge number of contributors is ideal.
Juerd chromatic: There are lots of things that are just as valuable. I've mentioned tests and documentation, but I'm sure there's more. (These are just two things I've been involved in)
chromatic The point IS.
THAT
The harder it is to contribute, the fewer potential contributors that you have.
integral I think 10-20 haskell hackers at least can be had from AUTHORS
chromatic At some point.
SOME
POINT
That is important.
I want to raise the question.
Juerd chromatic: Oh, that's certainly true.
chromatic THAT is ALL.
Juerd chromatic: I just don't think that it is indeed hard to contribute.
chromatic Then we disagree, but it's merely an opinion. 22:00
stevan ok, point taken,.. but you are ignoring tests, modules, and docs
chromatic I don't see how I am.
integral Writing the specs...
chromatic If I want to write a test, there's 16 hours of overhead.
Ditto moduole.
stevan chromatic: those are not in Haskell
chromatic module
integral no, you DO NOT run the whole suite to add a *test*, or a *module* 22:01
Juerd chromatic: People who join this channel, the mailing list, the pugs project, are generally interested in Perl 6. They don't mind letting others fix their tests, or spending an hour or two to learn Haskell, or at least that has been my perception of the join-learn-contribute cycle.
chromatic You do if you care about code quality.
integral no, because by adding a test you cannot have changed the outcome of other tests.
chromatic Fine, you know what?
Nevermind.
I get the persecution complex thing now.
Juerd chromatic: I don't think that in the past year I've ever seen someone say that they wouldn't contribute, but would have if it were C... 22:02
stevan chromatic: how so?
integral hmm, maybe we should treat chromatic like we do any new person?
Do you have a specific test you want to add? Do you have a committer bit?
chromatic You have some very smart people in here and you're doing some very impressive things.
I have a committer bit.
I have Perl 6 code in modules.
I have Perl 6 code in tests.
I have Haskell code in a couple of hairy places. 22:03
Juerd chromatic++ # contributor!
integral okay, what's the test you're wanting to add?
chromatic You're smart people doing impressive things, but you don't listen very well.
stevan what are we not hearing??
chromatic No wonder you feel marginalized and persecuted.
integral what are we not doing?
chromatic 1) Making it easier for people to contribute
Look around.
Listen.
integral Why do we need to do that? 22:04
obra integral: you don't understand why it's good to make it easier for people to contribute?
integral no, sorry, why do *I* need to do that? I'm very happy tinkering with util/build_pugs.pl :)
Juerd chromatic: Looking around and listening has been a non-stop effort for some of us.
stevan chromatic: how could we make it easier? and I am asking seriously
integral obra: not for my enjoyment of fiddling with individual pugs modules :)
chromatic 1) Hook up to Parrot
stevan that amkes it easier?
chromatic 2) Make an end-to-end system that can run at least one Perl 6 expression
integral obra: my reason for wanting PIL to advance is because I want to fiddle with targetting other stuff to it
chromatic 3) Make it possible to run the entire test suite in 15 minutes or fewer 22:05
Juerd obra: I agree making it easier to contribute is always good. I just don't think it's realisticly possible.
chromatic 4) Identify pieces where people can contribute a complete *thing* in under an hour of investment from idea to commit
Juerd chromatic: What is end-to-end?
chromatic A complete Perl 6 program.
stevan I agree with 3, I think 2 is vague so please clarify what "end to end" means and 1 seems more like a personal wish than anything else
Juerd chromatic: Running the test suite in less time is simple: have fewer tests.
stevan 4 is a nice one,..
pdcawley Or a faster interpreter. 22:06
chromatic Damn straight.
Or a faster compilation stage.
Or faster tests.
integral hmm, but once we make the interpreter faster people can't contribute to making it faster :-(
stevan I think we all would like it to be faster
obra having the test suite broken into smoke tests and regression tests might not be bad.
Juerd Do you have any ideas on how to make compilation or interpreter faster?
pdcawley Test first only makes sense when you can run all your tests in reasonable time; you don't want your thought processes interrupted for too long.
Juerd I think everyone here would like to hear suggestions for making it faster.
chromatic Sure, ditch the Haskell back end and hook it up to Parrot.
Is it workable?
I dunno.
Juerd In fact, recently, it has been made faster to compile. 22:07
chromatic I don't hack on Pugs.
LeTo is reading _faster: FYI: use.perl.org/~leo/journal/
chromatic It's too painful.
integral that's not where most of the slowness is.
Juerd chromatic: That is being done, gradually.
pdcawley How many of the existing tests are marked as TODO?
chromatic Before a release?
integral pdcawley: about 1400 at the moment
chromatic I know my tests all passed six months ago. Now they fail.
integral before the release 1325 is probably representative 22:08
stevan such is life with alpha software which is -Ofun
Juerd chromatic: Releases are just moments when people feel the changelog becomes too hard to backlog, and release to avoid that backlogging becomes impossible :)
pdcawley How many tests are actually expected to succeed?
breaking tests that used to pass doesn't sound inspiring...
stevan what is wrong with failing tests??
chromatic Nothing, if you fix them to pass.
obra It used to feel like audrey lived to fix broken tests. 22:09
chromatic But if you guys don't care about running the entire test suite...
integral "you"? why do we need all these extra people if we can fix it all?
obra Now that she's got enough other stuff going on, we need to find more people who live to fix broken tests.
chromatic You AREN'T fixing it all.
integral I can see *that*!
stevan obra: you have a good point
integral But you're saying that to get more people to help do stuff like that...
chromatic You need to make it easier to contribute, yes.
integral Or do these people do something different?
lypanov chromatic: because it takes so damn long to test? 22:10
obra Pugs is a much more complex beast than it used to be.
pdcawley Just thinking that a test triage for increasing test speed might be to move the TODO tests into a secondary suite for the overnight smokes or whatever.
obra It used to be very easy to dive in and fix failing tests.
chromatic Precisely.
obra It's now a lot harder to get started.
pdcawley If you're working on a TODO test because you want to fix it, move it into your 'live' test set.
obra ponders regular conference "Pugs boot camp" hackathons.
stevan well hopefully the PIL2 runcore will fix these things
chromatic I hope so too. 22:11
obra The barrier to entry can be dropped many ways. More tutorials, more hackathons, more money (to pay hackers), more people who live to fix tests.
pdcawley You still have a body of tests that you are expecting to work and you'll know if something you did broke them; then, when you have the time, run the complete suite.
integral pdcawley: but don't you need to run the complete suite before you check in any changes?
stevan if nothing else the test suite can be used for Parrot/PGE/etc
obra Faster smokes would be good too. I wonder if it'd be possible to get pugs down to a minimal but complete subset with only one backend.
pdcawley integral: Before checkin to the main line? Certainly.
stevan obra: all the backends rely onthe Haskell core
pdcawley Before checking into your local svk repository? Maybe not. 22:12
Juerd obra: The backends aren't what makes compilation slow.
integral pdcawley: but that's the problem, you may have missed what chromatic said, it was that step that was very, very slow :)
ah, svk that's a good idea
obra ok. What _Else_ can get cut out for a minimal smoke
Juerd obra: Haskell? :)
lypanov why not run a random repeatable subset on each test run? (print the seed at the end of the failures)
obra "how small can we get"?
stevan Juerd: :D
pdcawley lypanov: *Really* not liking that idea.
integral there's nothing easy like adding some more FastPackedStrings?
lypanov pdcawley: why?
pdcawley You should at least run everything you expect to PASS every time you run the tests. 22:13
lypanov pdcawley: oh yeah. of course
Juerd GHC is slow, and what it creates is slow. But I think we can live with that.
integral hmm, I'm not wrong in thinking that Pugs.Parser is using FPS am I?
lypanov pdcawley: i meant the insane non core items
Juerd Maybe we can set up a distributed cluster of compiling machines?
(distcc)
pdcawley lypanov: So long as there is a sensible core that you've committed to having pass...
obra chromatic: would a set of fast test hosts be a way to help lower your barrier? 22:14
chromatic Potentially.
integral oh, Pugs.Rule *doesn't* use FPS. Maybe someone needs to look at either changing it to FPS, or switching it to the new parser library thingie from the PIL work
Juerd Sorry, what's FPS?
obra would fast automated smoking be almost as good? so you can guarantee that it fixes your one test and can test the whole kit on the farm?
integral Juerd: FastPackedString
chromatic It would be less good.
lypanov pdcawley: it would at least mean they were tested after all
obra chromatic: understood. 22:15
Juerd integral: Is that a Haskell string type?
integral Juerd: yep. It uses bytearrays in memory, rather than singly-linked lists per char
obra fastpackedstring was the string implementation handcoded for the version control system in haskell, yes?
And I'm genuinely blanking on the name.
Juerd integral: Ah, I see.
obra It's not just svk bias
integral obra: the one included with pugs is a newer version with a few more features I believe
lumi darcs? 22:16
integral obra: *nod*
obra But that was the genesis,right? yeah. darcs :)
Juerd integral: I reckon this would help because many in-between formats are strings?
darcs still runs on feather
obra does the .il hackathon have a theme yet?
chromatic For me, the most beneficial thing would be a Perl 6 parser that could spit out PIL that I could run on Parrot.
integral Juerd: well a big time waster is actualyl just parsing files. That's why the precomp prelude is a win: because parsing costs
chromatic Just for me.
obra chromatic: that sounds like very much up patrick's alley
Juerd It's feather's greatest CPU hog, fortunately only using otherwise-idle time
pdcawley Given that a test cycle should go 'add a test; run all the tests to make sure it doesn't pass; make it pass; refactor, running all the tests for each refactoring; check changes into your repository (local svk or svn, doesn't matter?)
integral chromatic: ssh feather.perl6.nl pugs -CPIR -e'say 2+5' 22:17
pdcawley Look how often those tests get run in a single cycle; you need them to be fast, and you also need to be confident that they're going to catch any screw ups.
obra wonders if proposing that the theme of the .il hackathon be "testing ergonomics" would be out of line.
Juerd I think we all agree that faster compilation and faster runtime would be wonderful.
chromatic Definitely. 22:18
Juerd I think nobody likes that it's slow, or wants it to be slow.
pdcawley Has anyone run a profiler over pugs yet?
Juerd However, what can be done to make things faster?
integral hmm, if the Text.Parser.Rule we have does everything Pugs.Rule does, it just needs a compatability wrapper
Juerd pdcawley: Those are indeed more constructive questions :)
integral pdcawley: "make profiled" used to work. easy task: make sure it still works
pdcawley integral: What level does the profiling work at? C? Haskell? 22:19
integral pdcawley: haskell
pdcawley Oh thank ghod.
integral there's a big chapter in the GHC manual. It's all about cost centres and complicated stuff :-/
and in the case of CAFs the results are sometimes not entirely useful :-/
pdcawley CAF?
integral "Constant Applicative Form" -- a top level constant, but in haskell can have a big lazy expression in it: foo = factorial 50000 22:20
so it's more complicated to cope with than a C top level variable for example
pdcawley Where factorial 50000 doesn't actually get computed until you need a value for foo? 22:22
integral right.
pdcawley So the question becomes, where does the profiler lay the blame for that computation...
integral except maybe not, the compiler could compute it at compile time if it's brave (hence making compiles take ages)
pdcawley: right :)
pdcawley So, we have a language which is very fast to program in, but very hard to profile in a meaningful way... 22:23
integral oh, no it's actually really easy to instrument GHC's virtual machine model
pdcawley Where 'very fast to program in' applies to people who know the language of course...
integral it's just very hard to convert it into something that helps a poor human
Odin- That goes for any language. 22:24
pdcawley integral: We seem to have different working concepts for 'in a meaningful way'.
integral sort of :) 22:25
pdcawley In this context, I'd argue that 'meaningful profiling information' is the sort that helps a poor human. 22:26
integral it's just that sometimes in pure functional code, the profile info is very useful 22:27
pdcawley Odin-: What in particular goes for any language?
integral it's just that pugs isn't written in that style in lots of parts
imho, it's not so much writing a language that's important, it's reading it
pdcawley It's written in a style where the profiling information is meaningful?
integral no :-(
pdcawley integral: You said a mouthful.
Odin- pdcawley: That it can be fast to program in only for those who know it. It's distressing, how often people confuse ease-of-learning with ease-of-programming, IMO... 22:28
pdcawley Oh. Bollocks.
(re the 'no' answer)
Juerd Could we get TPF to give out bounties for every 10% of optimization? :)
integral well it might be, I maybe didn't study the GHC manual closely enough to grok it
pdcawley Well, it would be an interesting grant application.
Juerd A bounty is the opposite of a grant. 22:29
pdcawley Yeah, but earmarking the funds would probably count as a grant application.
Juerd It has, to recycle a term from earlier discussion, a lower entry level.
integral hmm, I wonder how small grants can be
pdcawley TPF only has so much money to go around after all.
Juerd integral: As small as you'd like.
pdcawley I don't think we've had a request we've considered to be too small yet... 22:30
Juerd integral: I'm quite sure that if you request $10 for a simple task, you have a great chance to get it :)
If it is meaningful.
pdcawley Depends on the admin costs associated with getting the funds lined up.
chromatic A bounty could ease the "cost" of getting involved.
Juerd Re bounties, perhaps 1 $/% is a nice key. 22:31
Odin- chromatic: Not really, but it would change the price, by subsidising some of the cost. :>
pdcawley Hmm... I must go and do handyman things. Enjoy yourselves.
Juerd And the first to optimize would get the greatest bounty :)
chromatic Well money is a different motivator from interest.
Juerd chromatic: Yes, but within the domain of interest, money can help for prioritizing. 22:32
chromatic Precisely.
Juerd Argh, my hands hurt so bad... afk 22:33
22:39 r0nny joined
stevan chromatic: for the record,.. I dont feel persecuted, I get frustrated sometimes when I see the lack of cohesion between all the Perl 6 efforts, but it is a large project, it will happen 22:40
chromatic stevan, I probably read this morning's session out of the context in which you intended. 22:41
22:42 ilogger2 joined
stevan chromatic: I was bitching a bit, so you might not have 22:42
chromatic There are bits that definitely frustrate all of us.
stevan and probably I came across more serious at times then I was 22:43
chromatic Hey, I know you think I'm dang cool.
No worries. Definitely mutual.
stevan :)
in the end we all want the same goal,.. and worldwide distributed development is just not an easy thing to manage 22:44
chromatic Neither is writing a compiler.
stevan :)
true dat
and combine the two and you have .....
chromatic -O3fun 22:45
Can be fun, can be unstable.
stevan anyway,.. i will talk to Yuval and try to clarify our list of "missing bits"
chromatic I think Jesse is going to do the same.
stevan good
Juerd Using realnames in IRC is weird :)
chromatic C'mon, "Jesse" is obviously a made-up name. He lives in BOSTON, for goodness' sake. 22:46
Juerd chromatic: It's funnier even that *you* use a realname of someone who's here by another name :)
Every name was once made up.
chromatic Precisely.
Juerd I didn't think of Juerd myself. I did choose it myself. 22:47
stevan thinks chromatic needs some umlauts so he can be as cool as Ingy dot Net
Juerd Which me like it more than my real name.
integral "Ingy dƶt Net"
stevan yes, thanks integral :)
chrƶmatic 22:48
mauke hah, the secret's out; chromatic's real name is "gaim"
chromatic i umlaut
integral ĆÆntēgrƤl
stevan take an a one too,.. I mean why not
chromatic That's just too many dots.
mauke āˆ« 22:49
stevan officially changes his name to Ī»
integral unicode missed out camels :-(
Juerd Oh, fuck. Just remembered I have to find an ethernet hub.
The problem is that it has to be hub, not switch :( 22:50
I have a dozen switches here.
22:53 xinming joined
webmind Juerd, what do you need a hub for ? 22:54
22:56 larsen joined
Juerd webmind: Sniffing. 22:56
chromatic Alright, before I devote my attention fully to $job again, does anyone need anything from me? 23:04
Juerd chromatic: Well, if you could spare a few tuits... 23:06
chromatic I have a stack of little wooden one.
Juerd My supply of round ones is running out.
chromatic ones
stevan chromatic: thanks 23:09
23:10 binary42 joined
chromatic You too, stevan. 23:10
For what it's worth, I'm glad you're looking in to metamodels, OO systems, and introspection. 23:11
stevan chromatic: well, if my $client would let me use CLOS then ... ;) 23:12
stevan gives chromatic a big hug and wanders off to eat dinner with the family & 23:13
chromatic Now *there*'s an implementation problem that's gone on for 25+ years.
stevan :)
so true
obra points at itasoftware
Wanna write lisp for production apps? Go work for ITA.
stevan although Franz Allegro8.0 looks really really promising
yuk, travel sites :P 23:16
stevan really goes now &
23:22 pdcawley joined, j0sephi joined 23:33 avar joined 23:36 binary42 joined 23:39 j0sephi joined 23:55 Cryptic_K joined