pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
ingy seen audreyt 03:34
xinming ingy: She is not here for a long time. We all miss her. :'( 03:39
spinclad xinming: word of truth, that 04:48
pugs_svnbot r20051 | putter++ | [misc/STD_red] Bugfixed regressions. Compatibility with old ruby 1.8 improved (to use its ruby -rdebug). 13:44
diff: dev.pugscode.org/changeset/20051
lambdabot Title: Changeset 20051 - Pugs - Trac
Samsta im trying to read a file, but it stops reading when it gets to \x11 17:30
TimToady well, got the Impatience part down, I see... 17:36
pugs_svnbot r20052 | putter++ | misc/STD_red/std.rb: Now executable. To make it more obvious how to play. 17:57
diff: dev.pugscode.org/changeset/20052
lambdabot Title: Changeset 20052 - Pugs - Trac
gbacon so what's up with the cabal build for pugs? 18:02
sordith_ oh no, i am so messed up. i totally forgot to wish moritz_ a happy birthday yesterday 18:26
sordith_ rolls a huge cake in
TimToady gbacon: it seems pugs currently has one foot on 6.6.1 and the other foot on 6.8, and is not quite happy about either of them... 18:28
gbacon noticed that :-) 18:29
pugs_svnbot r20053 | pmurias++ | fixed do
r20053 | pmurias++ | a couple of hacks for tokens to compile
diff: dev.pugscode.org/changeset/20053
lambdabot Title: Changeset 20053 - Pugs - Trac
gbacon oh, that's cute: changing the verbosity level changes the build result 18:37
pugs_svnbot r20054 | pmurias++ | fixed typo 18:59
diff: dev.pugscode.org/changeset/20054
lambdabot Title: Changeset 20054 - Pugs - Trac
mncharity re 'changing the verbosity level changes the build result', !?! ^.^ 19:01
ruoso added himself as a mentor for gsoc, and added smop as a project idea at www.perlfoundation.org/perl5/index.cgi?gsoc2008 19:05
lambdabot Title: gsoc2008 / Perl 5 Wiki
mncharity slogs through syntax... has an "ahhh, Scheme" <pleasant contrast> moment. sanity quickly returns, as does slogging. 19:05
mncharity or maybe not sanity, but "there's a reason for this pain". no place to hang stuff off of sexps. and they're verbose. 19:10
TimToady :] 19:12
wolverian I wish I liked sexps. really. they're so elegant.
TimToady they appeal to people who think integers are really sets of sets of sets of nothing :) 19:13
ruoso I've been thinking a lot about Erland and IO lately
(IO the language, not Input/Output)
and I think I'll consider "Actor" as another built-in type 19:14
who implement a different object representation
where the code that uses it, only have access to the message sender...
and the message handler is implemented in a green thread of its own
and that makes me think that I'll have to implement a scheduler in smop sooner than expected 19:15
TimToady it's hard to schedule a scheduler...
nothingmuch ruoso: actor == an object with async methods 19:16
ruoso not really 19:17
nothingmuch theoretically it's just a responder interface that delegates to a low level thread
should be easy
ruoso in an actor, each instance is private to a single thread...
nothingmuch right
well 19:18
there is no guarantee that it'll be in the same thread
ruoso actor == aync messaging to a single threaded message handler
nothingmuch typically you have as many "real" thread as real CPUs
ruoso nothingmuch, the whole thing is about you having to guarantee that
oh wait...
I think we're talking about different things
nothingmuch erlang has inspired a lot of $work code 19:19
i think it's the same =
)
ruoso every actor instance *is* a green thread...
nothingmuch yes
it's not so much a concurrency guarantee as lack of a synchronization guarantee
ruoso and the reference to that object in other code is just a message sender...
nothingmuch the box type is completely free form 19:20
you can have it be anything
if it's easy to share thread data, great
just make it the value
that is, a pointer to the real inv
otherwise make it some symbolic ref
but that's a VM concern
smop prolly can rely on pthreads 19:21
so it should be easy to share data by default
and the operation should be safe
ruoso as all operation *inside* the actor is serialized
nothingmuch that actually doesn't really matter 19:22
TimToady I kinda see ==> and <== as being the Perl 6 view of that
nothingmuch unfortunately that's too call site specific 19:23
if the calls are just methods with no return values
then you get a "real" actor model
ruoso nothingmuch, it matters because the user knows it doesn't need to use locking inside each message processing...
nothingmuch i think that on the low level it should be possible to implement an async actor 19:24
if someone wants to bother with locking, let em
just don't make it the default
TimToady with feeds we get the actual underlying endpoints by binding one end or the other, I think
then they're just objects
ruoso TimToady, I'm not following... how ==> relates to actors...
nothingmuch, but being lock-free is the entire point of actors... 19:25
nothingmuch it still requires an explicit decsision by the user
ruoso: if optimizing for performance, maybe a specific actor wants to be async
nothingmuch 99% of the time, they don't want to do that 19:25
but i think it should still be allowed somehow, just for flexibility's sake
ruoso I see... but then it can just inherit another implementation, can't it? 19:26
nothingmuch sure
that's a good way to do it
ruoso but this makes me realise that I need a scheduler api on top of the interpreter api (considering the scheduler views the interpreter as a green thread) 19:28
mncharity for a STD rul like token dotty:sym<.+> { <sym> <methodop> {*} } #= plus ... what's the expected Match looklike. ie, where does the "plus" go? dotty:plus? 19:29
ruoso TimToady, about ==> and actors... let me see if I got it right... ==> would turn the other end into an actor, and the scheduler would work just like unix pipe... is it? 19:32
TimToady the {*} represents a reduction called with an argument of "dotty:sym<.+> plus" or some such
i.e. the name of the rule plus the #= comment
mncharity hmm... tnx... hmm...
ruoso TimToady, not like unix pipe... but like if there was a pipe between two processess
TimToady it just wants to be a unique key
it's an object pipe, yes 19:33
as with Unix pipes, it makes a fundamental anti-promise about synchronicity
[particle] how modern. you can see the plumbing.
TimToady that would be postmodern
it's all a series of ducts... 19:34
and undoubtedly it's just syntactic sugar for something like Actors underneath
ruoso so a ==> b ==> c ==> d would create a green thread for each of b, c and d... while the result of a would be message one by one to b...
and so on... 19:35
mncharity I've just now been, without thinking it through, embedding the comments in the match structure. eg, [... | <a> <b> #=foo\n...] gets a $<foo><a> and $<foo><b>, where really treating them as comments it would be $<a> $<b>.
TimToady ruoso: yes, and presumably we recognize the form of b to know whether it's a real thready process or just a "tap"
mncharity perhaps $<a> $<b> $<comment>='foo' would be better.
ruoso I was thinking about doing it manually with CPS... but the Actor abstraction is certainly healthier 19:36
[particle] right, postmodern. duh 19:37
TimToady mncharity: well, if you want to set up the default reduction for {*} to do that, sure, but I wasn't thinking it was necessary to poke those into a match tree unless the reduction wants it
there are a lot of {*} in there that probably just want a null reduction and let the parent name the result 19:38
TimToady s/in there/in STD/ 19:38
might even want to remove a few {*} where they interfere with LTM 19:39
since they stop the longest same as :: does
ruoso home & 19:41
TimToady I probably erred on the side of putting too many {*} than too fuew...
*few even
mncharity re 'poke those into a match tree', there some cases where it saves later "figure out which branch we took by which keys got defined", or worse, "by looking at the raw text" (eg, to check for ! in :!x, rather than having a fake colonpair__false type node which is $<false> in a colonpair. The last just made we wince, but... something... so the info isn't lost. 19:42
TimToady and generally, if the tag of the {*} is meaningful for the parse, it should not have used a tag
*nod* it's a balancing act there
if you never throw out the old emails the congress will eventually subpeona you for them... :) 19:43
and until then the extra info just clutters up your storage vault... 19:44
mncharity which if you haven't been breaking the law, is at most embarrassing.
TimToady but there's real info embedded in all the dross too, as you say...
mncharity well, and the admin cost of responding to the subpeona
oky, time for a break
TimToady ciao 19:45
lichtkind TimToady: i would like to comment your "make gold" sentence yesterday 19:46
pugs_svnbot r20055 | putter++ | misc/STD_red/std.rb: sync'ing, and the addition of Match()s, continues.
diff: dev.pugscode.org/changeset/20055
lambdabot Title: Changeset 20055 - Pugs - Trac
mncharity not &, but rather, change of topic/focus. :)
nothingmuch: you were interested in attribute grammars a while back, yes? did you have any particular engine in mind? Stratego looks interesting, though their installation story at the moment, until they get their next release out, is painful. 19:48
lichtkind TimToady: i think your considerably wise and thats one reason why i choose perl over python some years ago, and what you once said about esoteric knoledge is true by in large and furthermore i have lot of respect for your christian believes but ...
mncharity it's also a bit ad hoc - a system and dsl designed specifically to be a compiler internals. vs a more language-y approach, like using a hs library. 19:49
TimToady it was a cheap shot, and I apologize
mncharity anyway, I'd be interested in your thoughts on what the "we start compiling" step after mindless emitting from ast's might look like. 19:50
lichtkind TimToady: but i got the impression you don't got the point yet what is esoteric all about (esoteric in german sense :) ) 19:52
TimToady I just see a lot of "esoteric" that is proud: "I know this and you don't, nyah, nyah, nyah". I'm willing to admit that there can be esoteric that is humble too. :) 19:54
as C.S. Lewis was fond of pointing out, a real religion needs to have both "thick" and "thin" aspects 19:55
TimToady it needs to be transparent enough that a child can understand, and deep enough that the wisest philosopher can't get to the bottom of it. 19:55
it's easy to fall off on either side... 19:56
and I think this applies to programming language design too. :)
lichtkind TimToady: thats what i wanted say mow :)
TimToady as I said, it was a cheap shot, and I'm sorry. on the other hand, I think even humble esoterica can simple be misguided 19:57
sordith_ TimToady: i think what you created together with other hackers comes pretty close to that perfect religion :D
TimToady and obviously there's enough contradictory esoterica in the world that it can't all be right. :)
lichtkind TimToady: the problem that i have with religion, is that its a tool to rule people and criple their mind, the best PR athiest can get. nevertheless i like your approach to it. and yes ihe basic rules of life can understand a child but ... 19:58
TimToady sordith_: well, maybe it's at least a picture of a what a good religion ought to be like 19:59
but as with all human institutions, it's far from infallible...
lichtkind: there are far too many people who find religion convenient for their own purposes. if your religion never feels inconvenient, it's not doing you much good... :) 20:01
and I find the core of the christian faith to be exceeding inconvenient when it's good for me. :)
lichtkind i understand what you mean but its acually not something i believe
sordith_ lichtkind: maybe the hardest part about religion is the state, where you realize that what is best for you does not necessarily have to be the best for another person 20:02
lichtkind yes and now 20:03
sordith_ so i cant just go and beat a person down for using PHP because Perl is such much better for my purposes
lichtkind the point i try to make that TimToady approach is too rosy eyed too me
TimToady here in northern california we have all sorts of people who think they can invent their own private religion cafeteria style, but there's no sacrifices to be made
TimToady I don't think I'm rosy eyed. I just try not to confuse what people say with what they really are 20:04
[particle] spambots?
sordith_ and thats a few steps further in the path of achieving wisdom 20:04
cause - no offense lichtkind - i know you from lots of chatting, i know you did not mean it in a bad way - but the comment about being rosy eyed is about making a judgement. and wise people would not do that no matter what religion is right for them 20:06
your religion is good if it allows you to accept that other people have a different religion 20:07
TimToady in my theology there's only one person who ever did a perfect job of conveying the message, and many who fail miserably, and many who say they do but are evil, and make the truth stink. it's all part of reality, but the stinky parts do not excuse us from looking for the good. 20:08
[particle] i'm sorry, this channel is for developing the new version of religion. you're probably using an existing religion, and should jump to #perl ;) 20:08
lichtkind sordith_: it was no judgement, is you caring and friendly like larry and having his opinion it can only mean that he doesn't know some bits about christianity in the early days
sordith_ [particle] :D
lichtkind [particle]: it over in 1min plz 20:09
[particle] talk as long as you like, i'm just making a joke
lichtkind sordith_: i have no problem whatssover people believe but i have an opinion whats an illusion and whats not 20:10
sordith_: its part of normal growing up to not impose your opinion to other people
no matter what kind of opinion 20:11
sordith_ lichtkind: you think that, and i have the feeling that i know why you think that. but there is a flaw in that point of view, in the assumption of a boolean type of situation, whether you are right or wrong or the other person is right or wrong. but religion is exactly _not_ about that
lichtkind sordith_: of couse it is :)
lichtkind if its not its not worth called religion in the latin sense 20:12
sordith_ lichtkind: define religion for yourself. the moment you find the right definition you will stop to feel any need to concince other people about the right choices. you will be able to show them what you have and allow them to choose 20:13
lichtkind sordith_: religion comes from re-ligare: it means religion is what helpes you reconnect to god 20:14
and a connection is something you feel and know no need to believe
sordith_ lichtkind: you go backwards right now and try to convince me with the truth of other people. it does not matter where the word religion comes from and who made that up :-) 20:14
lichtkind idiology are arbitrary information and do not connect to god 20:15
no i just clear the definition :)
TimToady I think that depends on what God thinks, not on what I think. :)
[particle] media3.washingtonpost.com/wp-dyn/co...300924.jpg 20:16
lambdabot tinyurl.com/ysonwr
sordith_ [particle]: thats a nice one 20:17
lichtkind TimToady: in my theology many had many or few valueable bits, jesus was one of the best in recent times, but that all just tools to wake me up to realise that i am god in carnation 20:18
haha
TimToady and have you never wondered what God thinks of that? 20:19
lichtkind TimToady: i think thats what he like that we lealise since all parent what their children to be no less than themselve 20:20
s/lealise/realise/ 20:21
TimToady sure, but the parents like to be asked for advise on that subject too. :) 20:21
lichtkind TimToady: haha, i think at first parents wish well for their children, when the come and ask its even better 20:22
lichtkind thatswhy i also think that god has no problem with any religion as long as it don't prevents to have contact with his children 20:24
eggzeck grammar check ;-) 20:25
lichtkind but i also wanted to code some new feature into kephra 20:26
lichtkind TimToady: just one comment to the cs lewis thing with "religion needs to have both "thick" and "thin" aspects" 20:28
TimToady: i think the basic truths are simple, but by the time you grow mentaly and spiritually you understand more layers of that same truths, maybe that what lewis mean with thick and thin end 20:29
pugs_svnbot r20056 | putter++ | misc/STD_red/STD_red_run: created. 21:38
diff: dev.pugscode.org/changeset/20056
lambdabot Title: Changeset 20056 - Pugs - Trac
lichtkind TimToady: thank you for the adventure 22:15
pmurias [particle]: where does the past->yaml live? 22:28
mncharity In STD.pm, token infix:sym<=>, what is self.<sigil> ? The grammar has a sigil field? 22:30
TimToady mncharity: presumably hoisted up into self by lines (such as in noun) that say: | <variable> { $<sigil> = $<variable><sigil> } 23:24
but it's not entirely clear that self can represent the match object on the left quite so transparently 23:25
anyway, it's just a first whack at defining the parsing of item assignment vs list assignment based on the recent simplification
likely a cleaner way would be to have a "thisterm" to go with "thisop" so we could cleanly refer to the previous term while looking for an infix or terminator 23:27
the current notation was mostly just shorthand for (propagate the sigil out of what I just matched somehow or other) 23:28
mncharity ah, ok. tnx. hmm... 23:30
TimToady anyway, it's trying to make the distinction of S03:2104
if these were true attribute grammars it would just naturally propagate upward when we asked for it. :) 23:31
mncharity ah, I was just thinking of requesting a pointer to literature. :)
re attribute grammars, there's a thought.
:)
TimToady the same role is currently filled by context vars mostly 23:32
TimToady attribute grammars are simultaneously too powerful and not powerful enough :) 23:33
mncharity re S03:2104, I've forgotten, is there a web Snn with line numbers somewhere?
TimToady see the end of irclog.perlgeek.de/perl6/today and click the link there... 23:34
mncharity re 'not enough', yeah. which is why I really liked the "Grammars as spec which the collective parser wienies of the world could build and tweak engines against". maybe get back to that once ruls/subs are objects, and thus can participate in a non-executable way. 23:36
mncharity re 'click the link there', hmm, I'm seeing two line-numberless versions of S03, one as Pugs POD Operator.pod, and one as Spec from perlcabal. What am I missing? 23:42
ah, you can attach #line_NNN to the perlcabal url. 23:44
lichtkind are .fmt methods still valid perl ? 23:45
mncharity it might be nice if perlcabal.org/syn/ actually said that somewhere. or there was a form at the top of the Snn. reading the html source to find it seems a suboptimal ui. :)
lambdabot Title: Official Perl 6 Documentation
TimToady the link recognition for S03:2104 should automatically add the lined number directive for you, if you click on that particular link 23:47
lichtkind: yes, unless we decide to simplify somehow 23:49
lichtkind thanks. iwandered if tablets are still correct on this, just braging but my index has 308 entry 23:50
mncharity re Snn:N, ah. d'oh. towards the bottom because it had just been said, not towards the bottom because it was in the footer.
TimToady mncharity: anyway, when I mouseover the link I see the line number 23:51
mncharity is there any easy web-based way to get from text *to* line numbers?
TimToady ah, sorry I was unclear
mncharity np 23:52
TimToady not that I know of. but I work straight from the pod files :) 23:53
mncharity right.
TimToady it would probably be more useful for posterity if the linker intuited a pattern to match instead of the line number, since the line numbers change over time 23:54
'course, sometimes the words change too... 23:55