svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | dev.pugscode.org/
Set by putter on 11 February 2007.
00:15 bones`comer is now known as bonesss 00:16 mako132_ joined 00:17 REPLeffect joined 00:26 larsen_ joined 00:39 sunnavy joined 00:53 Caelum joined 01:04 rashakil joined 01:11 REPLeffect_ joined 01:23 woremacx joined 01:25 mako132_ joined 01:33 MegaRevolt joined, MegaRevolt left 01:52 stevan_ joined 01:55 bsb joined 01:56 Aankh|Clone joined 02:04 mdiep_ joined 02:19 dmq joined 02:33 eric256 joined
eric256 hello 02:33
eric256 wonders if he is in the wrong time zone for everyone else ;) 02:34
143 people an no one is around? /me whistles 02:37
02:50 amnesiac joined, sunnavy joined
eric256 been a while since i did anything on p6 or pugs...is there a seperate pugs chat room? 02:51
there hasn't been a smoke of pugs done since oct? 02:56
allbery_b most pugs stuff happens here. things are quiet because most stuff that goes on at this time of day involves putter, who isn't around, or audreyt who is in hospital. 02:59
couldn' tell you much else, sorry 03:00
eric256 thanks for telling me that much ;)
eric256 goes to wathc hereos and studio 60...but i'm getting my feather account fired back up
03:08 Aankh|Clone is now known as Aankhen``
TimToady eric256: there have been lots of smokes of pugs since oct. where are you looking? 03:08
you want to look at the repository entries, not the release entries 03:10
no point in resmoking the release, it'd presumably just give the same answer every time.
ingy hi TimToady 03:11
we never met up in Mountainview
but that's ok
I was just sleeping in a crappy hotel there 03:12
all the hacking was in Palo Alto
TimToady well, my schedule has been insane in any event
and I almost can't even eat out anymore between food allergies and low-salt diet... 03:13
ingy :( 03:14
TimToady but it beats hepatitis, I'm sure 03:15
ingy it's really too bad you won't be going to .jp
TimToady speaking of high sodium diets...
ingy haha
03:16 mako132_ joined
ingy is that why? 03:16
TimToady no, prior commitment on east coast that week
ingy I could supply you with applesauce
ok
TimToady well, I'm sure I could survive on just rice for a week, if it came to that. 03:17
ingy any word on YAPC::Beijing?
TimToady dunno
ingy I heard rumors 03:18
TimToady: if you ever want to feel the true extent of your creation, try installing a minicpan 03:19
merlyn installing the whole thing? 03:20
that could take months. :)
TimToady hey, 10 years or so ago i was trying to compress CPAN onto a CD
merlyn or do you mean just downloading it
ingy I'm on hour 2, at DBIx-Wrap
TimToady (for O'Reilly)
merlyn the minicpan *just about* fits on a CD still
TimToady with everything precompiled? 03:21
merlyn uh, no
sources
TimToady these were binary rpms...
merlyn ahh
current MINICPAN = 631M
ingy TimToady: 7 years ago I did something similar for ActiveState 03:22
merlyn that's still a CD, I think
TimToady but the Perl Resource Kit for Unix was never a good seller
ingy but that was only 1200 mods
heh
allbery_b that, and it had the problem that it was out of date before it was released, CPAN being what it is
allbery_b has a perl resource kit, never even bothered with the modules :)
ingy CPAN is my test database 03:23
it's a good chunk of data
03:29 GabrielVieira joined
TimToady dinner & 03:30
03:43 justatheory joined
Coke yawns. 03:47
03:52 GabrielVieira2 joined 04:07 hobbs joined 04:24 reZo_ joined 04:49 stevan__ joined 04:51 jdv79 joined 05:06 REPLeffect_ joined 05:10 GabrielVieira joined
eric256 if i want to patch documentation..do i do that in the //mirror/pugs? or somewhere else? S29 had some minor code issues i was hoping to help fix ;) 05:13
05:15 rfordinal joined
allbery_b I think the synopses are more resrcited; post your issues here, and TimToady or someone else with access will fix 05:16
*restricted
eric256 okay, in the definition of reduce, and reverse the brackets { } arn't balanced, reduce is missing one, and reverse has a ) instead of a } 05:19
shouldn't there at least be a readme in that folder then explaining not to mess with them? i found Functions.pod in /docs/Perl6/Spec 05:20
hmm just found the same file as /pugs/docs/feather/syn_index.html 05:26
hehe now i'm confused
Ziggy6 i i think the synopses are on another svn repo 05:27
eric256 err scratch that. itw as the index, not the same doc.
ahh..
05:30 Aankhen`` joined
eric256 maybe if i figure this out my first task can be making it more obvious for the next guy! ;) 05:30
05:33 REPLeffect joined 05:34 Aankhen`` joined
eric256 actualy affter looking around, i think that IS the right place to edit S29 well i can always apply my changes and if its wrong it can get undone..thats tbe beauty of svn right? 05:35
05:38 ofer0 joined
TimToady The proper place to edit S29 is in pugs/docs/Perl6/Spec/Functions.pod 05:47
only S1-6,9-13 are in the svn.perl.org repo 05:48
I leave the others over in pugs so that they can be edited by people like you. :)
eric256: see above 05:49
eric256 hehe thanks! apparently i lost my commiter bit somewhere in there. could someone set me up with [email@hidden.address] i got the announcment it was changing, but can't find the email with a link to change my password 05:50
thanks TimToady, i figured out the smoke thing after i said it
mind if i add a message at the bottum of S29 explaining where to update it at? 05:51
05:52 fengc joined
TimToady I'd put it at the top, myself... 05:52
commit bit sent
eric256 thanks
TimToady thank you 05:53
gaal TimToady: is &sort clever about its input somehow? Or should examples in Snn say sort :numerically or something? 05:56
nothingmuch morning gaal 05:59
eric256 all i need to do is svk -ci right? no push or pull or anything? svk is a little new to me ;) 06:00
eric256 enjoys seeing his changes take effect ;) hopefully i can find a little time now and then to scour docs and help a bit 06:02
TimToady gaal: sort by default uses cmp which is smart about a given type. If the keys are of inconsistent types, then you'd have to be more explicit, or use the signature form to coerce things a bit. 06:04
(assuming the signature for allows for the coercions...)
*form
sort uses Ordering which is defined in Functions 06:05
I'm sure it's still infested with a few bogons though.
I wish the people who spend endless hours debating various sorting approaches in Perl 5 would spend a little time critiqueing the new design... 06:06
06:07 avarab joined
TimToady I do think canonicalized is a horrid long word. 06:08
tene I like it.
TimToady how 'bout "canned" for short. :) 06:09
or maybe c11d :) 06:10
REPLeffect Yeah, but then the guy at s11n.net would claim trademark or something.
TimToady he should be flattered that we borrowed a feature. :) 06:11
REPLeffect hehe.
Except that's a C++ library :-) 06:12
TimToady oh, we'll probably end up borrowing that too...
REPLeffect yeesh. He's out with cancer -- is everyone getting seriously ill lately?
TimToady we'll have to put some extra stuff in there so the Pava and P# peopel can chop it back out later. 06:13
s/el/le
REPLeffect Is that the British spelling of peopel? :-)
06:13 avarab_ joined
REPLeffect no, wait, that would be peouple. 06:14
TimToady well, I hope I got done with being seriously ill three years ago.
REPLeffect Was that the stomach trouble?
TimToady nod
REPLeffect So, what was the exact condition?
(other than "miserable")? 06:15
TimToady called GIST "gastro-intestinal stromal tumor"
06:15 Ziggy6 joined
TimToady fast growing, but tends not to metastasize, fortunately. 06:15
REPLeffect So did they try to give you the old "irritable bowel" as a preliminary diagnosis?
TimToady by the time they took it out it was the size of a fist
no, not when I was pouring blood out my lower end 06:16
had two ulcers on the tumor
REPLeffect Well, yes, that tends to be an indicator of something worse :-)
TimToady had to have two units of blood just for that part
REPLeffect Youch. 06:17
I've just noticed, that a lot of times when they don't know what it is ...
... and it is gastro-related "Oh, it's irritable bowel".
TimToady and I was off on Kauai at the time; we were at our timeshare there
REPLeffect Where's that? 06:18
TimToady not how I wanted to spend an extra week in Hawaii
REPLeffect ah.
Was your family with you?
TimToady it's the westernmost main island
my wife. my in-laws had just flown out earlier that day
and the oldest and most eroded
but pretty 06:19
REPLeffect (nice save) :-)
TimToady got to look at it a lot from my hospital room
REPLeffect oh, I thought that you were joking about your wife.
(ducks)
TimToady the doctor there didn't want to tell me I had a tumor and "ruin my vacation"
REPLeffect Um. Duh...
TimToady but said in no uncertain terms that I would see a GI specialist 06:20
when I got back home
REPLeffect By that time I'd say twas ruined.
TimToady I did, and he sent me to the surgeon
REPLeffect So how long was your recovery -- post surgery?
TimToady the surgeon did a CT scan, and before I was home from that, he and my wife arranged surgery for the next day
they sent me home after about ten days, but I ended up right back in the hospital in a day 06:21
apparently the new plumbing had scarred up
REPLeffect youch.
TimToady we waited another month and a half for it to open back up, but it never did.
06:22 GabrielVieira2 joined
TimToady so eventually they went back in and replumbed it a different way. 06:22
REPLeffect PVC or copper? ;-)
TimToady basically, I didn't eat or drink a thing for most of two months.
everything came through tubes
couldn't take pills
it was either morphine or nothing
gaal rehi; thanks for the explanation, TimToady, smartcmp++. 06:23
eric256 with the smart linking, i was linking t/operators/value_equivalenc.t and wondered if i could make it two large code blocks...will the smart linking catch that and link that whole bit..then smart links inside that could link to just those sub code blocks?
TimToady basically, I thought I was recovered two months after that
REPLeffect TimToady: Between the cornea transplant and that I'm sure you'd prefer ...
TimToady but in retrospect, I wasn't really back online for most of a year
REPLeffect ... to stay out from under the knife for a good long time.
TimToady yeah, now it's just hypertension, grrrr. 06:24
REPLeffect As my Grandpa says "it's hell gettin' old, ain't it!"
TimToady beats the alternative, barely
gaal nothingmuch: remoose
REPLeffect Well, from what I understand, not in your case (bad for family, but not for you) 06:25
But noone wants to leave before their time.
TimToady eric256: no clue
REPLeffect s/noone/no one/
can't believe I did that -- one of my pet peeves. 06:26
TimToady Q: Why is it that we laugh at a birth and cry at a funeral? A: Because we are not the person involved.
REPLeffect hehe.
06:27 LCamel joined
TimToady well, time to take my blood pressure again... 06:27
REPLeffect enjoy :-)
06:28 LCamel joined
TimToady 134 / 89, not too bad 06:29
just don't say anything exciting, and I should last a while yet.
REPLeffect anything .... exciting 06:30
I got nothin' 06:31
should be safe.
On a slightly perl-6-ish topic. I haven't seen anything, but are there plans for a macro mechanism in perl 6? 06:33
I mean, like lisp macros, not C macros.
allbery_b yes, it's in one of the symopses
*synopses
REPLeffect Seems it would be much more difficult to implement, perl having syntax and all (unlike lisp). 06:34
in my fairly uneducated estimation.
allbery_b they operate on ASTs
(that is, the internal representation)
REPLeffect So, how does that translate to the perl 6 code? 06:35
(feel free to point to the synopsis, if you know which one)
TimToady see S06:2010
section "Macros"
REPLeffect OK.
allbery_b was just about to check S06, having just scanned S02 06:36
REPLeffect Funny, after asking the question, that sounds a bit familiar :-)
allbery_b has not memorized the synopses...
REPLeffect perhaps old-timers has just set in.
allbery_b neh, just perl6 is rather lower on the stack than a number of other things
06:37 jisom joined
REPLeffect Either that, or I've just slept since then :-) 06:37
allbery_b goes back to searching for a different kind of macro 06:38
06:38 drupek12167 joined
REPLeffect TimToady: am I missing something? S06 has just one line about macros that I can see. 06:41
allbery_b hrm, I saw a whole section about them, admittedly without much detail
TimToady about 2000 lines below that
REPLeffect Am I looking in the wrong place? (perl.org)
06:42 jisom joined, bsb left
allbery_b perlcabal.org/syn/ 06:42
lambdabot Title: Official Perl 6 Documentation
06:42 jisom joined
REPLeffect ah (gasp 2003!) no wonder. 06:42
allbery_b S06 / Advanced subroutine features / Macros
TimToady dev.perl.org/perl6/doc/design/syn/S...tml#Macros 06:43
lambdabot Title: Synopsis 6: Subroutines - perl6:
REPLeffect Much better.
TimToady don't look at the original date, look at the last modified date 06:44
REPLeffect I was looking here: perl6.org/doc/design/syn/S06.html 06:45
lambdabot Title: Synopsis 6
REPLeffect Last Modified: 12 Apr 2003
just a tad out-of-date. 06:46
TimToady yes, that's very old
REPLeffect So, I'm assuming that none of that is actually implemented yet. Is that correct?
Or is that an "unfair" statement? 06:47
TimToady ?eval macro prefix:<foo> { "say" }; foo "bar" 06:48
evalbot_r15255 Error: No compatible subroutine found: "&foo"
eric256 i remember now how this can quickly suck up a ton of time! ;) later all and thanks for helping me get back in the groove ;)
TimToady ciao
06:48 eric256 left
TimToady ?eval macro foo { "say" }; foo "bar" 06:49
evalbot_r15255 OUTPUT[ā¤] Bool::True
TimToady seems not to be entirely functional yet...
REPLeffect But at least there is something there.
TimToady probably parses correctly but doesn't actually mutate the grammar appropriately yet
the current pugs parser doesn't really do the syntactic categories thing yet. 06:50
that's part of why I'm writing the Perl 6 grammar in Perl6 now.
to see how all that works together 06:51
REPLeffect If you could just write Perl 6 in Perl 6, you'd be golden :-)
(all of it, I mean)
except for that little bootstrapping problem.
TimToady maybe someday we'll get there. for now I'd just be happy for the parser to be in Perl 6 06:52
jisom how are perl6 macros different from perl5 constant functions?
allbery_b self-bootstrapping is a solved problem :) start simple, each new revision parses a bit more
TimToady constants are just variables that are initialized at compile time, basically.
they don't change the grammar
you can use macros to define constants, but it's kind of overkill. 06:53
REPLeffect jisom: are you familiar with lisp-style macros?
jisom no, only c, and pir
REPLeffect totally different beast from C
C macros are just text substitution, essentially. 06:54
TimToady 'course, the nice thing about Lisp is that the language *is* the AST...
REPLeffect hehe.
jisom I'd take forth over lisp any day, though
REPLeffect If you can just get used to the parens (someone will say it eventually, might as well be me)
TimToady I'm trying to think if there's anything else nice about Lisp... :)
jisom good with lists? 06:55
REPLeffect actually, I would submit that the language being the AST is a pretty big win -- if you can get used to it. 06:56
TimToady nah, uses all these strange lopsided . trees to represent what should be a simple structure. :)
it's a big win for the compiler writer :/
REPLeffect No doubt! 06:57
TimToady it'd be an even bigger win for the compiler writer if we could just get the user used to writing I*86 assembly
;), of course 06:58
jisom not portably, I use a ppc :)
TimToady then you'll just have a harder time getting used to it...
jisom yeah, or hack parrot and it's jit to use that for your programming 06:59
REPLeffect TimToady: I'm curious. Have you ever written anything fairly large in lisp (I don't know if you've done much in it at all)?
TimToady not since grad school
and I wouldn't really call it "large".
REPLeffect So, was that homework assignments then?
TimToady well, course project in natural language processing 07:00
REPLeffect Don't get me wrong, I'm not trying to "convert" you, I'm fairly new to lisp myself.
jisom that many parenthesis aren't natural
REPLeffect I was just curious. 07:01
I am *not* new to perl.
s/perl/Perl/
allbery_b jisom: there's always the interlisp-style ] 07:02
REPLeffect lisp programmers would argue that many paren-challenged versions of lisp have been tried and all failed.
TimToady also used (and hacked on) the mock-lisp in Gosling's emacs, but that's arguably not real lisp.
REPLeffect I have to admit. What I've seen of macros in lisp impresses me. 07:03
TimToady um, *all* languages have been tried and all have failed. :)
REPLeffect I was waiting for it.
TimToady you give good straight lines
allbery_b lisp macros are powerful. they're also incredibly brain-twisty
jisom perl6 has failed already???
allbery_b having the language and the AST be identical has its downside 07:04
TimToady oh, certainly, we've planned for it in advance.
REPLeffect Which downside are you referring to?
allbery_b the brain-twisty 07:05
TimToady arguably, planning to have failed is the *one* thing that Perl 6 has done better than any other language.
REPLeffect hehe.
allbery_b really easy to confuse the map and the territory when they're indistinguishable
REPLeffect Actually ...
so far I see it as mainly a good thing. 07:06
I've tried to to a fair bit with code generation.
jisom does perl 6 require alphanumeric characters?
REPLeffect And lisp is the first language that seems to make it a natural part of the language.
allbery_b for unicode definition of same, I believe
TimToady jisom: not sure what you're asking 07:07
REPLeffect The verdict is still out in my case (as to whether I'll try to do much with it).
jisom with trickery, a perl 5 program doesn't need any alphanumeric characters, can perl 6 do the same?
all line noise 07:08
TimToady it will be more difficult
most of the punctuational variables are gone, for instance
REPLeffect !@#$@%$@%!!! 07:09
devbot6 REPLeffect: Error: "@#$@%$@%!!!" is not a valid command.
REPLeffect (sorry)
couldn't resist.
TimToady have you looked at Haskell yet?
tene ?eval !@#$@%$@%!!!
evalbot_r15255 Error: ā¤Unexpected "#$@%$@%!!!"ā¤expecting "@" or "::"
jisom only looked.....not understood 07:10
REPLeffect It's on my list (if you're asking me)
jisom haven't done the homework
TimToady it's definitely more of a brain-pretzel than Lisp...
REPLeffect I kind of picked up that vibe. 07:11
allbery_b if you avoid keywords you can write haskell programs without alphanumerics
jisom I remember one of audrey's blog posts, about some code that worked, but she didn't know how
allbery_b <*> is a perfectly good variable name
jisom "Gentlemen, that is surely true, it is absolutely paradoxical; we cannot understand it, and we don't know what it means. But we have proved it, and therefore we know it must be the truth." - Benjamin Peirce
TimToady well, $<*> is a perfectly good variable name... :) 07:12
REPLeffect Is there a "straight" tie-fighter operator yet? |-o-| 07:13
07:13 Ziggy6 left
TimToady ?eval sub infix:<|-o-|> ($a,$b) { say "Use the $a, $b!" }; "Force" |-o-| "Luke" 07:14
evalbot_r15255 OUTPUT[Use the Force, Luke!ā¤] Bool::True
TimToady that good enough? 07:15
REPLeffect works for me :-)
Still haven't figured out how Darth let that other stupid tie fighter run into him in the trench.
geez -- chosen one -- didn't you forsee that?
TimToady well, you know, family squabbles get you hyperfocused... 07:16
REPLeffect hehe.
jisom that one needs to go into a faq somewhere
REPLeffect Even when you don't know they are family.
The tie fighter, or the darth vader reference?
jisom the little command 07:17
perl6-amusement
REPLeffect Your next book, TimToady.
TimToady will already be too fat...
REPLeffect Perl 6 3000 (ducks)
TimToady Pyrl 07:18
Puby
Pcl
Pisp
REPLeffect <shudder>
TimToady Paskell
jisom python?
REPLeffect oops. That's a little too close.
TimToady Portran?
REPLeffect Porth?
Pimula? 07:19
TimToady PPL
allbery_b perthon, of course
TimToady and, of course, PL/I
jisom hmmm......a perl that uses postfix
allbery_b PerL/1?
REPLeffect Perlfix?
jisom perl forth....
REPLeffect But please, no P++ 07:20
TimToady ?eval sub postfix:<!> ($x) { [*] 1 .. $x } 10!
evalbot_r15255 3628800
07:20 marmic joined
REPLeffect And no Pasic of any form :-) 07:21
(visual or not)
jisom makes me think of pir's "foo = print"
TimToady Pua
07:21 Ziggy6 joined, Ziggy6 left
REPLeffect Pogo? 07:21
I actually kinda like that one. 07:22
If I do say so myself.
TimToady purtle graphics
jisom no one's going to mention p
REPLeffect Next book typeset in Patex.
Or is that Perlatex? 07:23
Heck, that may already exist.
TimToady Next nintendo box is the Pii
REPLeffect think of the children
... in the public swimming pool
As if Wii wasn't bad enough.
TimToady Darn, I forgot to Pivo that program... 07:24
REPLeffect Actually, I think the next version is the "Uss" (pronounced "us")
TimToady all just goes to show that P is much more flexible than Py 07:25
REPLeffect [cough] [sputter] [flying coffee]
go away bad visuals!!!!
TimToady well, I think my blood pressure is down in the basement now. probably should head off to bed before I do any more damage to the ecology. 07:26
REPLeffect That's because Py is not in liquid form.
sleep well, TimToady ...
TimToady K
REPLeffect (I'd say dream of large women ... 07:27
... but there was already one incorrect reference to females in your life earlier)
TimToady except my wife is 4'10"...
REPLeffect so she probably wouldn't appreciate that.
No matter how it was interpretted.
TimToady well, g'nite. 07:28
REPLeffect I should get back to work also.
good evening.
07:28 REPLeffect left 07:29 GabrielVieira joined 07:43 leed joined 07:46 offby1 joined
offby1 is there a built-in way to "adjoin" an element to a list -- i.e., to "push" it if there isn't already an equivalent value? (I suspect not, but ...) 07:46
allbery_b sounds more like you want a set than a list 07:47
offby1 ya 07:48
trying that now.
'nother question: at the pugs command line, can I find out what methods are defined for a particular variable? There seem to be all sorts of handy things whose documentation I've never run into.
allbery_b no introspection as yet, no :( 07:49
offby1 ok, more specifically: if I've got a file handle, and read some lines from it, can I get it to tell me how many lines I've read?
seems silly for me to have to keep track myself.
I guess I want the perl6 equiv of $.
allbery_b hm, S16 hasn't evolved that far yet. guess it's a question for @Larry 07:53
avarab_ offby1: in p5 people would generally say "use a hash" 07:54
the same probably applies in p6
07:54 avarab_ is now known as avar
offby1 avar: doin' that now :-) 07:54
allbery_b well, except p5 didn't have a set type; p6 is supposed to
(may not be implemented yet, of course) 07:55
offby1 aha 07:56
see, I didn't know that :-|
jisom isn't there a @array.contains($foo) type thing in perl 6? 07:57
offby1 that'd be nifty
let's see.
allbery_b @array ~~ $foo?
lambdabot Keelhaul the swabs!
offby1 well, pugs ain't got it
allbery_b whoops
offby1 nope
~~ don't do it needer
pity.
allbery_b ?eval <a b c> ~~ 'a'
evalbot_r15255 Bool::False 07:58
offby1 is evalbot running pugs?
allbery_b hm, I think thatmade the synopsis a few weeks ago and pugs hasn't been updated to match yet
offby1 ah
allbery_b smartmatch gets overhauled every week or so :)
jisom then it'd just make it a push unless contains type thing
offby1 I have to trust that it's not just flattening the array into a string and then doing a regexp match against that ... :-)
allbery_b oh, duh 08:00
?eval any(<a b c>) eq 'a' 08:01
evalbot_r15255 (Bool::False | Bool::True)
allbery_b hm, right, got that bug still :)
offby1 hmm
let's see if that bites me too
allbery_b ?eval my @foo = <a b c d e>; any(@foo) eq 'c' 08:02
offby1 works though.
evalbot_r15255 (Bool::False | Bool::True)
offby1 allbery_b: thanks.
at least, it works in an "if".
which prompts me to say: "Everything I Do Gonna Be Funky (From Now On)" 08:03
allbery_b ?eval my @foo = <a b c d e>; if any(@foo) eq 'c' { "yea" } else { "nay" }
evalbot_r15255 "yea"
jisom ?eval my @foo = <a b c>; any (@foo) eq 'd';
evalbot_r15255 (Bool::False)
offby1 blows allbery_b a kiss
allbery_b ?eval my @foo = <a b c d e>; if any(@foo) eq 'f' { "yea" } else { "nay" }
evalbot_r15255 "nay"
allbery_b if provides the right context to avoid the autothread bug
offby1 I assume that's no worse than linear time in the size of @a?
allbery_b I don't know the implementation 08:04
offby1 ah, hell; I'll code as if it were reasonably fast.
allbery_b no worse, potentially better if it autothreads
offby1 i.e., I will not prematurely optimize.
08:04 iblechbot joined 08:05 devogon joined
offby1 what would "autothreads" mean? 08:05
allbery_b junction operators like any() can automatically take advantage of multiple CPUs by doing multiple operations in parallel threads
offby1 kewl. 08:06
p6 is about 10 years ahead of any other language I know of. 08:07
jisom maybe look into erlang, it's designed for multiprocessing 08:10
single operator multithreading....sounds good considering how common multi core/multi cpu computers are becoming 08:11
moritz jisom: I'm sure erlang doesn't have rules... or at least not as powerfull as p6 ;)
avar offby1: how about lisp?:) 08:23
offby1 I already do lisp ... p6 is kewler :-) 08:24
avar mm, m-expressions;)
08:24 svnbot6 joined
moritz 22:18 < TimToady> Perl 6 is just another dialect of Lisp 08:24
offby1 perl and scheme are diametric opposites (I like both). Scheme says "Programming languages should be built, not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary". Perl takes the opposite approach. Both work! 08:25
moritz: what do perl 6 macros look like?
moritz offby1: I have no idea ;)
allbery_b one could argue that haskell does a better job of being scheme than scheme does; call/cc can be implemented as a library, not as a builtin :)
offby1 haskell ain't got macros, far's I know 08:26
allbery_b (in fact, it is: Control.Monad.Cont)
audreyt offby1: template haskell is typesafe macro
allbery_b Template Haskell
*blink* hello!
audreyt much better/hygenic than scheme's :)
offby1 stands corrected
audreyt greetings
moritz offby1: I see the same with eiffel... I used to use that, and it's a very neat language ;)
audreyt so. limited time awake. but the most dangerous phase is behind me (where I was largely unconscious)
moritz audreyt++
allbery_b yay! audreyt++ 08:27
offby1 and furthering the common misapprehension that I am audreyt's evil twin, it's time for me to go to bed. Thanks for the hints, folks.
allbery_b also, some things you'd do with macros can be done with generics instead. Data.Generic aka SYB
(hm, except that may use TH under the covers) 08:28
allbery_b should go back to being eviltwin_b :) 08:30
wolverian audreyt, very glad to hear that. get well soon. 08:42
audreyt well, I need to roll my 1d20 tomorrow 08:45
95% chance that it'll take but another week (or two) for this to be over
5% chance that it'll get chronic
the saving throw is to be checked ~14hr from now, so I better get some more sleep... 08:46
moritz we keep our fingers crossed
audreyt thanks :D
at least it's just acute Hepatitis B and not fulminant failure... 08:47
clkao audreyt!
audreyt clkao: heya 08:48
clkao 刄ēˆ†č‚å•Š
audreyt č‚č‹„äøå„½äŗŗē”Ÿę˜Æꒄꎄēš„
č‚č‹„ę˜Æ儽äŗŗē”Ÿę˜ÆåƬ頻ēš„
clkao: anyway... the doctor will decide if my immune system needs to get modded tomorrow 08:49
if not, that means I get to stay conscious most of the time, and you're welcome to visit
if I need to get modded... it may be more fun to watch plants grow than visit ;) 08:50
clkao best to you
audreyt danke
clkao i will be in taipei tomorrow
audreyt k. will keep you posted 08:52
keyboarding during IV requires too much aerobics... 08:54
so bbl :) *wave* &
clkao SvIV 08:55
08:57 jamhed joined 09:07 pfarmer joined 09:09 REPLeffect_ joined 09:29 BooK joined 09:37 andara joined 09:44 buetow joined 09:53 Psyche^ joined 10:02 fengc_ joined 10:05 andara joined 10:09 Psyche^ is now known as Patterner 10:19 drrho joined 10:25 nipra joined, drupek12167 joined, sunnavy joined 10:29 ruoso joined, kanru joined 10:47 VanilleBert joined 10:49 rfordinal joined 10:57 dalecooper joined 10:58 elmex joined 11:04 cmarcelo joined 11:10 dduncan left 11:12 b_jonas joined 11:21 reZo joined 11:27 andara left 11:30 andara joined 11:35 jamhed joined 11:48 IllvilJa joined 11:49 IllvilJa joined 12:08 chris2 joined 12:17 ludwig- joined 12:26 buetow joined 12:36 GabrielVieira2 joined 13:28 araujo joined 13:30 REPLeffect_ joined 13:37 pbuetow joined
mj41 hi, see www.ohloh.net/projects/4406 maybe somebody should add pugs too 13:49
lambdabot Title: Parrot Metrics Report
13:50 rindolf joined
moritz mj41: see www.ohloh.net/projects/3300 13:56
lambdabot Title: Pugs Metrics Report
13:59 thepler joined
wolverian ohloh doesn't count haskell, I think, which makes it a bit useless for pugs. 14:09
14:14 ofer1 joined 14:19 vel joined 14:47 chris2 joined
Coke see also "PIR" for parrot. :| 14:56
cia is more helpful, I think.
14:56 bonesss joined 15:04 iblechbot joined 15:15 rindolf joined 15:26 __Ace__ joined 15:30 pdcawley joined 15:37 GabrielVieira joined 15:38 VanilleBert joined 15:40 broquaint joined 15:55 iblechbot joined 16:22 justatheory joined 16:32 REPLeffect_ joined 16:39 silug joined 16:48 BooK joined 16:53 cjeris joined 17:16 bjoern_ joined 17:22 elmex joined
pasteling "bjoern_" at 84.57.242.159 pasted "Simplifying regular expressions" (48 lines, 1.4K) at sial.org/pbot/22962 17:26
bjoern_ Hi. In the paste above I give an algorithm to perform a certain simplification of regular expressions 17:27
My algorithm works as I want it to, except that it does not terminate if the expression uses inf repetition like in `a+`
I so far failed to fix that problem. Suggestions most welcome. 17:28
[particle] you could leave nodes with repetition modifiers alone 17:30
(until you have a better solution)
17:31 rashakil_ joined
bjoern_ I think that does not work. One of the operators I have is something similar to relaxng.org/spec-20011203.html#inte...ve-pattern 17:32
lambdabot Title: RELAX NG Specification
bjoern_ In relax ng, <interleave>a* b c</interleave> would match e.g. `a b a c a a a`. I need to turn this into a choice of groups, if I keep the repetition where it is, the result would be incorrect
[particle] how would you "simplify" that expression? 17:33
bjoern_ Well one option would be a*ba*ca* | a*ca*ba* 17:35
[particle] would that expression match 'a'? or are b and c always required? 17:36
17:36 bernhard joined
bjoern_ the latter 17:36
I could handle the simple case of a repetition of one terminal simply by checking `if rest == p` and then generating `head+` 17:37
baest that should be possible to do with p6 rules. Name every group as a rule and have <a>* <b> <a>* <c> <a>*. Maybe this could be done simpler, but shouldn't that approach work?
bjoern_ Yes, I basically have a validation engine for arbitrary context-free grammars, I just want to, if the grammar describes a regular language, turn the grammar into a regular expression 17:38
In principle my question is totally non-perl6 related
... but head+ does not work if more than one terminal is repeated, as in the (ab)+c example in the paste 17:39
17:46 wilx` joined 17:48 eric256 joined
svnbot6 r15256 | eric256++ | Adding/fixing some smartlinks 17:48
eric256 .... first looks like ti would be easy to implmement, but its not there yet.. would it be added in prelude or somewhere else? 17:51
moritz ti? 17:52
17:55 sunnavy joined
svnbot6 r15257 | lwall++ | sigs and captures mostly 17:55
TimToady eric256: prelude makes sense to me 17:57
eric256 hehe now to learn how to use a Matcher object ;) 17:58
TimToady in the long run we'd like to have almost everything in the prelude in a self-referential way, and then cut the circularity with a "circularity saw".
that would make tiny embedded interpreters practical
and fancier run times would just replace more of the prelude with built-in magic 17:59
moritz the build system is a bit weird... 18:00
TimToady for now you could implement it with a return from inside a grep, I think. 18:01
eric256 hehe wwow that was easy. for @list -> $val { return $val if $val ~~ $test}... probably even a niecer way to right that
moritz when I do `make' twice in a row, it still compiles stuff in the second run
is that intended?
TimToady I think some of it is. 18:02
moritz and on `make install` there are some compiliations as well
18:02 xinming joined
moritz that is ugly, because if you run make as a user, and make install as root, your repository fills with uid=0 files ;( 18:02
TimToady yeah
Coke wow, sounds like pugs build is not much better than parrots. 18:03
it's on our list of things to fix. =-)
TimToady same kind of make install problems, which is why most of us never do make install...
moritz I don't easer (dpkg-buildpackage is much more pretty once it works ;)
s/easer/either/ ;) 18:04
18:04 offby1 left
TimToady make install run as root should just depend on the existence of the executable, not it's up-to-dateness 18:05
s/it's/its/ grr
but the basic underlying problem is that there are all sorts of subtle build dependencies that make is just too stupid to capture 18:06
and the smarter your compiler and linker are, the more they fool make
18:07 justatheory joined, rashakil__ joined
TimToady make is sort of like vice grips. it's the wrong tool for every job, but it'll do every job. :) 18:07
moritz so should we just du it in perl? *g* 18:08
s/du/do/ *grml*
TimToady well, the whole problem with make is that it has little clue what "do" and "it" mean. 18:09
all it really knows is file granularity and "touch" semantics 18:10
eric256 do i need to remake in order to see changes to Prelude?
TimToady pugs will reload the prelude every time if you don't remake the precompiled version 18:11
eric256 i'm just using feathers pugs so i don't know where it is looking for its Prelude.pm can i convince it to look at my own Prelude? 18:12
TimToady ENOCLUE 18:13
biab & 18:14
eric256 beggins building pugs to final test his first method ;) 18:16
moritz btw is there something like "Design by Contract" for Perl6? 18:20
18:20 ludwig- joined
TimToady moritz: yes, grep S04 and S06 for PRE and POST 18:23
moritz TimToady: cool, thanks
eric256 on 37 out of 106... well when i get back from lunch it should be done ;) /me goes to look at see if you can control where pugs looks for Prelude.pm 18:24
__Ace__ hey, TimToady, what say you about creating a bigger project in C (instead of C++)? :)
moritz TimToady: sounds like a start... 18:29
18:30 weinig joined
moritz TimToady: not quite as sophisticated as in eiffel, but that's hard to beat ;) 18:30
18:34 ashleyb joined
moritz TimToady: how would a sub with PRE and POST look like? sub foo() PRE { true } { work} POST {true}? 18:34
18:38 ashelyb_ joined
TimToady moritz: block traits typically go inside the block their modifying 18:45
18:45 Lorn joined
TimToady it's possible DBC blocks could be an exception to that 18:45
and we need to work out the semantics on multis/protos 18:46
18:50 renormalist joined 18:57 weinig is now known as weinig|away 18:59 rindolf joined
rindolf Hi all. 18:59
19:02 pdcawley joined 19:04 neonse joined 19:15 jisom joined 19:24 araujo joined 19:47 theorbtwo joined
rindolf Is there a list of bugs for pugs somewhere? 19:51
[particle] t/pugsbugs ?
rindolf [particle]: OK, checking. 19:52
[particle]: I cannot find it in the pugs repository. 19:54
I'm using svn.pugscode.org/pugs 19:55
lambdabot Title: Revision 15257: /
[particle] sorry, can't help :( 19:58
svnbot6 r15258 | lwall++ | heredoc stubs
allbery_b I think for the most part the list f pugs bugs is generated by "make test" or "make smoke" 20:00
TimToady grep for :todo<bug>
rindolf Let's suppose I have a list of prime numbers, and I'm generating IDs for them using a method. Now I'm interested in the pair (prime and its ID) with the least ID. 20:02
What's the neatest way to do it in Perl 6?
diotalevi ?eval undef.defined 20:03
rindolf In Lisp I solved it using a map followed by a reduce with a really hideous lambda.
evalbot_r15258 Bool::False
tene what sort of data structure are you storing it in, rindolf?
rindolf tene: storing what? 20:04
tene the pairs?
20:04 justatheory_ joined
rindolf tene: I don't have the pairs to start with. 20:04
tene so what do you have to start with?
rindolf tene: the primes are a list or an array - your choice.
tene a list and a method?
Okay.
rindolf tene: yes, a list and a method. 20:05
diotalevi ?eval undef.HOW.can( 'defined' ) 20:06
evalbot_r15258 Error: No compatible subroutine found: "&can"
diotalevi squints at that. Odd.
allbery_b I don't think the metaobject stuff is there yet 20:07
there's a start at an implementation but it';s not hooked in or doing much yet IIRC
diotalevi /me'd recently implemented "interesting values of undef" in Perl 5 and was looking at Perl 6 for examples. 20:09
tene rindolf: one option is to procedurally stuff them all in a hash, then min(%hash.keys) 20:10
20:11 weinig|away is now known as weinig
rindolf $v = f:x("a") "b" - what does it mean? 20:13
I'm talking about t/operators/adverbial_modifiers.t
tene ?eval sub id($n) { $n+100 }; my %hash = map {{foo($_) => $_}}, 1..10; %hash.perl.say 20:14
evalbot_r15258 Error: No compatible subroutine found: "&foo"
tene ?eval sub id($n) { $n+100 }; my %hash = map {{id($_) => $_}}, 1..10; %hash.perl.say
evalbot_r15258 OUTPUT[{("101" => 1), ("102" => 2), ("103" => 3), ("104" => 4), ("105" => 5), ("106" => 6), ("107" => 7), ("108" => 8), ("109" => 9), ("110" => 10)}ā¤] Bool::True
tene ?eval sub id($n) { $n+100 }; my %hash = map {{id($_) => $_}}, 1..10; min(%hash.keys) 20:15
evalbot_r15258 "101"
tene or... 20:16
?eval sub id($n) { 100-$n }; my @primes = 1..10; min(@primes,->$a,$b{id($a) cmp id($b)}) 20:20
evalbot_r15258 10 20:21
tene ?eval sub id($n) { 100-$n }; my @primes = 1..10; my $min = min(@primes,->$a,$b{id($a) cmp id($b)}); {$min,id($min)} 20:22
evalbot_r15258 (\10, 90)
20:22 justatheory joined
tene ?eval sub id($n) { 100-$n }; my @primes = 1..10; my $min = min(@primes,->$a,$b{id($a) cmp id($b)}); {id($min) => $min} 20:22
20:22 REPLeffect_ joined
evalbot_r15258 (90 => \10) 20:22
tene rindolf: any of that work for you?
wolverian I think @primes.min(&id) should work as well. 20:23
although I do wonder why [1..4].min doesn't work.
allbery_b ?eval [1..4].min 20:24
evalbot_r15258 [1, 2, 3, 4]
allbery_b ?eval (1..4).min
evalbot_r15258 1
rindolf tene: let me see 20:25
TimToady ?eval [min] 1,2,3,4
evalbot_r15258 Error: ā¤Unexpected "1"ā¤expecting operator
tene wolverian: are you suggesting that min checks the arity of &by and compares the results of two separate calls if it only takes one parameter? 20:26
wolverian tene, yes.
rindolf tene: let's assume that we map the primes into their prime => id pairs.
tene: and work from there.
tene rindolf: that's what I did in the first example.
rindolf tene: ah. 20:27
wolverian (it's just a suggestion though, I don't know what it actually does. :)
tene That sort of cleverness seems potentially bad. 20:29
TimToady min should take arguments like sort 20:30
conceptually min is just first(sort())
only O(n), we hope
wolverian isn't it annoying how practicalities get in the way of concepts? 20:31
rindolf paste.lisp.org/display/36814 - this is the lisp version 20:32
allbery_b ?eval [min] (1,2,3,4) 20:33
evalbot_r15258 Error: ā¤Unexpected "("ā¤expecting operator
tene wolverian: such cleverness would probably lead to unexpected behavior. 20:34
TimToady ?eval 1 min 2 20:35
evalbot_r15258 Error: ā¤Unexpected "min"ā¤expecting operator
TimToady infix:<min> not yet impl
?eval sub infix:<minval> ($a,$b) { min $a.value, $b.value } [minval] :a(1), :b(2), :c(3), :d(0), :e(5) 20:39
evalbot_r15258 Error: Named argument found where no matched parameter expected: ("a",Ann (Pos (MkPos "<eval>" 1 67 1 68)) (Val (VInt 1)))
TimToady ?eval sub infix:<minval> ($a,$b) { min $a.value, $b.value } [minval] (:a(1), :b(2), :c(3), :d(0), :e(5) 20:40
evalbot_r15258 Error: ā¤Unexpected end of inputā¤expecting operator or ")"
TimToady ?eval sub infix:<minval> ($a,$b) { min $a.value, $b.value } [minval] :a(1), :b(2), :c(3), :d(0), :e(5))
evalbot_r15258 Error: ā¤Unexpected ")"ā¤expecting ",", bare or pointy block construct, ":", identifier, term postfix or operator
TimToady ?eval sub infix:<minval> ($a,$b) { min $a.value, $b.value } [minval] (:a(1), :b(2), :c(3), :d(0), :e(5))
evalbot_r15258 Error: No compatible subroutine found: "&value"
rindolf ?eval: ([3,5],[1,6],[7,9],[8,100]).min({$^a.[0] <=> $^b.[0]}) 20:42
evalbot_r15258 Error: ā¤Unexpected ": (["ā¤expecting "::"
20:46 Daveman joined
zgh I think the NBL is Perl 6: steve-yegge.blogspot.com/2007/02/ne...guage.html 20:57
lambdabot Title: Stevey's Blog Rants: The Next Big Language
rindolf ?eval: ().min 21:07
evalbot_r15258 Error: ā¤Unexpected ": ()."ā¤expecting "::"
allbery_b er, rindolf? why "?eval:"? 21:11
bot doesn't like that colon
tene ?eval ().min 21:12
evalbot_r15258 undef
rindolf allbery_b: I see. 21:14
eval: 5+6
buubot rindolf: 11
allbery_b cute. mixing bot activations :)
21:15 czth joined
nothingmuch ?eval: sub prefix:<:> ($x) { $x } 1+1 21:19
evalbot_r15258 Error: ā¤Unexpected ": sub"ā¤expecting "::"
nothingmuch =(
rindolf Hi nothingmuch
nothingmuch all is fair if you predeclare, i guess
hola
21:21 weinig is now known as weinig|bbl, justatheory joined
rindolf nothingmuch: what's up? 21:21
nothingmuch work 21:22
21:22 Aankhen`` joined 21:31 Psyche^ joined 21:32 rashakil_ joined
gaal www.youtube.com/watch?v=KyLqUf4cdwc # perl recognized 21:33
tene zgh: re NBL post: refactoring tools? IDE support? Are there big plans for those in Perl6? 21:37
jisom does he know that open(info) is ok? 21:38
stevan__ wow,.. I hope Perl 6 has such advanced Vista intigration 21:40
jisom should try that on a system 7 mac... 21:41
might work better
nothingmuch "just how easy", eh?
21:41 lichtkind joined
jisom he doesn't try "upper case info"? 21:42
lichtkind sorry for rude question but what has changed in perl6 since last 2 month?
merlyn plenty
do you want my diffs? :)
lichtkind when i get them? 21:43
merlyn give me a few minutes... I have to find a log entry from two months ago
lichtkind hi merlyn yesterday i praised you before my friends :)
jisom svn diff r1:r16?
sort of 21:44
merlyn looks for something around dec 13
lichtkind merlyn no joke i was really surprised how kind you was
merlyn is there a pastebot here? 21:45
nothingmuch pasteling
sial.org
see also the topic
allbery_b several, actually, but sial.org is the useful one :)
ashelyb_ lichtkind: dev.pugscode.org/timeline 21:46
lambdabot Title: Timeline - Pugs - Trac
pasteling "merlyn" at 67.171.133.77 pasted "summary of difference between perl6 archive between two months ago and now" (543 lines, 33.2K) at sial.org/pbot/22970
merlyn 542 files changed. :)
oh - let me do it with rename and copy detection 21:47
lichtkind shiii i meant more like something like biggest feature chandes
21:47 Psyche^ is now known as Patterner
lichtkind but thanks a lot 21:48
pasteling "merlyn" at 67.171.133.77 pasted "differences with rename/copy detection enabled" (529 lines, 32.3K) at sial.org/pbot/22971
nothingmuch lichtkind: unfortunately no one is really blogging actively anymore, but that was the best option before, i think
lichtkind hello nothingmuch 21:49
ok i try to explain
merlyn 34067 insertions, 3575 deltions
sounds like we're making progress!
528 files changed
lichtkind some momth i did some serious effort to write perl6 tutorial
and paused a little
merlyn here's a big one - src/perl6/Perl-6.0.0-STD.pm 21:50
lichtkind now im writing artikel for the new german perl magazin
merlyn and this one too - misc/pX/Common/redsix/redsix
lichtkind and just want to be shore not to overlook some new cool feature
nothingmuch merlyn: i'm not sure that's helpful
merlyn maybe you want a diff of the status
lichtkind sounds good 21:51
21:52 Shai-Hulud joined
lichtkind i copied newest files and made also svn check out 21:52
Shai-Hulud hi
merlyn I track perl6-svn with git - it has nice tools for differences and stuff, including good rename detection
lichtkind i also ask what from you perpektive important in perl6 21:53
hallo robin :)
pasteling "TimToady" at 71.139.17.198 pasted "synopsis diffs in the last 2 months" (5708 lines, 211K) at sial.org/pbot/22972
21:53 mako132_ joined
nothingmuch TimToady++ 21:53
Shai-Hulud @lichtkind: do I know you? :)
lambdabot Unknown command, try @list
merlyn ahh yeah, I've been tracking those as well
lichtkind thanks tim 21:54
looks a bit creepy but shurely helpful
Shai-Hulud yes that's a bit annoying
pasteling "merlyn" at 67.171.133.77 pasted "perl6doc diffstat for last two months" (10 lines, 422B) at sial.org/pbot/22973 21:56
lichtkind some big thing like intro of captures happened?
21:57 Southen_ joined
lichtkind thanks 21:58
that should keep me busy a while :)
Shai-Hulud and your latest red alert game of course *g* 21:59
I don't even know what I'm supposed to do here, I'm a FORTRAN guy (yes and still not retired) ... bye 22:04
22:04 Shai-Hulud left
nothingmuch red alert? he must be really old ;-) 22:05
pasteling "moritz" at 80.193.211.68 pasted "Pugs Build Error" (19 lines, 1.1K) at sial.org/pbot/22974 22:08
mj41 lichtkind: hi, I prefer my Synopses diffs :-), e.g. perl6.cz/w/index.php?title=Synopses...oldid=2121 , see perl6.cz/wiki/Synopses
lambdabot Title: Synopses/S04 - perl6.cz, tinyurl.com/yrkl3x
moritz any idea why pugs build failed? (see pastebot) 22:09
lichtkind nothingmuch no im 30 :)
nothingmuch not you, Shai-Hulud
lichtkind hes under 20 :)
perl6.cz eho of you is czech? 22:10
s/eho/who/
allbery_b I thought the parrot embedding stuff was bitrotted 22:11
mj41 lichtkind: I am Czech.
lichtkind mj41 a jak jse jmenujes? 22:12
moritz allbery_b: any way I can prevent it from building?
mj41 lcihtkind: michal jurosz
allbery_b I thought parrot foo only built if you had envirobnment variable spointing at a parrot tree
moritz allbery_b: I had parrot installed previously, but I purged it all 22:13
mj41 lcihtkind a ty? odkud jsi ze mluvis cesky?
allbery_b you might need to make clean to disappear any dangling references, then
PerlJam make realclean 22:14
moritz ok, I'll do that
allbery_b and go through the configure foo again
lichtkind mj41 protoze jse nemec :) :)
jsem 22:16
PerlJam nazdar! 22:17
Jaz se mas?
PerlJam exhausts all the czech he thinks he knows
lichtkind nazdar vsechno plno cechu tady?
22:17 reZo joined
mj41 lichtkid aha, ja nemecky neumim asi ani vetu :-( 22:17
lichtkind mj41 cool you also do wxperl, why i never did you see in the lists?
22:18 polettix joined
mj41 tak to je parada, ja pilne studuju anglictinu, abych se tady domluvil a oni vsichni mluvi cesky :-) 22:18
lichtkind mj41 no tak vidis jak ten svet je kruty :) 22:19
PerlJam not bad for a beginner :) my pozor im native speaker
mj41 co je WxMageApp ?? 22:20
PerlJam lichtkind: my wife was the gym director at a local organization called "Sokol". I heard Czech all the time but didn't really pick up on it (sounded too much like mumbling to me)
mj41 lichtkid I am php "coder" now, not time for wxperl 22:21
PerlJam mj41: me too!
lichtkind PerlJam ah interesting, but czech is really language for poets 22:22
PerlJam commiserates
lichtkind how sad
22:22 dduncan joined
lichtkind mj41 yes but you did write this code so you know what it does wiki.kn.vutbr.cz/mj/index.cgi?Projekty 22:22
lambdabot Title: Projekty : MJWiki 22:23
lichtkind ja take delal hodnje v wikipedii
chtel rict take hodne
k back to perl6 :) 22:24
PerlJam did you recognized some major new features in last month popping into perl6?
22:25 Caelum joined
PerlJam lichtkind: yes I did. It even worried me for all of a few hours :-) 22:25
lichtkind PerlJam what do you exactly mean ? :) 22:27
PerlJam I worried briefly about the language growing "too big" or "too complex", but then I realized this is how perl has always been. The trick is just in compartmentalizing knowledge so that you can let your associative memory work in your favor. Lucky perl compartmentalizes well :-) 22:29
lichtkind like a boss i would say thank for you opinion but thats not what im asked for :) 22:30
PerlJam i meant new features :) 22:33
22:34 weinig|bbl is now known as weinig
lichtkind PerlJam i sometime also bit worried cause too complex, but like larry sad you dont have to use it 22:41
22:41 Limbic_Region joined
lichtkind the gather blew my mind but im good hope that i will understand 22:43
22:52 weinig is now known as weinig|food
Debolaz I don't know, I prefer certain things just being modules and the language's job is just to make sure that it's easy to write those modules. That is one of the thing that has made perl 5 so popular. 22:54
tene Debolaz: explain? 22:55
Debolaz I like perl 5 because it's minimalistic, yet does a very good job giving you the facilities you need to write the functionality you need. I think things such as junctions does not need to be a part of the core language, even though I do see that they are usefull. 22:56
22:59 Psyche^ joined
allbery_b hm? junctions in core gives you automatic parallelization in core. this is a good thing 23:00
lichtkind Debolaz so dont use it, even perl5 is full with tons of features
Debolaz lichtkind: You completely missed my point.
lichtkind Debolaz i think the job of a language is to make programming easier, to write everything i need sounds to me more like TCL 23:01
Debolaz allbery_b: Yes, automatic parallelization is a good thing but I don't believe junctions neccesarily requires core support in order to achieve this. Perhaps there could be some API to allow delegating tasks to a new thread.. less high level than junctions? This way, more than just junctions could take adventage of it.
lichtkind Debolaz you made good point but it does not meet perls objectives 23:02
Debolaz lichtkind: You wouldn't need to write every single little thing you need. That's completely ignoring the existence of modules.
lichtkind so you want modules that add core features? 23:03
Debolaz No?
Junctions wouldn't need to be a core feature.
REPLeffect_ I suspect that junctions are to be in the core because there are advantages to having them there ... 23:04
.. and because
.. they are totally ignorable if you don't want them, so no major advantage in leaving them out of the core.
Debolaz REPLeffect_: The adventages are autoparallellization, but the "right" solution imho would be exposing an API to allow modules to tell core what it can autoparallellize rather than restricting it to a few included high level builtin functions. 23:05
lichtkind Debolaz thats the design philosophy of minimal core
Debolaz You can of course do both, but this solution would've allowed both junctions and this from the getgo whileas right now there are just junctions.
tene Debolaz: Junctions *are* an API to autoparallellize things. 23:06
lichtkind i understand the need to keep the core small as possible
jisom if it's running on parrot, wouldn't it just be able to access parrot's threading methods and do it itself? 23:07
lichtkind but that was never the perl way to do things
tene Debolaz: Junctions are *how* you tell perl to autoparallelize. 23:08
Debolaz lichtkind: It was imho perl 5's way of doing things. Keeping things minimal, just make it possible for modules to implement things in a good way and not stuff every feature the developers thinks are nifty into the core language. A new language should not be a free ticket to change what made perl 5 popular.
REPLeffect_ I by no stretch of the imagination an expert on the implementation of junctions, but I suspect there technical reasons for having the implementation be part of the core. Perhaps someone with more intimate knowledge of the design could chime in on that.
tene What sort of API were you thinking of?
REPLeffect_ s/there/there are/ 23:09
Debolaz tene: My complaint was that junctions were too high level.
23:09 GabrielVieira2 joined
tene Debolaz: howso? Provide an alternate suggestion. 23:09
Debolaz A function like async_if_efficient {} for instance, leaving it to the core to determine if a thread should be created. 23:11
23:12 Psyche^ is now known as Patterner
lichtkind Debolaz: that i way to see ist, i could argue that was made perl popular is Tim Today so you can use junctions, loops or arrays or..., perl was about have an choice and we adding new 23:12
allbery_b um, you still can. there are just more ways to do it now
lichtkind thats a way to see it
allbery_b it's not like junctions are replacing lists 23:13
tene Debolaz: how would you implement junctions using async_if_efficient?
allbery_b should we rip out arrays because you can simul;ate them with hashes, or vice versa?
lichtkind but debolaz did very valid psychological point: its all gaining much complexity 23:14
23:14 IllvilJa left
Debolaz Ultimately, I suspect perl 6 might end up suffering from PS3 syndrome: While technically superior to the competition, it's difficult for developers to really exploit it fully making them prefer xbox 360 which although simpler is easier to take full adventage of. 23:14
lichtkind thats one of the biggest PR hrdles for perl 6
Debolaz: thats possible 23:15
but not likely
jisom nonsense, few will actually take full advantage of perl6, just as many don't take full advantage of perl5
Debolaz And of course, you don't *need* to know how to take full adventage of perl 6 in order to use it, most simple stuff doesn't require much more than perl 5 knowledge. And the same is true for PS3, it's got a good ol' powerpc unit running in it. But from there it gets more difficult whileas xbox 360 (In the case perl, that's ruby) is much easier to learn to really take adventage of.
lichtkind because features like junktions made a whole series of languages inceasingly popular
jisom how many use regexes in perl5 when they should use pack? 23:16
tene Debolaz: I don't see how async_if_efficient could even work... waiting for a return value and spawning off a new thread and returning immediately are extremely different.
lichtkind thatswhy is to have junction also a question to be up to date 23:17
jisom made the point, we raise the bars to bottom and to the top 23:19
Debolaz is right in the senze that simple languages can be picked up quickly
Debolaz Saying "nonsense" doesn't make the elephant at the dinner table go away. Perl 6 is a lot more complex than ruby, you can do more with ruby given the same initial learning period than you can do with perl 6 assuming perl 5 knowledge.
diotalevi Like Scheme!
lichtkind Debolaz perl6 complexitiy is not mandatory 23:20
Debolaz lichtkind: I addressed that above.
tene I disagree. I don't see very much in Perl6 being very complex at all. 23:21
jisom most people don't use the full features of a language, they generally use a subset, and let it grow from there, having many options suits multiple thinking methods to make it easier for a greater portion of people to learn "their" subset 23:22
tene Give me some specific examples of thigns in perl6 that are difficult to learn whose counterparts in other languages are easy to learn.
Debolaz tene: I picked up ruby a lot quicker than I picked up perl 6 and as far as I hear most people that has tried have the same experience.
lichtkind debolaz i think some things you can do in perl6 less complicated than in ruby 23:23
moritz jisom: but it means that in order to understand code from somebody else, you might have to understand language features you never used yourself...
jisom: or possible have never even seen them before
tene I know that, for me, all I need to learn in order to use a new feature is a little bit of syntax.
Also, there isn't much teaching material for Perl6.
Regardless, I'd like to hear soem specific examples. 23:24
lichtkind debolaz o course your right but as larry said perl optimized for expressivness not lernability
Debolaz I mostly looked at code examples as well.
lichtkind: I did assume perl 5 knowledge in my statements above though.
moritz tene: have you seen the code under t/ and examples/ in the pugs repository?
Debolaz As I assume that is going to be the biggest source of new users.
jisom reading somebody else's code is generally impossible if they didn't include comments, or your own code 23:25
moritz jisom: yes, but it's even harder if you don't know the syntax they are using
Limbic_Region I suspect anyone who knows perl 5 will pick up 80 - 90% of perl 6 within a few months 23:26
I suspect anyone brand new to perl will pick up the same within a year 23:27
jisom like if I use perl 5's pack because it's quicker than a regex, and someone reads it and doesn't understand it? it's harder for them, but if they want to understand it it also pushes them to learn more and figure out why it was choosen
lichtkind Debolaz i do not exactly understand your last sentence but one thought, even if perl6 get more complex, so you can express ideas shorter, more native to a certain logic which can makes programms easier to understand, so it compensates the complexety a bit
Limbic_Region the remaining 20% may take a lifetime
Debolaz tene: I don't have any specific examples on the top of my head. But keep in mind, everyone is not a genious. In fact, most developers aren't, they're just trying to get their job done. Ruby, I could understand pretty much by just looking at the code based on my perl 5 knowledge. It's not obvious what $foo!bar means. It's not obvious that you cannot write "is private" when defining something but must use some weird ! syntax. 23:28
23:28 [M]erk joined
jisom programs are only as complex as the programming 23:28
not the language
anyway, just document your code :)
czth IDENTIFICATION DIVISION.
(or, in other words, verbosity isn't always good) 23:29
lichtkind czth your another czech here ?
allbery_b aaaaaaaaa
allbery_b runs away
diotalevi % Do some constraint logic programming here instead of the long way with loops and goo.
% :-)
...
czth no, not czech, sorry
moritz jisom: you're absolutely right, but it's allways easier to look up a function than some syntax elements
Debolaz lichtkind: What I meant was that most of perl 6 users will probably come from the group of perl 5 users.
Limbic_Region diotalevi - your recent foray into prolog and oz - academic exercise only or did you have something real you needed to use it for? 23:30
czth maybe we can suck in all the popular open source languages to run on the parrot backend :)
diotalevi LR, I plan to use it in Perl 6, of course!
jisom czth, it's possible, tcl's running
Limbic_Region ok - but for what problem domain
diotalevi Not having logic programming in perl is a major downer for me. 23:31
czth yeah, so i hear, i remember when Will Collada?(sp) I think it was started that project
jisom it's still going strong
Limbic_Region #parrot is on irc.perl.org and yes, still going strong
in fact, it is probably the most developed HLL targetting parrot
diotalevi LR, general application stuff. Very often I find there's things I think could be better expressed using some constraints or rules but because I'm using Perl or another non-logic language I write the search strategy out in normal code. 23:32
czth now we need to get python and ruby on board (but ban PHP forever)
TimToady just need a refactoring PHP to Perl 6 translator to take over the world.
czth yay
diotalevi But see, normal code that looks through a search space doesn't have to be that verbose. I think you can abstract all that stuff away.
jisom I believe the .net->pir converter worked well.... 23:33
moritz btw is anybody planning to write a shellscript-compiler with parrot backend? that might speed up some linux boot processes ;)
Limbic_Region diotalevi - I can see that. Are there features in Perl 6 that will allow you to do that or is there something stock that I just don't know about?
Debolaz While there's no doubt in my mind that perl 6 is going to get out the door, I'm sceptical about parrot. The project just seems like the typical beurocratic government run project that never really gets anywhere despite the fact that it consumes enormous amounts of man hour.
lichtkind czth nop :)
czth moritz: do you really think boot is substantially slowed by the speed of shell script execution?
diotalevi I don't mind if there's no one but me and some converts using CLP or logic. If it comes to it, it's just something you declare.
jisom parrot has fewer people than pugs 23:34
moritz czth: I'm not quit sure, but there are just so many processes beeing started to do really simple stuff, that just hurts
23:34 weinig|food is now known as weinig
moritz czth: and it would just be a rather cool project ;)) 23:34
Limbic_Region diotalevi - well, one primary goal of perl 6 is extensibility so I was wondering if you were planning on adding in a logic grammar plugin, if the language already had the constraint syntax you needed and I didn't know about it, or if it just provided some tools that could be bent to your whim 23:35
czth so won't an equal number of processes need to be started for parrot? or do you mean for scripts things like 'true'?
Limbic_Region is honestly interested
czth i imagine there's some caching going on there
Debolaz I think it being an official project of the perl foundation is hurting it. Pugs didn't have any beurocratic restraints and got where it is today in incredible speed whileas people has kept bikeshed painting parrot to death. And that's not just my personal opinion.
jisom moritz: maybe write an init program instead of an init script
lichtkind Tim Toady sos ..take over the world, but during your speeches you play the humble guy :) 23:36
diotalevi I haven't heard anything to say that I can do Prolog or Mozarty things in Perl 6's existing grammar. Actually, with Prolog you have to be very careful to think of execution order so I'm hoping to move on from that. Mozart seems pretty cool by having the search strategies be parameters.
Limbic_Region Debolaz - I will make a wager with you. When pmichaud finishes his perl 6 compiler to pass the perl 6 sanity test suite (4 failing tests ATM) and the entire perl 6 test suite in pugs (minus a few implementation specific tests) is available to it, that parrot development will take off like dynamite 23:37
diotalevi I heard similar things about Mercury but haven't spent time with it.
Debolaz Limbic_Region: I certainly hope you're right. :)
Limbic_Region: I consider parrot a pretty darn cool idea.
Limbic_Region Not sure if it is still true but Tivoli used to use Prolog for its custom event monitor 23:38
diotalevi I've heard that too, LR.
Limbic_Region Debolaz - well, there is a LOT already done. The trouble is that natively you need to speak PASM to use parrot
granted PASM is OO 23:39
it is still beyond what most want to pick up just to use something changing every day
jisom you can use pir, far easier
many prefer pir over c even
Limbic_Region OTOH, if there was a popular HLL that mostly worked - parrot users would sky rocket
Debolaz Limbic_Region: A lot done, after a *really* long time.
moritz jisom: that might be the right thing to do, but it would imply to refactor all init scripts
jisom: and that's probably a pain in the ass
Limbic_Region and hence bug reports
jisom kind of a hinderence
Limbic_Region and hence failing test cases
and bug fixes
and ....
yadda 23:40
jisom - PIR is a far cry from a HLL
jisom wonders why more perl6 people aren't working on parrot to get perl6 using less than a gig of ram
Limbic_Region wanders off to show some videos 23:41
SamB parrot has so many damn opcodes...
jisom namespaces, inheritence, object oriented, pge, etc.....it's very high level, most can't be jitted even!
it's a cisc, not a risc
Debolaz Limbic_Region: At my old job, a government institution, projects like that weren't uncommon. Even seemingly simple tasks took an enormous amount of time because of the bikeshed painting effect. Everything had to be done just right and nobody could agree on what that was and the beurocratic process allowed everybody to keep arguing even insignificant points to death.
23:41 larsen_ joined
Debolaz Installing ldap, just installing the server software, took 6 months. 23:41
I'm very happy I don't work there anymore. :-) 23:42
jisom even perl6 needed documents saying how it should end up being before you can really get to implementing it...even if those documents change
23:43 hexmode joined
moritz ?eval sub foo(int $i) { PRE { $i < 2; } say $i;} foo(1); 23:43
evalbot_r15258 OUTPUT[1ā¤] Bool::True
moritz ?eval sub foo(int $i) { PRE { $i < 2; } say $i;} foo(3); 23:44
evalbot_r15258 OUTPUT[3ā¤] Bool::True
moritz on my machine it doesn't even compile :)
Debolaz And I do firmly believe that had parrot been some nonofficial project, it would've at least been running python and perl 5 at production level today. Of course, that's merely speculation since we can't go back in time and change things.
SamB someone should make a *new* VM... 23:46
moritz SamB: not again ;)
SamB I meant, a tiny bytecode...
or, well, I guess almost any bytecode would be small compared to parrot... 23:47
moritz does size matter?
SamB yes
jisom parrot bytecode is not compressed, and using 32 bit ints, which is one of those "space/speed" tradeoffs... 23:48
SamB the bigger something is, the longer it takes to do things to it... 23:49
Patterner we need an UTF8-like encoding of bytecode :)
SamB see Glulx
diotalevi votes for UTF-32. 23:50
No wait, UTF-64.
moritz offers a generic UTF-2^n
Debolaz Then we get UTFCube.
moritz with arbitrary n, of course
jisom no, cause each opcode is 32 bits, and from the opcode you know how many arguments there are, and read those ints, and it's simpler to read and parse without any weird hacks like you see in intel........a custom compression algorithm for the bytecode would help for the hard drive space though 23:51
Debolaz And I'm not entirely sure how to make a pun of Wii and UTF..
beppu Wiinicode
weenie code
jisom wiitf 23:52
diotalevi Custom? I vote for gzip or something like that.
beppu suicides self
jisom eh, that'd still work, but since the data involved is easily known, something else, but even then, people are more likely to run a perl6 script, including compiling it, than saving the pbc file and running it 23:53
anyway, improving the core is more important than discussing the bytecode size which is trivial to many people 23:54
SamB why do you need so many damn opcodes? 23:59
jisom which ones are you refering to?