Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-09-17

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:02 ruz has joined #perl6
00:19 elmex_ ?
00:19 elmex_ ;-)
00:19 elmex_ is now known as elmex
00:19 elmex perl6 isn't on topic in perl related communities :)
00:28 coral neither is perl5
00:28 elmex perl5 is more perl than perl6
00:28 coral to quote the old #perl-social topic, "no web/cgi/help/go/away/losers"
00:28 elmex ;-)
00:28 elmex *g*
00:33 ruz Hello. What does "frozen" perl6 RFC mean? Is it standard? How I should take this status?
00:34 buu /topic in #perlcafe: <buu> Why do people keep asking questions in here? <dooky> because they are cockfaced motherfuckers
00:34 larsen has quit IRC ("later")
00:35 dudley has joined #perl6
00:41 dudley has quit IRC ("Quitting...")
00:45 dudley has joined #perl6
00:56 coral wow
00:57 luqui ruz, it's not the "frozen" word you should be interested in
00:57 luqui the word RFC means "wrong" these days :-)
00:57 luqui (that is, you should look for more up-to-date documents, like the synopses)
00:59 ruz hmm. So I can safely ignore all that RFCs and read all that synopses?
01:00 ruz May be can I read somewhere about status of all that documents RFCs, PDDs,Synopses...
01:01 dudley ruz: probably not...
01:01 dudley The synopses are the "official" design documents these days
01:02 dudley but they're slightly out of date in places
01:03 dudley and it helps greatly to read the Apocalypses with the Synopses, even though $larry says the Apocalypses are just for "entertainment" now
01:04 ruz uhh... looks like I should read all that
01:12 landover has joined #perl6
01:12 landover i love the smell of perl6 in the morning
01:16 stevan dudley: ping
01:16 dudley stevan: pong
01:17 stevan dudley: I just commited a Mini-MetaModel with bootstrapping roles
01:17 stevan can you please look it over for sanity?
01:17 svnbot6 r7027 | stevan++ | MiniMetaModel with Roles added
01:17 svnbot6 r7027 | stevan++ | - self-bootstrapping Roles added to the mini-meta-model so that
01:17 svnbot6 r7027 | stevan++ |   - Class does Role
01:17 svnbot6 r7027 | stevan++ |   - Role is a instance of Class
01:17 dudley Oh, cool
01:17 stevan if it makes sense, then I think i will try to put it into the real model this weekend
01:18 stevan this version only does Roles one level deep
01:18 stevan meaning you can only incorporate your immediate roles
01:18 stevan and not their subroles
01:18 stevan but the real model will do that
01:19 stevan anyway,.. time to watch a movie with the in-laws
01:19 evalbot_7026 has quit IRC (Remote closed the connection)
01:19 stevan be back later on :)
01:19 * stevan &
01:19 dudley have fun :)
01:19 evalbot_7027 has joined #perl6
01:19 stevan dudley: thanks :)
01:19 stevan dud
01:19 stevan dudley: please just comment in here and I will backlog or feel free to email me
01:20 stevan :)
01:20 dudley Okay
01:26 rantanplan_ has quit IRC ("Leaving")
01:27 coral oo, friday
01:28 Supaplex WEEKEND!
01:31 luqui hoooooooraaaaaaaaayy
02:07 dudley stevan: Re Son Of MiniMetaModel: On first read through, it looks really good. I don't see any problems offhand.
02:09 dudley 'resolve' makes me think of MRO rather than composing methods into a class, though
02:12 dudley You can paint the bikeshed whatever color you like though, as long as it keeps my bike dry in the rain.
02:24 justatheory has quit IRC ()
02:25 Amnesiac has joined #perl6
03:06 elmex has quit IRC (Read error: 113 (No route to host))
03:18 chihchun has quit IRC (Excess Flood)
03:19 chihchun has joined #perl6
03:33 landover has quit IRC ("Leaving")
03:40 hexmode has quit IRC (Read error: 104 (Connection reset by peer))
04:02 saorge_ has quit IRC (Connection timed out)
04:17 Amnesiac has quit IRC ("Leaving")
04:20 Amnesiac has joined #perl6
04:40 justatheory has joined #perl6
04:47 justatheory has quit IRC ()
04:54 vcv- has quit IRC ()
04:55 vcv has joined #perl6
05:27 evalbot_7027 has quit IRC (Remote closed the connection)
05:28 evalbot_7028 has joined #perl6
05:30 svnbot6 r7028 | stevan++ | Perl6::MetaModel 2.0 -
05:30 svnbot6 r7028 | stevan++ | * MiniMetaModel_w_Role.pl now bootstraps properly now so that
05:30 svnbot6 r7028 | stevan++ |   - Class does Role
05:30 svnbot6 r7028 | stevan++ |   - Role does Role
05:30 svnbot6 r7028 | stevan++ | * added p6_role_model.* to visualize it
05:30 svnbot6 r7028 | stevan++ | * fixed p6_object_moddle.* updated
05:31 Amnesiac has quit IRC ("Leaving")
05:42 svnbot6 r7029 | stevan++ | Perl6::MetaModel 2.0 -
05:42 svnbot6 r7029 | stevan++ | * fixed test plan in MiniMetaModel_w_Role
05:42 svnbot6 r7029 | stevan++ | * some ASCII art of the role model
05:43 evalbot_7028 has quit IRC (Remote closed the connection)
05:43 evalbot_7029 has joined #perl6
06:06 xinming_BeiJing has joined #perl6
06:21 GoCooL has joined #perl6
06:57 xern has quit IRC ("leaving")
06:57 xern has joined #perl6
07:01 iblechbot has joined #perl6
07:10 Aankhen`` has joined #perl6
07:11 sri__ has quit IRC (Remote closed the connection)
07:22 sri__ has joined #perl6
07:51 iblechbot has quit IRC (Connection timed out)
07:51 xinming_BeiJing has quit IRC (Read error: 104 (Connection reset by peer))
08:24 QtPlatypus Is there a neat way to do notization in pugs/perl6 ?
08:27 luqui notization?
08:28 luqui google notization: 14 results
08:29 luqui what are you talking about? :-)
08:30 gaal [haskell] is there an idiom for pattern matching, when I want to bind directly into the pieces of a named data type?
08:30 gaal that is:
08:31 gaal like i can do all@(first,others)
08:31 gaal oops
08:31 QtPlatypus notarisation.  ummm the caching of function return values (sorry spelling disability)
08:31 luqui memoization?
08:31 gaal all@(first:others)
08:31 QtPlatypus Yep
08:31 luqui gaal, yeah, that works
08:31 gaal on a list
08:31 gaal yes i know it does :) but if instead my type was something like
08:32 luqui :-p
08:32 luqui QtPlatypus, the perl6 spec says "is cached" is the trait that does that
08:32 luqui but I don't believe it is implemented
08:32 QtPlatypus Thanks
08:32 gaal data MyOwnList = MyNil | MkList { first :: Int, rest :: MyOwnList }
08:33 gaal this is a silly Int-only cons list
08:33 luqui ahh
08:33 luqui well, if not:  list@MkList { first = x, rest = xs }
08:33 tophercyll has joined #perl6
08:34 luqui then certainly: list@(MkList x xs)
08:34 gaal let me try that :)
08:34 luqui (you might need some parens)
08:40 Aankhen`` has quit IRC (Connection timed out)
08:43 svnbot6 r7030 | Darren_Duncan++ | /ext/Locale-KeyedText : resync with today's changes to the Perl 5 version
08:45 evalbot_7029 has quit IRC (Remote closed the connection)
08:46 evalbot_7030 has joined #perl6
08:48 gaal let me try that :)
08:48 gaal whoops, keyboard-happy on irssi
08:55 whiteg has joined #perl6
08:56 luqui gaal, did it work?
08:57 gaal i ended up needing a different expression :)
08:58 gaal haskell brings great humility. or humiliation
08:58 luqui usually come in pairs :-)
08:59 luqui knowing enough languages to usually not have much trouble picking up a new language in one or two days
08:59 luqui haskell was quite humbling :-)
09:02 buu Haskell makes my bathing suit area feel special
09:02 luqui your boobs?
09:04 gaal okay, i think i did most of the hard stuff. now just one more issue. the parser finished executing the BEGIN block and magically has some new information. How does it install it in the Env?
09:04 gaal I don't want the regular pragma list to be a TVar. can i avoid that at all?
09:06 luqui uh, I don't know much about pugs internals
09:06 gaal more generally: once an Env has been created, can anything that isn't a TVar be modified in it not only locally?
09:06 evalbot_7030 has quit IRC (Remote closed the connection)
09:06 evalbot_7031 has joined #perl6
09:06 luqui Env is inside a Reader?
09:07 gaal ah, there seems to be putRuleEnv. coool
09:07 gaal yes.
09:07 svnbot6 r7031 | qtplatypus++ | A modication of Base64 to keep it from using bigints.  This version
09:07 svnbot6 r7031 | qtplatypus++ | is very carefull to keep everything within the limitation of what
09:07 svnbot6 r7031 | qtplatypus++ | can be expressed by an octet.  This should stop it from crawling
09:07 svnbot6 r7031 | qtplatypus++ | to an impossably slow state on some hardware.
09:07 svnbot6 r7031 | qtplatypus++ | When pugs is a little more advansed it may be possable to rewrite
09:07 svnbot6 r7031 | qtplatypus++ | this so that it detects and makes use of the widest possable bit
09:07 svnbot6 r7031 | qtplatypus++ | representation advalable.
09:07 luqui well then you can change anything
09:07 luqui but it seems you figured that out :-)
09:08 QtPlatypus Can anyone who was having trouble with the old MIME/Base64 have a look at the new one and see if what I did improves mattors.
09:46 larsen has joined #perl6
10:21 integral is now known as i0tegral
10:39 dduncan has quit IRC ()
10:39 nothingmuch has joined #perl6
10:49 iblechbot has joined #perl6
10:56 acme__ is now known as acme
11:08 metaperl has joined #perl6
11:17 penk has left
11:33 dudley stevan: Should 'does' return a superset of 'isa' with roles included, instead of just the roles?
11:35 dudley bbl
11:35 dudley has quit IRC ()
12:01 dudley has joined #perl6
12:06 elmex has joined #perl6
12:13 scook0 has joined #perl6
12:15 nothingmuch has quit IRC (Read error: 113 (No route to host))
12:20 i0tegral is now known as integral
12:23 renormalist has quit IRC (Read error: 113 (No route to host))
12:24 renormalist has joined #perl6
13:03 nothingmuch has joined #perl6
13:04 nothingmuch dudley: wrt does - i think just the roles
13:04 nothingmuch if you want an easy way, use smart match
13:04 nothingmuch so ~~ lets you just ask
13:04 nothingmuch and .does and .isa let you check carefully for when it does matter
13:05 nothingmuch luqui: pin g
13:05 ods15 hya nothingmuch
13:05 nothingmuch hi ho
13:05 ods15 nothingmuch: where do you live
13:05 nothingmuch near beer sheva
13:05 nothingmuch Lehavim
13:05 ods15 heh, not close at all, nm
13:05 nothingmuch not close at all to what?
13:05 ods15 was gonna suggest you come to my lecture :)
13:06 ods15 haifux
13:06 nothingmuch ah
13:06 ods15 MPlayer
13:06 nothingmuch haifa is difficult
13:06 nothingmuch tel aviv is manageable but unpleasant
13:06 ods15 yup
13:06 ods15 i can barelyy manage it and i'm in ta
13:06 nothingmuch the problem is that by the time i'm done with work, it's too late to be able to make a round trip via public transportation
13:07 nothingmuch and in the weekends there's no such thing anyway =(
13:07 dudley nothingmuch: I thought that $larry had said something about wanting people to use .does instead of .isa
13:08 dudley but I can't seem to find it now
13:08 nothingmuch hmm
13:08 nothingmuch could be
13:08 dudley I may have misunderstood anyway
13:09 nothingmuch The smartmatch:
13:09 nothingmuch    $obj ~~ Dog
13:09 nothingmuch actually calls:
13:09 nothingmuch    $obj.meta.does(Dog)
13:09 nothingmuch which is true if $obj either "does" or "isa" Dog (or "isa" something that "does" Dog).
13:09 nothingmuch you're right
13:10 nothingmuch bottom of s12
13:11 * nothingmuch wants haskell data types in perl
13:11 nothingmuch they make everything so clean
13:11 nothingmuch data Type = Bottom | Named String | Unknown
13:11 nothingmuch data TypeSignature = Sig [Type] Type
13:13 nothingmuch http://search.cpan.org/~leijon/Data-Variant-0.04/lib/Data/Variant.pm
13:14 stevan dudley: part of the plan for ROles is that they will likely wrap classes somehow
13:14 stevan so that does() and isa() will work as you describe
13:15 stevan I am not sure how this will work out actualy
13:15 stevan the plan was basically that auto-generated accessors would be implemented with a role
13:15 stevan the Role would be named the same as the class
13:15 stevan so that Foo.does(Foo)
13:16 stevan but like I said,.. not sure if thhat will work/make sense
13:16 stevan we will see when the roles are in place
13:16 * stevan &
13:16 dudley thanks, stevan
13:24 iblechbot has quit IRC (Read error: 104 (Connection reset by peer))
13:44 * nothingmuch makes a loud thud sound hitting a walll
13:47 rantanplan_ has joined #perl6
13:53 penk has joined #perl6
13:58 nothingmuch test driven development doesn't work for non practical applications =(
13:58 * nothingmuch has barely written any tests for Blondie so far
14:18 scook0 has quit IRC ("Leaving")
14:23 rantanplan_ has quit IRC (Remote closed the connection)
14:30 iblechbot has joined #perl6
14:31 elmex has quit IRC ("leaving")
14:50 * nothingmuch is nearly done with a type annotator for Blondie trees
14:50 nothingmuch it supports simple types
14:50 nothingmuch return values of thunks may not depend on their parameters yet
14:51 nothingmuch as the thunk is resolved before the parameters and forces a certain context on them, so there aren't any generic operations yet (which makes higher order functions rather useless, but whatever)
14:53 mugwump has quit IRC (Remote closed the connection)
14:53 mugwump has joined #perl6
15:03 justatheory has joined #perl6
15:06 renormalist has quit IRC ("using sirc version 2.211+KSIRC/1.3.11")
15:08 mugwump has quit IRC (Read error: 104 (Connection reset by peer))
15:11 putter has joined #perl6
15:14 putter QtPlatypus: Base64.t still hangs for me.  sorry.  I killed pugs_bin after 10+Gcycles.  but... if you think it's a x86_64 specific bug, it might be best just to check OS(?) and skip_rest.  The old 6.4.1 development snapshot I'm using may hang, but perhaps one
15:15 putter more recent would work.  If it still hangs when 6.4.1 is released, that would be an issue.  Now... not so much.
15:16 putter I tried using alternate backends, but JS can't find it, and Perl5 has issues with use/require, and doesnt have gather() implemented.  So no-backend cross-check.
15:17 putter Pretty work though.
15:19 putter nothingmuch: want tests?  muaahahahahaha.  plug into PIL-Run and you get all of t/. :)   if a toggleable plug isn't feasible, well, the reason the files have odd names like EvalX.pm  is so one can have EvalX2.pm, EvalY.pm, etc.
15:25 putter If anyone would like a -C Perl5 pil -> massaged p5 tree -> unparse to -C Perl5 pil, or "unparse" -> perl6, round trip tests.  I wrote them mainly to see if I really understood pil (didnt/dont), but they might be an alternative to everyone roling their own p5 rep of pil1.  And they could be a test for just what pil isnt really working yet.
15:26 justatheory has quit IRC ()
15:27 justatheory has joined #perl6
15:27 putter Aside: using blessed arrays strkes me as an unfortunate premature optimization.  Little is gained, especially since each is accompanied by a second, hash-based object.  So it just complicates the backend, with no benefit.
15:28 putter (context: -C Perl5 pil1 rep)
15:29 putter cheers &
15:29 putter has quit IRC ("Leaving")
15:34 Amnesiac has joined #perl6
15:39 penk has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
15:39 penk has joined #perl6
15:56 lao has joined #perl6
16:06 cognominal has quit IRC (Remote closed the connection)
16:09 nothingmuch has quit IRC (Read error: 113 (No route to host))
16:22 gaal any lambdaheads about?
16:24 autrijus yes?
16:25 gaal autrijus-san! welcome back :)
16:25 gaal my problem: to lift or not to lift. both don't work in the following:
16:26 gaal idat <- liftSTM $ readTVar $ envInitDat env
16:26 autrijus not really "back" -- I'm still in visa hell, fancy that
16:26 autrijus my passport is nowhere, according to DHL
16:26 autrijus so I'm mildly nervous.
16:26 gaal where "envInitDat" is a (TVar something)
16:26 gaal oy
16:26 gaal that's not good :-(
16:26 autrijus yeah. it's not in .jp, it's not in .tw, it's not somewhere inbetween, and the central tracking knows of no such tracking number, but the regional ones do, but they have no info
16:27 autrijus and I need it Monday :-/
16:27 autrijus and all the office are closed.
16:27 * gaal frowns
16:27 autrijus but enough about my little misery.
16:27 gaal lol
16:27 autrijus envInitDat is TVar, not Eval TVar?
16:27 autrijus and what's the errmsg?
16:28 gaal it's TVar. this is in the parser. the error for the above code is:
16:28 gaal No instance for (MonadSTM (GenParser Char RuleState))
16:28 gaal  arising from use of `liftSTM' at src/Pugs/Parser.hs:905:20-26
16:28 autrijus oh, you are in parser.
16:28 gaal without the liftSTM I'd get
16:28 autrijus you need unsafePerformSTM
16:28 gaal Couldn't match `GenParser Char RuleState' against `STM'
16:28 autrijus or rather, unsafePerformIO . liftSTM
16:29 gaal okay...
16:29 wolverian are those error messages actually useful?
16:29 autrijus wolverian: quite so, to me
16:29 wolverian (just curious if I could read them and understand what is wrong if I really learned haskell.)
16:29 wolverian autrijus, ah, right. that's good.
16:30 pasteling "gaal" at 192.115.25.249 pasted "closer" (14 lines, 605B) at http://sial.org/pbot/13156
16:30 penk has left
16:30 penk has joined #perl6
16:32 gaal "Couldn't match `GenParser Char RuleState t' against `InitDat'" -- another lift needed?
16:42 autrijus gaal: no
16:42 autrijus unsafePerform makes it pure
16:43 autrijus let idat = unsafePerformIO $ ...
16:43 autrijus or
16:43 autrijus idat <- return (unsafePerformIO ... )
16:44 gaal ah!
16:45 gaal yay, that compiles. now to see if it actually works :)
16:45 nothingmuch has joined #perl6
16:45 autrijus it compiles, ship it!
16:46 gaal :-)
16:46 nothingmuch hah
16:46 nothingmuch you're sick
16:46 * nothingmuch backlogs
16:46 Khisanth what happened to testing? :)
16:46 autrijus no, just a bit distressed
16:46 nothingmuch autrijus: i need some type theory schooling... got a few minutes later?
16:46 autrijus nothingmuch: try #haskell people -- I'll be asleep soon
16:47 nothingmuch i'll wait then
16:47 nothingmuch i still have to finish this
16:48 nothingmuch QtPlatypus: Base64.t hangs for me on darwin (powerpc: 32 bits, big endian)
16:49 nothingmuch so it's not x86_64
16:49 nothingmuch putter: i mean unit tests, not system tests
16:51 gaal grlup, why are my Prims not visible?
16:52 gaal they're safe, their definition looks correct...
16:52 ajs_home has quit IRC (Read error: 104 (Connection reset by peer))
16:55 pasteling "gaal" at 192.115.25.249 pasted "what's wrong with this Primture?" (59 lines, 2.4K) at http://sial.org/pbot/13158
16:55 * gaal hopes it's something obvious and silly
16:56 gaal or at least just obvious :)
16:56 nothingmuch that's a weird diff
16:58 gaal just part of a patch, svn diff on one file
16:58 gaal why's it weird?
17:02 nothingmuch because the install_pragma_value is repeated
17:03 gaal how do you mean?
17:04 saorge has joined #perl6
17:04 saorge has quit IRC (Read error: 104 (Connection reset by peer))
17:04 saorge has joined #perl6
17:04 nothingmuch in the nopaste that chunk of code is repeated
17:06 gaal oh, my bad, i pasted incorrectly. sec
17:07 larsen has quit IRC ("later")
17:07 pasteling "gaal" at 192.115.25.249 pasted "missing prim, correct paste" (44 lines, 1.9K) at http://sial.org/pbot/13159
17:08 cognominal has joined #perl6
17:08 gaal so, it just looks like the prims aren't being installed at all
17:10 autrijus "Void
17:11 autrijus hm, weird. maybe it's masked by precomp
17:12 gaal neither function is visible
17:13 gaal is there any problem with Void? I'll change it.
17:13 autrijus there's no problem
17:13 autrijus just mispaste
17:16 nothingmuch oh god... the best practices book is really doing some damage
17:16 nothingmuch every 2nd post on perlmonks starts with "Perl best practices says..." nowadays
17:17 gaal oh, crap, it was a local shell stupidiy thing. sorry...
17:17 nothingmuch heh
17:17 gaal for some reason i had an executable called 'pugs' in my tree
17:17 gaal shouldn't have had one, this is windows
17:17 gaal but i was running from a cygwin shell
17:17 nothingmuch aha
17:18 gaal so when i said ./pugs it took that one instead of pugs.exe
17:18 * nothingmuch always runs
17:18 nothingmuch ./pugs and never 'make install's
17:18 gaal of course
17:18 gaal but <pugs> ne <pugs.exe>
17:19 gaal however ./pugs on cygwin is [//] <pugs pugs.exe>
17:19 gaal well not [//], but the first one that exists, heh.
17:19 xern has quit IRC ("leaving")
17:20 xern has joined #perl6
17:20 xern has quit IRC (Client Quit)
17:20 xern has joined #perl6
17:53 gantrixx has joined #perl6
17:59 rantanplan_ has joined #perl6
18:00 GeJ has joined #perl6
18:04 stevan nothingmuch: you need to get a copy of TAPL I think
18:04 nothingmuch yes, i'm thinking about it all day
18:04 nothingmuch trying to remember how much money i have now
18:04 * stevan is reading it right now
18:04 nothingmuch (was not neear the computer)
18:05 * stevan is pondering an object model in pure lambda calc
18:05 stevan nothingmuch: did you see my MiniMetaModel_w_Role?
18:05 nothingmuch nope
18:05 nothingmuch will look in a few mins
18:05 stevan k
18:05 nothingmuch i
18:05 nothingmuch 'm on a break...
18:05 stevan ah
18:06 pasteling "nothingmuch" at 82.81.247.180 pasted "know how to find type of perl var" (15 lines, 295B) at http://sial.org/pbot/13163
18:09 nothingmuch now i'm having trouble unifying the types of params and symbols based on them
18:17 elmex has joined #perl6
18:19 nothingmuch wow, almost there
18:19 nothingmuch B[A
18:20 nothingmuch how do you call the printish debugging?
18:22 nothingmuch http://www.readability.info/index.cgi?u=http%3A%2F%2Fsvn.openfoundry.org%2Fpugs%2Fperl5%2FBlondie%2Flib%2FBlondie.pm
18:34 Juerd nothingmuch: debugging with print :)
18:34 nothingmuch fair enough
18:34 dduncan has joined #perl6
18:34 Juerd Was this a poll?
18:34 * nothingmuch was fixated on the notion that there is a cute name for it
18:35 Juerd Hm
18:35 Juerd There must be, given that there is a name for "computer science" too.
18:43 justatheory seen robrt
18:46 luqui nothingmuch, pong
18:47 luqui (when you pinged me, it was 7am.  fat chance :-)
18:47 nothingmuch i wanted to consult you on crap
18:47 nothingmuch heh
18:49 luqui nothingmuch, you said you want haskell data types in perl
18:49 luqui well, larry wants them too
18:49 nothingmuch good =)
18:49 luqui we just have to find a better name than "data"
18:49 nothingmuch structure?
18:49 nothingmuch why is data so bad?
18:50 luqui well, because it's not really data you're declaring.  it's more of a data structure (as you said)
18:50 luqui but there are many kinds of data structures
18:50 luqui lwall: "I think "data" is actively misleading to blue-collar people"
18:51 luqui lwall: "more like "a pattern of data""
18:51 nothingmuch oh, that was what that was all about
18:51 nothingmuch shape Bool = True | False
18:51 nothingmuch shape Type = Bottom | Unknown | Named StringD
18:51 nothingmuch my %hash is shape ... ;-)
18:52 nothingmuch i think that's a nice candidate for reducing redundancy
18:52 luqui we might be able to extend "enum" to gadt, but it would be awkward
18:52 nothingmuch i don't think it's fitting, shape describes it much better
18:53 luqui hmm...
18:53 luqui shape is pretty good, I think... still doesn't quite hit the spot.
18:55 luqui oh, Data::Variant.  So Symbol::Opaque wasn't the first one (I kinda figured)
18:56 luqui Plus, that one looks typed, too
18:56 gaal oh, crap, import doesn't work correctly.
18:59 dudley has quit IRC ()
19:01 nothingmuch where is $SIG{__WARN__} documented?
19:02 luqui perlvar
19:02 nothingmuch thanks
19:07 nothingmuch wow, cool
19:07 nothingmuch that was the simplest module ever
19:07 * nothingmuch uploads to CPAN
19:09 luqui what module?
19:09 nothingmuch Devel::STDERR::Indent
19:09 luqui oohh
19:09 luqui s/h$//
19:17 stevan nothingmuch: what does it do?
19:18 pasteling "nothingmuch" at 82.81.247.180 pasted "Devel::STDERR::indent docs" (37 lines, 901B) at http://sial.org/pbot/13166
19:22 stevan nothingmuch: interestng
19:23 stevan so does it use $h's scope to know when to un-indent?
19:23 nothingmuch when it's destroyed it just sets $SIG{__WARN__} to the prev value
19:23 nothingmuch i actually ought to keep a stack, to ensure that it's ordered
19:23 stevan cool
19:23 stevan stacks++
19:23 stevan or some kind of hack with local :)
19:24 Amnesiac has quit IRC ("Leaving")
19:24 nothingmuch stevan: can't
19:24 nothingmuch if indent is being called it loses it's scope
19:24 stevan k
19:24 nothingmuch i wish, actually =)
19:25 evalbot_7031 has quit IRC (Remote closed the connection)
19:25 svnbot6 r7032 | stevan++ | Perl6::MetaModel 2.0 -
19:25 svnbot6 r7032 | stevan++ | * moving the ::Package and ::Module to pneuma since they are really part of
19:25 svnbot6 r7032 | stevan++ |   the core elements like ::Object is
19:25 svnbot6 r7032 | stevan++ | * moving ::Role to a new file psyche.pl (see the comments in the file for
19:25 svnbot6 r7032 | stevan++ |   the naming rationale and how it fits into the gnostic naming conventions)
19:25 svnbot6 r7032 | stevan++ | * genesis is now purely about bootstrapping
19:25 gaal ?eval "why here?".split("").grep:{rx/\d/}
19:25 evalbot_7032 has joined #perl6
19:25 gaal "why here?".split("").grep:{rx/\d/}
19:25 gaal ?eval "why here?".split("").grep:{rx/\d/}
19:25 evalbot_7032 ('w', 'h', 'y', ' ', 'h', 'e', 'r', 'e', '?')
19:25 gaal shouldn't these chars be filtered away?
19:26 luqui ?eval "why here?".split("").grep:{$_ ~~ rx/\d/}
19:26 evalbot_7032 *** Cannot parse PGE: :w::\d *** Error: end of file
19:26 nothingmuch heh
19:26 luqui gaal, yes, they should
19:26 gaal ?eval "why here?".split("").grep:{$_ ~~ rx:Perl5.\d/}
19:26 evalbot_7032 Error:  unexpected ":" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
19:26 gaal ?eval "why here?".split("").grep:{$_ ~~ rx:Perl5/\d/}
19:26 evalbot_7032 ()
19:26 gaal that's better :)
19:26 gaal ?eval "4why 2here?".split("").grep:{$_ ~~ rx:Perl5/\d/}
19:26 evalbot_7032 ('4', '2')
19:27 * luqui thinks that grep is going to look like this:
19:27 nothingmuch does anybody have perl 5.005?
19:27 luqui .grep(/\d/)
19:27 luqui not .grep:{/\d/}
19:27 luqui that is, grep's signature "sub grep(Pattern $pat)"
19:28 luqui where Pattern is something that is smartmatched against
19:28 luqui oh, and an array also :-)
19:29 gaal well, fwiw, .grep() doesn't work in pugs.
19:29 gaal nothingmuch, i have a perl4 somewhere.
19:30 nothingmuch no thanks ;-)
19:30 luqui gaal, you mean the non-codeblock form?
19:30 gaal yes
19:30 luqui yes, that's because it's specced not to work
19:30 * gaal missed the "going to" above.
19:31 nothingmuch okay, uploading to pause
19:31 nothingmuch http://nothingmuch.woobling.org/Devel-STDERR-Indent-0.01.tar.gz
19:32 sri__ has quit IRC (Read error: 104 (Connection reset by peer))
19:33 sri__ has joined #perl6
19:34 dudley has joined #perl6
19:36 luqui can anybody think of a way to install lexical hooks into the caller's scope without having to put it in a variable (like $h)
19:36 svnbot6 r7033 | gaal++ | first argument to &import should be the called package's name, not
19:36 svnbot6 r7033 | gaal++ | the caller's.
19:36 gaal what do you mean by hooks?
19:37 gaal i'm working on lexical pragmas right now.
19:37 luqui no, I mean in perl 5
19:37 luqui but thanks for pragmas :-)
19:37 nothingmuch luqui: finer control over temp and local
19:37 luqui I mean code that gets called at the beginning/end of the caller's scope
19:38 nothingmuch temp $CALLER::foo ;-)
19:38 nothingmuch CALLER::temp $foo
19:38 nothingmuch you tell me the diff
19:38 evalbot_7032 has quit IRC (Remote closed the connection)
19:38 evalbot_7033 has joined #perl6
19:38 gaal yikes, you want to hook::lexwrap at runtime the code that's calling you? scary :-)
19:39 gaal plus hook::lexwrap doesn't. (wrap lexically)
19:39 nothingmuch right
19:39 nothingmuch i've always hated that module because of it
19:42 gaal ?eval sub x (?$arg = 0 is copy) { $arg++ }; x(2)
19:42 evalbot_7033 Error: Can't modify constant item: VInt 2
19:42 gaal oops
19:43 gaal ?eval sub x (?$arg = 0 is copy) { $arg++ }; my $zzz=2; x($zzz)
19:43 evalbot_7033 Error: Can't modify constant item: VRef <Scalar>
19:43 gaal oops still
19:43 gaal ?eval sub x ($arg is copy) { $arg++ }; my $zzz=2; x($zzz)
19:43 evalbot_7033 2
19:43 gaal getting interesting :-)
19:44 wolverian wow, doesn't copy imply rw?
19:44 gaal ?eval sub x (?$arg = 0 is copy) { $arg++ }; my $zzz=2; x(arg => $zzz)
19:44 evalbot_7033 Error: Can't modify constant item: VRef <Scalar>
19:44 wolverian ?eval sub foo ($arg is copy) { $arg++ } foo 2
19:44 evalbot_7033 2
19:44 gaal it's the optionality that's brraking things.
19:44 wolverian oh. now it worked.
19:44 wolverian ah!
19:44 wolverian well, that's certainly broken indeed :)
19:45 gaal pugsbugs++ :)
19:45 wolverian so, uh, I had a silly idea yesterday
19:45 wolverian in the shower..
19:46 wolverian what if I have an argument that I only want to pattern match against but don't want to refer to in the body of the sub
19:46 wolverian that is:
19:46 wolverian sub foo ($x where { ... }) { ...$x never used here... }
19:46 wolverian would it be ambiguous to allow me to simply put the where body into where $x is:
19:46 wolverian sub foo ({ ... }) { ... }
19:47 gaal ?eval sub x (?$arg is copy) { $arg++ }; my $zzz=2; x(arg => $zzz)
19:47 evalbot_7033 2
19:47 gaal ?eval sub x (?$arg = 0 is copy) { $arg++ }; my $zzz=2; x(arg => $zzz)
19:47 evalbot_7033 Error: Can't modify constant item: VRef <Scalar>
19:47 gaal ah: not the optionality, the default valuability!
19:47 wolverian multi foo ({ $_ % 2 }, $foo) { say $foo } multi foo ({ not $_ % 2}, $foo) { # don't say $foo }
19:48 wolverian probably not worth the confusion.
19:52 gaal my cat is increasing my productivity
19:52 svnbot6 r7034 | gaal++ | add test for 'is copy' not working with arguments with default values
19:52 svnbot6 r7034 | gaal++ | (even when a value is passed explicitly)
19:52 gaal she is sleeping on the mouse
19:52 gaal so i have to use the keyboard
19:53 gaal i guess if she accidentally causes some code to be pasted i will offer her the committer bit.
19:53 evalbot_7033 has quit IRC (Remote closed the connection)
19:54 evalbot_7034 has joined #perl6
20:00 justatheory has quit IRC ()
20:03 gaal #   Failed test (t/packages/lexical_pragmas.t line 38, column 3-94)
20:03 gaal #   Expected: '5'
20:03 gaal #        Got: 'undef'
20:03 gaal ok 14 - Scope is lexical, not dynamic
20:03 gaal not ok 15 - Outer value is restored
20:03 gaal #   Failed test (t/packages/lexical_pragmas.t line 41, column 1-90)
20:03 gaal #   Expected: '3'
20:03 gaal #        Got: 'undef'
20:04 gaal ok 16 - Absent pragma is undef
20:04 gaal ok 17 - Scope is lexical, not dynamic
20:04 gaal not ok 18 - Caller pragma value 3
20:04 gaal #   Failed test (t/packages/lexical_pragmas.t line 62, column 3 - line 63, column 41)
20:04 gaal #   Expected: '3'
20:04 gaal #        Got: 'undef'
20:04 gaal not ok 19 - Caller pragma value 6
20:04 gaal #   Failed test (t/packages/lexical_pragmas.t line 62, column 3 - line 63, column 41)
20:04 gaal #   Expected: '6'
20:04 gaal #        Got: 'undef'
20:04 gaal not ok 20 - Caller pragma value 6
20:04 gaal #   Failed test (t/packages/lexical_pragmas.t line 62, column 3 - line 63, column 41)
20:04 gaal #   Expected: '6'
20:04 gaal #        Got: 'undef'
20:04 gaal not ok 21 - Caller pragma value 7
20:04 gaal #   Failed test (t/packages/lexical_pragmas.t line 62, column 3 - line 63, column 41)
20:04 gaal #   Expected: '7'
20:04 gaal #        Got: 'undef'
20:04 gaal ok 22 - Scope is lexical, not dynamic
20:04 gaal not ok 23 - Caller pragma value 6
20:04 gaal #   Failed test (t/packages/lexical_pragmas.t line 62, column 3 - line 63, column 41)
20:04 gaal #   Expected: '6'
20:04 gaal #        Got: 'undef'
20:05 gaal not ok 24 - Caller pragma value 8
20:05 gaal #   Failed test (t/packages/lexical_pragmas.t line 62, column 3 - line 63, column 41)
20:05 gaal #   Expected: '8'
20:05 gaal #        Got: 'undef'
20:05 gaal ok 25 - Scope is lexical, not dynamic
20:05 gaal # Looks like you failed 17 tests of 25
20:05 gaal errr
20:05 gaal sorry about that
20:05 gaal please welcome our new commiter?
20:08 luqui wolverian, no it wouldn't be ambiguous
20:09 wolverian luqui, okay.
20:09 luqui but I think it would be a cognitive problem; it's not a very common thing
20:09 luqui best just to do sub foo(_ where {...}) {...}
20:09 luqui actually, if we end up allowing anonymous hashrefs in signatures, then it would be ambiguous
20:09 luqui or rather, it wouldn't, it would just not be what you wanted
20:10 wolverian what would anonymous hashrefs in signatures mean?
20:10 luqui same thing as an anonymous array ref
20:10 luqui an unpacking pattern
20:10 luqui sub foo({ a => $x }) {say $x}  foo({a => 4, b => 5});   # 4
20:12 * nothingmuch wonders what CD to get from his wish list along side TaPL and adv TaPL
20:12 gaal Lisa Germano
20:12 gaal _Lullaby for Liquid Pig_
20:12 gaal since you asked :-(
20:13 gaal s/\(/)/
20:13 luqui my TaPL and ATTaPL are coming on monday, so the tracker says
20:13 * luqui thinks he will read it backwards, so that he gets ideas in a different order from everybody else
20:14 luqui :-)
20:14 gaal i know a translator who worked on a novel that way.
20:15 gaal more precisely: he did the first chapter, then the last; then the second, and the next to last; and so on.
20:15 luqui weird
20:15 nothingmuch luqui: i do that occasionally
20:16 nothingmuch i almost always do it with the newspaper
20:16 gaal a very good strategey in this case. it was a Nabokov novel with hundreds of in-jokes and backwards references
20:16 nothingmuch do you guys want to help me choose?
20:17 gaal it proved a pretty effective tool to spot things. and in any case, i think it's a good way to keep the mood harmonized.
20:17 gaal choose what? music? we did!
20:17 nothingmuch nono, from my list ;-)
20:17 gaal ah, that's simple then. first, put that on your list. then pick it
20:18 gaal it's all right, you can thank me later
20:18 nothingmuch she has some representation on emusic
20:19 nothingmuch care to reccomend anything off that?
20:19 gaal i don't know what that is
20:19 nothingmuch http://www.emusic.com/artist/10555/10555233.html
20:19 nothingmuch it's a subscription website thingy for downloading music el cheapo
20:20 nothingmuch pretty nice, since it's mostly independant artists
20:20 nothingmuch btw, lullaby for liquid pig is out of stock
20:20 gaal i hardly know anything from your list
20:21 * nothingmuch has a look
20:21 luqui nothingmuch, do you have end of the world party yet?
20:21 gaal http://forum2.org/cgi-bin/mymusic50
20:22 nothingmuch luqui: nope
20:22 luqui that would be a good one
20:22 gaal MWM are cool.
20:22 nothingmuch woo! it's in stock! http://www.amazon.com/exec/obidos/tg/detail/-/B000027993/ref=wl_it_dp/002-7492268-4500813?%5Fencoding=UTF8&amp;coliid=I1IWNHK3FI0LNN&amp;v=glance&amp;colid=1ST0T6E3GMWJN
20:22 nothingmuch i'm buying this one. i've waited for ever
20:23 nothingmuch idiots... they're hiding my address from me
20:23 luqui never heard of it...
20:23 nothingmuch it's lounge
20:23 nothingmuch i heard some stuff from it on somafm
20:23 nothingmuch secret agent, i think
20:24 nothingmuch http://somafm.com/
20:25 nothingmuch that's a lot of money =(
20:27 * nothingmuch reminds everyone that it's talk llike a pirate day in a few days
20:27 nothingmuch specifically - monday
20:27 nothingmuch i won't be at work to show off because there is scheduled power outage =(
20:33 * nothingmuch doesn't have enough happy music
20:34 * nothingmuch puts on some Ennio Morricone
20:39 clkao has quit IRC (Read error: 104 (Connection reset by peer))
20:54 * dudley bought Ultravisitor by Squarepusher today
20:54 dudley and was surprised to find he's a pretty good bassist
20:57 nothingmuch bbiab
20:57 elmex has quit IRC (Read error: 104 (Connection reset by peer))
20:57 elmex has joined #perl6
21:00 kgftr|wedding is now known as kgftr|honeymoon
21:00 gaal w00t!
21:01 svnbot6 r7035 | gaal++ | Lexical pragmas (WIP). See Pugs.AST.Prag. Dominus++.
21:01 svnbot6 r7035 | gaal++ | This doesn't work yet, my pragmas got lost somewhere between the parser
21:01 svnbot6 r7035 | gaal++ | and the evaluator.
21:01 svnbot6 r7035 | gaal++ | TODO after it's fixed:
21:01 svnbot6 r7035 | gaal++ | - throw away the cons list in favor of a primitive [] - it's enough
21:01 svnbot6 r7035 | gaal++ | - figure out how to install other kinds of pragma data, not just Int
21:01 svnbot6 r7035 | gaal++ | And, the fun part:
21:01 svnbot6 r7035 | gaal++ | - use fatal
21:01 svnbot6 r7035 | gaal++ | - use sort 'mergesort'
21:01 svnbot6 r7035 | gaal++ | - no strict :-)
21:02 svnbot6 r7035 | gaal++ | - other ideas from http://perl.plover.com/TPF/Pragmas/PROPOSAL
21:03 nothingmuch has quit IRC (Remote closed the connection)
21:03 nothingmuch has joined #perl6
21:06 Khisanth gaal: so these are only for p6 and not p5? :)
21:06 * nothingmuch follows autrijus's legacy and takes the comp to the shower
21:06 nothingmuch but not for chat, for music
21:07 Khisanth he probably has a waterproof computer! :)
21:07 Juerd And still he wonders where all the hardware failures come from...
21:07 nothingmuch well, unlike autrijus i'm not planning on actually using it in the shower
21:07 nothingmuch so it's satying at a safe distance away from the water
21:07 Khisanth Juerd: now that you mention it ...
21:08 nothingmuch Yeah, he lugs the laptop around everywhere too
21:08 nothingmuch he told me he spends lots of money just because his computer falls occasionally
21:08 Juerd You can only do that with a thinkpad or toughbook :)
21:09 Juerd Though no notebook I know is water proof :)
21:09 Juerd Can't use a sack around it either, because they're all air cooled
21:09 wolverian hmm, how expensive are rain proof notebook carry cases?
21:09 Juerd Not very.
21:09 nothingmuch (by everywhere I mean not in the backpack everywhere, but in his hand everywhere - he just walks in the street and types with one hand)
21:10 wolverian Juerd, under 100e?
21:10 Juerd They're available for much less.
21:10 wolverian ah, good. thanks.
21:10 Juerd I've used a regular laptop back, and it's worked great in the rain.
21:10 Juerd It's not officially rain proof.
21:10 Juerd I bought a new laptop bag yesterday.
21:11 Juerd (Fjallraven DePendler)
21:11 Juerd I use it with sfbags.com's SleeveCase
21:12 wolverian I have a fjällräven jacket :)
21:12 Juerd That's no reason to mess with my terminal.
21:12 kcwu has quit IRC ("reboot")
21:13 wolverian it's just utf ;)
21:14 Khisanth you and your dots!
21:16 GeJ has quit IRC ("Client exiting")
21:17 kcwu has joined #perl6
21:18 evalbot_7034 has quit IRC (Remote closed the connection)
21:18 evalbot_7035 has joined #perl6
21:24 dudley has quit IRC ()
21:37 justatheory has joined #perl6
21:46 whiteg has quit IRC ()
21:48 luqui oh my god
21:48 luqui Arthur made a perl 5 lexical hooks module
21:48 luqui Hook::Scope
21:49 luqui he uses a very clever technique (otherwise known as a sledgehammer): walking the optree!
21:49 iblechbot has quit IRC (Connection timed out)
21:53 integral brave guy :)
22:01 luqui darn, but optimizer.pm is broked
22:02 luqui rather, B::Generate is broken
22:02 integral Just imagine: if more people used it, it'd be totally bugfree :-)
22:03 luqui I don't get it
22:05 Juerd Bugfree in the sense that Windows is
22:06 Juerd An occasional system freeze or severe unrepairable crash is accepted from Windows, because most people use Windows.
22:06 Juerd Another system better be more stable, or else, because not as many people use it.
22:06 Juerd </guess>
22:07 luqui that sorta makes sense...
22:07 luqui it could also be that people would bug arthur more about it
22:08 Juerd Relatively nobody's complaining about the warning of uninitialized values for initialized but undef values. We've gotten used to it :)
22:09 Juerd But it should really be construed as a bug.
22:12 luqui I'm not complaining, because I start my programs with: use strict; use warnings; no warnings 'uninitialized';
22:12 Juerd hehe
22:12 Juerd I quite like the warning
22:12 Juerd Usually indeed something is wrong when it shouts that
22:12 luqui I got about a 50/50 correctness ratio
22:13 Juerd Probably depends on what you're writing
22:13 luqui Yeah, and I'm pretty liberal with my undef use
22:13 Juerd Though I would know no specific areas of programming in which it does or does not matter
22:18 whiteg has joined #perl6
22:49 SamB has quit IRC (Read error: 110 (Connection timed out))
23:08 nothingmuch has quit IRC (Read error: 113 (No route to host))
23:13 brentdax has quit IRC (Read error: 110 (Connection timed out))
23:19 nothingmuch has joined #perl6
23:19 SamB has joined #perl6
23:21 clkao has joined #perl6
23:33 clkao has quit IRC (Read error: 104 (Connection reset by peer))
23:35 whiteg has quit IRC ()
23:41 justatheory has quit IRC ()
23:45 justatheory has joined #perl6

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

Perl 6 | Reference Documentation | Rakudo