Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-05-21

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 putter scook0: brief discussion of Pugs design occurred earlier today.  its in the log.
00:00 scook0 woo!
00:01 * scook0 complains that all the interesting stuff happens when he's busy :(
00:01 putter life ;)
00:04 Juerd Good night.
00:04 svnbot6 r3550, Juerd++ | Fix readability of quickref/namespace. This document needs more structure, less
00:04 svnbot6 r3550, Juerd++ | long lists and less sentences.
00:04 svnbot6 r3551, Juerd++ | s/matches nothing/matches null string/, because it does match something, namely
00:04 svnbot6 r3551, Juerd++ | the null string, which happens to look like nothing, but certainly is
00:04 svnbot6 r3551, Juerd++ | something, even though it has no width. There is no syntax in regexes/rules
00:04 svnbot6 r3551, Juerd++ | that matches nothing, or that doesn't match. In documentation, only mention the
00:04 svnbot6 r3551, Juerd++ | things that something does match. ("<-[a]>" matches any character that isn't a,
00:04 svnbot6 r3551, Juerd++ | instead of: doesn't match a. Note also how position is left out of the
00:04 svnbot6 r3551, Juerd++ | description, even though it does only match at the current position.)
00:06 putter 'night
00:06 g1powermac_AFK is now known as g1powermac
00:09 * theorbtwo wonders how to do what putter is asking for.
00:12 * putter wonders what he asked for.
00:12 kelan some kind of loop ending thing?
00:12 kelan < putter> actually, some languages readily handle the concept of "I expect to be done by foo.  If I'm not, kick me."
00:13 putter ah.
00:18 theorbtwo $foo = lazy :timeout<20s> {block}
00:18 theorbtwo Hm, stick a "default" clause there too.
00:18 theorbtwo Hm, and make that async instead.
00:19 theorbtwo I'm still wondering if it's already implementable with what we have, though.
00:19 theorbtwo Oh, and make that 20`s.
00:19 oylenshpeegul has joined #perl6
00:21 xinming has quit IRC (Client Quit)
00:21 larsen has quit IRC ("later")
00:25 clkao there's no Time::HiRes?
00:25 svnbot6 r3552, putter++ | minor fix of quickref/namespace
00:25 clkao and no export of select(2) ?
00:26 putter clkao: M$
00:27 clkao ?
00:27 putter clkao: re HR, you could check if ghc has something similar and expose it.  its an easy "follow the lemmings" haskell exercise.
00:28 putter clkao: re select, it's a portability problem.  windows lacks select.
00:29 putter darcs jumps through ugly hoops to try and deal.  pugs doesnt.
00:31 putter theorbtwo: could one attach the timeout to a block?
00:32 putter in C++ one might do  a local var IfScopeExitHasntDestroyedMeIn​NSecondsIllThrowAnException. ;)
00:33 putter hmm... if one could attach traits to call points...;)
00:34 putter but, perhaps just  $foo = timeout(20) :{ lazy {block} }
00:36 theorbtwo clkao: there's no Time::HiRes in p6 because all time functions are expected to be highres.
00:37 theorbtwo They are defined to return/take a number of seconds... but not neccessarly an integer number of seconds.
00:43 putter blarg.  but my original thought was more along the lines of a keepalive.  $ka.stillalive; my @array=...; $ka.stillalive;
00:44 clkao so how do i tell time() to return with more precision?
00:48 putter time currently returns and integer Prim.hs
00:49 clkao that i already read in the fine source. i mean in langauge level, how do i tell it to return with more precision
00:50 mrborisguy has joined #perl6
00:54 putter my fuzzy impression is its more that the current implementation should be returning a float rather than an int... yes?
01:00 g1powermac has quit IRC (Read error: 145 (Connection timed out))
01:00 Shachaf has joined #perl6
01:02 theorbtwo clkao: Why would you want to?
01:02 clkao because i want Benchmark.pm
01:03 theorbtwo the time() builtin should return the best resolution it can.
01:03 theorbtwo If you know how to get higher-resolution time, fix it.
01:03 clkao i dont
01:09 putter in addition to ghc's cpu time, which we might expose, it looks like there is dtPicoseconds... I'm wrestling with haskell now...
01:09 svnbot6 r3553, ninereasons++ | examples/cookbook/01strings/01-00introduction.p6, add a very basic definition of strings and what they are used for.  Todo: give a basic introduction to quotes and quote-like operators, to preface the examples that follow.
01:09 ninereasons eyes invited to look at what I just committed.  
01:09 stevan ninereasons: that easily could have spread over several lines
01:10 stevan karma prude :)
01:10 jabbot stevan: prude :) has neutral karma
01:10 ninereasons mistakes in the basics wreck everything.
01:10 ninereasons lol prude :)
01:11 ninereasons stevan, I started using the -m "" switch, and it keeps everything very tidy.
01:11 stevan ninereasons: I do the same
01:11 stevan old habit from work
01:11 stevan although at work my commit messages are usually svn commit -m 'uploadin'
01:11 stevan since I am the only one who uses SVN :)
01:12 ninereasons not from karma avoidance though.  I just don't like jumping into vim to write two lines.
01:13 ninereasons yuck.  the pod is barffled
01:13 ninereasons I should have checked that first.
01:15 castaway_ has joined #perl6
01:15 g1powermac has joined #perl6
01:16 kelan karma ninereasons
01:16 jabbot kelan: ninereasons has karma of 4
01:16 kelan karma kelan
01:16 jabbot kelan: kelan has neutral karma
01:17 kelan how can you get negative karma?
01:17 ninereasons wow, I've lost a lot of karma latele
01:17 ninereasons I wonder why
01:17 kelan karma autrijus
01:17 jabbot kelan: autrijus has karma of 208
01:17 kelan heh
01:17 kelan karma castaway
01:17 jabbot kelan: castaway has karma of 8
01:17 ninereasons see .. that's why I don't like karma.  It messes with my mind.
01:18 stevan ninereasons: it is like perlmonks "points"
01:18 stevan it really doesn't matter how many you have, its the quality of your contribution that matters
01:18 ninereasons yes.  you will note that I no longer post to perlmonks.
01:18 kelan karma stevan
01:18 jabbot kelan: stevan has karma of 43
01:18 ninereasons I have a weak ego
01:18 kelan wha has the most?
01:18 kelan who
01:19 ninereasons autrijus, for sure.
01:19 stevan ninereasons: i dont either, but thats because I am too addicited to pugs
01:19 clkao karma autrijus
01:19 jabbot clkao: autrijus has karma of 208
01:19 stevan perlbot highest karma
01:19 perlbot The top 5 karma entries: C: 310, autrijus: 305, iblech: 201, stevan: 111, nothingmuch: 68
01:19 kelan C!
01:19 clkao karma svk
01:19 jabbot clkao: svk has karma of 10
01:19 stevan C-- is better than C plus plus
01:19 kelan kelan++
01:19 perlbot What kind of idiot karmas himself?  Your kind of idiot!
01:19 stevan perlbot karma ninereasons
01:19 perlbot Karma for ninereasons: 14
01:19 ninereasons C-- x 100
01:19 mrborisguy ninereasons: why don't you post to PM anymore?
01:19 kelan hah
01:20 stevan svk++ # ;)
01:20 ninereasons because it makes me feel funny, worrying about what people vote up and down.
01:20 kelan ignore the votes then
01:20 mrborisguy haha, oh, okay
01:20 kelan karma kelan
01:20 jabbot kelan: kelan has karma of 1
01:20 ninereasons can't, kelan.  I tried for a couple of years, and failed.
01:20 kelan woo!
01:20 kelan perlbot karma kelan
01:20 perlbot Karma for kelan: -1
01:21 kelan hah
01:21 stevan ninereasons: I obsessed to at the begining
01:21 mrborisguy i think recently somebody posted some css so you don't see any of the voting stuff
01:21 stevan mrborisguy: yes, i think I saw that too
01:21 kelan post anonymously, then you can't see votes
01:21 mrborisguy that would work too
01:21 ninereasons I feel funny about that, too, kelan.  
01:21 ninereasons maybe I'm weird.
01:22 kelan harder to keep track of your nodes that way tho
01:22 stevan ninereasons: they are soooo perl5 anyway ,... :)
01:22 kelan heh
01:22 kelan limbic region is trying to sway everyone
01:22 stevan #perl6 is much more fun
01:22 kelan he keeps posting p6 stuff
01:22 mrborisguy i may have to start posting p6 answers when i get a hold of it too
01:22 stevan mrborisguy++
01:23 mrborisguy maybe people will vote ++ just 'cause they're confused! ;)
01:23 stevan :D
01:23 ninereasons s/confused/impressed/
01:23 putter haskell question?
01:23 stevan Monads
01:23 oylenshpeegul has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
01:24 kelan it'll be like back when perl didn't have its own usenet group and randal kept answering questions in the shell group with perl. people started saying, "no perl answers"
01:24 kelan someone will ask a question on PM and be like "no p6 please"
01:24 mrborisguy i wouldn't doubt it
01:25 ninereasons a reasonable request for any practical question.
01:25 ninereasons at the moment.
01:25 ninereasons but not for long :)
01:25 mrborisguy what!?  you're telling me pugs isn't ready for production code!!!!
01:25 mrborisguy i give up
01:25 stevan that is why L~R has been moving them to their own threads IIRC
01:25 kelan parrot is!
01:25 mrborisguy i'm outta here
01:25 svnbot6 r3554, ninereasons++ | add extra lines for pod
01:25 stevan mrborisguy: we have mod_pugs ;)
01:26 mrborisguy haha, really?
01:26 putter ;)  I have a   do return $ foo $ x where ...  and wish it a  do n <- (x where ...) return $ foo$ n    but thats not it.  suggestions?
01:26 stevan mrborisguy: yes, it works on top of mod_parrot
01:26 mrborisguy cool
01:26 mrborisguy i won't use it though
01:26 mrborisguy i don't even use mod_perl right now
01:26 mrborisguy i couldn't get it set up once
01:26 mrborisguy and my 'website' has about... 3 hits a week
01:26 stevan mod_perl on Win32 was still beta
01:27 mrborisguy that may have been the reason
01:27 stevan 1.0 that is
01:27 castaway has quit IRC (Connection timed out)
01:27 mrborisguy either way i don't have much use for it
01:27 theorbtwo has quit IRC (Connection timed out)
01:27 stevan mrborisguy: I think autrijus is actually using Pugs in prod
01:28 jroc has joined #perl6
01:28 kelan okay this will be fun because i don't know the monad terminology but:
01:28 mrborisguy and as i understand, autrijus is the genious behind pugs? (or at least, at the beginning)
01:28 stevan yes, and still is
01:28 stevan he is the main force behind it
01:28 kelan putter: where is the function that returns a moadic value?
01:28 mrborisguy yeah... i added the parenthetical statement because i'm sure there are more now
01:29 kelan is it the x?
01:30 kelan if it is the x, i think you can do it like:
01:30 kelan do n <- x
01:31 kelan   return $ foo $ n
01:31 kelan   where ...
01:31 putter the original form is:
01:32 putter anyone mind 10ish lines of code blatted?
01:32 putter op0 "time"  = const $ do
01:32 putter    clkt <- liftIO getClockTime
01:32 putter    return $ VInt $ toInteger $ tdSec $ diffClockTimes clkt epochClkT
01:32 putter    where
01:32 putter    epochClkT = toClockTime epoch
01:32 kelan perlbot, do you mind?
01:32 putter    epoch = CalendarTime 2000 January 1 0 0 0 0 Saturday 0 "UTC" 0 False
01:33 putter I hypothesize that higher precision time info might be available by doing
01:33 putter ... + ((tdPicosec diff) * 10^(-12))
01:34 putter but pulling out  d <- diffClockTimes clkt epochClkT   leads to unhappiness.
01:34 stevan putter: you might want to ask on #haskell
01:35 putter k. tnx.
01:35 stevan my haskell book is being neglected in favor of my Smalltalk/metaclass books
01:35 * putter goes off to remind himself how  where  works...
01:35 putter :)
01:36 kelan where is the `diff` coming from in your hypothesis?
01:36 kelan from the `diffClockTimes` application?
01:37 kelan do you want to replace `tdSec` with the hypothesis? like this:
01:37 kelan return $ VInt $ toInteger $ (\diff -> ((tdPicosec diff) * 10^(-12))) $ diffClockTimes clkt epochClkT
01:39 putter s/diff/d/
01:40 kelan but am i right, you want to replace `tdSec` in the original?
01:40 putter ahhhhhhhh.  is there a lightbulb emoticon?
01:40 kelan the question mark is closest. heh
01:40 kelan ?
01:41 putter back in a sec^Wbit...
01:41 mrborisguy what does @array = <1 2 3 4 5>; mean?  is it like @array = qw/1 2 3 4 5/; ?  or is it something special and new?
01:41 kelan don't forget to tell us the answer:)
01:41 kelan it is like @array = qw/1 2 3 4 5/;
01:42 mrborisguy alright, thanks!
01:42 kelan the <> is the new easy-quotewords
01:42 mrborisguy does it do more stuff then?
01:42 mrborisguy or is it just that pretty much?
01:42 kelan i don't think so. just returns a list of strings
01:42 kelan although
01:42 kelan you can use it like this:
01:43 kelan %hash<hash slice>
01:43 kelan which gives you two elements from the hash with those keys
01:43 mrborisguy so, instead of something like the old @hash{ ('hash','slice') }
01:43 mrborisguy yeah?
01:43 kelan yep
01:44 vcv I love that :)
01:44 mrborisguy oh, sweet!
01:44 kelan <<>> is the similar
01:45 kelan but non-interpolating? or <<>> interpolates but <> doesn't?
01:45 kelan not sure, let me check
01:45 ninereasons right, kelan
01:45 kelan right to which? :)
01:45 ninereasons <<>> interpolates
01:45 vcv what about %hash<<@array>>
01:45 vcv whats that do?
01:46 vcv lets say @array = ("key1", "key2")
01:47 kelan i think <> and <<>> impose list context, so the array should flatten and give you the hash slice
01:47 ninereasons and, <<>> is supposed to respect quotes
01:47 kelan well, if <> doesn't interpolate, it wouldn't
01:48 ninereasons but I don't think that it does, right at the moment
01:48 ninereasons (respect quotes, I mean)
01:48 kelan yeah, i didn't understand the rules about when things inside <<>> break up or stay together. like this: <<"two words" another>>
01:49 kelan i think that is just two strings, not three
01:49 ninereasons yes, but I don't think that pugs thinks so, right now.
01:49 ninereasons it'll be fixed eventually if it's not already.
01:49 kelan or if you have: @array = ("two words", "another"); <<@array>>
01:49 kelan is that the same? two words, not three?
01:50 ninereasons should be, in that context, if I understand it right.
01:51 kelan but <> doesn't respect quotes? so <"two words" another> thats really three?
01:51 ninereasons ("two, words", another)
01:51 * kelan nods
01:55 kelan putter
01:55 kelan come back and tell us how you fixed the haskell
01:56 kelan inquiring minds need to know
02:03 umbop has quit IRC (Connection reset by peer)
02:06 g1powermac has quit IRC (Read error: 145 (Connection timed out))
02:09 coet has quit IRC (zelazny.freenode.net irc.freenode.net)
02:10 coet has joined #perl6
02:10 mrborisguy i've been playing with map a little bit, but i couldn't find any information on it.  i want to do @array.map:{ $_ ** 2 }; (which works).  is there an @array.map( $_ ** 2 ) of some sort?  i can't get it to work, so maybe there isn't one?
02:10 mrborisguy just a "i think it looks better" sort of deal...
02:10 bd_ has joined #perl6
02:11 kelan i dont think so
02:13 mrborisguy alright, thanks
02:13 scook0 @array.map( $_ ** 2) would almost certainly /not/ do what you're expecting it to
02:13 mrborisguy yeah, i tried it, it gave me an error
02:14 mrborisguy just wondering if there were something similar
02:14 scook0 @array.map:{ $_ ** 2 } /is/ it
02:14 mrborisguy alright
02:14 scook0 unless you want to say @array.map({$_ ** 2 }), which is even uglier
02:14 wolverian you can't just make up syntax and expect perl to go along with you. :)
02:14 mrborisguy hahaha, okay
02:14 scook0 remember that map takes a block, not an arbitrary expression
02:14 mrborisguy i'll keep that in mind
02:14 kelan wolverian: that isnt the quote!
02:15 wolverian kelan: I didn't have the real quote handy and I was too lazy to query purl. :)
02:16 mrborisguy i'll try to trim down the stupid questions a little bit! ;)
02:16 kelan nah
02:16 kelan p6 is new to everyone basically
02:16 scook0 the only stupid questions are the ones you don't bother to ask
02:17 scook0 besides which, 'stupid' questions can sometimes reveal profound things :)
02:18 jroc has quit IRC ("Leaving")
02:18 coet has quit IRC (zelazny.freenode.net irc.freenode.net)
02:19 coet has joined #perl6
02:19 svnbot6 r3555, Stevan++ | Perl::MetaModel - adding rw/ro traits to Meta::Properties; and sketched some ideas of Roles as well (I need to do some more reading on this actually);
02:19 svnbot6 r3556, Stevan++ | Perl::MetaModel - changing the Roles sketch, I had moved it up too far in the meta-model; back to reading about Roles
02:22 ihb scook0: no, there really are stupid questions that people do ask :-)
02:23 sproingie has joined #perl6
02:29 mrborisguy haha, i'd have to agree with you ihb
02:29 mrborisguy "can i get taste loss from licking a pool table?"
02:31 kelan if you licked it so much that you rubbed off your taste buds you could
02:31 mrborisguy haha
02:32 mrborisguy i guess i probably shouldn't assume everybody has seen that commercial
02:33 kelan one of those beer commercials?
02:35 pasteling "putter" at 66.30.119.55 pasted "time() -> 1.69957894027142e8" (12 lines, 493B) at http://sial.org/pbot/10297
02:35 putter hey kelan.  well, bleep.
02:35 kelan hey!
02:36 kelan does that work?
02:37 kelan if so you can move the lambda down to the where clause and give it a name so it doesnt look so funky
02:37 putter ooo, yes, good idea.
02:39 putter any other thoughts?
02:40 kelan hmm
02:41 kelan im surprised about the 10^12
02:42 putter me too.
02:43 kelan did you try fromInteger and fromIntegral on it?
02:44 putter (fromInteger 10^12) 10.0^^12  (fromIntegral (10^12))::Float  realToFrac (10 ^ 12)  ...(the last 2 from #haskell)  no joy.
02:45 kelan even #haskell couldn't figure it out?
02:45 kelan heh, i'm not going to be able to then
02:46 kelan if you're going to do (1000000 * 1000000) why not just write 1000000000000
02:46 svnbot6 r3557, ninereasons++ | a little more clean-up of the pod, for the introduction to strings, examples/cookbook/01strings/01-00introduction.p6; plus render a few examples executable
02:47 putter their suggesting was to add more of signature.  (it's quiet there, and there was perhaps a bit less warm fuzzy helpfulness than I've seen in past)  ah well.
02:48 putter re why 1^6 * 1^6, because everytime I looked at the latter I felt nervious and wanted to count the zeros. ;)  I can eyeball 6 of them.  "If it's not obviously correct... then it isn't."
02:49 putter Before commiting, I'm trying to find someplace at least semi-authoritative which says its the right thing...
02:50 putter ie, that p6 time() now returns a float.
02:50 kelan i can't eyeball groups of more than four:(
02:52 putter ok.  switching to three...;)
02:52 kelan heh
02:52 kelan probably put a comment in why its written out like that
02:53 ninereasons you also might enjoy one or another of the alternative syntax, kelan:
02:53 theorbtwo has joined #perl6
02:53 kelan maybe someone will come along and figure out a way to type it
02:53 ninereasons  map{$^item ** 2;} @array ;  map->$item{$item ** 2} @array ;
02:53 ninereasons or, I guess actually it was mrborisguy
02:53 kelan heh
02:54 mrborisguy why does the first work?
02:54 mrborisguy the $^item part i mean
02:54 ninereasons think of sort {$a <=> $b}
02:54 ninereasons it works for the same reason
02:55 mrborisguy so $^item is the only one that will work, not $^something
02:55 kelan variables with carets are like implicitly passed arguments
02:55 Odin-LAP $^a <=> $^b now, I think.
02:55 kelan no
02:55 ninereasons $^whatever you want
02:55 kelan it can be anything
02:55 mrborisguy but map->$something{$something ** 2} @array would?
02:55 kelan yes
02:55 mrborisguy Odin-LAP: yes
02:55 Odin-LAP Implicitly passed, and ordered alphabetically, I think.
02:55 kelan so would map { $^something ** 2 } @array
02:55 mrborisguy huh
02:55 kelan Odin-LAP: yes, from what i remember
02:56 kelan the implicit arguments are bound to the ^ variables in alphabetical order
02:57 mrborisguy @in ==> map { $^something ** 2 } ==> @out; is correct syntax, correct?  (but not working yet?)
02:57 mrborisguy kelan: does that hold for sort too?
02:57 kelan yes its correct
02:58 kelan well i think sort kinda got redone
02:58 kelan but the basic usage i think works the same
02:58 mrborisguy oh
02:58 meppl has quit IRC (Remote closed the connection)
02:58 kelan damian proposed adding all this crazy stuff to it. don't know if its canon yet
02:59 mrborisguy oh, alright
02:59 Odin-LAP Damian proposed crazy stuff? :o
02:59 Odin-LAP ;)
02:59 kelan but for the basic usage, this would work: @in ==> sort { $^a <=> $^b } ==> @out
03:00 ninereasons that looks so cool
03:00 Odin-LAP I suppose the best way to save functions and/or syntax is to get it implemented before he has the chance.
03:00 ninereasons it looks like it's moving
03:00 kelan and this would sort in opposite order: @in ==> sort { $^zed <=> $^apple } ==> @out
03:00 mrborisguy oh, no, i was wondering about the variables... sort { $^first <=> $^second } since "first" lt "second"
03:00 mrborisguy yeah, okay.
03:00 kelan yes
03:01 kelan the implicit positional args are bound alphabetically
03:01 kelan its kind of weird
03:01 Odin-LAP sort { $^before <=> $^after } # ;D
03:01 kelan but as good as any way to bind implicit vars, i guess
03:01 kelan heh
03:01 kelan obfu here we come
03:01 Odin-LAP kelan: Ya figure?
03:02 Odin-LAP Although I think that last one is kinda cute.
03:02 Odin-LAP I think they meant it partially as a discouragement for using too many implicit arguments.
03:03 Odin-LAP One is fine, two is workable, three is stretching it...
03:03 kelan well how about
03:03 kelan sort { $^aaaaaaaaa <=> $^aaaaaaaaaa }
03:03 kelan which order??
03:03 kelan yeah, thats fun
03:03 Odin-LAP O_o
03:04 kelan see, there are a different number of 'a's
03:04 Odin-LAP I suppose the shorter one goes first. (ASCIIbetic order.)
03:04 Odin-LAP I figured.
03:04 Odin-LAP But I most certainly am not going to count. ;)
03:04 kelan heh
03:05 mrborisguy now i'm just scared!
03:05 kelan thats why i'm saying its weird. the variable name is meaningful to the semantics
03:05 Odin-LAP mrborisguy: Perl6 is going to be very, very frightening when abused.
03:05 pupilzeng has joined #perl6
03:06 Odin-LAP pupilzeng: Are you IRCing as root, and if so, is that intentional?
03:06 kelan i guess that isnt much different from: sort -> $aaaaaaaaaa, $aaaaaaaaa { $aaaaaaaaa <=> $aaaaaaaaaa }
03:06 kelan except shorter
03:06 kelan but still hard to tell whats going on
03:06 Odin-LAP kelan: Pretty much the same thing.
03:06 Odin-LAP I think it might be harder with the longer version.
03:07 pupilzeng Odin-LAP, yes, it's intentional, I'm on Windows
03:07 Odin-LAP pupilzeng: Ah. :)
03:07 sproingie has quit IRC (Remote closed the connection)
03:07 Odin-LAP pupilzeng: Just asking. I've seen people do it by accident. :>
03:07 kelan heres fun: sort -> $b, $a { $a <=> $b }
03:08 Odin-LAP kelan: Oweeee.
03:08 mrborisguy oh my!
03:08 kelan plain descending, but odd looking
03:08 Odin-LAP Or ouch.
03:08 putter ok, clkao is waiting patiently, and I'm failing to find an authoritative source which says time() now returns a float.
03:08 kelan this language will be fun:)
03:08 pupilzeng Odin-LAP, I know, you're very kind to do so
03:09 kelan oh let me help you look, putter
03:09 mrborisguy i do think things will make more sense in this language though (unless you try to be obscure)
03:09 Odin-LAP kelan: Oh, and we haven't even started with the syntax-warping macros they promised us.
03:09 nothingmuch has quit IRC ()
03:09 mrborisguy i can already see it in my understanding
03:09 putter Hmm.  Looks at the time.  "clkao has long since given up waiting, and..." ;)
03:09 kelan Odin-LAP: those are a cop-out for true obfuers:)
03:09 Odin-LAP kelan: True.
03:09 kelan of which i am not
03:10 Odin-LAP The metaoperators are a god's gift to obfuscation, though.
03:10 kelan `wrap` will be nice for obfu too
03:10 kelan you never know whats being called
03:11 Odin-LAP mrborisguy: Yeah. Though it's tending a bit towards Lisp, in some regards. (Not syntax-wise, thank god.)
03:13 kelan putter!
03:13 putter hey!
03:13 ninereasons *fix + folding operators will make some amazing obfu
03:15 putter ok, it looks like parrot has two forms, int and num.  that plus two peoples' fuzzy recollection... what more could one need?
03:16 putter does anyone object to time() returning float?
03:16 ninereasons it seems Right that it should
03:16 ninereasons but, I'm not the Real programmer, here
03:17 kelan i'm trying to find the message referred to, but in this summary: http://www.mail-archive.com/perl6​-language@perl.org/msg19302.html
03:17 kelan it says "Larry agreed that Perl 6's time interfaces
03:17 kelan    would favour floating point time values..."
03:17 kelan the linked message to google groups is not there
03:18 putter yeah!  kelan++
03:18 ninereasons kelan++ # indeed.  man, that was fast
03:18 kelan here we go: http://www.mail-archive.com/perl6​-language@perl.org/msg19076.html
03:19 putter Thank you kelan.   Patch going in.
03:19 kelan np
03:19 mrborisguy has anybody got p6 to install on Win32?
03:20 kelan mail-archive.com has a search function. makes it easier to find messages:)
03:20 metaperl has joined #perl6
03:21 mrborisguy i get this error when trying to use nmake:
03:21 mrborisguy makefile(414) : fatal error U1087: cannot have : and :: dependents for same target
03:21 metaperl has quit IRC (Client Quit)
03:22 kelan i've heard theres some trouble with win32. don't know if anyone's solved it
03:22 vcv mrborisguy: i was working on it.  got some different errors though
03:24 putter clkao: fyi, time() now returns floating-point seconds.
03:24 svnbot6 r3558, putter++ | time() now returns a float.  kelan++
03:25 putter Thanks again folks.
03:25 putter Good night.
03:25 kelan g'night
03:25 putter has quit IRC ("sleep &")
03:30 mrborisguy oh, okay
03:31 mrborisguy well, any Makefile editing I can do?  I went to line 414 (figured that's what the error meant, not sure), and there wasn't anything worthwhile there
03:31 mrborisguy i'll check line 1087 vcv
03:31 mrborisguy 1087 is the last line
03:32 mrborisguy if there's no solution, it's not a big deal, i already have p6 on a different computer
03:33 Khisanth try it with a different make implementation?
03:34 mrborisguy i'll see what i can find
03:34 mrborisguy the makefile downloaded nmake for me, so that's the one i was trying
03:34 * Khisanth is slightly confused
03:34 Khisanth how did you manage to use the makefile without make?
03:35 mrborisguy my bad.  correction, the Makefile.PL file
03:36 kelan MakeMagic
03:36 kelan thats how
03:38 mrborisguy is that a program, or a perl module?
03:39 kelan its a joke:)
03:39 mrborisguy oh, gotcha
03:39 kelan i meant thats how you could use the makefile without make installed
03:40 mrborisguy a different make (from UnxUtils) failed too, citing that I can't have more than one " config :: " in the file (there's about 3 of 'em in a row where it reports the error)
03:41 mrborisguy eh, i'll give up for tonight
03:46 mrborisguy thanks for all of the help tonight.  i'm out.
03:46 mrborisguy has quit IRC ()
03:48 metaperl has joined #perl6
04:20 fayland has joined #perl6
04:20 svnbot6 r3559, putter++ | docs/development/tips -> docs/development/development_tips
04:20 svnbot6 r3560, putter++ | docs/development/ -> docs/other/
04:20 svnbot6 r3561, putter++ | In modules/PORTING_HOWTO, added pointers to other resources.
04:20 svnbot6 r3562, putter++ | Moved modules/PORTING_HOWTO to docs/other/.  Being out of the way, it was getting overlooked.  Left a "moved to ../docs/" file.
04:24 vcv has quit IRC (Read error: 104 (Connection reset by peer))
04:28 vcv- has quit IRC (Read error: 145 (Connection timed out))
04:54 AtnNn has quit IRC (Remote closed the connection)
04:54 AtnNn has joined #perl6
05:02 fayland has quit IRC (Read error: 145 (Connection timed out))
05:10 metaper1 has joined #perl6
05:10 metaper1 has left
05:14 madhouse has quit IRC ()
05:30 Shachaf has quit IRC ("<[]>")
05:32 rafl has quit IRC (Read error: 104 (Connection reset by peer))
05:33 rafl_ has joined #perl6
05:52 vcv has joined #perl6
05:52 vcv- has joined #perl6
05:55 wilx` is now known as wilx
05:59 vircuser has joined #perl6
06:00 vircuser anyone here?
06:00 vircuser is now known as avinash240
06:01 avinash240 anyone?
06:01 stevan hello
06:02 avinash240 hi I was just looking through the overviews of perl6
06:02 stevan avinash240: it gets quiet around here this time of night/day
06:02 avinash240 and it's striking me as an extremely complex language.
06:02 stevan avinash240: that is a correct observation
06:02 stevan although I would not let the docs overwhelm you
06:03 stevan there is much more in there then will probably get used
06:03 avinash240 any hope on them keeping some of the reason I started using perl in the first reason around
06:03 stevan by the majority of programmers
06:03 stevan avinash240: much of what is so great about perl is still there
06:03 avinash240 some of it is down-right non-intuitive
06:03 stevan just more consitent
06:03 avinash240 i mean I love perl5
06:04 avinash240 i just makes sense
06:04 avinash240 I'm a converted c, c++ coder
06:04 stevan avinash240: I agree, I love p5 too
06:04 avinash240 and that garbage about perl five not being readable
06:04 avinash240 is only from non perlers
06:04 avinash240 who read the regex competitions
06:04 stevan :)
06:04 ninereasons there are small idiom adjustments.  I think you'll find it to be very simple to pick up, starting from perl5, avinash240
06:04 avinash240 if you code it like you do c++ but use the extra power it's very readable
06:04 avinash240 i hope your right
06:05 avinash240 cause right now
06:05 svnbot6 r3563, ninereasons++ | more massaging of the text and examples in cookbook's introduction to strings
06:05 avinash240 I'm down right depresed
06:05 stevan avinash240: well, I am sure perl5 wont go away anytime soon
06:06 ninereasons I really like perl5, but every day I am more eager to see perl6 fully implemented, avinash240
06:06 stevan and part of the whole motivation of Pugs is to iron out the issues with the perl6 design
06:06 avinash240 yes..but i'm not big on using ''old' languages when new ones exist
06:06 ninereasons it puts some really wonderful things in your hand.
06:06 stevan avinash240: what have you read so far?
06:06 stevan on perl6
06:07 avinash240 so far the only language I've seen that's really impressive is ruby.  I know Java but you need 30 lines of code just to do hello world...so much forced structure..
06:07 avinash240 but the
06:07 avinash240 has
06:07 avinash240 $.something
06:07 avinash240 it's really just all the new sigals
06:07 avinash240 that are killing me
06:07 stevan avinash240: they actually make a lot of sense when you understand what they all mean
06:08 avinash240 but why so many...i'd really like explained
06:08 ninereasons new levels of abstraction, that's all
06:08 avinash240 i'm sure they make sense
06:08 avinash240 but do we really need that many
06:08 avinash240 i was really just hoping the OO system in perl would get alot easier..
06:08 avinash240 it's more consistent but makes less sense
06:08 stevan there is a set of quickref documents in the docs/ folder which try to explain
06:08 avinash240 actually
06:08 avinash240 sorry I take it back
06:08 avinash240 it makes sense
06:09 avinash240 but it's not intuitive
06:09 ninereasons look at exmples/games/wizard.p6, avinash240
06:09 AtnNn it beats clos
06:09 avinash240 k
06:09 avinash240 whats the whole URL for hthat?
06:09 avinash240 err
06:09 ninereasons I think you'll immediately understand what's happening throughout.
06:09 avinash240 that?
06:10 avinash240 the wizard.p6
06:10 ninereasons it's in the checkout tree.  but just a sec.
06:10 stevan avinash240: also look in ext/ as well in particular Set, Tree, Test::Builder and Net::IRC
06:10 avinash240 i appreciate t..
06:10 stevan http://svn.openfoundry.org/pugs/examples/
06:11 stevan http://svn.openfoundry.org/pugs/ext/
06:11 stevan http://svn.openfoundry.org/pugs/docs/
06:11 stevan :)
06:12 ninereasons thanks, stevan++
06:12 avinash240 the has Str something;
06:12 avinash240 is that an object declaration?
06:12 stevan ninereasons: I have typed that URL many many times :)
06:12 stevan avinash240: yes
06:12 avinash240 nice
06:12 avinash240 what's the
06:12 stevan has declares a property
06:12 stevan Str the type
06:12 avinash240 ?$prompt
06:12 stevan and $.name
06:12 avinash240 what eh ?$
06:12 avinash240 ?
06:13 stevan ? means the parm is optiona;
06:13 stevan optional
06:13 stevan so sub foo ($bar, ?$baz)
06:13 stevan $bar is required and $baz is optiona;
06:13 avinash240 ok
06:13 avinash240 that could stand for a change
06:13 stevan (damn I keep missing the l and hitting the ;)
06:13 avinash240 it's not readable
06:13 avinash240 and that's what i mean
06:13 avinash240 has $.something
06:13 avinash240 is soo smooth
06:13 avinash240 it makes total sense
06:14 avinash240 ?$something isn't
06:14 avinash240 my head is doing loops
06:14 avinash240 going from looking stuff up
06:14 avinash240 to just reading and it making sense
06:14 wolverian there are named traits that do the same thing as the +, ? zones
06:14 wolverian in signatures
06:14 simcop2387 has quit IRC (Read error: 110 (Connection timed out))
06:14 avinash240 lol
06:14 avinash240 i have no idea what a signature is
06:15 wolverian the thing that specifies the arguments.
06:15 stevan method signature
06:15 wolverian sub foo (...signature...) { ...body... }
06:15 avinash240 what does the $?something mean?
06:15 stevan its actually a combination of the label, the args, and the return value (IIRC)
06:15 wolverian stevan: good point.
06:15 stevan $?something is different :)
06:16 avinash240 i just saw that
06:16 avinash240 what does that mean?
06:16 avinash240 it looks lke it's inviting me banging my head while looking for a bug
06:16 avinash240 between $?  and ?$
06:16 stevan http://svn.openfoundry.org/pugs/docs/quickref/var
06:16 wolverian $? are magical lexical vars
06:16 stevan its a twigil :)
06:16 avinash240 i'm going to pook at the quickref really quick
06:17 stevan avinash240: I agree on the $? stuff
06:17 stevan and $*
06:17 stevan etc
06:17 stevan they can get ugly
06:17 wolverian I think I agree.
06:17 ninereasons yep.  me too.
06:17 stevan $. and $: are good for objects
06:17 wolverian maybe someone should post on p6l about this. :)
06:17 stevan that makes sense to me
06:17 avinash240 twigils?
06:17 vcv has quit IRC (Nick collision from services.)
06:18 avinash240 i think that's an answer to a question that no-one was asking
06:18 stevan basically $?foo is like my $foo (lexical scoped)
06:18 ninereasons but, secondary sigls are the sort of thing that don't get written all the time
06:18 avinash240 seriously of all the things I found wrong with perl5
06:18 avinash240 variable scope was not one of them
06:18 stevan $=foo is our $foo (file scoped)
06:18 avinash240 it just made sense..
06:18 avinash240 can I still scope the same way as I did in perl5
06:18 avinash240 ?
06:18 stevan avinash240: I dont actually think it changed
06:19 avinash240 i can accept $. in classes
06:19 stevan it should DWIM in most cases
06:19 avinash240 koo koo
06:19 avinash240 i think the docs should focus on what will be the same
06:19 avinash240 more
06:19 avinash240 cause right now I'm scared
06:19 stevan seriously the fundemental parts are not really changing
06:19 stevan avinash240: that is kind of an issue
06:19 avinash240 and I run the programming direction..for my shop
06:19 stevan right now the docs are actually the spec
06:19 ninereasons for that, I think that our cookbook will be helpful, avinash240
06:19 stevan and they focus on the diffs
06:20 ninereasons but right now I think it's a bit of a mess
06:20 avinash240 yes, it's not making much sense
06:20 pupilzeng has quit IRC ("Bye")
06:20 avinash240 i think they shouldn't release anymore
06:20 avinash240 until it's clear
06:20 avinash240 i've been looking forward to perl 6 for a year
06:20 stevan avinash240: dont forget perl6 is still being designed
06:20 stevan Pugs is just a reference implementation
06:20 avinash240 mainly because I really want a clarified OO system
06:21 stevan to help iron out the details
06:21 avinash240 I agree
06:21 avinash240 I think once I get my hands on it
06:21 avinash240 i'll be ok
06:21 avinash240 if I can use very close to perl5 syntax
06:21 avinash240 and use perl 6 OO system
06:21 ninereasons that's what pugs is for.
06:21 avinash240 i'll be very happy
06:21 stevan avinash240: you should be able to do that
06:22 ninereasons to get your hands on a very blurry idea, and actually do something real.
06:22 stevan with only a few other changes to make things more consistent
06:22 stevan ninereasons: well put :)
06:22 stevan avinash240: I suggest compiling pugs and giving it a try
06:22 stevan its quite addicitve
06:23 avinash240 anyone here use catalyst?
06:23 stevan even though not everything works
06:23 stevan avinash240: nope, but I know people who have
06:23 ninereasons speaking of addictive, I should go to bed.  night all
06:23 ninereasons has quit IRC ("bye")
06:23 avinash240 how do they like it?
06:23 stevan they really liked it
06:23 avinash240 i just installed it..
06:23 stevan I am actually considering switching to it myself
06:23 avinash240 i'm really workin it out
06:23 * stevan also makes the descisions for his shop :)
06:24 stevan how do you like it?
06:24 avinash240 lol
06:24 avinash240 working'
06:24 avinash240 is workin
06:24 avinash240 to be totally honest
06:24 avinash240 i've just never gotten Perl 5 OO approach too much
06:24 avinash240 that's why I'll be happy to seee it go
06:24 avinash240 and I've written modules
06:24 avinash240 lol
06:25 stevan avinash240: I liked perl5 OO a lot at first
06:25 avinash240 i like my version of it
06:25 avinash240 it's when I see other peoples
06:25 avinash240 it's just not always clear
06:25 avinash240 the 'convention' is very odd
06:25 stevan but I came from Javascript (prototype based) and Java (too much code for too little)
06:25 avinash240 yes, I come from c++ and Java
06:26 stevan avinash240: I know what you mean, too many ways to do the same thing
06:26 avinash240 so right no
06:26 avinash240 so right now
06:26 avinash240 I"m trying to "get" catalyst
06:26 stevan AFAIK its really just straight MVC
06:26 avinash240 yeah that's right
06:27 avinash240 but Class::DBI is something I'm not too familiar with
06:27 avinash240 i'm old school SQL i wrote everythng by hand
06:27 stevan me either
06:27 avinash240 now I feel strapped
06:27 avinash240 to figuring out how to use that thing
06:27 avinash240 and it's not so clear
06:28 stevan never used Class::DBI myself
06:28 avinash240 the whole framework MVC idea is not so clear to me
06:28 avinash240 what makes me a bit depressed though
06:28 avinash240 is I read the Catalyst stuff
06:28 avinash240 and I scratch my head
06:28 avinash240 i read the Ruby on Rails stuff..and I get it..
06:28 stevan :D
06:29 avinash240 that's how I used to feel when I compared Perl to other languages
06:29 avinash240 this is why the complexity thing..
06:29 avinash240 is getting me down
06:29 stevan that might be just a "quality of docs" issue
06:29 avinash240 yes
06:29 avinash240 definately
06:29 avinash240 I agre
06:29 avinash240 e
06:29 avinash240 but the built in tech is just easier
06:29 stevan Catalyst is pretty new though, so it may take some time
06:29 saorge has quit IRC (Read error: 104 (Connection reset by peer))
06:30 avinash240 but I'm honestly convinced to stick it out with a Perl MVC framework
06:30 avinash240 and Maypole was just a frustration
06:30 saorge has joined #perl6
06:30 avinash240 Catalyst looks nice
06:30 avinash240 i've seen an app and it's not bad..
06:30 avinash240 it's just a learnign curve..and that's never stopped me before
06:30 avinash240 unless you haven't noticed I'm very big on intuitive programming practices
06:31 avinash240 and catalyst has that
06:31 stevan I think a Ruby on Rails "port" will be easier with perl6
06:31 avinash240 well
06:31 avinash240 more of less
06:31 avinash240 Catalyst is a port..with some extra features
06:31 avinash240 in essense it's more powerful
06:31 avinash240 just not as intuitive
06:31 avinash240 which is why RoR is doing so wel
06:31 avinash240 it's brainless to set up a working app
06:32 stevan I am always distrustful of "brainless to set up" though
06:32 stevan I feel constrained by that
06:32 stevan I like to see the guts :)
06:32 avinash240 i agree but they allow you to remove all the implicit stuff..which is why I was impressed
06:33 avinash240 but Catalyst is more powerful from what I can see
06:33 avinash240 I think ActiveRecord is really the only BIG thing on RoR..
06:34 stevan O/R mapping is really nice if done well
06:34 obra avinash240: what about actionpack?
06:34 avinash240 i
06:34 avinash240 have heard mixed things about it
06:34 bsb has joined #perl6
06:34 avinash240 but the mixed things I've heard were retarded
06:34 avinash240 saying no-one wanted the object/method URL approach
06:35 avinash240 but that's pretty much the defautl way for MVC right now
06:35 avinash240 it doesn't allow anything else from what I gather
06:35 avinash240 and I wouldn't have a problem with that
06:35 * obra isn't a fan of that approach.
06:35 avinash240 Catalyst allows you to do other ways
06:35 avinash240 like I said..Catalyst seems more powerful
06:35 avinash240 as I expected from the perl approach
06:35 obra but most of what seems _really_ nice about actionpack is the sets of helpers to abstract out the boring bits that everyone screws up.
06:36 avinash240 just a bit more entry fee..I'd really like to see more documentation
06:36 obra and that's not something I've seen in Cat
06:36 avinash240 yes
06:36 avinash240 err
06:36 avinash240 no
06:36 avinash240 you mean the helper scripts
06:36 avinash240 for things like
06:36 avinash240 adding views and what not?
06:37 avinash240 and building the directory structure and whatnot?
06:37 obra all the viewkit metalogic
06:37 avinash240 what do you mean?
06:38 obra actionpack comes with a gorgeous set of helpers for everything from hyperlinks to forms
06:38 stevan ok bed time for me - nite all
06:38 obra last time I asked sri and draven, cat just didn't have that yet.
06:39 avinash240 yeah I don't believe it has that stuff yet
06:39 * obra nods
06:39 avinash240 version 5 has the helper scripts for setting up the skeleton structures and whatnot
06:40 avinash240 and they've ported over the java protoype library
06:40 avinash240 which is hude
06:40 avinash240 err
06:40 avinash240 huge
06:40 avinash240 so you can do Ajax
06:41 avinash240 i think I'm going to run over the the catalyst irc channel
06:41 svnbot6 r3564, Stevan++ | Perl::MetaModel - adding more details to the Meta::Compiler tests
06:41 avinash240 all this catalyst talk has me gong
06:41 avinash240 = )
06:42 avinash240 has quit IRC ("User pushed the X - because it's Xtra, baby")
06:46 bsb ping scook0
06:46 scook0 pong bsb
06:46 bsb that was quick
06:46 scook0 I got home about 15min ago
06:47 scook0 how goes it?
06:47 bsb Good, but busy with non pugs stuff
06:47 bsb I saw your munge haddock changes and had a similar ideas
06:48 scook0 What did you have in mind?
06:48 bsb I'll just post the oldish patch
06:48 pasteling "bsb" at 203.214.67.82 pasted "haddock munging" (29 lines, 848B) at http://sial.org/pbot/10301
06:49 bsb Basically using the ignore-exports option
06:49 bsb optionally
06:49 bsb I thought that the munger could have an API mode and an internal mode
06:50 bsb I didn't get the Makefile work done though
06:50 scook0 hmm
06:51 scook0 so, munge_haddock would only nuke the export list if a special flag was applied?
06:51 bsb Not sure if it's any use now but thought I may as well share the idea
06:51 b00t has joined #perl6
06:52 scook0 I just wonder whether having only the exported symbols is any use...
06:52 bsb yes, it would turn "-- haddock-internal: ignore-exports" into "-- # ..."
06:52 * scook0 clicks
06:52 bsb I don't know, the docs are mainly internal at the moment
06:53 scook0 so, the export list should only be nuked if we specify a certain option in the file itself?
06:53 bsb Yeah, or the reverse could be the default
06:53 bsb It's probably more useful currently
06:54 scook0 It could be useful idea
06:54 scook0 I'm just trying to think of a use for it
06:55 scook0 It would decrease the compatibility burden on my poor little script if we knew that it was only being applied to approved source files
06:55 bsb It could also tweak other attributes, none look as useful though
06:55 bsb http://www.haskell.org/haddoc​k/docs/module-attributes.html
06:56 * scook0 suddenly feels stupid
06:56 bsb oops
06:56 scook0 I was wondering whether Haddock had an option like that, but I could never find it
06:56 scook0 I only hacked up the munge script because I couldn't get Haddock to do what I wanted
06:57 bsb Haddock seems a bit hard to use sometimes
06:57 bsb Have you found that?
06:57 scook0 aye
06:57 scook0 I suppose it is only 0.6
06:57 bsb Yeah
06:58 scook0 I think you should try undoing my changes, and implementing your solution
06:58 bsb Sure, I haven't got anything else of use here, I'll be here a little while
06:59 scook0 Actually, instead of that, you could just get munge_ to add #ignore-exports to the top of every file
06:59 scook0 no, that wouldn't quite work
06:59 scook0 you'd have to be careful to only insert it before actual module declarations
07:00 scook0 because I think there are some source files that are #included, and don't have module declarations
07:00 bsb Exactly, that's why I like the safer munging
07:00 scook0 It was always my intention to cooperate with Haddock instead of fighting it
07:00 bsb Although it's more tweaking initially
07:01 scook0 I'd be quite happy to see my code go
07:02 bsb If there's no need for two doc modes, then we could just insert the ignore-exports where required
07:03 iblechbot has joined #perl6
07:07 scook0 print "-- #ignore-exports" if /module/ or something
07:15 madhouse has joined #perl6
07:16 bsb scook0: No, I just meant manually, not with the munger
07:17 scook0 oh
07:17 scook0 doing it in the munger would be easier to maintain, I think
07:25 scook0 bsb: I just put 'print "-- #ignore-exports";' at the top of munge_ and everything seems to work fine
07:25 bsb scook0++
07:26 scook0 I'll commit shortly...
07:28 scook0 r3565
07:29 scook0 bsb: see if it works for you
07:29 bsb ok
07:30 bsb making
07:33 bsb src/Pugs/Config.hpp:21:1: parse error in doc string
07:33 svnbot6 r3565, scook0++ | * Haddocks for 'juncApply' in Junc.hs
07:33 svnbot6 r3565, scook0++ | * Export-list nuking is now much more elegant (bsb++)
07:33 scook0 hmm
07:34 bsb That might be me messing around locally, let me check
07:34 scook0 try doing 'find -name '*.hpp' | xargs rm' to clean out all the old .hpp files
07:35 scook0 Having old pre-processed files sitting around will prevent make from trying to refresh them
07:36 iblechbot has quit IRC (Read error: 110 (Connection timed out))
07:36 bsb svn diff
07:36 bsb Index: util/PugsConfig.pm
07:37 bsb It's incompatible local tweaks to util/PugsConfig.pm
07:37 scook0 What line from the .hpp is causing trouble?
07:38 pasteling "bsb" at 203.214.67.82 pasted "config gen haddock" (41 lines, 1.1K) at http://sial.org/pbot/10303
07:38 bsb src/Pugs/Config.hpp:21:1: parse error in doc string: [TokString "\n",TokPara,TokString "The configuration is derived from Config.pm from the installed perl.\n"]
07:38 bsb Nothing for you to worry about
07:39 bsb I see /usr/bin/perl -Iinc util/munge_haddock.pl src/Pugs/Types/Scalar.hpp
07:39 bsb -- #ignore-exports
07:39 bsb during make haddock
07:40 bsb head src/Pugs/Compile/Parrot/AST.hpp doesn't have the ignore-exports yet
07:41 bsb weird
07:41 scook0 ack
07:41 scook0 you're right
07:41 scook0 I just had a look at Eval, and all the private functions are gone again... :(
07:43 scook0 Looks like my new, elegant solution doesn't actually work
07:43 scook0 Maybe it's because the 'print' is before the 'while (<>)'
07:47 scook0 OK, I nearly have it working...
07:50 Aankhen`` has joined #perl6
07:51 scook0 Phew, r3566
07:51 scook0 That'll teach me to actually make sure that things work /before/ I say that they do
07:52 scook0 bsb: try it again, if you please
07:52 bsb soon, on the phone
07:59 bsb still not happy...
07:59 svnbot6 r3566, scook0++ | * Oops, my elegant #ignore-exports wasn't actually working
07:59 bsb actually, it's good.
07:59 bsb I just didn't get the ignore in the "head"
08:00 G2 has joined #perl6
08:01 scook0 the ignore now shows up immediately before the module declaration
08:01 scook0 and by 'module declaration', I mean any line matching /^module/
08:02 meurvin has joined #perl6
08:02 meurvin has left
08:02 scook0 I'm now rebuilding everything, just to be sure...
08:05 scook0 worksforme
08:10 Aankhen`` Juerd, you around?
08:13 bsb scook0: ok so far, with my changes reverted
08:13 svnbot6 r3567, autrijus++ | * POD cleanup of pugs.pm; recommend Filter::Simple
08:14 bsb any file & function I should check?
08:15 scook0 bsb: Eval
08:15 scook0 if you find more than 4-or-so functions, it worked
08:15 bsb got heaps, its working
08:16 scook0 the other thing to try is: find docs/haddock | xargs grep -n 'exports'
08:16 scook0 to make sure that nothing was inserted where it shouldn't have been
08:16 bsb none
08:16 scook0 cool
08:17 scook0 sounds like it's all working :)
08:17 bsb I was also thinking that if "Pad -> Pad" had a name then the docs might be clearer
08:17 bsb My haskell skillz don't stretch that far yet
08:22 scook0 bsb: teatime for me; perhaps we shall talk later
08:22 bsb bye, enjoy your meal
08:31 nnunley has quit IRC ("This computer has gone to sleep")
08:32 Aankhen`` has quit IRC (Connection timed out)
08:34 Aankhen`` has joined #perl6
08:53 * scook0 returns
08:53 svnbot6 r3568, autrijus++ | * unbreak hs-plugins integration.
08:53 scook0 bsb: ping
08:53 bsb scook0: pong
08:54 scook0 you were mentioning "Pad -> Pad"...
08:56 scook0 In my docs, I've been calling them 'pad-transformers'
08:57 scook0 if we wanted a special type alias, I think we could just use:
08:57 scook0 type PadTransformer = Pad -> Pad
08:57 scook0 I wonder if there's a better name...
09:00 bsb PadTrans, VarUpdate, PadEdit
09:00 svnbot6 r3569, scook0++ | Tweaks to Haddocks for Junc.hs
09:00 bsb I didn't think of anything good
09:00 scook0 You understand what they're doing, right?
09:00 scook0 Installing new symbol bindings into a lexical or global pad, and returning the new, augmented pad
09:01 bsb I understand what, when confuses me
09:01 bsb lazy evaluation...
09:03 * autrijus wakes up to find mod-perl 2.0.0 released
09:03 scook0 I kinda-sorta understand when, but not 100% :(
09:03 autrijus rehi \camels!
09:03 autrijus hm, Win32 build broken?
09:06 autrijus bsb: PadTransformer is probably not any more readable than Pad->Pad
09:06 autrijus I tried to find a good name... PadSyms, PadTrans, etc
09:06 autrijus but nothing stuck
09:07 scook0 now that you mention it, it's probably a good idea to leave the '->' in there as a clue
09:07 autrijus *nod*
09:07 scook0 but for now, 'pad transformer' is the de-facto name for them in the docs
09:07 autrijus that's good
09:08 autrijus scook0++ # haddock-fu
09:08 bsb It's haskell function and it's perl function seem to collide
09:08 bsb I'm not sure if I can make myself clearer :(
09:08 scook0 autrijus: could I trouble you to look at the docs for 'juncApply'?
09:09 autrijus scook0: I did, it's good, I even tweaked it
09:09 G2 has quit IRC ("oops")
09:09 scook0 autrijus++
09:09 autrijus hm, time to upgrade all my www/ ports to chase mod_perl2 change
09:09 scook0 any specific reason for all() & none() getting autothreaded before one() & any()?
09:10 autrijus scook0: specced this way.
09:10 autrijus I don't think S09 gives reasons
09:10 Juerd Aankhen``: I am now.
09:10 scook0 (you|me) should put that in the docs then
09:10 autrijus p6l may have some archive on that tho
09:10 autrijus in tests we'd use
09:10 autrijus L<S09/Junctions>
09:11 autrijus not sure how to do so on haddock... care improvise a bit?
09:11 autrijus I need to find food :)
09:11 vcv- has quit IRC (Read error: 110 (Connection timed out))
09:11 autrijus <- slept for 12 hours...
09:11 vcv- has joined #perl6
09:12 iblechbot has joined #perl6
09:14 Aankhen`` has quit IRC (Read error: 145 (Connection timed out))
09:16 osfameron has joined #perl6
09:19 scook0 autrijus: is there a canonical URL for the latest versions of the AES (in HTML)?
09:19 svnbot6 r3570, scook0++ | Haddocumented the justification for all & none
09:19 svnbot6 r3570, scook0++ | autothreading before one & any (specced)
09:20 autrijus scook0: yes, look at http://dev.perl.org/perl6/doc/synopsis.html
09:20 autrijus nice "haddocumented"
09:21 scook0 autrijus: are those versions kept up-to-date with the pod sources?
09:21 autrijus I think they are autogenned
09:21 autrijus so yes
09:23 scook0 I was under the impression that they lagged heavily, but maybe I just looked at them at a bad time
09:23 scook0 anyway, I think Haddock only supports vanilla URL-hyperlinks
09:23 autrijus I think robrt set up autoupdater  only recently
09:23 scook0 ah
09:23 autrijus anyway, I think dev.perl.org is as canonical as any
09:24 scook0 can you think of any other places in the docs where AES links would be handy?
09:24 scook0 (I feel uneasy committing a one-line change... :)
09:24 bsb g'night all
09:25 scook0 bsb: night
09:25 G2 has joined #perl6
09:25 integral is there a copy of the pugs haddocks online somewhere?
09:26 scook0 http://www.pugscode.org/haddock/
09:26 integral ty
09:26 scook0 not sure whether it's autogenned or not though
09:26 Aankhen`` has joined #perl6
09:27 scook0 autrijus: how are the online haddocks generated?
09:29 autrijus scook0: as part of util/smoke_loop.sh
09:29 scook0 how often is that?
09:29 autrijus I'll redir. a sec
09:32 autrijus done
09:32 Odin-LAP has quit IRC (Remote closed the connection)
09:34 iblechbot has quit IRC (Read error: 110 (Connection timed out))
09:53 Aankhen`` Does ext/Tree/Makefile.* need to be added to svn:ignore?
09:53 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
09:53 svnbot6 r3571, scook0++ | Added S09 link to Haddocks for juncApply
09:53 svnbot6 r3572, Aankhen++ | * docs/other/PORTING_HOWTO: added :P5 to Perl 6 translation of regex, for even easier porting.
09:53 svnbot6 r3572, Aankhen++ | * other minor tweaks.
09:53 Aankhen`` Or rather, Makefile and Makefile.*
09:54 Aankhen`` I'm getting this from `svn status`: ?      ext\Tree\Makefile
09:54 autrijus sure, feel free to svn:ignore them
09:55 Aankhen`` OK.
10:01 Aankhen`` Aww crud.
10:01 svnbot6 r3573, Aankhen++ | * added svn:ignore to ext/Tree
10:07 Aankhen`` Should I add all the P5 -> P6 regex translations to PORTING_HOWTO?
10:07 svnbot6 r3574, Aankhen++ | * fixed messed-up svn:ignore.
10:07 Aankhen`` Or should that only contain the bare minimum?
10:08 autrijus Aankhen``: please check it in :)
10:08 autrijus Aankhen``: I'm also thinking about porting/data porting/oo porting/rules
10:08 autrijus i.e. following quickref format
10:08 autrijus but it's just an idle though.
10:08 Aankhen`` Ah.
10:09 autrijus thought.
10:09 Aankhen`` Hrm, then PORTING_HOWTO could contain the bare minimum.
10:09 autrijus anyway, improvise! :)
10:09 autrijus dinner &
10:09 osfameron_ has joined #perl6
10:09 Aankhen`` A'right.
10:09 Aankhen`` Enjoy.
10:10 Shillo has joined #perl6
10:10 Shillo Hullo!
10:10 osfameron has quit IRC (Read error: 145 (Connection timed out))
10:20 Aankhen`` Hiya.
10:20 * scook0 is away
10:22 sbkhh has quit IRC (Read error: 104 (Connection reset by peer))
10:23 sbkhh has joined #perl6
10:23 iblechbot has joined #perl6
10:34 vcv- has joined #perl6
10:43 larsen has joined #perl6
10:43 svnbot6 r3575, Aankhen++ | * docs/other/PORTING_HOWTO: added reference for translating regexes.
10:44 Aankhen`` Wow... delayed reaction. o_O
10:49 Shillo Heh. :)
10:49 svnbot6 r3576, shillo++ | added more tests to gather.t (1 fails)
10:49 Shillo He likes me. ;)
10:49 Shillo (and this was more of a commitbit test)
10:50 Aankhen`` Bah.
10:50 Shillo Well, although I found out that sub take {} will permanently break gather/take pairs.
10:50 Aankhen`` Heh.
10:50 Shillo ... and gather/take should work lexically.
10:51 Aankhen`` And I shall BBL.
10:51 Shillo Laters. then. :)
10:55 elmex has joined #perl6
11:07 Southen[a] has quit IRC (Client Quit)
11:07 svnbot6 r3577, iblech++ | Usual svn properties.
11:07 svnbot6 r3578, iblech++ | PORTING_HOWTO → porting_howto (consistency)
11:16 vcv- has quit IRC (Read error: 145 (Connection timed out))
11:16 svnbot6 r3579, iblech++ | Prim.hs -- Changed in the definition of op0 "time" the VNum to a VRat so time()
11:16 svnbot6 r3579, iblech++ | is nicer formatted if one outputs it (1.69988707046647e8 vs. 169989018.147893).
11:16 svnbot6 r3579, iblech++ | putter++ for a floating time!
11:16 svnbot6 r3580, iblech++ | Algorithm-TokenBucket - unSKIPing a test which needed accurate time() -- thanks putter! :)
11:16 osfameron_ has quit IRC (Read error: 145 (Connection timed out))
11:26 pupilzeng has joined #perl6
11:32 meppl has joined #perl6
11:32 meppl guten morgen
11:33 iblech has joined #perl6
11:34 Shillo Hullo. :)
11:35 iblech Hi :)
11:35 vcv- has joined #perl6
11:36 sbkhh has quit IRC (Read error: 104 (Connection reset by peer))
11:36 sbkhh has joined #perl6
11:37 * theorbtwo is gack.
11:37 theorbtwo Er, back.
11:45 * Shillo found out why when junc(1, 2, 3) doesn't work.
11:45 Shillo Now to fix it...
11:46 * Shillo scratches his head and goes oooooom and ahhhhh...
11:51 G2 has quit IRC ("oops")
12:21 b00t has quit IRC (Remote closed the connection)
12:21 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
12:37 sbkhh has quit IRC (Read error: 104 (Connection reset by peer))
12:37 sbkhh has joined #perl6
12:44 * Shillo got it, eventually. :)
12:44 svnbot6 r3581, shillo++ | when any(...), when all(...), when one(...) bugs fixed
12:45 iblech Shillo++ :)
12:46 Shillo Well, wasn't particularily nice job. I just made when really dispatch to infix:~~ (and this calls juncApply at some point, as side-effect)
12:46 Shillo So op2Match doesn't know junctions yet.
12:46 Shillo The remaining hour was spent with type police. Still learning Haskell. :)
12:47 Aankhen`` Does `temp` work?
12:47 Odin-FOO has joined #perl6
12:47 Aankhen`` Nevermind, temp.t seems to say otherwise.
12:47 sbkhh has quit IRC (Read error: 104 (Connection reset by peer))
12:48 stevan autrijus: I will start the Changlog sometimes today (within the next 10 or so hours)
12:49 stevan off for breakfast now though :)
12:54 Aankhen`` Is there any easy way to force a test with a particular version of a module?
12:54 Aankhen`` Hrm.
12:54 Aankhen`` That's not quite right.
12:54 * Aankhen`` tries again.
12:54 * Aankhen`` realises it's a stupid question and goes back to work.
12:55 vcv- has joined #perl6
13:06 Aankhen`` Aren't there tests for module { ... }, use and import?
13:06 Juerd grep?
13:11 iblech IIRC no. And module {...} is IIRC not yet implemented (only module ...; is)
13:11 Aankhen`` Ah.
13:11 Aankhen`` grep seems to agree.
13:12 Aankhen`` How can I force the use of a module from a file residing in the current directory?
13:13 iblech use() searches in @*INC for the file to load, so a BEGIN { unshift @*INC, "." } should work
13:14 Aankhen`` Ah, the BEGIN { ... } is what I was missing.
13:15 Aankhen`` Hrm, that didn't work.
13:18 Aankhen`` D'oh!~
13:18 Aankhen`` Nevermind, it did work, thanks. :-)
13:19 iblech :)
13:35 svnbot6 r3582, iblech++ | * Made &::("infix:<+>") work. I put the code in Pugs.AST.Internals (lookupVar),
13:35 svnbot6 r3582, iblech++ |   hoping it's the correct location.
13:35 svnbot6 r3582, iblech++ | * unEVALed the therefore now succeeding test and added two more succeeding
13:35 svnbot6 r3582, iblech++ |   tests to operator_overloading.t.
13:35 svnbot6 r3582, iblech++ | * Added a comment to examples/obfu/random_operator_overloading.p6, explaining
13:35 svnbot6 r3582, iblech++ |   why my &::("infix:<$op>") won't work.
13:44 vcv- has quit IRC (Read error: 145 (Connection timed out))
13:46 iblech stevan: Hm... I think I'll try to implement the builtin fail(), but this will clash with Test.pm, so need to rename Test::fail. Suggestions?
13:49 broquaint has joined #perl6
13:49 svnbot6 r3583, Aankhen++ | * &HTML::Entities::decode_entities can now handle a list.
13:49 svnbot6 r3583, Aankhen++ | * &HTML::Entities::encode_entities modifies the original string too.
13:49 svnbot6 r3583, Aankhen++ | * HTML::Entities version bumped up to 0.2.
13:49 svnbot6 r3584, Aankhen++ | * updated tests for HTML::Entities: added test for decoding lists, added plan.
13:49 svnbot6 r3584, Aankhen++ | * all tests now pass.
13:50 Aankhen`` Maybe "all tests" was a bad choice of words, now that I come to think of it...
13:50 Aankhen`` iblech >> force_pass() and force_fail()?
13:51 vcv- has joined #perl6
13:54 iblech Aankhen``: Like those. They make clear that one is forcing the test result
13:54 Aankhen`` :-D
13:54 Odin-FOO is now known as Odin-
13:55 * Shillo waves. Laters!
13:55 Aankhen`` See you Shillo.
13:56 Shillo has quit IRC ("Leaving")
14:09 * integral ponders ripping retError out everywhere in favour of fail
14:10 iblech Hm... can I return a IVar VScalar without readIVar'ing it?
14:11 integral iblech: "return"?
14:11 integral you can certainly have a function of type: a -> IVar VScalar
14:12 iblech integral: Yeah, return is probably mis-chosen. I meant the Perl return value of a Prim
14:12 integral ah
14:12 * integral thinks not
14:13 iblech The problem is: I'm implementing fail(), and it needs to build a proxyScalar which will die() when it's actually used. Unfortunately, proxyScalar (...) (...) is a IVar VScalar, not a Val
14:13 iblech Maybe I can box it in some kind of reference?
14:13 integral you can return a VRef to an IVar
14:14 Aankhen`` Isn't fail() supposed to be used in rules?
14:14 iblech Aankhen``: Yeah, there too. fail() generally either dies() or returns an unthrown exception
14:14 iblech integral: How?
14:14 Aankhen`` Ah, okay.
14:14 integral iblech: VRef MkRef a
14:15 iblech compiles, thanks :)
14:15 integral Aankhen``: fail is in the Monad class, so should do something sensible in any monad
14:15 Aankhen`` Monad?
14:16 integral er, did you mean p6?
14:16 iblech Aankhen``: integral referred to the Haskell fail()
14:16 Aankhen`` OK.
14:16 Aankhen`` integral >> Yes. :-)
14:16 integral oops ;-)
14:16 Aankhen`` No sweat.
14:19 * Aankhen`` wonders how much upgrading from an AMD Athlon XP 2000+ with 512 MB of regular DDR333 RAM to a P4 3 GHz. w/ HT and 512 MB of dual channel RAM will speed up building Pugs.
14:21 Aankhen`` Ought to speed it up quite a bit, since P4s trounce Athlons in multi-tasking...
14:21 * Aankhen`` smiles.
14:22 theorbtwo It'll still be somewhat slow, but not horrible.
14:22 * theorbtwo has twice as much RAM, but it's not dual-channel.
14:23 Aankhen`` I have to choose between getting dual channel RAM and doubling my RAM.
14:23 Forth__ with P4 3GHz and 1GB dual-channel RAM, still can read pages of book while building
14:23 Aankhen`` And simply doubling my RAM would mean that I have to stick with DDR333.
14:24 Aankhen`` Forth__ >> I could read a full book in the time it takes Pugs to compile on my machine...
14:24 Aankhen`` A somewhat short book, but yeah. :-)
14:25 integral use unoptimized builds :-)
14:25 Aankhen`` Ahh, I decided to go with the regular build this time.
14:25 Aankhen`` I've got lots of stuff to read in the meantime, so I figured I'd let it take its time.
14:41 Aankhen`` Whoa.
14:41 Aankhen`` Failed 42/287 test scripts
14:41 iblech How many subtests?
14:41 Aankhen`` 246/5431.
14:41 Aankhen`` That seems like a more reasonable number. :-D
14:42 iblech Ok, yesterday or so we had 224/5347 -- 100 new tests, only 20 new fails, that's a good balance, I think :)
14:43 Aankhen`` Hehe.
14:44 integral We don't put the subtests failed in the topic any more?
14:44 * Aankhen`` wanders off to play GunBound.
14:44 Aankhen`` Hrm, I can't.
14:44 Aankhen`` Dang.
14:47 * Aankhen`` wanders off regardless.
15:03 mrborisguy has joined #perl6
15:19 amaurea has quit IRC (Remote closed the connection)
15:19 mrborisguy has quit IRC (Read error: 104 (Connection reset by peer))
15:19 vcv has joined #perl6
15:25 pupilzeng has quit IRC ("See you!")
15:26 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
15:27 Odin- has joined #perl6
15:31 nothingmuch has joined #perl6
15:35 scook0 #perl6 ».bye
15:35 scook0 has quit IRC ("BE VIGILANT")
15:41 iblech Hm... ok I think there's a problem. I've a IVar VScalar (created using proxyScalar) which will Haskell-fail when it's readIVar'ed. If I return a VRef . MkRef, readIVar will be called, resulting in a too early die(). It works though, if I return a VList containing this reference, because VLists are lazy, while a normal VRef is not.
15:42 iblech The problem is though, that then the Perl space will see an array, so my $x = fail "error_msg" and then $x + 3 *won't* die
15:42 iblech (But it should)
15:42 iblech Hm wait
15:43 iblech Ok, works :)
15:47 estel has joined #perl6
15:48 Southen has joined #perl6
15:59 * nothingmuch 's body is going to revolt soon
15:59 svnbot6 r3585, Stevan++ | Perl::MetaModel - adding a document describing the implementation of the Meta-model (the planned impl, not the current one really); I will work more on this later
16:02 nothingmuch for the record, the lazy { } idea was not really mine
16:02 eric256 has joined #perl6
16:02 eric256 take is flattening array-refs..
16:03 estel has quit IRC ("Konversation terminated!")
16:04 iblech eric256: Write a test? :)
16:04 eric256 i am. but i wanted to find the documentation of what it should do..looks like A12 has just a quick reference to it
16:04 svnbot6 r3586, iblech++ | Fix eval.t (precedence issue).
16:04 svnbot6 r3587, iblech++ | First sketch at a (Perl) fail() implementation.
16:04 svnbot6 r3587, iblech++ | Note: It's currently called fail_, to avoid the clash with Test::fail.
16:04 svnbot6 r3587, iblech++ | Note: fail() returns VList, as VList is the only lazy Val currently.
16:04 svnbot6 r3587, iblech++ |       If we return a strict Val, Haskell will die immediately.
16:04 svnbot6 r3587, iblech++ |       This needs some support from a more enlightened lamdafolk. :)
16:05 iblech Yeah... gather/take is a bit underspecced
16:05 nothingmuch perlbot karma iblech
16:05 perlbot Karma for iblech: 219
16:05 nothingmuch oh my
16:05 iblech But it surely shouldn't flatten arrayrefs, I think
16:05 iblech :)
16:06 eric256 i would think not.  should i start a new test file for it? or is there someone else better? googling the SVN repository found no mentions of gather/take but i don't trust it.. i realy need to get a grep on this machine
16:06 iblech t/statements/gather.t
16:06 iblech grep++ :)
16:06 autrijus iblech: lazy val is called vthunk... I think
16:07 iblech autrijus: oh? sec
16:07 autrijus (VRef . thunkRef $ MkThunk foo)
16:07 autrijus where foo is of type Eval Val
16:07 autrijus this will manufacture something that is evaluated in a delayed fashion
16:08 autrijus I'm intentionally making laziness explicit
16:08 autrijus because relying on haskell's builtin laziness will make constructs less portable when we want to translate to p6 or other languages
16:08 autrijus so VList may be made strict one day
16:08 autrijus or gone totally, too
16:09 iblech works! :))
16:10 autrijus :D
16:16 eric256 thanks iblech, test added
16:16 svnbot6 r3588, iblech++ | fail_ now returns a VThunk instead of a VList, autrijus++! :)
16:16 svnbot6 r3589, eric256++ | Take flattening array-ref bug test added.
16:16 eric256 is there any help i can be in improving errors when inside subs/classes?
16:18 zuulvin_ has quit IRC (Read error: 110 (Connection timed out))
16:19 iblech ...errors when inside subs/classes?
16:19 zuulvin_ has joined #perl6
16:19 larsen has quit IRC ("later")
16:20 eric256 the error messages when you have an error inside a sub.. they just say...or never mind. hmm i'll have to see if i can replicate it.  the last few days any syntax errors inside subs didn't return very helpful messages.
16:21 iblech Do you mean that the error messages always say that the "s" in "sub foo {...}" is evil?
16:22 ramzi has joined #perl6
16:22 iblech food &
16:22 eric256 that is the one. of course i can't get it to recreate it now. lol
16:23 nothingmuch shower &
16:27 eric256 did classes get broken?  wizarp.p6 that was working yestarday fails today ;(
16:28 eric256 gtg. later
16:28 eric256 has left
16:30 putter has joined #perl6
16:32 putter I have a project proposal I'd like to brainstorm.  Quickly bootstrapping p6 rules on pcre.  Anyone up for it?
16:32 Shachaf has joined #perl6
16:34 metaperl has quit IRC (Remote closed the connection)
16:35 Aankhen`` has quit IRC ("STUPID $#@!ING ZONEALARM HOW DARE YOU STOP ME FROM RESTARTING LATER? [Time wasted online: 7hrs 9mins 20secs]")
16:54 broquaint has quit IRC ("bai gin kao")
16:54 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
16:54 svnbot6 r3590, iblech++ | * Small cosmetical fix to fail_().
16:54 svnbot6 r3590, iblech++ | * For now, we set a magical var to a true value, because there's no fatal.pm yet.
17:03 vcv has quit IRC (Read error: 145 (Connection timed out))
17:04 mrborisguy has joined #perl6
17:19 Aankhen`` has joined #perl6
17:19 mrborisguy has quit IRC (Read error: 104 (Connection reset by peer))
17:29 putter with r3584, pugs> "{"
17:29 putter Internal error while running expression: *** Error: unexpected end of input expecting "\"", block, "\\", "\\q", "$!", "$/" or "$" at <interactive> line 1, column 4
17:30 putter I'm not sure if that's spec or not...
17:30 putter could be.
17:30 putter hmm.  ok, likely is.  nevermind
17:32 iblech Yeah, {...} interpolate in strings
17:32 iblech ...in double-quoted strings
17:35 * putter is still accidently writing p5 in p6 and p6 in p5...  tnx
17:39 Aankhen`` LOL.
17:42 knewt ok, since there are people here who know haskell... is it possible to filter a list using a function that returns IO Bool instead of Bool ?
17:42 svnbot6 r3591, putter++ | added length() to porting_howto
17:42 kelan whats in the list
17:43 kelan i mean how is the list typed
17:43 kelan oh i see what you're asking
17:43 kelan hmm
17:43 iblech Control.Monad.filterm?
17:43 iblech Control.Monad.filterM?
17:44 iblech Control.Monad.filterM :: (Monad m) => (a -> m Bool) -> [a] -> m [a]
17:44 knewt and i need a non IO lists as a result
17:44 knewt s/lists/list/
17:44 iblech That's not possible, I think, as IO is a one-way monad
17:44 iblech but you can do:
17:44 kelan so the list elements are IO and you want non-IO?
17:44 iblech result_list <- filterM (\_ -> return False) [1,2,3]
17:45 iblech then result_list if of type [a]
17:45 kelan maybe it would help if you told us what you want to do instead of how you want to do it:)
17:45 iblech but that only works inside a do expression
18:01 iblech Um... where is my, our, state, and temp parsed?
18:03 knewt back. sorry, had to disappear a moment. ok, I have a [String], where each String is a filename. I want to filter the list such that I end up with a new list that only contains filenames that don't exist
18:04 knewt doesFileExist will do the check, but i can't figure out how to do the filtering
18:05 iblech ok, then: do { filenames_which_exist = filterM doesFileExist list_of_filenames; ... }
18:05 knewt using filterM actually compiles, but assuming it's otherwise ok, how do i negate an IO Bool ? not doesn't work for that
18:06 iblech you can use (liftM not) to lift not in the IO monad
18:06 knewt i've been playing with haskell for less than 24 hours so far, so i'm still at the point of randomly trying things when i'm not sure *g*
18:06 iblech liftM not $ io_bool
18:06 iblech ;)
18:07 Tximis has joined #perl6
18:07 Tximis has left
18:13 justatheory has joined #perl6
18:14 Aankhen`` has quit IRC ("Restarting [Time wasted online: 54mins 13secs]")
18:14 iblech [where is my, our, state, and temp parsed] nevermind, found it
18:14 justatheory has quit IRC (Client Quit)
18:14 justatheory has joined #perl6
18:16 chady has joined #perl6
18:27 svnbot6 r3592, putter++ | Removed an unhelpful line from porting_howto (a line I authored long ago).
18:28 Aankhen`` has joined #perl6
18:29 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
18:30 Odin- has joined #perl6
18:32 Aankhen`` has quit IRC (Client Quit)
18:35 chady has quit IRC ("leaving")
18:35 vcv has joined #perl6
18:35 vcv- has joined #perl6
18:43 justatheory has quit IRC ()
18:43 svnbot6 r3593, putter++ | Added syntax/heredoc.t.  Heredocs do not appear to be implemented yet.
18:43 Aankhen`` has joined #perl6
18:43 HobNob has joined #perl6
18:52 nothingmuch putter: see also quoting.t
18:52 * nothingmuch goes out
18:53 nothingmuch crap, i thought i'd leave you with bugs internals beginings, but pastebot is not working (404)
18:53 nothingmuch s/bugs/pugs/
18:55 sproingie has joined #perl6
18:56 eric256 has joined #perl6
18:57 eric256 is there a way to run the tests in a way that just gives a list of the :todo<> tests ?
18:58 stevan eric256: not just a list, but if you use prove, it will tell you how many TODOs in each file
18:58 stevan grouped by the reason
19:01 putter nothingmuch: drat.  missed that.  tnx.
19:03 putter nothingmuch: use diffent pastebot?
19:03 svnbot6 r3594, autrijus++ | * add the remaining missing signatures for TH expressions.
19:03 svnbot6 r3595, eric256++ | added sanity check on calling uninherited methods
19:03 svnbot6 r3596, putter++ | Removed syntax/heredoc.t.  Heredoc tests are in operators/quoting.t.
19:03 svnbot6 r3597, autrijus++ | * fix method() parsing -- thanks eric256 for pointing it out
19:05 putter Could I get a reality check on the following concept:
19:05 vcv has quit IRC (Nick collision from services.)
19:05 vcv has joined #perl6
19:05 vcv has quit IRC (Nick collision from services.)
19:07 putter I am writing a p6 rules to pcre (aka rx:perl5) converter in p6.  Right now, p6 rule support is a bit minimal.  The parsing is done by PIR code in PGE, which is minimal, and is apparently intended to be thown away.
19:08 putter Extending the PIR parser... well, writing parsers in assembly language...
19:09 * eric256 beleives autrijus credits me with finding things accidentaly... i guess maybe that is my role in these things....finding bugs i don't even understand are bugs. ;)
19:10 theorbtwo Sometimes, the easiest way to have an open mind is to have an empty mind.
19:10 theorbtwo Er, please don't take that the wrong way...
19:10 putter With a p6->p5 converter, the parser could be written as p6 rules.  Some constructs which are difficult for the converter to handle would have to be avoided.
19:10 elmex_ has joined #perl6
19:11 elmex has quit IRC (Remote closed the connection)
19:11 integral it'd be better than Perl6::Rules, right?
19:11 autrijus anything is better :)
19:12 putter I considered just porting  Perl6::Rules...
19:12 eric256 no theorbtwo i agree completly. which is why i often ask what even i think are stupid questions in here ;)
19:13 integral with a p6->pir converter you can write the parser with p6 rules too ;-)
19:14 putter P6::R implements a rather old version of p6, so it would have to be updated as well as ported.
19:14 putter And it seems the same thing could be done more simply.
19:14 autrijus putter: porting the PGE parser to p6 would be wonderful.
19:14 autrijus the emitter/interpreter too, but pmichaud said that he would be delighted if somebody can start porting the parser to p6.
19:15 eric256 "No compatible subroutine found: "&infix:<="" .... i'm confused. what happened to <= ??
19:15 putter Ok.  Proceeding...  Thanks for the feedback.
19:15 autrijus eric256: hm?  4 <= 5 no longer works?
19:15 eric256 method dead ()  { $.life <= 0 }
19:16 eric256 gives that error.  
19:16 eric256 and in the pugs interactive mode it give the same error with 4 <= 4
19:16 autrijus ho hum!
19:16 * autrijus tries it
19:17 iblech Ah... /me knows why
19:17 autrijus iblech: /you will fix it then?
19:17 iblech course :)
19:17 iblech sec
19:17 autrijus iblech++
19:17 autrijus eric256++ # wizard-driven development
19:17 integral iblech++ # two haskell programmers, wow! :-)
19:17 iblech :)
19:17 eric256 do we need more tests for that?  i mean shouldn't that have trigger an alarm?
19:18 autrijus eric256: I'm sure it's tested... but I hadn't been looking at smokes in two days
19:18 integral autrijus: btw, is retError deprecated?  Should current uses of it be converted to fail?
19:18 autrijus integral: well, retError is actually fine now
19:19 autrijus I converted it to become
19:19 autrijus retError :: (Show a) => VStr -> a -> Eval b
19:19 Aankhen`` autrijus >> If the entire Perl 6 parser is implemented using PGE, wouldn't that be a tad slow?
19:19 autrijus retError str a = fail $ str ++ ": " ++ show a
19:19 integral ah, ok :-)
19:19 autrijus so it's a convenience method to fail with two parts
19:19 autrijus Aankhen``: not neccessarily...
19:19 autrijus Aankhen``: I mean there's room for optimisation
19:19 Aankhen`` OK.
19:19 Aankhen`` I'll take your word for it.  It was a rather vague question anyway.
19:20 autrijus PGE is supposed to do what p5regex does
19:20 integral if you've got a specific application, you can write your optimizer specifically for it...
19:20 autrijus so it needs to be optimised to at least on par with pcre
19:20 autrijus in the long run
19:20 Aankhen`` Yeh.
19:20 autrijus (where we're all cyborgs)
19:20 Aankhen`` Speaking of the long run, I had two questions:
19:20 Aankhen`` 1. Is Pugs going to stick around as one implementation of Perl 6?
19:21 Aankhen`` 2. Is MSYS always going to be required for linking Parrot into Pugs?
19:21 Aankhen`` I mean, is it going to change at any point so that Parrot can be linked using MSVC++?
19:22 iblech Fixed, committing...
19:22 autrijus so, 2. is the easy one
19:22 Aankhen`` Heh.
19:23 autrijus oh wait. you succeeded in using msys to link parrot?
19:23 Aankhen`` No, it's just what you had recommended...
19:23 autrijus the only reason MSYS is needed is that GHC's .msi was built with mingw.
19:23 Aankhen`` I can't get it to link using MSVC++.
19:23 autrijus so persumably you can just rebuild GHC with MSVC++
19:23 Aankhen`` And I keep putting off downloading and using MSYS.
19:23 Aankhen`` Wha?
19:23 Aankhen`` I can?
19:23 * Aankhen`` runs to his browser!
19:23 autrijus and the Pugs that compiled with it can probably link with MSVC++.
19:24 autrijus but! I havn't tried it
19:24 autrijus and I'm not sure if it even works.
19:24 Aankhen`` I'll try it!
19:24 autrijus cool
19:24 svnbot6 r3598, ninereasons++ | 01strings/01-00introduction.p6 : clean up the section on quote operators and interpolation
19:24 iblech eric256: Fixed as of r3599, try again? :)
19:25 autrijus grab http://haskell.org/ghc/dis​t/6.4/ghc-6.4-src.tar.bz2
19:25 eric256 i assume i'll need to recompile right?
19:25 sproingie AHA, is that why i can't embed parrot into pugs?
19:25 autrijus sproingie: right
19:25 autrijus sproingie: but you can use external parrot.exe just fine
19:25 sproingie could someone please hack the perl makefile to forbid parrot embedding under MSVC?
19:25 autrijus it will still run PGE via externall parrot.
19:25 iblech eric256: Yes
19:25 autrijus sproingie: please do it? in Makefile.PL put a check for $Config{cc}
19:26 Aankhen`` autrijus >> Was already on the download page. ;-)
19:26 sproingie will check.  un moment
19:26 autrijus sproingie: I'm not sure you're a committer though... if not, what's your email? I'll send an invitation for you to checkin
19:26 sproingie autrijus: [email@hidden.address]
19:27 autrijus invitation sent. welcome aboard!
19:27 sproingie woo!
19:27 autrijus be sure to forbid the user with a nice message saying external parrot will really work :)
19:27 sproingie external parrot?
19:27 autrijus (and not slower by much)
19:27 sproingie i'm not familiar with it
19:27 autrijus sproingie: as long as you have a parrot.exe in path
19:28 autrijus you don't need to embed parrot
19:28 Aankhen`` Okay, good, WinRAR supports BZ2 archives.
19:28 autrijus all eval_parrot and rules will still run.
19:28 sproingie whoah, really?  did not know that
19:28 autrijus yeah... I think I said that in Makefile.PL
19:28 sproingie that needs to be in the README.  guess i'll edit that too ;)
19:28 Aankhen`` sproingie >> You download a binary distribution of parrot, put it in a directory, add it to the PATH.
19:28 autrijus sure, go ahead :)
19:28 Aankhen`` Or if you enjoy inflicting pain on yourself, check out the source and build it for yourself.
19:28 autrijus while you're at it you can also refactor README to README.x86_64 and README_gcc4 and friends :)
19:28 sproingie oh there it is
19:28 autrijus but anyway, improvise
19:29 Aankhen`` I chose the latter.  I really don't like inflicting pain on myself though.  Really.
19:29 autrijus building parrot is 1)easy 2)fast though.
19:29 sproingie dunno what the issues are on x86_64 right now, i'm building it on windows ATM
19:29 Aankhen`` I wouldn't say it's fast...
19:29 sproingie parrot builds easy sheazy
19:29 autrijus sproingie: I was referring to the long README with multiple chunks that can stand a refactor out
19:29 Aankhen`` But yeah, I guess building Parrot is a lot less painful than most things.
19:29 sproingie fast on my machine ... 'course it's msvc on a athlon 64 3200+ 1G ram
19:29 svnbot6 r3599, iblech++ | Make 4 <= 4 work again. eric256++ for noticing the b0rk! :)
19:29 svnbot6 r3600, ninereasons++ | 01strings/01-00introduction.p6 : french quotes didn't remain unicode :(
19:30 wilx has quit IRC (Read error: 104 (Connection reset by peer))
19:30 sproingie so is PUGS_EMBED=perl5 worth it?
19:30 eric256 No compatible subroutine found: "&infix:<=>"
19:30 autrijus wizards.p6 runs again, yay
19:30 eric256 that is from running relational.t
19:30 autrijus sproingie: probably not -- it's very lightly tested and can't use XS modules
19:30 autrijus (for now)
19:30 autrijus iblech: oops, looks like <=> is borken
19:31 autrijus ah, dropBrackets ;)
19:31 iblech Exactly
19:31 autrijus infix:<=>  is ambiguous, eh?
19:31 iblech Yeah
19:31 autrijus just hard code for it for now :)
19:31 eric256 i love the (20..30).pick idiom for random number selection beatts int(rand(30-20) + 20)+1 . lol
19:31 iblech Ok
19:32 autrijus eric256: yes, that's very sick
19:32 autrijus I mean slick
19:32 autrijus pick(10..30)  # works too
19:32 sproingie should i have it die if it detects PUGS_EMBED=parrot and MSVC, or just have it print a nastygram and disable it?
19:32 autrijus sproingie: a nastygram.
19:32 autrijus <- not a fan for unneccesssary rerun
19:33 eric256 i wonder if that is not a good idea for big ranges though. i mean you don't realy want to build (1...10000) in memory just to pick a number
19:33 autrijus eric256: supposedly it can be made lazy
19:33 autrijus (but currently not)
19:34 * autrijus decides to throw three more proposals to Euro OSCON, bringing total to 5
19:34 justatheory has joined #perl6
19:34 Juerd http://poweredbyperl.stage.zsi.at/index.html
19:34 eric256 while you guys are talking about parrot...why do i get
19:34 eric256 *** Cannot parse PGE:
19:34 eric256 *** Error: end of file
19:34 Juerd autrijus: Can you add Pugs there?
19:34 eric256 when trying to use rules?
19:34 autrijus eric256: you have parrot in PATH?
19:34 putter autrijus: the other day you mentioned p6 type variables.  I hadn't previously encountered mention of them.  Leaving me wondering if you have a *hidden cache* of p6 type system specs. ;)
19:35 eric256 yep
19:35 iblech r3601, <=> working again
19:35 autrijus putter: I don't... all I have is larry's reply to my Fortress question
19:35 eric256 thanks iblech
19:35 autrijus $ ./pugs -e 'say 1 ~~ /1/'
19:35 autrijus 1
19:35 putter ok.
19:35 Corion has joined #perl6
19:35 autrijus eric256: do you get the error when running that?
19:36 eric256 yep
19:36 autrijus eric256: which parrot is this? 0.2.0-release?
19:36 autrijus putter: I'll freely admit I have my plain-as-day agenda of brining in a respectable typesystem into perl6
19:36 wilx has joined #perl6
19:36 eric256 0.2.0-devel (r8106)
19:36 autrijus even though most of them has to be carried at runtime ;)
19:36 japhy has joined #perl6
19:36 autrijus eric256: cd into src/pge
19:37 autrijus hi japhy
19:37 putter eric256: you can also try rules out directly on pge by doing   parrot demo.pir  .
19:37 japhy putter - you were talking about a parser for perl6 rules?
19:37 japhy hi autrijus
19:37 autrijus eric256: run this from src/pge:
19:37 autrijus $ parrot run_pge.pir japhy japh
19:37 autrijus PGE_Match 0 4 [] []
19:37 Corion Oh. The symbol table tests start working ;)
19:38 putter autrijus+=<big number>  # p6 with nice typesystem
19:38 eric256 the binary distro i found doesn't have a src directory
19:38 putter japhy: yes...
19:38 autrijus isn't it nice that the number of dedicated internal hackers just doubled :)
19:38 Khisanth "just"?
19:38 autrijus eric256: binary distro of pugs?
19:38 eric256 of parrot
19:38 japhy putter - I wrote Regex::Parser and have been meaning to make another version that handles Perl 6 grammars/rules/whatever they're called
19:39 eric256 sorry didn't realize you meant pugs
19:39 autrijus Khisanth: "just", as in since the past few days
19:39 * putter goes to look at Regex::Parser...
19:39 autrijus japhy: I wonder if you can write it in perl6 :)
19:39 autrijus (but it's fine to write in p5 and we port later)
19:39 japhy I could probably write Regex::Parser in Perl 6, and once that was done, write the new one in Perl 6
19:39 Juerd Hi japhy!
19:39 svnbot6 r3601, iblech++ | Made <=> work again.
19:40 autrijus japhy: woot. that will likely exercise many corner cases in pugs
19:40 japhy oops, Regexp::Parser I meant
19:40 eric256 there is no japhy or japh file.
19:40 Corion Hmmm. t/builtins/time.t now dies. I guess that has to do with the redoing of time() ...
19:40 japhy autri/eric - whatever japhy file you're looking for, it probably doesn't exist.  I haven't actually done any Perl 6 work yet.
19:40 autrijus eric256: those are args
19:40 eric256 excuse that. error is
19:40 eric256 error:imcc:No such file or directory
19:40 eric256 in file 'run_pge.pir' line 6
19:41 sproingie guess i'll have it scrub parrot out of PUGS_EMBED and print the nastygram
19:41 autrijus sproingie: cool
19:41 sproingie normally i'm not a fan of auto-munging environment variables, but that's the cleanest in this case
19:41 autrijus japhy: never mind that... that's just me using your name as a run_pge.pir test for eric256 to play with
19:41 autrijus eric256: no such file or directory? curiouser and curiouser
19:41 autrijus hm, your parrot doesn't have iglobals.pasm.
19:42 autrijus gah.
19:42 autrijus who made that bindist?
19:42 eric256 http://wiki.kn.vutbr.cz/mj/attach/parrot/binary/
19:42 autrijus eric256: ok, svn up and try again
19:42 eric256 i would happily use any other.
19:42 autrijus (no need to recompile)
19:43 sproingie here's a silly question.  what the hell happened to DELTREE in DOS?
19:43 * sproingie wonders how to get rm -rf without having to put cygwin or mingw in the path
19:43 knewt it never existed in NT iirc
19:43 sproingie bleah
19:43 autrijus it became rmdir /s/q
19:44 sproingie ah
19:44 knewt i always got annoyed about it myself
19:44 autrijus I hope you are not using it in our Makefile.PL
19:44 autrijus :)
19:44 sproingie i'm going to write a DELTREE.BAT and put it in my path
19:44 eric256 yea it works!
19:44 autrijus eric256: woot. thanks for the feedback
19:44 autrijus now try using rules
19:44 sproingie autrijus: warn "*** Use a real OS D00D!"; system "DELTREE C:\";  ... darn, won't work ;)
19:44 eric256 they work too. cool
19:44 svnbot6 r3602, autrijus++ | * add back iglobals.pasm
19:45 autrijus hmm
19:45 sproingie .oO( wouldn't compile like that either )
19:45 autrijus "Pugs 6.2.4, bundled with VMWare 5.0"
19:45 putter japhy: nifty.  my exerise is much simpler.  transliterating a p6 rx into a combination of pcre (aka rx:perl5, though some nice pcre extensions shine through) and p6 code.
19:45 putter Just enough so someone can do a real p6 rx parser using p6 rules.
19:46 * eric256 freaks when he realized he hasn't heard his daught make any noise for a while...
19:46 eric256 she fell asleep behind the couch. goofy girl
19:46 japhy putter - so you want something that takes Perl 6 regexes and turns them into the Perl 5 equivalent?
19:47 autrijus putter: that effectively means you need a p6rule parser.
19:47 autrijus so it's not at all simpler :)
19:47 autrijus (plus an emitter too)
19:47 japhy putter - for that, I'd write the extension to Regexp::Parser for parsing Perl 6 rules
19:47 japhy the way the extensions work is they change the grammar of "regex", and require you produce emitters that work in Perl 5
19:48 Juerd japhy: One problem with parsing Perl 6 rules is that you need to be able to parse Perl 6
19:48 autrijus hmm, so austrian perl workshop and french perl workshop's J*PH competition is an Obfu contest after all. I guess Obfu contest is sanee than Golfing contest
19:48 putter autrijus: not really.  you don't have to worry about distinguishing valid for invalid regexp, and
19:48 Juerd japhy: As arbitrary expressions become more important, and something like / { /foo/ } / dwym.
19:48 japhy juerd - can't you simply match braces?
19:49 autrijus japhy: you can -- it won't be 100% correct -- but to hell with it
19:49 Juerd japhy: Not without knowing which braces/quotes mean what.
19:49 autrijus i.e. I think it's good enough
19:49 japhy I mean, you'd think I'd have to know how to parse Perl 5 to write a Perl 5 regex parser...
19:49 japhy but I don't parse Perl 5.  when dealign with (?{ ... }) I use the same mechanism that 'perl' does -- brace counting
19:49 Juerd japhy: / [ @foo[ %bar{ "]" } ] ] / will be hard to parse.
19:49 metaperl has joined #perl6
19:49 svnbot6 r3603, Juerd++ | Fix quickref/namespace. Please use some kind of bullets when writing
19:49 svnbot6 r3603, Juerd++ | non-code-example non-table lists, *especially* when the list is hierarchical. I
19:49 svnbot6 r3603, Juerd++ | previously left-aligned this thing because I thought some strange editor was
19:49 svnbot6 r3603, Juerd++ | used messing things up. Single space indents really do not sufficiently make
19:49 svnbot6 r3603, Juerd++ | anything clear.
19:50 putter (sorry, distraction, where was I...)
19:50 Juerd japhy: Perl 5 first finds the ending, then parses the code inside
19:50 Juerd japhy: Perl 6 parses both in one pass
19:50 japhy juerd - yes, by brace matching.
19:50 japhy juerd -  well, isn't perl 6 special.
19:50 iblech autrijus: Is there a way to make newTVar/readTVar/writeTVar in Pugs.Parser work?
19:50 autrijus japhy: vars are never interpolated in p6rules :)
19:50 Juerd japhy: No, by actually using the Perl 6 grammar
19:51 autrijus iblech: sure!
19:51 japhy juerd - I meant Perl 5 used brace matching
19:51 Juerd japhy: Oh, yes, it does.
19:51 autrijus iblech: you can use unsafePerformSTM
19:51 autrijus iblech: but you can also do something I'd wished from time to time
19:51 putter ah, it looks to be a couple of pages of low density code.  thats for the parser.  as for
19:51 autrijus iblech: namely declaring RuleParser to be a MonadIO instance
19:51 autrijus iblech: and define liftIO there as unsafePerformIO
19:52 iblech autrijus: #2 is too hard for me yet
19:52 autrijus iblech: also if you want an entire expression, unsafeEvalExp too
19:52 Juerd japhy: But that technique is not equally suitable to Perl 6. I'm not saying it can't work in some cases, but it is something to look out for, and perhaps warn for in documentation.
19:52 autrijus (which is often saner)
19:52 autrijus iblech: sure
19:52 japhy well, I'll ignore the parsing-perl part, and start work on the Perl6 regex parser
19:52 autrijus japhy++ # getting something done
19:52 japhy the beauty of Regexp::Parser is the handlers are entirely arbitrary
19:52 autrijus japhy: PGE::P6Rule looks quite grokkable, if a bit verbose
19:53 putter the emitter... not sure.
19:53 autrijus so refer to it if you encounter ambiguities
19:53 japhy so, when I match something that means Perl code comes next, the handler can just call the Perl parser.
19:53 japhy where's PGE::P6Rule located?
19:53 autrijus good. then Pugs will have a  .parse_perl() method :)
19:54 autrijus japhy: a copy is in pugs tree, but the newest copy if always in parrot tree
19:54 * japhy is a n00b to this
19:54 autrijus here:
19:54 autrijus http://svn.perl.org/parrot/trunk/compilers/pge/
19:54 Aankhen`` autrijus >> Apparently GHC won't compile on Windows without MSYS either, so I'm just going to download that. >_>
19:54 autrijus and this:
19:54 autrijus http://svn.perl.org/parrot/trun​k/compilers/pge/PGE/P6Rule.pir
19:54 autrijus Aankhen``: wow. :-/
19:54 autrijus Aankhen``: sorry for costing you so much time
19:54 japhy gotchya
19:54 Aankhen`` Not your fault, dude.
19:55 sproingie autrijus: got the OSSF invite, registered as chuck
19:55 Aankhen`` I am only annoyed at GHC. :-P
19:55 japhy wait, so what is PGE::P6Rule?
19:55 japhy a perl6-rule parser written in parrot?
19:55 Aankhen`` Oh, there was one thing, autrijus...
19:55 japhy and you guys want one written in perl6?  is that what this is about?
19:55 autrijus sproingie: in my journal would you like to be known as chuch or sproingie?
19:55 autrijus japhy: yes!
19:55 japhy ah ha.
19:56 autrijus sproingie: also please commit to AUTHORS, adding yourself to it
19:56 autrijus s/chuch/chuck/
19:56 sproingie autrijus: chuck is fine.  sproingie is strictly irc (too many chucks wandering around IRC)
19:56 japhy forgive me for sounding naive, but why would a perl6 regex-parser be faster than a parrot regex parser?
19:56 Aankhen`` As far as I can tell upon inspecting the output from `nmake`, the *.lib files are being looked for in the current directory.
19:56 sproingie using my name would give me problems in #freebsd as well as #forth :)
19:56 putter the parrot parser is _very_ incomplete.
19:56 autrijus japhy: it won't. but for p6 to be self-hosting at the end, the parser part needs to not be in assembly
19:57 autrijus japhy: plus, I have this feeling that a p6-based parser will be easier to hack.
19:57 japhy yes, I agree to both of those.
19:57 japhy ok then.
19:57 autrijus japhy: finally, it will push optimisation for p6->* codegen
19:57 sproingie autrijus: do i need to re-checkout the pugs tree with a username or something?  i don't know svn that well
19:57 japhy I'll try to have something tangible by the week's end.
19:57 japhy or, after memorial day
19:57 autrijus oh and finally, it will make pugs not neccessarily depend on parrot. I'm not sure it's a good thing or not
19:57 japhy that's a better target.
19:57 autrijus sproingie: no, you can just check in with the same tree
19:57 autrijus japhy++
19:57 autrijus japhy++
19:57 japhy OW!
19:58 japhy power packs are freaking hot.
19:58 saorge_ has joined #perl6
19:58 japhy stupid electricity
19:58 autrijus japhy: your email? I need to make you a committer ere I forget
19:58 japhy [email@hidden.address]
19:58 japhy I need a laptop that runs on dreams and ambitions
19:58 japhy ok.  I'll be back later in the week, folks.
19:58 autrijus danke. if you ever start p6izing Regexp::Parser, http://svn.openfoundry.org/pugs/ under ext/Regexp-Parser/ is the place
19:58 autrijus japhy: cool, ciao!
19:58 japhy ok
19:58 saorge has quit IRC (Read error: 110 (Connection timed out))
19:59 autrijus invitation sent, too. welcome aboard!
19:59 japhy has left
19:59 * autrijus feels excited to have another clearly insane soul on board.
20:00 sproingie hm, hope i don't hose the pinyin names... notepad doesnt think the file is UTF8
20:00 putter do all the pugs targets use the parrot-based pge?  or are we going to need multiple emitters (near term)?
20:00 sproingie s/notepad/notepad++/
20:00 autrijus putter: we already emit haskell :)
20:00 autrijus putter: and the haskell tries to run external parrot at this moment.
20:00 sproingie doesn't like it in utf8 either actually
20:00 putter ah.  ok.
20:01 autrijus but a pure-p6 pge would be fun.
20:01 autrijus at least the parser+emitter part
20:01 autrijus then we can compile that to PIR
20:01 autrijus and finish the mini-bootstrapping for the rules part
20:01 putter understood.
20:05 autrijus oh wow. I found a way to trick PCRE into supportting (?{}).
20:05 svnbot6 r3604, corion++ | Promoted some symbol table tests that succeed
20:05 autrijus not sure if it's worth pursuing at this point though.
20:05 autrijus since we'll abandon it soonish
20:05 putter callbacks?
20:06 autrijus yeah
20:07 putter I was wondering how hard they would be.  But I thought I'd wait to see if they were really needed for the bootstrap.  Some uses of (?{}) can be faked...
20:07 sproingie what's (?{})?  balanced?
20:08 putter embedded code.
20:08 sproingie oh duh
20:08 sproingie neato
20:08 iblech autrijus: Ok. So I tried to make state $x = 42 work, and realized it'd probably be easier to implement FIRST{...} and then make that state $x; FIRST { $x = 42 }. So I created a new TVar (Maybe Val), TVar Nothing meaning the block hasn't been run yet and TVal (Just rv) meaning the block did ran and it's result was rv. Problem:
20:08 * sproingie has one app that requires PCRE and not perl because it uses variable-width backward asserts
20:09 iblech autrijus: Even after a writeTVar, if the block is executed again, the readTVar I'm using to get at the contents of the TVar (Maybe Val) continues to return Nothing...
20:09 iblech autrijus: Maybe that's because of unsafePerformSTM?
20:09 putter ruby's new regexp engine is also nice.  (name escapes me at the moment)
20:09 sproingie i wonder why perl still doesn't support variable backward asserts?  is PCRE's method that incompatible?
20:09 autrijus iblech: that may be so
20:10 autrijus iblech: I wonder why you need a new tvar for FIRST.
20:10 autrijus I mean state() is already supported
20:10 autrijus sproingie: because noone understands the rx engine
20:10 svnbot6 r3605, chuck++ | Added check for MSVC to disable parrot embedding.
20:10 svnbot6 r3606, chuck++ | Added Chuck Adams to AUTHORS
20:10 putter sproingie: and note that pcre has restrictions on its use.
20:10 autrijus although a certain demerphq seems to be getting up to speed
20:10 iblech autrijus: Not in its assignment form -- state $x = 42 will reset $x to 42 each time the statement is executed
20:10 Aankhen`` Would temp() be supported any time soon?
20:10 iblech iblech: I need a TVar to remember if I already run the block or not
20:11 sproingie putter: what kind of restrictions?  licenses?
20:12 iblech autrijus: And I need it to record the return value of the block
20:14 putter sproingie (?<=ab(c|de)) isnt permitted.  (from man pcrepattern)
20:14 putter oh, "its" meaning variable length lookbehinds.
20:14 autrijus iblech: so it indeed looks like the VCode want traits including FIRST
20:15 sproingie putter: mine are just straight branches.  negative, actually.  (?<!foo|bar|wibble|yaddayadda) etc
20:15 autrijus iblech: you grok the freshness hack I used for my(), right?
20:15 Aankhen`` MSYS is messed up.
20:15 sproingie domain names actually
20:15 Aankhen`` I give up.
20:15 iblech autrijus: file:line?
20:15 Aankhen`` I'll just use the external Parrot.
20:16 autrijus iblech: 314 eval
20:16 autrijus iblech: I wonder if you can do the same for SState.
20:17 autrijus iblech: namely, on
20:17 autrijus Pad SState lex exp
20:17 autrijus check if the next exp is an assignment form
20:17 autrijus if yes, and we are not fresh
20:17 autrijus skip that
20:17 autrijus it's a horrible hack!
20:17 autrijus (but would probably work)
20:17 autrijus of course the "assignment form" here is a specialised one.
20:17 Aankhen`` Oh... ought I add my name to AUTHORS?
20:17 autrijus Aankhen``: sure
20:17 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
20:17 Aankhen`` OK.
20:18 autrijus iblech: more properly, probably maintain a lexical @?FIRST for each vcode
20:18 autrijus iblech: by using a Syn to push into them
20:18 autrijus much like what gather/take does
20:18 autrijus and it needs to be evalExp'ed during parser
20:18 autrijus there are other possibilities
20:19 autrijus you can see that I didn't think about this too through :)
20:20 iblech autrijus: I think the @?FIRST thing looks good, I'll try it...
20:21 Odin- has joined #perl6
20:27 eric256 for some reason it seems hard to drum up much interest in pugs on perlmonks.
20:27 svnbot6 r3607, Aankhen++ | * added meself to AUTHORS.
20:28 eric256 autrijus: the links to the newsgroup in your journal seem broken
20:30 vcv-- has joined #perl6
20:30 putter ah, here's the ruby regexp engine http://www.geocities.jp/kosako3/oniguruma/
20:30 putter a few interesting things.
20:31 xerox has joined #perl6
20:31 putter charset intersections for instance.
20:31 xerox Just a question
20:31 xerox Where is Exp defined in pugs sourcecode?
20:31 xerox I can't find it :)
20:32 wilx AST.hs?
20:32 svnbot6 r3608, ninereasons++ | correct a few spelling problems in 01-00introduction.p6
20:33 iblech xerox: src/Pugs/AST/Internals.hs, 751
20:33 integral ST.Interals
20:33 integral s/.*// ;-)
20:34 xerox What is the "!" ?
20:35 integral it makes that field strict, and the compiler can then unbox it
20:35 xerox Do you know what is the part involving AGDT?
20:36 integral GADT?
20:36 theorbtwo xerox, do "make haddock", then look at file:///usr/src/pugs/docs/haddock/doc-index-E.html
20:37 theorbtwo I'd give you the URL to nothingmuch's copy, but the kwiki is down.
20:37 integral http://www.pugscode.org/haddock/ I think
20:38 xerox I can't "make haddock" now, in windows
20:39 xerox integral, yes GADT
20:40 integral look for IVar, that uses GADT
20:40 elmex_ has quit IRC (Read error: 110 (Connection timed out))
20:41 xerox Thanks
20:42 xerox Where is it defined?
20:42 putter eric256: re perlmonks, perhaps when classes are in and stabalized.  turn-key binary distributions would help, apparently especially on windows.  more accessible documentation.  what else?
20:43 decay_ has quit IRC (Read error: 104 (Connection reset by peer))
20:43 integral xerox: search for data.*IVar in Pugs.AST.Internals
20:43 putter giving a realistic picture of what works and what doesn't.  after n-years of parrot saying "foo works!" when it really doesn't has left me at least with a bit of "parrot burnout".
20:44 autrijus yeah. anyone want to champion a win32 dist for parrot+pugs? :)
20:44 autrijus I asked the PxPerl guy a bit but hadn't heard back
20:44 theorbtwo Documentation is I think a big one.
20:45 putter anyone actually have parrot+pugs working on win32...? ;)
20:46 putter maybe that's the problem  <tongue planted firmly in cheek>
20:46 autrijus heh, external parrot works ;)
20:47 theorbtwo Autrijus, we had an idea the other day -- if pugs could be convinced to have a command-line option to output a file with a dump of the Syn tree, complete with positions, it could power perfect syntax hilighter... which could possibly link to docs on the operators as they occour, and how they occour.
20:47 putter ;)
20:47 autrijus theorbtwo: -CPugs does that
20:47 autrijus look at dump.ast
20:49 theorbtwo Looks reasonably parsable.  Thanks!
20:49 autrijus :)
20:49 autrijus it's just a haskell expression.
20:49 autrijus you can parse it with normal Language.Haskell.Syntax.
20:50 putter oh, re perlmonks, and a todo, if someone wanted to make interactive pugs take multi-line input, that would be very nice.
20:50 theorbtwo I could, but I think I'd prefer to parse it with p5 or p6.
20:51 putter folks currently cant cut, paste, and try multi-line examples.
20:52 theorbtwo Not with the interactive one, anyway.
20:52 theorbtwo They can always cut-and-paste into a file.
20:52 theorbtwo Or hit the "download code" link on perlmonks.
20:52 putter the phrase "barrier to entry" comes to mind.
20:54 sproingie hm.  or could do something like perl does if you dont pass it any flags.  just reads from stdin
20:54 sproingie pugs --batch?
20:54 * putter looks forward to html and emacs with nice colorization and metainfo.
20:55 Juerd autrijus: pugs: cannot cast from VStr "|" to Pugs.AST.Internals.VCode
20:55 Juerd autrijus: When doing gather { ... }.join('|')
20:56 Juerd autrijus: Is my syntax incorrect, needing parens, perhaps, or is this a Pugs bug that needs a test?
20:56 autrijus Juerd: prec
20:56 Juerd I guessed that much :)
20:57 autrijus pugs> gather({ take 3 }).join('|')
20:57 autrijus '3'
20:57 autrijus or even
20:57 autrijus pugs> { take 3 }.gather.join('|')
20:57 autrijus '3'
20:57 autrijus nice eh?
20:57 Juerd Yes, but it's not really an answer to my question :)
20:57 Juerd I'm aware of the workarounds
20:57 Juerd But I thought this was valid syntax...
20:57 putter sproingie: maybe... python has one built in.  ruby has a separate program irb.
20:57 Juerd (And would dwimeant)
20:57 autrijus Juerd: I thought gather is a simple sub.
20:58 putter multi-line repl I mean.
20:58 autrijus a simple sub without parens always yield the argument to resolve first.
20:58 autrijus that's what you taught me anyway :)
20:58 Juerd You're right
20:58 Juerd Blurry mind moment
20:58 sproingie python's interactive mode is a stunning example of how not to make an interpreter behave
20:59 sproingie in fact most copy and paste examples fail to work in interactive
20:59 Juerd Just its interactive mode, you sure?
20:59 sproingie perl actually has an interactive mode with the debugger
20:59 sproingie Juerd: no, just one of many
21:00 Juerd Which has almost nothing to do with Perl and just evals expressions :)
21:00 putter yes.  its a pain.  I'm dredging my mind trying to come up with an example of one done wizzily...
21:00 Juerd Interactive interpreters should IMO be avoided at all cost.
21:01 Juerd For simple tries, you have -e, and for everything else, the interpreter should just work with normal streams, and not special case terminals.
21:01 Aankhen`` G'night.
21:01 Aankhen`` has quit IRC ("Quote: "Computer science is impossible," he says. "But I didn't really go to class, so part of it might be my fault, sort of."")
21:01 * Juerd occasionally dislikes pugs because of this, and then uses cat|pugs
21:01 putter Juerd: nice repls have a history of making it easy for n00bs to learn... and now the entire p5 community is newbies.
21:01 Juerd And cat|anything should imo never be necessary.
21:02 sproingie considering pugs is named after another interactive interpreter, it might be good to enhance those abilities :)
21:02 putter 'night
21:02 Juerd putter: -e makes it just as easy, for perl 5 newbies.
21:02 Juerd That is: Perl 6 newbies coming from Perl 5
21:02 Juerd They are already used to that method of trying syntax.
21:02 Juerd Or, should be.
21:03 stevan autrijus: I am seeing a very weird bug which I am having trouble reproducing in isolation
21:03 stevan can you take a moment and see if you know what it is
21:04 putter Juerd: err, just so no. ;)  at least for me.
21:04 Juerd No comment.
21:05 autrijus stevan: sure
21:05 autrijus Juerd: you have pugs -
21:05 autrijus "pugs -" that is
21:06 stevan autrijus: ok I am commiting the code now, it's in Perl::MetaModel
21:07 stevan try this: pugs -I ext/Perl-MetaModel/lib/ ext/Perl-MetaModel/t/00*.t
21:07 stevan that should work
21:07 stevan oh wait
21:07 stevan darn wrong file commited,.. one second
21:07 stevan :P
21:07 putter the lisp folks love repls, the smalltalk folks browsers, the scripting folks files.  the smalltalk folks hate files, the lisp folks...
21:07 elmex has joined #perl6
21:07 autrijus heh
21:08 putter sigh.
21:08 autrijus the lisp folks hate browsers, and scripting folk hates repls.
21:08 kelan autrijus: is darcs read-only for pugs development?
21:08 autrijus kelan: darcs is broken-onl
21:08 autrijus only
21:08 kelan heh
21:08 lumi has quit IRC (Remote closed the connection)
21:08 stevan autrijus: ok, r3610, try this  pugs -I ext/Perl-MetaModel/lib/ ext/Perl-MetaModel/t/00*.t
21:08 stevan and it should break
21:09 autrijus the machine went down... if someone can do a svn->darcs replay mirror I'd be grateful
21:09 lumi has joined #perl6
21:10 kelan but even then, darcs would be read-only?
21:10 svnbot6 r3609, Stevan++ | Perl::MetaModel - refactoring the model;
21:10 svnbot6 r3610, Stevan++ | Perl::MetaModel - refactoring the model;
21:10 autrijus kelan: there can conceivably be a way to do rw
21:10 kelan like send the patches to you!
21:10 kelan :)
21:10 autrijus kelan: heh, sure, "darc send" targets p6c
21:11 autrijus in the old darcs mirror
21:11 kelan maybe i should just learn svn
21:11 autrijus well, in svk I borrowed lots of darcs UI too :)
21:11 theorbtwo SVN is easy.
21:11 autrijus like "svk push", "svk pull", "svk patch".
21:12 eric256 svn is realy easy
21:12 autrijus and "svk cp http://svn.openfoundry.org/pugs" is like "darcs get".
21:12 kelan svk get?
21:12 autrijus but svn is a bit easier :)
21:12 kelan ah
21:12 stevan autrijus: as best I can tell, the error happens with nested "use"-ing of classes is more than one level deep, because it does not seem to happen at one level
21:12 autrijus "svk cp" creates local workspace
21:12 autrijus where commits are local and has to be pushed back
21:12 autrijus "svk co" will  create a workspace where you commit straight back.
21:13 kelan is svk decent? not too unstable?
21:13 integral it's 1.000 :-)
21:13 autrijus kelan: it's 1.0 :)
21:13 kelan oh, woo
21:13 clkao *yawn*
21:13 autrijus so both "decent" and "not too unstable"
21:13 kelan heh
21:13 autrijus and we have the author here ;)
21:13 kelan guess thats a bonus
21:14 clkao see the major advantage of svk:
21:14 eric256 does anyone else see value in editing Test.pm to allow us to run *ONLY* todo tests?  i mean all tests would obviously be run, but report on the status pass/fail of todo tests.  would make it easier to see if bugs etc had been fixed. thoughts?
21:14 clkao http://brautaset.org/
21:14 stevan eric256: thats a job for Test::Harness
21:14 stevan and it already (sort of) does it
21:14 autrijus eric256: I'd rather to make the matrix consume the extra todo info
21:15 autrijus to display it in diff shades of dark green
21:15 autrijus I really want that :)
21:15 autrijus (or dark $other_number)
21:16 eric256 i have no knowledge of matrix or Test::Harness but i will go look and see what i can learn ;)
21:16 autrijus clkao: lol, cow orker conversion?
21:16 clkao ya
21:16 stevan eric256: our local Test::Harness (inc/) alredy does this
21:16 kelan hah, i like the last point in favor of svk on that page
21:17 autrijus but HTMLMatrix doesn't yet consume it
21:17 stevan ask nothingmuch about the HTMLMatrix
21:17 kelan clkao: but is it true??
21:17 kelan ;{
21:17 kelan er ;)
21:17 stevan eric256: all it is if the TODO reason, which should be readily accessible
21:17 autrijus or better, send patch to nothingmuch :)
21:17 clkao kelan: mind that he is comparing me with tomlord. so i can shamelessly say yes, i'm quite sure.
21:18 kelan heh
21:18 autrijus clkao: he is also on the uppercase camp!
21:18 clkao bwahaha
21:18 * autrijus rallies for the uppercase camp
21:18 clkao autrijus: what's new and exicting today?
21:18 kelan are (m)any others using svk for pugs development?
21:18 lumi has quit IRC (Remote closed the connection)
21:18 autrijus kelan: http://svk.elixus.org/?ProjectsUsingSVK
21:19 autrijus probably similar in size vs darcs, to the zeroth approximation
21:19 clkao $ ab -clkao- [~] svk pg svk:merge work/pugs/|wc
21:19 clkao      18      18     933
21:19 lumi has joined #perl6
21:19 stevan autrijus: any thoughts on that error?
21:19 clkao and some (like me) will do direct commit with svk rather than local branch for now
21:19 autrijus stevan: yes, the "is ::" syn is not yet parsed.
21:19 autrijus stevan: will fix it now
21:20 clkao i might implement Benchmark(::Accurate) tomorrow
21:20 autrijus clkao: actually me too
21:20 autrijus the ci -P feature is too good
21:20 kelan clkao: any advantage to either method?
21:20 autrijus so I no longer need local branch
21:20 clkao why odyou need to ci -P ?
21:20 stevan autrijus: odd, because it works in P::MM::Class::Behavior the first time
21:20 autrijus clkao: because my co is mirror
21:20 autrijus clkao: and I don't bother to local branch.
21:20 clkao oh. not for pugs
21:20 autrijus (and I sometimes have no net)
21:20 autrijus indeed for pugs.
21:20 stevan but then fails in P::M::MetaClass (2 levels deep)
21:21 clkao oh ok. but then you have to svk aptch --apply.. sometimes more annoying han svk push
21:21 autrijus clkao: actually... I just use patch < ;)
21:21 autrijus (and only fallback to svk patch --apply when there's conflict, which is not much)
21:21 clkao func (arg, ..) is quite annoying with can't find the form &fun
21:22 clkao can the error tbe more verbose for bastards like me who used to have space there?
21:22 clkao ie, "do you have an extra space?"
21:22 autrijus maybe you really meant that :)
21:22 clkao i mean when it fails.
21:22 autrijus oh.
21:23 clkao i spend some time doing vdiff for my test.pl and something in t/
21:23 clkao can't figure out what's happening until i remember the hate of meaningful whitespace
21:23 autrijus ok ok fixing
21:23 clkao autrijus++
21:24 autrijus do you need it for
21:24 autrijus $obj.method (1,2)
21:24 autrijus too?
21:24 clkao i guess so.
21:24 autrijus oh wait, that's a synerror
21:24 autrijus you get what you deserve :)
21:24 autrijus so just normal form then
21:24 * clkao giggles
21:25 Forth__ has quit IRC (Read error: 110 (Connection timed out))
21:27 autrijus done
21:27 autrijus testing
21:28 autrijus so it only warns when it would actually have matched something :)
21:28 autrijus clever, eh?
21:30 clkao ya :p
21:31 autrijus $ ./pugs -e 'say index(123, 1)'
21:31 autrijus 0
21:31 autrijus $ ./pugs -e 'say index(123, 1, 5, 6)'
21:31 autrijus *** Error: No compatible subroutine found: "&index" at -e line 1, column 5-24
21:31 autrijus $ ./pugs -e 'say index (123, 1, 5, 6)'
21:31 autrijus *** Error: No compatible subroutine found: "&index" at -e line 1, column 5-25
21:31 autrijus $ ./pugs -e 'say index (123, 1)'
21:31 autrijus *** Error: 05:21 < clkao> ie, "do you have an extra space?": "&index" at -e line 1, column 5-19
21:31 clkao "mind the gap"
21:31 autrijus happy?
21:31 kelan hah
21:31 clkao damnit i'm so british
21:32 G2 has joined #perl6
21:33 ninereasons has joined #perl6
21:33 * autrijus thinks clkao missed the joke. oh well :)
21:33 saorge_ has quit IRC ("Leaving")
21:34 clkao i didn't :p but i think mind the gap is funnier
21:34 autrijus r3611. now returning to stevan's bug..
21:35 q[acme] ;-)
21:35 clkao hmm acme is not out partying today
21:35 * autrijus thinks having column numbers in error messages is an improvement
21:36 autrijus may be of use for a certain Perl 6 ebugger in the future
21:36 clkao orz
21:38 autrijus clkao: so I'll submit 5 talks to euro oscon... are you submitting any and/or coming to euroscon?
21:38 svnbot6 r3611, autrijus++ | * gap-minding for failed function lookup due to trailing space, suggested by clkao.
21:38 svnbot6 r3611, autrijus++ |     $ ./pugs -e 'say index (123, 1)'
21:38 svnbot6 r3611, autrijus++ |     *** Error: Extra space found after &index (...) -- did you mean &index(...) instead? at -e line 1, column 5-19
21:38 clkao autrijus: i guess i will. why the hell do you have 5 talks to submit
21:38 clkao some overlapped talk/tutorial ?
21:38 clkao when is the submission closing?
21:38 autrijus tomorrow
21:38 clkao ARSE!
21:38 autrijus two tutorials:
21:38 autrijus - Perl and Internationalisation
21:38 autrijus - Perl 6 in the Real World
21:38 autrijus three talks:
21:38 autrijus - Learning Haskell
21:38 autrijus - Introduction to Pugs
21:38 autrijus - Web Continuations: Now and the Future
21:39 autrijus not much overlapping really.
21:39 clkao cool.
21:39 clkao droppying by london afterwads?
21:40 autrijus or before. both are possible
21:40 theorbtwo I'd be pretty impressed if you were giving two talks at the same time, autrijus.
21:40 clkao cool.
21:40 clkao coro autrijus { }
21:40 autrijus theorbtwo: actually ingy tried that last year
21:40 autrijus not very succeddful
21:40 autrijus clkao: no, that needs to be async{}
21:40 theorbtwo I should think not.
21:41 Corion I assume one would need two mouths to give two talks ...
21:41 autrijus Corion: nono... just need one cospeaker at each.
21:41 autrijus that's the trick
21:41 Corion autrijus: Yeah - meta-mouth
21:41 autrijus it's not meta, it's merely delegation to proxy
21:44 iblech has $.cospeaker handles <say_something> :)
21:44 autrijus right :)
21:45 autrijus yay, yet another refactoring done in parsec
21:45 clkao oh you haven't implemented the overload in class method
21:45 autrijus stevan: your bug eas caused by class{} and class; parsed differently
21:46 autrijus clkao: because it turns out that our treatment of invocants is all wrong.
21:46 autrijus clkao: there can be multi level of such invocants
21:46 autrijus and still nobody answered my "foo(1: 2: 3: 4:) ?" thread.
21:46 clkao argh.
21:46 autrijus and there's zero sentence of spec about this.
21:46 autrijus so I'm not terribly happy :)
21:46 stevan autrijus: so is it fixable?
21:47 autrijus stevan: sure, committing
21:47 stevan :)
21:47 ninereasons has quit IRC ("mow the lawn")
21:48 * theorbtwo wonders why we don't have any smiley-face operators yet.
21:48 theorbtwo :( if $foo->no_good;
21:49 theorbtwo OK, I do know why -- they all conflict with something else.
21:49 autrijus ☺ if ☻ ;
21:53 autrijus stevan: I fixed the parsing
21:53 svnbot6 r3612, autrijus++ | * unify parsing for `class Foo {}` and `class Foo;` -- the latter
21:53 svnbot6 r3612, autrijus++ |   form was without `is Bar` handling.
21:54 stevan autrijus++ thank you thank you :)
21:54 autrijus but somehow it still fails for me... I'm recompiling again, but it'd be nice if you can reduce it a bit
21:54 stevan autrijus: I will try
21:54 autrijus you thank me too soon :)
21:57 stevan autrijus: I am just not sure where the issue is coming from
21:57 stevan I suspect it might have something to do with the nested use
21:58 stevan I will do some basic tests and see what happens
21:59 autrijus I think it's nested use.
22:00 * autrijus finds pugs becoming faster to compile recently
22:00 autrijus must be all the refactoring into small modules :) refactoring++
22:00 autrijus oh wait, I compiled again
22:00 autrijus and reinstalled things
22:00 autrijus all works now
22:00 stevan autrijus++ # see I always have faith in you
22:00 autrijus :D
22:01 stevan I will finish my test case none the less :)
22:01 autrijus sure :)
22:02 autrijus I wonder if, instead of creating a new package data type, I should reuse the hash
22:03 autrijus and maybe put second-level namespace like Foo::Bar:: as part of the Foo:: hash
22:03 autrijus then I realised that is exactly what perl 5 does ;)
22:03 autrijus I'm evidently brainwashed.
22:04 Corion r3611 - http://datenzoo.de/pugs/win2k.html
22:04 stevan autrijus: it is the nested use, I managed to isolate it
22:04 autrijus cook
22:04 autrijus cool
22:04 stevan will commit the test soon
22:04 autrijus Corion: "Kopie von system"?
22:05 autrijus was ist das? :)
22:05 Corion autrijus: Ooops :) My local tests that I'm working on :)
22:05 Corion "Copy of system"
22:05 autrijus sure, I can read that :)
22:05 autrijus only 85 failures!
22:06 autrijus actually more like 70
22:06 autrijus and only 40 or so are regressions
22:06 autrijus not bad at all.
22:07 autrijus it's nice how the tests forces the internal into constructive refactoring
22:07 autrijus in order to stay sane and not regress
22:07 autrijus I guess that is the whole point... but it's the first time I'm seeing it in real action :)
22:09 theorbtwo Well, p5 uses a hash of globs.  p6 should use a hash of refs to items, with the keys including sigils.  (And twigils for the things with twigils that are in a package...)
22:09 autrijus yup.
22:09 eric256 for sub paramterers  we have as rw .... will we eventualy get things like as copy and as ref? or does rw modify the actualy value passed?
22:09 autrijus that's the idea
22:10 autrijus eric256: we have is copy
22:10 sproingie twigils?
22:10 eric256 never mind then. lol
22:10 theorbtwo The = in $=POD.
22:10 autrijus I don't know how exactly "is ref" and "is rw" differ... oh, ref doesn't vivify. strange
22:10 eric256 i saw code do sub name ($x) { my $copy = $x; }
22:10 autrijus I'd consider doing it when there's 1)demand 2)test
22:10 autrijus eric256: chances are it's written before `is copy`
22:11 eric256 cool. thanks
22:11 autrijus sproingie: twigil = "secondary sigil"
22:11 autrijus ingy: pugs.kwiki.org still broken
22:11 * theorbtwo wonders how secondary sigil got shortened to twigil.
22:11 autrijus pugscode.org <Overview Journal Logs | pugs.kwiki.org down
22:11 autrijus er.
22:11 autrijus changes topic to: pugscode.org <Overview Journal Logs | pugs.kwiki.org down
22:11 theorbtwo Oh.  t comes after s.
22:12 theorbtwo changes topic to: pugscode.org <Overview Journal Logs> | pugs.kwiki.org down
22:12 autrijus theorbtwo: no. "sigil" is like "singular sigil"
22:12 autrijus "sigil" "twigil" "thrigil" "quarigil"
22:13 theorbtwo Ah.
22:13 knewt yaaay. got my haskell code all working. probably horrifically bad haskell, but it works :)
22:13 autrijus or "quagil"
22:13 autrijus knewt: nice! what does it do?
22:13 theorbtwo That's really sick, but it works.
22:13 sproingie trigil
22:13 autrijus trigil, yeah.
22:14 sproingie pengil?
22:14 autrijus so sigil-less dialects have "nugil"
22:14 knewt autrijus: some new bit of small functionality for darcs
22:14 autrijus knewt: cool!
22:14 nothingmuch evening
22:14 autrijus greetings nothingmuch-san
22:14 theorbtwo G'evening, Yuval.
22:14 nothingmuch salutations autrijus-san
22:14 sproingie i need to relearn haskell.  i need something to do in haskell
22:14 nothingmuch hello James.
22:15 sproingie i suppose pugs would be a good project.  little brain-bending i suppose
22:15 nothingmuch sproingie: whatever you're going to do next in language X that isn't time critical
22:15 * stevan read theorbtwo's greeting as "G'evening Ya'all"
22:15 autrijus actually I'd argue that if it's time critical, you may learn better
22:15 autrijus <- learned haskell that way
22:15 nothingmuch hah
22:16 sproingie its just all those damn monads.  i get the idea of them, then someone goes and does something with 'em that makes me think i didn't know anything after all
22:16 knewt autrijus: let's you continue a darcs get. eg, if a previous one died part-way through, or you want to get the latest repo using get rather than pull, but you don't want to bother downloading patches you already have
22:16 theorbtwo Telling paying clients you can do something tends to provide a reason to get it done, yes.
22:16 autrijus knewt: oh wow nice!
22:17 sproingie point-free programming lets you do some serious FP golf
22:17 autrijus sproingie: well, containerish monads and actionish monads are indeed very different.
22:17 knewt autrijus: i only looked at haskell for the first time last night
22:17 nothingmuch knewt: what's the different between that and pull -a? the way patches are merged?
22:17 autrijus knewt: !
22:17 nothingmuch knewt++ # fast learner
22:17 autrijus sproingie: right. ]`(($:@:((}.<:{.)#}.)),{.,​($:@:((}.>{.)#}.)))@.(*@#) is a golfer's dream
22:17 knewt (this channel)++ # helping me out where i did get stuck at one point
22:17 autrijus ( quicksort from http://en.wikipedia.org/wi​ki/J_programming_language )
22:18 sproingie it's just every time i start thinking about haskell ... well, all my apps have lots of state
22:18 theorbtwo .oO(And people say perl is write-only!)
22:18 autrijus if some people think perl is line noise, just point them to J
22:18 nothingmuch oh my
22:18 sproingie now keeping one piece of state in a state monad is no problem.  but let's say one was coding a mud
22:19 autrijus sproingie: my fav monad is ReaderT IO :)
22:19 sproingie lots of state all over.  i can't figure out how to juggle it all in haskell
22:19 radical has joined #perl6
22:19 autrijus sproingie: that lets you program in a pseudo-imperative mannter.
22:19 autrijus sproingie: see my entry on haskell wiki about that
22:19 sproingie autrijus: what's the url for the haskell wiki?
22:19 autrijus # http://haskell.org/hawiki/StateMonad
22:20 autrijus under "Using ReaderT in place of StateT IO"
22:20 autrijus I learned all my haskell on the wiki (and a bit from #haskell)
22:20 radical has left
22:20 sproingie huh.  wow, that is rather imperative
22:21 knewt i've been heavily using the haskell tutorial, "A Gentle Introduction to Haskell"
22:21 sproingie knewt: i never found that tutorial particularly gentle
22:21 autrijus sproingie: and in my newbiehood, I went ahead and defined all sort of imperative constructs
22:21 knewt sproingie: i may not have done any haskell before, but i /have/ used functional languages in the past
22:22 autrijus infixl 5 $$ $= += %?  %: @= %= %%=
22:22 autrijus that does array, hash, etc manipulation like I used to
22:22 sproingie i guess were i to do something as stateful as a mud, i'd just have a bunch of maps in that Vars section?
22:22 autrijus sproingie: each entry in Vars is a "lexical variable"
22:23 autrijus sproingie: so you can have some Map that represents hash
22:23 autrijus (Map String String) is a good start
22:23 autrijus and some arrays [String]
22:23 autrijus and some simple vars
22:23 autrijus you can always read and write to them, and even enter a new lexical scope with "local".
22:23 autrijus the only thing you can't do is a "return()" to end prematurely from a block.
22:24 sproingie ahh i see the difference ... modifyIORef is the stateful magic, eh?
22:24 autrijus yes
22:24 autrijus if you want that, you want to layer on ContT as well. then you have the Pugs's Eval monad. presto :)
22:24 * sproingie ponders, a haskell mud
22:25 autrijus so the main code in Eval, Prim and Types are all in Eval monad
22:25 sproingie bottom hits!  bottom hits!  bottom hits! bottom hits!  bottom hits!  .........
22:25 sproingie and an infinite number of hits later, you die...
22:25 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
22:25 autrijus so you can say pugs internals have this "imperative flavour"
22:25 Odin- has joined #perl6
22:25 autrijus (which is quite unlike how "normal" interpreters are done in haskell"
22:26 theorbtwo (multipragatisim)++
22:26 sproingie i wonder how hugs and ghci do it
22:26 autrijus sproingie: ghci compiles the code to .o, load it, run it.
22:26 autrijus but it still "interprets" the bytecode object file
22:27 sproingie ah
22:27 autrijus I don't know how it does that though. probably by calling into the RTS in C
22:27 sproingie hugs i guess does something similar?
22:27 autrijus hugs is all implemented in C
22:27 autrijus :)
22:27 sproingie ah
22:28 Corion has quit IRC ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]")
22:28 dvtoo autrijus: I think you have to have native code generation support for ghci
22:28 sproingie >>> ... Autrijus gets commit priveledges for Parrot. The general consensus was that he was too productive in Haskell and we needed to hobble him with a real mans language like C.
22:29 autrijus sproingie: where "general consensus" represents strictly the summariser's alone
22:29 dvtoo shelling out to gcc would be kind of slow
22:29 autrijus dvtoo: right, so it does it in bytecode
22:29 autrijus dvtoo: but it is still compiled
22:29 autrijus it's just the emitter doesn't really shell out to gcc
22:29 dvtoo nod
22:29 autrijus ghc can emit bytecode, assembly, or C--
22:29 autrijus only the latter is passed to gcc
22:30 theorbtwo gcc does C--?
22:30 autrijus theorbtwo: yeah, since 6.4
22:30 sproingie ghc that is
22:30 autrijus that was one of the highlights of 6.4
22:30 autrijus GCC doesn't
22:30 autrijus C-- can be trivially turned to C.
22:30 sproingie when are they gonna have it emit llvm?
22:30 autrijus sproingie: I thought GHC emits SSA now?
22:30 autrijus so you can feed the SSA to LLVM
22:30 autrijus what is the point though :)
22:30 sproingie didn't know that
22:31 autrijus er, I mean, GCC emits SSA now.
22:31 autrijus as of GCC4
22:31 sproingie yes but it can only be processed by gcc
22:31 autrijus ahh.
22:31 sproingie RMS deliberately keeps gcc from being modular
22:31 autrijus so that's why llvm can pass to gcc but not vice versa
22:31 autrijus really. tell me more! url? links? interviews?
22:31 sproingie he doesn't want proprietary compilers able to use any part of it
22:31 autrijus <- going to interview RMS next week
22:31 sproingie ask gcc developers
22:32 sproingie they're pissed off at him
22:32 autrijus but but it's already GPL
22:32 autrijus isn't GPL enough?
22:32 sproingie apparently not for RMS
22:32 autrijus that's wacko. got any url or googlable words?
22:34 sproingie well the SSA stuff i don't know what his politics are.  commonly held that he held back documentation of RTL for similar reasons tho
22:34 sproingie lemme see what there is on that
22:35 autrijus held back documentation is even more wacko.
22:36 sproingie http://gcc.gnu.org/ml/gcc/2000-01/msg00572.html
22:36 autrijus hm, 5 years ago?
22:36 sproingie he hasnt changed
22:36 sproingie this is RMS we're talking about
22:36 eric256 has left
22:37 autrijus ah. looks actually kind of reasonable
22:37 autrijus he's not prohibiting things, just asking people to weight the benefits
22:37 putter odd question: I would like to quote chuncks of text (source code).  one would normally use a heredoc.  what is the most... heredoc-like... quoting construct which currently works.  level 0 or 1 (non-interpolating).  Thanks!
22:38 iblech YAY! I think I've implemented FIRST {...} :))
22:38 iblech putter: say "abc
22:38 iblech def
22:38 iblech ghi"
22:38 putter :)
22:38 autrijus iblech: wow. color me impressed
22:38 sproingie no, he's vetoing it.  "Because of this, the GNU Project will in all probability not install such changes, should they be available.  This statement reflects a firm conclusion based on a decade of thought."
22:39 iblech :)
22:39 autrijus sproingie: but gcc3 iirc was born because people forked and ignored him :)
22:39 sproingie the SSA thing could take it out of his hands tho
22:39 autrijus (and was only later renamed to gcc3)
22:39 dvtoo and I thought RMS had a lot less to do with it now because of that?
22:39 sproingie RTL was the weapon before -- hardly anyone understood it, and it was the glue between gcc's front and backends
22:40 autrijus well, software wants to be free, is all I can say :)
22:40 autrijus (i.e. free from control, too)
22:40 sproingie i dunno, still might use RTL tho
22:42 putter any thoughts at all?  else it's groveling over the smoke for quoting.t for me...
22:42 sproingie i kind of like using tcc.  i sometimes write scripts in C using #!/usr/local/bin/tcc at the tip
22:42 sproingie top
22:42 putter libtcc++
22:43 sproingie i just wish there was a tcc for windows.  there was a project to port it, but it kind of fizzled out
22:44 autrijus putter: I think implementing heredoc is the best bet.
22:44 putter yeah.  that's why I have an unfinished Inline::C::libtcc ;)
22:44 sproingie apparently it goes source -> GENERIC -> SSA -> RTL -> machine
22:46 autrijus I was looking at SSA<->ANF yesterday. ANF looks far more elegant than SSA
22:46 putter autrijus: eeep.  rule bootstrap first, *then* heredoc...
22:46 sproingie what's ANF?
22:46 autrijus putter: why? what does rules have to do with heredoc
22:46 sproingie BTW, anyone have any recommendations for introduction to compiler design?
22:46 knewt ok, sent my couple of patches off to darcs-devel :)
22:46 autrijus sproingie: http://www.jantar.org/papers/ssa-lambda/
22:47 sproingie i tried the dragon book, but found it practically unreadable.  seriously the typeface alone gives me headaches
22:47 autrijus sproingie: TaPL and ATTaPL
22:47 sproingie autrijus: expansion of these acronyms?
22:47 autrijus knewt++ # I'm looking forward to your Pugs/src/ patches
22:48 autrijus Types and Programming Languages                         - Benjamin C. Pierce
22:48 autrijus Advanced Topics in Types and Programming Languages      - Benjamin C. Pierce
22:49 cognominal sproingie: it takes time to make headwy in all this functional/type stuff
22:49 putter I'm working on rules now.  Heredoc or some nice quote op would only simplify some metaprogramming.  But I can live with ' '.  So heredoc later, no?
22:49 cognominal I know that I have some progress because some stuff that was indicepherable to me is become readable
22:50 cognominal I have a long way to go though
22:50 sproingie cognominal: most texts on types assume i have graduate level education in category theory
22:50 G2 has quit IRC ("oops")
22:51 knewt autrijus: heh. i knew i should have stayed away from haskell. yet another language to get stuck in my brain now. but the continue feature will be very useful for my darcs->svk mirror code *g*
22:51 autrijus ooooh!
22:51 autrijus knewt++
22:51 autrijus knewt++
22:51 autrijus knewt++
22:51 cognominal in the jungle of papers, I have found authors I can read: Simon Peyton Jones, Wadler...
22:51 autrijus I want that code :D
22:51 clkao i thought you can use tailor alrady
22:52 autrijus cognominal: I think SPJ can write/co-author papers faster than I can read them
22:52 autrijus he is truly a machine.
22:52 cognominal Also, I like "Qualified type" from Mark P. Jones available as a book.
22:53 cognominal I have a long way to go.
22:53 knewt doesn't do what i want unfortunately. so i'm still going to work on my mirror code. got a couple of new ideas on how i'm going to do the processing after playing with darcs a bit more
22:53 autrijus clkao: so, svk support for tailor?
22:53 cognominal Initially I had a lot of trouble with the functional vocabulary, than even parsing  their rules
22:54 sproingie wadler is pretty readable, yah
22:54 xerox #haskell people is dead, I'll ask here, it's not completely OT, I think.  Why if I do "type Id a = a; data IntM m = IntM (m Int)", then :type 2 :: IntM Id does give this error: "Type synonym `Id' should have 1 argument, but has been given 0" ?
22:54 clkao autrijus: no.
22:55 cognominal Didier Remy is good too like the other ocaml folks
22:56 nothingmuch does ingy know that pugs.kwiki.org is kaput?
22:58 autrijus xerox: synonym can't be used in head form.
22:58 autrijus xerox: its args needs to be fully specified.
22:59 autrijus think of it like C macros.
22:59 xerox autrijus, why?
22:59 autrijus why? because the spec says so :)
22:59 autrijus I wasn't around, I don't know why it's specced like this
22:59 autrijus you can usually use a newtype.
22:59 autrijus newtype Id a = MkId a
22:59 autrijus or something like that.
23:01 justatheory has quit IRC ()
23:02 xerox I'd like to do it as (->) with Arrow
23:02 xerox I mean, you can do "arr (+2) $ 2" ==> 4
23:02 autrijus I'm completely clueless on Arrows
23:02 autrijus :)
23:02 xerox It transparently works
23:03 sproingie what the heck is an arrow anyway?
23:03 xerox hmpf..
23:03 autrijus I mean, I know what an arrow is and how it relates to category theory
23:03 autrijus but I had not used it in real life
23:03 autrijus sproingie: http://haskell.org/arrows/
23:03 sproingie autrijus: yah i've read that.  i'm just as mystified now
23:04 svnbot6 r3613, iblech++ | Added type signatures to the compile_test()s of config_h.pl.
23:04 svnbot6 r3614, iblech++ | EOLs at EOFs and usual svn properties.
23:04 svnbot6 r3615, iblech++ | * FIRST {...} and my $x = FIRST {...} support. :)
23:04 svnbot6 r3615, iblech++ | * And a test for it (t/statements/first.t).
23:04 * autrijus eagerly looks at iblech's implementation
23:05 sproingie taking inputs of one type and producing outputs of another type sounds a lot like a plain ol function, except that the type changes
23:05 autrijus iblech: neat! very neat!
23:05 sproingie or if it's actually mapping types, then a functor
23:05 autrijus iblech: only drawback is that it will run twice if the first run yields undef.
23:05 xerox Anyway, thanks for the answers.
23:05 iblech :)
23:05 iblech autrijus: Yeah, I'll propably add a second state var to it tomorrow or so
23:06 autrijus iblech: but you++
23:06 sproingie partly due to ambiguous language.  "input of one type".  is that an input that has that type or is that input a type?
23:06 autrijus this is wonderful
23:07 sproingie i love the language like "(specifically: a weakly symmetric lax monoidal functor)"
23:07 sproingie that sounds like a chronic condition my doctor would tell me i have
23:08 iblech :D
23:08 cognominal prognosis => bad
23:08 autrijus sproingie: nah, it's only pre-monoidal structure
23:09 sproingie oh so i can get it removed
23:09 autrijus you can still lift it out of its natural transformation, using Kleisli operations
23:09 autrijus yeah
23:10 sproingie "you have a weakly symmetric lax monoidol functor.  but don't worry, we can lift it out with a Kleisli operation"
23:10 sproingie i wish they accompanied the arrows page with real-world uses
23:11 autrijus isn't "generalized abstract nonsense" fun?
23:12 autrijus sproingie: arrows are used in FRP
23:12 nothingmuch autrijus: want to correct initial acrosyphilis 02?
23:12 autrijus in particular yampa.
23:12 autrijus http://haskell.org/yampa/
23:12 autrijus nothingmuch: sure!
23:12 pasteling "nothingmuch" at 212.143.91.217 pasted "Pugs Apocryphon 2 - Overview of Pugs Internals" (194 lines, 7K) at http://sial.org/pbot/10311
23:13 autrijus 194 lines!
23:13 autrijus please check it in. please :)
23:13 autrijus docs/02Internals   or something
23:13 nothingmuch going to sleep in 5 mins anyway
23:13 nothingmuch yep
23:13 nothingmuch i'll just run aspell
23:15 sproingie ooh FRP.  i remember frantk
23:15 cognominal nothingmuch, thx you. I really need the A2 to grok pugs
23:15 cognominal nothingmuch:++
23:15 sproingie i always thought frantk was the best gui design
23:17 nothingmuch yuck! cockroach!
23:18 simcop2387 has joined #perl6
23:18 nothingmuch eek! it got into my bag!
23:19 eric256 has joined #perl6
23:20 eric256 can anyone think of a good infix operator to signify a random range....i thought of between, and in, but those dont work infix.
23:20 eric256 say 1 to 5;
23:20 * nothingmuch changed it's state of matter
23:20 autrijus .?.
23:20 autrijus say 1.?.5
23:20 eric256 hmmm not bad. i like that.  
23:20 nothingmuch should be trivial too
23:21 eric256 done. cool
23:21 nothingmuch sub &infix:<.?.> ($to, $from){ any($from .. $to).pick };
23:21 eric256 i'm gonna end up with my own library of these things. ;)
23:21 autrijus say 1 ⁇ 5;
23:22 eric256 multi sub infix:<<.?.>> ($low,$high) {int ( rand ($high - $low) + $low ) + 1; };
23:22 eric256 that way there is no memory issue with 1 .?. 10000
23:23 nothingmuch blah blah blah
23:23 nothingmuch FP heads don't concern themselves with memory
23:23 nothingmuch ;-)
23:23 eric256 lol ;)  autrijus what forieng language is that and how do i convice trillian to show those correctly?
23:24 sproingie FP folks know there's no such thing as a list, just the elements out of the list you need right now
23:24 autrijus eric256: I don't know, it's utf8
23:24 autrijus FP folks know the value of everything and the cost of nothing
23:24 nothingmuch sub &infix:<+> ($n, 0) { $n }; sub &infix:<+> ($n, $m) { inc($n) + dec($m) };
23:24 * sproingie hasnt found a windows irc client yet that doesnt suck
23:24 autrijus the cost of Nothing is, of course, the cost of Maybe.
23:24 autrijus irssi doesn't suck!
23:25 autrijus esp. when running on xorg on cygwin32
23:26 eric256 how do you type those things on a keyboard anyway? or do you have second keyboard with those symbols on them. lol. /me pictures a computer setup with like 6 keyboards ;)
23:27 autrijus eric256: no, I just look them up from Unicodedata.txt
23:27 autrijus UnicodeData.txt, rather
23:27 sproingie i want something where i can hit a key, start typing the description of the character, and have that narrow down a list of the characters
23:28 sproingie hm.  i could probably write such a beast come to think of it
23:28 theorbtwo http://www-950.ibm.com/software​/globalization/icu/demo/unicode is quite useful, though the UI sucks.
23:28 theorbtwo Later!
23:29 autrijus nothingmuch: how's aspell?
23:29 autrijus how's aspell going, that is
23:29 nothingmuch soon... i'm annotating the reduction of C<for>
23:30 nothingmuch actually screw aspell, it's not installed
23:30 knewt ah, ⁇ == U+2047
23:30 justatheory has joined #perl6
23:33 * iblech turns into aspell and says to nothingmuch: At the top somewhere you wrote "perl 6" in lowercase and the filenames were not F<..>'ed
23:34 svnbot6 r3616, eric256++ | Added random element in range overload as .?.
23:34 eric256 what do stars in the paramter list mean?
23:34 nothingmuch iblech: should F<> be in a heading?
23:34 iblech nothingmuch: IIRC F<> should be everywhere where there's a filename, no matter if it's in the heading or not
23:34 autrijus eric256: it means they are slurpy -- i.e. it will consume multiple arguments, or part of an argument array
23:35 autrijus eric256: sub foo (*@_) { say @_[0] }; foo(1,2,3);   # 1
23:35 autrijus sub foo (@_) { say @_[0] }; foo(1,2,3);   # error - 1 is not arra
23:35 autrijus array
23:35 autrijus eric256: the * denotes a perl5ish behaviour.
23:35 autrijus where all arguments are slurped together
23:36 eric256 cool
23:36 eric256 so quicksort ( *$x, *@xs ) { means $x is the head, and anything else goes in @xs....any reason $x is slurpy there?
23:36 autrijus because if it is not, then you can't say
23:36 autrijus quicksort(@a)
23:36 autrijus because $x will bind to @a
23:36 autrijus *$x means it binds to @a[0]
23:37 justatheory has quit IRC ()
23:37 eric256 ahhh. cool
23:38 larsen has joined #perl6
23:42 eric256 \
23:43 eric256 opps. lol. sub test (@a) {@a.say}; (1..6).test; works.  is that expected or a bug?  i thought i would have to extend the Array class or something
23:43 autrijus that is not a bug :)
23:44 AtnNn isnt [|](1,2) supposed to be (1|2)?
23:44 clkao pugs -Cparrot doesn't seem to work?
23:44 autrijus you will discover that perl 6's object invocation is even more magical than perl 5's
23:44 autrijus clkao: capitalisation
23:44 autrijus clkao: fix for that welcome
23:45 autrijus look at Main.hs or Run.hs and allow the lowercase form
23:45 autrijus AtnNn: yes. bug. test please
23:45 clkao but lots of builtins aren't translated?
23:45 autrijus clkao: yes, that's what I'm going to Leo's place for.
23:46 autrijus to unify the interpreter core with compiler core
23:46 autrijus so all interpreted contructs are compilable
23:46 clkao *nod*
23:46 clkao and that's happening in 2 weeks?
23:46 autrijus needs heavy help from the parrot side.
23:46 autrijus something like that, yes.
23:46 knewt ah, i need to get round to booking the flight to vienna. and posting to the apw list and begging for crash space
23:47 autrijus and I need to apply for visa ;)
23:47 clkao eval_parrot works?
23:47 clkao visa--
23:47 autrijus clkao: sure does
23:47 eric256 why would you ever *want* [|](1..5) when you could do any(1..5) or (1..5).any .... realy i am curious.  is there some other reason than it aught to work (which it should)
23:47 AtnNn to play golf?
23:47 clkao i am pondering about a module to produce parrot nci registration
23:48 svnbot6 r3617, nothingmuch++ | Initial version of the Pugs Apocryphon 02 - internals.
23:48 svnbot6 r3617, nothingmuch++ | Covers simple parse/eval workflow, and starts the details of Exp reduction.
23:48 nothingmuch okay, comitted
23:48 autrijus any  is 3char, [|] also 3
23:48 autrijus clkao: that'd be cool. seen chromatic's p5nci?
23:48 clkao ya
23:48 justatheory has joined #perl6
23:48 autrijus nothingmuch++
23:48 autrijus nothingmuch++
23:48 autrijus nothingmuch++
23:48 clkao but i'm not completely sure how things in parrot gets natively used in pugs yet
23:49 nothingmuch i hope this doesn't sound very assholy, but I'd appreciate it if no major changes are made till I'm done with a first draft, I have a pretty clear idea of how I want this. Corrections and small additions welcome, ofcourse.
23:49 autrijus clkao: the short answer is it doesnt.
23:49 autrijus yet.
23:49 clkao crap
23:49 autrijus clkao: it will, however, in 2 week's time.
23:49 autrijus so please be patient and watch the blinkenlights.
23:49 nothingmuch anybody got any initial comments?
23:49 clkao we need to do that with the meta class and meta subroutine ?
23:50 autrijus that what eh?
23:50 autrijus nothingmuch: I prefer
23:50 autrijus Pugs's
23:50 autrijus to
23:50 autrijus Pugs'
23:50 clkao tying alien (or native) functions
23:50 eric256 comments on what nothingmuch?
23:50 autrijus otherwise I read "Pugs prime"
23:50 autrijus eric256: docs/02Internals.pod
23:50 nothingmuch heh
23:50 autrijus clkao: oh. no. in -CParrot mode they are just prims.
23:51 nothingmuch there, more karma for me =)
23:51 autrijus clkao: in haskell space it may also be just AUTOMETH or friends.
23:51 clkao how do you define/override subroutine/method in runtime in perl6?
23:51 autrijus clkao: you use the store_global opcode.
23:51 clkao i guess no more crack like *foo::bar = sub { }
23:51 autrijus Globs Are Dead.
23:52 clkao s/guess/am glad/
23:52 autrijus then it's at least grateful dead
23:53 svnbot6 r3618, nothingmuch++ | Pugs' -> Pugs's
23:53 svnbot6 r3619, iblech++ | Usual svn properties and very minor PODification (http://.../ ->
23:53 svnbot6 r3619, iblech++ | L<http://.../>) done to nothingmuch++'s 02Internals.pod.
23:53 svnbot6 r3620, iblech++ | * state $x = 42 works! :)
23:53 svnbot6 r3620, iblech++ | * Fixed t/var/state.t ([1,2,3] -> ((1,2,3)).
23:54 putter good night folks.
23:54 putter has quit IRC ("dinner &")
23:55 * theorbtwo is back.
23:55 autrijus iblech: amazing
23:55 iblech That one was easy, now that there's FIRST :)
23:55 autrijus and you said it was easy :)
23:55 autrijus I finally know the feeling of how other people perceive my internals work :)
23:55 iblech :)
23:56 autrijus looks correct.
23:56 autrijus iblech++
23:56 autrijus iblech++
23:57 iblech ok, gonna sleep &
23:57 iblech (this day)++
23:57 iblech has quit IRC ("sleep &")
23:58 knewt oh hell. i haven't mirrored for a while it seems. back on r3231

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo