Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-03-01

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 ingy you can embed other formats in Kwid
00:00 buu_ I see.
00:01 buu_ I'm going to break your kneecaps if you don't start putting documentation in a single directory
00:01 buu_ Oh. I see.
00:02 buu_ You have .verbatim and .list
00:03 ingy and .comment
00:03 buu_ Right
00:03 buu_ .anything
00:04 ingy hmmm
00:04 ingy .list is really special though...
00:04 buu_ What is up with just using .list to indent text paragraphs?
00:04 buu_ That doesn't sound good
00:04 ingy where?
00:05 buu_ ".list"
00:05 buu_ starts a region specifically for the generation of a list
00:05 buu_ or for indenting (groups of) normal paragraphs
00:06 buu_ markup defining presentation --
00:08 buu_ Add .Formatted to your example so I understand it =/
00:11 ingy .list should only be used for lists
00:11 buu_ Well fix the documentation
00:11 ingy .indent could be used for general indenting
00:11 ingy ?
00:11 buu_ perlkwid.kwid
00:11 buu_ I was quoting from it.
00:12 buu_ "or for indenting.."
00:13 buu_ Beyond that the bytecode looks pretty simple.
00:15 buu_ Why does * Check out http://perl.org.
00:15 buu_ Generate
00:15 buu_ =Check out
00:15 buu_    >h
00:15 buu_    -http://perl.org
00:15 buu_    -http://perl.org
00:15 buu_    <h
00:15 buu_    =.
00:15 buu_ Specifically, the two urls
00:16 ingy the hyper link is a (text, url) tuple
00:17 buu_ It is?
00:17 buu_ Oh. Hyperlinks get automatically turned in to that.
00:17 buu_ Ok
00:18 ingy http://foo.org is short for [http://foo.org|http://foo.org]
00:18 buu_ I see.
00:18 buu_ Ok, I think I'm good.
00:18 ingy the Kwid link is a (text, resource, section) tuple
00:19 buu_ Yeah I got that one.
00:19 ingy [That Thing] is short for [That Thing|/That Thing]
00:20 buu_ I see.
00:20 buu_ Is that supposed to be a relative link inside the document?
00:20 ingy but [thing] is short for [thing|thing/]
00:20 buu_ !
00:21 ingy it's an optimization!!!
00:21 buu_ hahah
00:21 buu_ Yeah, but .. .. yeah
00:21 buu_ Is that based off capitals or spaces?
00:21 ingy spaces
00:21 buu_ ah
00:22 ingy [perlre] vs [Formatting Codes]
00:22 buu_ I'm still unconvinced of the usefulness, but I think I understnad it.
00:22 ingy it's what makes sense
00:22 buu_ Yeah
00:22 ingy to link to an internal section called Codes: [/Codes]
00:23 buu_ Right
00:23 buu_ And that is the same as [Codes|/Codes] ?
00:23 ingy yep
00:23 buu_ L33t.
00:24 ingy \/3ry
00:24 buu_ heh
00:24 ingy I don't get into that detail in perlkwid
00:24 ingy that would be in perlkwidspec
00:25 buu_ Oh great.
00:25 buu_ More complications
00:25 ingy which I have no time to write
00:25 ingy i don't think perlkwidspec.kwid is warranted
00:25 ingy the tests will be the spec for now
00:25 buu_ Sure it's not, I'll just ask you every time I have a question
00:26 ingy well, umm...
00:26 * ingy hides
00:26 buu_ ahah
00:26 ingy perlkwid fixed
00:27 buu_ Hurray.
00:32 Limbic_Region has quit IRC ("leafChat IRC client: http://www.leafdigital.com/Software/leafChat/")
00:45 buu_ has quit IRC ("leaving")
00:46 svpa has joined #perl6
00:46 svpa I got only 1 question, but its probably a very frequent one asked in here; after all reading i still don't know if its worth learning perl 5 when perl 6 is coming, I mean, will it be easy to adjust to perl 6 when you know perl 5?
00:49 svpa has left
00:51 crysflame well
00:51 crysflame he left already
00:51 svpa has joined #perl6
00:51 crysflame hi
00:51 crysflame your question should be in the FAQ
00:51 crysflame never seen it asked before
00:52 svpa well, I just ordered 'Learning Perl' and 'Programming Perl' from o'reilly
00:52 svpa hope it wasnt a bad decission
00:52 crysflame lots of perl5 people are having a hard time adjusting to perl6, but compared to the hell that C programmers will have to go through, perl5 people will have a much better *chance*
00:53 crysflame after learning javascript i have a much better *chance* at learning java
00:53 crysflame it'll still be hell
00:53 svpa is there really such a difference?
00:53 crysflame but at least i understand a bit of the precursor knowledge and strict typing and so forth
00:53 crysflame perl6 is a syntax rewrite from scratch
00:53 crysflame it happens to resemble perl5
00:53 svpa heeh :|
00:53 crysflame but it's written with perl5 in mind
00:53 crysflame have you read any perl6 code?
00:54 svpa no, but this is my first experience with real programming language (I know PHP thats it :)
00:54 crysflame damian conway wrote a series of Exegesis articles, that show perl6 code and go through it line by line, explaining it.
00:54 ingy hi crysflame
00:54 crysflame similar articles by randal schwartz for perl5 exist as well
00:54 svpa so, its gonna be just a syntax adept, or a code structured adept to perl 6?
00:54 crysflame as a perl person, they're much closer in syntax to each other than they are to any language not named perl
00:54 crysflame well
00:55 crysflame i dunno
00:55 svpa cause some say perl 6 is still far away....
00:55 crysflame you can write things in perl6 that are (Damn Near) Impossible in perl5
00:55 ingy svpa: honestly, it will be a good while before you can get a job writing perl6
00:55 crysflame perl6 is still far away, for some purposes
00:55 crysflame for the purpose of running short, useful scripts, it seems to be semifunctional already
00:55 crysflame pugs is a perl6 interpreter built on a language called haskell
00:55 ingy so learning perl5 is probably what you should be doing now
00:55 crysflame you don't need to know haskell to use perl6, though.
00:55 crysflame learning perl5 will make learning perl6 much, much easier
00:56 svpa ok ingy like I said ordered 2 books like 10 minutes ago from o'reilly
00:56 crysflame (esp. if you're from a language with strict typing and so forth)
00:56 crysflame hi ingy
00:56 svpa I always wonder, this might be quite off topic but
00:56 ingy crysflame: I'm writing t/kwid/parser.t now
00:56 crysflame ingy: neat
00:56 svpa how do such program languages are born?
00:56 ingy I don't know Perl6 yet
00:56 crysflame svpa: the RFC process, in this case
00:56 svpa cause, you must build it on top of some other language?
00:57 ingy so I'm writing it in the syntax I wish perl6 were
00:57 ingy and seeing how close I am
00:59 crysflame svpa: basically the perl6 braintrust said "ask for anything you want implemented"
00:59 crysflame and then rifled through it, said what they liked and disliked, and so forth
00:59 crysflame they're still in the rifling process
00:59 crysflame each Apocalypse from larry wall is precisely the result
01:12 ingy can y'all compile src/Context.hs ?
01:13 nnunley What revision?
01:13 ingy head
01:13 nnunley I just checked out.
01:13 nnunley r350 on my side.
01:13 nnunley It compiled.
01:14 ingy I only have r342!
01:14 nnunley Slowpoke. ;)
01:14 ingy what is your repos?
01:14 ingy I did svn up
01:14 ingy I even deleted the file and svn up
01:15 ingy and svn log only shows r342
01:15 nnunley http://svn.openfoundry.org/pugs
01:15 ingy wait
01:16 ingy do a svn st -uv src/
01:16 ingy it says 350  342
01:17 nnunley Yeap.
01:17 nnunley 350      342 autrijus     src/Context.hs
01:17 obra hello
01:17 nnunley obra: Hello.
01:17 ingy so src/Context.hs is at 342 :P
01:17 ingy sucka
01:17 nnunley :P
01:18 nnunley But the tree is at 350.  Same deal, different numbers. :)
01:18 nnunley Compiles just fine for me.
01:18 ingy anyway!, why ENOCOMPILESHITFUCKPISSCUNTTIT
01:19 svpa has quit IRC ()
01:19 ingy ghc --version ??
01:19 nnunley The Glorious Glasgow Haskell Compilation System, version 6.2
01:19 nnunley Riceboy^hGentoo linux.
01:20 ingy The Glorious Glasgow Haskell Compilation System, version 6.2.1
01:20 ingy OS X
01:21 ingy http://nopaste.snit.ch:8001/1963
01:23 Steve_p has quit IRC (Read error: 60 (Operation timed out))
01:24 ingy I fixed it
01:24 ingy I think
01:27 ingy committed
01:33 edgewalker has quit IRC (Read error: 113 (No route to host))
01:51 buu Hrm
01:52 buu my @x=(0..10); my @y=(0..10); print @x<<+@y ?
01:53 buu hrm
01:54 buu print @x>>+<<@y;
01:54 buu Not working =[
02:11 buu Make it worky!
02:19 theorbtwo has quit IRC (Read error: 60 (Operation timed out))
02:47 cognominal has quit IRC (Remote closed the connection)
02:54 cognominal has joined #perl6
03:12 wolverian hmm, 'my @foo -> $x, $y { ... }' doesn't work yet.
03:13 wolverian er, s/my/for/
03:22 buu Tragic =[
03:27 Steve_p has joined #perl6
03:30 ingy hola
03:31 Steve_p hello
03:31 ingy hi Steve_p
03:31 Steve_p verizon-- # five hour DSL outage :(
03:31 ingy bummer
03:32 wolverian buu, agreed.
03:33 buu Hey
03:33 buu Why doesn't print @x>>+<<@y; work?
03:43 wolverian hyper ops aren't implemented yet, afaik.
03:44 buu =[
03:44 wolverian apparently I have broken my ATI drivers by dropping a book on my stereo amp.
03:44 wolverian the universe works in mysterious ways.
03:44 buu hahahah
03:45 ingy :)
03:45 wolverian well, the computer *did* reboot when I dropped that book. now, I have no idea why it did that, since the two machines aren't even connected.
03:46 buu Power?
03:46 wolverian well, yes, they both use electricity.
03:46 wolverian I've been having problems with the lighting in this apartment. I'm going to call in someone to check how flaky the wiring is.
03:46 buu IT WAS AN ELECTRICTY EXPLOITY
03:47 wolverian a bathroom light is just not supposed to go out. they never did when I was young, I swear.
03:47 wolverian anyway, this is somewhat offtopic and my DRI is still broken. sorry, all. :)
03:47 * ingy makes 2 commits in 10 seconds
03:47 buu ingy: Fix hyperops?
03:48 wolverian I'd like to fix the for loop problem I showed above. my haskell is not up to the task, yet, though.
03:48 wolverian (just thinking aloud. I'm learning.)
03:48 nnunley has quit IRC (Read error: 54 (Connection reset by peer))
03:48 nnunley has joined #perl6
04:12 ingy buu: ha!
04:12 ingy I wish
04:14 buu =[
04:14 buu When the hell does aujitrus get up?
04:15 obra he's still at a conference in .cn, no?
04:15 ingy buu, that gives you plenty of time to read and fix it yourdamnself :p
04:16 ingy buu: what tz are you in?
04:16 buu ingy: Naw, I wanted aujitrus to bitch about p6-doc
04:16 buu CST
04:17 ingy Taiwan is 14 hours ahead of you iicc
04:17 buu Great =[
04:17 mugwump 5 hours behind me
04:17 ingy autrijus normal working hours are ~ 2pm - 5am
04:17 ingy Taiwan time
04:18 ingy but that varies
04:18 buu Freak
04:18 ingy and sometimes she takes trips to Saturn
04:18 ingy iykwim
04:19 buu She?
04:19 * ingy raises her eyebrow at buu...
04:20 obra "on the internet, gender is malleable"
04:20 * ingy smooochies obra
04:20 buu ,,,
04:20 buu I hate you all.
04:21 buu obra: Wrong. On the internet, you are mail.
04:21 ingy ouch
04:21 buu heh
04:21 buu I blame that typo on something other than me.
04:22 obra *laugh*
04:22 mugwump http://www.masonhq.com/?AutrijusTang  # look at the wrist
04:26 a904guy has joined #perl6
04:27 buu mugwump: You are so right.
04:27 metaperl_ has joined #perl6
04:29 mugwump for sure, it's my worst problem
04:29 mugwump I inherited it from my father :-)
04:29 mugwump he was always right too
04:30 buu No he wasn't.
04:30 Squall` has joined #perl6
04:30 mugwump that's not an argument!  I want my £5 back
04:30 * buu snickers
04:31 a904guy has quit IRC (Client Quit)
04:32 autrijus has joined #perl6
04:32 autrijus greetings lambdacamels.
04:32 ingy I love using Kwid in commit msgs
04:32 ingy hi autrijus
04:32 a904guy has joined #perl6
04:32 autrijus hey. I see you have a test, a plan, and a spec
04:33 ingy hack,hack,patch,patch
04:33 ingy I need to convert my psuedo code into perl6
04:33 autrijus niiice.
04:33 autrijus so I'll commit ruleKwidBlock now.
04:33 ingy ok
04:33 obra hi, autrijus. how's .cn?
04:34 autrijus where is your pseudocode?
04:34 autrijus parse.t?
04:34 a904guy has quit IRC (Client Quit)
04:34 ingy I wrote the test code as a comment using the syntax I wish I had
04:34 ingy t/kwid/parse.t
04:34 autrijus obra: food is excellent
04:34 ingy I invented a Kwid bytecode, as you will see
04:35 autrijus whoa. wow. ugh.
04:35 * autrijus is reminded of the invocant clash
04:35 ingy it could just as easily be a Pod bytecode
04:35 autrijus the modules there are nonexistent?
04:35 autrijus Kwid::Formatter::bytecode; I mean
04:35 buu QUTITITRISUS
04:35 autrijus greetings buu.
04:35 ingy autrijus: yeah
04:36 buu autrijus: I grepped p6-doc, found shit
04:37 abstraction has joined #perl6
04:37 buu autrijus: More specifically, I found like 4 actual documents. Am I missing stuff or did you think they produced more?
04:41 * ingy fears autrijus is rewriting parser.t for her
04:43 buu Pssh, girls don't exist on the internet
04:43 * ingy farts on buu
04:43 buu Thus proving my point!
04:44 metaperl has quit IRC (Read error: 110 (Connection timed out))
04:44 metaperl_ is now known as metaperl
04:45 autrijus has quit IRC (Read error: 60 (Operation timed out))
04:45 ingy hi metaperl
04:45 metaperl hi ingy
04:51 autrijus_ has joined #perl6
04:52 Squall` has quit IRC ("Leaving")
04:52 autrijus_ hey.
04:52 autrijus_ metaperl6: you should be a committer now.
04:52 autrijus_ buu: 4 docs sounds about right.
04:53 autrijus_ I'm not even sure of its usefulness.
04:53 autrijus_ hence, "salvage".
04:53 autrijus_ buu: put them to somewhere or post the 4 link urls?
04:53 metaperl autrijus, ok I will try... where is VJunc coded to be a data constructor?
04:54 autrijus_ all basic data structures are in AST
04:54 autrijus_ line 274
04:54 autrijus_ the pugs code convention is to use the sane name for the constructor and the type it takes
04:54 autrijus_ so "VBool VBool"
04:54 metaperl yes but the constructor def is commented out
04:54 autrijus_ "VJunc VJunc"
04:54 autrijus_ etc
04:55 autrijus_ where?
04:55 autrijus_ AST.hs line 274 looks sane
04:55 metaperl I see it as a type constructor but not data constructor
04:55 metaperl data VJunc = Junc { juncType :: JuncType
04:55 metaperl                  , juncDup  :: Set Val
04:55 metaperl                  , juncSet  :: Set Val
04:55 metaperl                  } deriving (Show, Eq, Ord)
04:55 autrijus_ is now known as autrijus
04:55 autrijus line 274! :)
04:57 metaperl ok.
04:57 autrijus so, as I said, pugs uses constructor/type punning
04:57 autrijus when used as a type, VJunc means a junction value
04:58 autrijus when used as a constructor, VJunc turns a junction value into the algebraic type "Val".
04:58 metaperl the first one is the data constructor. the second one is saying the type of value that the data constructor takes
04:58 autrijus yup.
04:58 autrijus it will take some used to at first
04:58 autrijus but the context will make it clear
04:58 autrijus cool with it?
04:59 autrijus juncSet is used for all junctions
04:59 metaperl yes
04:59 autrijus juncDup is only used for none()
04:59 autrijus the reason is that none() cannot be represent as one set
04:59 autrijus must use two sets.
05:01 autrijus so, chromatic wants to do an interview for perl.com
05:01 autrijus I think I'll just invite him here for an irc interview session
05:01 autrijus if that's okay with #perl6ers
05:03 obra that works, as long as he's ok with the raw being archived in the public logs
05:03 autrijus okay, will tell him that.
05:03 abstraction it'll keep him honest :)
05:04 obra I wouldn't worry about that with chromatic, absinthe
05:04 obra er abstraction
05:05 abstraction i know, hence the ':)'
05:08 abstraction 'is' doesn't work.
05:08 autrijus add a test. :)
05:09 abstraction mmmkay
05:09 autrijus I'll walk thru all the todo_*
05:09 autrijus and those has priority :)
05:12 buu Oh
05:12 buu urls, right
05:12 buu I was losing in starcraft =[
05:12 autrijus enjoy :)
05:12 buu Not really
05:13 buu autrijus: http://erxz.com/pd
05:13 buu Only ones I could find
05:14 autrijus that's 3?
05:14 buu Yeah
05:14 autrijus indeed doesn't sound too happy :-/
05:15 buu Nope
05:15 autrijus buu++ # dived into piles of ancient scrolls
05:15 buu heh
05:15 buu I didn't do much
05:15 buu We really need perlbot any here, maybe we'd get some decent karma
05:15 buu er, I'd*
05:15 autrijus one can write a script to grep the log and calculate karma ;)
05:16 buu Well yeah
05:16 buu But in #perl I've got like -7
05:16 autrijus aww. what did you do to them?
05:16 buu Trolled a lot
05:17 autrijus strange, you look very sane here :)
05:18 buu It's all an act
05:18 autrijus :)
05:20 tmoertel is the darcs repo up to date now?
05:20 buu Theres only about 48,000 lines of email in the archive
05:21 buu I'm sure half of that is headers
05:22 buu On another note, is anyone pondering a better CPAN for p6?
05:23 ingy autrijus: he settled down after you joined
05:23 ingy buu: I am pondering a different CPAN
05:23 ingy FreePAN
05:23 buu ingy: Different in what sense?
05:24 ingy all author directories are svn repos
05:24 buu Iiinteresting.
05:24 ingy but they are mirrored like cpan
05:24 buu Well, I was thinking more of a "better" cpan.pm
05:24 ingy and you can get tagged release tarballs on demand
05:24 autrijus oh, it's back!
05:24 autrijus tmoertel: I'll restart syncing
05:25 tmoertel thansk
05:26 ingy can pugs read a file from disk?
05:26 ingy I can't find an example
05:27 buu Is there anyway to get a list of ops pugs supports?
05:27 autrijus buu: builtins.pod will be that place
05:27 ingy hcchien: ping
05:27 buu But.. it .. doesn't.. exist?
05:27 autrijus buu: the end of Prim.hs is currently what works
05:28 buu Do you have any format for builtins.pod?
05:28 ingy builtins.kwid hopefully :P
05:28 autrijus hmm? src/builtins.pod
05:28 buu Oh, it exists?
05:28 autrijus sure, converters welcome
05:28 autrijus sure it does.
05:28 buu Yay!
05:28 ingy autrijus: did my psuedocode make sense?
05:29 autrijus ingy: it makes most sense. the file reading was not there simply because Syns say * and p6l says =
05:29 autrijus luqui clarified that = is the way to go
05:29 autrijus it's just not in synopses
05:29 autrijus so I guess we should yell at p6team
05:29 buu builtins.pod scares me =[
05:30 buu "is equiv(&*infix:<*>)" what the hell?
05:31 autrijus it means, it has precedence equivalent to the * binary operator.
05:31 buu Oh.
05:31 buu But you don't list what it does?
05:32 autrijus and builtins.pod is only till Prim.hs line 498
05:32 autrijus so if you can help finish the rest of conversion to builtins.pod I'd be happy
05:32 autrijus no, it does not currently list what it does. a one-line desc will also be appreciated
05:32 buu Tolkien--
05:33 ingy troll--
05:33 buu autrijus: Well, I was just about to start something like that, then I remember my kwid parser
05:33 autrijus you can pick whichever makes you most happy :)
05:34 buu heh
05:34 ingy autrijus: can i convert the pods to kwids or do you want formatters first?
05:34 autrijus ingy: converters == fine
05:34 autrijus even if manually
05:34 buu Theres another place you don't use a list =]
05:35 buu line 65 in perlkwid.kwid
05:36 ingy buu: it is transcribed from perlpod.pod
05:36 buu =]
05:36 ingy which also does not use a list :P
05:36 buu Well, yeah, I guessed. I'm just mentioning it..
05:36 autrijus tmoertel: darcs repo should again be uptodate. plesae test
05:36 ingy you should read these things :)
05:37 * tmoertel does a darcs pull
05:37 buu ingy: Why do text paragraphs need whitespace before and after.. and command paragraphs do.. but .list doesn't?
05:38 tmoertel gak! "Fail: bug in darcs!"
05:38 buu s/command/heading/
05:38 tmoertel I'll try a fresh get...
05:38 * autrijus is nonimpressed by darcs' fragility :-/
05:38 ingy buu: empty lines are only needed where ambiguity exists
05:39 autrijus shapr threatened to remodel darcs using Arrows
05:39 autrijus which should increase its robustness.
05:39 ingy but extra empty lines make better reading
05:39 buu So
05:39 buu = foo
05:39 buu bar
05:39 buu Is valid?
05:39 tmoertel the darcs get worked fine... must have had conflicts in local changes
05:40 autrijus ahh.
05:40 tmoertel still, that is no excuse for darcs failing
05:40 autrijus bombing out is just bad style.
05:41 metaperl i'm amazed the same repository can be manipulated by 2 difference VCSes
05:42 ingy buu: yes
05:42 buu ingy: Right o.
05:43 metaperl is it persnickety of me to say the type signature of opJunc can be a little more precise? opJunc (in Junc.hs) must return a value of type VJunc
05:43 * buu wants a switch =[
05:44 autrijus metaperl: there's no way in haskell to specify a subtype signature.
05:45 autrijus it returns Val
05:45 metaperl oh, I didn't know that
05:45 ingy builtins.pod is no more :D
05:45 autrijus which, as you noticed, must be of the (VJunc _) constructor
05:45 autrijus but there's no way to do that.
05:45 autrijus in GHC 6.4 we have GADTs, which may or may not help
05:45 buu ingy: You say "sequence of spaces or tabs at beginning of all lines", that means one space is valid, yes? And what about:
05:45 metaperl yes you can just look at the fact that the function starts with VJunc $ ....
05:45 buu bar
05:45 metaperl and know that
05:45 autrijus but I'm not going to depend on 6.4 :)
05:45 buu baz
05:45 buu foo
05:45 autrijus metaperl: yeah but the type language does not support that
05:46 autrijus you can't say
05:46 metaperl right. I understand
05:46 autrijus opJunc :: JuncType -> [Val] -> Val@(VJunc _)
05:46 autrijus although I agree it will be helpful.
05:46 ingy buu: baz is verbatim
05:46 buu ingy: And the other two are text blocks? No new lines required?
05:46 ingy right, but I would consider it bad style
05:47 buu Well, yeah
05:47 buu Hmph
05:47 ingy under .list all the rules change slightly
05:47 buu Oh goody!
05:47 ingy :)
05:47 buu Is it really necessary to have a documentation format that requires a recursive descent parser to actually interpret?
05:48 sfink_ has joined #perl6
05:49 buu ingy: Er, so if I'm typing a plaintext paragraph, and it wraps me, and I hit space at the beginning of the line, that's going to be a verbatim paragraph?
05:49 ingy yes
05:50 ingy yeah sure
05:50 buu Great
05:50 ingy you can always fix your mistake
05:50 buu True enough I suppose.
05:51 ingy It would be cool if Kwid parsing never failed, but just warned on errors
05:51 ingy I'm not sure on that yet
05:51 * buu explodes
05:51 ingy Kwiki must not fail
05:52 buu haha
05:52 ingy but I think Kwid can fail
05:52 ingy it's a different environment
05:53 autrijus ingy: ok
05:53 autrijus when I see =kwid
05:53 buu autrijus: Die();
05:53 autrijus I just grab everything between it and the next =cut
05:53 buu #stupid impossible to parse kwid
05:53 autrijus and let Parser.Kwid handle it
05:53 autrijus sounds ok?
05:53 buu autrijus: Handle it? Shouldn't you just ignore it?
05:54 buu autrijus: And what aboutr stuff like:
05:54 buu my $foo
05:54 autrijus buu: Perl6 uses all POD/Kwid as data sections.
05:54 buu =kwid
05:54 buu ;
05:54 autrijus and all comments, for that matter.
05:54 buu I see.
05:54 autrijus as @=COMMENT
05:54 autrijus you may scream now.
05:54 buu Yeah no crap
05:54 buu What about the $foo = kwid; thing?
05:54 autrijus you can try that with perl5.
05:54 buu I did
05:55 metaperl Adding         src
05:55 metaperl Adding         src/Junc.pod
05:55 metaperl Transmitting file data .
05:55 metaperl Committed revision 358.
05:55 autrijus metaperl++
05:55 metaperl just an intermediate commit of my docs for Junc.pod
05:55 metaperl :)
05:55 buu Is it really necessary to have pod files in every single directory of pugs?
05:55 autrijus buu: so, you'll see that =pod can only start at statement level.
05:55 autrijus buu: it's in docs/.
05:55 metaperl I had a file with Haskell data to serve as sample data for playing with Junc.hs
05:55 autrijus docs/src/Junc.pod
05:55 autrijus note the "Adding src" line :)
05:55 metaperl it is under src/t/Junc/Test.hs
05:56 metaperl i have another file outside of source control at the moment
05:56 buu Oh yay!
05:56 buu Proper orginziation++
05:56 metaperl it is a "play" file with data for playing with Junc.hs
05:56 autrijus metaperl: nice
05:56 metaperl it is at src/t/Junc/Test.hs
05:56 metaperl but I dont know if I should add it there
05:56 autrijus prolly not.
05:57 metaperl the plan is for the files in src to have a play file so you can see what they do
05:57 autrijus prolly keep it with you or as docs/src/Junc.hs
05:57 metaperl oh ok I think that is a good idea
05:57 autrijus :)
05:57 metaperl but I think docs/src/Junc/doc.pod and code.hs are good
05:58 * autrijus has a definite feeling that the project is still accellerating :)
05:58 metaperl docs/src/Junc/doc.pod docs/src/Junc/code.hs
05:58 metaperl how is that?
05:58 autrijus I don't like lots of doc.pod.
05:58 autrijus or lots of code.hs.
05:58 metaperl too generic...
05:58 autrijus docs/src/Junc.pod and docs/src/JuncTest.hs
05:58 autrijus or, docs/src/Junc.pod and docs/src/Junc.hs
05:58 autrijus sounds about right.
05:59 autrijus btw, nicely written
05:59 buu I think we need a few more /src/doc/'s in there
05:59 autrijus I totally agree.
05:59 buu docs/src/Junc/src/doc/src/pod/Junc.pod
05:59 autrijus ;)
06:00 ingy autrijus: shouldn't pugs ignore =kwid\n...\n=cut\n
06:00 autrijus ingy: no it must convert it into a value
06:00 autrijus and stub them into %=KWID (or %=POD)
06:00 autrijus and @=POD and $=POD
06:00 autrijus ingy: part of p6 spec.
06:00 autrijus sadly.
06:00 autrijus so it must contain a parser.
06:01 autrijus the parser must be part of pugs.
06:01 buu Horrifying.
06:02 ingy but surely @=KWID is an array of kwid strings
06:02 in2 has joined #perl6
06:02 autrijus but surely %=KWID is the parse tree.
06:02 ingy not necessarily
06:03 ingy they should surely be parsed lazily
06:03 autrijus not neccessarily.
06:03 autrijus oh. we're using haskell
06:03 autrijus whatever we write won't be executed until looked at.
06:03 autrijus the lazy is by default.
06:03 autrijus takes some used to :)
06:04 ingy that's fine, but...
06:05 ingy I'm sure there can be a way that @=FOO does not require a Parser.Foo be included in pugs
06:05 autrijus sure, I think the solution is to glob it into a string
06:05 autrijus and tie the hash into a module
06:05 autrijus say Kwid.pm
06:06 autrijus with the string as tying arguments.
06:06 autrijus similar to how File::Glob is autoused.
06:06 autrijus I think, anyway
06:07 in2 has left
06:07 ingy it would be sad if I couldn't access @=DATA for all interleaved pod and kwid sections
06:07 autrijus %=POD{'DATA'} you mean.
06:08 autrijus I think I'll just throw everything to %=POD and $=POD and @=POD.
06:08 in2 has joined #perl6
06:09 ingy autrijus: where is this written on?
06:10 autrijus ingy: S02 Names
06:10 ingy thanks, I'll look into it
06:10 ingy did you see: http://svn.openfoundry.org/pugs/t/kwid/parser/00sample
06:10 autrijus yup, I did.
06:10 ingy :)
06:12 autrijus so let me get this straight
06:12 autrijus of the 99.9% compat
06:12 autrijus what is lossy on the .1%?
06:12 autrijus pod => kwid
06:12 autrijus or kwid => pod?
06:12 autrijus which side is lossy?
06:17 autrijus r360 landed
06:17 autrijus arbitary podlike blocks are skipped by parser
06:17 autrijus Kwid.pm is now not a syntax error
06:19 clkao hi autrijus
06:21 autrijus hey.
06:33 autrijus_ has joined #perl6
06:33 theorbtwo has joined #perl6
06:35 ingy back
06:35 autrijus_ cool.
06:35 autrijus_ so here's my plan
06:35 ingy autrijus++
06:35 autrijus_ I think what I'll do is to first populate %=POD
06:36 ingy the %=POD thing looks not well thought out
06:36 autrijus_ err I mean @=POD
06:36 autrijus_ with the kwid parse tree
06:36 autrijus_ hmm. how else would you like your tree?
06:36 autrijus_ a native data structure?
06:36 autrijus_ that sounds good
06:36 autrijus_ because we can base our Obj implementation on it
06:37 ingy hold on...
06:37 ingy I think putting pods and kwids together in @=POD is fine
06:37 ingy because the =kwid line will have to be a part of it
06:38 autrijus_ right.
06:38 autrijus_ so all pods can be represented as kwids?
06:38 ingy since =head1 can start a block
06:38 autrijus_ I mean, they share a common data structure
06:38 ingy the bytecode is the common data structure
06:38 ingy well
06:38 ingy one representation of it
06:38 autrijus_ the bytecode is a freezing thing
06:39 autrijus_ in memory I need a tree
06:39 ingy yeah
06:39 autrijus_ or do you think we can use an array of bytecode thruout?
06:39 ingy but listen, i think you are going too far
06:39 autrijus_ I'm okay with that too if you think it makes most sense
06:39 autrijus_ @=POD then will be an array of commands
06:39 * autrijus_ listens
06:39 ingy I think @=POD is just an array of the P =pod section strings, and nothing more
06:40 ingy what says that it is more?
06:40 ingy I personally think the whole thing is not clearly thought out by Larry yet
06:41 ingy but maybe I'm wrong
06:41 autrijus_ it says that each @=POD element is a chunk
06:41 ingy ok, a chunk of text right
06:41 autrijus_ a chunk of "pod stream"
06:41 ingy yeah
06:41 autrijus_ it can be read as simple string
06:41 autrijus_ it can be read as something more that happens to stringify as simple string
06:41 autrijus has quit IRC (Read error: 60 (Operation timed out))
06:41 autrijus_ is now known as autrijus
06:42 autrijus but ok. suppose we want to split on chunks.
06:42 autrijus and keep it as simple string.
06:42 ingy %=POD makes no sense at all to  me
06:42 autrijus what is a chunk anyway?
06:42 autrijus a paragraph?
06:42 autrijus let's ignore %=POD for now.
06:42 autrijus (or post to p6l)
06:42 ingy what would the keys/values possibly be?
06:43 autrijus the keys are =begin
06:43 autrijus blocks
06:43 autrijus like END and DATA
06:43 autrijus for =head1
06:43 autrijus I imagine it will be in %=POD{''}
06:43 autrijus for =kwid too
06:43 autrijus or we can rule that =kwid means =begin KWID
06:43 autrijus but! I'm not particularly interested in %=POD now.
06:43 ingy right
06:44 ingy ok fine
06:44 autrijus I just want to teach your parsec :)
06:44 autrijus so suppose we populate @=POD
06:44 autrijus with a list of strings
06:44 ingy including =cut lines?
06:44 ingy or strip them?
06:45 autrijus strip them I think
06:45 ingy I think so too
06:45 ingy it's all a little unclean, but continue...
06:47 autrijus ok...
06:47 ingy my $doc = join '', map { s/\A=(pod|kwid)\n//; $_ } @=POD;
06:47 ingy more or less
06:47 autrijus yup.
06:48 ingy great. that's pretty much what I'd expect
06:48 autrijus so is a verbatim chunk a chunk?
06:48 autrijus is any chunk that anything happens to be split using \n\n+?
06:48 autrijus - `* unordered list item`
06:48 autrijus - `+ ordered list item`
06:48 ingy no, that's a paragraph
06:48 autrijus is that one chunk or two?
06:48 autrijus ok so what is a chunk?
06:48 autrijus any bytecode entity?
06:49 autrijus any block-level entity?
06:49 ingy a chunk would be from =foo -> =cut
06:49 autrijus okay.
06:49 autrijus so that's easy.
06:49 ingy it really was no semantic meaning
06:49 autrijus yup.
06:49 ingy s/was/has/
06:49 autrijus so semantics can wait till later :)
06:49 ingy yes, thank you!
06:50 cls_bsd autrijus: do we need Perl6-Pugs in ports?
06:50 autrijus hmm what about my plan of teaching you parsec via kwid? :)
06:50 autrijus cls_bsd: yes. if so, please call lang/pugs/
06:50 ingy please start now!!
06:50 ingy I am ready to begin
06:50 cls_bsd autrijus: ok, try to do :p
06:51 autrijus ingy: alright. first go to AST.hs
06:51 ingy but I think we have a disconnect
06:51 autrijus to parse anything you want a data structure.
06:51 autrijus that you can parse that thing into.
06:51 autrijus hmm?
06:52 ingy I am imagining a separate program than pugs for my parsec rules to live in
06:52 autrijus ah.
06:52 autrijus that means a separate tree
06:53 autrijus and carry a lot of code over
06:53 ingy just like pod2foo uses Pod::Parser
06:53 ingy kwid2foo does uses Kwid::Parser etc
06:54 autrijus well, I'd much rather we put Kwid parser as src/Parser/Kwid.hs
06:54 ingy to convert .p6 or .kwid files into foo files
06:54 autrijus it's okay if you want a clean tree, to call it src/Kwid/Parser.hs
06:54 sfink__ has joined #perl6
06:54 autrijus so we can start from scratch
06:54 autrijus using src/Kwid/AST.hs
06:54 autrijus src/Kwid/Parser.hs
06:54 autrijus but still reuse Internals and other code.
06:54 ingy sounds right
06:55 autrijus cool. let me do that.
06:55 ingy they could link to a `kwid` executable
06:56 ingy but they should also be loadable into perl6 space
06:56 autrijus what will that executable do?
06:57 ingy kwid --to_html Test.pm > Test.html
06:57 ingy or
06:57 ingy kwid perlre
06:57 ingy etc
06:58 ingy (acting as both pod2html and perldoc)
06:58 autrijus nod
06:58 autrijus ok, I'll leave Kwid/Main.hs for you
06:58 autrijus I'll just help you do the parser/emitter place
06:59 autrijus and link them into pugs
06:59 ingy but hopefully Kwid/Parser.hs is available as Kwid::Parser
06:59 autrijus yup
06:59 ingy perfect then
06:59 autrijus that will also be a good use case for XS modules
06:59 autrijus XS = haskell
06:59 ingy yes
07:00 ingy maybe it goes in lib/Perl6/lib/ ?
07:00 * ingy shuts up now. waits for autrijus to hack some
07:01 autrijus maybe it goes in ext/
07:01 autrijus but it's too much bikeshedding at this point
07:01 autrijus just src/ for now
07:01 autrijus glue code can live elsewhere.
07:01 autrijus like ext/.
07:01 sfink_ has quit IRC (Read error: 60 (Operation timed out))
07:01 autrijus sfink__: hey
07:01 autrijus sfink__: didn't notice you're here!
07:02 autrijus (are you?)
07:02 ingy ok, we should have a good talk about source tree layout in taiwan
07:02 autrijus sure
07:02 ingy too much fun in Taiwan this year
07:03 ingy svk pugs kwiki freepan kwid yaml
07:03 autrijus r361 is skeleton.
07:03 ingy cog maybe
07:03 autrijus we'll start from Kwid's AST.
07:04 ingy kool, thanks
07:04 autrijus I'll bbiab.
07:04 autrijus you think SEE helps?
07:04 autrijus or keep irc?
07:04 ingy I'll read up
07:04 ingy I can host SEE
07:04 autrijus I'll go back to room now to hack more freely
07:04 autrijus see you a a couple mins
07:04 autrijus &
07:04 autrijus ok, set up a host bah
07:04 autrijus has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0+/20050219]")
07:23 sfink_ has joined #perl6
07:23 sorje has joined #perl6
07:24 autrijus has joined #perl6
07:24 autrijus rehi.
07:25 autrijus ingy: still there?
07:25 ingy autrijus: yes
07:25 autrijus cool.
07:25 autrijus so let's start from AST.
07:25 autrijus I'll have SEEaccess in a few mins.
07:25 autrijus have you set up a host?
07:26 ingy yes
07:26 autrijus cool
07:27 autrijus AST.hs is currently empty.
07:27 ingy right
07:27 ingy ;)
07:27 autrijus to use it, you need to declare a module.
07:27 autrijus module Kwid.AST where
07:27 autrijus import Internals
07:27 autrijus that's all.
07:27 autrijus Internals pulls all the utility modules in.
07:28 ingy ok
07:28 autrijus now comes the fun part: you need to ame the toplevel data structure of a kwid doc.
07:28 ingy is Internals pugs?
07:28 autrijus yeah.
07:28 ingy ok...
07:29 autrijus you can have your own Internals when you want to factor the kwid tree out.
07:29 autrijus for now it's just convenience.
07:29 autrijus (if you look at Internals.hs you'll see it fdoesn't have anything of its own; it's just instance and reexport other ubiltins)
07:29 autrijus builtin modules, even
07:29 ingy paragraph/verbatim/list/comment/header/format
07:30 buu The horrors!
07:30 * buu goes insane from too much kwid
07:30 autrijus so those 6 are all Kwid nodes
07:30 autrijus toplevel nodes I mean
07:30 autrijus or do you want to tcall them kwid chunks? blocks?
07:31 ingy they are Kwid blocks
07:31 ingy so top level is a sequence of blocks
07:31 autrijus in haskell, it reaeds:
07:31 autrijus type KwidDocument = [KwidBlock]
07:31 sfink__ has quit IRC (Read error: 60 (Operation timed out))
07:31 buu ingy: Are .html - .html.; format blocks?
07:32 autrijus data KwidBlock = Para | Verbatim | List | Comment | Header | Format
07:32 autrijus you just need those 2 lines.
07:32 autrijus that's all.
07:32 ingy buu: yes
07:32 autrijus "type" is a type synonym.
07:32 autrijus data is a data type declaration.
07:32 autrijus the RHS of = are constructors.
07:32 autrijus looks reasonable?
07:32 ingy autrijus: looks familiar
07:33 autrijus ok. let's start with Para.
07:33 autrijus what content does a Para have?
07:33 autrijus has quit IRC (Remote closed the connection)
07:34 buu Text!
07:34 * buu waves to autark-jp
07:34 ingy a paragraph is a sequence of text fragments and Kwid phrases
07:35 buu Phrases = the funky [], **, // and so forth
07:35 buu ?
07:35 ingy yes
07:36 buu Right-o.
07:38 rgs has quit IRC (Remote closed the connection)
07:38 rgs has joined #perl6
07:39 ingy autrijus has vanished
07:39 buu Yeah
07:39 buu He has been kidnapped by the perl cabal!
07:39 ingy slippery that one
07:40 buu We must launch a rescue mission
07:40 autrijus has joined #perl6
07:40 clkao rescued
07:40 autrijus horrible network :-/
07:40 ingy he's back
07:40 buu clkao: =]
07:40 autrijus were were us?
07:40 autrijus where were we?
07:40 ingy a paragraph is a sequence of text fragments and Kwid phrases
07:41 ingy autrijus: you on the mac yet?
07:42 autrijus ingy: /msg me the ip again, I lost it
07:42 metaperl has quit IRC (Read error: 60 (Operation timed out))
07:43 theorbtwo has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
07:44 ingy hcchien: ping
07:44 theorbtwo has joined #perl6
07:45 ingy ll
07:53 Victor_ has joined #perl6
07:55 malaire has joined #perl6
08:00 Khisanth hmm
08:13 iblechbot has joined #perl6
08:16 b6s has joined #perl6
08:17 pjcj has quit IRC (Read error: 110 (Connection timed out))
08:28 sfink_ has quit IRC ("Leaving")
08:30 scw autrijus: Hello, I've make two patches under http://www.csie.ntu.edu.tw/~b92103/pugs/
08:30 scw autrijus: junction-values.patch makes function values work on junction
08:30 sfink has joined #perl6
08:31 scw autrijus: and tail-recursion-length.patch patches fp and caculate list length by tail recursion
08:32 scw autrijus: Which should have better performance in functional programming language :)
08:33 clkao scw: you are not using svk!
08:34 sfink has left
08:34 scw clkao: Err, no.
08:35 scw clkao: svk needs so many perl modules that I haven't installed zzz
08:35 clkao your patch will not be applicable if the file is changed intensively. use svk patch to avoid so :)
08:35 clkao scw: packaged software is less hateful
08:36 scw clkao: I have to install 25 more packages using apt-get install...
08:38 clkao just cover your eyes
08:39 theorbtwo Is svk better then svn for pugs devel?
08:40 clkao ya, if you are not committer, or if you want to work offline, or you want to work on a bigger change while keep in sync with trunk
08:42 scw clkao: cover my eyes and let df awake me? :p (Keeping Windows in hard disk took me so many space)
08:42 clkao it doesn't take much disk space. they are all small modules
08:43 theorbtwo On my system, it installed 16 modules, for a hair over 4MB.  Perl module packages tend to be numerous, but small.
08:44 clkao see, it's harmless :)
08:45 scw clkao: Oh... ok, it's my evasion :p
08:47 theorbtwo Is there a one-line way to move from svn to svk?
08:48 autrijus done.
08:48 clkao yes. just use svk as svn. like co, it will ask you where you want to mirror
08:48 autrijus we have a Kwid AST, a Kwid parser, and a Kwid compiler (that compiles to html)
08:48 autrijus all in 1 hr!
08:48 ingy autrijus++
08:49 autrijus ingy++
08:49 theorbtwo (autrijus+ingy)++
08:49 autrijus writing this kind of thing in haskell is really unlike what I'm used to :)
08:50 * autrijus now has a bit more confidence in writing Pugs's own compiler.
08:51 * autrijus looks at scw's patches. sec
08:52 Khisanth does Kwid handle table like things?
08:52 ingy no
08:52 Khisanth d'oh!
08:52 ingy kwid does no more than pod
08:53 ingy by design
08:53 ingy well a teeny tad more
08:53 ingy it allows named hyperlinks
08:54 scw autrijus: 'op1Values v' should be 'op1Values (VHash h)', but I cannot have it work :/
08:54 Khisanth doesn't pod already allow that?
08:54 ingy no
08:54 ingy for reasons unknown
08:54 ingy to me anyway
08:55 theorbtwo Because there's no nice way to write them that preserves POD's human-readability.
08:55 autrijus uh. kwid can do table like things by using plugins. but then, so can pod.
08:56 ingy [A link to google|http://google.com] ??
08:56 autrijus kwid is mostly a better notation for pod.
08:56 ingy true and true
08:56 ingy .table
08:56 theorbtwo [http://google.com/|A link to google], I thought...
08:56 ingy | foo | bar |
08:56 ingy .table.
08:56 ingy perhaps
08:56 autrijus yeah, I happen to think link first is better because it allows you to use | int ext
08:56 autrijus without ambiguity
08:56 autrijus s/int ext/in text/
08:57 ingy not true
08:57 ingy text is first
08:57 autrijus scw: you want listToHash and/or MkHash
08:57 autrijus oh right, just look for rightmost |
08:57 ingy [text|link/section]
08:57 autrijus sorry, stupid me
08:57 Khisanth ah I didn't realize linking to sections of the same page and linking to different pages were handled differently
08:57 theorbtwo Both do with equal ambiguity, it's just a matter of being greedy vs non-greedy.
08:57 autrijus theorbtwo: exactly.
08:58 ingy Khisanth: they aren't really
08:58 Khisanth I mean with L<>
08:58 theorbtwo (And I prefer having the text be able to hold a | to the URL, since pipes aren't a legal URL character, presentation of file URLs by a certian popular closed-source web browser nonwithstanding.)
08:58 ingy for the most part [...] == L<...>
08:59 autrijus [This|Text|Has|Pipes|http://www.foo.com]
08:59 autrijus not a problem.
08:59 autrijus parsec can do that.
09:00 ingy [This Section] == [This Section|/This Section]
09:00 ingy [link] == [link|link]
09:01 autrijus brackets [ do { frags <- ruleText `sepBy1` (char '|'); HyperLink (last frags) (join '|' $ init frags) } ]
09:01 autrijus that's all, I think
09:01 ingy nice
09:01 viirya_ autrijus: translation finished, you could check.
09:01 autrijus oh, maybe a case analysis for defaulting
09:01 autrijus viirya_: I'm checking. nice job!
09:02 autrijus I've pointed perlchina guy to that url
09:02 autrijus scw: you have a cpan id?
09:02 autrijus "Shu-Chun Weng" in AUTHORS file?
09:02 autrijus i.e. that's how you prefer to be known?
09:03 scw autrijus: "Shu-Chun Weng" looks fine :)
09:03 autrijus cool
09:03 scw autrijus: No, I don't have a CPAN id :)
09:06 cls_bsd go for one? :p
09:07 scw clkao: ok, I'm now using svk :D
09:07 autrijus scw:
09:07 autrijus op1Values v@(VHash _) = VList $ map snd $ (vCast :: Val -> [VPair]) v
09:07 autrijus is how you do case analysis.
09:07 clkao ok. i must warn you 0.29 has some bugs. 0.30 is coming out soon.
09:07 clkao autrijus: (hint!)
09:07 scw autrijus: Hmm... v@, I haven't read it...
09:08 autrijus yeah, I've finally downloaded 1.1.3 libs
09:08 autrijus testing
09:08 autrijus scw: it's commonly used as like
09:08 autrijus list@(x:xs)
09:09 scw autrijus: Oh! Yes! (VHash h) make h the MkHash instead of VHash!
09:09 autrijus yup.
09:09 autrijus whoa, nested subs even works.
09:09 autrijus (in fp.p6)
09:09 scw Ya! I was suprised, too.
09:10 viirya has joined #perl6
09:10 pjcj has joined #perl6
09:11 autrijus scw: so, got time to work on pugs more? :)
09:11 autrijus (i.e. I'd like to make you a committer.)
09:11 autrijus if that's ok for you, give me your email :)
09:12 ingy scw: IT'S A CULT!!!
09:12 scw ingy: You scared me... :p
09:12 autrijus harry pugshina harry pugshina
09:12 ingy hehe
09:13 scw autrijus: Ok, [email@hidden.address]  :)
09:13 autrijus scw++ # welcome aboard
09:13 ingy cheers!
09:13 * scw Studied Haskell two days ago and becomes committer...
09:13 * scw haven't even finished YAHT.
09:13 cls_bsd scw
09:14 autrijus that description seems to be true for lots of other committers as well...
09:14 autrijus note that I also only studied haskell for less than 2 months :)
09:18 autrijus scw: invitation sent
09:18 autrijus oh wait, you're already registred.
09:18 autrijus ok, you're a committer now.
09:18 autrijus mm we have 16 pokemons.
09:18 autrijus I mean, committers
09:19 scw Oh, OSSF, yes
09:19 autrijus the commit url is svn.openfoundry.org/pugs
09:19 autrijus regression++ # woot. found regression caused by scw's hash patch
09:19 autrijus you need to case analyze list of pairs too
09:19 autrijus since a list of pair may work as a hash under hash context.
09:21 autrijus I need to run soon. be back after dinner
09:21 autrijus scw: both of your patches are now in the repo.
09:21 autrijus r364. enjoy
09:22 autrijus &
09:25 Juerd http://foto.juerd.nl/autostuk/Motor%20closeup%2004.jpg
09:26 scw autrijus: thanks :)
09:32 pbuetow has joined #perl6
09:53 rantanplan has joined #perl6
09:55 pbuetow has quit IRC (Read error: 60 (Operation timed out))
09:58 buu is now known as buu_sleeping
09:59 sorje has quit IRC ("Lost terminal")
10:00 sorje has joined #perl6
10:00 xern has quit IRC (Remote closed the connection)
10:01 xern has joined #perl6
10:04 jiing_ has quit IRC (Remote closed the connection)
10:09 rantanplan has quit IRC (Remote closed the connection)
11:00 iblechbot has quit IRC (Read error: 60 (Operation timed out))
11:47 autrijus viirya_: http://svn.openfoundry.org/pugs/docs/zh-tw/01Overview.html
11:48 autrijus zh-cn too
11:48 autrijus viirya++
11:48 autrijus scw++
11:48 autrijus &
12:00 iblechbot has joined #perl6
12:06 cognominal has quit IRC (Read error: 60 (Operation timed out))
12:45 abstraction has quit IRC ("Leaving")
12:50 cls_bsd cool
12:53 theorbtwo Heh, all I can tell from that is that half of it is in English anyway.  (Because it's full of technical terms and proper nouns.)
13:13 cognominal has joined #perl6
13:13 Limbic_Region has joined #perl6
13:40 in2 has quit IRC ("leaving")
13:42 in2 has joined #perl6
14:03 justatheory has joined #perl6
14:25 justatheory has quit IRC ()
15:01 metaperl has joined #perl6
15:10 autrijus rehi lambdacamels
15:10 autrijus I got broadband!
15:11 clkao whoot! how come
15:11 autrijus they upgraded me to $luxury_large_room with broadband for free
15:11 autrijus after complaints++
15:11 clkao see, complain, don't thank!
15:12 autrijus I think the morale is to deal out complaints and receive thanks
15:13 autrijus EVERYSELFISH
15:13 autrijus uh, I mean, E_VERY_SELFISH
15:14 autrijus the broadband isn't very broad though :-/
15:14 Khisanth autrijus: what encoding is the zh-cn version of overview in?
15:14 autrijus Khisanth: utf-8; it was broken, should be now fixed
15:14 Khisanth heh I guess mozilla was correct afterall
15:15 justatheory has joined #perl6
15:23 stevan_ has joined #perl6
15:25 stevan_ has quit IRC (Client Quit)
15:32 stevan has quit IRC (Read error: 110 (Connection timed out))
15:36 autrijus pugscode.org now has linnks to zh-* translations of PA01.
15:36 autrijus viirya++
15:36 autrijus scw++
15:39 * Steve_p looks forward to the end of the week and being off from work
15:39 autrijus :)
15:39 * Coke_ just started work today!
15:39 Steve_p (time to play with Perl and pugs)++
15:39 autrijus Coke_: having fun?
15:45 * autrijus is finally picking up todo_ tests
15:45 autrijus bandwidth++
15:46 nnunley Is anyone able to get the Kwid code to compile?
15:47 PerlJam nnunley: not I  (I just "svn up" and tried making it a mere moment ago)
15:48 PerlJam nnunley: It appears unfinished (fancy that! :)
15:48 nnunley PerlJam:  Yeap.
15:48 nnunley I was debating trying to finish it up enough to make it compile.  But perhaps Ingy was in flow.
15:49 nnunley ingy-- # breaking the build.
15:49 PerlJam nnunley: go for it.  There's only 3 things missing.
15:49 autrijus uhm
15:49 autrijus I'm just cleaning it
15:49 autrijus will commit in a bit
15:49 nnunley Ok...
15:49 nnunley I'll leave it to you.
15:50 nnunley Want my morning pugs fix.
15:50 autrijus committing.
15:51 autrijus with broadband this should take just a few secs
15:51 ingy nnunley: ?
15:51 autrijus indeed, it is done
15:51 autrijus r369
15:51 nnunley ingy: ;)  You checked in code that didn't compile.
15:51 autrijus ingy: it's my fault. I forgot that Parser.hs will slurp in Kwid
15:51 ingy aha
15:51 autrijus surprisingly our code basically all works
15:51 autrijus it's just one type error
15:51 autrijus which I just fixed.
15:52 ingy you++
15:52 autrijus :)
15:52 ingy I should have tested anyway
15:52 * integral should fix Makefile.PL to automatically pick up subdirs in src
15:52 autrijus intego ahead :)
15:52 ingy integral: I was thinking the same thing
15:53 ingy i would like a separate Makefile.PL for building the kwid binary
15:53 ingy maybe
15:53 integral it's getting rather hackish
15:53 autrijus nah. just "make kwid"
15:54 autrijus not seeing the gain of another makefile.pl
15:54 autrijus the dit's not like pugs has some other dependencies
15:54 ingy autrijus: maybe... ok
15:56 ingy btw I did svn mv t/kwid/readme t/kwid/README
15:56 ingy which I had to do on a linux box instead of OS X
15:56 ingy and when I svn up on OS X
15:56 ingy it errored
15:57 ingy so needed to rm t/kwid/readme
15:57 ingy and re svn up
15:57 ingy fyi
15:57 * integral keeps a separate UFS partition for working on projects
15:57 ingy integral: heh
15:59 autrijus sounds prudent, actually
16:01 integral ouch, I've just been bitter by the low precedence of , in p5, oops
16:01 autrijus I've also been bitten by p6isms :-/
16:01 autrijus in particular function prototypes
16:02 autrijus I guess when I make the parens optional on contron structures in pugs my p5 code will be even more in disarray
16:02 * nnunley grins.
16:04 integral ok, clean_dirs, and the pugs dep modified, anything I forgot?
16:04 autrijus seems the monad reader will be out today :)
16:04 autrijus I'm as excited as I first watched the perl review :)appear :)
16:04 autrijus integral: that sounds about right. we can add manifest later
16:06 PerlJam Is there some problem with binding or recursion or something?
16:06 autrijus PerlJam: mm?
16:06 malaire has left
16:06 integral r370: Now automatically finds subdirs (1 level deep) in src.
16:08 PerlJam autrijus: I just added another example hanoi.p6 (in r371)  It doesn't appear to output the proper sequence.  Perhaps I've done something wrong.
16:09 biz has joined #perl6
16:10 marcusT has joined #perl6
16:10 autrijus ok, will look at it in a bit
16:10 autrijus I'll reinstall freebsd now :)
16:11 autrijus now that I finally got the network.
16:13 * autrijus is reading TMR
16:13 autrijus mmm TPJ is also out.
16:13 autrijus # http://www.elis.ugent.be/~ageorges/full.pdf
16:15 Coke_ why the # ?
16:16 metaperl_ has joined #perl6
16:16 autrijus just a habit
16:20 stevan has joined #perl6
16:24 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
16:33 metaperl has quit IRC (Read error: 110 (Connection timed out))
16:33 metaperl_ is now known as metaperl
16:38 nnunley Bah.
16:39 * nnunley looks at Pretty and tries to figure the metasteps to strap on the Text.PrettyPrint stuff.
16:40 nnunley Text.PrettyPrint returns [Doc]... and should thread through all the pretty calls.  But it needs to also render with `show`
16:41 Odin- has joined #perl6
16:44 * integral was looking at that too
16:45 integral I was going to move pretty out of the Pretty class, and keep it's type as Pretty a => a -> String
16:45 integral But then add something to the Pretty class which did a -> Doc, instead, with an instance for Show a => a, which does text $ show
16:46 nnunley Makes sense.
16:46 ingy linking errors on OS X
16:46 ingy http://nopaste.snit.ch:8001/1967
16:46 * integral hasn't started hacking, so feel free to work on it, nnunley
16:49 autrijus ingy: some warnings do not an error make :)
16:49 ingy oh
16:49 ingy I thought the linking was failing
16:50 ingy my bad
16:52 stevan autrijus: I got a werid error when trying to return a hash from a sub
16:52 stevan pugs -e 'sub foo returns Hash { my %h = ("one", 1); return %h }; my %hash = foo(); say ref(%hash)'
16:53 stevan it seems to only want to return List types
16:53 stevan am I doing something wrong? or is something not implemented yet?
16:55 ingy autrijus: why does Parser import Kwid.Parser ?
16:56 stevan ingy: it actually doesnt, its a cover,.. Kwid.Parser is actually filled with cocaine
16:56 ingy hehe
16:57 Coke_ autrijus - how are you tracking issues at the moment?
16:57 ingy rtrtrtrtrt
16:58 nnunley Kwid.Parser is a mule?
16:58 ingy Kwid.Parser makes the big $$$
16:58 stevan Kwid.Parser wouldn't make it through customs
16:58 nnunley Only if the condoms don't rupture.
16:58 Coke_ It doesn't look like http://rt.perl.org/rt3/Search/Listing.html?ValueOfStatus=open&amp;ValueOfStatus=new&amp;StatusOp=%3D&amp;QueueOp=%3D&amp;ValueOfQueue=16&amp;RowsPerPage=50&amp;NewSearch=1 has any pugs issues, which is why I asked.
16:59 stevan Kwid.Parser's eyes are totally red,.. it will get pulled aside for sure
17:00 integral there's also issue tracking stuff on openfoundry afaik,  but p6c seems to get used :-)
17:01 Coke_ I wonder if adding a pugs queue to rt would confuse or help.
17:02 integral oops, I read that as rt.cpan.org,  since there's that too
17:02 Coke_ I was referring to http://rt.perl.org/rt3/
17:03 * Coke_ ers, https://rt.perl.org/rt3/, as robrt keeps reminding him.
17:03 rgs There's already a pugs queue in the CPAN rt
17:03 rgs and it's managed by obra iirc.
17:04 Steve_p Is there?
17:04 Steve_p mmmm....tickets
17:04 rgs Steve_p :)
17:04 Coke_ I am continually disturbed by the lack of resource sharing. =-)
17:05 Coke_ https://rt.cpan.org/NoAuth/Bugs.html?Dist=Perl6-Pugs&amp;ShowAll=1 appears to be empty, btw.
17:05 xerox Coke_, www.cpushare.com ?
17:05 xerox ;))
17:06 integral The only bugs I've seen reported so far have gone via p6c, or here
17:06 * Steve_p has to work on Perl 5 bugs first this weekend to help prevent the "code slush" of the previous release
17:10 jiing has quit IRC (Remote closed the connection)
17:11 saorge has joined #perl6
17:18 theorbtwo has quit IRC (Remote closed the connection)
17:25 cls_bsd well, hanoi.p6's bin path can be rewrited to #!env pugs , instead of #!/usr/bin/pugs
17:28 PerlJam cls_bsd: no, it should probably be #!perl6 to match the rest of the examples.
17:30 PerlJam In any case, something is wrong there (that I haven't the time to track down) because hanoi.p6 gives the wrong output
17:31 autrijus #!perl6 is cor5rect.
17:31 PerlJam autrijus: that's good because I just changed it  :-)
17:31 clkao dear pugs'ers, svk 0.30 released.
17:32 ingy clkao++
17:32 stevan autrijus: a lot of the tests say !#/usr/bin/pugs,.. should I change them to #!per6?
17:32 autrijus woot.
17:32 nnunley clkao: Burn the diskpacks.  Full speed ahead.
17:32 autrijus clkao++
17:32 autrijus stevan: no, tests can remain whatever they like
17:32 stevan ok
17:32 nnunley clkao++
17:32 autrijus /usr/bin/pugs is better because "prove" will use it.
17:32 integral you'll find me to blame for spreading #!/usr/bin/pugs about the tests so widely
17:33 stevan integral: me too
17:33 PerlJam me three :)
17:33 stevan (although I was probably copying you)
17:33 PerlJam It's only in Dialects/perlego that you'll find tests that don't start with #!/usr/bin/pugs
17:35 autrijus and perlego is something we pretend to not exist.
17:35 autrijus (it's not even listed in test files.)
17:36 cls_bsd PerlJam: yap, perl6 is better
17:40 ingy is anyone currently hacking on Makefile.PL
17:40 ingy I am trying slightly different setup
17:41 autrijus prolly not. go ahead :)
17:41 * ingy conjures up her legendary Makefile fu
17:41 autrijus oooooh
17:45 jiing has joined #perl6
17:47 rgs what's perlego ?
17:48 nnunley rgs: related to perlid and perlsuperego
17:48 autrijus rgs: juerd's dialect
17:49 rgs hmm
17:56 cognominal has quit IRC (Read error: 60 (Operation timed out))
17:56 ingy autrijus: can we talk about layout for a bit?
17:57 ingy I think Kwid in src is the wrong place
17:57 autrijus ingy: sure, type ahead
17:57 ingy it is a module
17:57 ingy and an XS exxtension
17:58 autrijus ok... ext/ ?
17:58 ingy and a binary
17:58 autrijus ext/Kwid/
17:58 ingy and needs its own Makefile, etc
17:58 ingy sounds good
17:59 autrijus ok, please do the moving
17:59 ingy I want it to get triggered by the main `make`
17:59 autrijus ext/Kwid/src
17:59 autrijus the idea is that each extension has its own
17:59 autrijus src/ (hs libs)
17:59 autrijus lib/ (p6 libs)
17:59 autrijus t/ ( tests)
17:59 ingy right
17:59 autrijus the src/ thing is a haskell world convention.
18:00 ingy I'll work on it
18:00 ingy src/ is fine
18:00 autrijus you can trigger sub makefiles using the usual pcore perl trick.
18:00 autrijus core perl, even
18:00 ingy yep
18:00 autrijus I think schwern has worked on recent makemakers to make recursive makefiles work even better
18:00 autrijus but my memory is fuzzy
18:00 clkao multiple makefiles at least
18:00 ingy I just tried putting a dummy Makefile.PL in src
18:01 ingy it wasn't triggered by `perl Makefile.PL`
18:01 ingy I wonder if M::I is mucking something
18:06 metaperl6 has quit IRC (Read error: 104 (Connection reset by peer))
18:06 metaperl has quit IRC (Read error: 110 (Connection timed out))
18:07 marcusT has quit IRC ("Konversation terminated!")
18:13 ingy pugs build fails on OS2 and VMS!!
18:14 autrijus ...
18:14 ingy FULL DETAILS AT 6!
18:14 autrijus where?
18:14 Juerd rgs: support for sigilless scalars, support for parenless method calls, support for <-> (bidirectional ->, i.e. "is rw" implied), support for stacked statement modifiers, support for an include()
18:14 Juerd rgs: That is Perlego.
18:14 rgs ok, the include() is a cpp-like feature ?
18:14 Juerd No
18:14 Juerd It's runtime
18:15 Juerd It's do FILE, but in the caller's scope
18:15 rgs ok
18:15 rgs eval `cat file`
18:15 Juerd Yes, that
18:15 Juerd But with a proper #line
18:15 rgs :)
18:16 Juerd See http://tnx.nl/include
18:16 Juerd The "should not want to include" thing should change IMHO
18:16 Juerd It can be very practical
18:16 Juerd And it's not Perl's job to limit possibilities
18:17 ingy Juerd: add indentation based scope!
18:17 Juerd No
18:17 Juerd That's not something I want
18:17 ingy wimp
18:17 webmind is it correct that svn update doesn't work on the pugs  repository ?
18:17 Juerd ingy: It's easy to implement with a custom grammar.
18:17 Juerd ingy: Building it for Perl 5 with a source filter took me a few minutes only.
18:18 ingy =)
18:18 Juerd http://perlmonks.org/?node=Mandatory%20indenting
18:24 ihb Juerd: not that it matters, and not that you seem to care (judging from the numerous comments about you not caring in the post :-)) but should "foo\n\t\tbar\n\t" reasonably translate to "foo { { bar } baz }" instead of "foo { bar } baz"?
18:26 ihb err, missed the 'baz': "foo\n\t\tbar\n\tbaz\n"
18:26 webmind Juerd, flamy replies :)
18:26 Juerd ihb: :)
18:26 ihb i like the reply at http://perlmonks.org/?node_id=267096 :-)
18:31 nnunley webmind:  You might have problems updating pugs if you're using windows or hfs under OSX.
18:32 ihb Juerd: i will not flame nor argue with you, i'm just curious: do you hate the mandatory indenting in haskell as well?
18:32 Juerd I don't know haskell
18:32 Juerd From what I've seen of it, it appears not to have the typical problems attached to mandatory indenting because it's an entirely different language
18:32 nnunley webmind:  A file (t/kwid/readme) changed case to (t/kwid/README)
18:33 ihb mah, my memory is so crappy. i've even written a reply in that thread, yet i didn't remember it.
18:33 Juerd Long lines, named arguments, and sequential structured code appear to be things Haskell doesn't have :)
18:33 ihb juerd: it has both long lines and named arguments.
18:34 Juerd Then are those not used? :)
18:34 ihb foo x y = x + y # named arguments.
18:34 ihb used all the time.
18:34 Juerd Or is indenting used for continuation? For that, it can be very useful
18:34 Juerd ihb: arguments, not parameters
18:35 autrijus hmm, in hanoi.p6 it can probably use string interpolation
18:35 autrijus no need to do "~str"~$var now :)
18:35 Juerd ihb: In open(file => $fn), $fn is a named argument, "file" is its name
18:35 ihb in my world arguments and parameters when talking about functions are the same thing.
18:35 Juerd That "file" happens to also be the name of the parameter is irrelevant
18:36 Juerd ihb: Arguments are passed, parameters are expected.
18:36 ihb Juerd: i use the directly opposite convention. :-)
18:36 * autrijus sleeps. g'nite! :) &
18:36 Juerd Arguments are values, parameters are part of the sub's signature
18:36 Juerd 19:38 < ihb> in my world arguments and parameters when talking about functions are the same thing.
18:36 Juerd 19:38 < ihb> Juerd: i use the directly opposite convention. :-)
18:36 Juerd Inconsistency within one minute. Well done.
18:36 ihb Juerd: yeah, but i use "named" only with parameters.
18:37 Juerd New to Perl 6 are named parameters, named arguments already existed.
18:37 Juerd Also new is the *link* between named parameters and named arguments, in that a parameter's name can also be used to name an argument.
18:37 ihb in my Perl 5 world @_ holds args/parameters, when you do foo(bar => $baz) i refer to that as the "named parameter bar", but i don't really care and could go the other way if i wanted to.
18:38 Juerd Perl 5 has no parameters except @_
18:38 Juerd It's named argument.
18:38 autrijus 2~ :)
18:38 Juerd 2~?
18:38 autrijus http://use.perl.org/~autrijus/journal/23446
18:38 metaperl_ has joined #perl6
18:38 autrijus bad network-caused random char.
18:39 autrijus now the journal's up, I need to really sleep.
18:39 autrijus see you in ... 5 hours ;)
18:39 metaperl_ autrijus, having 2 modules named Junc.hs is something of a prob
18:39 ingy autrijus: ext/Kwid lives
18:39 ihb Juerd: you know that this is all about what you call it, right? we just have different definitions of world. afaik, there's no general definition. perhaps perl 6 has introduces a def for perl 6.
18:39 Juerd Sleep more, autrijus. Good night!
18:39 metaperl_ terry@Abulafia:~/hacks/hs/pugs/pugs/docs/src$ ghci -i../../src ./Junc.hs
18:39 metaperl_   ___         ___ _
18:39 metaperl_  / _ \ /\  /\/ __(_)
18:39 metaperl_ / /_\// /_/ / /  | |      GHC Interactive, version 6.2.2, for Haskell 98.
18:39 metaperl_ / /_\\/ __  / /___| |      http://www.haskell.org/ghc/
18:39 metaperl_ \____/\/ /_/\____/|_|      Type :? for help.
18:39 metaperl_
18:39 Juerd ihb: Yes, I do. My opinion is singular and simple: let's use *Perl's* jargon in this channel.
18:39 metaperl_ Loading package base ... linking ... done.
18:39 metaperl_ ./Junc.hs: file name does not match module name `Junc'
18:39 metaperl_ Prelude> Leaving GHCi.
18:40 Juerd ihb: And where there is any ambiguity between 5 and 6, Perl 6's jargon should be assumed
18:40 metaperl_ I can't name the module for playing with Junc.hs Junc.hs and I cant give it the module name Junc
18:40 ihb Juerd: i didn't know there was a perl5 jargon on this issue, and we were talking *haskell* which increase ambiguity even more...
18:40 Juerd ihb: I'm not making up the jargon, the words are used consistently in Perl 5's documentation and in books.
18:40 ihb anyway, useless discussion really. we know what we mean.
18:40 Juerd See also http://juerd.nl/perladvice for a small list of jargon
18:41 Juerd Speaking the same "language" is very important when trying to communicate
18:43 ihb yeah, i mostly reacted to "arguments, not parameters" and made you aware of that i didn't use those terms like you, precisely to make us speak the same language (or know the other person's language to reduce confusion).
18:44 sahadev has joined #perl6
18:46 ihb anyway, seems i learned something new about the perl5 conventions.
18:46 webmind nnunley, running GNU/Linux here
18:47 Juerd You've used Perl 5 for a long time. It amazes me that you weren't already aware of this
18:47 webmind nnunley, "svn: 'http://svn.openfoundry.org' is not a working copy" is the error I get
18:47 ingy webmind: for what command?
18:48 ingy svn checkout http://svn.openfoundry.org/pugs/ src/pugs
18:49 ihb Juerd: i've never made nor noticed anyone else make a strict distiction between parameters and arguments.
18:53 Juerd And that is amazing
18:54 webmind ingy, svn update http://svn.openfoundry.org/pugs/
18:55 clkao webmind: you can't do that.
18:55 webmind why not ?
18:56 clkao up takes a wc, you want to checkout or up the localpath
18:56 webmind ah
18:56 ihb Juerd: Learning Perl doesn't seem to follow that convention consistantly.
18:56 webmind silly me
18:56 Juerd Learning Perl is an old book
18:57 ihb err, i mean Beginning Perl.
18:57 Juerd 2nd edition?
18:57 webmind Juerd, why the subs before the code ?
18:57 ihb Juerd: http://learn.perl.org/library/beginning_perl/3145_Chap08.pdf
18:57 Juerd webmind: Predeclaration
18:57 Juerd ihb: That's the 1st ed.
18:58 ihb Juerd: when was the second released?
18:59 Juerd webmind: When I teach you about a subject you know nothing of, do you want me to first talk to you for an hour and then explain the technical terms I couldn't avoid, or do you want me to explain the building blocks first, so you can actually understand what I'm saying? :)
18:59 Juerd ihb: I don't know
18:59 ihb Juerd: it seems like back in spring of 2000.
18:59 metaperl_ Juerd, let people learn without you talking at all
19:00 metaperl_ put in the words later
19:00 webmind Juerd, I prefer to read a document and loop up terms I don't know a long the way ?
19:00 webmind s/loop/look/
19:00 Juerd webmind: That's not an easy option for a compiler.
19:01 Juerd webmind: And for me, when I'm reading your code
19:01 Juerd Why do you have your "use" statements before your main code?
19:01 webmind a compiler can first check for subs and then parse everything else ?
19:01 Juerd Why do you declare variables *before* using them?
19:01 Juerd Why would you do things differently for subs?
19:02 webmind because subs take up space
19:02 Juerd webmind: How does it know it's a sub?
19:02 Juerd webmind: That's why you should put them in a module :)
19:02 webmind Juerd, that makes sense..
19:02 webmind the module thing
19:02 Juerd And then load that module BEFORE using its subs, with "use"
19:03 Juerd Post-declaration doesn't work well
19:03 webmind but if I have a simple sub.. I rather put it below my code.. then to make a different file
19:03 justatheory has quit IRC ()
19:03 Juerd If it's simple, it's small enough to not disturb the reading flow.
19:03 Juerd If it's not simple, it's important enough to let the reader know what the hell it does.
19:04 webmind well if I have 2 simple subs.. and I put them at the beginning.. that takes about one page
19:04 Juerd What's the problem?
19:05 webmind and every time I open the file.. I have to scroll atleast one page down
19:05 webmind because I don't care about the sub
19:05 Juerd You only update the main code, never the subs? That's very unlikely.
19:05 webmind yes
19:05 Juerd If your code is good, everything is in subs anyway, and your main code only contains some flow logic
19:06 Juerd Now, if you're limiting the discussion to small throwaway/sysadmin scripts, then I'd say: declare subs just before you use them.
19:06 Juerd Because you then probably have no documentation either
19:06 Juerd And this keeps things that belong together, together.
19:06 webmind no.. no docs :)
19:07 Juerd But, to put everything in a very narrow Perl 5 context:
19:07 webmind well if you want to hurt your eyes.. you might wanna look at the source code of my page.. that's what I kinda was referring to..
19:07 Juerd Declare subs before using them because otherwise you need ugly parens. You need the parens, because the parser has no indication otherwise that you're calling a sub. The parens do indicate this because this is a weird and annoying exception in how the parser works.
19:08 webmind parens == () ?
19:09 Juerd With exceptions removed, parens are only for precedence, and you MUST predeclare subs
19:09 Juerd I expect Perl 6 to behave in this different, more sane way. But I'm not sure, as Larry klings to some other weird behaviours as well.
19:09 Juerd parens are parentheses are ()
19:09 webmind :)
19:09 webmind ah k
19:10 webmind well I kinda like using them anyway :)
19:10 webmind and then pugs didn't compile anymore :))
19:11 Juerd I'm forgetting something, but I'm not sure what it is exactly. It boils down to not being able to remove the special case for a (LHS)whitespaceless () postfixoperator.
19:11 Juerd But then, it's a postfix operator instead of a grammar hack, and it's fair because it was also predeclared.
19:12 webmind ok
19:13 ihb Juerd: back. considering i learned about Perl subroutines in 1999/2000, and it doesn't seem to be any widely agreed upon convention about params/arguments at that time, i don't find it amazing that i don't do your distinction between params and arguments in Perl.
19:15 Juerd Perl has indeed only recently become a more exact science.
19:16 Limbic_Region has anyone noticed Larry responding to the Perl oddities thread at the Monastery with p6 answers like a mad man?
19:16 Juerd Probably because with the advent of Perl 6, having clear what we mean is now more important.
19:16 Juerd Limbic_Region: No, but I don't read most of PM anymore.
19:16 Limbic_Region hmmm - perhaps that won't parse as intended s/like a mad man/abundently/
19:17 Juerd I have noticed that timtoady is very active in providing perl 6 answers in PM
19:17 Juerd But that isn't new
19:17 ihb Juerd: How would i say "Having several ..... types can be written as e.g. sub foo (\[$@%);". params or arguments?
19:17 Juerd ihb: Hard to say :)
19:18 Juerd ihb: Probably argument
19:18 Juerd Because the type is a property of the value, not of the name or signature.
19:19 Juerd (It's *part of* the signature, though)
19:19 ihb what about prototype "($;$)", does the semi-colon seperate required from optional argument or parameter?
19:20 justatheory has joined #perl6
19:20 Juerd argument, but it's part of the parameter specification
19:20 Juerd It's optional from the caller's point of view
19:21 ihb how do you define parameter again?
19:21 Juerd Something that is expected (or even optionally expected)
19:21 ihb so you could equally well say "optional parameter".
19:21 Juerd No, the parameter is there
19:21 Juerd Even if it's optional
19:22 Juerd Parameters are part of the sub's declaration.
19:22 Juerd This becomes more apparent and more important with multis
19:22 ihb so you can't say "foo has one optional parameter"?
19:22 Juerd It has the parameter anyway.
19:22 Juerd If you don't pass an argument for it, that doesn't take the parameter away.
19:23 ihb i don't see a conflict with that.
19:24 Juerd Parameters enable arguments.
19:24 Juerd They are their declaration.
19:24 Juerd parameter <-> variable
19:24 Juerd argument <-> value
19:25 ihb so "optional parameter" is nonsense?
19:25 Juerd Or, in more internationally accepted notation: parameter : variable :: argument : value
19:25 Juerd ihb: It might not be, but I, for one, have no idea what it could mean.
19:25 Juerd Every parameter is optional during hacking time, they're all there during runtime :)
19:26 Juerd Perhaps you could say that if a parameter is not used, it is redundant and thus optional
19:26 Juerd But that's probably not even worth thinking about :)
19:26 ihb that's what i'm getting at.
19:26 Juerd Note that "used" refers to the code block of the sub the parameter is of
19:27 Juerd Not to the sub's call
19:27 ihb so what does "optionally expected" mean?
19:27 Juerd As with sub double ($value, ?$optional_parameter) { ... }  # You could leave $optional_parameter out of the code and it won't behave any differently, given sane calling code.
19:28 Juerd ihb: It can be there, but it's not required
19:29 ihb didn't you just say that you have no idea what "optional parameter" would mean, but you have it in that signature? i'm confused.
19:29 Juerd "expected" is not the right word anyway, but English lacks a word for "made able to exist", afaik
19:29 Juerd 20:28 < Juerd> Perhaps you could say that if a parameter is not used, it is redundant and thus optional
19:29 rgs Juerd: evocate ?
19:29 Juerd "Perhaps"
19:29 qmole enabled?
19:29 Juerd I was just thinking of possible meanings
19:30 Juerd qmole: I've used that word in one definition, but it's too broad.
19:30 ihb Juerd: i think a clearer way of saying what you try to say would be "parameters are declared, arguments are passed".
19:30 Juerd ihb: Parameters declare arguments
19:30 qmole okay. i can't believe there isn't one :)
19:30 Juerd Or rather, the variables for the arguments
19:31 ihb Juerd: yeah, they can't declare arguments, that wouldn't make sense.
19:31 Juerd ihb: If you s/declared/declaration/, then it's a correct definition, but there is no longer a clear *distinction*
19:32 Juerd ihb: You could say that with .assuming, you're declaring arguments.
19:32 ihb Juerd: .assuming is currying?
19:33 Juerd Yes
19:33 ihb Juerd: anyway, perlsub needs to be fixed if this actually is an agreed-upon convention/definition in Perl 5.
19:33 Juerd &bar = &foo.assuming(quux => 5) declares that the argument named quux be 5 for &bar
19:34 Juerd ihb: Where there's no confusion possible, being relaxed about strict meanings of words can actually improve readability
19:35 ihb would it be wrong to say s/declares/defines/
19:35 Juerd I was just defining something and thus tried hard not to introduce an inconsistency, but if outside the scope of this discussion I had to communicate the same, I'd probably say "the named argument 'quux'" instead of "the argument named quux"
19:35 ihb Juerd: ... except it makes you end up in useless discussions on irc.
19:36 Juerd ihb: my $foo is a declaration
19:36 Juerd $foo = 5 is definition
19:36 Juerd my $foo = 5 is declaration combined with definition.
19:36 Juerd sub foo; is declaration
19:36 Juerd sub foo { ... } is definition
19:36 Juerd (and declaration)
19:37 Juerd (after sub foo;, &foo is still not defined())
19:37 ihb imho, perlsub is the authorative document on perl's subs, so it should be as correct as possible. it's hard to say that it's the Perl convention is perlsub doesn't support it.
19:37 ihb Juerd: i know the different between declaring and defining subs.
19:38 ihb s/t /ce /
19:38 Juerd ihb: There are loads of people who have a very strong opinion about doing the wrong thing. One of the wrong things that have a lot of supporters is writing something that isn't strictly correct, because it looks more "natural".
19:38 Juerd I do agree that perlsub needs to be fixed, but in that light I have a very big wishlist for the perldocs.
19:39 coaster "data is" vs "data are"
19:39 Juerd I'm glad the array/list thing is finally sorted out, but I wouldn't want to be the one who has to convince people who hate definition that using the right words is important.
19:40 Juerd coaster: Your sentence no verb, only subject. I don't know what you mean.
19:40 Juerd Possibly object.
19:40 ihb Juerd: datum = singularis, data = pluralis.
19:40 coaster most people write "...data is..." even though data is plural and should be written with are
19:41 Juerd That's not entirely true in today's meaning of the word.
19:41 Juerd Data is like array
19:41 ihb Juerd: i think it's OK to do the wrong thing, if you first state what's right and say you'll use the wrong thing to make things more comprehendable. :-)
19:41 Juerd "foo" *is* data
19:41 Juerd Because "foo" certainly is singular.
19:41 coaster foo is datum ;D
19:41 Juerd Datum is not English. That's Latin.
19:42 Juerd Now, if "datum" were your word for "date", "data" should in fact be a valid plural for it.
19:42 ihb and datum is very confusing because in swedish it means "date" (calendar).
19:42 Juerd That's what we have in Dutch. Fortunately, "datums" is also valid, so you can disambiguate a little.
19:42 obra ingy? will kwiki be the first application ported to perl6?
19:42 nnunley Soylent Green is people.  Mmmm.  Soylent Green.
19:43 Juerd obra: Aren't you going to beat him by porting RT? (And thus all of its dependencies? *grin*)
19:43 Steve_p Juerd, datum is in English, it just is not really used
19:43 ihb btw, is &foo in "my $foo; sub foo { $foo }" a closure?
19:43 Juerd obra: It would have the extraordinary advantage of having half of the Phalanx 100 ported as well :)
19:44 ihb a natural language is the funniest thing, it keeps changing and you can't define it.
19:44 Juerd ihb: Yes.
19:44 ihb Juerd: using which definition of closure?
19:44 perldude has joined #perl6
19:44 metaperl has joined #perl6
19:45 Steve_p obra, I'm looking to get blosxom ported as soon as I can do a `stat` in Pugs
19:45 Juerd ihb: The one that says a closure is a procedure (subroutine) that uses externally declared local (lexical) variables :)
19:45 * Steve_p has a bit to go in pugs to do that
19:45 ihb Juerd: is that the Perl 5 definition?
19:45 Steve_p err, Haskell
19:45 Juerd ihb: If you use the words in parens, yes.
19:45 Juerd :)
19:45 rgs Steve_p: that would be excellent.
19:45 nnunley Steve_p:  Isn't that just another add to Posix.hs?
19:46 rgs Steve_p: blosxom only uses %*ENV{"PATH_INFO"} doesn't it ?
19:46 ihb Juerd: different people say different things on this issue.
19:46 ingy obra: Kwiki is already slow ;)
19:47 Steve_p rgs: no, it does stats, globs, and reads files
19:47 rgs Steve_p: Posix.hs would be the place to add a stat call.
19:47 rgs glob is more difficult i think
19:47 Juerd ihb: That's because these things are hard to grok.
19:47 Steve_p Yeah, I started looking at it last weekend but had no time.  It doesn't look like it'd be too bad to do
19:48 * Steve_p hopes to avoid the mess that is the glob of Perl 5
19:48 rgs I thought about porting blosxom too.
19:48 ihb Juerd: do perl -MDevel::Peek -wle 'my $bar; sub foo { 1 } sub bar { $bar } my $baz = sub { $bar }; Dump \&foo; Dump \&bar; Dump $baz;'
19:48 ihb Juerd: notice that '3. 0x182d604 ("&" 1--1)' at the bottom?
19:49 Juerd ihb: You need a very thorough understanding of something to be able to define it, and not many people have that. To make things worse, most people who do have in their minds a thorough definition of how things work, cannot express the system in words.
19:49 rgs er hm.
19:50 Juerd ihb: What about it?
19:51 Steve_p rgs, hmmm?
19:51 rgs I can't express it in words.
19:51 ihb Juerd: what does it mean?
19:52 Juerd I have no idea.
19:52 ihb Juerd: the other subs doesn't have it. i recall something about it being there and it had something to do with closureness. what becomes interesting is that &bar doesn't have it.
19:55 ihb aha.
19:56 ihb perlintern "If the 'name' is '&' the corresponding entry in frame AV is a CV representing a possible closure."
19:59 ihb also, from perlfaq 7: "Closures are implemented in Perl as anonymous subroutines with lasting references to lexical variables outside their own scopes." But we've concluded that the perldocs needn't be trusted on complicated issues. perlref however supports the definition with anonymous subroutines only.
19:59 tmoertel has quit IRC (Ping timeout: 14400 seconds)
19:59 ihb so can *someone* please tell me what is and what isn't a closure *in Perl 5*. :-)
20:00 * Steve_p guesses there is something on perlmonks on closures
20:01 ihb Steve_p: disagreements there too, even the Perl "authoratives" disagree there.
20:02 qmole i'd agree with that perlfaq
20:02 Limbic_Region are closures like pr0n - I can't give you a definition but I'll know it when I see it?
20:02 qmole that was my understanding of them
20:02 Steve_p http://www.stonehenge.com/merlyn/LinuxMag/col09.html # merlyn's article
20:03 Limbic_Region The spirit of a closure is such that a lexical that should have been GC'd because it went out of scope doesn't because something still has a reference to it
20:05 Limbic_Region /something/something still in scope/
20:17 tea has quit IRC ("using sirc version 2.211+KSIRC/1.3.10")
20:23 theorbtwo has joined #perl6
20:24 theorbtwo has quit IRC (Client Quit)
20:25 theorbtwo has joined #perl6
20:39 autrijus cat /etc/mak
20:39 autrijus oops, wrong window :)
20:39 Steve_p heh
20:39 * autrijus is finally back to freebsd.
20:40 theorbtwo Congrats, autrijus.
20:43 autrijus whew :)
20:48 pbuetow has joined #perl6
20:49 ingy autrijus: how is that sleep?
20:50 autrijus uneventful.
20:50 nnunley autrijus: Sufficient?
20:51 autrijus not at all.
20:51 Coke_ autrijus, shouldn't you be asleep? ^_^
20:51 ingy autrijus: I'm fighting with M::I and E::MM and subdir Makefile.PLs
20:51 * Coke_ is too slow.
20:51 ingy hopefully I'll win
20:52 autrijus I hope that too.
20:52 ingy Then we can move Test.pm into ext/
20:52 autrijus maybe. but it is not XS?
20:52 autrijus or do you think it's not important, we should just throw things to ext/?
20:53 ingy that's what i would thik
20:53 ingy think
20:53 ingy but i still need to get the MM magics working first
20:54 ingy autrijus: If i patch directly into inc/Module/Install/MakeMaker.pm, can you then backport
20:55 autrijus sure will.
20:56 sorje has quit IRC ("leaving")
20:56 sorje has joined #perl6
21:03 Limbic_Region has quit IRC ("tiuq\")
21:08 sorje has quit IRC ("leaving")
21:11 mugwump ingy, is perlkwid available for use in perl5 programs via a source filter?
21:11 crysflame .
21:22 mugwump also, all kwiki.org links seem to be 403's
21:23 buu_sleeping is now known as buu
21:23 Coke_ OOC, what's the rationale on open:.comment::close:.comment. ? is there precedent for the trailing . there?
21:24 autrijus not afaics.
21:26 buu Coke_: No, it's purely random
21:26 buu Because KWID is the spawn of satan.
21:26 stevan autrijus: any movement on the multi-dimensional arrays?
21:26 autrijus stevan: yeah, I've got the problem grokked
21:26 stevan cool
21:27 autrijus just had not time to hack it; I'm still syncing things
21:27 autrijus and setting up env
21:27 stevan I was starting to think I was gonna need to buy a Haskell book :)
21:27 autrijus aww, just buy one :)
21:27 autrijus or read YAHT again
21:27 crysflame where's the haskell perl cookbook?
21:27 crysflame or.. whatever it was
21:27 * stevan has some examples planned but needs nested data structures
21:27 obra autrijus, how much are you coding these days vs writing specs so others can implement?
21:27 autrijus it's in Eval.hs
21:27 autrijus [Syn "[]" [Var name, indexExp], exp] -> do
21:27 crysflame Coke: RFC 822 ends messages with a trailing dot
21:28 autrijus need to factor that out into a func and make it recursive
21:28 crysflame so if you replace ".comment" with "" in your mind and ".comment." with "."
21:28 crysflame since "" is the divider between the message headers and the content
21:28 autrijus that's all neesds to happen
21:28 autrijus same thing for Syn "{}"
21:28 crysflame and then "." ends the content
21:28 Coke_ crysflame... that's very lame. =-)
21:28 Coke_ or, should I say, "it's a stretch".
21:28 autrijus obra: it's the other way around... t/* is the spec :)
21:28 crysflame Coke: well, it's off the top of my head, what do you expect
21:28 stevan autrijus: I will look over it today, but no promises :)
21:28 autrijus obra: and as for implementation, I think I'm still doing about 80% of the haskell side things
21:29 autrijus stevan: sure, I appreciate it. it's probably not the easiest place to start reading, though. :)
21:29 autrijus stevan: although the logic is quite straightforward.
21:29 stevan autrijus: I am gonna start with YAHT, then we will see :)
21:29 autrijus stevan: if you are feeling glorious, the indexExp is currently singular
21:29 crysflame autrijus: is there a way to explicitly and permanently collapse a variable that may or may not contain a junction(s)?
21:30 autrijus if you can detect a list there, then you get slice assignment for free.
21:30 autrijus crysflame: sure, via unary prefix ?
21:30 crysflame ok
21:30 crysflame so $var = ?$var
21:30 obra 821 coral  
21:30 crysflame obra: 467 obra
21:30 crysflame (huh?)
21:30 obra RFC 821, no?
21:30 crysflame for.. email?
21:30 crysflame RFC 2822 is the most current
21:31 crysflame i don't know what delineates the SMTP terminator, though
21:31 obra RFC *82_1_ is smtp, which should define the ".", not 822, which defines message format
21:31 autrijus crysflame: unary ? only gives you a Bool though
21:31 crysflame autrijus: erk
21:31 autrijus if you want values, trunk pugs now does $junc.values
21:31 crysflame i have any(7|8|9) in a variable
21:31 autrijus which may or may not be what you want.
21:31 crysflame normally each time i work with the variable in a print, it prints something, one of the three.
21:31 crysflame is there a .collapse() method that'll just collapse it, once, and make it stick?
21:32 autrijus you mean, pick one at random?
21:32 crysflame so if i have any(any(any()|)|...) and so forth
21:32 autrijus there is an argument for a .pick.
21:32 autrijus you are welcome to write a test for it.
21:32 autrijus I think damian has mentioned it a while back. grep p6l for ideas
21:32 crysflame ok, cool
21:33 crysflame hmm, okay
21:33 crysflame so my explanation melds 821 and 822 into an evil twisted joke. neato. thanks for correcting me -- i didn't realize smtp was so closely numbered
21:38 pjcj has quit IRC (Read error: 104 (Connection reset by peer))
21:38 pjcj has joined #perl6
21:41 nnunley Blah.  Almost done converting Pretty so it uses Text.PrettyPrint
21:43 nnunley Just trying to figure out a type err. :/
21:44 autrijus !!
21:44 autrijus wow. amazing :)
21:44 autrijus what type err?
21:44 autrijus maybe #haskell can help?
21:44 autrijus or you can just commit and let me look at it? :)
21:46 ingy autrijus: need your help a second on M::I
21:46 autrijus yes?
21:46 iblechbot has quit IRC (No route to host)
21:46 ingy ok
21:46 ingy so I defined build_subdirs()
21:47 ingy which is working
21:47 ingy build_subdirs('ext/Kwid')
21:47 autrijus woot
21:47 autrijus but?
21:47 * Steve_p was just wondering how to add makefile steps to M::I
21:47 autrijus stevan: postamble
21:47 autrijus err
21:47 autrijus Steve_p: postamble
21:47 ingy and if I ln -s ../../inc
21:47 autrijus but there's no good API
21:47 Steve_p Great!
21:47 ingy it all works
21:48 * buu complains about crappy nmake
21:48 autrijus for good API, see Module::Build
21:48 buu autrijus: Were you saying something about converting to Module::Build?
21:48 autrijus ingy: so you'd like to use abs path for inc in INC?
21:48 autrijus buu: yeah, I said something about patches welcome.
21:48 autrijus and I'd suggest redo BuildPL from scratch
21:48 autrijus Build.PL, even
21:49 buu Er, Makefile.PL ?
21:49 autrijus Build.PL. that's what M::Build uses
21:49 integral buu: using Build.PL would avoid all the nmake stuff
21:49 ingy autrijus: I need to do something
21:49 buu autrijus: ER, right, I know that, but build.pl doesn't exist now does it?
21:49 ingy it looks like M:::I::Admin loads modules by hand
21:49 buu integral: Yes, if there was a build.pl..
21:49 autrijus buu: right, so, it needs to be written.
21:50 autrijus writing a build.pl is not that hard. :)
21:50 integral buu: err, well you write it.  See perldoc Module::Build, there's examples
21:50 buu autrijus: Right-o. But you said "redo build.pl", implying one already existed. So you confused me =]
21:50 ingy even though I declared `use lib '../../inc'`
21:50 ingy hmm
21:50 autrijus buu: ahh. sorry. I mean "redo" in the "redoing what Makefile.PL does"
21:50 autrijus ingy: use FindBin and
21:51 buu Right.
21:51 autrijus "$FindBin::Bin/../../inc"
21:51 ingy ERROR from evaluation of /Users/ingy/src/pugs/ext/Kwid/Makefile.PL: Can't open inc/Module/Install/Base.pm for input:
21:51 ingy No such file or directory at /Users/ingy/local/lib/perl5/site_perl/5.8.6/Module/Install/Admin.pm line 132.
21:52 ingy Admin needs to be smarter
21:53 autrijus right.
21:53 autrijus it needs to fix paths.
21:53 ingy I'll add what you say in Admin
21:53 ingy ok
21:53 autrijus cool. :)
21:53 autrijus and I need to sleep and let java compile itself.
21:53 * autrijus sold soul to eclipse
21:53 buu The devil!
21:53 ingy btw, I think there must be only one inc/ dir
21:54 autrijus ingy: makes sense
21:59 crysflame ta
22:10 Coke_ is now known as Coke
22:13 buffer has joined #perl6
22:14 ihb does the indirect object syntax buy anything over "regular" object syntax or is it just a matter of taste?
22:16 Juerd Taste.
22:17 Juerd Some people like "new SomeThing" over "SomeThing.new", because they're used to other languages
22:17 rgs the indirect object syntax is a hell to parse
22:17 Juerd It's a preference for more natural sentences
22:18 Juerd It makes sense when the method name is an action and the object is, well, the object
22:18 Juerd drink $beer makes more sense than $beer.drink
22:19 Juerd And join @array makes more sense than @array.join
22:19 Juerd This analogy fails when you censider actions that are done *by* the object
22:19 Juerd parse $parser makes no sense, $parser.parse does
22:20 rgs in python that's separator.join(list)
22:20 Juerd I prefer syntax-wise consistency, because I find that easier to parse
22:20 rgs awful
22:20 Juerd rgs: In pugs too, unless autrijus fixed that already :)
22:20 Juerd (Side-effect of not really having objects)
22:20 rgs arf :)
22:20 Steve_p me.drink $beer
22:20 Juerd Steve_p: Right, that's where it stops to make sense
22:20 Steve_p There's almost always an actor of some sort
22:20 ihb hoes does me.drink $beer parse?
22:20 rgs Steve_p: in perl 6 that's .drink($beer) in /me class :)
22:23 * Steve_p is trying to remember which language uses "me" for the intra-class invocant
22:25 Coke moo? =-)
22:25 Juerd It's me, not moo.
22:27 * Coke tries to figure out if juerd is making a joke or not.
22:28 buu Yes.
22:28 buu s/m/y/
22:29 Juerd Coke: Whenever you disagree with me, assume I am joking.
22:29 Juerd Coke: Whenever you have no idea what I'm talking about, also assume I am joking.
22:29 buu Juerd: Awesome.
22:30 Juerd Coke: Whenever you know what I'm saying, and you agree, let me know, for that boosts my ego :)
22:30 Juerd buu: This doesn't necessarily imply you are allowed to laugh :)
22:30 buu Juerd: RFC 42321 says other wise.
22:31 Juerd There is no rfc 42321
22:33 buu You lie.
22:33 Steve_p heh
22:37 Juerd buu: No.
23:02 saorge has quit IRC (Read error: 60 (Operation timed out))
23:04 biz has quit IRC (Read error: 110 (Connection timed out))
23:06 buu has quit IRC (Read error: 60 (Operation timed out))
23:07 saorge has joined #perl6
23:08 crysflame hi, Juerd.
23:08 Juerd Hello
23:11 ingy is autrijus awake
23:12 crysflame he slept
23:12 ingy good
23:12 ingy I've totally refactored the Makefile.PL
23:12 ingy and added support to Module::Install for sub directories
23:13 ingy stuck on a little thingy though
23:13 ingy I guess I'll wing it
23:23 buu has joined #perl6
23:33 Cale has joined #perl6
23:36 justatheory has quit IRC ()
23:41 buu Juerd: can I laugh now?
23:41 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
23:46 Juerd buu: Find a coin
23:54 oylenshpeegul has joined #perl6
23:58 Odin- has joined #perl6
23:59 justatheory has joined #perl6

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

Perl 6 | Reference Documentation | Rakudo