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