Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-08-02

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 justatheory joined perl6
00:11 Juerd Who knows the user nemux?
00:12 Juerd He, or someone with his password, used feather for brute force attacks
00:18 kanru joined perl6
00:23 hikozaemon joined perl6
00:29 nekokak joined perl6
00:32 audreyt marco romano is not in AUTHORS
00:34 audreyt TimToady: infinte loops should be now gone
00:34 svnbot6 r11862 | audreyt++ | * Perl 5 SVs used to infinitely regress with "$sv.meth" calls
00:34 svnbot6 r11862 | audreyt++ |   when .meth was not defined in Perl5 land.
00:34 svnbot6 r11862 | audreyt++ |   Reported by TimToady++.
00:34 svnbot6 r11863 | audreyt++ | * pair.t: .key and .value are meth calls.
00:36 clkao audreyt: btw, v6 is in freebsd ports ;)
00:39 audreyt but I've migrated to ubuntu now ;)
00:39 toku_away is now known as tokuhirom
00:40 audreyt (but, cool!)
00:40 clkao ya.
00:40 clkao so what's new?
00:41 audreyt nothing much... new AST <-> Perl6Class sudoku landed
00:41 audreyt looking at it
00:41 audreyt also PAR::Repository landed by tsee++
00:41 audreyt another puzzle of multiversioning installation
00:41 clkao oh cool
00:41 audreyt s/puzzle/piece of puzzle/
00:41 clkao how feasible is using the current haskell backend for v6-Compiler?
00:42 audreyt havn't seriously tried
00:43 audreyt try and see? should be workable
00:43 audreyt I'm about to go out to run some errands
00:43 audreyt need to get a new ATM card and possibly new ID card
00:43 clkao orz
00:43 audreyt Diebold-- # ate my card
00:44 clkao are things like infix:<+> "closed"?
00:44 audreyt they are multis
00:44 clkao do we expect runtime modification
00:45 clkao things like; sub add ($x, $y) { $x + $y };  { local infix:<+> = something_else; add(1,2) } ?
00:57 audreyt well
00:57 audreyt you can temporarily rebind
00:57 audreyt temp &infix:<+> := sub {... };
00:57 audreyt is always legal
00:58 audreyt and indeed that will affect &add
00:58 clkao oh. :/ that's a lot of runtime overhead then
00:58 audreyt bbl...
00:58 audreyt well
00:58 audreyt if you have
00:58 audreyt pugs -O
00:59 audreyt then we can kill runtime amendmend and subclasses
00:59 audreyt and perform link time method prebinding
00:59 audreyt as well as link time static lookups
00:59 audreyt but that's not yet implemented
00:59 audreyt and the "unoptimized, open" form must, according to TimToady, be the dfault
00:59 audreyt so we are exactly like VB9, but with the defaults reversed :)
00:59 clkao ok. so with -O it will have different behaviour then?
01:00 audreyt (perl6 default to late-binding, dynamic-typing, open-classes)
01:00 clkao *nod*
01:00 audreyt yes. -O is basically saying "runtime must agree with compile time knowledge)
01:01 audreyt in js2, to turn on -O on a per-module basis
01:01 audreyt it's "use strict;"
01:01 clkao i was wondering if such thing will be an error or just suddenly change behaviour not using them.
01:01 audreyt in vb9 it's "option strict;"
01:01 audreyt runtime modification under -O will always raise erros instead of silently doSomethingElseEntirely
01:02 clkao ok, that's sane then ;)
01:02 SamB hmm, that definately sounds better than what I would expect from something called perl
01:03 audreyt SamB: well, same can apply to js2 and "javascript"
01:03 audreyt we are learning our HybridTyping lessons :)
01:03 SamB mmm
01:03 b_jonas surely, you'd write my infix:<+> = ... if you wouldn't want runtime modification, wouldn't you?
01:07 audreyt b_jonas: but then you can't affect other subs yo ucall
01:07 audreyt i.e. that only scopes lexically not dynamically
01:07 b_jonas sure
01:08 b_jonas that might be what I want when I override + to get fancy syntax
01:09 b_jonas well maybe with + indeed overriding globally might be more frequent
01:09 b_jonas like auto bigints etc
01:09 robkinyon joined perl6
01:10 b_jonas it would probably make more sense to create new syntax lexically
01:10 b_jonas then to override an existing operator
01:11 b_jonas but of course I might want an existing operator to behave a bit differently in my source file but that this doesn't break modules I include
01:16 audreyt and that will always work under -O, sure
01:16 audreyt what clkao was wondering is the perl5 equiv of
01:16 audreyt *CORE::GLOBAL::+ = sub { ... }
01:17 audreyt local *CORE::GLOBAL::+ = sub { ... };
01:17 clkao uhm, can you do that??
01:18 b_jonas I think no. You can't even do CORE::+ I think even though you can say CORE::x, CORE::and, CORE::my, CORE::sub etc
01:19 b_jonas which is btw a nice obfu feature so I'll try it in CORE::my CORE::next obfu
01:19 b00t joined perl6
01:21 audreyt clkao: you can't... not without XS
01:22 clkao uhm.
01:22 * audreyt ponders B::PPAddr::Hook
01:22 * clkao giggles
01:22 clkao that's another piece of puzzle for 6-on-
01:22 clkao 5
01:22 audreyt yes. I wonder if sky can be interested in writing that
01:27 clkao you have to pretend it has nothing to do with perl6
01:32 xinming joined perl6
01:34 joshuapurcell joined perl6
01:41 dolmans joined perl6
01:48 b_jonas I tried.
01:49 bcorn joined perl6
01:51 justatheory joined perl6
01:57 lane joined perl6
02:03 weinig_ is now known as weinig|sleep
02:11 Bit-Man joined perl6
02:16 rodi is now known as rodi_away
02:31 lane joined perl6
02:35 bcorn joined perl6
02:52 wilx joined perl6
02:56 ajs_home joined perl6
02:58 Kattana joined perl6
03:00 TimToady is it normal for v6.pm to take 5 cpu minutes to compile each test file?  I note the optional resource limits are at 30 and 60 seconds, and I've never seen a compile that fast...
03:00 TimToady and this is not a particularly slow machine
03:08 unobe_away is now known as unobe
03:16 b00t joined perl6
03:19 TimToady the actual compile only takes about 15 seconds, but the require Pugs::Compiler::Perl6; takes 4:45
03:20 clkao tqdo yo uhave cache::filecache?
03:21 clkao TimToady: do you have cache::filecache?
03:23 TimToady what's that?
03:25 clkao a perl5 module
03:27 TimToady um.  is there any documentation about it's use in pugs?
03:28 TimToady *its
03:36 clkao uhm, no. i added it really quickly after discovering the same thing you did. 4min for require pugs::compiler::perl6
03:37 TimToady do I have to do anything special to enable it?  still seems to be taking 4 minutes after installing it.
03:46 TimToady now it's going faster.
03:47 TimToady this needs to be documented somewhere...not sure where...
03:48 TimToady can it just be put in as a dependency?
03:55 Revision17 joined perl6
03:55 svnbot6 r11864 | lwall++ | Install requirement for Cache::Cache.
04:18 christopher joined perl6
04:20 amnesiac joined perl6
04:20 b00t joined perl6
04:36 perlbot joined perl6
04:59 svnbot6 r11865 | lwall++ | Found more &{...} lurking.
04:59 takesako joined perl6
05:30 kanru joined perl6
05:32 svnbot6 r11866 | lwall++ | Bare loop didn't parse.
05:35 gaal http://homepages.inf.ed.ac.uk/wadler/language.pdf # The Evolution of Language
05:36 obra harsh
05:37 mjk joined perl6
05:45 dolmans is it meaningful that adding `&foo.assuming(:x(1))', the ':' style, to currying test suite?
05:46 TimToady certainly, especially if it breaks.  :)
05:47 dolmans i tested it, hack it is ok. :-P
05:47 dolmans *hell
06:05 shachaf joined perl6
06:08 svnbot6 r11867 | lwall++ | more s/id/valid/
06:12 svnbot6 r11868 | dolmans++ | adding colon style currying
06:15 iblechbot joined perl6
06:19 rgs joined perl6
06:27 dolmans sub foo($x, $y) {}; &foo.assuming(y=>10)(x=>10, y=20); should it be parsed error or just ignoring the rebinding y parameter?
06:28 audreyt you mean y=>20?
06:28 audreyt it should be an error
06:29 audreyt I don't think the resulting lambda has an idea of "y" anymore
06:29 TimToady that is correct.
06:29 lollan joined perl6
06:29 TimToady audreyt: there's a test that fails because q{{ ... }} is counting single braces inside when it shouldn't.
06:30 dolmans yes, the resulting lambda don't know y, then reput a y param should be error, then a bug
06:30 TimToady t/operators/recursive_definition.t is the one.
06:32 audreyt 'k
06:32 svnbot6 r11869 | lwall++ | Some test parsing triage.
06:32 TimToady or maybe I'm looking at the wrong code, but multiLineComment seems wrong
06:32 TimToady maybe I'm just misreading it.
06:33 TimToady at any rate, the test seems confused by single braces.
06:34 TimToady or maybe it just doesn't allow newline as an "any".
06:34 audreyt #(( ... ) ))
06:34 audreyt is indeed currently misparsed
06:34 audreyt er
06:34 audreyt sorry
06:34 TimToady should ignore the shorter ones.
06:34 audreyt that is actually correct
06:34 audreyt q(( ... ) ))
06:34 audreyt is what's being misparsed
06:34 audreyt multiLineComment is correct; the quoted balanced things in Util.hs is not
06:35 TimToady 'k
06:35 audreyt "interpolatingStringLiteral" is what's buggy
06:37 TimToady hmm, I guess q{{ ... }} can interpolate \ thingies...
06:38 audreyt there is the \q backdoor, yes
06:38 TimToady I just don't think of q// as interpolating, compared to qq//
06:39 audreyt *nod* technically they share the same interpolatingStringLiteral
06:39 TimToady I bet qn// does too.  :)
06:39 audreyt fixed.
06:40 audreyt actually I don't think we have qn// yet :)
06:40 audreyt and it's untested! *gasp*
06:40 TimToady hmm, thought I saw it somewhere.  Maybe it doesn't work. :)
06:40 audreyt neither q:n nor qn is in t/
06:42 TimToady ah, there it was:
06:42 TimToady src/DrIFT/Perl6Class.hs:          slQuote str = text "qn'" <> text str <> text "'"
06:42 svnbot6 r11870 | audreyt++ | * Parse multichar closing braces correctly in quoted literals:
06:42 svnbot6 r11870 | audreyt++ |     q((  This is a test )   ))
06:42 svnbot6 r11870 | audreyt++ |   Noticed by TimToady++.
06:44 audreyt add some cases to t/operators/quoting.t ?
06:44 TimToady yeah, but not tonight...
06:45 audreyt actually
06:45 TimToady I'm happy enough that I'm passing about 300 more tests than earlier today.
06:45 audreyt was it known as q:raw?
06:45 audreyt and q:0
06:45 audreyt ooh :)
06:45 TimToady It's been known as those, I think.
06:46 audreyt ok. so pugs does support them but under a different name
06:46 audreyt also, what's known as q:qq// tody was known as q:q//
06:47 TimToady q:q and q:r were both deemed to be excessively confusing
06:48 audreyt I'd agree.
06:48 audreyt ok, reflected them in both code and test
06:48 audreyt TimToady++
06:48 agentzh joined perl6
06:51 TimToady I believe I've expunged all the ${} and such, at least from the exposed P6 syntax.
06:51 audreyt yay. that means we can actually retire those forms in Parser
06:52 TimToady yeah, I left the symbolic uses alone, figured you'd change them eventually.
06:52 audreyt hm, weird inconsistency
06:53 audreyt qqq(...)
06:53 TimToady have to be careful not to clobber the p5 overloads though.
06:53 audreyt does not mean the same as q:qq(...)
06:53 audreyt (one is error, the other is not)
06:54 TimToady qqq is illegal unless you've declared 'quote qqq;'
06:54 svnbot6 r11871 | audreyt++ | * test for q:n and qn//
06:54 TimToady after which it would presumably mean qq:q
06:55 audreyt right. but what I mean is that q:n can be apelled qn
06:55 audreyt but qq means q:qq
06:55 audreyt Parser.hs had the logic of simple :-erasing
06:55 audreyt which doesn't quite work now
06:57 TimToady qn is only legal after a 'quote qn;' declaration according to spec.
06:57 audreyt ah. ok.
06:57 TimToady but maybe it's special enough to be assumed.
06:58 audreyt I'm confused
06:58 audreyt the para says that both qn and qw require predecl
06:58 audreyt but then in line 1485
06:58 audreyt    %hash = qw:c/a b c d {@array} {%hash}/;
06:58 audreyt is used
06:58 audreyt also S03 says qw{} is still around.
06:58 TimToady yes.  used to be the rule was it would assume the first colon, but that made too many forms.
06:59 TimToady makes q too dangerous in general.
06:59 audreyt only assume it for onechar?
06:59 audreyt to avoid hardcoding the default tabl
07:00 TimToady qw is pretty useless now.
07:00 TimToady and qn is pretty specialized
07:00 audreyt 'k. so just qq and q
07:00 TimToady so I'm inclined to leave it as it is.
07:01 audreyt ok. so excise qw from spec?
07:02 TimToady maybe.  lemme think on it s'more.
07:04 gaal code generators should always assume long q: form then?
07:05 TimToady they can always spit out their own quote declarations, just like any other lexically scoped declarations.
07:05 TimToady they're just macros, basically.
07:06 beppu joined perl6
07:06 gaal sorry, I meant things like Perl6Class that write out actually source code.
07:06 audreyt qw is fairly widely used in t/ and examples/
07:06 audreyt I'd like to keep at least q qq qw...
07:07 TimToady if you don't mind special casing a few, then those are okay, and maybe qn.
07:07 audreyt and maybe qx for old time's sake. not sure
07:07 gaal audreyt: five years from now it'll look like a legacy wart...
07:07 audreyt true...
07:07 audreyt but "q qq qw qn qx" feels mildly better than "q qq"
07:08 audreyt and you can always unimport the syntax ("no implicit prelude") I hope.
07:08 gaal ah, any ghc extension that doesn't make it into pugs makes it into Perl 6 :-)
07:10 buu HELP
07:11 buu Perl is being weird again =[
07:11 buu eval: %x={}; %y={}; join " | ", keys %x, keys %y;
07:11 buubot buu:  HASH(0x842c4c4) | HASH(0x842c4c4)
07:11 buu Why are the strings the same?!
07:11 TimToady I suppose now that we have a consistent qX() rule that makes it a function call, it doesn't matter so much if we throw all the standard ones into the pot.
07:12 audreyt including qwords() etc?
07:12 TimToady I'd be inclined to leave the long versions out.
07:12 audreyt so all builtin 1char.
07:12 audreyt sounds like a plan.
07:12 TimToady does still interfer with list ops though.
07:12 gaal good thing there are lots of chars :)
07:13 TimToady qn() might be function call, but qn ... won't be
07:13 gaal q♨/whee/
07:14 audreyt that leaves the qww() as odd one out
07:15 audreyt but then, if you are using qww(), chances are that << >> works.
07:15 TimToady I wish there was a single letter available but :s is taken by scalar
07:15 audreyt ok. coded as such
07:18 audreyt r11872.
07:18 svnbot6 r11872 | audreyt++ | * Pugs.Parser: Restrict the qX() form to only accept up to one char:
07:18 svnbot6 r11872 | audreyt++ |     qq(...)
07:18 svnbot6 r11872 | audreyt++ |     qn(...)
07:18 svnbot6 r11872 | audreyt++ |     qw(...)
07:18 svnbot6 r11872 | audreyt++ |   are okay, but qwords(...) and qqq(...) are now verboten.
07:18 svnbot6 r11872 | audreyt++ | * Also code the special case that qq(...) means q:qq(...) not q:q(...).
07:21 TimToady okay, specced too.
07:25 audreyt yay
07:25 TimToady I like that that gives us  '\qc[{foo}]' so we can be more specific on backdoor interpolations.
07:25 audreyt "perl 6 is still committed to QC support"
07:26 obra heh
07:27 TimToady we try to control our quality very tightly so it doesn't get out of hand.
07:30 crem joined perl6
07:34 buetow joined perl6
07:40 rgs joel spolsky uses the word "moose". is there a correlation ? http://www.joelonsoftware.com/items/2006/08/01.html
07:40 lambdabot Title: Joel on Software
07:41 rgs that's an article about the very basics of functional programming
07:41 audreyt pure coincidence
07:42 audreyt I hope
07:42 rgs :)
07:42 * rgs tries to figure out how a moose would jump a shark
07:43 audreyt rgs: so, bless-to-0.
07:43 audreyt should I simply exercise the normal class semantics
07:43 audreyt and write regression tests that ensures all these are working?
07:44 rgs I think that's a good thing to do
07:44 audreyt not sure that Scalar::Util::blessed-returns-the-pkg-name is part of core regression suite
07:45 audreyt also, perldoc -f require says
07:45 buubot also: Type 'perldoc -f require' in your shell or go to http://perldoc.perl.org/functions/require.html
07:45 audreyt Make sure that CLASSNAME is a true value.
07:45 lambdabot Title: require - perldoc.perl.org
07:45 audreyt which is for "0" specifically
07:45 audreyt as blessing into '' is "main"
07:45 audreyt maybe I'll test that as well if there's no test for it
07:45 rgs yes
07:46 dolmans yes, the resulting lambda don't know y, then reput a y param should be error, then a bug
07:47 dolmans oops, just press a return button.
07:57 svnbot6 r11873 | lwall++ | s/q0/qn/
08:30 marmic joined perl6
08:30 iblechbot joined perl6
08:32 TreyHarris ?eval my ($x, @a); $x = 'foo'; [=] (@a[], $x)
08:32 evalbot_11846 [\"foo",]
08:33 TreyHarris why is that a capture?
08:33 beppu eval say "How was The State of the Onion?"
08:33 beppu ?eval say "How was The State of the Onion?"
08:33 evalbot_11846 OUTPUT[How was The State of the Onion? ] Bool::True
08:43 chris2 joined perl6
09:04 revision17_ joined perl6
09:12 elmex joined perl6
09:16 azuroth joined perl6
09:18 dakkar joined perl6
09:23 audreyt TreyHarris: it should not be a capture; the \ notation was used to indicate a container
09:23 audreyt however, that is now obsolete and will go away as part of the CapInternals new AST change
09:42 gaal audreyt: is there any prepwork needed before the work on the switch?
09:42 gaal I'm free about 20h from now
09:42 audreyt my brain is still too fried to be sure
09:43 audreyt but I imagine one should simply make it compile :)
09:43 audreyt (and then dive to Pugs.Parser next, I think)
09:43 audreyt bbiab... dinner in a bit
09:45 gaal I don't know how to break this down to smaller changes, so I'm just wondering if there's some "smooth the way" things that can be done before the big work.
09:45 gaal eg any refactorings in Parser we can do before switching over?
09:46 audreyt even more haddock? :)
09:46 audreyt prolly not afaics
09:47 gaal k. lunch &
10:03 nnunley joined perl6
10:18 b00t joined perl6
11:08 ludan joined perl6
11:15 rodi joined perl6
11:25 sofit joined perl6
11:49 kanru joined perl6
11:54 wilx` joined perl6
12:10 iblechbot joined perl6
12:11 Odin- joined perl6
12:14 shachaf joined perl6
12:18 PhUrl joined perl6
12:20 dolmans joined perl6
12:21 fglock joined perl6
12:28 Limbic_Region joined perl6
12:40 cognominal joined perl6
12:40 frederico joined perl6
12:50 xinming joined perl6
12:59 svnbot6 r11874 | fglock++ | v6.pm - added t/00-grammar - simple parser tests
12:59 xinming joined perl6
13:02 svnbot6 r11875 | fglock++ | Pugs-Compiler-Rule - added new files from pX
13:05 svnbot6 r11876 | fglock++ | v6.pm - svn properties
13:07 mauke_ joined perl6
13:13 justatheory joined perl6
13:19 hexmode joined perl6
13:21 kane-xs joined perl6
13:22 mauke_ is now known as mauke
13:24 frederico joined perl6
13:25 kane-xs is now known as kane_
13:32 meppl gugu
13:47 frederico joined perl6
13:49 [particle] in a p6regex, is there a metachar for any unicode char? i expect \u won't work, since that's an escape char
13:50 audreyt .
13:50 audreyt (the metachar is ".")
13:50 [particle] that works in token
13:51 [particle] hrmm, yeah, i thought that's what it was, but have been writing so many \ chars lately...
13:51 [particle] i've just started working on the js 2.0 grammar
13:51 audreyt cool!
13:51 [particle] here's a tougher question
13:52 [particle] what if i want to say "any char in category Lu"
13:52 svnbot6 r11877 | mstrout++ | added redirect to perl5/Pugs-Compiler-Perl6
13:52 [particle] (uppercase letter)
13:52 [particle] or use some other unicode property
13:53 audreyt \P{IsWord}
13:53 [particle] ah. thx. i must have missed that in S05
13:53 audreyt \P{IsUpper} etc
13:53 audreyt er
13:53 audreyt sorry
13:53 audreyt it's now spelled
13:53 audreyt <prop IsUpper>
13:53 audreyt I doubt it's implemented though
13:54 [particle] well, it will have to be, soon :)
13:55 [particle] can i do <prop isUpper | isLower> ?
13:55 audreyt cool :)
13:55 [particle] or [ ... | ... ] or whatever?
13:55 [particle] i'm not sure that's specced
13:56 audreyt well, isWord suerly
13:56 audreyt [<prop isUpper>|<prop isLower>]
13:56 [particle] i was hoping for more sugar :(
13:57 audreyt that's what named regexes are for.
13:57 audreyt so you can manufacture your own sugar!
13:57 [particle] mmm, sugar beets.
13:57 * audreyt meanwhile goes sleep... finally stayed awake long enough for today's jetlag adjustment quota  :)
13:58 gaal ambidextrous sugar!
13:58 * [particle] moooooooses
13:58 gaal elkelkelkelkelk
14:03 vel joined perl6
14:21 TimToady ?eval 'a' ~~ /<lower>/
14:21 evalbot_11846 *** Cannot parse PGE: <lower> *** Error: Cannot find the parrot executable in PATH Match.new(   ok => Bool::False,    from => 0,    to => 0,    str => "",    sub_pos => (),    sub_named => {} )
14:22 TimToady ?eval 'a' ~~ /<[+<lower>+<upper>]>/
14:22 evalbot_11846 *** Cannot parse PGE: <[+<lower>+<upper>]> *** Error: Cannot find the parrot executable in PATH Match.new(   ok => Bool::False,    from => 0,    to => 0,    str => "",    sub_pos => (),    sub_named => {} )
14:24 frederico joined perl6
14:25 [particle] i don't think pge can parse that syntax yet <[+<foo>...]>
14:25 TimToady ?eval 'a' ~~ /<[+alpha+upper]>/
14:25 evalbot_11846 *** Cannot parse PGE: <[+alpha+upper]> *** Error: Cannot find the parrot executable in PATH Match.new(   ok => Bool::False,    from => 0,    to => 0,    str => "",    sub_pos => (),    sub_named => {} )
14:25 TimToady that works
14:25 TimToady just not in evalbot
14:25 frederico joined perl6
14:25 TimToady oddly, 'a' ~~ /<+lower+upper>/ doesn
14:25 frederico joined perl6
14:26 TimToady doesn't match--think it's a bug.
14:26 [particle] where alpha and upper are named regexes
14:26 TimToady character classes are named as if they were rules
14:26 TimToady so you can just say
14:26 [particle] so, i could create named regexes for the unicode properties i'm interested in (that aren't already default named regexes) and use that syntax
14:27 TimToady 'a' ~~ /<lower>/
14:27 TimToady in theory
14:27 [particle] token UnicodeInitialAlphabetic {
14:27 [particle]    | <prop isUpper>
14:27 [particle]    | <prop isLower>
14:27 [particle]    | <prop isTitlecase>
14:27 [particle]    | <prop isModifier>
14:27 lolage joined perl6
14:27 [particle]    | <prop isOtherLetter>
14:27 [particle]    | <prop isLetterNumber>
14:28 [particle] can become <upper>|<lower>|<titlecase>|...
14:29 crem_ joined perl6
14:29 TimToady supposed to be able to say <+upper+lower+titlecase>
14:29 [particle] now that's sugary goodness.
14:30 TimToady set addition and subtraction, maybe & and | eventually
14:30 [particle] and no need for prop there?
14:30 [particle] i'd be happy with <prop +upper+lower+titlecase>
14:31 [particle] perhaps that's safer, so it won't use a redefined token title
14:31 cjeris joined perl6
14:33 TimToady might need prop at a lower level.  dunno.
14:33 TimToady but I don't see a lot of trouble with falling back to the unicode props
14:33 TimToady that way new props wouldn't hide user defined ones.
14:34 [particle] hrmm.
14:34 TimToady or go with the <isLu> or some such.
14:34 [particle] i think that would be nice, to use the shortnames
14:37 amnesiac joined perl6
14:45 [particle] given what i have now... token UnicodeAlphanumeric { <UnicodeInitialAlphabetic+decimalnumber+nonspacingmark+combiningspacingmark+connectorpunctuation> }
14:45 [particle] short names would be nice :)
14:54 TimToady need a + before the first one to be legal.
14:54 TimToady as it currently is specified
14:55 TimToady though I could see an argument for relaxing that.
14:55 [particle] TimToady++ # that works great for now
14:56 TimToady the argument against is that <foo+bar> should parse the same as <foo +bar> which would mean <foo('/+bar')>
14:57 [particle] '/+bar' ?
14:57 TimToady on the other hand we already have a whitespace dependency for the semi-official <foo: string> meaning the same as <foo('string')>
14:57 [particle] right, patrick uses that already
14:57 TimToady <foo(/bar/)> rather
14:57 [particle] ah, gotcha
14:58 TimToady so doing the first-char-after-name trick could be extended to +
14:58 [particle] and - ?
14:58 TimToady it's not like the first foo in <foo+bar> is behaving differently from <foo> anyway.
14:58 TimToady <alpha-title>
14:59 [particle] <-alpha+[wW]>
14:59 [particle] brr.
14:59 [particle] i forgot the foo
15:00 TimToady if you start with - it probably assumes the universal character set.
15:00 [particle] aka '.'
15:00 TimToady don't know the name of it offhand.
15:00 TimToady but you can't say <.-alpha>
15:01 [particle] no, it needs a name
15:01 TimToady well <-alpha> is probably good enough
15:01 [particle] and those unicode folk probably spent hours debating the one they gave it
15:01 TimToady doubtless
15:02 [particle] just as a leading C<+> implies the null set, a leading C<-> implies the universal set
15:04 TimToady yeah, and there's no use for the universal set except to subtract from it.
15:04 TimToady given that we have .
15:04 [particle] right.
15:04 [particle] and null is spelled <?null>
15:05 [particle] there is no shortcut for that, except when it's not required in [ | <foo> ]
15:05 [particle] ...or <-alpha>
15:06 TimToady <-alpha> is always 1-width, not 0-width
15:06 TimToady (whatever 1 means in the current Unicode settings)
15:06 TimToady so it really comes down to ". unless <alpha>
15:06 TimToady "
15:07 TimToady or rather <!before alpha>.
15:08 [particle] true. width is important here.
15:08 [particle] on a side note, i always get confused with <before ...> and <after ...>
15:08 weinig|sleep is now known as weinig
15:09 TimToady they're the declarative interpretation, not the imperative interpretation
15:09 TimToady "we are before", not "look before"
15:09 [particle] which is the problem.
15:09 [particle] how about ahead/behind
15:10 [particle] same problem, i guess...
15:10 TimToady yeah
15:10 TimToady I picked the declarative form for the same reason we say "given" rathre than "switch"
15:11 TimToady you should be thinking about the problem, not about how you're solving it.
15:11 [particle] is there a way to help nudge people's brains into reading that declaritively?
15:11 [particle] is_before ?
15:11 TimToady I think people will eventually just get used to it.
15:12 TimToady rather not impose extra training wheels that will be with us forever
15:12 [particle] it'll keep the perl trainers happy :)
15:12 TimToady gotta give 'em something to work with... :)
15:13 [particle] btw it's hard not to think about the solution, when you're writing perl :)
15:14 [particle] that's probably my problem, right there.
15:15 TimToady we're aiming to encourage "flow".
15:15 [particle] i do definitely prefer given to switch. that's a good analog for me to remember how to parse before / after. thx.
15:17 vel6608 joined perl6
15:25 [particle] token UnicodeAlphanumeric { <UnicodeInitialAlphabetic+isNd+isMn+isMc+isPc> } # much better
15:30 bernhard joined perl6
15:45 foo\ joined perl6
15:55 gaal how are complex numbers constructed? Complex.new(:r<42> :i<54>) ?
15:55 gaal the spec doesn't say much about them.
15:56 [particle] that's cause you're reading the real spec. read the imaginary spec, it's all there.
15:56 [particle] it's a complex spec
15:56 gaal also, in S02:
15:56 gaal my ::MySig ::= :(Int, Num, Complex, Status :mice)
15:56 gaal shouldn't that be \(...) ?
15:57 gaal [particle]: it's a surreal spec! # http://en.wikipedia.org/wiki/Surreal_numbers
15:57 [particle] looks like
15:59 svnbot6 r11878 | malon++ | t/operators/short_circuit.t - short-circuiting chain comparisons
16:01 gaal data Surreal = MkSurreal{ L :: Set Surreal, R :: Set Surreal }
16:02 TimToady multi postfix:<i> is one possible way
16:03 [particle] Complex.new( 42, 54 i )
16:03 [particle] Complex.new( 54 i )
16:03 gaal are there separate constructors for imaginaries and complexes?
16:03 gaal is imaginary a first-class class?
16:04 gaal [particle]'s suggestion implies that yes.
16:04 [particle] Complex.new( -0.54e+74 i )
16:04 [particle] i would suggest yes
16:05 * [particle] imagines setting constants as imaginary numbers
16:05 gaal well, surely then 42+54i should be enough, given a multi + in scope.
16:05 frederico joined perl6
16:06 [particle] sure, that should work then.
16:06 [particle] ...conjecturally speaking.
16:06 gaal and presumably if you have postfix:<i> in scope, you also have the complex multi plus.
16:07 [particle] i suppose 54i+42 should work as well
16:07 gaal okay, so should the AST be modified for this? currently we have
16:07 gaal data NativeComplex = MkComplex{ c_real :: !NativeNum, c_imaginary :: !NativeNum }
16:07 gaal that is, no explicit imaginaries.
16:08 gaal and the NaN logic is not expressed in the AST directly.
16:08 gaal (NaN/Inf that is.)
16:09 gaal brb
16:13 TimToady "74 i" is not legal because postfixes do not allow intervening whitespace.  have to write 74i or 74.i
16:13 Limbic_Region out of curiosity, is anyone using ActiveState Perl with MinGW as the compiler?  Relevancy to Pugs is the prequisite modules during the pugs build process
16:14 TimToady dot would be required for $a.i since $ai means something else...
16:15 [particle] 74.i looks like (give me the imaginary component of 74)
16:15 [particle] as opposed to 74.r
16:15 Psyche^ joined perl6
16:17 PerlJam Limbic_Region: have you looked at Strawberry Perl?
16:19 gaal Limbic_Region: which requisite modules? build or smoke?
16:21 gaal the goal for build requirements is 5.6.1 with a newish EU::MM or 5.8.x where IIRC x=3.
16:24 Limbic_Region PerlJam - no, I am tracking a specific problem
16:24 Limbic_Region gaal - Devel::Caller, Moose, Sub::Multi, Cache::Cache, etc
16:24 PerlJam Limbic_Region: I was just wondering because you seem to be consistently tracking win32 stuff
16:25 Limbic_Region apparently there is a weird problem with the following combination ActiveState, MinGW, and Module::Build
16:25 Limbic_Region PerlJam - at work, I have no other choice
16:25 Limbic_Region well - that's not entirely true - I can move everything using a stick to a standalone machine of my choice
16:25 svnbot6 r11879 | fglock++ | pX/Pugs-Compiler-Rule - in order to avoid upgrade problems, lrep libraries are now renamed to Lrep*.pm
16:25 Limbic_Region but with net access all I have is a very locked down Win32 box
16:26 Limbic_Region the weird error being not finding -lperl58
16:26 gaal ah, you're talking v6 stuff. sorry, no idea about that
16:27 Psyche^ is now known as StudiesInWords
16:28 Limbic_Region see http://perlmonks.org/index.pl?node_id=565224 for details along with a workaround (bypassing Module::Build)
16:28 lambdabot Title: Help building Devel::Caller
16:31 svnbot6 r11880 | clkao++ | Fix test count and todo.
16:34 svnbot6 r11881 | fglock++ | pX/Pugs-Compiler-Rule - Pugs::Grammar::Base is now backwards compatible
16:35 clkao fglock: is it about time to merge?
16:35 buetow joined perl6
16:35 fglock clkao: I'm fixing the API incompatibilities
16:36 fglock some routines in v6 create Match objects directly - these will need some refactoring
16:37 clkao ah.
16:56 svnbot6 r11882 | fglock++ | pX/Pugs-Compiler-Rule - 'Match::Ratchet' is now just 'Match'
16:56 ruoso joined perl6
16:59 fglock clkao: how can I use svk to mirror v6 to misc/pX, and then merge back?
17:02 clkao uhm ? you just do a cp from v6 to misc/pX, and then sm -Cf the misc/pX
17:02 fglock clkao: does it matter that it is a svn directory?
17:02 clkao you can't do that
17:03 clkao oh, but you can use svn to do the cp
17:03 clkao then svk do to the sm
17:03 * ruoso now living in lisbon
17:03 fglock thanks - I'll try it!
17:03 fglock ruoso: hey!
17:06 clkao fglock: you have a svk mirror already?
17:07 ruoso fglock, :)
17:11 fglock clkao: no, I use svn
17:12 fglock ruoso: I talked to mago other day - tell him I want to go too :)
17:14 ruoso fglock, talking to him now :)
17:14 hexmode joined perl6
17:32 svnbot6 r11883 | fglock++ | pX/Pugs-Compiler-Perl6 - t/00-grammar/01-pcr.t passes
17:32 svnbot6 r11884 | fglock++ | pX/Pugs-Compiler-Perl6 - unTODO 01-pcr.t
17:49 sofit joined perl6
18:01 frederico joined perl6
18:08 svnbot6 r11885 | fglock++ | pX/Pugs-Compiler-Perl6 - Term.pm converted to new 'Match'
18:08 awwaiid joined perl6
18:24 larsen joined perl6
18:35 [particle] does anybody here know of a host for gobby sessions?
18:35 [particle] does feather provide that?
18:36 TimToady I will likely be offline for a day or so now.
18:36 TimToady (driving home)
18:37 fglock [particle]: I've connected to gobby in feather, but I don't know how to start it - maybe you need a X session
18:37 fglock TimToady: have a nice trip
18:37 fglock TimToady: I hope v6.pm will be faster when you get back :)
18:37 obra TimToady: are you around for the call today?
18:38 TimToady maybe, I have a cell phone, but may be in a dead spot.
18:38 TimToady also don't have a computer to remind me when it's 1:00
18:39 obra *nod* understood.
18:44 svnbot6 r11886 | fglock++ | pX/Pugs-Compiler-Perl6 - Grammar::Perl6 converted to new 'Match'
18:45 frobnitz joined perl6
19:00 svnbot6 r11887 | fglock++ | pX/Pugs-Compiler-Perl6 - new <ws>
19:01 beppu joined perl6
19:01 beppu is now known as beppu_
19:01 beppu_ is now known as beppu
19:17 sofit is now known as Stupido
19:45 svnbot6 r11888 | fglock++ | pX/Pugs-Compiler-Perl6 - new Grammar::Expression
19:46 yonderboy joined perl6
19:48 yonderboy by chance, is anyone from japan in here?
19:54 beppu miyagawa is from japan
19:55 Limbic_Region several more speak japanese
19:57 * [particle] is turning japanese
20:00 pdcawley joined perl6
20:01 yonderboy it's ok, my question actually has nothing to do with perl
20:01 yonderboy I need to view japanese chars in putty... and I am having a hard time, but this probably is not the best place to ask
20:03 * kolibrie thought yonderboy was going to ask about 'Gedo Senki'
20:08 yonderboy left perl6
20:16 rgs joined perl6
20:18 frederico joined perl6
20:26 xinming_ joined perl6
20:59 jferrero joined perl6
21:00 tewk seen Juerd?
21:00 jabbot tewk: Juerd was seen 20 hours 48 minutes 20 seconds ago
21:00 tewk seen audreyt?
21:00 jabbot tewk: audreyt was seen 7 hours 3 minutes 22 seconds ago
21:11 SageLT joined perl6
21:25 kanru joined perl6
21:40 svnbot6 r11889 | fglock++ | pX/Pugs-Compiler-Rule - fixed param passing to subrules
21:46 svnbot6 r11890 | fglock++ | pX/Pugs-Compiler-Rule - fixed param passing to subrules, again
21:51 pdcawley joined perl6
21:51 svnbot6 r11891 | Sage++ | Made the parser component of the translator more general after finding some problems in broad testing. It's now smarter about leading junk and I've made some prelimenary revisions on the regex parser which seems very fragile.
21:51 svnbot6 r11892 | fglock++ | pX/Pugs-Compiler-Perl6 - expressions compile
21:54 svnbot6 r11893 | Sage++ | Some minor revisions to fix bugs revealed in testing the translator across t/op/. With these revisions, the translator can at least partially translate 80% of t/op with 18 files failing due to parse errors (all in regexs) and 10 failing due to head being called on an empty list (which appears to be in the close() translation).
21:57 jferrero left perl6
22:17 rindolf joined perl6
22:23 cjeris left perl6
22:28 weinig is now known as weinig_food
22:32 svnbot6 r11894 | fglock++ | pX/Pugs-Compiler-Rule - added test for / { return } /
22:33 cmarcelo joined perl6
22:38 fglock left perl6
22:38 svnbot6 r11895 | fglock++ | pX/Pugs-Compiler-Rule - added TODO, debug info
23:02 Bit-Man joined perl6
23:22 xinming_ is now known as xinming
23:41 evalbot_11895 joined perl6
23:42 drrho joined perl6
23:56 Revision17 joined perl6

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

Perl 6 | Reference Documentation | Rakudo