Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-11-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:01 jlo7719 joined perl6
00:07 nothingmuch ingy: i'm home
00:21 justatheory joined perl6
00:40 diakopter joined perl6
00:45 mako132 joined perl6
00:56 wilx joined perl6
00:58 lyokato joined perl6
01:07 Aankhen`` joined perl6
01:11 avar bobobobo
01:22 dmq joined perl6
01:28 mako132 joined perl6
01:33 merlyn joined perl6
01:34 merlyn is http://svn.perl.org/perl6
01:34 merlyn dead now?
01:34 lambdabot Title: Revision 13473: /
01:34 merlyn is there a better place to fetch things?
01:35 merlyn last change was nov 7
01:35 merlyn can't imagine nothing's happened on perl6 since then. :)
01:35 Aankh|Clone joined perl6
01:35 diakopter check the topic of this room :-D
01:35 merlyn that's just the pugs subdirectory though, right?
01:35 merlyn what about the docs?
01:36 diakopter http://spec.pugscode.org/
01:36 lambdabot Title: Official Perl 6 Documentation
01:36 merlyn Oh - it's all separate now?
01:36 merlyn ugh
01:37 merlyn I gotta refetch all those versions. :(
01:37 diakopter those are the smart-linked editions.
01:37 merlyn "smart-linked?"
01:37 diakopter tests inlined
01:37 merlyn sorry - I don't understand svn very well
01:37 merlyn "those"
01:38 diakopter the html synopses
01:38 diakopter and apocalypses
01:38 merlyn Oh - that's not what I want
01:38 merlyn I want the pod SVN
01:38 merlyn that's currently on svn.perl.org/perl6
01:39 merlyn but hasn't been updated since tuesday.
01:39 EvilRanter joined perl6
01:40 diakopter I think someone syncs them every so often.  sorry I can't help more.
02:00 bsb joined perl6
02:19 obra merlyn: http://svn.perl.org/perl6/doc
02:19 lambdabot Title: Revision 13473: /doc
02:20 * obra tries to remember if he's actually seen spec checkin in 48 hours
02:21 merlyn right, but that's apparently not being updated now
02:21 merlyn or at least, /perl6/ isn't
02:23 justatheory joined perl6
02:24 obra svn log --limit 5 -v  http://svn.perl.org/perl6/doc/trunk/design/syn/ says 11/7, yeah
02:24 lambdabot Title: Revision 13473: /doc/trunk/design/syn, http://tinyurl.com/ykywj7
02:25 obra from audrey by way of schwern: "hi can you tell jesse and or @perl6 net backbown is broken here with no eta on fix? thx"
02:27 obra merlyn: do you actually know there to be spec updates in the last 48 hours?
02:29 merlyn no, but there's no code check ins eitehr
02:29 merlyn and that's rare for two days
02:29 clkao maybe it's not mirroring the new pugs reposiutory
02:29 SCalimlim joined perl6
02:30 fayland joined perl6
02:31 merlyn well, that's what I was wondering
02:31 GeJ according to http://www.nntp.perl.org/group/perl.perl6.language, the last commit was indeed on 11/7
02:31 lambdabot Title: nntp.perl.org - perl.perl6.language, http://tinyurl.com/yhf942
02:31 merlyn since that's where I get my docs + pugs from
02:31 merlyn it's ok that there's no docs update then
02:31 merlyn but I miss the pugs update
02:32 jrockway is there a repo snapshot somewhere?
02:32 jrockway i need to setup a local svk mirror for the hackathon
02:33 GeJ merlyn: latest pugs code should be at http://svn.pugscode.org/pugs/
02:33 lambdabot Title: Revision 14694: /
02:33 GeJ in case you were plugged on openfoundry before, you might need to relocate
02:33 obra merlyn: oh. the pugs _source_ moved
02:33 merlyn well, is it going to start showing up there again?
02:33 obra yes
02:34 obra but audrey's off net due to an outage
02:34 merlyn ok, because I'd hate to have to resync 40K commits again. :)
02:34 obra you're using svk?
02:34 obra and are you mirroring from perl.org ore openfoundry?
02:35 merlyn perl.org
02:35 obra ok. perl.org is a lagged read-only mirror
02:35 merlyn git-svn actually
02:35 GeJ merly: audreyt posted an announcement: http://www.nntp.perl.org/gr​oup/perl.perl6.announce/537
02:35 lambdabot Title: nntp.perl.org - perl.perl6.announce (537), http://tinyurl.com/y3e2df
02:35 obra I'd bet it will be back to normal after a week
02:35 obra er. in a week
02:35 merlyn yes, I saw that announcement, but didn't completely undersatnd how it affects me
02:35 obra merlyn: only that there will be a lag in the commits being replayed to perl.org
02:36 obra but after this, things should get more reliable than ever before
02:36 merlyn as long as they show up in a day or two, I guyess
02:36 merlyn I'm using git-svn, like svk but saner
02:36 obra if you actully need current pugs, you should be going from the primary svn, not the perl.org mirror
02:37 obra but I need to vanish.
02:37 merlyn yeah, no hurry.. just keeping up with the conversations
02:43 mako132 joined perl6
02:45 chip__ joined perl6
02:46 PerlJam joined perl6
02:46 wolv joined perl6
02:46 revdiabl1 joined perl6
02:48 leo_ joined perl6
02:49 webmind_ joined perl6
02:50 wolv is now known as wolverian
02:57 EvilRanter left perl6
03:02 diakopter left perl6
03:09 mjk joined perl6
03:15 kisu joined perl6
03:18 thepler joined perl6
03:19 buubot joined perl6
03:24 LCamel joined perl6
03:24 buubot joined perl6
03:42 scsibug_ is now known as scsibug
03:53 duend joined perl6
03:55 revdiabl1 is now known as revdiablo
03:57 buubot joined perl6
04:05 SubStack joined perl6
04:13 nine_nine_z joined perl6
04:50 ashleyb joined perl6
04:51 ashleyb joined perl6
05:06 nine_nine_z left perl6
05:11 eggzeck joined perl6
05:36 baest_ joined perl6
05:37 awwaiid joined perl6
06:15 BooK_ joined perl6
06:24 drbean joined perl6
06:30 duend is now known as duend`sleeping
07:04 bsb left perl6
07:31 wolverian joined perl6
07:36 DHGE joined perl6
08:08 buubot joined perl6
08:13 iblechbot joined perl6
08:14 buubot joined perl6
08:15 drrho joined perl6
08:36 buetow joined perl6
08:38 nekokak joined perl6
08:51 marmic joined perl6
09:09 lisppaste3 joined perl6
09:31 dakkar joined perl6
09:57 * smash_ good morning
10:01 avar morn
10:11 chris2 joined perl6
10:13 foo\ joined perl6
10:16 dduncan left perl6
10:22 svnbot6 r14695 | fglock++ | MP6 - implemented several infix ops
10:22 svnbot6 r14695 | fglock++ | - simple parameter binding in methods
10:22 svnbot6 r14695 | fglock++ | - working Token->MP6->Perl5 chain
10:22 svnbot6 r14695 | fglock++ | - started changing tests to TAP format
10:27 gene9 joined perl6
10:28 fglock joined perl6
10:32 chris2_ joined perl6
10:39 weinig is now known as weinig_
10:39 weinig_ is now known as weinig
10:48 ruoso joined perl6
10:49 nekokak joined perl6
10:53 * avar killing spree
11:01 kisu joined perl6
11:25 audreyt TreyHarris: please replace svn.pugscode.org:9999 with commitbit.pugscode.org
11:25 audreyt in that link, and it should still work
11:25 clkao audreyt: hi!
11:25 audreyt hi. net finally back
11:25 clkao did you commit anything offline?
11:30 audreyt yes
11:35 xinming joined perl6
11:41 chris2_ joined perl6
11:42 chris2_ is now known as chris2
11:53 nothingmuch hola homies
11:54 audreyt greetings nothing
12:05 TimToady joined perl6
12:07 nothingmuch 'sup audreyt?
12:07 * nothingmuch doesn't know a non-negative-sounding rap word for "girl"
12:08 nothingmuch something that could be appended to "yo" or "sup" ;-)
12:08 audreyt "'sup lady?" would do
12:08 nothingmuch lady-t ;-)
12:09 audreyt lol :)
12:09 smash_ sup babe ? :p
12:09 nothingmuch you now have a rapper name
12:10 nothingmuch smash_: they use that? i only heard references to either the woman's [supposed] profession and/or relationship with the rapper
12:10 nothingmuch or the fact that she is the baby-mama, and thus by transitive relationship the significant other of the rapper
12:10 smash_ hehe
12:11 smash_ true
12:11 smash_ sup brother ?
12:12 dakkar sista!
12:12 nothingmuch you know what i'm sayin?
12:14 audreyt "windows sista"
12:15 dakkar rotfl
12:16 pmichaud_ joined perl6
12:16 Psyche^ joined perl6
12:20 audreyt invite.pugscode.org redirect is now up
12:20 audreyt it 302's to the invite page on commitbit.pugscode.org directly
12:23 svnbot6 r14696 | audreyt++ | * Pugs.Parser.Literal: Support for sigspace shorthands:
12:23 svnbot6 r14696 | audreyt++ |     mm/.../;        # m:sigspace/.../
12:23 svnbot6 r14696 | audreyt++ |     ms/.../;        # ditto
12:23 svnbot6 r14696 | audreyt++ |     ss/.../.../;    # s:sigspace/.../.../
12:23 nothingmuch when inviting comitters one should not have to choopse their nicknames for them =/
12:24 audreyt that can be changed later though
12:24 nothingmuch ah
12:24 * nothingmuch will use 'moose' then
12:24 nothingmuch till a user will accidentally register as 'moose'
12:24 nothingmuch then i will use moos2
12:24 nothingmuch moose2
12:25 nothingmuch in all seriousness, it should be allowed to be left blank
12:25 * nothingmuch ponders trying to fix it
12:28 * audreyt hands nothingmuch a commit bit to commitbit
12:28 Psyche^ is now known as Patterner
12:28 audreyt oh wait, I don't have a metacommiter bit there :/
12:28 nothingmuch hehe
12:28 nothingmuch nevermoose
12:28 audreyt obra: hand nothingmuch a commit bit to CommitBit? :)
12:28 nothingmuch i'll tell clkao/obra if i actually have anything to commit
12:29 nothingmuch no need for them to fuss now
12:30 nothingmuch if ($obj->id && $obj->person->id != $args{'person'}) {
12:31 nothingmuch oh i see
12:31 nothingmuch the id is from a table of emails
12:31 nothingmuch sorry
12:31 nothingmuch okay, it should be trivial
12:32 nothingmuch if nickname is supplied then it'll load_by_cols( proiject => $args{project}, nickname => $args{nickname} ), but if not it'll load using $obj->person instead
12:32 nothingmuch and leave the nick blank
12:32 justatheory joined perl6
12:32 nothingmuch the invitation letme will not need a valid nick, right?
12:33 nothingmuch that line is not necessary at all, if $args{'nickname'} is not supplied, because it's jst validation
12:33 nothingmuch i think i'd better delegate this because i'm not 100% sure
12:33 nothingmuch is #bps the righht place?
12:42 avar svn relocate failed;/
12:45 avar stupid svn(1)
12:45 avar recursive perl -pi ftw
13:05 svnbot6 r14697 | audreyt++ | * MO.Base: Remove the Arguments typeclass abstraction; all
13:05 svnbot6 r14697 | audreyt++ |   Perl6-land calling convention will use exactly the same
13:05 svnbot6 r14697 | audreyt++ |   arguments structure, namely that of Capture.
13:08 svnbot6 r14698 | audreyt++ | * MO.Run: Remove the ivCaller field; nothingmuch++ noted
13:08 svnbot6 r14698 | audreyt++ |   it's a terrible hack, and we already have caller info
13:08 svnbot6 r14698 | audreyt++ |   as part of the monad anyway.
13:09 nothingmuch audreyt: oh btw, i remembered what I wanted
13:09 svnbot6 r14699 | audreyt++ | * MO.Util: Use the much faster Data.Map builtins (unionsWith, unions)
13:09 svnbot6 r14699 | audreyt++ |   instead of hand-written List.nub for merging and shadowing of
13:09 svnbot6 r14699 | audreyt++ |   Collection structures.  This should make C3 etc Fast Enough (tm)
13:09 svnbot6 r14699 | audreyt++ |   for our needs.
13:09 nothingmuch i'm going to change the default construct_instance to take a KVP of params
13:09 nothingmuch but not initializers
13:09 nothingmuch $field => $value
13:09 audreyt sure
13:09 nothingmuch field object that is
13:09 audreyt but also note S12 also says it can ben given a layout
13:09 audreyt directly
13:09 nothingmuch an already flattenned one?
13:10 audreyt Point.bless({x=>1, y => 2})
13:10 audreyt must use Hash as layout
13:10 audreyt not p6opaque
13:10 nothingmuch ah
13:10 audreyt Point.bless(x=>1, y =>2)
13:10 nothingmuch Layout (capital L) is about p6opaque
13:10 audreyt would alloc a p6opaque layout
13:10 nothingmuch and anything related
13:10 audreyt gotcha
13:10 nothingmuch if it isn't opaque we can still use the layout just to retain polymorphism
13:10 nothingmuch but it's not the smae layout class, there's no point
13:10 nothingmuch it's just the passthrough layout i have in MO right now
13:11 nothingmuch oir what we have for hs records
13:11 nothingmuch however, the point of the slot/layout/field abstraction is:
13:11 nothingmuch a. supporting packed layouts without needing to introduce them to the accessor implementations
13:11 nothingmuch b. supporting foreign object layouts "natively"
13:11 nothingmuch under a unified API
13:11 audreyt yup
13:11 audreyt the b. is mandated by spec
13:12 svnbot6 r14700 | audreyt++ | * MO.Compile.Class: Remove all mentioning of AttributeGrammar,
13:12 svnbot6 r14700 | audreyt++ |   as 6.28.0 won't expose it to userland.
13:12 svnbot6 r14700 | audreyt++ | * Also remove the distinction between class methods and instance
13:12 svnbot6 r14700 | audreyt++ |   methods; the only difference is public/private, not class/instance.
13:12 nothingmuch wrt the class/instance methods
13:12 bpphillips joined perl6
13:12 nothingmuch i'm thinking of having this sort of weird method generator
13:13 nothingmuch you ask it to generate a field of type MO::Compile::Method n amed instance_methods, for example
13:13 nothingmuch you specify the merge strategy for this particular type of field
13:13 svnbot6 r14701 | audreyt++ | * MO.Compile.Role: Also remove class/instance method
13:13 svnbot6 r14701 | audreyt++ |   distinction for roles.  Note this makes roles.hs tests
13:13 svnbot6 r14701 | audreyt++ |   report conflict earlier than before, because the
13:13 svnbot6 r14701 | audreyt++ |   "bless" call is now part of an already-conflicted
13:13 svnbot6 r14701 | audreyt++ |   interface.
13:13 nothingmuch for example attrs are not shadows, but methods are
13:14 nothingmuch *shadowed
13:14 nothingmuch then some data can specify the composition strategy for making responder interfaces out of these
13:14 nothingmuch i'm not sure how to do this declartively
13:15 weinig joined perl6
13:15 audreyt I think it's a bit bduf as currently there are exactly two sorts of composable fields...
13:16 nothingmuch nuh uh
13:16 nothingmuch attribute grammars bring 3 more
13:16 audreyt oh. well, ok.
13:16 nothingmuch either way it's stilll not necessary
13:16 nothingmuch i'm just thinking, not doing at this point
13:16 audreyt as you don't expose any of the 5 to userland...
13:17 nothingmuch this is usually the overengineered stage
13:17 nothingmuch i don't?
13:17 nothingmuch ;-)
13:17 audreyt you don't
13:17 audreyt i.e. you dont let user say
13:17 nothingmuch MO is supposed to be optimized for roll-your-own-meta-whatever
13:17 audreyt now instead of shadow, let's merge
13:17 nothingmuch merge?
13:18 audreyt report-on-conflict
13:18 nothingmuch for roles?
13:18 audreyt user here means the consumer of MO
13:18 audreyt not the roller
13:18 nothingmuch too many metaphors
13:18 nothingmuch ah
13:18 audreyt the roller can easily just define another instance of e.g. Class
13:18 nothingmuch yes
13:18 audreyt and handle shadowing differently
13:18 audreyt but user can't
13:18 audreyt and shouldn't
13:18 nothingmuch specifically that's the bit i want to be easy ;-)
13:19 audreyt    all_regular_methods c = shadow (from_c ++ [from_r])
13:19 audreyt      where from_c = map public_methods (class_precedence_list c)
13:19 audreyt            from_r = all_using_role_shadowing
13:19 audreyt                         (merged_roles c) role_public_methods
13:19 audreyt is easy enough for me :)
13:19 xinming audreyt:
13:19 xinming we can't open http://svn.perl.org/perl6/pugs/t​runk/docs/zh-cn/01Overview.html for now
13:19 nothingmuch *nod*
13:19 xinming I don't know if repository is down.
13:19 nothingmuch all of this refac is for Later™
13:20 xinming or, GFW blocks pugs
13:20 audreyt xinming: please use http://svn.pugscode.org/pugs​/docs/zh-cn/01Overview.html
13:20 nothingmuch my dream is to be able to "port" giant systems to perl 6 incrementally
13:20 audreyt I think it's down
13:20 svnbot6 r14702 | audreyt++ | * MO: Commit the three sanity tests from cmarcelo++ as part
13:20 svnbot6 r14702 | audreyt++ |   of tree for ease of debugging at this stage.
13:20 nothingmuch first by using foreign object interfacing
13:20 nothingmuch then by doing a straight port and implementing/reusing a metaclass that matches the original language
13:20 nothingmuch and then slowly, incrementally converting them one by one
13:21 nothingmuch it's more of a proof of concept dream though
13:21 nothingmuch understandably this can wait a long while =)
13:21 lambdabot Title: Pugs 外典之一, http://tinyurl.com/yk7dng
13:21 nothingmuch i have to go for a while
13:21 nothingmuch bbl
13:21 audreyt xinming: I've updated the pugscode.org site to point to new url
13:22 audreyt xinming: next time you can fix that too by committing into docs/feather/pugscode.org/ tree
13:22 svnbot6 r14703 | audreyt++ | * pugscode.org: more reURLing
13:22 audreyt nothingmuch: I share that dream
13:23 nothingmuch ^_^
13:23 nothingmuch ciao
13:24 Whooosh joined perl6
13:25 fglock audreyt: I think we need a "mp6.pl" script - to handle command-line switches, etc
13:26 audreyt fglock: sure
13:30 GnuVince joined perl6
13:31 kisu joined perl6
13:35 audreyt (bbiab)
13:37 svnbot6 r14704 | fglock++ | MP6 - added mp6.pl compiler
13:37 iblechbot joined perl6
13:38 justatheory joined perl6
13:43 eggzeck joined perl6
13:43 kisu joined perl6
13:48 thepler joined perl6
13:49 justatheory_ joined perl6
13:59 electrogeek joined perl6
13:59 electrogeek joined perl6
14:08 rodi joined perl6
14:16 svnbot6 r14705 | fglock++ | MP6 - fixed all tests
14:18 miyagawa_ joined perl6
14:21 fglock the remaining syntax needed for bootstrapping is 'use', 'grammar', and 'has'
14:21 GabrielVieira joined perl6
14:22 fglock lunch &
14:31 Limbic_Region joined perl6
14:33 seano joined perl6
14:55 renormalist joined perl6
15:10 vel joined perl6
15:13 weinig is now known as weinig|bbl
15:38 kisu joined perl6
15:38 cmarcelo joined perl6
15:38 cmarcelo hello
15:39 araujo joined perl6
15:40 fglock cmarcelo: oi
15:41 obra nothingmuch: address for commit bit commit bit?
15:42 andara joined perl6
15:42 cmarcelo fglock: how's mp6 going?
15:44 thepler joined perl6
15:44 fglock cmarcelo: all current tests pass; now working on compiling itself
15:47 penk joined perl6
15:50 hexmode joined perl6
15:51 chris2_ joined perl6
15:54 chris2_ is now known as chris2
15:56 [particle] joined perl6
16:00 obra nothingmuch: your CB^2 is away
16:02 svnbot6 r14706 | fglock++ | MP6 - mp6.pl reads from STDIN
16:02 kisu joined perl6
16:06 plural_ joined perl6
16:11 svnbot6 r14707 | fglock++ | MP6 - mp6.pl parses with Block grammar (multiple stmts, no curlies needed)
16:27 miyagawa_ joined perl6
16:29 lambdabot joined perl6
16:29 eviltwin_b joined perl6
16:29 Eimi joined perl6
16:30 penk joined perl6
16:30 araujo joined perl6
16:30 Patterner joined perl6
16:30 fglock joined perl6
16:30 baest_ joined perl6
16:30 ashleyb joined perl6
16:30 wilx joined perl6
16:30 nothingmuch joined perl6
16:30 ivas joined perl6
16:30 qmole joined perl6
16:30 Odin- joined perl6
16:30 monkey___ joined perl6
16:30 Lorn joined perl6
16:30 mr_ank joined perl6
16:30 beppu_ joined perl6
16:30 prism joined perl6
16:30 dvorak joined perl6
16:30 AzureBOT joined perl6
16:30 scsibug joined perl6
16:30 norageek joined perl6
16:30 ingy joined perl6
16:30 masak joined perl6
16:30 integral joined perl6
16:30 cookys joined perl6
16:30 andara joined perl6
16:30 cmarcelo joined perl6
16:30 TimToady joined perl6
16:30 xinming joined perl6
16:30 LCamel joined perl6
16:30 jlo7719 joined perl6
16:30 cmeyer joined perl6
16:30 Grrrr joined perl6
16:30 svnbot6 joined perl6
16:30 lumi joined perl6
16:30 kane-xs joined perl6
16:30 gantrixx joined perl6
16:30 GeJ joined perl6
16:30 spinclad joined perl6
16:30 theorbtwo joined perl6
16:30 perlbot joined perl6
16:30 knewt joined perl6
16:30 rgs joined perl6
16:30 sri joined perl6
16:30 miyagawa_ joined perl6
16:30 [particle] joined perl6
16:30 seano joined perl6
16:30 GnuVince joined perl6
16:30 dakkar joined perl6
16:30 marmic joined perl6
16:30 revdiablo joined perl6
16:30 SCalimlim joined perl6
16:30 merlyn joined perl6
16:30 dmq joined perl6
16:30 rlb3 joined perl6
16:30 ruz joined perl6
16:30 buu joined perl6
16:30 Juerd_ joined perl6
16:30 evalbot_r14675 joined perl6
16:30 Debolaz joined perl6
16:30 stevan joined perl6
16:30 orafu joined perl6
16:30 kane-xs_ joined perl6
16:30 cj joined perl6
16:31 kisu joined perl6
16:31 hexmode joined perl6
16:31 weinig|bbl joined perl6
16:31 buubot joined perl6
16:31 DHGE joined perl6
16:31 wolverian joined perl6
16:31 Steve_p joined perl6
16:31 idiotmax joined perl6
16:31 ofer0 joined perl6
16:31 frankg joined perl6
16:31 rafl_ joined perl6
16:31 mugwump joined perl6
16:31 kcwu joined perl6
16:31 nnunley joined perl6
16:31 broquaint joined perl6
16:31 gaal joined perl6
16:31 gugod joined perl6
16:31 SamB joined perl6
16:31 Shabble joined perl6
16:31 Maddingue joined perl6
16:31 pnu joined perl6
16:31 kolibrie joined perl6
16:31 Cugel joined perl6
16:31 nipotan joined perl6
16:31 Ikarus joined perl6
16:31 nine joined perl6
16:31 jabbot joined perl6
16:31 clsung joined perl6
16:31 rafl joined perl6
16:31 Yappo joined perl6
16:31 jiing joined perl6
16:31 kalven joined perl6
16:31 tcliou joined perl6
16:31 hcchien joined perl6
16:31 audreyt joined perl6
16:31 spoop joined perl6
16:31 cognominal joined perl6
16:31 takanori_ joined perl6
16:31 takesako joined perl6
16:31 Kattana joined perl6
16:31 meppl joined perl6
16:31 tokuhirom joined perl6
16:32 buubot joined perl6
16:32 mako132 joined perl6
16:36 f0rth joined perl6
16:59 svnbot6 r14708 | fglock++ | MP6 - implemented 'use'; class method calls
16:59 BooK_ is now known as BooK
17:04 justatheory joined perl6
17:06 cmarcelo @tell audreyt in MO/roles.hs shadow example, shouldn't one foo just shadow the other foo?
17:06 lambdabot Consider it noted.
17:06 miyagawa_ joined perl6
17:06 weinig|bbl is now known as weinig
17:08 justatheory joined perl6
17:14 svnbot6 r14709 | fglock++ | MP6 - implemented prefix $,%,@ ops
17:18 cmarcelo joined perl6
17:19 TimToady fglock: seems to me that MP6 should make the Perl 5 language emitter selection explicit so that other language emitters know how to hook in.
17:19 svnbot6 r14710 | fglock++ | MP6 - parses hyper-methods
17:19 svnbot6 r14710 | fglock++ | - mp6.pl parses itself
17:20 xinming cool...
17:21 fglock TimToady: yes, I mean to implement that
17:21 fglock I don't know how to do it yet :)
17:22 TimToady would at least be good if the filenames/directorynames reflected p5 somehow...
17:22 fglock sure
17:22 TimToady then it would probably become obvious where you pick a different file
17:23 TimToady but don't let me slow you down!  :)
17:24 fglock I hope someone will get mp6.pl and add command line switches to it - but right now @*ARGS doesn't work
17:36 nothingmuch `/w 10
17:43 buetow joined perl6
17:44 cj clkao: ping?
17:44 cj clkao: miguel's got some questions for you over on #mono
17:45 cj 09:44 <@miguel> Well, the Perl6 people can count on our support, and help to
17:45 cj                get them to target the CLR
17:49 svnbot6 r14711 | fglock++ | MP6 - ' cat mp6.pl | perl -Ilib mp6.pl ' emits perl5
17:50 fglock this is not bootstrap yet, but it's closer
17:51 cmarcelo fglock: pugs can run mp6.pl? I am still having problems with "cpan v6"...
17:51 fglock cmarcelo: I don't know - just try it
17:52 cmarcelo I'm (re)compiling it now..
17:52 [particle] yeah, cpan v6 is failing for me today, too
17:53 cmarcelo [particle]: what fails exactly?
17:53 fglock cmarcelo: it gives an error compiling the regex grammar
17:57 justatheory joined perl6
17:58 cj [particle]: can you paste the error to http://rafb.net/paste ?
18:00 ludan joined perl6
18:01 pasteling "fglock" at 200.17.89.88 pasted "Perl5(ish) output of mp6.pl" (10 lines, 279B) at http://sial.org/pbot/21042
18:02 fglock there are several problems to fix
18:02 fglock like: calling methods on array (this can be fixed by blessing an array ref, but it slows down the program)
18:06 andara left perl6
18:08 cj we're optimizing for fun anyway, from what I hear :)
18:08 cj anyone know where clkao is located?
18:09 audreyt fglock: calling methods on array can be fixed on emitter layer
18:09 lambdabot audreyt: You have 2 new messages. '/msg lambdabot @messages' to read them.
18:09 audreyt cj: .uk
18:09 audreyt lambdabot: @massages
18:09 lambdabot cmarcelo said 2d 46m 9s ago: re 6.4: hehe I was expecting that :).. it's a matter of reverting except for the 'NoResponse vs NoResponse m'-thing.. (did you saw it?)
18:09 lambdabot cmarcelo said 1h 3m 2s ago: in MO/roles.hs shadow example, shouldn't one foo just shadow the other foo?
18:12 fglock audreyt: does mp6.pl works for you?
18:12 pasteling "cmarcelo" at 200.232.237.143 pasted "error while trying to run mp6.pl with pugs" (6 lines, 421B) at http://sial.org/pbot/21044
18:12 audreyt cmarcelo: re shadowing, see r14712.
18:12 svnbot6 r14712 | audreyt++ | * roles.hs: Adapt tests.
18:13 cmarcelo fglock: the error you got was like mine?
18:13 audreyt cmarcelo: re 6.4 compat - does the current tree work with 6.4?
18:13 cj thanks, audreyt
18:13 fglock cmarcelo: yes
18:14 cmarcelo audreyt: I patched MO/ to work with 6.4, pugs I didn't tested, should I?
18:15 fglock brb
18:15 Lorn audreyt: [OT] hi, audrey, PAR is compatible with mod_perl? [/OT]
18:15 audreyt Lorn: yes. see also Apache::PAR
18:15 audreyt cmarcelo: I mean ghci -isrc src/MO/roles.hs
18:16 audreyt with a 6.4 ghci
18:16 Lorn audreyt: ok, thanks
18:16 audreyt 6.4.1 that is
18:18 Lorn ;win 1
18:19 cmarcelo audreyt: (looking at roles.hs).. and since you're commiter on Syns: S12.pod line 608 missing a "," in arguments for constructor? S12 line 470 begins "C<has $.foo>", shouldn't it be "C<has &.foo>"?
18:21 cmarcelo audreyt: for 6.4.2 (not .1) it's just a matter of -fallow-overlapping-instances in the test files..
18:21 audreyt clkao: pipelining branch drops versions.
18:22 audreyt clkao: I pull'ed but didn't get revs between 14703 and 14712
18:22 audreyt cmarcelo: ok. please commit that...
18:25 TimToady cmarcelo: :foo() :bar() is legal syntax, in fact.
18:25 svnbot6 r14713 | cmarcelo++ | * src/MO: fixes tests to work with GHC 6.4.2.
18:26 TimToady we have to allow stacked adverbs in adverbial position, so it's just consistently the same in argument position.
18:27 TimToady arguably not Best Practice though.
18:27 fglock what's the command to initialize svk without downloading the whole rev story?
18:29 cmarcelo TimToady: are you talking about "... .= new(:tail<LONG> :legs<SHORT>)"..? is :foo<> same as :foo() ?
18:30 TimToady yes, any colon pair notations can stack without intervening comma
18:30 TimToady is how it's currently specced.
18:30 TimToady or at least apo'd
18:30 audreyt fglock: you didn't backup your old ~/.svk/ ?
18:30 svnbot6 r14714 | audreyt++ | * MiniPerl6::Grammar::Regex - Syntax and UTF8 fixes to make ./pugs work with it.
18:31 audreyt fglock: oy. you can use "svk co http://svn.pugscode.org/pugs/" and when it asks whethe to mirror a]ll or h]ead, answer "h".
18:31 lambdabot Title: Revision 14714: /
18:34 audreyt TimToady: remember very long ago we discussed with chips about heterogenous arrays and homogenous arrays?
18:34 audreyt one that would allow @a[0] := SomeScalar.new;
18:34 audreyt while one wouldn't allow that
18:35 TimToady no, but I have a lousy memory.
18:35 fglock audreyt: " REPORT request failed on 'pugs/!svn/bc/14714' "
18:35 audreyt fglock: hm
18:36 TimToady that's what I was getting from openfoundry earlier.  I can get at pugscode.
18:36 audreyt fglock:  a sec
18:36 Limbic_Region joined perl6
18:36 TimToady just updated r14714 here
18:37 audreyt TimToady: openfoundry team is still working on an apparently borken repo
18:37 TimToady just suggesting fglock is somehow aiming at wrong repo
18:37 audreyt possibly, though it's also possible that "h" is broken with svk-head fglock is using
18:37 audreyt since ir says 14714 in thte !svn/bc/
18:37 audreyt and openfoundry wouldn't have that revnum
18:38 audreyt but in any case...
18:38 TimToady nod
18:38 audreyt TimToady: the issue here is whether the default Array is a container of Scalar objects, or just a container of objects.
18:38 svnbot6 r14715 | fglock++ | MP6 - added 'has'
18:39 audreyt TimToady: currently Pugs has Array as double-indirected, but Hash as without intermediate Scalar
18:39 audreyt which means @x[0]:=... can be made to work but not %x<a>:=...
18:39 audreyt that of course is not consistent; I was just wondering to which way should we be consistent with :)
18:39 TimToady a P5 programmer is going to expect Scalar by default, I suspect
18:40 audreyt since you can tie $h<a> individually
18:40 audreyt and SvMG is still per-HvELEM
18:40 TimToady for declared arrays/hashes it's not much of a problem, wonder if [...] and {...} could be pragmatically controlled
18:40 audreyt and the (...)-promoted-to[...]
18:41 TimToady I think Least Surprise asks for the slow default, but then we make it easy to get the other behavior somehow.
18:41 audreyt ok. will do that now
18:41 TimToady with declarations it's as simple as declaring "of" type
18:42 audreyt the new MO means := etc is made very easy, and we are not constrained by the enumerated number of references
18:42 TimToady so maybe Int[...] etc
18:42 TimToady except that's taken
18:42 audreyt however that also means FETCH, STORE etc need special arrangement
18:42 TimToady already have Seq(...)
18:42 audreyt maybe we just don't call them FETCH and STORE
18:42 audreyt and simply call them ITEM and infix:<=>
18:42 audreyt which means ~0 redispatch cost
18:43 TimToady as long as people realize infix:<=> is "deeply"
18:44 TimToady I suppose the proxy type that delegates is a different type anyway
18:45 audreyt right, and FETCH/STORE are merely attrs
18:45 audreyt not meths
18:45 audreyt or maybe its BUILD says
18:45 audreyt BUILD (:FETCH(&.ITEM) ) { ... }
18:45 audreyt etc.
18:46 TimToady well, I don't really care what we call things as long as we don't confuse things that shouldn't be confused.
18:47 TimToady I do worry that something like infix:<=> will naturally be taken as a shallow meaning rather than deep
18:48 TimToady but if it's a different type, maybe it works.
18:49 TimToady I also wonder how this interacts with TEMP stuff
18:50 TimToady also been wondering about the relationship of "let" and STM...
18:50 audreyt another unrelate question...
18:50 audreyt %A{$B} := $C
18:50 audreyt evaluation order is $C => %A => $B
18:50 audreyt correct?
18:51 audreyt i.e. binding is like assignment in that the invocant is evaluated _after_ the argument
18:51 audreyt unlike in normal methods where invocant evaluates _before_
18:51 TimToady don't know about "correct", but certainly reasonable
18:52 TimToady $C.bind_to(%A{$B})   :)
18:52 audreyt well, sure :) but even if it's multi redispatch
18:52 audreyt currently we don't have a way to control evaluation order other than the nuke-ish "is lazy"
18:53 audreyt but I guess := and = is their own AST nodes for a very good reason
18:53 audreyt and this might as well be the reaon...
18:54 TimToady all I know is that languages that try to treat = like other operators tend to come to grief.
18:54 audreyt and := is more like = than anything else
18:54 TimToady well, they're both mutators
18:55 audreyt := is one less indirection, and a lot more sugar :)
18:55 TimToady hmm, I'd say = has a lot of semantic sugar
18:56 audreyt true
18:56 audreyt := is mostly syntactic
18:56 audreyt ok, := for [] and {} implemented
18:57 audreyt thanks for the walk through :)
18:57 audreyt fglock: grab this: http://perlcabal.org/~audr​eyt/tmp/pugs.repo.tar.bz2
18:57 lambdabot http://tinyurl.com/ylxe75
18:57 audreyt fglock: then do this:
18:57 audreyt cd ~/.svk
18:57 audreyt tar jxf pugs.repo.tar.bz2
18:57 TimToady 'course, it's possibly I just told you to make Perl run as slow as Ruby.  :)
18:57 fglock audreyt: thanks!
18:58 audreyt uuidgen > pugs/db/uuid
18:58 audreyt TimToady: yes, but at least we have annotations
18:58 audreyt and this is a good way to tell people to learn to use them :)
18:58 TimToady people will do the durndest things if they think it'll help performance.
18:58 audreyt fglock: then "svk depot"
18:58 audreyt add a mapping of
18:58 audreyt pugs: /Users/audreyt/.svk/pugs
18:58 audreyt er, not audreyt.
18:58 audreyt that's all
18:58 audreyt then you can
18:58 audreyt svk co /pugs/trunk pugs
18:59 audreyt and enjoy
18:59 audreyt TimToady: so this is as expected...
18:59 audreyt @x; @x[0] := 1; # autovivify
18:59 lambdabot Maybe you meant: . bf ft id pl v wn
18:59 audreyt @x[1] = 2; # also autovivify (twice!)
18:59 lambdabot Unknown command, try @list
18:59 audreyt then... @x[0]=42 # dies
19:00 audreyt but @x[1]=42 is just fine.
19:00 audreyt er, maybe autovivify is 0 and 1 times respectively; I mean autoallocation of element.
19:01 TimToady seems reasonable.
19:01 audreyt and @x[0]++ fails, etcetc.
19:01 audreyt k. committing
19:02 TimToady can you then do @x[0] := Scalar() to get back the other semantics?
19:02 svnbot6 r14716 | audreyt++ | * Pugs.Eval: Binding for array and hash elements.
19:02 audreyt yes
19:02 xinming fglock: If you wish the whole repository,
19:02 xinming fglock: please check perlcabal.org/~xinming/
19:02 audreyt basically := is really = in OtherLanguages
19:03 audreyt and = is a fetch plus a store call.
19:03 TimToady copy semantics
19:03 audreyt *nod*
19:03 TimToady at least one level
19:03 audreyt xinming: I just did the same thing for fglock :)
19:03 xinming fglock: It has whole log, and Just updated yesterday IIRC.
19:03 xinming audreyt: ....
19:04 audreyt xinming: check backlog... :)
19:04 fglock xinming: how big is it? my download speed is currently 5K/s
19:04 xinming It seems, most people still don't know why I did that. >_<
19:04 audreyt fglock: the file I gave you above is 45643418
19:04 xinming fglock: well, then, Don't consider downloading it.
19:04 fglock audreyt: yes - ETA 2h
19:04 TimToady how's MO hookup coming along?
19:05 audreyt TimToady: very well. I'm wondering about how stepwise it shoul be
19:05 xinming mine is 21112807
19:05 fglock I'm working locally, then rsync to feather, then commit
19:05 audreyt currently leaning on just make newval use MO first
19:05 xinming I bzip2-ed it.
19:05 audreyt i.e. vv(1).HOW.methods etc would work
19:05 audreyt but not 1.HOW.methods
19:05 audreyt and once it's shown to work
19:06 audreyt then switch the entire Val chain to that
19:06 audreyt this means we dont't have to support two cllconvs
19:06 audreyt and can just support Capture
19:06 audreyt instead of the old single-Feed one
19:06 TimToady audreyt: either approach can work.  whether I take an all-the-marbles approach depends on how much I think I understand all the ramifications.
19:07 audreyt TimToady: I understand none of the ramifications :) you see, I'm just this coding monkey integrating other people's work...
19:07 audreyt so yeah, I think having a vv() step is sane.
19:07 TimToady in that case, the rest of us have a negative amount of understanding... :P
19:07 audreyt I'm sure nothingmuch has a pretty complex amount of understanding
19:07 audreyt plenty of real parts and imaginary parts...
19:08 TimToady yeah, but your understanding is some surreal value of 0.
19:08 audreyt so the steps is: native objects via vv(0) and vv("foo") first
19:08 audreyt once that works, user-defined objects gets converted to newland
19:09 audreyt finally, oldland native objects such as VThread, VProcess, VSocket, VHash etc gets replaced by newland counterparts
19:09 audreyt (there were an enumerated value of such objects; but in newland those are unbounded)
19:09 clkao audreyt: (!)
19:09 TimToady well, I'll do a baseline smoke now, I guess.
19:09 audreyt sure
19:10 audreyt but vv() shouldn't touch any of the tests.
19:10 audreyt (and now it builds on 6.4.1 we don't even need to force 6.6.)
19:10 clkao audreyt: so it commits new stuff and leaving holes?
19:10 audreyt cmarcelo++ # did all the work
19:10 audreyt clkao: aye. it doesn't syncback
19:10 clkao syncback?
19:10 audreyt say I last synced r10
19:10 audreyt then fglock committed r11..r15
19:10 audreyt I commit, that's r16
19:11 audreyt my history reads: remote r10, remote r16
19:11 audreyt and there's nothiing read back from 11..15
19:11 audreyt normally it'd sync the delta.
19:11 audreyt this is trunk svk-pipeline branch, as of yesterday
19:11 clkao oh darn
19:11 audreyt I've svk mi --recover'ed using old svk
19:11 audreyt and then switched back to svk-trunk. too many moving parts.
19:11 clkao this is the bug i saw this morning but i wasn't able to reproduce
19:12 audreyt :(
19:14 clkao is it in very short period of time?
19:14 clkao audreyt: you want to back to r2129 on trunk
19:18 clkao audreyt: sorry about that. i am trying to reproduce and fix
19:20 svnbot6 r14717 | audreyt++ | * AST.pm: Reorder MiniPerl6 nodes a bit.
19:20 rodi joined perl6
19:22 mako132 joined perl6
19:23 fglock audreyt: I've added some random nodes - please see if they make sense
19:24 fglock clkao: I've recovered my old repo, now it says "PROPFIND request failed on 'pugs': Could not open the requested filesystem"
19:24 audreyt clkao: trunk still drops revs
19:25 audreyt fglock: just "has"?
19:25 audreyt fglock: oh wait, no. what nodes did you add?
19:26 fglock audreyt: Op::Infix, Op::Prefix, ...
19:26 fglock 'Use'
19:26 clkao audreyt: yes pipeline landed trunk a few hours ago.
19:26 clkao you are on trunk trunk or 2129 ?
19:26 audreyt fglock: oh. I thought they are just calls
19:26 audreyt clkao: trunk trunk
19:26 audreyt fglock: I thought they were just Apply
19:27 audreyt on &infix:<+> and friends
19:27 clkao go down to 2129
19:27 audreyt fglock: that's the p6 way of doing things
19:27 audreyt clkao: *sigh* I went down to 2081
19:27 audreyt 2082
19:27 fglock ok, I can change that
19:27 clkao still broken?
19:27 audreyt no, that's fine now
19:28 audreyt fglock: because then you can define $Code_prefix_mangled_somehow_plus in p5 runtime
19:28 clkao ok.  it's not very obvious to me how this coud happen :/
19:28 clkao particuarly it can sync the latest one
19:28 audreyt which is more flexible than relying on the builtin +, I think.
19:29 TimToady yeah, just keep bearing in mind the poor folks who have to port this to assembly languages like C and PIR.  :)
19:30 fglock is 'use' just a subroutine call too?
19:31 TimToady might have to relocate call to beginning of main() depending on what it does.  at least in MP6 it can't change the grammar...
19:35 fglock is this a password error of mine? -- Permission denied: PROPFIND request failed on '/pugs' ...
19:37 audreyt fglock: no... what operation did you do?
19:39 fglock  svk pull  - using my backup /.svk and /pugs
19:39 clkao can't reproduce :/
19:39 audreyt fglock: that was before the repo change
19:39 audreyt fglock: you need to do
19:39 audreyt svk mi --relocate /pugs/trunk http://svn.pugscode.org/pugs
19:40 lambdabot Title: Revision 14717: /
19:40 audreyt and then pull again
19:40 clkao audreyt: were things changed in the same dir ?
19:40 audreyt clkao: no
19:40 audreyt completely unrelated
19:40 audreyt my commit were to src/MO and fglock's was to v/
19:41 clkao right
19:41 clkao but you didn't only checkout src
19:41 clkao it's a full pugs tree checkout
19:41 audreyt aye
19:41 audreyt but my ci was done in src/
19:41 audreyt may or may not be related
19:41 clkao *nod*
19:41 audreyt it's like, cd src; svk ci MO
19:41 clkao *nod*
19:41 clkao it's similar to my case this morning.
19:42 clkao i will try more tests
19:42 audreyt ok
19:42 audreyt also why did you disable my perfectly functional mi --recover?
19:42 audreyt I think it's still useful, as proven just now :)
19:42 clkao really?
19:42 clkao it needs to be ported. and be backend specific
19:42 audreyt yeah I recovered /pugs/trunk
19:43 audreyt and it worked just fine
19:43 clkao oh, it's cping from the last correct one and move on ?
19:43 audreyt yup
19:44 fglock audreyt: it works now :)
19:45 audreyt woot
19:45 cmarcelo fglock, audreyt: mp6.pl (via pugs) error when I feed with trivial "v6-alpha" code: *** No compatible subroutine found: "&exp_stmts" ...
19:48 audreyt clkao: yes I did notice that too..
19:48 svnbot6 r14718 | fglock++ |  r15564@tvd7 (orig r14671):  svm | 2006-11-10 17:43:08 -0200
19:48 svnbot6 r14718 | fglock++ |  SVM: initializing mirror for /trunk
19:48 svnbot6 r14718 | fglock++ |  r15565@tvd7 (orig r14672):  audreyt | 2006-11-07 19:38:42 -0200
19:48 svnbot6 r14718 | fglock++ |  * Pugs::Doc::Hack - Change svn.openfoundry.org to svn.pugscode.org.
19:48 svnbot6 r14718 | fglock++ |  r15566@tvd7 (orig r14673):  audreyt | 2006-11-07 20:42:03 -0200
19:48 svnbot6 r14718 | fglock++ |  * Massive revisionism: Change all files in docs/ to mention svn.pugscode.org
19:48 rodi joined perl6
19:49 fglock oops - what's that?
19:49 audreyt fixing
19:50 weinig is now known as weinig|bbl
19:51 svnbot6 joined perl6
19:55 clkao audreyt: i coudl reproduce with a script now
19:55 svnbot6 r14719 | audreyt++ | * Pugs.Parser: Allow this syntax:
19:55 svnbot6 r14719 | audreyt++ |     grammar G {
19:55 svnbot6 r14719 | audreyt++ |         token t { ... }
19:55 svnbot6 r14719 | audreyt++ |     }
19:55 svnbot6 r14719 | audreyt++ |     G.t('string');  # same as 'string' ~~ /<G::t>/
19:55 audreyt clkao: great
19:57 TimToady audreyt: I'm not sure those should be the same.
19:57 TimToady we've said that tokens called directly automatically anchor fore and aft.
19:57 cjeris joined perl6
19:57 audreyt but that's 'string' ~~ token{...}
19:57 audreyt do you count G.t() also?
19:58 audreyt probably yes
19:58 audreyt it's not a "subrule"
19:58 audreyt fixing
19:58 TimToady looks pretty bare to me.
19:59 fglock how about G.t('string', pos => $p);
19:59 fglock that's how v6.pm calls it as a subrule
19:59 audreyt and so it's the presense of pos=>
20:00 audreyt that determines autoanchoring?
20:00 audreyt I like that...
20:00 TimToady :p anchors front and not back
20:00 TimToady so it should work
20:00 clkao audreyt: found the bug. fixing
20:00 TimToady and syn already on record that subrules are :p semantics, I think.
20:01 TimToady that is :p autoanchors to current pos, not ^ of course.
20:01 jferrero joined perl6
20:02 audreyt clkao: woot
20:03 fglock home &
20:03 svnbot6 r14720 | fglock++ |  r15612@tvd7 (orig r14719):  audreyt | 2006-11-10 17:54:30 -0200
20:03 svnbot6 r14720 | fglock++ |  * Pugs.Parser: Allow this syntax:
20:03 svnbot6 r14720 | fglock++ |      grammar G {
20:03 svnbot6 r14720 | fglock++ |          token t { ... }
20:03 svnbot6 r14720 | fglock++ |      }
20:03 svnbot6 r14720 | fglock++ |      G.t('string');  # same as 'string' ~~ /<G::t>/
20:03 fglock should I avoid using svk pull?
20:05 fglock left perl6
20:07 clkao audreyt: r2133
20:08 audreyt clkao: the svkpull bug of autocommitback is still there
20:09 audreyt so I'm using svk up -s
20:09 audreyt as does fglock
20:09 clkao what pull bug?
20:09 clkao you mean for a branch or ?
20:09 audreyt when I pull from pugs
20:09 audreyt it always want to commit back exactly the things it pulled
20:09 clkao oh!
20:09 audreyt and always fails
20:10 clkao want to quickly write a test ?  i am taking a break after firefighting
20:10 audreyt clkao: is head still svn://svn.clkao.org/svk ?
20:10 audreyt clkao: I tried several tims
20:10 audreyt can't seem to repeat it
20:10 clkao code.bestpractical.com/svk
20:10 audreyt from scratch
20:11 TimToady joined perl6
20:11 clkao which reminds me i need to setup mirror
20:11 clkao audreyt: you aren't reading the mailing list are you ;)
20:15 audreyt I am, but very sporadically
20:22 audreyt clkao: REPORT keeps failing on http://code.bps.com/svk
20:24 Guest61639 joined perl6
20:27 audreyt clkao: nvm, dumb transparentproxy here
20:28 audreyt clkao: I'd like a https:// :)
20:28 audreyt </ponie>
20:29 webmind_ is now known as webmind
20:29 Guest61639 left perl6
20:37 on joined perl6
20:42 on Hi, I want to use junctions to build binomial trees for european option pricing. ie starting with a 1$ price my future guess is 1$ * ( up | down ) etc ... Once I gather all the possible prices after N steps I compute the payoff then I have to come back through the tree and compute the expectation (p1+p2)/2*interest back to the root. My problem is how to compute p1+p2 when all I have is the junction (p1|p2) ? Anyone to help?
20:43 on is now known as the_dormant
20:43 nothingmuch ?eval (1|2).list
20:43 evalbot_r14675 is now known as evalbot_r14720
20:43 evalbot_r14720 ((1 | 2),)
20:43 nothingmuch ?eval (1|2).all
20:43 evalbot_r14720 ((1 | 2))
20:43 nothingmuch ?eval (1|2).values
20:43 evalbot_r14720 (1, 2)
20:44 nothingmuch there we go
20:44 the_dormant nothingmuch: great
20:44 the_dormant thx a lot
20:44 nothingmuch ?eval my $x = 1 * ( .9 | 1.1 ); [+] $x.values
20:44 evalbot_r14720 2/1
20:44 the_dormant wow that's wonderful
20:45 nothingmuch the_dormant: meet circumfix parenthesis, a.k.a. meta-reduce
20:45 nothingmuch brackets, not parens
20:49 pva-UF joined perl6
20:49 the_dormant nothingmuch: any trick to quickly flatten embedded junctions? ((1|2)|(2|3)) ?
20:49 nothingmuch hmm
20:49 nothingmuch ?eval ** ((1|2)|(2|3))
20:49 evalbot_r14720 Error: ␤Unexpected "**"␤expecting program
20:49 nothingmuch ?eval * ((1|2)|(2|3))
20:49 evalbot_r14720 Error: ␤Unexpected "(("␤expecting operator
20:49 nothingmuch what is steamrolling nowadays?
20:50 the_dormant :)
20:50 TimToady eager()
20:50 nothingmuch ah
20:50 nothingmuch ?eval eager((1|2)|(2|3))
20:50 evalbot_r14720 ((1 | 2 | 3),)
20:51 nothingmuch even with implicit uniq ;-)
20:51 buubot joined perl6
20:51 merlyn the dormant - I think you're confusing a Bag and a Set
20:51 merlyn and that'll bite you later
20:51 the_dormant again! wow
20:51 merlyn 3.5 | 3.5 is just 3.5
20:51 the_dormant merlyn: how's that?
20:52 merlyn so [+] $x.values will be 3.5, not 7
20:52 nothingmuch they carry a boolean meaning, these junctions
20:52 merlyn that might affect your results
20:52 nothingmuch they are not collections, but they represent simultaneous branches in logic
20:52 nothingmuch sort of
20:52 TimToady they're primarily a linguistic construct, not a mathematical one.
20:53 [particle] left perl6
20:53 TimToady better to use real Sets and Bags if that's what you want.
20:53 TimToady lunch &
20:55 the_dormant got it, thx anyway.
21:10 bpphillips left perl6
21:15 nothingmuch the_dormant: i think we should have a Set that works that way
21:15 nothingmuch not 100% sure though
21:16 Aankhen`` joined perl6
21:19 Eimi joined perl6
21:19 beuster is now known as beu
21:20 boo___ joined perl6
21:21 the_dormant nothingmuch: how could I get up.exp(4) .. up.exp(-4) from up and (-4..4) using hyperoperators ?
21:22 nothingmuch map?
21:22 nothingmuch there's hyper method call, but that's one call, many objects
21:22 nothingmuch not one object many calls
21:22 nothingmuch @objects».foo()
21:22 lambdabot Unknown command, try @list
21:22 nothingmuch @botsnack
21:22 lambdabot :)
21:23 the_dormant ok, maybe I should read the synopses again (btw I'm a complete newbie to perl6 but I just love it)
21:27 apple-gunkies joined perl6
21:30 anatolyv joined perl6
21:30 the_dormant ?eval map {1.1.exp($x)} (-4 .. 4)
21:30 evalbot_r14720 Error: ␤Unexpected "(-"␤expecting ",", ":" or operator
21:31 the_dormant oops
21:31 the_dormant ?eval map {1.1.exp($x)}, (-4 .. 4)
21:31 evalbot_r14720 (1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
21:31 Eimi joined perl6
21:31 the_dormant okay, I don't understand this result
21:32 the_dormant ?eval 1.1.exp(-4)
21:32 evalbot_r14720 0.6830134553650705
21:32 TimToady ?eval map {1.1.exp($^x)}, -4 .. 4
21:32 evalbot_r14720 (0.6830134553650705, 0.7513148009015775, 0.8264462809917354, 0.9090909090909091, 1.0, 1.1, 1.2100000000000002, 1.3310000000000004, 1.4641000000000004)
21:32 nothingmuch ?eval map -> $x { 1.1.exp($x) }, -1 .. 4
21:32 evalbot_r14720 (0.9090909090909091, 1.0, 1.1, 1.2100000000000002, 1.3310000000000004, 1.4641000000000004)
21:33 nothingmuch read in S06
21:33 TimToady ?eval map {1.1.exp($_)}, -4 .. 4
21:33 evalbot_r14720 (0.6830134553650705, 0.7513148009015775, 0.8264462809917354, 0.9090909090909091, 1.0, 1.1, 1.2100000000000002, 1.3310000000000004, 1.4641000000000004)
21:33 nothingmuch -> $x is pointy subs
21:33 nothingmuch $^x is implicit param vars
21:33 nothingmuch and $_ is the good ol' "it" or "default", of course
21:34 nothingmuch ah, place holder vars, they're called
21:35 anatolyv i have another tedious question i couldn't find an answer in S02 to. When referencing a variable in the form $foo, what's the rule on the permissible characters in 'foo'?
21:35 the_dormant oh, won't forget that
21:35 nothingmuch anatolyv: you're taking notes about the ambiguities, right? ;-)
21:35 anatolyv that is, what precents the parser from parsing $foo+2 as reference to variable '$foo+2', for instance.
21:35 nothingmuch S02 would thank you
21:36 anatolyv nothingmuch: i'm preparing patch suggestions for everything TT and audrey explain to me here :)
21:36 Eimi joined perl6
21:36 nothingmuch anatolyv++
21:36 nothingmuch IIRC identifiers are \w+
21:36 nothingmuch unicode, of course
21:36 nothingmuch $שלום
21:37 nothingmuch see also tests in t/syntax/*blah
21:37 nothingmuch as for the spec
21:37 nothingmuch i think that if this is not in S02 somewhere it's implied by perlsyn (perl 5)
21:37 TimToady "same as P5"
21:37 anatolyv nothingmuch: but consider that i can declare an infix op named 'bar'
21:37 nothingmuch longest token rule, mandatory whitespace
21:37 anatolyv nothingmuch: and might then want $foobar3 to parse as &infix<bar>($foo,3)?
21:38 nothingmuch that won't ever parse as that, IIRC
21:38 TimToady Fortran might have tried to...
21:38 nothingmuch since the token for var name is longer and thus will win
21:38 anatolyv TimToady: what's "same as P5" here? :)
21:38 Khisanth that is not much different from $foox3
21:38 anatolyv Khisanth: aye.
21:38 Khisanth which is just an error, I don't see why it shouldn't
21:38 TimToady the rule for what constitutes a valid identifier
21:39 TimToady which is basically borrowed from C and Ada etc.
21:39 Khisanth even if perl can understand it, a programmer probably won't
21:39 TimToady but extended by P5 into Unicode.
21:39 anatolyv TimToady: what about Unicode in identifiers?
21:39 anatolyv TimToady: ah.
21:39 nothingmuch my כלב $שזקי
21:39 nothingmuch ^_^
21:40 nothingmuch oh, crap
21:40 nothingmuch that won't work at all
21:40 nothingmuch since the class name implies a gender
21:40 anatolyv TimToady: so basically a p6-parser is justified in eating all the identifer-characters after a sigil, without bothering at that point to check that such a variable is visible from the compiler's point of view?
21:41 TimToady yes, though of course under use strict it must check at the end of the identifier
21:41 anatolyv (what throws me off a bit is the fact that function names are explicitly said to be able to contain *any* non-whitespace Unicode, not ident)
21:41 TimToady well, should check.  as I recall, pugs defers this to run-time, which is a mistake
21:41 anatolyv for example, according to the spec I should be able to declare a function &foo+3 and call it as a bareword
21:42 TimToady only if declared as operators
21:42 anatolyv TimToady: ah! that clarifies it.
21:43 nothingmuch it candefer till the end of compile time
21:43 TimToady but what's the point?  we only allow postdeclaration of functions, not variables.
21:43 nothingmuch no point
21:44 nothingmuch from the user perspective that's the last allowed time
21:44 TimToady yes.
21:44 nothingmuch if it compiles with a bad variable that's a bug
21:44 nothingmuch if it doesn't, when it does is an impl detail
21:44 TimToady but there's much to be said for getting the errors to come out in textual order.
21:44 anatolyv I believe this is an error in pugs: { say $x; my $x; } works fine in strict mode.
21:44 SCalimlim joined perl6
21:44 nothingmuch that's true =)
21:45 TimToady since very often the earliest error is the real one.
21:45 nothingmuch what? don't be silly. a perfect compiler would detect all the other errors just as well ;-)
21:45 anatolyv I guess that's related to the fact that it defers the check to runtime, and enables the use of $x once it sees the pad at the entry to the block, not at the moment of declaration.
21:45 nothingmuch anatolyv: pugs lets such things slide
21:46 TimToady it's my next-in-line pet peeve when audreyt fixes my current pet peeve, which is "compatible with what?"
21:47 TimToady which is what I say whenever it says "No compatible routine found".
21:47 anatolyv heh.
21:48 TimToady P5 at least tells you the class of the object for single dispatch.
21:48 TimToady "can't find method foo via class Bar"
21:48 TimToady or some such
21:49 TimToady things get complicateder for MMD of course
21:49 nothingmuch my #1 pet peeve is errors that require you to Dumper($args) right before foo($args) if foo generated the error
21:49 TimToady basically same peeve
21:49 nothingmuch yeah
21:49 nothingmuch except mine is with most of the CPAN
21:50 nothingmuch my own code too =)
21:50 nothingmuch nothingmuch--
21:51 TimToady "somethings wrong at line 42, please visit "file://your.ad.here" for full explanation and stack trace...
21:51 anatolyv next embarrassingly basic question. S02 talks of equivalence of e.g. $Foo::Bar::baz and Foo::Bar::<baz>. Do I understand it correctly that in the former cases all the ::'s are not operators and in the latter csae they all are?
21:51 nothingmuch actually, what I'm hoping is for exception objects to be used
21:51 nothingmuch so the message can be concise
21:51 nothingmuch but the error itself can contain more than just the message
21:52 anatolyv er, Foo::Bar::<$baz> actually.
21:52 TimToady sure, what I'm saying is you just print the message with a way to get the rest of the information if you want it.
21:52 pjcj joined perl6
21:52 nothingmuch oh sure
21:52 TimToady rather than forcing the user to wade through three square kilometers of error message
21:52 nothingmuch that I don't want
21:53 nothingmuch i want so that when the user is in some debug mode (think -MCarp=verbose but not so thorough) then they get a sort of trap point, like in the debugger
21:53 nothingmuch not just what happenned, and where it happenned, but also the data that caused it to happen
21:53 nothingmuch and, since we have continuations in our exceptions, the ability to fix it
21:53 TimToady anatolyv: arguably even in Foo::Bar::<> the :: need not be treated as operator
21:54 TimToady though the final one is more operator-ish than the one in the middle.
21:54 anatolyv TimToady: I just re-thought it again, rereading the same lines in S02 - the first :: is part of the literal name of tjhe package 'Foo::Bar', and the second is a bona fide operator that turns a prototype object into a package hash?
21:55 TimToady nothingmuch: assuming platform actually supports continuations in exceptions.  we've carefully finessed the exception handling not to actually require real continuations to resume warnings
21:55 nothingmuch oh, of course
21:55 nothingmuch in meant in a good env =)
21:55 nothingmuch there's no need to make $production grind to a halt on exception throws if the user is not making use of it
21:56 TimToady anatolyv: yes, that's what I mean by the second :: being more of an operator.
21:56 lanny joined perl6
21:56 TimToady or you just say that name ending in :: happens to be a package  :)
21:57 anatolyv hmm :)
21:57 TimToady but certainly Foo::Bar.:: is an operator
21:57 lanny fglock: I've been trying your minimal MiniPerl6 examples for  the last day or so on feather.  None work.  Is there something that *should* work there or is it still too unsettled?
21:57 TimToady so I can take it or leave it whether :: is actually treated as operator without the .
21:58 nothingmuch shower + alcohol &
21:58 nothingmuch well, shower >>= alcohol
21:58 anatolyv TimToady: i'm trying to see how much, theoretically, one could parse without compiler knowledge - that is, in this case for instance, whether the parser can parse such constructs without knowing the available pre-declared package names.
21:59 anatolyv TimToady: but I'm guessing that it can't, because it's a bareword, so could be an undeclared function... but on the other hand those can't have '::' in them.. confused :)
21:59 TimToady Foo::Bar is required by P6 to be predeclared if it's a package/module/class
22:00 TimToady otherwise it must be taken as a postdeclared listop
22:00 TimToady and if not postdeclared, fail at end of compilation
22:01 anatolyv TimToady: understood, thanks! and what about the :: in the construct $::($foobar) ? is it an operator?
22:01 TimToady not exactly.  more like ::() is an interpolator in names
22:01 rodi joined perl6
22:03 TimToady but required to interpolate on name boundaries only, so you can't construct name with ::()::(), only with ::("...")
22:03 anatolyv TimToady: it's a special extension to the syntax of identifiers that is grokked by the parser?
22:03 TimToady that is, can't construct hash key from two ::()
22:03 TimToady every ::() implies a symbol table lookup
22:03 TimToady identifiers never contain ::
22:04 TimToady longer things with :: in them I tend to call "names" instead.
22:04 anatolyv oh.
22:05 anatolyv but isn't the package name in 'package Foo::Bar;' a single identifier with literal :: inside it?
22:05 TimToady the $Foo::Bar::baz syntax is actually a bit non-sensical, except that the $ makes it easier to interpolate into strings.
22:05 SubStack joined perl6
22:06 TimToady no, I'd say it's a name with two identifiers
22:06 TimToady and that's just shorthand for a package Bar inside package Foo.
22:07 anatolyv as a result of 'package Foo::Bar;' what's entered into the symbol table of package Main? I thought it was a package object under the key '::Foo::Bar'.
22:07 anatolyv (if I do 'package Foo::Bar;' at top level)
22:07 TimToady no, keys never have :: in them, except possibly as an initial sigil
22:08 anatolyv I think this conflicts with S02:1060
22:08 TimToady it would be like filenames containing / in Unix
22:09 anatolyv which says that in $::{'...'}, I can use anything whatsoever as the key.
22:10 weinig|bbl is now known as weinig
22:11 nothingmuch can you say package $::{'foo::bar'} ?
22:11 TimToady sure, but only because ::{} is bypassing the normal naming rules and providing a low-level interface directly to the hash.  You could go out to disk on a Unix filesystem and poke a / into a filename, but it wouldn't do you much good from userland
22:11 nothingmuch or is that parsed as $::foo::bar ?
22:11 nothingmuch ah
22:11 nothingmuch since my alcohol monad is impl with arrows i get more control ^_^
22:12 * nothingmuch loves having grokked arrows but for the love of god can't dio anything more useful than jokes with that
22:14 anatolyv TimToady: I'm wondering how the parser understands ::{'...'} at all, however. It considers '::' to be a predeclared package name? (if so, that forces you to choose one of the alternatives in earlier ::-is-operator-or-part-of-the-name, I think?)
22:14 anatolyv er, I mean something like ::{'$...'}, with the sigil inside.
22:15 TimToady no, it's the .== operator implicitly operating on the current package to give you something to hash subscript.
22:15 anatolyv if the sigil is on the outside, I guess the name-reading rule just eats up all ::{}, ::<>, ::() as special interpolators.
22:15 TimToady .:: I mean
22:15 TimToady yes.
22:15 TimToady :: is special in names
22:15 TimToady and depends on what the next character is.
22:16 TimToady which is why final :: may or may not be considered .::
22:16 TimToady doesn't really matter, if it works the same.
22:16 anatolyv TimToady: can _any_ postfix (or postcircumfix etc.) operator appear where a term is expected, and be parsed as operating on some implicit argument?
22:17 TimToady no
22:17 TimToady :: is special because it's also a sigil
22:17 TimToady otherwise you must use .op
22:18 TimToady in which case it always works on $_
22:19 anatolyv TimToady: hmm, so ::{'$...'} is parsed not as operator, but as a name, like $foo, and the name-reading rule magically recognizes it as different from ::Int or whatever, and applies .:: on the current package?
22:19 anatolyv TimToady: and .::{$...'} then wouldn't work at all, because it'd want to apply to $_?
22:20 TimToady yes.  it's a name that starts with sigil :: and ends with :: the operator, and it's just sort of an accident that they're the same two colons.
22:21 anatolyv TimToady: excellent, thanks :)
22:22 TimToady you're welcome.
22:22 TimToady nap &
22:22 anatolyv TimToady: so IIRC the exact rule on implicit postops is "if it starts with ., it can appear where a term is expected, and applies to $_", correct?
22:22 anatolyv ah, sorry
22:23 TimToady yes
22:23 TimToady sorry, didn't sleep well last night, must rest &
22:48 pva-UF is now known as FuzzyLogi
22:48 FuzzyLogi is now known as FuzzyLogic
22:51 Eimi joined perl6
22:57 cmarcelo @tell audreyt i'll have some free time this week and with proper guidance I can help you doing oldland => newland or another groundwork... @tell me if it's the case.
22:57 lambdabot Consider it noted.
22:57 cmarcelo dinner &
23:00 audreyt @tell cmarcelo that's the case. but I'm going to fly tomorrow noon; will try to checkin at least the beginning
23:00 lambdabot Consider it noted.
23:03 cmarcelo audreyt: cool. try to let some indication on what (where in tree) should be done ;)...
23:03 lambdabot cmarcelo: You have 1 new message. '/msg lambdabot @messages' to read it.
23:03 cmarcelo @moosages
23:03 lambdabot audreyt said 2m 30s ago: that's the case. but I'm going to fly tomorrow noon; will try to checkin at least the beginning
23:03 cmarcelo now really leaving :P
23:03 cmarcelo &
23:11 elmex joined perl6
23:25 rlb3 joined perl6
23:28 vel6608 joined perl6
23:28 vel6608 joined perl6
23:38 diakopter joined perl6
23:45 diakopter left perl6

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

Perl 6 | Reference Documentation | Rakudo