Camelia, the Perl 6 bug

IRC log for #perl6, 2005-04-04

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:22 metaperl has joined #perl6
00:32 moustic has joined #perl6
00:45 elmex has quit IRC (Read error: 110 (Connection timed out))
01:15 castaway_ has joined #perl6
01:26 moustic has quit IRC ("using sirc version 2.211+KSIRC/1.3.12")
01:27 theorbtwo has quit IRC (Read error: 110 (Connection timed out))
01:29 castaway has quit IRC (Read error: 110 (Connection timed out))
01:37 Schwern has joined #perl6
02:00 kakos has joined #perl6
02:06 Schwern The recommended Haskell book is Algorithms or School of Expression?
02:07 Khisanth why not get both :)
02:11 jabbot pugs - 1504 - * repair make install on win32
02:12 justatheory has quit IRC ()
02:13 autrijus both :)
02:21 Khisanth hmm need to build ghc to play with pugs
02:23 autrijus no binary installers?
02:24 Khisanth apparently not
02:25 Khisanth this is on gentoo
02:26 Khisanth hopefully it takes less time to build than it takes me to sleep :)
02:31 jabbot pugs - 1505 - * TODOify
02:32 crysflame heh
02:32 rafl has quit IRC (Read error: 60 (Operation timed out))
03:20 autrijus call for preflight checks.
03:20 * obra checks.
03:20 obra my flight is still on
03:20 autrijus http://autrijus.org/tmp/Perl6-Pugs-6.0.14.tar.gz
03:21 obra is that the same as head?
03:21 cm has joined #perl6
03:21 autrijus only one difference: the modules/README does not mention the password ;)
03:21 cm has left
03:21 autrijus but otherwisethe same.
03:21 * obra snickers
03:21 jabbot pugs - 1507 - * 6.0.14 preflight!
03:21 jabbot pugs - 1506 - * yield() can be used alone
03:22 obra Oh.
03:22 obra I'm not building it anytime soon.
03:22 obra no 6.4 in ubuntu
03:23 autrijus you can use experimental in universe no?
03:23 obra oh. there's a ghc-experimental?
03:24 autrijus debian experimental I think
03:24 autrijus not sure
03:26 obra autrijus: http://haskell-unsafe.alioth.d​ebian.org/haskell-unsafe.html
03:26 autrijus that seems old
03:27 obra http://urchin.earth.li/pipermail/de​bian-haskell/2005-March/000073.html
03:27 justatheory has joined #perl6
03:27 obra two weeks old?
03:27 autrijus yeah, being prerelease and so
03:27 autrijus I think there's 6.4 final in the official debian repo
03:30 scw in experimental
03:31 * obra wonders if it's easier to just use haskell-unsafe since I'm on ubuntu and don't want to pull in the rest of experiemntal
03:34 scw In debian, experimental packages won't be installed automatically even it's in apt list
03:34 scw we have to specify it explicitly, e.g. apt-get install ghc/experimental
03:35 metaperl_ has joined #perl6
03:35 scw so only those not-so-important packages are experimental version.
03:38 * obra nods
03:38 scw in fact, I have ghc-6.4 and gcc-4.0 installed :p
03:39 autrijus scw: so, does it build for you?
03:39 autrijus 6.0.14 that is
03:45 obra autrijus: from an svk pull:
03:45 obra ERROR from evaluation of /home/jesse/svk/pugs/ext/Perl5-Kwid/Makefile.PL: Could not open 'lib/Kwid.pm': No such file or directory at /usr/share/perl/5.8/ExtUtils/MM_Unix.pm line 3062.
03:46 autrijus obra: that's weird, because there should be no ext/Perl5-Kwid anymore.
03:46 autrijus obra: raze your pugs dir
03:46 autrijus then 'svk revert -R .' ?
03:46 * obra nods
03:47 obra fwiw, I only have net for 10 more minutes
03:51 jabbot pugs - 1509 - * 6.0.14.
03:51 jabbot pugs - 1508 - * Correct TODO failures.
03:53 metaperl_ has quit IRC (Connection timed out)
03:54 autrijus final preflight:
03:54 hoowa has joined #perl6
03:54 autrijus http://autrijus.org/dist/Perl6-Pugs-6.0.14.tar.gz
03:57 liyuray has joined #perl6
03:57 Darren_Duncan hello again
03:57 Darren_Duncan I'll test this preflight ...
03:58 obra ok. 2 minutes to checkout time. goodbye world
03:58 liyuray has quit IRC (Client Quit)
03:59 liyuray has joined #perl6
03:59 ingy hola
04:00 Darren_Duncan download almost done
04:01 Darren_Duncan now starting 'make'
04:01 scw autrijus: I was reading log & diff since 3/31... vim says there are 60k lines!
04:02 Darren_Duncan has quit IRC ()
04:02 autrijus bbiab &
04:11 Darren_Duncan has joined #perl6
04:11 Darren_Duncan whoops, closed IRC by mistake
04:11 Darren_Duncan anyway, on to 'make test'
04:17 autrijus how'd it go?
04:18 autrijus no failures so far? :)
04:18 Darren_Duncan still happening
04:19 Darren_Duncan it's on t/pugsrun/08... now
04:19 Darren_Duncan all okay so far, or some skipped without reason given
04:20 Darren_Duncan away from comp for a few min
04:20 autrijus ok. uploading
04:24 drbean 3
04:29 Darren_Duncan I"m back
04:30 Darren_Duncan it says all tests successful
04:30 Darren_Duncan 4 times
04:30 Darren_Duncan with the first one, it says 2 skipped
04:31 jabbot pugs - 1510 - * add password back
04:35 Odin-LAP has quit IRC ("What's this button do?")
04:36 gaal hey all
04:36 gaal what, it's released?
04:37 gaal wow, cool, i can go rowing :)
04:41 theorbtwo has joined #perl6
04:44 theorbtwo Mornin, all.
04:50 gaal what's the difference beween 'make', 'make optimized', and 'make unoptimized'? my intuition is that bare 'make' oughta be an alias for one of the other two?
04:55 lucs has quit IRC ("...")
04:57 theorbtwo Hm, I wonder how/if I can fix the crossreferencer before release.
04:57 justatheory has quit IRC ()
04:57 gaal you can if you build a time machine.
04:57 gaal it's released :)
04:57 gaal and i'
04:57 gaal m outta here. see y'all later!
04:58 theorbtwo Oh.  Later, gaal.
05:12 sjanssen has left
05:12 hoowa has quit IRC (Read error: 104 (Connection reset by peer))
05:18 * theorbtwo wonders if it's silly to grammar-fix the changelog for releases that have already happened.
05:41 autrijus sure, please do
05:49 sdtr443w has joined #perl6
05:49 sdtr443w I was curious what junctioning is.  I see it mentioned on the newsgroup but don't fully understand it.
05:49 sdtr443w It gives me the impression of dataflow.
05:50 liyuray has quit IRC (Read error: 60 (Operation timed out))
05:58 autrijus sure
05:58 autrijus mostly, junction is a set with a tag
05:58 autrijus "all", "none" or "any"
05:59 sdtr443w Hmm what does "any" mean?
05:59 Alias_ one or more
06:00 sdtr443w Hmm are there any other languages with that built-in?
06:00 Alias_ if ( $string eq any('foo', 'bar', 'baz') ) {
06:00 autrijus no, not to my knowledge.
06:01 autrijus work &
06:01 sdtr443w Gees Perl6 seems to be going more theoretical
06:01 Khisanth autrijus: isn't there also one()?
06:03 theorbtwo More theoretical mostly just means that it has elements based on theories that you are unfirmilar with.
06:03 theorbtwo Perl 5 has plenty of theoretical backing as well -- you just don't think about it.
06:03 sdtr443w Hmm well as long as everybody at work can use it like it's C, it'll get accepted.
06:04 sdtr443w I don't know if that's a good thing though
06:05 Alias_ low initial learning curve i good
06:06 Alias_ is
06:07 sdtr443w Hmm
06:08 sdtr443w I'm trying to get ahead of the curve here
06:08 sdtr443w I don't think I can help with Perl 6 but I'm wondering if Parrot needs help with amd-64 code generation
06:08 wilx` has joined #perl6
06:08 sdtr443w I'm playing with perl 6 since that's more fun ;)
06:09 sdtr443w Hmm I think I just ran into a strange problem in Pugs
06:13 sdtr443w n/m -- I restarted Pugs and it's behaving itself again
06:15 sdtr443w has the foreach syntax changed?
06:17 gaal sdt.*: yes. you now always say "
06:18 gaal for LIST -> $arg1, $arg2 BLOCK
06:18 sdtr443w huh?
06:18 sdtr443w oh
06:18 gaal the args are optional
06:18 sdtr443w woah
06:18 gaal actually args isnot the right name
06:18 gaal anyway more generally it's for LIST CODE
06:19 nothingmuch has joined #perl6
06:19 gaal typically you just use a pointy sub, which accepts params.
06:19 sdtr443w what's the iterator variable?
06:19 gaal look at the modules for plenty of examples.
06:19 gaal the params :)
06:19 gaal if you don't supply one, it's $_
06:19 gaal gotta get ready for work, later &
06:20 sdtr443w some something like "for @test_array { }"
06:20 gaal y
06:20 sdtr443w How do I specify an iteration variable?
06:21 * sdtr443w would just look at module source, but his termianl just crashed :(
06:21 gaal for @test_array -> $iterator { say $iterator }
06:21 gaal you can have more than one
06:21 sdtr443w What's the difference between say and print?
06:21 jabbot pugs - 1511 - Update debian/ to 6.0.14.
06:21 theorbtwo for %foo -> ($k, $v) {say "$k => $v"}
06:22 gaal for %folks.kv -> $name, $addr { say "$name -> $addr" }
06:22 gaal heh
06:22 gaal bye, really
06:22 theorbtwo say($x) is print "$x\n"
06:22 hoowa has joined #perl6
06:22 sdtr443w oh ok
06:22 theorbtwo Later, really.
06:23 theorbtwo (If you have both say and print, you won't be so tempted to use -l.)
06:24 sdtr443w Why did foreach get squelched?
06:25 Khisanth four extra unneccessary letters :)
06:25 sdtr443w Oh does that mean for does everything now?
06:26 obra for and foreach were identical in perl5
06:26 Khisanth no, for($i=$j;...) becomes loop($i=$j;...)
06:26 obra weren't they?
06:26 Khisanth yes
06:26 sdtr443w So C-styled for-loops are illegal?
06:27 Khisanth no, they are just call loop!
06:27 Khisanth err loop loops? :)
06:27 sdtr443w I see myself getting a nice consulting job when Perl 6 comes out hahaha
06:27 sdtr443w "It doesn't work like C... what happened?!?!?!?!"
06:28 Khisanth there was never much of a need for C style for and there will be even less of a need
06:31 Darren_Duncan FYI, I have now uploaded all the newest Perl 5 versions of my stuff ... should appear on the CPAN index in a few hours
06:31 Alias_ Anything noteworthy?
06:31 Darren_Duncan so there is now an executable equivalent of what I checked into Pugs last night
06:31 Darren_Duncan well, Locale::KeyedText and SQL::Routine can be used right now
06:31 sdtr443w Is there a new notation for indexing an array?  $test_array[0] seems to be screwing up when interpreted
06:32 Darren_Duncan these are the first versions that have a SYNOPSIS which should be comprehensible to an average person
06:32 obra use the array sigil
06:32 obra @test_array
06:33 sdtr443w Hmmm that's nice
06:33 Kicker- has joined #perl6
06:35 Darren_Duncan ping autrijus
06:35 Kicker- anybody can help me what perl i download to run openkore??
06:35 obra what's openkore?
06:36 Darren_Duncan I just got a strange email from autrijus; not sure yet if its virus spawn or not
06:36 * obra bets that for any production software, you want perl .5.x
06:36 obra Darren_Duncan: what was it?
06:36 Darren_Duncan first line: I think so... Your original 1-map.txt is broken; it should've used two
06:36 gaal Make compilers fast!
06:36 obra Kicker-: what OS are you running.
06:36 sdtr443w OK thanks a lot for the help
06:36 obra Darren_Duncan: and it has a windows attachment?
06:36 sdtr443w I think I may have some more stupid questions, but ultimately I'll know enough to appreciate all the sample code.
06:36 Darren_Duncan it has a file 'replace.zip'
06:36 Khisanth obra: a bot for a MMORPG call Ragnarok Online
06:36 wilx` is now known as wilx
06:37 lwhsu___ has joined #perl6
06:37 obra Darren_Duncan: I'd put money on that being a virus.
06:37 gaal sdt.* do look at the tests -- they offer specific examples of usage.
06:37 sdtr443w I hope to post a little Perl5 -> Perl6 page that shows this and that and how it's different
06:37 Khisanth obra: "a cheat device"
06:37 obra Khisanth: :)
06:37 Darren_Duncan if it is, then it has copied part of a normal email
06:37 gaal has left
06:37 Darren_Duncan it ends with his normal signiture and some quoted text
06:37 obra !
06:38 Kicker- i have no idea obra it says i have to download perl to run the openkore bot
06:38 Khisanth obra: it also has some of the ugliest perl code you'll ever see :)
06:38 Kicker- Install Perl, and the Perl "compiler" (PerlApp), and compile OpenKore into a .exe file
06:38 obra Kicker-: wwww.activestate.com
06:38 Kicker- ok
06:38 obra also, you want #perl, not #perl6
06:38 Darren_Duncan the email has a whole bunch of headers like a normal email from him, it seems
06:38 Kicker- sorry
06:39 Darren_Duncan do any of you know someone whose email is barnabas@s-team.com.tw - his is in reply to it
06:39 obra Darren_Duncan: That email sounds familiar
06:40 Khisanth Darren_Duncan: send an email, "who are you and why are you replying?" :)
06:40 Darren_Duncan I started to compose a reply to Autrijus, but then thought I'd bring it up here first
06:44 castaway_ is now known as castaway
06:44 Darren_Duncan reply sent
06:51 Aankhen`` has joined #perl6
06:55 sdtr443w Is there still a parrot IRC channel?
06:55 Khisanth yes
06:55 sdtr443w I can't tell from google when I'm looking at the real channel or one about birds
06:55 Khisanth #parrot on irc.perl.org
06:56 lwhsu___ has quit IRC (Read error: 110 (Connection timed out))
06:56 lwhsu_ has quit IRC (Read error: 110 (Connection timed out))
06:57 sdtr443w Hmm why isn't #perl6 on perl.org too?
06:58 obra freenode is more public.
07:01 sdtr443w heh ok
07:02 sdtr443w I asked about AMD64 code generation and got nothing.  I guess it's late -- so I put it in p.p.internals
07:02 theorbtwo #parrot tends to be very low-traffic.
07:04 sdtr443w ah well -- bed time for me.
07:04 sdtr443w Hopefully i'll have all the basics by the end of the week
07:04 sdtr443w has quit IRC ("Leaving")
07:06 * castaway wonders if theres an easy way to find out whats already working in pugs so far (apart from digging changelogs)
07:07 Khisanth make test :)
07:07 castaway Is documentation also being made?
07:08 wilx Looking at failing and passing tests? :)
07:08 Khisanth probably ... given Kwid's existence
07:08 lwhsu_ has joined #perl6
07:08 Khisanth but what kind of documentation are you looking for?
07:08 castaway something like perldoc -f ,)
07:08 Khisanth oh and the smoke tests in the topic
07:09 theorbtwo Ah, that would be S29, which is in-progress on perl6-language.
07:09 castaway numbers dont say 'what' just 'how many'
07:09 castaway S29 is ?
07:09 theorbtwo (The numbering of the S/A/E series of documents matches the chapter numbers of the Camel 3rd ed.)
07:09 Khisanth heh builtin functions probably
07:09 theorbtwo perldoc -f.
07:10 Khisanth don't htink that has been finalized yet
07:10 theorbtwo It hasn't been.
07:10 castaway Ah, but that will be a list of final funcs, and not 'what pugs can do so far', I assume
07:10 Khisanth hmm wait a minute ... aren't you two sitting next to each other?!
07:10 theorbtwo No, castaway is at work and I am at home.
07:10 castaway Not at the moment
07:11 Khisanth oh good, then you are not weirdos :P
07:11 castaway oh but we are :)
07:11 theorbtwo No, we are, we often converse more or less like this when we are sitting next to each-other.
07:11 Khisanth not weird enough to talk to each other through IRC while sitting next to each other!
07:12 castaway well, I tend to, if I think it's useful to hear other peoples comments and so on
07:12 theorbtwo Likewise.
07:19 larsen has joined #perl6
07:19 theorbtwo G'morning, larsen.
07:19 larsen Good morning.
07:29 Kicker- has quit IRC ("»¡« Scøøp Script 2004 »!« get it for free at www.scoopsite.com")
07:29 hoowa has quit IRC (Read error: 54 (Connection reset by peer))
07:53 autrijus Darren_Duncan: hey.
07:53 autrijus Darren_Duncan: sorry, I accidentally autocompleted wrong email addr
07:53 Darren_Duncan hey
07:53 Darren_Duncan I wondered about that ... didn't really seem like a virus
07:53 autrijus that mail was meant to Darren at s-team
07:53 autrijus sorry for spamming you :D
07:54 Darren_Duncan well, I'll delete it then
07:54 autrijus (that's haskell code from @job[0], openafp)
07:54 autrijus cool, thanks
07:54 Darren_Duncan fyi, I forwarded a copy to obra so he can help figure out what it was ... no one else though
07:54 mj has joined #perl6
07:54 Darren_Duncan his request
07:55 autrijus that's fine, it's free software anyway.
07:55 Darren_Duncan anyway, right at this moment I'm writing my release announcement to the dbi-users etc lists
07:55 autrijus (as all my current job code are)
07:55 autrijus cool!
07:58 Darren_Duncan since the announcement is specifically about the modules, and not Pugs, though it mentions Pugs, is it or is it not appropriate to post the announcement to p6c too?
08:02 autrijus just post on p6c :)
08:02 Darren_Duncan okay then
08:06 autrijus bbiab. &
08:22 matt1 has joined #perl6
08:31 * shapr hops cheerfully
08:31 shapr I love being part of the open source / free software world! w00h00!
08:32 castaway *g*
08:33 theorbtwo <g>
08:35 Darren_Duncan the emails are sent ... enjoy
08:36 Darren_Duncan anyway, off to bed ... good night
08:36 Darren_Duncan has left
09:22 theorbtwo is now known as around
09:23 around is now known as theorbtwo
09:42 obra hello
09:42 matt1 has quit IRC (Read error: 104 (Connection reset by peer))
09:42 theorbtwo Hello, obra.
09:49 mattc has joined #perl6
09:50 metaperl_ has joined #perl6
09:56 autark-jp n
09:56 saorge has joined #perl6
09:59 sri_ someone know if perl6 will support perl5 like attributes?
10:01 sri_ havn't found anything about that in the bible...
10:01 castaway If its not there, probably not..Look to see which chapter they're described in, in the Camel (3rd ed), and then look for the matching Synopsis
10:02 sri_ would suck for maypole/catalyst porting...
10:02 obra castaway: I thought the default was "unless specced otherwise, perl6 is like perl5"
10:03 castaway don't ask me :)
10:03 castaway S06, subroutines ?
10:03 elmex has joined #perl6
10:03 metaperl_ has quit IRC (Read error: 60 (Operation timed out))
10:07 gaal has joined #perl6
10:14 cognominal has quit IRC (Remote closed the connection)
10:20 sri_ hah, it's in A02
10:20 sri_ called traits
10:23 sri_ aka properties
10:24 elmex btw. what reasoning is behind the renaming of '->' to '.' ? 'like the rest of the world uses' sounds just like nonsense... Perl 6 isn't a language like the rest of t he world. And besides java, i don't know any language
10:25 elmex that doesn't use -> to deref a pointer/reference
10:25 cwest has quit IRC (Remote closed the connection)
10:25 hlafarge has joined #perl6
10:25 cwest has joined #perl6
10:25 elmex and it's a quite good reason for 'Trinary ? : becomes ?? ::.' => 'like the rest of the world uses' ????? huh?? nice logic reason ;)
10:25 sri_ elmex: everybodu does '.'
10:26 sri_ smalltalk, ruby, python...
10:26 elmex sri_: struct foo *bar; bar.structmember gives me an error in C
10:26 integral smalltalk?
10:26 elmex sri_: well, what does '.' mean in those languages?
10:27 elmex sri_: in smalltalk it's a slotaccess
10:27 elmex not a deref op
10:27 elmex s/slot/struct/
10:27 sri_ whats deref in smalltalk?
10:27 elmex does smalltalk have references? ;)
10:27 theorbtwo elmex: The reason that trinary becomes ?? and :: is because a single colon becomes used for more important things.
10:28 sri_ ? :)
10:28 elmex theorbtwo: yes, ok. but please... dont use  reaons like 'like rest of the world uses'. they are just bogus and sound like arbitrary renaming..
10:29 theorbtwo You're thinking of . being the "take an element from a reference" operator, which isn't it's primary meaning; "call a method on an object" is the primary meaning, and most languages use . for that.
10:29 elmex it's ok. if scalars can contain objects themself... like: "foo".print makes more sense than "foo"->print
10:30 elmex theorbtwo: yes
10:30 theorbtwo Not only that, but using . over -> has a single distinct advantage: it's one unshifted key, rather then two keys, one of which is shifted.
10:30 theorbtwo "foo".print and "foo".say are perfectly valid p6 code.
10:31 elmex theorbtwo: ?? :: is longer and i use it often. and it will hurt me ;) don't say me '.' because it's shotert than -> and -> are just one shifted key here
10:31 elmex theorbtwo: i know, it's valid
10:31 elmex theorbtwo: so '.' is a call/member-access operator. O.K. i'm fine with that
10:34 elmex it's just that 'like rest of the world uses' sounds wrong :) don't attack foreign countys, because rest of the world does... or... hate Java, because rest of the world does... or...
10:35 theorbtwo There's always a balance between being nice to your existing users, and being nice for new users.
10:35 co3 has joined #perl6
10:35 elmex theorbtwo: yes ;)
10:35 osfameron has joined #perl6
10:36 co3 is now known as co2
10:36 elmex theorbtwo: i wouldn't say anthing agains a reason like 'because java uses . too.' or '. is shorter than ->'
10:36 elmex ah
10:36 elmex no '. is short than ->' isnt a reason ;)
10:36 elmex a space is still shorte
10:36 elmex "foo" print
10:36 theorbtwo Yes, but it's also confusing, for both the users and the parser.
10:37 elmex ;)
10:38 elmex well... perl6 is overdesigned
10:38 theorbtwo It is in some places, but I don't think the -> to . change is one of those places.
10:38 elmex but hyperops are still cool ;)
10:38 theorbtwo You use it a lot, and use it even more in p5, and -> is harder to type then '.'.
10:39 castaway thats still a junky reason to make oldtimers relearn, tho
10:39 elmex well. 'harder to type' isn't a good reason...
10:39 elmex i can type -> quite as fast...
10:39 theorbtwo Sure it is!
10:39 theorbtwo So can I, elemex.
10:40 theorbtwo But it does put a certian amount of wear and tear on the hands.
10:40 elmex for example, ?? :: isn't as fast to type ;)
10:40 theorbtwo I find a doubled char to be quite short to type.
10:40 theorbtwo Also, I don't use ??:: much.
10:41 theorbtwo I think most people don't use it much, for that matter.
10:41 elmex well, i won't use ?? :: in p6 anymore ;) because it's not short to type
10:41 castaway still, it'll be an op that wont require me to curse anymore, because both chars are in different locations on qwertz vs qwerty ,)
10:41 elmex in p5 i used ? : much
10:41 * castaway uses it enough that it may annoy
10:42 theorbtwo qwertz isn't usable for programming in pretty much any language, because {} are very difficult to type.
10:42 castaway fine in lisp :)
10:42 theorbtwo My hands hurt /so/ much less since I switched back to en-us.
10:42 elmex i have qwertz keyboard, but i use a qwerty layout for programming
10:42 theorbtwo Yes.  Also, pascal.
10:42 elmex theorbtwo: *g*
10:42 elmex theorbtwo: en-us is THE layout for programming. quick access to [] {} ;: '". - and stuff
10:43 elmex the right hand becomes the most important
10:43 theorbtwo So I suppose by "pretty much any language", I really meant languages with very C-inspired block syntaxes.
10:43 castaway My re-reason for not using "." would be that its harder to read.
10:43 elmex yep
10:44 theorbtwo Well, in qwertz layouts, the right hand is used alone a lot while programming, for altgr + 0 and such.
10:44 elmex "foo"~"bar" is cool ...imagine "foo"."bar" would be more readable ;)
10:44 theorbtwo In qwerty, I can shift with my left hand and type the major key with my right, which is how it should be.
10:44 castaway the ~ I just find odd..
10:44 castaway (but then so are all the utf8 chars :)
10:45 theorbtwo I suspect we'll all get used to it quickly enough.
10:45 castaway assuming we programm in p6
10:45 theorbtwo Only the high half of latin-1 is used for builtin operators.
10:45 theorbtwo You can use all of unicode for your own, however.
10:45 elmex castaway: there are no utf8 chars in p6 yet... they are all in latin1 too.. the yen and the >> or << are too
10:45 theorbtwo For that matter, you can also write all of them with just straight ASCII.
10:46 castaway ah, sorry.. I meant "the ones I cant type on my keyboard"
10:46 castaway yes, write.. but still leaves reading other peoples
10:46 elmex well...using yen as an operator is a nice thing too... for our japanese users...
10:46 elmex \
10:46 theorbtwo Yeah, I'll probably keep using the ASCII operators for quite a while.
10:47 theorbtwo I think encouraging people to get unicode-aware tools is very much a good thing for the world.
10:47 elmex i will keep on using ascii as long as possible. because i can type ascii chars quicker
10:47 * castaway wonders if £ is in there anywhere
10:47 theorbtwo (And I now have (prefer-coding-system 'utf8) in my .emacs.)
10:47 elmex i mean, i have an input method, but calling that up takes hell of more time..
10:47 elmex has quit IRC ("Lost terminal")
10:47 * shapr uses (prefer-coding-system 'purely-functional)
10:48 theorbtwo What was that char, castaway?  You're sending in latin-1, and I'm expecting utf8.
10:48 elmex has joined #perl6
10:48 elmex "foo"のの"bar"
10:48 elmex "foo"ののar"
10:49 castaway heh
10:49 castaway the sign for british currency
10:49 elmex well...err... thats just stupid... scary unicode chars won't be much quicker to type if they are not on the keyboard
10:49 mugwump xkbcomp++
10:50 castaway elmex: I suspect that problem applies, no matter whose keyboard you take as default, tho
10:50 shapr ýâ~ Þ£~~
10:50 mugwump "eh?"
10:50 castaway s/applies/applies to somebody/
10:50 shapr that was "yay perl"
10:51 castaway in ?
10:51 shapr utf-8
10:51 * castaway remembers setting this putty to utf8 somewhen..
10:52 castaway is this right now: £ ?
10:52 theorbtwo Yes.
10:52 castaway (weird, the input line makes it look crap, but the output is fine)
10:52 theorbtwo AFAIK, it isn't used by anything at present.
10:52 theorbtwo Possibly because people would say "pound", and people would hear "#".
10:53 mattc has quit IRC (Read error: 104 (Connection reset by peer))
10:53 mugwump only americans hear "#" for "pound" :)
10:53 castaway well I usually do hear £ when people say that
10:53 castaway right
10:53 theorbtwo Lots of Americans program perl.  Or, at the least, lots of people who program perl are Americans.
10:53 castaway ie its already a problem
10:54 theorbtwo Aye, but it could easily become a bigger problem.
10:55 shapr Wait till Americans start using the euro symbol. Then the confusion will double.
10:56 mugwump yeah, they'll call ¤ the Quake symbol
10:56 mugwump blast
10:56 * shapr snickers
10:57 castaway € ?
10:57 * theorbtwo suspects it'll be past any of our lifetimes before the US switches from USD to EUR.
10:57 castaway (ick, what was that?)
10:57 theorbtwo That looks like a euro sign to me.
10:57 shapr looks like a tilde to me
10:58 castaway odd, I see three bars on input, and bar, B (reverse video) bar, on output
10:59 * mugwump switches to mlterm, and now at least when he presses AltGr+E he sees a real £á
10:59 castaway A real what? :)
10:59 mugwump :-/
10:59 shapr I like £ázy £ánguages.
10:59 theorbtwo I was wondering that too.
10:59 elmex has quit IRC ("leaving")
10:59 theorbtwo shapr, then you're in luck; perl6 will be rather lazy.
11:00 shapr w00h00!
11:00 * shapr boings furiously
11:00 theorbtwo (We've always expected our users to be lazy, now are language will be too!)
11:00 mugwump lazy languages are just a way to eat up all your stack
11:00 mugwump s/stack/heap
11:00 shapr But they only do that when they get around to it.
11:00 shapr Maybe tomorrow.
11:00 mugwump sure
11:04 co2 has quit IRC ("bye")
11:27 cognominal has joined #perl6
11:33 integral changes topic to: Don't panic, read modules/README | TODOification for release |  pugscode.org <<Overview Journal Logs>> | pugs.kwiki.org | smoke: http://xrl.us/fmw2 | xp/msys:r1501(all 3846 pass) win2k:r1501(all 3846 pass) Linux:r1302(193/3383) MacOSX:r1511(all 3835 pass)
11:54 elmex has joined #perl6
11:56 drbean I got the same linking error with 6.0.14
11:56 drbean Linking ...
11:56 drbean collect2: ld terminated with signal 9 [Killed]
11:56 drbean make: *** [pugs] Error 1
11:57 drbean But when I ran make the second time I didn't get the error.
12:01 cwest has quit IRC (Remote closed the connection)
12:03 cwest has joined #perl6
12:09 decay drbean: low memory and someone killing processes?
12:15 gaal how far are we from embedding c?
12:15 * shapr gets a REALLY big hammer.
12:15 theorbtwo Welcome back, gaal.  No idea.
12:16 theorbtwo The way we're going, I suspect the best way to do that is by embedding haskell that embeds C.
12:16 gaal thanks, i'm at $work and i keep being whisked away. total time spent in front of my box: 20 minutes
12:17 theorbtwo Sounds like a "fun" day.
12:17 gaal you need glue to connect perl > (haskell) < c
12:17 shapr embedding means inline C? or just bindings to a C lib?
12:18 shapr the second is available immediately.
12:18 gaal how?
12:18 shapr GHC's Foreign Function Interface
12:19 gaal and how do i bind form perl to that?
12:19 gaal from
12:20 shapr Look at http://www.haskell.org/hawiki/FfiTutorial for the Haskell side.
12:20 gaal (plus, of course, i don't want to recompile pugs itself every time i change my script or my library)
12:20 gaal that example uses a very useful c funciton.
12:22 gaal hmm, i don't understand the haskell arch, but i remember autrijus mentioned on-the-fly compilation. so are you suggesting, shapr, that pugs create haskell<->c bindings on the fly according to perl6 directives? :)
12:22 shapr Truly, you'll need to use strfry every day of the week.
12:22 shapr Well, it depends on what you mean by that. It can be done.
12:23 gaal okay, what i *want* eventually is Gtk2 bindings for pugs. :)
12:23 shapr Oh, you could just use gtk2hs.
12:23 shapr more colloquially, "we've already got one!"
12:23 gaal but again -- how is that callable from perl?
12:24 shapr Same you call everything else.
12:24 gaal which is?
12:24 gaal i'm missing the example of calling embedded code.
12:24 shapr Do you know how to make a builtin for pugs?
12:25 gaal nope. i don't know much haskell.
12:25 gaal (but am willing to learn.)
12:25 shapr That's the cheesy easy to use approach, just make a new builtin. I'd look for a way to export Haskell functions into the pugs namespace if I were you, then you don't have to write so much code.
12:25 theorbtwo It's on the wiki, as CreatingANewBuiltIn, or something of the sort.
12:26 gaal grr brb
12:26 * theorbtwo wonders if he wants to tackle dynamicly loaded modules.
12:26 pupilzeng has joined #perl6
12:26 Limbic_Region has joined #perl6
12:27 shapr New builtins will work, but it's not a sustainable approach. More sensible would be something that dumps all the names into a namespace/module/whatever in pugs, and then you can write tiny wrapper yourself.
12:28 shapr The wrapper would just be so you get idiomatic behaviour from the binding.
12:28 gaal there are hundreds of functions in the gtk api
12:28 gaal very happily, they all adhere to a pretty strict naming convention.
12:28 shapr That's one reason I wouldn't want to have a new builtin for each.
12:28 gaal so you can analyez the .h files and come up with a hierarchy
12:29 gaal which is what the Gtk2 (p5) folks did
12:29 theorbtwo There's a hack whereby you can give "builtins" with full namespaced names.
12:29 theorbtwo (Used for cwd.)
12:29 gaal but all this isn't enough. what's the container for objects?
12:29 shapr Hm, that might be more sustainable.
12:30 shapr container?
12:30 gaal like, i create a button
12:30 gaal who actually takes care of the memory for htis button?
12:30 gaal well, it's gtk itself
12:30 shapr gtk2hs deals with the memory for you.
12:30 gaal through glib's reference mechanism
12:31 gaal but i need to hold the handle - which in c is just a pointer - what is it in perl?
12:31 theorbtwo An object.
12:31 shapr Good question, I don't know.
12:31 theorbtwo The problem is that we don't have objects yet.
12:31 shapr I am lambda-only for the moment. But I'm learning.
12:31 gaal do you know gtk, shapr?
12:32 gaal (i can't help thinking you've already done the hard part :)
12:32 theorbtwo OTOH, you can fake it with an integer.
12:32 shapr Nope. But the first issue of TMR had a gtk2hs tutorial article.
12:32 gaal TMR == ?
12:32 shapr And the next issue will have another from one of the gtk2hs authors.
12:32 pupilzeng has quit IRC (Read error: 104 (Connection reset by peer))
12:32 shapr The Monad.Reader
12:32 shapr it's a Haskell ezine.
12:33 shapr I'm the editor! Can you believe anyone depends on me for organization? What happens if my Ritalin runs out? PANIC!
12:33 gaal well, you can certainly hand out opaque handles via one place, and let that store c pointers behind hte scenes
12:34 gaal (what to2 said)
12:34 gaal ezines++
12:34 theorbtwo gaal, GTK is very OO -- it just implements it's own OO in C, largely with macros.
12:34 shapr Yeah, I got tired of acm.org etc shutting me out of cool research papers, so I figured I'd fix that problem myself.
12:35 gaal to2, i know. i've hacked with it and even a bit on it.
12:35 pupilzeng has joined #perl6
12:36 gaal like it a lot, which is why i'd love to have bindings in pugs :)
12:37 shapr Haskell is easy to learn, jump in!
12:37 gaal yeah, i've heard that one :)
12:37 theorbtwo However, it really doesn't seem to mesh well with the sort of dynamicisim I'd like to have this have.
12:37 theorbtwo Is it just me, or does t/rules/s_perl5.t take a really really long time to run?
12:38 gaal not just you
12:38 theorbtwo I can't figure out how to pass a String that is the name of a library, and get back a callable function from that library.
12:38 theorbtwo I can only do that as a declaration which requires me to have the name of the library at compile-time.
12:38 gaal in hat language?
12:38 theorbtwo In haskell.
12:38 gaal ah :)
12:39 shapr For what library?
12:39 gaal TH? :)
12:39 shapr yeah, TH solves many problems.
12:40 shapr theorbtwo: can you give an example?
12:40 theorbtwo Bootstrapping extensions.
12:41 theorbtwo I do a "use Foo", which loads Foo.pm.
12:41 theorbtwo Foo.pm calls a builtin, which loads libfoo.so, and calls a function in it named bootstrap.
12:42 shapr Once you get into .so loading, I don't know. But some of the people on #haskell will.
12:43 theorbtwo Hm, I wonder if what I want to do is simply write a haskell wrapper around libdl, and use that.
12:43 theorbtwo For very large values of "simply".
12:44 * shapr grins
12:44 shapr there is something like that, hs-plugins does dynamic loading of code in Haskell.
12:45 theorbtwo Oooh, where?
12:45 shapr it's based on GHCi, which does use the standard linux .so loader to some degree.
12:45 shapr http://www.cse.unsw.edu.au/​~dons/hs-plugins/index.html
12:46 shapr At the moment, hs-plugins doesn't work on win32, but that's soon to change.
12:46 theorbtwo Mmm, yes, that's exactly what I was looking for.
12:47 theorbtwo OK, well, very close.
12:47 * theorbtwo wonders what Autrijus thinks of LGPL-compatability.
12:48 goneri has joined #perl6
12:48 shapr hs-plugins does very nifty stuff. It's used in an editor that's more dynamic than emacs, because it can edit itself, save state, rebuild itself, and completely reload all the code, and then reload the state. Takes about 0.1 seconds on my dual 1.5GHz.
12:48 theorbtwo Impressive.
12:49 theorbtwo Perhaps I should change; the emacs culture pissed me off mightly yesterday.
12:49 shapr Yi isn't quite ready yet, but the focus is on heavy duty programmability.
12:49 shapr The first version of the syntax highlighting code was added yesterday.
12:50 theorbtwo YOU WILL INDENT YOUR CODE THE WAY WE SAY.  NO, WE WON'T TELL YOU WHY.  YOUR DISTINCTIVENESS WILL BE IGNORED COMPLETELY.
12:50 shapr Do you know the semantic bovinator in emacs?
12:50 theorbtwo bovinator?
12:50 shapr It's lex/yacc in/for elisp.
12:50 theorbtwo Ah.  No, I didn't.
12:51 shapr JDEE and other CEDET based emacs plugins use semantic. It builds full parse trees for your sources, gives you 'intellisense' autocompletion, etc etc.
12:51 theorbtwo Nifty.
12:51 shapr It's a great idea, but slow and buggy in practice.
12:52 shapr I dunno if that's just because it's in elisp or what.
12:52 shapr Anyway, ever since I read about refactoring browsers for the first time, I wanted an editor that allowed me to do transformations on the parse tree of my document.
12:53 shapr And I wanted syntax highlighting, indentation, etc to all be based on an incremental parser.
12:53 shapr That's the direction Yi is taking.
12:53 shapr fully scriptable with Haskell, all modes parser based, that sort of stuff.
12:54 shapr Should be fun.
12:54 * shapr has wandered off the topic again
12:55 theorbtwo In camelland, we tend to not so much care.
12:55 shapr theorbtwo: I think there's at least one FFI tool that autogenerates calls from .h files.
12:55 theorbtwo Yeah, but FFI requires that you know everything at compiletime, which I don't like.
12:55 shapr Most people in most lands don't care, but I think parse tree based editors are a powerful tool, and I'd like to see some high quality open source versions.
12:56 theorbtwo But it looks like hs-plugins doesn't.
12:56 theorbtwo No, I mean don't care about going off topic.
12:56 shapr Oh :-)
12:57 shapr Well, I don't want to distract people from getting stuff done for pugs.
12:57 theorbtwo Perl has a fair bit of support for manuipulating perl from perl, ilke B::Deparse.
12:57 theorbtwo (Which takes a parse tree, and transforms it back into perl source.)
12:57 shapr imho, momentum is important in any project.
12:57 rgs or B::Generate.
12:57 shapr Oh, nifty
12:57 nothingmuch has quit IRC ()
12:57 theorbtwo For perl 6, it's one of the major design goals.
12:57 shapr Are there already Perl refactoring browsers then?
12:57 theorbtwo Not that I'm aware of.
12:58 theorbtwo The problem with B::Deparse is that it uses the real perl parser, which tends to throw away a lot of stuff the user cares about that isn't neccessary to run the code.
12:58 shapr If you get a refactoring browser into the hands of some of the prolific perl coders, I bet you'll have one soon.
12:58 theorbtwo Larry is working on fixing that for the perl5->perl6 converter.
12:58 shapr I understand, I tried to write a Python refactoring browser using Python's own parser.
12:59 pjcj Piers is keen on having a good refactoring browser.
12:59 shapr I ended up using a decorated parse tree object, adding comments and more. It ended up being too heavy.
13:01 shapr There are some existing language agnostic refactoring frameworks like the MetaEnvironment. But the MetaEnvironment is very heavy, it has a large number of dependencies.
13:01 shapr Which means, I've never been able to get it to build and work =)
13:01 shapr pjcj: who's Piers?
13:02 theorbtwo Hm, does IO (LoadStatus a) imply anything other then that it gives you a inside of both the IO and LoadStatus monads?
13:03 shapr no, that's all it means.
13:03 theorbtwo Piers Crawley, a notable perl hacker; until fairly recently wrote the weekly perl 6 summaries.
13:03 shapr You can turn that into Eval (LoadStatus a) with liftIO, I dunno about LoadStatus though.
13:05 shapr Nowadays, monads look a lot like OOP to me. The difference is that the OOP monad is implied and unchangeable, so you never see it.
13:06 shapr OOP is a set of rules that describe 'how to combine these chunks of code', like subclassing means steal this other guy but write this stuff on top of him.
13:07 shapr Each monad is a description of a way to combine code.
13:07 shapr Does that sound reasonable or understandable?
13:08 * castaway looks back in from a support session, to wonder whats going on
13:08 shapr I want emotional support too!
13:08 * castaway hugs shapr
13:09 castaway (thats easy :)
13:09 shapr oh wait, you're doing tech support?
13:09 * shapr grins
13:09 shapr yay! I got a hug!
13:09 castaway more or less, yeah
13:09 * shapr bounces cheerfully
13:09 castaway heh :)
13:09 castaway easy to please, you is
13:09 shapr With hugs, yes.
13:10 * castaway scrolls back to see what theorbtwo was shouting at
13:10 castaway (oh, them)
13:10 * theorbtwo gives castaway a big hug.
13:10 theorbtwo There you are.
13:10 shapr Hugs are like chocolate, without the calories.
13:10 theorbtwo Hugs is like GHC, only without so many extensions.
13:10 * shapr snickers
13:10 shapr GHC has more flags than the UN.
13:11 * castaway hugs theorbtwo lovingly.
13:11 theorbtwo Nice line, shapr.
13:11 castaway ,)
13:11 * shapr grins
13:12 * theorbtwo wonders why insel can't seem to play oggs without skipping.
13:12 * castaway flicks through 5 other windows andback to this one
13:12 shapr I only wish I wrote useful code as often I get quoted.
13:12 castaway (and then answers the tel)
13:13 shapr Oh! Try mpd and mpc! mpd is a great music player. http://musicpd.org/
13:13 theorbtwo Your opera is sucking CPU; I'm going to shut it down.
13:13 castaway umm, dunno, worked fine for me
13:13 castaway ok
13:14 theorbtwo Hm, odd, when I pop up the app-switching menu, the player stops skipping.  Leaving it up.
13:15 theorbtwo Oh, I'm silly.
13:15 theorbtwo LoadStatus isn't a monad.
13:15 castaway aeh, usually its the other way around.. it tops playing as soon as the menu is there
13:16 castaway stops, even
13:16 * castaway wonders if its hometime yet
13:16 * shapr quoted theorbtwo recently
13:17 castaway was it fun?
13:18 theorbtwo What did I say?
13:18 * xerox wanted to join the hugs party :-(
13:19 * castaway hugs xerox
13:19 xerox ^__^
13:20 * theorbtwo hugs castaway, and mouths "all mine" very clearly.
13:21 * xerox prepares to the fight
13:21 elmex has quit IRC ("schiessen")
13:22 theorbtwo You see, the implicit assumption in such a fight is that the spoils would go to the winner.  I don't think that'd work out the way you want.
13:22 shapr theorbtwo: at the bottom of http://www.scannedinavian.org/AvianWiki/QuotesPage
13:23 * xerox hugs castaway away from theorbtwo ;)
13:23 shapr slightly edited for conciseness.
13:23 shapr it's a cute quote.
13:24 * theorbtwo still thinks that there is such a thing as too much of a good thing.
13:25 shapr I've never tried moderation, but it doesn't look like much fun from here.
13:25 autrijus greetings lambdacamels!
13:25 autrijus shapr++ # 21:10 < shapr> GHC has more flags than the UN.
13:25 * shapr snickers
13:25 shapr y0 autrijus!
13:26 castaway (tel, yet again)
13:26 Steve_p hey autrijus
13:27 castaway xerox: no fair, whenI'm not looking
13:27 * castaway runs back to theorbtwo.
13:28 * theorbtwo gives castaway a kiss.
13:28 theorbtwo (And a /msg.)
13:28 shapr c'mon guys, get a room.
13:29 castaway oh shapr, I wouldnt have taken you for one of those
13:30 shapr one of those what?
13:30 shapr I am in fact a Southern Baptist.
13:30 castaway those "kissing is too much already" people
13:31 shapr Realistically, it just distracts me from coding.
13:36 castaway well dont look :)
13:36 shapr :-P
13:36 * castaway continues to procrastinate
13:36 * shapr too
13:42 * theorbtwo stops his one form of procrastination to get back to the slightly more productive one of reading gs-plugins docs.
13:43 castaway anywy, I bet if I get started,  I'll get called again,)
13:46 autrijus hrm. segfaults still in itneractive shell.
13:46 * autrijus is annoyed enough to fix it
13:48 theorbtwo OK, I think I understand the hs-plugins bit well enough to start thinking about the pugs side of things.
13:48 theorbtwo And it would seem that I have mildly decent timing, as autrijus is about.
13:48 autrijus ooh wow.
13:48 autrijus ok. you can totally help me :)
13:49 theorbtwo Autrijus, what's the best place to start plugging in new functions?
13:49 shapr autrijus: I didn't figure out how to turn that cute bit of code you wrote into want.{Scalar,List,...} and I won't have any time in the next seven days to look at pugs. lots of $work.
13:49 autrijus shapr: that's just fine. :)
13:49 castaway excuses excuses, shapr :)
13:49 shapr castaway: I know, it's pitiful.
13:49 shapr But I don't want to leave even a partial lock while I'm working.
13:49 * theorbtwo wonders how work can be a scalar and be measured in "lots".
13:50 shapr and then I can start anew when I return!
13:50 autrijus theorbtwo: so, check out SHA1?
13:50 autrijus http://tpe.freepan.org/repos/ingy/SHA1/
13:51 autrijus make and make install it
13:51 autrijus (have to install pugs first)
13:52 theorbtwo Um, does that actually work?
13:52 autrijus that works
13:52 autrijus should work, anyway.
13:52 theorbtwo Oh.  In that case, I think the stuff I was planning on doing is already done.
13:53 autrijus no, it's not
13:53 autrijus you can compile and install SHA1
13:53 autrijus loading it into pugs is spotty at the moment.
13:53 shapr has left "worktime!"
13:53 autrijus that is where theorbtwo comes in
13:53 autrijus and save the world
13:54 castaway ,)
13:54 castaway yay :)
13:54 theorbtwo Ah: "inline" -> do retVal VUndef
13:55 autrijus that is not the only problem :)
13:55 theorbtwo You have a very strange definition of "works", autrijus.
13:55 autrijus so, make ghci
13:55 autrijus theorbtwo: it works on the SHA1 side
13:55 autrijus the pugs side needs more work.
13:55 autrijus so, make ghci
13:55 autrijus and do
13:56 autrijus eval "require_haskell('/usr/local/lib/pe​rl6/site_perl/mach/SHA1__0_0_1.o')"
13:56 autrijus where the .o file is the place SHA1 installed its stuff
13:56 autrijus you should see
13:56 autrijus *** Exception: user error (Unable get qualified name from: /usr/local/lib/perl6/site_perl/mach/SHA1__0_0_1.o)
13:57 autrijus that's where I left off. src/External/Haskell.hs line 22
13:57 autrijus the idea is quite clear
13:57 autrijus just load that .o, read the extern__ table from it
13:57 autrijus then load every function
13:57 autrijus easy as pie
13:57 castaway "just" he says
13:58 autrijus however, the MT_Module load fails for some reason.
13:58 autrijus if you want to help, please grab the CVS version from
13:58 autrijus http://www.dtek.chalmers.se/~d00ram/dynamic/
13:58 autrijus which is what pugs uses
13:58 autrijus and learn how the PathLoader works by the example in it
13:58 autrijus and go back and fix External.Haskell.loadHaskell
13:58 autrijus that's all. :)
14:14 mugwump linux-- # can't see my shiny new DVD writer
14:16 theorbtwo It's a poor workman that blames his tools.
14:16 PerlJam theorbtwo++ indeed
14:17 theorbtwo OTOH, I haven't gotten linux to play nice with my shiney new DVD burner either.
14:19 mugwump oh, yeah, I'm just not using the kernel properly.  nice one.
14:20 theorbtwo What kernel?
14:20 mugwump 2.6.10.  Maybe I should try 2.6.11.6
14:21 theorbtwo What are you trying to use to burn?
14:23 mugwump being able to see the device would be a good start
14:23 * mugwump sighs
14:23 theorbtwo Do a cdrdao scanbus
14:25 mugwump Nada
14:27 mugwump I've got loads of the relevant modules loaded... sbp2, scsi_mod, sr, sg, two 1394 related modules, it doesn't event show up on dmesg... oh well
14:27 theorbtwo Oh.
14:27 theorbtwo What sort of DVD burner is this?
14:27 mugwump firewire
14:27 theorbtwo Oh.
14:27 theorbtwo I was thinking IDE.  I have no firewire experince.
14:28 chip For firewire you'll need SCSI_CDROM too
14:29 chip autrijus: a question, if you're still around ... ?
14:30 chip mugwump: oh, you already have sr ... n/m
14:30 autrijus chip: yes?
14:31 chip autrijus: I'm interested in playing with Parsec in a non-Perl6 context, and I'm curious why you chose to copy & modify it rather than use it in its standard form
14:31 chip (yes, this means I'm learning Haskell.  It's fascinating)
14:31 autrijus chip: ok. the choice is so that it can be teased into the Eval monad.
14:31 autrijus and gradually morphed into P6 Rules.
14:32 jabbot pugs - 1512 - * go back and kwidify some more changelo
14:32 * PerlJam perks his ears
14:32 PerlJam autrijus: What about Parsec precludes it from being teased into p6 rules as is?
14:32 autrijus PerlJam: uh, nothing?
14:33 stevan autrijus: hey there, sorry about missing my Changelog duties, the "real" world caught up with me :)
14:33 autrijus point being, can't do that using the Parsec API
14:33 autrijus have to change the source.
14:33 autrijus stevan: that's fine, gaal did a wonderful job :)
14:33 stevan yes I saw :)
14:33 autrijus oh, I assume you have some want to magically look at unTODO and unTODOme
14:33 autrijus and remove todo_
14:33 autrijus so maybe you can do that :)
14:34 * stevan has just spent the past hour+ reading 2 days of backlogs, that will teach him to leave his computer
14:34 stevan autrijus: yes, I can do that
14:34 autrijus stevan++
14:34 autrijus PerlJam: it's basically like how lwall forked henry specer's regex library...
14:35 PerlJam autrijus: yeah, as soon as I'd asked the question I thought of several plausible answers :)
14:36 autrijus :)
14:36 chip autrijus: no fair appealing to divine authority :)
14:37 autrijus fair is in the eye of the beholder :)
14:43 kbrooks has joined #perl6
14:43 kbrooks Here I am
14:43 * kbrooks jumps from the sky into the channel
14:43 autrijus greetings.
14:44 autrijus you have safely landed the the lambdacamel anarchistic commune.
14:44 kbrooks PerlJam, hi. :)
14:44 autrijus s/the/to/
14:44 theorbtwo Watch the landing.
14:44 PerlJam hello kbrooks
14:44 kbrooks PerlJam, i like your nickname. 'Jam' fits ;)
14:45 theorbtwo changes topic to: You have safely landed the the lambdacamel anarchistic commune |  pugscode.org <<Overview Journal Logs>> | pugs.kwiki.org | smoke: http://xrl.us/fmw2 | xp/msys:r1501(all 3846 pass) win2k:r1501(all 3846 pass) Linux:r1302(193/3383) MacOSX:r1511(all 3835 pass)
14:45 kbrooks ok, i like this
14:45 autrijus changes topic to: pugscode.org <<Overview Journal Logs>> | You have safely landed to the lambdacamel anarchistic commune | pugs.kwiki.org | smoke: http://xrl.us/fmw2
14:45 castaway s/to/in/
14:46 kbrooks http://svn.perl.org/perl6/pugs/tru​nk/examples/network/http-server.p6
14:46 castaway (I assume)
14:46 autrijus (the tests are being unTODOed; "all tests pass "is soon irrelevant)
14:46 kbrooks it's so....cool
14:46 kbrooks :P
14:46 autrijus :D
14:46 autrijus and, unlike perl5, it actually works and won't eat your computer
14:46 PerlJam autrijus: btw, what's with the ghc 6.4 requirement now?
14:47 theorbtwo changes topic to: pugscode.org <<Overview Journal Logs>> | You have safely landed in the lambdacamel anarchistic commune | pugs.kwiki.org | smoke: http://xrl.us/fmw2
14:47 kbrooks i'll download perl 6
14:47 autrijus PerlJam: we are using GADTs, and compiler/inline haskell need THs
14:47 kbrooks brb
14:47 castaway much better
14:47 autrijus and I'm tired of #ifdef
14:47 Schwern autrijus:  unTODOd?
14:47 autrijus Schwern: all failing tests are TODOed before the release
14:47 autrijus and unTODOed shortly afterwards
14:47 Schwern Ahh
14:48 autrijus it's a way to keep some sanity
14:48 castaway unTODOified
14:48 integral are releases branched?   If so, perhaps we could just TODO the tests on the branch, so they don't need unTODOed?
14:48 autrijus releases are unbranched.
14:48 Schwern Or just flip some bit in the harness
14:48 autrijus mm. how?
14:48 Schwern I mean, you're not physically going into each test and removing the TODO line, are you?
14:48 kbrooks wow
14:49 autrijus Schwern: no, we add a # unTODOme marker
14:49 autrijus and use scripts to toggle them
14:49 integral oh, scripts, neat
14:49 kbrooks p6 is completely object oriented.
14:49 Schwern autrijus:  In each test
14:49 PerlJam kbrooks: something like that.
14:49 autrijus Schwern: in each test that is testing a bug
14:49 kbrooks autrijus, ... *wonders* ... You started this project?
14:49 integral kbrooks: you say that like its a good thing ;-)
14:50 autrijus sure. it is also completely function oriented, and completely logic oriented, and completely data oriented.
14:50 kbrooks integral, It is.
14:50 Schwern autrijus:  Oh, that's kinda silly.  Lemme see if there's a way you can just flip a switch inside the harness to change the TODO test behavior.
14:50 autrijus not to mention procedure oriented.
14:50 kbrooks "logic oriented"?
14:50 autrijus kbrooks: like, prolog, or make
14:50 Schwern Except... gah, don't have GHC 6.2
14:50 autrijus kbrooks: and yes, I started this project some 63 days ago :)
14:50 Schwern err 4
14:51 autrijus the .dmg file is availalb
14:51 Schwern Many moons ago.  Ok... two moons ago
14:51 autrijus available
14:51 Schwern autrijus:  Yeah, I know... but me like dpkg.
14:51 * autrijus purrs apologetically
14:51 Schwern Hmm.  Murr made the fink package...
14:51 autrijus but, ghc 6.4 is like perl 5.8.
14:52 autrijus meaning, backcompat is painful once you start using any of the new semantics
14:52 PerlJam autrijus: except that it came out in March
14:52 Schwern Just vague grumbling.
14:52 PerlJam :-)
14:52 autrijus March is, like, stone age, man
14:53 kbrooks autark-jp, And you started this project because?
14:53 kbrooks er
14:53 kbrooks autrijus, *
14:53 Schwern He CRAAAAZY
14:53 kbrooks damn nick compl8etion
14:53 autrijus kbrooks: pugscode.org, click on "interview"
14:53 autrijus and "overview"
14:53 kbrooks k.
14:53 stevan Schwern: one problem with unTODO-ing with the harness is that some tests cause parsefails and so need to be adjusted by hand
14:54 Schwern parsefails?
14:54 autrijus that reminds me.
14:54 autrijus I need to make parsefails go away.
14:54 stevan and also, not all TODO's are actually broken
14:54 * autrijus haxx0rs
14:54 stevan some are actually TODO :)
14:54 autrijus right. we divide tests into "future" and "bug"
14:54 stevan (aka - unimplemented features rather than unfixed bugs)
14:54 Schwern Yeah, wait a second.  Why are you untodo'ing before release?
14:54 autrijus actually, "we" means "luqui" here
14:55 autrijus but we kind of grow to like it
14:55 autrijus Schwern: because I don't like getting 16,384 mails from cpan users and testers.
14:55 stevan so scripts only work so much
14:55 Schwern Oh... todo before release.
14:55 Schwern nm
14:55 autrijus todo before release.
14:55 Schwern Its early yet
14:55 decay has quit IRC (Read error: 131 (Connection reset by peer))
14:55 decay has joined #perl6
14:56 Schwern GGHC 6.4
14:56 autrijus ooh I discover http://cvs.perl.org/viewcv​s/cvs-public/ponie/Roadmap
14:56 * theorbtwo notes that you usually don't mention the Glorious part.
14:56 kbrooks autrijus, i love the interview
14:56 autrijus the G stands for "Glorious Glasgow"
14:56 kbrooks ;)
14:56 autrijus kbrooks: :)
14:56 Schwern theo:  But its so amusing
14:57 autrijus Schwern: you know the story behind "Glorious"?
14:57 Schwern Nope
14:57 autrijus ok. so GHC is written in GHC
14:57 autrijus but that's not possible in the beginning
14:57 autrijus so many parts of it needs to be bootstrapped from another language
14:57 autrijus that language turns out to be Perl5.
14:57 kbrooks bootstrapped?
14:57 autrijus the parts written in Perl5 are deemed "Evil", as in "Evil Mangler", etc
14:58 autrijus and after each part was successfully rewritten in GHC, it's renamed to "Glorious"
14:58 kbrooks autrijus, WTF? i swear i didnt know GHC was written in perl
14:58 kbrooks :|
14:58 autrijus kbrooks: part of it is. now very little, was more
14:58 autrijus in fact, as of now, only the mangler part is evil; all other parts are glorious.
14:58 theorbtwo It seems only fair that we now use GHC to bootstrap perl.
14:59 kbrooks heh, yeah.
14:59 PerlJam not only fair, but quite fitting
14:59 kbrooks autrijus, are there directions on the site on p6 compilation
14:59 Schwern autrijus:  Did you find this out before or after you started pugs?
14:59 autrijus kbrooks: perldoc script/pugscc
14:59 autrijus Schwern: after. I think a few weeks ago
14:59 autrijus I was greatly amused.
15:00 PerlJam autrijus: are the gghc people aware of pugs?
15:00 autrijus PerlJam: sure. :) I got mail from wadler to be listed on his "functional language in real world" page
15:01 PerlJam (obviously they know and like perl well enough to write a haskell compiler, maybe they'll be willing to help with the perl6 compiler)
15:01 PerlJam autrijus: cool
15:01 kbrooks autrijus, nope. neither found
15:01 autrijus er, / is the directory delimiter
15:02 kbrooks ?
15:02 autrijus "pugsdoc script\pugscc" if you are on win32.
15:02 autrijus err
15:02 autrijus "perldoc script\pugscc" if you are on win32.
15:02 autrijus or just "perldoc pugscc" if you have installed pugs
15:02 PerlJam kbrooks: Are you just looking to compile pugs?
15:02 autrijus or using pugs to compile perl 6 code?
15:02 kbrooks autrijus, i havent installed pugs
15:02 autrijus ah. do so. there's a release. :)
15:02 kbrooks PerlJam, yes
15:03 autrijus http://search.cpan.org/dist/Perl6-Pugs/
15:03 autrijus the instructions are in README
15:03 PerlJam kbrooks: oh, once you've got all the right pieces, it's just "perl Makefile.PL && make && make test"  :_)
15:03 PerlJam er, :-)
15:03 kbrooks lol.
15:06 PerlJam Pm said last week that perl6 stuff has top priority for him now, so unless life intervenes, I expect we'll see an updated PGE (and maybe more) by the end of the week.
15:06 * Odin- curses, and waits for debian to include GHC 6.4... :p
15:06 Odin- A long wait, I rather suspect. :)
15:06 hlafarge has quit IRC ("KVIrc 3.2.0 'Realia'")
15:06 PerlJam It's always a good sign when I can't find Pm in any of the normal on-line places because that means he's working.
15:06 Odin- PerlJam: Cool.
15:07 Odin- PGE good.
15:07 kbrooks er
15:07 * kbrooks stuid
15:07 kbrooks stupid
15:07 kbrooks i need ghc
15:07 PerlJam ghc 6.4 even
15:07 integral you can get a .msi from http://haskell.org/ghc/
15:08 kbrooks integral, I am not on windows
15:08 kbrooks I am on linux
15:08 integral oh, well that's even bette then :-P
15:08 kbrooks i scrapped windows
15:09 autrijus which of the 16,384 flavours of linux are you on?
15:09 kbrooks LOL
15:09 * kbrooks laughs
15:10 pupilzeng_ has joined #perl6
15:10 theorbtwo Odin: You can get it from experimental -- add experimental to your /etc/apt/sources.list, and apt-get install ghc6=experimental.
15:11 pupilzeng has quit IRC (Read error: 54 (Connection reset by peer))
15:11 kbrooks i'm on ubuntu.
15:11 theorbtwo In that case, try following my instructions for debian.
15:11 autrijus so the same instruction above should work for you too
15:11 mugwump it's in debian experimental apparently
15:11 kbrooks HOW do i add experimental?
15:11 kbrooks what's the line
15:12 * mugwump <-- gave up and grabbed the libc6 binary package
15:12 theorbtwo deb http://ftp.at.debian.org/debian     ../project/experimental
15:12 theorbtwo (Adjust that .at. as approps.)
15:12 mugwump then you probably need to do apt-get -t experimental install ghc6 or something like that
15:12 lightstep has joined #perl6
15:13 kbrooks weird
15:13 kbrooks malformed line 20
15:14 theorbtwo Er, whoops, you did need the extra bits...
15:14 theorbtwo deb http://ftp.at.debian.org/debian     ../project/experimental main contrib non-free
15:15 kbrooks heh
15:15 kbrooks there
15:15 kbrooks downloading
15:16 kbrooks experimental is so.....risky
15:16 autrijus ghc is not risky though :)
15:16 kbrooks rigtho
15:16 kbrooks righto
15:16 theorbtwo It won't get things from experimental unless you explicitly tell it to, though.
15:17 kbrooks why?
15:18 theorbtwo Because experimental is risky, I assume.
15:18 autrijus because debian takes care of you :)
15:18 kbrooks ;)
15:18 pupilzeng has joined #perl6
15:19 theorbtwo Debian is nice like that -- it protects me from myself as much as I want, but also as little as I want.
15:19 pupilzeng_ has quit IRC (Read error: 131 (Connection reset by peer))
15:22 theorbtwo Autrijus, the more I look at this thing you're using, the more convinced I am that you didn't want that at all, you want http://www.cse.unsw.edu.au/~dons/hs-plugins/ instead.
15:23 pupilzeng has quit IRC (Read error: 54 (Connection reset by peer))
15:23 theorbtwo Specificly, what we want is to not load the stuff into the haskell namespace, but instead to load the library and call a single function, which returns a table of functions.
15:23 theorbtwo The errors we're getting are because it doesn't know where in the haskell namespace to put it.
15:23 pupilzeng has joined #perl6
15:24 autrijus mm, I thought NameLoader/PathLoader does that too
15:24 autrijus I tried hsplugins first. it did not build on my fbsd (but that can be worked around)
15:24 theorbtwo Hm, I'll keep looking.
15:24 autrijus and dons wants to keep hs-plugins as gpl
15:24 theorbtwo I didn't actually try compiling it yet.
15:24 autrijus which I'm only willing to bite if there's no alternatives
15:24 theorbtwo LGPL, but yeah, that might suck for us.
15:25 autrijus LGPL?
15:25 autrijus ah. right.
15:25 theorbtwo v0.9.2 change licence to LGPL  
15:26 autrijus ok. my info was old.
15:26 autrijus LGPL is quite ok, then.
15:26 theorbtwo Oh, OK.
15:26 theorbtwo Anyway, I'll keep reading the DynamicLoader stuff.
15:27 kbrooks has quit IRC (Read error: 104 (Connection reset by peer))
15:27 autrijus ok. if you conclude it is hopeless, please turn it into hsplugins
15:27 autrijus LGPL is fine.
15:27 stevan autrijus, all: what was the last failing count on the tests?
15:28 autrijus I forgot :/
15:28 stevan ok I am running a fresh build and the tests right now
15:28 stevan I will commit when its done
15:29 autrijus danke
15:31 kbrooks has joined #perl6
15:31 kbrooks Back.
15:31 autrijus yo.
15:31 kbrooks i had to rebot due to the fact that i didnt have any swap partition
15:32 kbrooks it pratically froze up
15:32 kbrooks ok
15:33 kbrooks without the swap, compilation went slow
15:33 kbrooks and it was my last straw
15:33 kbrooks so i rebooted
15:33 kbrooks :P
15:41 stevan 195/3716 subtests failed
15:41 kbrooks heh, running the tests
15:41 stevan but 7 of the test files died
15:42 stevan kbrooks: unTODO-ing them :)
15:42 kbrooks oo now
15:42 stevan commiting it now
15:43 stevan changes topic to: pugscode.org <<Overview Journal Logs>> | You have safely landed in the lambdacamel anarchistic commune | pugs.kwiki.org | smoke: http://xrl.us/fmw2 | Mac OS X (195/3716)
15:43 mj Pugs r1512, win32, ActivePerl 5.8, GHC 6.4, nmake
15:43 mj All tests successful, 2 tests skipped. Files=173, Tests=3835
15:43 mj All tests successful, Files=4, Tests=270
15:43 mj All tests successful, Files=2, Tests=8
15:43 mj All tests successful, Files=1, Tests=20
15:44 stevan mj: svn up and you should get failures
15:45 kbrooks What new, special and/or important features are in Perl 6?
15:46 stevan kbrooks: that is a loaded question. A lot has/is changed
15:46 PerlJam kbrooks: go to http://dev.perl.org/perl6 and read
15:46 stevan and everyone has their favorites
15:46 ninereasons has joined #perl6
15:46 * stevan like junctions and multi-subs right now :)
15:47 autrijus kbrooks: better, http://search.cpan.org/dist/Perl6-Bible/
15:47 PerlJam kbrooks: a quick summary would be that the syntax has been regularized and extended, built-in OO support, better type system, improved RE syntax, etc.
15:48 kbrooks a few tests got skipped
15:48 stevan kbrooks: what do you mean?
15:48 autrijus he probably means the 2 tests skipped in the pugsrun (I think)
15:48 kbrooks t/pugsrun/06-dash-version..................skipped
15:48 kbrooks        all skipped: no reason given
15:49 autrijus right. never mind that. that's normal
15:49 kbrooks why is it
15:50 Aankhen`` "Improved RE syntax"... heh.
15:50 Aankhen`` That's a misleading statement.
15:51 theorbtwo "Decided RE syntax was a dead end, replaced it with rules, which are better in just about every concivable way."
15:51 kbrooks "All tests successful, 2 tests skipped.
15:51 kbrooks Files=173, Tests=3835, 843 wallclock secs (768.91 cusr +  9.15 csys = 778.06 CPU)"
15:51 autrijus kbrooks: that test was skipped for everyone; it's basically that the test is unfinished
15:51 autrijus and I ran out of time before 6.0.14  release to figure out how to fix it properly
15:51 autrijus so I skipped them
15:51 kbrooks ok
15:51 autrijus or rather, maybe s/I/gaal/, or maybe s/I/Corion/
15:51 autrijus I lost count :)
15:53 kbrooks :P
15:54 justatheory has joined #perl6
15:55 kbrooks ok
15:55 kbrooks now to test
15:56 theorbtwo Hmm... are underscores legal characters in heigherical namespace name sections?
15:56 autrijus _foo::bar ?
15:57 autrijus foo::_bar?
15:57 autrijus sure yes. just like p5
15:57 theorbtwo Er, haskell namespace.
15:57 autrijus oh. no idea. prolly not
15:57 autrijus try and see
15:59 kbrooks cool.
15:59 Alias_ has quit IRC (Read error: 54 (Connection reset by peer))
15:59 Alias_ has joined #perl6
15:59 theorbtwo That'd explain the problem.
15:59 autrijus ah. wow!
16:00 mj kbrooks: then Dan Sugalski, Perl 6 Internals TPC 5.0 - http://dev.perl.org/perl6/talks/tpc5​-internals/perl%206%20internals.html and http://www.parrotcode.org/
16:00 autrijus uhm, SHA1__0_0_1 works.
16:00 kbrooks perl6 is cool.
16:00 autrijus it's legal, just not leading
16:01 theorbtwo Don't get too excited; it doesn't seem to work.
16:06 metaperl_ has joined #perl6
16:12 kbrooks :O
16:14 autrijus https://developers.slashdot.org/​article.pl?sid=05/04/04/1520227
16:14 kbrooks autrijus, heh, pugs is classy
16:14 kbrooks oop
16:14 kbrooks what the hell?
16:15 kbrooks sub hi($msg) { say $msg; }
16:15 kbrooks and:
16:15 kbrooks hi("bitch\ra");
16:15 kbrooks result in:
16:15 kbrooks "aitch"
16:15 kbrooks returning
16:16 kbrooks bool::true
16:16 autrijus that is indeed correct.
16:16 autrijus exactly what happens in perl5, even
16:16 kbrooks what does the \r do?
16:16 autrijus oh wait, "aitch"?
16:16 autrijus the \r sets lf
16:16 autrijus so "a" overwrites "b"
16:16 autrijus that's correct.
16:16 autrijus you may want \n instead if you want newline
16:16 kbrooks linefeed? as in basck to the line?
16:17 metaperl_ has quit IRC (Read error: 60 (Operation timed out))
16:17 kbrooks and \b erases the line........
16:17 integral \b is a single backspace (BS) character
16:17 kbrooks yeah
16:17 kbrooks erases the char
16:17 kbrooks if you loop with the length, it will  erase the line
16:18 autrijus I think it merely moves cursor.
16:18 autrijus pugs> say "1244\b\b3"
16:18 autrijus 1234
16:18 integral depends on the terminal really
16:18 kbrooks but how to get the length....i dunno
16:18 autrijus that, too.
16:18 autrijus kbrooks: oh. you get the length using .chars
16:19 integral kbrooks: you're in terminal dependent territory, and you can use an escape sequence to get the current cursor pos
16:19 autrijus pugs> "abc".chars
16:19 autrijus 3
16:19 PerlJam kbrooks: you could try porting curses to perl6
16:19 PerlJam ;-)
16:19 integral hmm, what type of thing is chars counting there?
16:19 kbrooks oh, really?
16:19 kbrooks i could try?
16:19 autrijus integral: by default, unicode characters
16:19 scw programs usually use "\b \b" to erase the last char?
16:19 kbrooks hmmmm, nope. i have no experience in C
16:19 autrijus there's .bytes too.
16:20 autrijus kbrooks: beauty of pugs is that you don't have to know C...
16:20 kbrooks what?
16:20 autrijus you only need to know either haskell or parrot.
16:20 autrijus pasm, that is
16:20 autrijus or rather, parrot imc
16:20 PerlJam you may not even need to know that.  Some creative cargo-culting can take you far.
16:20 integral and a unicode character is a whole thing like ā ?
16:21 autrijus yes.
16:21 autrijus except I think pugs is counting codepoint right now
16:21 iblech has joined #perl6
16:21 theorbtwo Well, ā might be one character (a with overbar), or might be two (a, followed by a combining overbar), you'd want grapheme to always get 1.
16:21 theorbtwo ...I think.
16:21 autrijus ...you think correctly.
16:21 iblech Because of the recent TODOing and unTODOing, I wondered if it'd be useful to have a file, say t/force_todo, in which all todo-because-of-release tests are listed. Test.pm would read that file and'd add "# TODO" to the output. So, we wouldn't have to TODO/unTODO each test, but only change one central file. Comments?
16:21 integral this is where it gets confusing :-)
16:22 integral iblech: does that work with parsefails?
16:22 autrijus iblech: all todo-because-of-release tests can be obtained by running test and examine which failed.
16:22 autrijus iblech: so yeah, a "toggler" in util/ will be fine.
16:23 integral n/m
16:23 kbrooks How do I declare a variable?
16:23 autrijus want to work on it with your supernatural productivity? :)
16:23 dvtoo has joined #perl6
16:23 autrijus kbrooks: my $var;
16:23 integral kbrooks: my :-)
16:23 * kbrooks scolds self
16:23 kbrooks heh, i like ranges
16:23 PerlJam iblech: Wouldn't that file also need to contain enough context for the would-be (un)?todoer to decide whether or not something needs changing when todos are no longer todo?
16:23 iblech autrijus: The problem yesterday was that some tests were hard to TODOify, because they contained loops etc.
16:23 autrijus aye, I saw that. so human intervention is needed too
16:23 iblech PerlJam: After a release, t/force_todo could simply be deleted
16:24 kbrooks and i want an array of methods in any object
16:24 autrijus or (bad idea zone) alert()
16:24 kbrooks and i want an array of methods in any object. what's the method to get them
16:25 kbrooks Anyone?
16:25 theorbtwo You want to get a list of methods that are valid on a given object, you mean?
16:25 kbrooks Yes.
16:25 PerlJam kbrooks: I don't think such introspection currently exists.
16:25 theorbtwo I don't know, but as pugs doesn't support objects yet, the question is rather moot.
16:26 kbrooks autrijus?
16:26 iblech Example: In a test there's a "ok some_sub(), "test of some_sub"'. Now if this test should be TODOed for release, one would add a line to t/force_todo: "t/some/test.t 17" (say 17 is the test number of that test). Consecutive "make test" runs will treat that "ok ..." as a "todo_ok" then
16:26 iblech kbrooks: $obj.meta.getmethods(), IIRC
16:26 autrijus kbrooks: we are on 6.0.x.
16:26 autrijus kbrooks: 6.2.0 will do full OO. before 6.2.0 we don't have any OO.
16:26 autrijus see t/oo/* for future capability
16:27 autrijus we are working on OO -- in particular mugwump is filling in Class.hs like mad -- so please have patience :)
16:27 kbrooks "pugs> $a.meta.getmethods()
16:27 kbrooks *** Error: No compatible subroutine found: &getmethods
16:27 kbrooks  at App "&getmethods" (App "&meta" (Var "$a"))
16:27 kbrooks "
16:27 theorbtwo Like I said, not yet supported.
16:27 theorbtwo Pugs is very young yet; not all theoretically valid perl6 is supported by pugs.
16:27 kbrooks where $a is my $a = ('a'..'z')
16:27 kbrooks :P
16:28 kbrooks mmm, o k
16:28 PerlJam kbrooks: btw, why did you use $a rather than @a ?
16:29 kbrooks oh
16:29 integral the first perl6 newbie question ;-)
16:29 * kbrooks forgot
16:29 PerlJam kbrooks: well, it's perfectly valid perl6 and would do the right thing probably.
16:30 kbrooks i AM stupid :P
16:30 kbrooks not.
16:30 autrijus pugs> my $a = ('a'..'z'); $a[3]
16:30 autrijus ('d')
16:30 autrijus that's entirely fine.
16:31 iblech has quit IRC (Read error: 104 (Connection reset by peer))
16:31 autrijus thank god. I mean, larry.
16:31 theorbtwo Is there a difference?
16:31 Khisanth theorbtwo: larry would say yes
16:31 vladtz has joined #perl6
16:31 autrijus theorbtwo: they are one scope apart
16:31 PerlJam autrijus: Larry is the new pope?!?
16:31 autrijus larry is the author of perl6's story; god is author of larry's story
16:32 kbrooks LOL
16:32 * autrijus wonders if perl6 writes god's story
16:32 kbrooks no
16:32 PerlJam autrijus: larry wouldn't even claim to be the author of perl6's story
16:32 theorbtwo "Perl 5 was my rewrite of perl; Perl 6 is the community's rewrite".
16:32 PerlJam perhaps he'd say he's just the narrator
16:32 theorbtwo (Intro of A01.)
16:33 autrijus PerlJam: "This job of playing God is a little too big for me. Nevertheless, someone has to do it"
16:33 autrijus (Intro of A01.)
16:33 kbrooks he h
16:33 kbrooks heh*
16:33 kbrooks :)
16:34 alinbsp has joined #perl6
16:34 alinbsp hi autrijus :)
16:34 autrijus yo!
16:34 kbrooks is making a server really THAT simple in perl6? ONE subroutine does the socket, bind, listen. and you don't have to do all 3!
16:34 kbrooks wow!
16:35 * autrijus persumes kbrooks had not seen IO::All
16:35 autrijus but, yes. :)
16:35 kbrooks did you really say yes THAT fast, autrijus? ;)
16:35 kbrooks and what is IO::All?
16:35 autrijus http://search.cpan.org/dist/IO-All/
16:35 PerlJam kbrooks: an ueber-neat perl5 module
16:36 crysflame IO::All is to perl as << is to C++
16:36 kbrooks oh
16:36 kbrooks crysflame, i get it
16:36 PerlJam ingy++ (for IO::All)
16:36 kbrooks crysflame, iostream can be extended in C++ clasaes
16:36 kbrooks classes
16:36 crysflame neat. i don't know C++
16:37 kbrooks actually
16:37 kbrooks s/iostream/<<
16:37 autrijus although with MMD, all IO::All overload hacks can be neatly reexpressed.
16:37 kbrooks MMD?
16:38 Limbic_Region multi-method dispatch
16:38 kbrooks oh i see
16:38 autrijus see http://search.cpan.org/dis​t/Class-Multimethods-1.70/ for a perl5 implementation from the distant prehistoric past
16:38 PerlJam kbrooks: with all of these questions, you'll know everything we know soon.  Then you can hack pugs like a pro.
16:38 Limbic_Region Dan has a great "What the heck is X" section on his blog
16:38 Limbic_Region I believe MMD is one of the things he covers
16:39 kbrooks p6 does mmd (from what i have saw)
16:39 autrijus pugs also does mmd.
16:39 kbrooks correct?
16:39 autrijus yup.
16:39 PerlJam kbrooks: sure
16:39 kbrooks s/p6/pugs
16:39 Limbic_Region http://www.sidhe.org/~dan/​blog/archives/000194.html
16:39 Limbic_Region That was "What the heck is MMD"
16:39 kbrooks same methods for intristic handles
16:39 Limbic_Region http://www.sidhe.org/~dan/​blog/archives/000198.html
16:39 Limbic_Region That was "What the heck is MMD good for"
16:41 PerlJam Dan should've had a "Where the heck is Dan?" post several months ago ;)
16:41 kbrooks i presume IO::All::Socket is only good for unix
16:42 theorbtwo Shouldn't be.
16:42 theorbtwo IO::Socket::INET certianly isn't.
16:42 kbrooks strange
16:43 kbrooks then why does it use fork!
16:43 PerlJam IO::All::Socket is just an IO::All interface to IO::Socket
16:43 PerlJam kbrooks: win32 has fork
16:43 autrijus win32 has fork since 5.6.x.
16:43 PerlJam for several years now.
16:43 Schwern PJ:  correction.  Win32 can emulate fork if you configure it taht way
16:43 autrijus however it is very very slow.
16:43 autrijus win32 perl, that is.
16:44 kbrooks oh wait
16:44 autrijus the async{} support in pugs should be miles better than perl5 ithreads (i.e. win32 fork)
16:44 * kbrooks checks
16:44 theorbtwo It would be very difficult to not be better then ithreads.
16:44 autrijus i.e. one works within reasonable memory, one explodes
16:44 PerlJam kbrooks: but what do you care about non-unix?  Didn't you say that you're running linux?
16:44 kbrooks Strange.
16:44 autrijus that... is scathing :)
16:44 Schwern theo:  5.005 threads succeeded. :)
16:44 kbrooks PerlJam, i care about compatibilty
16:45 theorbtwo Schwern: it's orb.
16:45 Schwern I like theo.
16:45 theorbtwo Anyway, I'm not convinced that ithreads are better then 5005 threads.
16:45 Schwern !
16:45 metaperl_ has joined #perl6
16:45 autrijus I'm going to sleep now. lambdacamels, please keep the puppy fed :)
16:45 * Schwern takes away theo's, or perhaps orb's, or perhaps two's crack pipe
16:45 * autrijus waves &
16:45 theorbtwo theo is somebody else.
16:45 kbrooks cya, autrijus
16:45 PerlJam good night autrijus!
16:47 Schwern iThreads have the minor advantage of being 521% more working than 5.005 threads ever were.
16:47 theorbtwo Also, 521% slower.
16:47 Khisanth hmm MMD is the same as what Java and C++ does?
16:47 * rgs concurs
16:47 Schwern The slowest program is the one that doesn't work.
16:47 rgs there is no MMD in Java or C++
16:47 Schwern 5.005 threads never really worked
16:48 rgs 5005threads were unsafe
16:48 rgs ithreads are slow because they copy everything
16:48 Schwern Didn't 5.005 threads follow the "everything is shared unless its not" model?
16:48 kbrooks hm
16:48 kbrooks cool
16:48 rgs Schwern, right
16:48 Schwern Right.  Disaster.
16:48 rgs ithreads takes the opposite approach
16:48 kbrooks what the hell is ithreads
16:49 Khisanth rgs: well "This is a way for your program to have multiple subroutines, functions, or methods with the same name that differ only in the types of their signatures." sounds awfully similar :)
16:49 PerlJam kbrooks: a threading model introduced in perl 5.8
16:49 Schwern kbrooks:  Its Perl emulating threads by spawning a new interpreter inside itself.
16:49 Schwern Interpreter Threads
16:49 rgs Khisanth: but dispatch is only done on the object type
16:49 theorbtwo Ithreads follow the "everything is copied unless it isn't" model.
16:49 Schwern Rather than trying to use kernel/operating system threads
16:49 rgs P5 has no MMD either
16:49 Schwern theo:  Yes, this is much more safe and allows you to use threads with modules that don't expect to be run in a threaded environment.
16:50 Schwern Therefore the entire universe doesn't have to worry about becoming "thread safe"
16:50 Schwern See also C library hell
16:50 theorbtwo Was there ever a problem, so long as you used such objects from only one thread?
16:50 Schwern Yes.
16:51 theorbtwo Oh.
16:51 Schwern our $Counter = 0;  sub foo { my $old_counter = $Counter;  $Counter++;  die unless $Counter == $old_counter + 1 }   # not thread safe
16:51 PerlJam The whole threads vs. fork dichotomy just sucks.  There really needs to be a continuum of functionality that makes good implementation and good usage sense.
16:51 Schwern PJ:  forks.pm
16:52 PerlJam forks.pm?
16:52 theorbtwo It's only not thread safe if foo can be called from two different threads, though.
16:52 Schwern theo:  Yes.  And it can
16:52 Schwern theo:  Its just an innocent function.
16:52 theorbtwo Yes, the existance of forks.pm goes a long way to convince me that ithreads suck.
16:53 rgs java has a nice per-object synchronisation abstraction. But often unsafe.
16:53 Schwern PJ:  emulates fork() using threads... or vice versa... don't quite remember.
16:53 Schwern theo:  Why?
16:53 rgs makes it java code poorly reusable in threaded environments
16:53 Schwern I agree that iThreads suck, but they suck less.
16:53 PerlJam Schwern: yeah, reading search.cpan.org now
16:54 theorbtwo If forks can emulate the ithreads model, and be faster, then why doesn't ithreads just use forks?
16:54 pupilzeng has left "See you"
16:55 Schwern theo:  Maybe it could.  But as forks.pm is a prototype its probably incomplete and riddled with bugs.
16:55 theorbtwo has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
16:55 Schwern theo:  Also, some OS' don't have fork.  Now you have two threads implmentations.   See also "hell".
16:56 kbrooks theorbtwo: windows DOES NOT HAVE FORK
16:56 kbrooks gdi
16:58 theorbtwo has joined #perl6
16:59 PerlJam one of the problems with threads is that there are N different implementations (types of threading)
17:00 theorbtwo I know win32 doesn't have a native fork.
17:00 PerlJam If everyone could agree to support fork(), then we'd at least have a workable standard.
17:00 PerlJam (to start from)
17:00 theorbtwo So use the slow and stupid implementation where you have to, and the fast smart one where you don't have to.
17:01 PerlJam theorbtwo: and keep the implementation differences all hidden from the user?  (See also "developer hell"  ;-)
17:01 gaal has left
17:01 metaperl_ are named args to subs supported yet? e.g.  duplicate(3, :reverse, :collate(0), 2, 3, 5, 7, 11, 14);  # same
17:03 kbrooks heh
17:04 kbrooks "io("myfile") > io->("ftp://store.org");     # Upload a file using ftp "
17:04 kbrooks crazy
17:04 PerlJam metaperl_: TIAS
17:05 metaperl_ TIAS means?
17:06 PerlJam Try It And See
17:06 PerlJam They appear to be supported but they don't quite fit the mental model I've gotten from reading Larry's posts on the subject.
17:07 mugwump tests++
17:07 simcop2387 has quit IRC (Read error: 60 (Operation timed out))
17:07 metaperl_ mugwump, you mean, make tests as a hurdle to cross?
17:08 mugwump make tests that demonstrate the behaviour as explained in the synopses, that might fail in the current implementation of pugs
17:08 mugwump these are invasluable
17:09 mugwump (a technical term for being as useful as vaseline when you're in a tight spot)
17:10 * mugwump makes a start on another half dozen short Haskell lessons
17:11 metaperl_ mugwump, have you thought about buying Simon Thompson's book on Haskell? I am very impressed with it
17:11 liyuray has joined #perl6
17:12 metaperl_ I'm at odds with the use of the term "flatten" as it is used in http://dev.perl.org/perl6/synopsis/S06.html
17:12 metaperl_ to flatten means to take something which might be nested and linearize it
17:13 metaperl_ they are saying that flatten means to bring into existence
17:13 kbrooks LOL
17:13 kbrooks the synopsis is a lie
17:14 kbrooks a UNTRUE statement
17:14 metaperl_ I want to write to p6l and have them redo the wording... should I?
17:14 kbrooks No.
17:14 Khisanth why not?
17:14 kbrooks a statement with nothing behind it
17:14 Khisanth well check a dictionary first :)
17:14 kbrooks a statement with pratically no foundation
17:15 mugwump prototype the change somewhere is a better plan
17:15 kbrooks a statement with........
17:15 kbrooks too many descriptions
17:15 Khisanth gaah are you going to start with that in here too?
17:15 mugwump That flattening is just one level AIUI, like slurpy lists
17:16 mugwump but then, I only just read that part.
17:18 Limbic_Region regardless - metaperl should write to p6l for clarification
17:18 metaperl_ yes, I think I will
17:18 PerlJam Where is the word "flatten" used to mean "bring into existence" exactly?
17:18 Limbic_Region if someone was confused by it, someone else is bound to be - and the Ss are supposed to be the human digestible form
17:18 metaperl_ Slurpy parameters are treated lazily -- the list is only flattened into an array when individual elements are actually accessed:
17:18 metaperl_        @fromtwo = tail(1..Inf);        # @fromtwo contains a lazy [2..Inf]
17:19 PerlJam Hmm.
17:19 PerlJam That sentence is definitely wrong.
17:19 mugwump Limbic_Region: yes, but a pragmatic line must be drawn...
17:19 metaperl_ I think reified is a better term
17:20 simcop2387 has joined #perl6
17:20 metaperl_ http://dictionary.reference.com/search?q=reify
17:20 mugwump The Synopses are supposed to be concise, not a tutorial.  Like _Programming Perl_
17:20 co2 has joined #perl6
17:20 PerlJam metaperl_: perhaps, but the list is "flattened" in the sense that it is made non-lazy to the point of an individual access.
17:20 Khisanth not sure if requiring a dictionary next to the reader is a good thing :)
17:21 metaperl_ mugwump, what are you saying? wrong wording and/or wording at odds with current perl5 wording does not aid conciseness...
17:21 metaperl_ flattening is the opposite of nesting
17:21 Limbic_Region mugwump - I don't disagree.  I am just saying that there is no significant harm in raising the question of clarification to p6l - if it is indeed a point of contention that the concise form should be ammended
17:21 metaperl_ reification is the opposite of abstract existence
17:22 Schwern metaperl:  but nobody knows that.
17:22 Limbic_Region s/that the/then the/
17:22 mugwump Great, just please do explore it with code first ;)
17:22 PerlJam metaperl_: flattening in this context is no longer treating an array as a unit, but rather as a list of parts.
17:22 metaperl has quit IRC (Read error: 110 (Connection timed out))
17:22 * metaperl_ lives
17:23 metaperl_ Schwern, nobody knows what?
17:23 Schwern And arrays aren't exactly abstract.
17:23 PerlJam metaperl_: what reification means
17:23 Schwern metaperl:  What reify means.
17:23 metaperl_ no, but elements which are lazily in existence as opposed to created values...
17:23 * metaperl_ heads to #haskell
17:24 Schwern If anything else I'd describe "taking a bunch of lists, arrays and scalars and turning them all into one list" to be glomming, smoothing... or, well, flattening.
17:24 Schwern metaperl:  Oh.
17:24 PerlJam in any case the text "the list is only flattened into an array" makes absolutely no sense.  If anything, it's the other way around.
17:25 Schwern metaperl:  You're talking specifically about lazy lists??
17:25 Schwern s/??/?/
17:25 kbrooks Khisanth, and i stopped doing that 'a statement ...' because there were too many descriptions for that and i chose to give up rather than flood the channel :P
17:25 PerlJam metaperl_: Were I you, I'd just reword it and submit a patch.
17:25 metaperl_ well, I'm just saying that any perl-5 person thinks of flattenening as taking a nested data structure and "linearizing" it
17:26 metaperl_ my @ary = (@a, @b); # @a and @b flattened into @ary
17:26 metaperl_ not nested into @ary
17:26 mugwump is this based on a survey or subjective evidence?  ;)
17:26 Schwern metaperl:  Ok, I don't see anything wrong with that
17:27 metaperl_ mugwump: search.cpan.org for flatten
17:27 mugwump I can see where you're coming from, for sure.  But it's difficult not to stumble across that sort of thing
17:27 metaperl_ see my Data::Hash::Flatten
17:27 metaperl_ etc, etc
17:28 mugwump I happen to agree with your opinion that flatten is a bad choice here, given that slurping is already used for that purpose
17:28 PerlJam metaperl_: the sentence makes sense to me if you just s/flattened/generated/
17:29 PerlJam er, well more like s/flattened into an array/generated/
17:30 PerlJam of course, then you'd probably want a little more explanation to say that it's only generated up to the point of access  (i.e.,  my @numbers = 1..Inf; doesn't go into an infinite loop if you try to access the 8th element.)
17:30 osfameron has quit IRC ("Leaving")
17:31 metaperl_ Class::DBI uses the terminology inflated and compressed... which I think is close to what I'm looking for. The difference is the data in compressed form is already generated/reified/created
17:34 PerlJam Now that I look at the synopsis, I see why the word "flattened" was used there.  The signature of tail is "sub tail(*$head, *@tail)" and those * cause flattening.  What the text is trying to show is that tail(1..Inf) won't go into infinite loop because *@tail is "lazily flattened" (or how ever you want to put it)
17:34 Schwern has quit IRC ("My work here is done.  If you need me again admit that you're screwed and die.")
17:35 putter has joined #perl6
17:36 PerlJam But really the "flattening" is from the caller's perspective and it should really be talking from the sub's perspective.
17:36 PerlJam anyway ... I babble.
17:37 Limbic_Region has quit IRC ("tiuq\")
17:37 vladtz has quit IRC ("Leaving")
17:37 liyuray has quit IRC (Read error: 110 (Connection timed out))
17:39 lightste1 has joined #perl6
17:39 Limbic_Region has joined #perl6
17:41 mugwump yeah, that's a good reason not to use "slurped"
17:42 kbrooks slurped?
17:42 mugwump yes, slurping implies not lazy
17:43 cwest has quit IRC (Remote closed the connection)
17:43 cwest has joined #perl6
17:44 chip ghc 6.4 is using http://www.cminusminus.org/.  Intersting.
17:44 chip Interesting, even.
17:45 jhorwitz has joined #perl6
17:45 ezra6a has quit IRC ("This machine just fell asleep")
17:47 lightstep has quit IRC (Read error: 145 (Connection timed out))
17:51 Corion has joined #perl6
17:53 jagerman has quit IRC ("brb")
18:00 gaal has joined #perl6
18:00 putter is there a standard idiom for transliterating <<END?  qq:t/^END/ ?
18:01 gaal are here-docs out?
18:01 gaal i thought there was still debate.
18:01 gaal rather: i thought they were in, but there was debate about indentation.
18:03 putter i havent looked at the p6 archives.  S02 says gone, and new funky whitespace elimination rules...
18:03 gaal well, in that case, i must be mistaken :) --if you're looking at a recent s02.
18:04 putter current s02.  all nicely merged with the other S\d\d into a language manual.  :)
18:05 gaal well -- i looked too and i see: "Heredocs are no longer written with "<<", but with an adverb on any other quote construct"
18:05 gaal is that what you're looking at?
18:06 putter yes.
18:06 gaal then i'd say it should be "to", not "t" in your original question.
18:06 gaal that is, the :to adverb.
18:07 putter ah, good.  long form is better.
18:08 * gaal doesn't like the whitespace rules there, but will learn to live with them.
18:15 putter I had a "dwim complexity cringe".  but ive needed/implemented similar.  and i assume folks will be able to add additional adverbs.
18:19 lightste1 is now known as lightstep
18:19 gaal i don't mind dwimmery when it does what *i* mean :)
18:19 gaal but i recognize that tabs are impossible to treat in a way that makes everybody happy
18:21 gaal and refuse to champion my own view on this because i think flame wars about tabs are probably on par with a queue for some official documents in terms of SHEER BOREDOM :)
18:21 * sorje loves tabs
18:24 Corion jwz has a great piece on tabs
18:26 Corion BTW, does Haskell have any built-in (SQL or DBM) database? It should be fairly easy to write some SQL parser and interpreter in Haskell, so some graduate student should have done so already ...
18:26 Corion (and Pugs having a native SQL DB, preferrably built-in, pure Perl/Haskell, would be very nice IMO)
18:27 elmex has joined #perl6
18:27 Corion ... much like SQLite, except without the hassle of SQLite needing a C compiler :)
18:34 Corion changes topic to: pugscode.org <<Overview Journal Logs>> | You have safely landed in the lambdacamel anarchistic commune | pugs.kwiki.org | smoke: http://xrl.us/fmw2 | Mac OS X (195/3716) | Win2k r???? (205/3725)
18:34 Corion changes topic to: pugscode.org <<Overview Journal Logs>> | You have safely landed in the lambdacamel anarchistic commune | pugs.kwiki.org | smoke: http://xrl.us/fmw2 | Mac OS X (195/3716) | Win2k r1521 (205/3725)
18:37 mugwump Corion: there's STM :-)
18:37 Corion STM ?
18:38 mugwump just think, exceptions on acid
18:42 jagerman has joined #perl6
18:46 putter what is a non-english-speaking country which hacks perl/ruby a lot?  aside from jp.
18:46 theorbtwo DE
18:46 theorbtwo A decent bit, at least.
18:47 chip Counting expatriates: .ca .fi .no .nl
18:48 chip um, I suppose s/\.ca// seeing as how English is one of the official langs
18:50 Corion Does .de hack Ruby a lot?
18:50 Corion (well, I hacked in Ruby some, but didn't hack on Ruby)
18:51 putter i don't suppose this is an opportunity to cannonicalize heredoc/here-doc/"here doc"?  the trend seems to be towards heredoc, except in jp where here-doc trounces it.
18:53 theorbtwo Well, I was assuming an "or" there.
18:53 theorbtwo And I have no idea from the ruby side.
18:53 putter not just trend, total google usage.  in ge and fr as well.  heredoc would be a no brainer, if jp wasnt such an outlier.
18:54 putter larry uses both ;)
18:54 Corion "ge" ?
18:54 theorbtwo http://en.wikipedia.org/wiki/ge
18:55 Corion Ah ;))
18:57 Juerd putter: Just rename heredocs
18:59 PerlJam putter: here-doc is how it should be IMHO
19:00 PerlJam putter: heredoc requires more coinage than I think necessary
19:02 putter err, in qq:to/END/, is END a regexp?  can one actually do qq:to/^        END/ ?
19:03 putter s02 unclear
19:03 * Juerd is used to 'heredoc'
19:04 Juerd heredoc, regex (not regexp, not regular expression), sub (not subroutine)
19:05 mj has quit IRC ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org")
19:06 putter ok, heredoc standardization.  A\d\d and E\d\d have lots of heredoc, no here-doc.
19:08 * putter sorry PerlJam... heredoc usage clearly dominates except in jp.  though if it becomes a less distinct language feature i could imagine it fading out again...
19:08 PerlJam I can live with that. :-)
19:09 PerlJam "heredoc" is one of those things that needs to be in the jargon file but isn't (at least I don't think it is)
19:15 mj has joined #perl6
19:18 TreyHarris has joined #perl6
19:18 ninereasons neato.  '.elems' works, now.  
19:19 kbrooks what does?
19:19 kbrooks er
19:19 ninereasons I'm very grateful to all of you talented committers. pugs gets more interesting every day.
19:19 TreyHarris is ingo on here?
19:21 ninereasons @arr= <one two three> ; say @arr.elems; # kbrooks , prints '3'
19:21 TreyHarris that name has confused me.  "elems" feels like a serializer to me, not a counter.
19:22 metaperl has joined #perl6
19:23 ninereasons really?  I knew what it was when I first saw it;  maybe it's because you have more broad programming experience than I do, TreyHarris (?)
19:23 TreyHarris lol... no.  99% of my programming life has been in Perl
19:24 ninereasons no java?  where's the 'serializer' connection, then?
19:25 TreyHarris i know lots of languages.  but once i learn it, I go back to Perl. :-)  that's not true actually... when i needed a lot of multithreaded stuff several years ago, i wrote a lot of Java.  but still probably less than 1% of the coding i've ever done
19:25 lampus has joined #perl6
19:26 TreyHarris but in any case "serializing" is a pretty universal concept
19:26 TreyHarris though fuddy-duddies prefer the term "marshalling" I think :-)
19:31 co2 has quit IRC (Remote closed the connection)
19:33 bd_ has quit IRC ("reboot!")
19:33 Corion Oh. undef on the lhs is not yet allowed. Is there a (todo_) test for that? Or is there a different way to that?
19:33 TreyHarris what's the URL for the CPAN modules that have been ported?  i forgot to bookmark and can't find it again
19:34 gaal Corion, you mean for like (undef, undef, $interesting) = @arr?
19:34 Corion gaal: Yep - that's my exact use case.
19:34 Corion gaal: Resp. (undef, undef, $u) = function_call();
19:34 gaal no, that's an oversight. please add to t/builtins/undef.t
19:34 Corion (but that amounts to the same)
19:34 Corion gaal: Will do
19:35 gaal thanks :)
19:35 Corion as a todo or as a fail ?
19:35 lightstep TreyHarris, i don't know, but freepan.org probably contains some
19:35 gaal either one, i guess. autrijus &co. regularly scan todos.
19:36 TreyHarris lightstep: yep, that's got it.  thanks
19:36 alinbsp has quit IRC ("Leaving")
19:36 TreyHarris so when exactly did %hash<<key>> become %hash<key>?  i missed it
19:37 gaal i thought about the embedding thing a little more, and am more and more convinced it's just to weird to do it through haskell.
19:38 Corion Okies. I put the whole expression into an eval though. Hmm. I should do a try{} first, maybe it's not that fatal.
19:38 gaal Corion, you have eval_ok etc.
19:38 Corion gaal: I know :)
19:38 Corion I should finally add a skip count to skip :))
19:38 gaal oh, there's skip now? very cool!
19:39 gaal did you add that?
19:40 Corion gaal: Didn't add it yet (haven't written it yet)
19:40 Corion gaal: There is skip(), yes :)
19:40 gaal i mean, who added skip?
19:41 Corion BTW, it's actually two different test cases. (undef,$interesting) = (1,2) doesn't work, but is not fatal. (undef,$interesting) = f() is fatal if f() returns something :)
19:41 gaal heh :)
19:41 gaal that looks like *three* cases to me.
19:43 gaal Corion++
19:43 Corion gaal: I'm adding some cases to the file :))
19:44 gaal good.
19:44 Corion Heh. They are even more fatal than eval() can handle :))
19:44 Corion (undef, $i) = f();
19:45 gaal hard parsefails++; # make things interesting
19:46 Corion No, spoke too soon. No hard parsefails. They just don't set $! properly. So I use eval_ok and then check the expected results afterwards.
19:46 Corion No, spoke too soon. No hard parsefails. They just don't set $! properly. So I use eval_ok and then check the expected results afterwards.
19:46 gaal we need to add a check to eval.t :)
19:46 Corion Ooops. Shouldn't cursor-up+enter so often.
19:46 Corion in the wrong window
19:47 Corion A failure in a try{} block should set $!, right?
19:48 gaal the CATCH block (which, note, is inside the try) would see the $!; i forget if it's visible outside it.
19:48 gaal (perversely, "try" is optional if you have a CATCH :)
19:49 Corion Ah - maybe that's my error. Oh well - it "works"/fails as is with eval_is too. I'll try to commit just this file now :)
19:50 Corion Hah! It works. I learned how to commit a single directory without committing all the local breakage :)
19:50 gaal just make sure you write your test so that it succeets iff the feature works correctly; eval tests are tricky that way.
19:50 Corion gaal: See r1530. It should work, as (undef,*) = (1,2,3) should return a true value, no ?
19:50 gaal sec
19:51 Corion at least on p5 it does :)
19:52 gaal yes, i think so, since in scalar context the list is true.
19:52 Corion How do I check if a key in a hash exists? Is that via exists() (which doesn't), or is there a New Way ?
19:52 ninereasons funny difference between these:
19:52 ninereasons my ($a,$a,$a) = @arr #compare to ($a,$a,$a) = @arr;
19:53 gaal Corion: http://www.rodadams.net/Perl/S29.html defines exists.
19:53 Corion So I'll fudge around it :)
19:54 * cognominal tries to bootstrap himself in haskell.
19:54 gaal grep { $_ eq $key } <== %hash.keys
19:54 gaal :-p
19:54 cognominal what is the meaning of the $ all around Parser.hs?
19:55 gaal cognominal: it isn't standard Haskell; it fixes precendence. they mean "function application", and save you from typing parens all over the place
19:55 gaal omg i just answered a haskell question. KILL ME NOW.
19:56 cognominal no, I need gaal :) kill him later please
19:56 lightstep cognominal, in haskell (a b c) is ((a b) c), as opposed to (a $ b c), which is (a (b c))
19:56 gaal :)
19:56 Corion foo(bar(baz)) is foo $ bar $ baz
19:57 cognominal does someone know how to fix Parser.hs to support "loop {}" ?
19:59 Corion cognominal: Simple. Just add the looping code, and then add the keywords in Prim.hs.
20:00 Corion Two easy steps.
20:00 Corion I can do the keyword adding for you. So it's just one small step.
20:00 Corion :)))
20:00 gaal i like the error message you get when you try to use it. "Irrefutable pattern failed". Ominus.
20:00 lampus has quit IRC (Nick collision from services.)
20:00 gaal Ominous
20:00 gaal what is it with my typing this decade?
20:06 lightstep gaal, but this is really the most sensible message in this case. it essentially says "hey, programmer, you tried to segfault me"
20:06 gaal *obviously*. :)
20:07 ninereasons pugs -we 'my @arr = qw<one two three four>; my ($a,$b,@r) = @arr; say $b;' # $b eq 'two'
20:07 ninereasons pugs -we 'my @arr = qw<one two three four>; my ($a,$b,@r) = @arr; say $b;' # $b eq undef
20:07 gaal i think i just need to be hit on the head, lightly, so i start thinking in haskell. you guys keep saying it's so easy, after all.
20:07 ninereasons pugs -we 'my @arr = qw<one two three four>; my ($a,$b,@r) ; ($a,$b,@r)= @arr; say $b;'
20:07 ninereasons $b is undef in the second case.  is that odd?
20:08 gaal must be a synapse rearrangement.
20:08 lightstep don't believe anyone who says haskell is easy. but don't forget that implementing perl isn't easy either
20:09 gaal 9r: the code is the same in the first two, isn't it?
20:09 ninereasons sorry, yes.  the third case is my "second case"
20:09 gaal sure looks like a bug to me...
20:09 ninereasons see - @r steals the rest of the array from $b.
20:11 gaal not really, if you @r.perl.say, you only get ('two').
20:12 ninereasons it's related to the first example I posted - the silly one that says ($a,$a,$a) = @arr;
20:12 ninereasons it's one off from my ($a,$a,$a) = @arr;
20:13 ninereasons so, it steals the next element, not the remainder of the array. right?
20:13 gaal good catch; the new tests should probably go in t/data_types/ or t/syntax
20:16 gaal 9r, you have ci access?
20:16 ninereasons I don't have commit privileges
20:17 * gaal waves a rod of metacommitter summoning
20:17 gaal in the meantime, if you want to write a test, feel free to nopaste it and i'll ci it for you.
20:18 ninereasons ok.  
20:18 gaal thanks :)
20:18 ninereasons no .. thank you! :)
20:19 * putter scans the skies, hoping gaal's rod works...
20:20 gaal see t/README before you start; probably this best fits data_types/array.t
20:20 gaal either that or wherever my is tested a lot
20:20 gaal or put it in pugsbugs/ :)
20:20 metaperl has quit IRC (Read error: 145 (Connection timed out))
20:21 ninereasons yes, I'm reading the README and looking for the proper place.  You may feel free to beat me to it, if you wish.
20:21 gaal nope, i don't need you to grok haskell just yet. :p
20:22 gaal ah, i didn't scan your "to it" up there. sorry if my last line didn't make sense
20:22 ninereasons hehe, I was trying to parse it w/o success :)
20:23 justatheory has quit IRC ()
20:24 gaal anyway go ahead and find the best place + test
20:24 ninereasons ok
20:28 cognominal is there something akin to emacs etags for haskell?
20:28 gaal yes - hasktags
20:29 * cognominal feels stupid
20:29 gaal why? it's not obvious that's the name
20:30 gaal (unless of course you're the kind of person to whom "irrefutable pattern failed" spells "help! i'm being segfaulted!" :)
20:30 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.2/20050317]")
20:34 cognominal has quit IRC (Remote closed the connection)
20:34 cognominal has joined #perl6
20:39 stevan gaal: you waved for a meta commiter?
20:39 stevan ninereasons: do you need commit access?
20:40 ninereasons he's asking for my sake
20:40 stevan ninereasons: whats your email, I will set you up
20:40 gaal whoops, yes, hi, thanks
20:41 ninereasons I'll email you stevan.  thank you.
20:42 stevan ninereasons: ok (do you have my mail address?)
20:42 ninereasons I'm looking through pugscode.org trying to find it.
20:42 stevan [email@hidden.address]
20:42 gaal slash-msg, folks :)
20:42 ninereasons thank you.
20:43 * gaal &
20:44 * Corion updates some pugs-porn at http://datenzoo.de/pugs/win2k.html  resp. http://datenzoo.de/pugs/win2k.yml , if your fetish swings that way
20:44 cognominal hum, how does one generates and run parrot code from pugs?
20:45 stevan Corion++ # pugs porn
20:45 stevan cognominal: see scripts/pugscc
20:50 lightstep has quit IRC (Read error: 60 (Operation timed out))
20:52 TreyHarris < gaal> (perversely, "try" is optional if you have a CATCH :)
20:52 TreyHarris isn't C<try> just a syntactically null sugar-word?
20:53 gaal no, because if you *don't* have a CATCH, it still saves you from exceptions :)
20:53 gaal but I'm not really here :)
20:54 TreyHarris oh, right.  try == perl 5 eval BLOCK
20:54 * TreyHarris forgot
21:00 TreyHarris so does anyone here know when %hash<<key>> became %hash<key>?  i missed that change
21:01 stevan TreyHarris: not sure myself, but I welcome the change <<>> was kinda ugly
21:01 Corion I still use %ENV{"HTTP_PROXY"} - is that wrong? Should I use %ENV<"HTTP_PROXY"> ?
21:02 stevan Corion: <> is autoquote
21:02 TreyHarris Corion: the latter would be wrong, i think--unless the key contains quotes
21:02 Corion Ooooo - so I'll use <> :)
21:02 stevan so you can do %ENV<HTTP_PROXY>
21:02 Corion stevan: Exactly - two less chars!
21:02 TreyHarris you could write %ENV<"HTTP_PROXY"> as %ENV{'"HTTP_PROXY"'} though ;-)
21:03 stevan Corion: I always do %*ENV myself (not actually sure what the * is for -- Yeah Cargo Cult Perl6!!)
21:03 TreyHarris %* is for a global
21:03 Corion stevan: You're propably more correct, as %*ENV is a global var.
21:03 TreyHarris but %ENV will almost always be %*ENV unless you've done something evil.
21:03 stevan TreyHarris: exactly
21:03 stevan so I am just be more explict then,..
21:05 TreyHarris best practice, i think will be to always put in the * when referring to global vars, and always leave out * when referring to global subs/multimethods, unless you have a good reason for excluding in the first case or including in the second.  (the second would be like CORE:: today, i think)
21:05 Corion stevan: You're propably more correct, as %*ENV is a global var.
21:05 Corion Grrr - sorry again :(
21:06 stevan Corion, you might want to switch to decaf :)
21:07 Corion stevan: No - it's more the dangerous keycombo of alt-tab,cursor-up,enter :)
21:07 stevan Corion: I know I do the same thing
21:08 TreyHarris has anyone on p6-l seen my post on "Re: [S29] pick on other things than junctions"?  I sent it 100 minutes ago and still haven't seen it posted.  But I used the wrong sender email address, so maybe it's being held for moderation.  (Which is good--I used my private address by mistake.)
21:09 chip %ENV<<PATH IFS>> = ('/bin:/usr/bin', " \t\n")
21:10 nothingmuch has joined #perl6
21:10 stevan nothingmuch!!!
21:12 BigBear has joined #perl6
21:15 Corion jabbot is asleep? I see no commit messages ...
21:16 Corion I just added skip $count, $reason - and it seems I didn't break the build. But I didn't add tests for that.
21:16 Corion Anyway. I'm asleep now. Back in 16 hours or so ;))
21:16 Aankhen`` has quit IRC ("Veteran of the Bermuda Triangle Expeditionary Force, 1990-1951 [Time wasted online: 14hrs 25mins 52secs]")
21:22 Corion changes topic to: pugscode.org <<Overview Journal Logs>> | You have safely landed in the lambdacamel anarchistic commune | pugs.kwiki.org | smoke: http://xrl.us/fmw2 | Mac OS X (195/3716) | Win2k r1534 (210/3779)
21:23 Corion has quit IRC ("Chatzilla 0.9.67 [Firefox 0.10.1/20041001]")
21:29 justatheory has joined #perl6
21:42 ninereasons apparently, svn has allowed me to dirty up the pool with my first commit
21:52 stevan ninereasons: congratulations
21:53 * stevan refreshes his knowledge of "svn revert" ;)
21:54 BigBear has quit IRC (Client Quit)
21:54 ninereasons haha :)
22:04 ezra6a has joined #perl6
22:20 kbrooks changes topic to: pugscode.org <<Overview Journal Logs>> | You have safely opened the door to many Perl 6 hackers. | pugs.kwiki.org | smoke: http://xrl.us/fmw2 | Mac OS X (195/3716) | Win2k r1534 (210/3779)
22:29 Limbic_Region_ has joined #perl6
22:35 ninereasons what is the expected behavior of my ($a,@arr) = 1..3;  ?  should @arr.perl be (2)  or (2,3) ?
22:36 justatheory has quit IRC ()
22:40 mj has quit IRC (Read error: 104 (Connection reset by peer))
22:43 ninereasons or put another way: is  'my @arr = 1..3;' supposed to be identical to 'my( @arr ) = 1..3;' ?
22:49 TreyHarris ninereasons: larry dealt with this exact question on p6-l last week
22:49 TreyHarris i don't remember his answer :-)
22:50 TreyHarris the question is whether C<..> forces a list context on the lhs or not
22:51 TreyHarris but i do know that in your earlier example, @arr would be (2,3)
22:51 ninereasons so (2) would be a buggy return.
22:52 ninereasons I think the perl5 behavior is easy to understand; but maybe it's not strictly correct, in a grammarian's sense.
22:53 TreyHarris if context wasn't intuited from...er...context, Perl 6 wouldn't be Perl :-)
22:55 ninereasons my thoughts too.  for a non-programmer like me, intuited behavior is important
22:59 rgs has quit IRC (Remote closed the connection)
22:59 rgs has joined #perl6
23:03 nothingmuch Paul Chambers is a genius
23:11 cognominal is there an interactive haskell mode accessible from emacs, like ocaml thru tuareg?
23:33 stevan anyone know a reliable cross platform command to clear the screen?
23:37 stevan nothingmuch: I am a die-hard Mingus fan myself :)
23:38 nothingmuch stevan: what i've heard i've liked, but I don't have enough
23:38 nothingmuch stevan: what screen? oh shit, there went the portability
23:38 stevan nothingmuch: email me, and I will hook you up
23:38 stevan nothingmuch: I want to clear the screen in my hangman game
23:39 stevan system("clear") works on unix
23:39 putter has quit IRC (tolkien.freenode.net irc.freenode.net)
23:39 integral has quit IRC (tolkien.freenode.net irc.freenode.net)
23:39 obra has quit IRC (tolkien.freenode.net irc.freenode.net)
23:39 nothingmuch I'd try to use Curses to wrangle that mess
23:39 nothingmuch or at least ANSI::Term
23:39 stevan and there is a escape code (which I never remember), but I doubt any works on win
23:39 putter has joined #perl6
23:39 obra has joined #perl6
23:39 integral has joined #perl6
23:39 nothingmuch you can also do my $cls = `clear`;
23:39 nothingmuch rught
23:40 nothingmuch but there's o such thing on win
23:40 nothingmuch damn, typing is not working for me today
23:40 stevan figures :)
23:40 nothingmuch brb, i have to lvextend a raid, and mdadm needs a reboot to make that happen
23:40 stevan ok
23:41 ninereasons stevan, what should come of my (@a) = 1..3: ?  
23:41 ninereasons right now, pugs thinks it should be (1).
23:41 cognominal has quit IRC (Remote closed the connection)
23:42 cognominal has joined #perl6
23:42 Schwern has joined #perl6
23:42 Schwern I need to find Ingy
23:43 Schwern Anybody have his number?
23:43 obra Schwern: he's in taiwan
23:43 obra his number will not work
23:43 Schwern Oh darn
23:44 obra I'd also put money on him being asleep
23:44 Schwern Friend of ours is up in Seattle
23:48 ninereasons has quit IRC ("see ya'll tomorrow")
23:49 larsen has quit IRC ("later")
23:50 bd_ has joined #perl6
23:54 ihb has quit IRC (Read error: 110 (Connection timed out))

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs