Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-10-10

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 weinig is now known as weinig|bbl
00:03 cmarcelo nothingmuch: ping
00:07 mako132 joined perl6
00:07 b00t joined perl6
00:11 svnbot6 r14185 | putter++ | from_perl6_rules/propcharset.t - updated.
00:11 svnbot6 r14185 | putter++ | /<+<foo>>/ notation was obsolete.
00:11 svnbot6 r14185 | putter++ | External inversion tests converted from /<-<foo>>/ to /<!foo>./ .
00:19 nekokak joined perl6
00:24 putter Is /a :ignorecase b/ valid?  S05 only shows modifiers leftmost in a group.
00:28 Aankh|Clone is now known as Aankhen``
00:36 mako132 joined perl6
01:17 svnbot6 r14186 | fglock++ | v6/Emitter - several fixes in pair, array, hash, closure
01:23 weinig|bbl is now known as weinig
01:30 mac93 joined perl6
01:39 cmarcelo nothingmuch audreyt (and *) : I did some very primitive work (MO/t/basic.t) on MO in Haskell (http://perlcabal.org/~cmarcelo/moh/), but looks like I'm on a wrong track mapping the roles and classes to Hs. :( ideas how to get this better?
01:47 TimToady putter: yes, you can put :ignorecase in the middle, and its effect is from there to the end of the scope.
02:03 putter thanks
02:05 putter S05 refers to it as lexically scoped.  given that in code we are currently hoisting decls to the beginning of the block, perhaps some clarification might be added.
02:05 putter next question, :)
02:07 putter can one do the equivalent of /(?<=\G..)./g?   or would it need to be rewritten so the \G is leftmost, and thus can be dropped (by using :pos)?
02:16 markstos joined perl6
02:23 mac93 joined perl6
02:24 lambdabot joined perl6
02:55 weinig is now known as weinig|sleep
02:58 wolverian heh, "Larry Wall: Perl is turning into Haskell. Someone shoot me." -- http://sequence.complete.org/hwn/20061010
03:06 svnbot6 r14187 | audreyt++ | * READTHEM: Add "Monad Transformers Step by Step", a very good
03:06 svnbot6 r14187 | audreyt++ |   primer on the way Pugs's Eval monad works:
03:06 svnbot6 r14187 | audreyt++ |     http://uebb.cs.tu-berlin.de/~magr/pub/Transformers.en.html
03:06 lambdabot Title: Monad Transformers Step by Step, http://tinyurl.com/esboz
03:20 svnbot6 r14188 | putter++ | Common/convert_regexp_to_six.pl - created.
03:20 svnbot6 r14188 | putter++ | Converts perl5 regexp patterns and literals to perl6.  //,qr,m,s.
03:20 svnbot6 r14188 | putter++ | First draft.  Coverage should be as good as Regexp::Parser (ie, most everything), but is as yet untested.
03:20 svnbot6 r14188 | putter++ | The file is currently set up for interactive use - playing encouraged.
03:33 svnbot6 r14189 | putter++ | Common/convert_regexp_to_six.pl - made it more interesting for folks trying it out this evening.
03:44 Cale joined perl6
03:47 justatheory joined perl6
03:51 putter looks like Regexp::Parser is missing support for $^N $+ in patterns, and I forgot to convert $& $` $' $+[] $-[] in s/// substitutions.
03:51 putter maybe tomorrow...
03:51 putter good night &
03:59 avar cool
03:59 avar make shdist for my app is makind a 2.0 GB .sh file and counting
04:01 avar 3.6 GB now:)
04:13 rindolf joined perl6
04:13 rindolf Hi all.
04:15 mac93 joined perl6
04:30 mac93 joined perl6
04:33 gaal cmarcelo: ivResponderInterface :: ResponderInterface a => a
04:33 gaal you can say
04:33 gaal ivResponderInterface :: forall a. ResponderInterface a => a
04:36 cmarcelo gaal: hi! :) what's the difference? aren't they the same, ie., 'forall a.' is implicity in that case... ?
04:36 gaal cmarcelo: see http://homepages.cwi.nl/~ralf/gpce06/ too
04:36 lambdabot Title: Software Extension and Integration with Type Classes
04:36 cmarcelo (the error msg from GHC suggests that)
04:39 svnbot6 r14190 | putter++ | Common/convert_regexp_to_six.pl - support for $&, $-[n], $+[n].
04:40 gaal hmm
04:40 rindolf Hi gaal
04:41 rindolf gaal: I saw your message to the Jifty list.
04:42 gaal cmarcelo: I'm now remembering there was something about GADTs and typeclasses...
04:42 gaal rindolf: ok
04:43 gaal gotta go. back in a few hours &
04:43 cmarcelo gaal: i'll look the paper to gather ideas.. thanks.
04:45 rindolf gaal: bye.
04:45 gaal cmarcelo: also look for fromTypeable in Pugs for how to extract that, if it does work
04:45 gaal see Pugs.Val.Val and castVal
04:46 gaal &
04:46 cmarcelo ok. :)
04:46 cmarcelo bye
04:48 svnbot6 r14191 | putter++ | READTOO - added 'Software Extension and Integration with Type Classes'. gaal++ cmarcelo++
04:59 plural joined perl6
04:59 leo joined perl6
04:59 Juerd joined perl6
04:59 wolverian joined perl6
04:59 audreyt joined perl6
04:59 PerlJam joined perl6
05:01 webmind joined perl6
05:01 chip joined perl6
05:04 cmarcelo well, solved the problem with "forall a. ResponderInterface a => MkInvocant { ... }", ie, throwing the forall and context out from the "record" to the constructor.. but will check the open type thing anyway :)
05:08 webmind joined perl6
05:09 chip joined perl6
05:19 kanru joined perl6
05:22 SubStack joined perl6
05:28 agentzh joined perl6
05:30 agentzh @tell lanny the Smoke Synopses should be okay now. thanks iblech++
05:30 lambdabot Consider it noted.
05:31 agentzh gotta run to class... &
05:31 agentzh part #perl6
05:31 agentzh left perl6
05:35 kanru joined perl6
06:00 cmarcelo nothingmuch || audreyt: basic.hs is "done". besides the 'open type' thing (i'll try that tomorrow), I have some questions: (a) in p5 we were passing CodeRef's around, here we should create a type for represent CodeRef and when it actually get called, we call a function runCodeRef or something like? (b) what type Arguments should have? thinking now an opaque type with a operation "prependInvocant" or "prependObject" seems to be enough
06:00 cmarcelo ..
06:00 svnbot6 r14192 | putter++ | Common/redsix/README - removed incorrect sentence.
06:06 buetow joined perl6
06:16 snowstalker joined perl6
06:17 cmarcelo bbl &
06:17 cmarcelo left perl6
06:21 sri__ joined perl6
06:34 Cale left perl6
06:37 marmic joined perl6
06:52 nothingmuch joined perl6
06:58 iblechbot joined perl6
06:59 kanru joined perl6
07:04 mdiep_ joined perl6
07:37 zakharyas joined perl6
08:07 svnbot6 r14193 | audreyt++ | * Rename DrIFT.YAML's addressOf to stableAddressOf,
08:07 svnbot6 r14193 | audreyt++ |   as it's returning StablePtr's address, not the real pointer.
08:07 svnbot6 r14194 | audreyt++ | * Pugs.Internals: Add utility functions addressOf and showAddressOf
08:07 svnbot6 r14194 | audreyt++ |   so I can pretend Haskell is a weakly typed language...
08:11 svnbot6 r14195 | audreyt++ | * Pugs.Types.Hash: Add strictness over commo operations,
08:11 svnbot6 r14195 | audreyt++ |   and abstract the IHash's encodeUTF8/decodeUTF8 munging
08:11 svnbot6 r14195 | audreyt++ |   over, so we can benchmark StrMap/JudyHash/HashTable
08:11 svnbot6 r14195 | audreyt++ |   with much more ease.
08:17 svnbot6 r14196 | audreyt++ | * CGI::Util: It's not decided that Perl6's string hash is
08:17 svnbot6 r14196 | audreyt++ |   ordered by default, so we still need to say .keys.sort.
08:20 svnbot6 r14197 | audreyt++ | * Pugs.AST.Internals: Change IHash to use Data.HashTable
08:20 svnbot6 r14197 | audreyt++ |   to shake out all the test bugs that assumed sorted hashes.
08:20 svnbot6 r14197 | audreyt++ |   (May change back to StrMap or JudyHash before the release.)
08:20 svnbot6 r14198 | audreyt++ | * Regen instances.
08:34 andara joined perl6
08:42 svnbot6 r14199 | audreyt++ | * CGI.pm: Minor adjustments to work with unordered hashes;
08:42 svnbot6 r14199 | audreyt++ |   also replace all "push(@result, ...)" pattern into gather/take.
08:58 mako132 joined perl6
09:00 svnbot6 r14200 | audreyt++ | * t/: More unTODO following the addressOf change.
09:00 pasteling "leo" at 213.229.14.38 pasted "svnbot b0rked?" (17 lines, 979B) at http://sial.org/pbot/20308
09:04 audreyt leo: are you using ext/Set/ in trunk?
09:07 elmex joined perl6
09:11 audreyt leo: r14201's Set.pm should fix it
09:11 svnbot6 r14201 | audreyt++ | * Set.pm: Infix operators should never by variadic on its
09:11 svnbot6 r14201 | audreyt++ |   second arguments; this caused an obscure bug spotted by leo++.
09:17 svnbot6 r14202 | andara++ | [misc/runpugs]
09:17 svnbot6 r14202 | andara++ | initial commit of runpugs: a web terminal for pugs.
09:18 audreyt !!
09:18 audreyt andara++
09:18 andara PLease give it a try on feather.
09:18 leo audreyt: thanks - works again
09:19 andara http://feather.perl6.nl:8080/cgi-bin/runpugs
09:19 lambdabot Title: Run Perl6 Now!
09:20 audreyt wow
09:20 audreyt colour me very, very impressed
09:20 andara really? No AJAX :-(
09:22 gaal andara++
09:22 andara cheers!
09:23 andara At the moment, I try to catch "dangerous" commands with /\b(system|exec|fork|wait|open|slurp|eval|kill)\b|(\`)/
09:23 andara Anything obvious I overlooked?
09:23 andara while(1) {1} and similar are timed out
09:23 kanru joined perl6
09:24 gaal you're not running in safe more?
09:24 gaal *mode
09:25 andara how do I do that?
09:25 gaal PUGS_SAFEMODE=1 in the environment
09:25 audreyt please please do that :)
09:26 andara Ah! does that block all system calls?
09:26 audreyt yes
09:26 gaal it blocks all primitives that haven't been marked "safe"
09:26 andara how about infinite loops?
09:26 gaal for infinite loops, the caller should set a limit
09:26 gaal like evalbot
09:27 gaal how long is the timeout?
09:27 andara 10 seconds
09:27 gaal then it isn't working :)
09:28 gaal because I have a session that was idle for longer and it's still alive
09:28 gaal ah
09:28 gaal sorry no, I meant the session timeout
09:28 andara Ha no: your session stays alive for 10 minutes.
09:28 andara But if you do a while (1) {1} it should time out in 10 seconds
09:29 gaal nACK
09:29 gaal er, ACK.
09:29 andara All these are open for change of course.
09:30 audreyt andara++
09:30 andara Maybe stupid question: I use fork/ exec. Will setting PUGS_SAFEMODE=1 via %ENV work?
09:31 audreyt pugs checks that env the first time it's started
09:32 andara so I could check it from withing the pugs shell?
09:32 audreyt under safemode %ENV is set to empty
09:32 audreyt I think
09:33 andara anyway, I'll see because syscalls will be blocked. OK, I'll put that in right away
09:34 audreyt but &say will be blocked too
09:34 andara I'll have to take it off-line for that I'm afraid
09:34 audreyt gaal: what do you think about marking stdout "say" as safe?
09:34 audreyt andara: sure
09:34 audreyt gaal: or should runpugs rebind using safe_prnt as well?
09:34 andara why is "say" unsafe?
09:35 audreyt no particular reason
09:35 audreyt so I'd like to see it back safe...
09:36 andara gaal, audreyt: could you please try ':q' in your browser terminal? I see 8 pugs sessions active, just checking if it drops to 2 :-)
09:37 andara sorry, 6
09:38 andara Cool, seems to work fine.
09:38 svnbot6 r14203 | audreyt++ | * Pugs.Eval.Var: The type inferencer in inferExpType wasn't
09:38 svnbot6 r14203 | audreyt++ |   able to look through (...)!
09:38 svnbot6 r14203 | audreyt++ |     1+5     # inferred as Int
09:38 svnbot6 r14203 | audreyt++ |     (1+5)   # inferred as Any
09:39 dduncan audreyt, do you know anything about when GHC 6.5.x might stabilize and a 6.6.0 release come out?
09:40 dduncan or alternately, are there any plans to make 6.5.x a minimum Pugs requirement before that?
09:41 andara OK, runpugs going down in 30 sec. Be back in an hour or so.
09:42 gaal andara: I closed mine :/
09:42 gaal i mena the window, not the pugs :(
09:43 audreyt dduncan: today GHC 6.5 -HEAD bumped version to 6.6
09:43 andara no bother, I'm stopping the web server anyway
09:43 gaal audreyt: hm. say with fh feels unsafe to me
09:43 audreyt so it's "stabilized"
09:43 audreyt gaal: how do you get that fh?
09:43 dduncan what a coincidence!
09:43 gaal though arguably there shouldn't be a way of gettin an unsafe one
09:43 dduncan (I didn't know that)
09:43 audreyt precisely
09:43 audreyt dduncan: I'm racing against GHC team :)
09:44 dduncan how so?
09:44 dduncan for a Pugs release?
09:44 dduncan well, last I checked, there are good moves here
09:44 dduncan down under a hundred failing tests
09:44 audreyt yeah. ideally I'll test it with GHC 6.6 and release at the same day as the official 6.6
09:44 dduncan except then it jumped up to a thousand
09:45 audreyt hm? all in t/regex/ space I think
09:45 gaal audreyt: does Perl 6 allow writing to strings? what Role must an object do for $h.say?
09:46 audreyt gaal: maybe it's not a role at all...
09:46 dduncan fyi, regarding my database related code, I decided (and announced on some database lists), that I'll be making a Perl 5 version first after all ... something useable should be out by the end of October ... and I'll be using it in production at the same time
09:46 audreyt class Str is also { method say (*@output) { ... } }
09:47 dduncan after that, I'll resume the Perl 6 version, hopefully when some more Perl 6 language features exist
09:47 audreyt sure. what features do you want most at this point?
09:47 audreyt (default attrs and role mixins are now both in)
09:47 gaal I'm having a hard time coming up with an attack scenario, but I feel safer if there's just a safe_print available....
09:47 dduncan right at this moment, it wouldn't be fair for me to say, so in the mean time I'll just let you go in whatever direction you were already going
09:48 dduncan part of that is, I don't know which of several possible routes to my goal are the best, and each uses different features
09:49 dduncan so I figure, if I have something in Perl 5 first, where the language isn't changing anyway, then you guys can look at that, and perhaps suggest good Perl 6 routes yourselves, when you better understand what actual functionality I am trying to have
09:49 audreyt nod. I do hope that a much better-working perl5 embed is of use to you
09:49 audreyt which is highlight of this release
09:50 dduncan my initial production use of the code is a pure perl 5 program ... and that is for a paid $job ... after that, I'll see how things evolve in the community's hands
09:51 dduncan among other people, I imagine that Sam Vilain / mugwump will be particularly helpful
09:51 dduncan unlike what I've said in the past, hopefully my comments here just now don't constitute vaporware, since I now have a $job driving me to cut corners and just get something out
09:52 audreyt that is almost always for the best :)
09:52 audreyt "just get something out" that is.
09:52 dduncan hence, also, the Perl 5 version has a different name than the Perl 6 one ... QDRDBMS (Quick and Dirty Relational Database Manager)
09:53 dduncan and even the Perl 6 version may not be called "Rosetta" for much longer ... I intend to rename it to a made-up word ... I've been bandying about "Muldis" for awhile now
09:53 audreyt what does that mean?
09:54 dduncan "MULtiple universe of DIScourse"
09:54 dduncan hopefully, revealing that won't blow my chances to trademark the term, which I want to do
09:55 audreyt it probably won't
09:55 dduncan "universe of discourse" is a term used in philosophy, for the body of knowledge held as assumed by members of a group having a conversation on a particular subject
09:56 audreyt andara: do write something about it on pugs.blogs.com when you get a chance :) # runpugs
09:56 demerphq good old philsophers coming up with fancy terms. gotta love it.
09:56 svnbot6 r14204 | audreyt++ | * Pugs.Monad: "loop { die }" should die. ;)
09:56 dduncan technically, Muldis was the name of a larger project of which this free RDBMS is but a component, but then I figure I could still name the component that too, kind of like Oracle's database is also referred to as Oracle, though they make various apps that work over it too
09:56 andara \me is ignorant: how can I write on pugs.blogs.com?
09:57 dduncan the larger project was helping empower people to accurately organize their data ... genealogy being an example of a use
09:57 chris2 joined perl6
09:58 dduncan my current plan is to rename Rosetta to Muldis around the same time that this Perl 6 project stops being vaporware and can actually be used, after the fact
09:58 audreyt 'kay
09:59 dduncan on a related note, I would like, some time, to get feedback form people about whether Muldis is a good name to pursue, or whether others may be better ... any others should be made-up words whose web domains aren't registered yet
10:00 dduncan also, suggestions of common misspellings could be useful
10:00 iblechbot joined perl6
10:00 dduncan so I could go register those before typo-squatters do
10:01 rgs fox muldis ?
10:01 dduncan each half of the word is pronounced the same as the words they come from
10:01 dduncan anyway, keep up the good work, and I'll come back to this discussion in a few weeks
10:02 audreyt 'kay. have fun!
10:03 dduncan and good night (my time zone) to you!
10:03 dduncan left perl6
10:11 svnbot6 r14205 | andara++ | [lib/WebTerminal/Server/Terminal.pm]
10:11 svnbot6 r14205 | andara++ | runpugs now with PUGS_SAFEMODE=1
10:11 svnbot6 r14206 | audreyt++ | * LWP::Simple: Correctly implement context-sensitive head(),
10:11 svnbot6 r14206 | audreyt++ |   so that live.t all passes.
10:27 svnbot6 r14207 | andara++ | [runpugs]
10:27 svnbot6 r14207 | andara++ | now with PUGS_SAFEMODE=1 in the right place
10:36 andara runpugs is back up on http://feather.perl6.nl:8080/cgi-bin/runpugs.
10:36 andara audreyt: /me is ignorant: how can I post on pugs.blogs.com?
10:36 lambdabot Title: Run Perl6 Now!
10:36 svnbot6 r14208 | audreyt++ | * default_scalar.t: "for 1..3 { $_++ }" should die, not survive.
10:39 audreyt andara: check your email;; there should be a typepad invication
10:41 Juerd andara: Neat. How is it protected against abuse?
10:41 andara audreyt:  *blush*  sure enough!
10:41 andara I'm afraid I'll be a very intermittent contributor though, can't spend more than say 1 day every 2 weeks on pugs :-(
10:42 audreyt that's fine :)
10:42 andara juerd: infinite loops are timed out; it runs (now) with PUGS_SAFEMODE=1. I still have to protect it against DoS by limiting the number of active sessions...
10:43 andara juerd: that is, active _pugs_ sessions.
10:43 Juerd andara: Please make ulimit'ing it, if it's not done already, your first priority.
10:44 Juerd The simplest DoS is using a lot of memory
10:45 audreyt BSD::Resources can help there
10:45 Juerd Simple ulimit too
10:45 andara ok, will do. What's an easy way to check if the limits are effective?
10:45 Juerd andara: There's no non-destructive way, but if you wait until tonight, you have my permission to forkbomb :)
10:46 Juerd Though careful using a bit more memory than before is non-destructive
10:46 andara juerd: "tonight" is a loose term here... any GMT?
10:46 Juerd But I'm of the opinion that you can only test against real life scenarios by using them for real.
10:46 andara audreyt: BSD::Resources: no matches on CPAN?
10:47 svnbot6 r14209 | audreyt++ | * Pugs.Monads: Make "break" and "continue" dependent no
10:47 svnbot6 r14209 | audreyt++ |   "when" frames, instead of on "given" frames.  That means
10:47 Juerd I assumed we were in the same timezone, CET.
10:47 svnbot6 r14209 | audreyt++ |   "given" is now strictly a $_ aliasing device, and is not
10:47 svnbot6 r14209 | audreyt++ |   considered a special construct on its own.
10:47 Juerd Your name looks Flemish, so I reckoned you'd be in Belgium.
10:47 kanru joined perl6
10:47 andara juerd: I'm in BST (Glasgow)
10:48 Juerd Ah
10:48 Juerd Similar tonights apply :)
10:48 andara juerd: sure. And I am Flemish, well spotted.
10:48 Juerd I have time 21:00..23:59 to go to the data centre to reboot feather, if necessary.
10:48 Juerd That's CET :)
10:49 Juerd andara: Do you live in the UK?
10:49 andara no worries, I think I can check ulimits without bringing the box down.
10:49 andara juerd: I live in Glasgow
10:49 Juerd If your check is succesful, please do attempt a destructive attack
10:50 andara OK. Not sure if I can do it tonight. I'll get in touch before I do :-)
10:50 Juerd It's important that a real test case is done by us, instead of by malicious users
10:50 Juerd Because we can plan it, they can't
10:50 svnbot6 r14210 | audreyt++ | * Pugs.Eval: Make &yield a special construct like &return
10:50 svnbot6 r14210 | audreyt++ |   so it can handle capture-like semantics without us actually
10:50 svnbot6 r14210 | audreyt++ |   having general Captures yet.
10:51 Juerd Getting in touch before it goes down involves using a phone :)
10:51 Juerd I'm not online myself
10:51 Juerd I get alerted by the monitoring
10:51 svnbot6 r14211 | audreyt++ | * Pugs.Prim: Finish the break/continue transition.
10:51 svnbot6 r14212 | audreyt++ | * A round of :todo now that exceptions in loops aren't ignored.
10:52 Juerd andara: Using unicode goes wrong
10:52 Juerd It seems to be ignored
10:53 svnbot6 r14213 | audreyt++ | * given.t: unTODO now we can use break/continue outside given blocks.
10:53 andara I mean, I'll notify you in advance (during daytime) when I plan to do the attack. Maybe I can put it on my local machine and try to bring that down first.
10:53 Juerd Okay
10:53 Juerd I'm off to work now
10:53 Juerd Hm, no, first I'm looking up where Glasgow is
10:53 andara juerd: how did you test unicode?
10:54 andara juerd: Scotland, far north of the UK, west coast
10:54 Juerd I tested by using unicode chars.
10:55 Juerd In strings like "føø", only "f" is left in the output
10:55 Juerd afk; bye
10:56 miyagawa_ Juerd: hi
10:56 andara runpugs is going down again for securing...
11:11 vytautas joined perl6
11:32 theorbtwo joined perl6
11:43 elmex joined perl6
11:43 mako132 joined perl6
11:44 putter joined perl6
11:48 BooK joined perl6
11:49 putter audreyt: shall I bump INSTALL's required ghc version to 6.6.0?  (and stop reporting core dumps for 6.4.1? ;)
11:51 audreyt putter: no, I'm fixing said coredumps.
11:51 audreyt it's caused by GC bugs
11:52 audreyt individual array ellements weren't GC'ed correctly
11:52 audreyt the refcount attached to the array as a whole but not elements
11:52 audreyt are things passing for you modulo segfaults?
11:53 putter @tell fglock It would be nice to have test/smoke targets for v6.  Is there a cpan bundle with v6 components not present in pugs?  Or does one have to cpan v6?  Could you give me a perl invocation which called in the top pugs dir -I's the versions in pugs of everything v6-ish?  Thanks!
11:53 lambdabot Consider it noted.
11:54 putter multidim args parse fails on a multidim arg.
11:55 putter 2 t/ segfaults.  No other t/ failures.  Explicitly no failures in t/regex.  I haven't run ext/.
11:55 audreyt which test file was that?
11:55 audreyt the multidim one
11:55 audreyt I remember having fixed it
11:55 * putter greps backlog...
11:56 putter t/blocks/multidimensional_arglists.t as of r14149
11:56 audreyt yeah. we now parse them so it's fixed
11:56 putter yay
11:57 audreyt the GC bug is much more subtle though.
11:58 putter If we are going to punt 6.4.1... unless it affects more resent versions?
11:58 audreyt it affects 6.6 as well
11:58 putter ah
11:58 audreyt in different ways
11:58 putter :(
11:59 audreyt that's ok, I got the bug now
11:59 audreyt it's just two entirely different GC paradigms needs some handholding to play with each other
12:07 * putter offers 3 units of ++ for the able Makefile hacker who gives me a test target which just runs the fribling tests, rather than building pugs and world peace first.
12:11 gaal putter: why not use prove?
12:12 gaal you add something to Makefile.PL, you need to make world peace anyway
12:12 audreyt utils/prove6 that is
12:12 audreyt did I mention refcounting GC is really a bad idea?
12:12 gaal I never got what util/prove6 wins...
12:13 audreyt it refreshes stuff for you...
12:13 gaal refcounting GC is good in that timely destruction is straightforward...
12:13 gaal (relatively)
12:14 gaal but, does ghc use refcounting? I thought it didn't!
12:14 audreyt no, perl5 dies
12:14 gaal I got a book from nothingmuch that should help me understand haskell economics
12:17 andara left perl6
12:19 audreyt s/dies/does/
12:20 audreyt whew. everything works.
12:20 audreyt now to eliminate all memory leaks...
12:20 Limbic_Region joined perl6
12:24 putter gaal: re "why not use prove?" - because I just now noticed prove6 does v6?  and make smoke-perl5 has been retargeted to v6?  but test-perl5 hasn't been, so the two test completely different things?  and being insufficiently paranoid, I used lack of change in Makefile for lack of introduction of v6 support?  sigh.
12:24 putter s/for lack/as a proxy for lack/
12:25 putter gaal: thanks ;)
12:32 audreyt putter: see if the segfaults has gone away now
12:35 putter will do....
12:36 svnbot6 r14214 | audreyt++ | * Rationalize Perl5 embedding's GC interface by passing
12:36 svnbot6 r14214 | audreyt++ |   StablePtr instead of Ptr around, as well as _not_ placing
12:36 svnbot6 r14214 | audreyt++ |   GC burden on VError{} and VUndef, as they should be all
12:36 svnbot6 r14214 | audreyt++ |   referring to a static &PL_sv_undef now.
12:36 svnbot6 r14215 | putter++ | Makefile.PL - rename target test-perl5 to test-Bperl5, as smoke-perl5 no longer tests pugs -B PERL5.  The right thing might instead be to use xxx-v6 for v6 and xxx-perl5 for -B PERL5... but this one character fix was easier.
12:39 svnbot6 r14216 | gaal++ | typo fix
12:39 zakharyas joined perl6
12:48 putter It looks like perl5/PIL-Run/ has been inactive for almost a year.  Shall we depreciate it?  Eg, removing the link from http://m19s28.vlinux.de/cgi-bin/pugs-smokeserv.pl ?
12:48 lambdabot Title: Pugs Smoke Reports, http://tinyurl.com/kcfpn
12:49 Limbic_Region joined perl6
12:53 putter audreyt: it will be another 15 min or so (for compile to finish, and then to check the formerly segfaulting files)
12:56 rindolf joined perl6
12:56 rindolf Hi all.,
12:57 Limbic_Region salutations
12:57 * Limbic_Region is still compiling after all the updates after a 3-day weekend
12:58 putter @tell fglock ok, I found prove6 and smoke-perl5.  but the smoke server doesn't show any v6 tests.  has uploading one not been tried?  or does util/smokeserv/smokeserv-server.pl need to be tweaked to stop ignoring them?
12:58 lambdabot Consider it noted.
13:00 markstos joined perl6
13:03 fglock joined perl6
13:03 svnbot6 r14217 | fglock++ | v6/emitter - added List class
13:03 putter hi fglock
13:03 iblechbot joined perl6
13:05 fglock putter: hi
13:05 lambdabot fglock: You have 2 new messages. '/msg lambdabot @messages' to read them.
13:06 putter both from me ;)
13:07 fglock putter: sorry, I don't know - clkao was working on smoke
13:07 putter np
13:08 putter shall we officially think of PIL-Run as depreciated?
13:09 fglock hmm - it is still the only backend with lazy lists - I'm still migrating laziness to v6.pm
13:09 putter for a long time, it's only role was to support you and stevan.  now your runtime stuff has a new home in v6 land, and stevan has Moose.  so I think it's only of historical interest now.
13:09 putter ah, ok
13:10 fglock how about move to pX/Common
13:12 putter or pX/Aside.
13:12 bpphillips joined perl6
13:12 putter though moving may stop it from working.  hmm, I wonder if it still works...
13:20 Limbic_Region joined perl6
13:22 clkao http://news.bbc.co.uk/1/hi/sci/tech/6035113.stm # there is a reason that people think perl is shrinking..
13:22 lambdabot Title: BBC NEWS | Science/Nature | Giant camel fossil found in Syria, http://tinyurl.com/hynmw
13:23 fglock oops - pugs/v6 interactive shell is currently broken with 'pugs -B perl5'
13:24 cjeris joined perl6
13:27 fglock brb
13:27 svnbot6 r14218 | audreyt++ | * Pugs.Run.Perl5: Fix perl5->pugs callback for real.
13:27 svnbot6 r14218 | audreyt++ |   GC issues on the embed side should be fixed now.  Only Judy side left...
13:29 putter audreyt: the two formerly segfaulting files worked with r14215.  woot.
13:30 * putter tries to figure out whether -B PERL5 was changed to do v6 instead of PIL-Run, or whether PIL-Run was merely broken by adding bogus 'use v6-alpha;' lines.
13:32 svnbot6 r14219 | audreyt++ | * Judy.Refeable: Put the default instance of Refeable into
13:32 svnbot6 r14219 | audreyt++ |   the class itself, so one can turn off needGC without having
13:32 svnbot6 r14219 | audreyt++ |   to write the entire instance.
13:35 fglock putter: -B Perl5 uses v6
13:39 putter sigh - so I get to stomp on everyone's Makefile.PL again.  do you know where in src/Pugs it happens?
13:42 fglock no
13:44 * putter surfaces from hs space...
13:44 putter so PIL-Run/pugs-p5.pl still runs, for some buggy value of runs.
13:48 svnbot6 r14220 | fglock++ | v6/emitter - $scalar names were not mangled
13:48 svnbot6 r14221 | putter++ | Makefile.PL - revert r14215.  -B PERL5 does v6.  PIL-Run is dead, long live v6.
13:50 ruoso joined perl6
13:52 chris2 joined perl6
13:52 weinig|sleep is now known as weinig|work
13:52 svnbot6 r14222 | putter++ | perl5/PIL-Run/lib6/P5Runtime/PrimP6.pm - remove inappropriate "use v6-alpha;".
13:53 iblechbot joined perl6
13:53 svnbot6 r14223 | fglock++ | v6/emitter - new node Perl5Scalar
13:55 cmarcelo joined perl6
13:57 cmarcelo hello
13:57 fglock cmarcelo: bom dia
13:58 cmarcelo fglock: :).. am I crazy or did you said we were in daylight savings time ("horario de verao") a few days ago?
13:59 fglock cmarcelo: yes, my wife told me so - and I believed it :)
13:59 putter strawman proposal: from perl5/ move PIL-Run Perl6-Value Perl6-Container Perl6-MetaModel to pX/Aside/pugs_perl5_backend/.  pugs-p5.pl seems to work as well in the new location as in the old.
13:59 mugwump joined perl6
14:00 Limbic_Region IIRC, some places in europe adjust for DST a few weeks different than the US
14:00 Limbic_Region but that may have just been bunk too
14:00 PerlJam Given that DST is politically driven, it's entirely possible.
14:00 [particle] lr: it's true. it always confuses me when calling folks in london this time of year
14:01 mako132 joined perl6
14:01 fglock there is no rule for DST here - it changes every year
14:02 demerphq where is here in that context?
14:02 PerlJam fglock: every year?  Does the government just announce, "hey, we're going to do that DST thing next week" ?
14:02 fglock Brazil - it depends on the dam levels - we use mostly hydroelectrical power
14:03 [particle] wow
14:03 fglock so it actually depends on how much it rains
14:03 demerphq thats quite clever actually.
14:04 putter fglock: mv Perl6-Values etc to pX/Aside?  pX/Common?  thoughts?
14:05 fglock putter: pX/Common, I think - it is still useful as an implementation example
14:06 putter we need to come up with some way to distinguish the stuff in Common which is there for reference, vs there to be hacked on by all comers.
14:07 fglock putter: right - how about misc/PIL-Run
14:08 putter eep. :)
14:08 putter oh, you mean ./misc/PIL-Run, rather than ./misc/pX/Common/misc/PIL-Run ?
14:09 fglock yes
14:10 putter misc it is.
14:10 hexmode joined perl6
14:10 fglock btw, how about ./pX
14:11 fglock brb &
14:14 chaoslawful joined perl6
14:14 * Limbic_Region begins smoking r14223
14:23 putter fglock: re ./pX, so... you don't think ./ has enough clutter yet? ;)
14:23 putter @tell stevan perl5/Perl6-MetaModel moved to misc/old_pugs_perl5_backend.
14:23 lambdabot Consider it noted.
14:26 Limbic_Region .seen audreyt
14:26 Limbic_Region ?seen audreyt
14:26 lambdabot audreyt is in #ghc, #haskell and #perl6. I last heard audreyt speak 1h 53m 42s ago.
14:26 Limbic_Region anyone have an idea of how to become newline agnostic WRT testcases actual versus expected?
14:26 Limbic_Region there are a number of tests failing that aren't really
14:27 Limbic_Region s/failing/failing on Win32/
14:32 Juerd miyagawa_: Hello
14:35 Alias_ joined perl6
14:35 Alias_ audreyt: ping?
14:35 svnbot6 r14224 | putter++ | misc/old_pugs_perl5_backend/ - created.
14:35 svnbot6 r14224 | putter++ | From perl5/, move PIL-Run, Perl6-MetaModel, Perl6-Value, Perl6-Container to misc/old_pugs_perl5_backend/.  It still runs, but hasn't been active for just about a year.  It was already disconnected from pugs -B PERL5.
14:35 svnbot6 r14225 | andara++ | [runpugs]
14:35 svnbot6 r14225 | andara++ | More security features: limit total number of pugs sessions, limit sessions
14:35 svnbot6 r14225 | andara++ | per ip address
14:35 Alias_ Wow, I knew the commit rate for pugs was accelerating, but this is amazing :)
14:36 audreyt Alias_: pong
14:36 audreyt cmarcelo: swapMaps utterly killed GC :/
14:36 Alias_ audreyt: You aren't planning to attend OSDC again are you?
14:36 audreyt cmarcelo: GHC can't reason about your peek/poke at all...
14:36 audreyt cmarcelo: I'm rewriting Types.Array to not use swapMaps
14:43 cmarcelo audreyt: hi. it's not very clear to me what's causing trouble. GHC was keeping track of v1/v2 addresses [in swapMaps context], so GC'ing the wrong map?
14:45 woremacx joined perl6
14:48 svnbot6 r14226 | putter++ | misc/old_pugs_perl5_backend/README - created.  Quick history and how to run.
14:54 svnbot6 r14227 | putter++ | Moved misc/pilrun2-leftovers into misc/old_pugs_perl5_backend/.
14:56 audreyt sorry, ADSL behaving very erratic
14:56 svnbot6 r14228 | audreyt++ | * Pugs.Types.Array: Avoid the use of C.swapMaps as it proved
14:56 svnbot6 r14228 | audreyt++ |   to cause GC havoc on Perl5/Pugs boundaries.
14:56 audreyt cmarcelo: might be so; seems finalizePtr was run incorrectly
14:56 audreyt i.e. if I take away the addFPFinalizer then it all works
14:58 cmarcelo running incorrectly every time or just in cases with swapped maps?
15:04 audreyt swapped maps plus perl5 embed
15:04 audreyt t/perl5/array.t will show the error clearly
15:04 svnbot6 r14229 | audreyt++ | * t/perl5/: TODO and unTODO.
15:04 audreyt though I already worked arounded it by adding an extra IORef
15:05 audreyt Alias_: OSDC.au? I wouldn't mind as long as someone pays m y airfare again :)
15:05 ajs_work In function signatures, would ($x=?1) or ($x=Bool::True) be considered more stylistically Perl 6?
15:05 Alias_ audreyt: hrm... I wonder if we can make Skud convince realestate.com.au to sponsor you
15:06 Alias_ audreyt: The reason I mention it is that I think it might be time to have the cross-language dependency metadata discussion
15:07 ceez joined perl6
15:07 Alias_ audreyt: I have a number of people keen on dealing with various things in related areas, and the uncertainty and dependencies are all leading back to some sort of cross-language identifier/dependency grammar that is clean and doesn't suck
15:08 Alias_ I'd kind of hoped that with you + the pythonistas + change we might be able to come up with something in Melbourne
15:08 PerlJam ajs_work: perl6 hasn't developed such a style yet. It needs more collective consciousness.
15:08 svnbot6 r14230 | putter++ | v6.pm - Tolerate absent or null PERL6LIB.  File has refactoring opportunities.
15:09 fglock putter++ hacking v6.pm
15:09 Alias_ audreyt: Either that sort of physical specathon, or we do it the hard way and try to create some sort of cross-language metadata group/community/list
15:09 svnbot6 r14231 | fglock++ | v6/emitter - updated HACKING to new classes
15:10 gaal Limbic_Region: maybe use a heredoc, then usual svn props will Just Take Care of It?
15:10 cmarcelo audreyt: (when you have time, take a look at http://colabti.de/irclogger/irclogger_log/perl6?date=2006-10-10,Tue&amp;sel=46#l89 ) :)
15:10 lambdabot Title: #perl6 2006-10-10,Tue, http://tinyurl.com/knrxp
15:16 putter fglock: so, before having a new Makefile.PL blew away my pugs, I was wondering...
15:19 putter $ PERL6LIB=blib6/pugs/perl5/lib ./pugs -B PERL5
15:19 putter Can't locate Pugs/Compiler/Perl6.pm in @INC (@INC contains: blah usual system blah but no sign of blib6 .) at ./perl5/Pugs-Compiler-Perl6/lib/v6.pm line 42.
15:19 putter Same with ./pugs -B PERL5 -Iblib6/pugs/perl5/lib .
15:20 putter But blib6/pugs/perl5/lib/Pugs/Compiler/Perl6.pm is there.
15:20 putter ???
15:20 fglock actually, Pugs/Compiler/Perl6 is looked up in p5 land, so it doesn't belong to PERL6LIB
15:25 fglock try setting PERL5LIB=blib6/pugs/perl5/lib ?
15:29 Alias_ dammit
15:29 Alias_ heisenbug--
15:29 svnbot6 r14232 | putter++ | util/config-template.yml - Update comment now that including Test in Prelude is only a minor win (general precompiling now works) rather than a major win, and Math::Basic is there by default.
15:29 putter duh, trying, oh, will try in about 15 min.  thanks fglock
15:31 putter fglock: is PERL5LIB=blib6/pugs/perl5/lib ./pugs -B PERL5  the "official" way to run v6 (without installing it)?
15:31 putter INSTALL should probably have a paragraph, if it doesn't already.
15:33 buetow joined perl6
15:37 fglock joined perl6
15:37 fglock @tell audreyt it looks like '$code = <>' is not waiting for STDIN in v6.pm line 137, when calling from 'pugs -B Perl5'
15:37 lambdabot Consider it noted.
15:38 bpphillips left perl6
15:39 Alias_ :)
15:39 fglock putter: re "official" - I haven't tested before, needing to set PERL5LIB maybe considered a bug, I think
15:40 PerlJam fglock: $code = <>;  just assigns an empty string to $code (as it should).  Did you mean $code = =<>;  ?
15:41 * PerlJam may have the wrong context though, so feel free to ignore me if I do.
15:41 justatheory joined perl6
15:41 fglock PerlJam: that's perl5 code in v6 initialization
15:42 PerlJam oh, perl5 code. gotcha.
15:42 clkao nothingmuch++
15:42 clkao nothingmuch++
15:42 clkao nothingmuch++
15:43 nothingmuch ?
15:44 rindolf clkao: what for?
15:44 clkao nothingmuch: THANKS FOR BIRTHDAY GIFT
15:45 nothingmuch ah
15:45 nothingmuch so it *was* the good nick that got it?
15:45 clkao the fuckers left it in postoffice without telling me. the "nick" works for post office
15:45 nothingmuch oi
15:45 nothingmuch jeese
15:45 nothingmuch well, i'm glad you like it =)
15:45 nothingmuch is the color too barfy?
15:46 nothingmuch (not that that part matters with what you had on your head ;-)
15:46 clkao it's great
15:46 clkao it's japanese brand though, am i right?
15:46 nothingmuch yes
15:46 Alias_ what is it?
15:46 clkao i seem to remember my spare sleeping bag is from them
15:46 nothingmuch Alias_: you'll never know
15:47 Alias_ A backpack! Neat!
15:47 nothingmuch MUAHAHAHAAA
15:47 Alias_ Or hiking boots
15:47 nothingmuch naah
15:47 nothingmuch can't buy those online
15:47 nothingmuch they have to be fitted
15:47 nothingmuch like realllllllly fitted
15:47 Alias_ oh
15:47 nothingmuch most anything else is good though
15:47 nothingmuch keep trying =)
15:47 Alias_ So you sent him badly fitted hiking boots?
15:47 nothingmuch nope =)
15:49 Alias_ Man, they STILL can't tell if North Korea fired a nuke...
15:50 vel joined perl6
15:50 nothingmuch don't worry
15:50 nothingmuch north korea will be a fundamentalist islamic state in no time
15:50 nothingmuch car bombings with death tolls of tens to hundreds daily =)
15:50 Alias_ islamic?
15:50 nothingmuch sure
15:50 nothingmuch the great democracy will give it a makeover
15:51 Alias_ I mean, I can see Fundamentalist Kim'ish
15:52 nothingmuch no, they only fund muslims
15:52 clkao nothingmuch: how come there's a hand written card?
15:53 nothingmuch i asked them to add one =)
15:55 Alias_ Automated Care Factor :)
16:01 putter fglock: should smoke-perl5 be passing sanity?
16:12 andara joined perl6
16:13 jabbot joined perl6
16:16 Psyche^ joined perl6
16:19 nothingmuch cmarcelo: here?
16:22 cmarcelo nothingmuch: yes, (but gotta go soon)..
16:22 nothingmuch i
16:22 nothingmuch 've been refactoring and testing
16:22 nothingmuch but it's been going slow
16:23 cmarcelo (p5 MO you mean..?)
16:23 nothingmuch i'm getting a bit carried away with some new ideas for refactoring
16:23 nothingmuch yes
16:26 nothingmuch my thoughts on the class metaclass:
16:26 nothingmuch it's too monolithic
16:26 nothingmuch i want a plugin system ;-)
16:26 nothingmuch for example, the ability to compose with roles
16:27 nothingmuch or the ability to instantiate attribute grammars
16:27 nothingmuch or having attributes
16:27 cmarcelo ok. i'm still experimenting on how translate to hs yet (I posted some code, if you like to see)... one question: arguments will be captures or they must be "generic" enough to handle captures but handle simpler things too ?
16:27 nothingmuch arguments- where?
16:28 cmarcelo just a sec
16:28 Psyche^ is now known as Patterner
16:28 cmarcelo MO::Run::Invocation::Method
16:29 nothingmuch ah
16:29 nothingmuch that is a bit of a hack as of yet
16:30 nothingmuch in fact, i doubt we should port it 1:1
16:30 TimToady @tell dduncan I think Multiple UNiverses of DIS course works better, and has latin punny connotations of "worlds" and "pure".  It also appears not to be trademarked in the first few googly pages.
16:30 lambdabot Consider it noted.
16:30 nothingmuch it should be more of a Invocation::Method::PugsPerl6
16:30 nothingmuch which is specific to the pugs runtime
16:30 nothingmuch and models perl 6
16:30 nothingmuch whereas MO::Run::Invocation::Method is perl5ish
16:31 nothingmuch so, for a small demo i guess you can port it with simpler things
16:31 nothingmuch it's more example code than anything else
16:31 nothingmuch and then i guess we can get audrey to advise on the design of the "native" invocation meta object
16:31 cmarcelo re refactoring: you mean changing MO::Compile::Class to have a more pluggable interface instead of have hardcoded "has attributes", "has roles", etc?
16:32 nothingmuch yes
16:32 nothingmuch MO::Compile::Class is too big
16:32 nothingmuch but luckily, it has no meaning as far as the design is concerned ;-)
16:32 nothingmuch i bloated it with features as i went on implementing the more important objects that do these features
16:32 nothingmuch it's lots and lots of glue
16:36 Limbic_Region joined perl6
16:37 Limbic_Region gaal ping
16:37 araujo joined perl6
16:38 cmarcelo nothingmuch: I see. well. gotta go study for a test. i'll try to work more on this tonight (10hr from now).
16:38 nothingmuch okay
16:38 nothingmuch good luck
16:38 bernhard joined perl6
16:38 Limbic_Region which synopsis covers heredoc syntax and does someone have an example they can point me too?
16:39 Limbic_Region or better yet, is anyone on a *nix platform willing to help me test something?
16:40 cmarcelo nothingmuch: If you want to get your hands "dirty from Hs code", take a look at code I posted. feedback is welcome :)
16:40 PerlJam Limbic_Region: heredocs in perl6 are just  another form of quoter--   q:to<EOF>
16:40 nothingmuch cmarcelo: okies
16:40 nothingmuch can i have a
16:40 nothingmuch link?
16:40 Limbic_Region PerlJam - is there anything one needs to worry about with indentation as in perl 5?
16:41 [particle] S02 mentions heredocs around line 200
16:41 Limbic_Region for instance does EOF need to be left justified with no trailing spaces?
16:41 PerlJam Limbic_Region: nope, leading <ws> is eaten
16:41 PerlJam trailing too I think
16:41 Limbic_Region I still need someone from *nix world to help me test this I think
16:42 Limbic_Region certain tests are failing on Win32 which I believe to be because of differences in \n versus \r\n
16:42 Limbic_Region gaal suggested using heredocs as a replacement for expected
16:42 Limbic_Region but if I change the file here locally - it works regardless of heredocs or not
16:43 Limbic_Region so I won't be verifying anything
16:43 Limbic_Region test 12 of ext/Config-Tiny/t/basic.t for anyone interested
16:43 cmarcelo nothingmuch: http://perlcabal.org/~cmarcelo/moh/
16:43 lambdabot Title: Index of /~cmarcelo/moh
16:44 nothingmuch thanks
16:44 * nothingmuch wonders whether that belongs in ~/Perl next to mo or in ~/haskell ;-)
16:46 Alias_ hmm? What?
16:46 cmarcelo nothingmuch: ?
16:46 Alias_ Did someone mention Config-Tiny?
16:46 nothingmuch Alias_: Limbic_Region did
16:47 nothingmuch Alias_: you have highlights for all your modules? insane!
16:47 Alias_ It's been ages since I've seen my progeny :)
16:47 Alias_ What's it up to these days
16:47 nothingmuch cmarcelo: nothing, just pondering where to darcs get it ;-)
16:47 Alias_ nothingmuch: Implemented in wetware I assure you
16:47 beppu joined perl6
16:52 cmarcelo nothingmuch: hehe :) I wonder if its better put them in pugs repo, inside some misc/ or similar...
16:52 nothingmuch we're having fun with darcs now, so why stop ;-)
16:52 cmarcelo well, bbl. bye! &
16:52 cmarcelo okie dokie.. :)
16:53 elmex joined perl6
17:01 xinming_ is now known as xinming
17:04 rindolf Hi Alias_
17:05 Alias_ hi
17:05 rindolf Alias_: you're up early/late.
17:05 Alias_ yeah, I need to finish something and I don't have enough business hours
17:05 Limbic_Region Alias - I ported Config-Tiny to perl 6 early on in pugs life
17:05 Alias_ Client has been extremely patient, but is now getting a bit desperate
17:06 Limbic_Region it was before pugs had even a notion of support for objects
17:06 Alias_ Limbic_Region: Very early, if I recall it was the second ever module after Rosetta or parts thereof
17:06 Limbic_Region right - well anyway, it is currently failing a test on Win32 for no good reason
17:06 Alias_ To do with newlines?
17:06 Limbic_Region right
17:06 TimToady @tell ajs_work I think it'll typically be "Bool $hmm = True".
17:06 lambdabot Consider it noted.
17:06 Alias_ Are you using the universal newlines-fu/
17:07 Alias_ ?
17:07 Limbic_Region Alias - I didn't write the test
17:07 Limbic_Region I am trying to fix it so that it is newline agnostic
17:07 Limbic_Region s/agnostic/indifferent/
17:07 Limbic_Region it isn't the only test that falls into this category btw - just the first one I found
17:07 Alias_ universal newline = /\015{1,2}\012|\015|\012/
17:08 Alias_ (perl5 notation of course)
17:08 TimToady Alias_: the parrot folks have thought more about language interoperability than we have lately, though we were the same folks at most of the meetings...
17:08 Alias_ ah good, a language designer
17:09 [particle] alias: it's the language implementors who have the real power...
17:09 TimToady why would you match 2 \015 in a row?
17:09 Limbic_Region Alias_ - that won't help
17:09 Limbic_Region or rather - in order for that to help, someone would have to overload eq in Test.pm
17:09 Alias_ TimToady: \015\015\012 is an extremely common form of newline corruption from unix/win32 program confusion
17:09 [particle] lr: should i look at the cpan config::tiny, or the pugs one?
17:10 Limbic_Region since is($actual, $expected, $msg) is where the problem lies
17:10 [particle] lr: and do you have a feather account?
17:10 Limbic_Region particle - the issue is with pugs, have feather acct but can't get there from here
17:10 [particle] ah
17:10 TimToady but it could match two "newlines" on a Mac
17:10 Limbic_Region and by pugs I mean nothing to do with CPAN
17:10 Alias_ TimToady: How exactly?
17:10 TimToady but then it requires \012, so I guess that's okay
17:10 Alias_ right
17:11 Alias_ I tuned that regex over the course of a couple of years
17:11 Alias_ It's held solid for the last 5 years
17:12 TimToady y'know, Test.pm should probably be using eqv with newline canonicalization.
17:12 Limbic_Region Alias_ - writing a newline indifferent version of is() in Test.pm might be one way to solve this since it can be done in one place
17:13 Alias_ For my background material, google for "Regular Expression Newline Games"
17:13 Limbic_Region but ultimately people writing tests need to know either to write the test such as it works on any platform or use the right is() so that it works on any platform
17:14 TimToady but the default should probably be eqv or ~~.
17:14 TimToady probably eqv
17:14 TimToady ~~ is too dwimmy and not symmetrical enough.
17:14 TimToady and eqv is already defined to be a canonicalized comparison.
17:15 TimToady gotta go for a walk &
17:24 weinig|work is now known as weinig
17:26 weinig is now known as weinig|work
17:29 andara left perl6
17:34 ingy seen stevan
17:34 jabbot ingy: stevan was seen 1 days 7 hours 57 minutes 41 seconds ago
17:42 svnbot6 r14233 | andara++ | [runpugs]
17:42 svnbot6 r14233 | andara++ | More security additions, better error messages, and trying to get unicode to work.
17:48 stevan ingy: ping
17:48 lambdabot stevan: You have 1 new message. '/msg lambdabot @messages' to read it.
17:57 fglock joined perl6
17:58 fglock putter: re sanity - it doesn't pass because v6 is causing an error in Data::Bind
18:04 rindolf ingy: hi
18:21 ashleyb joined perl6
18:25 _bernhard joined perl6
18:27 penk joined perl6
18:37 putter fglock: thanks.  Do the Data::Bind folks have a bug report from us?  Is it something we might plausibly fix?
18:37 clkao (hi)
18:37 clkao i relayed that to p5p. no meaning answers yet
18:45 jabbot joined perl6
18:55 Limbic_Region joined perl6
19:08 fglock joined perl6
19:10 fglock clkao: Devel::LexAlias works - but I don't understand enough of it to find out how is it different from Data::Bind
19:17 clkao oh lexalias would surely work
19:18 lanny joined perl6
19:18 integral aww, it's XS.  You can actually do it in pure-perl with B
19:18 fglock integral: can you bind variables with B ?
19:19 fglock pure-perl would be great
19:19 integral fglock: you can get access to the right bits of the PAD as B::AVs and then reflect those into array refs
19:19 integral hmm, not sure how you get your dynamic parent subroutine though *sigh*
19:19 lanny @messages
19:19 lambdabot agentzh said 13h 49m 16s ago: the Smoke Synopses should be okay now. thanks iblech++
19:22 lanny @tell agentzh Feel free to shoot the messanger at any time cause I'm feeling like a broken record myself :) but when I look at latest smoke SYN and Perl 6 docs on feather they still don't match up.  (I use S29 as a test.)
19:22 lambdabot Consider it noted.
19:27 putter smoke-perl5 passed just 9 tests.  smoke-js none (somehow confused and didn't like seeing two different versions of perl installed).  smoke-redsix (curiosity) down to 400 passed.  the "hack, hack, hack" slope looks so very tall from down here.  pugs-hs++
19:28 svnbot6 r14234 | fglock++ | v6/emitter - Native.pm code cleanup
19:29 Alchemy joined perl6
19:30 Alchemy joined perl6
19:30 prism joined perl6
19:31 putter nap &  colds--
19:36 Alias_ (literal JavaScript crypto ports to Perl)--
19:37 Alias_ (specifically, having to implement them)--
19:37 Alias_ (specifically, having to implement them)--
19:37 Alias_ (specifically, having to implement them)--
19:37 nothingmuch audreyt: is this what we had at the israel hackathon? http://en.wikipedia.org/wiki/Century_egg
19:37 SamB !karma specifically, having to implement them
19:37 SamB ?karma specifically, having to implement them
19:37 lambdabot specifically, has a karma of 0
19:37 SamB ?karma (specifically, having to implement them)
19:37 lambdabot (specifically, has a karma of 0
19:37 SamB ?karma them)
19:37 lambdabot them) has a karma of 0
19:38 penk joined perl6
19:46 jferrero joined perl6
19:46 theorbtwo joined perl6
19:46 prism joined perl6
19:49 svnbot6 r14235 | fglock++ | v6 - added some experiments with Lexical::Alias (commented out)
19:52 b_jonas joined perl6
19:55 prism joined perl6
20:00 TimToady »*« is now strict; «*» is the new dwimmy »*«
20:01 TimToady (unary hypers are always strict in that sense)
20:02 TimToady Juerd++
20:02 TimToady (for pointing out the problem, if not the exact solution...)
20:04 prism joined perl6
20:06 wolverian TimToady, s,every,ever, in "because no dwimmery every happens:"
20:08 prism joined perl6
20:09 TimToady tnx
20:11 TimToady heh, "whimpers" works at least two ways.  You're whimpering at the computer because you want it to do something for you.  And a "whim-per" tells the computer to follow its whimsy in applying the hyper.
20:11 Alias_ oh man... scary
20:11 Alias_ Lets make sure we hide all this from the newbies :)
20:12 TimToady and "whimperops" is a slightly pejorative term for people who can't be bothered to think about whether their hyperops should be conformant or not.  :)
20:13 TimToady we'll just tell the newbiews to use «*» everywhere.
20:13 TimToady *newbies
20:13 [particle] *whimperbies
20:13 TimToady and then castigate them for not using »*« everywhere.
20:14 Alias_ Or not tell the newbies about the hyper ops at all
20:14 Alias_ I vote it only goes into the second book
20:14 Alias_ (of course, my vote ain't worth much) :)
20:16 TimToady that's what's known as Australian Preference Voting.  :)
20:16 Alias_ of course
20:16 Alias_ What's the point of knowing the result in less than a week :)
20:17 TimToady Is that why they renamed it "Instant Runoff" here?
20:17 Alias_ dunno
20:20 TimToady they probably thought Americans would misinterpret it as "having a preference for Australians" or something...
20:21 Alias_ yeah, god forbid the US copy concepts that work from other countries
20:22 SamB "instant runoff" sounds like it involves toxic waste or something...
20:23 Alias_ Emergency overpressure toxic waste channel
20:31 Alias_ shit
20:31 Alias_ Here I am, happily porting JavaScript to Perl, feeling appreciative that Larry put identical operators in Perl to those in JavaScript (presumably via C) and all of a sudden I hit....
20:31 Alias_ c>>>=bs
20:32 TimToady what manner of operator is it?
20:32 Alias_ hmm... shift right zero fill equals
20:33 Alias_ as opposed to >>= which is just shift right equals
20:33 SamB I could have sworne that was pronounced "bind"
20:33 Alias_ So... bind shift right zero fill?
20:33 SamB no, I mean ">>=" ;-P
20:34 Alias_ ah :)
20:35 b_jonas it used to be different in perl5 where >>= was an unsigned rightshift when you no integer and a signed one when you use integer.
20:36 TimToady the >>> vs >> distinction doesn't make much sense in a language where Int is arbitrary precision.  You just do it all with sign bits for signed things and 0 for unsigned.
20:36 BooK_ joined perl6
20:36 ashleyb joined perl6
20:36 b_jonas TimToady: very true
20:36 Alias_ Well, this entire algorithm doesn't make much sense
20:36 Alias_ I'm just porting it verbatim rather than try to penetrate WTF it's doing
20:37 Alias_ I _think_ it's using an array of unsigned ints to simulate a large bitfield
20:37 SamB you can't tell?
20:37 b_jonas though I'd like to see two other bitops, one for a&~b and one for sort of a&((1<<b)-1)
20:38 Alias_ You want to see what I have so far?
20:38 Alias_ hang on, commiting
20:38 b_jonas especially in perl6 where the bitops will have longer names
20:38 Alias_ oh wait, I can't show you, there's sensitive passwords in the code atm
20:38 b_jonas the first one turns off bits in a bitmask
20:40 antibioticus joined perl6
20:40 b_jonas the second one cuts the number to a given length, which is useful when you want to cut a few-bits-long field from a number like (num >> start & ((1<<length)-1)) or
20:41 Alias_ You almost want bitwise splice
20:41 b_jonas when you want to emulate arithmetic (including unsigned rightshifts) on a fixed-length integer, like (a + b)&((1<<32)-1)
20:41 b_jonas or (a >> b)&((1<<32)-1)
20:42 b_jonas only here ((1<<32)-1) has to be calculated with a greater precision than 32 bits which this operator would do if it worked on 32 bit ints not Ints
20:42 b_jonas Alias_: so this shows I don't, because this operator could do both
20:43 b_jonas I mean, this operation could do not only bitsplice but also something else
20:43 Alias_ That way lies chaos
20:44 Alias_ (fractally complex languages)--
20:45 b_jonas just go and write +&+~ in perl6 then
20:45 b_jonas and write +&0xffffffff and see if you never mess up the number of f-s
20:45 Alias_ :)
20:46 TimToady rtfm, as it were.
20:47 cjeris b_jonas: a & ((1<<b)-1) == a & ~((~0 >> b) << b) # the right doesn't overflow the int size
20:49 b_jonas oh, it's +^ not +~ sorry
20:50 b_jonas and +< has the same precedence as + , that will be confusing for me
20:51 b_jonas but that's my fault, I should use more parens instead of relying on it
20:52 b_jonas what? +& and +| and +^ also have pascal-like precedence? oh no!
20:52 TimToady no, +< is same as *
20:52 b_jonas oh yes, +< is the same a * indeed
20:52 TimToady I think of it as * 2
20:53 Juerd TimToady: If you could explain the new hyper things in terms of recursion, that'd be helpful for me. I'm having trouble bending the way I think.
20:53 Juerd (Though on the list, as I need to go now)
20:54 larsen_ joined perl6
20:54 b_jonas well +< is arguable, I'm not really sure what precedence is useful for it so maybe I don't like that only because I'm used to C
20:55 b_jonas but why do +& +| ?& ?| ?^ have to have such a high precedence?
20:55 b_jonas I can't really see how that could be useful
20:55 TimToady they're boolean multiply and add
20:56 b_jonas I mean, I understand why they have to be higher than == and <, that's a historical misfeature in C
20:56 TimToady and they should be tighter than junctions
20:56 theorbtwo .oO(I can't even remember what +< is -- left bitshift?)
20:56 TimToady and I didn't want to invent two more precedence levels.
20:56 TimToady theorbtwo: yes
20:56 b_jonas hmm, tighter than junctions... dunno
20:57 theorbtwo Bitops are a place I /really/ want mind-reader prec, but can't have it.
20:57 theorbtwo For example, $x>>6&1 is something I commonly do, and want it to be ($x>>6)&1 (give me bit 6 of that number).
20:58 b_jonas yes, you have already mentioned you wanted less precedence levels when I asked about the comma and the equals
20:58 b_jonas I'm not sure I like that principle
20:58 theorbtwo OTOH, just converting to named methods on Int would help a lot, now that that's easy.
20:59 b_jonas in fact, I'd like more precedence levels, with only obviously similar operators having the same difference
20:59 theorbtwo I think I would as well.
21:00 theorbtwo That is, don't throw in more just for the hell of it, but putting in more levels is preferable to having things at the same level when you'd have to rely on parens all the time.
21:00 TimToady we already have four different levels of and/or
21:00 theorbtwo and, &&, &, +& are all different levels?
21:00 TimToady the bitops are intentionally a bit deHuffmanized in P6.
21:01 TimToady yes, likewise for all the ors
21:01 Limbic_Region joined perl6
21:01 leo TimToady: [more precedence levels] - accumulated p6 operators are already looking like APL - just do it: "APL does not have function or operator precedence" - scnr & duck & run
21:02 theorbtwo But like I said, I think I'll do less bitops in p6 if I can define a lvalue .bits.
21:02 b_jonas (well if ?& would have the current precedence of && then I would say we don't need && which is just historical syntax for ?&) and resp for | isntead of &
21:02 b_jonas but that might be going a bit too far
21:02 TimToady a lot of bitops will be in bit arrays anyway.
21:02 theorbtwo That is, $foo.bits(3) gives me ($foo>>3)&1.
21:03 b_jonas and it only applies for my perl5 programming style where "and" is for control and "&&" is for logical expressions
21:03 b_jonas oh, and it would work only if ?& would short-circuit
21:03 b_jonas yes, that's definitely pushing it too far then
21:03 theorbtwo b_jonas, I use that style more or less too.
21:04 TimToady leo: maybe we just turn off all precedence if they use an extension of .apl instead of .pl  :)
21:04 leo ahhh the 'a' makes it go - great
21:04 theorbtwo Short for the an- prefix, clearly.
21:05 TimToady yes, alpha-privitive is what I was thinking to meself.
21:05 b_jonas TimToady: yes, that would work, and J is an apl-like language which has lots of high-level operators (i.e. functions acting on functions) which is like perl6
21:05 b_jonas only J uses ascii only
21:05 TimToady we use extended ascii. ☺
21:05 b_jonas theorbtwo: yes, only I use "and" much more because I replace lots of ifs with it
21:06 b_jonas :)
21:06 b_jonas if you want more meta-operators, there are plenty to steal from
21:08 b_jonas I'll have to read all the S-s again, they've changed a lot since I last read them.
21:09 ajs_work S05 "Subpattern numbering" doesn't seem clear on how this would be numbered: rx{ [ (a) | (b) (c) ] (d) }
21:09 lambdabot ajs_work: You have 1 new message. '/msg lambdabot @messages' to read it.
21:10 ajs_work Anyone have a clue how that should play out?
21:10 ajs_work TimToady: thanks for the Bool answer
21:11 weinig|work is now known as weinig
21:11 fglock ajs_work: a,b,c are captured to $/[0], d is captured to $/[1]
21:11 fglock sorry,
21:12 ajs_work Yeah, so I think you just saw my concern....
21:12 fglock ajs_work: a,b are captured to $/[0], c is $/[1], d is captured to $/[2]
21:12 fglock the numbers are given at compile-time, afaik
21:13 ajs_work So that means that if a matches, then you get $0 and $2, but no $1? I suppose that seems the least hurty way to do it.
21:14 fglock yes, but you can alias the captures, or create subcaptures
21:15 ajs joined perl6
21:15 fglock rx{ [ (a) <null> | (b) (c) ] (d) } possibly works too, if you need $1 to be a match
21:15 ajs That was odd... I think my IRC client crashed
21:16 ajs fglock: Yeah, I'm just trying to piece out all of the behaviors for nested capturing and non-capturing groups
21:16 fglock I've been using <null> for that
21:16 b_jonas "Unary sigils impose the container context implied by their sigil." -- uh, I'm frightened. what could non-unary silgils be.
21:16 gnuvince joined perl6
21:17 BooK joined perl6
21:17 vel joined perl6
21:17 gnuvince Hello everyone.  I seem to remember someone (audreyt maybe?) mentioning that there was going to be a release of Pugs soon.  Would that be version 6.28?
21:18 ajs So rx{ [ (a) (b) | (c) ] (d) } would also save the state from (b) in $2 and (d) in $3
21:19 ajs So it's whatever non-capturing sub-expression alternation that has the most numbered subpatterns that decides the count of the next numbered subpattern after the non-capturing sub-expression
21:19 fglock ajs: yes - see S05 "Subpattern numbering"
21:20 ajs Yes, that's the section I was quoting when I came in, but it's not clear on the interaction between captuirng and non-capturing subexpressions
21:20 ajs It assumes you'll have (a) | (b) which is the easy case
21:21 fglock yes, the information is a bit scattered - "Named scalar aliasing to subpatterns" also helps a bit
21:23 b_jonas I really hope people won't use the unicode operators because they'll be too lazy to set up their input devices to be able to enter them or something.
21:25 theorbtwo (101-key layouts with 102-key keyboards)++
21:26 ajs Ok, thanks fglock. I will propose a small clarification to this effect, since I'm still not seeing that it's exactly stated as you have said, but I think that what you're saying is the only workable way to go.
21:26 fglock gnuvince: no, not yet
21:27 b_jonas theorbtwo: you mean you'd use that for the extra operators? there'll be more that what you can fit to a single key.
21:27 theorbtwo No, for a compose key.
21:27 theorbtwo I already do, actually.
21:27 b_jonas oh.
21:27 theorbtwo As in spare-key, y, - = yen.
21:28 b_jonas I prefer to have the shift key in place though so I use a 101 key keyboard
21:28 theorbtwo I should get around to making shift-spare be a pound sign, since I do actually live in GBP-land.
21:28 b_jonas I still have the windows buttons as extra buttons I could use if I wished though
21:28 theorbtwo Eh, I'm quite used to the extra reach to shift.
21:28 theorbtwo I don't have windows keys on my desktop, it's an old IBM type M.
21:29 b_jonas I'm used too. I don't carry my kbd everywhere.
21:29 b_jonas would you really do that? where'd you put # then?
21:29 theorbtwo Er, shift-3, where the US keyboard layout puts it.
21:30 buubot joined perl6
21:30 fglock ajs: I inferred it from "can always be statically determined" - but it would be nice to have some examples that show how it works
21:30 theorbtwo Which is where it is now.
21:30 b_jonas oh, you said shift_spare_,
21:30 b_jonas sorry
21:31 b_jonas I use caps-lock as the extra button, but not a compose key but as a modifier (like altgr on normal maps)
21:31 b_jonas so I need shift-capslock
21:32 b_jonas I should still add a compose key or something, even if I rarely need it, it's not never.
21:37 theorbtwo Yeah, I could use caps lock as an altgr, but keeping it a capslock and using spare as compose feels more natural to me.
21:37 TimToady I finally broke down and turned my right Alt into Compose
21:37 theorbtwo Donno why.
21:37 * theorbtwo likes having two alts.
21:37 TimToady me too, but the things that used to be Alt-Ctl I've remapped to just Ctl mostly, and so I can nav desktops even easier now
21:37 TimToady this is a thinkpad, so no Windows key...
21:37 ajs fglock: Example written. Sending it to p6l
21:38 TimToady or i'd've used it
21:38 TimToady I didn't want to use right Ctl because I do one-handed font resizing all the time with it.
21:38 fglock I wonder if v6.pm could have cells written in pure-perl - like perl -e ' $x=\(my $c); $y = $x; $$x=3; print $$y; $$y=4; print $$x '
21:39 TimToady I just wish I could get Compose to default to Vim's digraph map instead of the screwy Eurocentric one.
21:39 theorbtwo Shouldn't be too hard.
21:39 theorbtwo What OS do you use?
21:39 b_jonas theorbtwo: if you type German language texts, do you use the compose key for umlauts?
21:39 TimToady Fedora Core.  Tried replacing the Compose file, but it seems to be precompiled somewhere I don't know about.
21:39 theorbtwo In that rare circumstance, yes.
21:40 b_jonas I see. Well I type Hungarian text somewhat more often, so that's why I need the modifier
21:40 theorbtwo Yeah, sensical.
21:40 theorbtwo I'm not German, I just lived there for a while.
21:43 b_jonas on the other hand, I could use a compose key for stuff like quotation marks and en dashes
21:43 ajs My suggested change to S05 is away. Enjoy.
21:43 ajs off to shop for our Bad Movie Night at work
21:44 b_jonas unless I stuff them to caps-lock plus (optional shift plu) number keys, but that's still just 2*9 places
21:44 b_jonas plus 2*3 more for comma, dot, and slash
21:48 fglock left perl6
21:49 TimToady my last smoke seems to be 50% slower again. ☹
21:50 wolverian they really need to standardise on one cigarette length...
21:50 gaal joined perl6
21:50 TimToady 8|
21:51 antibioticus left perl6
21:56 svnbot6 r14236 | putter++ | Common/convert_regexp_to_six.pl - alternation repaired, and it now affects capture numbering.
21:56 svnbot6 r14236 | putter++ | (?:(a)(b)|(c))(d) now yields a capture map of [$0, $1, $0, $2]. fglock++ ajs++
21:56 svnbot6 r14236 | putter++ | I suspect there is a lot more work to do to get numbering right.
21:59 TimToady though I do think the 99.81% success rate is nice. ☺☺☺
22:01 justatheory joined perl6
22:01 TimToady and while consistent smoke times is good, Perl 6 is not yet very good at sucking consistently.
22:09 TimToady @tell Juerd If you want a more specific answer about recursion you'll have to ask a more specific question.  To me recursion is an implementation detail unrelated to the semantics.  You can add two conformant arrays without recursion at all regardless of their dimensionality.  If you only want to process their top dimension you should slice them that way explicitly.
22:09 lambdabot Consider it noted.
22:10 TimToady nap &
22:17 Daveman heh
22:26 svnbot6 r14237 | putter++ | Common/convert_regexp_to_six.pl - fixed thinko;
22:31 b_jonas Oh WOW!
22:31 b_jonas "The unary ^ operator generates a range from 0 up to one less than its argument."
22:32 b_jonas this will be a blessing for people like who think in set theory
22:32 b_jonas it will be dead useful
22:34 b_jonas though the unary = could have been overloaded for this...
22:35 b_jonas that's something not even ruby dared to do, which, otherwise, defines the "each" method for the wierdest types
22:35 b_jonas but not for integers
22:36 b_jonas it has a times method for integers that does that though
22:37 b_jonas what would that imply in perl6.... =2 would be an iterator that alternates between 0 and 1
22:38 wolverian sounds PDLish..
22:38 b_jonas now it has to be written as =^2 instead (or does that need a space?)
22:39 b_jonas oh yeah, apl does have this ^ operator: it's called iota
22:48 polettix joined perl6
23:01 b_jonas night
23:24 cjeris left perl6
23:28 Aankhen`` joined perl6
23:31 wolverian http://dev.perl.org/perl6/list-summaries/ is out of date
23:31 lambdabot Title: This Week in Perl 6 - perl6
23:32 wolverian _badly_ out of date :)
23:36 weinig is now known as weinig|food
23:40 demerphq joined perl6
23:41 P02 joined perl6
23:51 stennie left perl6
23:55 P02 joined perl6
23:56 P02 joined perl6

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

Perl 6 | Reference Documentation | Rakudo