Perl 6 - the future is here, just unevenly distributed

IRC log for #marpa, 2014-01-12

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

All times shown according to UTC.

Time Nick Message
17:30 _ilbot joined #marpa
17:30 Topic for #marpa is now Current release: https://metacpan.org/pod/Marpa::R2   Source: https://github.com/jeffreykegler/Marpa--R2
17:31 moritz http://irclog.perlgeek.de/marpa/today # logs here now
17:31 jeffreykegler Thanks!
17:31 Topic for #marpa is now Current release: https://metacpan.org/pod/Marpa::R2   Source: https://github.com/jeffreykegler/Marpa--R2   public logs at http://irclog.perlgeek.de/marpa/today
17:38 LlamaRider joined #marpa
17:39 LlamaRider joined #marpa
17:40 jdurand joined #marpa
17:41 jdurand it works -;
17:41 jeffreykegler Hello, Jean-Damien
17:41 jdurand Hello Jeffrey - this is nice to be in live with you
17:42 jeffreykegler I'm now looking for Linux IRC clients.
17:43 jeffreykegler Great job with ::C::AST
17:44 jdurand Thanks - I hope this will be used - I am very happy with it, because I certify that it works OK with at least gcc, its mingw port, and cl
17:44 jeffreykegler I'd like to use it for indenting in Cweb
17:44 jdurand about irc clients, I bet google is your friend - the old school is irssi, the popular is pidgin
17:45 jeffreykegler I have in Cweb of course lots of C code ...
17:45 * moritz is a long time irrsi user
17:46 jeffreykegler But it contains various annotations such as @<Other code here@>
17:46 jeffreykegler moritz: thanks
17:47 jdurand Your usage of Cweb was very interesting for me - any feedback asking for more feature in cscan will be appreciated
17:47 jeffreykegler jdurand: Could you template a C indenter?  Just something very basic as a start for my hacking?
17:47 LLamaRider1 joined #marpa
17:48 jdurand A c indenter that respect current existing newlines/spaces/tabs or something that redo it totally from scratch
17:48 jdurand moritz:yep many thanks for this channel
17:49 jeffreykegler From scratch is my personal preference, but whatever is easiest ...
17:49 jeffreykegler the idea is that the first cut would be a start ...
17:49 jeffreykegler it need have no options, for example, on the idea that (at least initially) ...
17:49 jeffreykegler you customize by forking and hacking.
17:51 jdurand ok - easy to do. I'd take the full AST, loop on it with MarpaX::Languages::C::AST::Data::Util::Find - will tell you
17:52 jeffreykegler Thanks!  It will make my life a lot easier ...
17:52 jdurand no pb
17:52 jeffreykegler By the way, my "preference" is GNU indentation ...
17:52 jeffreykegler not because I actually like it, but because it's the default and it's a standard.
17:52 jdurand ok
17:53 jdurand btw: in the pipe of low-hanging fruit btw I have CSS, Xpath2.0
17:53 jdurand will be back in few minutes - wife's calling
17:54 jeffreykegler1 joined #marpa
17:56 jeffreykegler1 left #marpa
17:57 jeffreykegler1 joined #marpa
17:58 LLamalessRider joined #marpa
18:01 LLamalessRider hi #marpa people!
18:01 jeffreykegler1 hello and welcome
18:01 LLamalessRider pardon my noise; ended up trying to learn irssi as an IRC client, all the grpahic ones for Ubuntu/Gnome end up crashing in absurd ways.
18:02 jeffreykegler1 that would be off-topic -- this channel is for the Marpa parser.  Sorry
18:03 LLamalessRider oh, i didn't mean to discuss anything about it, just apologizing. double the pardon :)
18:03 jeffreykegler1 Actually perhaps I was hasty.
18:03 jeffreykegler1 After all, we *had* just been talking IRC clients.
18:12 jdurand Yes, this is the first day of this channel, and not all of use are using IRC regularly - choosing a client that fits your need is normal
18:13 LLamalessRider I am hoping #marpa is the last straw for me to become a regular IRC user again ... I keep popping on and off. Oh, I'm Deyan from the mailing list btw.
18:13 jdurand Hello Deyan
18:14 LLamalessRider Hi!
18:14 jdurand Jeffrey, cindent is already existing name, c.f. http://invisible-island.net/cindent/, unfortunately
18:15 moritz left #marpa
18:16 jdurand I propose to name the C indenter that Jeffrey has suggest: cpretty
18:16 jdurand has suggested
18:17 jeffreykegler1 Deyan: Actually, I should apologize.  I didn't recognize the alias.
18:18 jeffreykegler1 jdurand: "cpretty" is nice
18:18 jdurand ok
18:20 LLamalessRider no worries :)
18:24 LWA jeffreykegler1: A bit of administrative stuff: (1) are you new to IRC? (2) have you registered your “nick”?
18:25 jdurand joined #marpa
18:25 jeffreykegler1 LWA: yes and yes
18:26 jeffreykegler1 LWA: I registered as "jeffreykegler"
18:26 LWA good. use "/nick YourName" to switch the name
18:32 LLamalessRider joined #marpa
18:33 LWA jeffreykegler: you now have certain "flags" set on your name: you are listed as a channel-co-founder, can become "operator", set the topic etc.
18:39 lucs LWA: I removed my +F flag, so this channel is all you guys's now :)
18:40 LWA lucs: Thanks for opening it :) and come back anytime
18:40 lucs You bet!
18:46 jeffreykegler joined #marpa
18:54 jdurand LWA, Marpa-Inline is yours is that true
18:54 LWA jdurand: Yes, It's my current side project
18:55 jdurand is that correct is a better phrasing sorry
18:55 jdurand very good
18:55 jdurand I liked it - and wonders if you could implement what I did at the time of NAIF interface: the EBNF exclusion mechanism ([range of character] - [another range])
18:56 jdurand or ([range of character] - 'C')
18:56 jdurand then EBNF would become native almos
18:56 jdurand almost
18:56 jdurand and then....
18:56 jdurand Importing SAL grammar, W3C grammars will be almost a noop
18:56 jdurand SQL grammar
18:57 jdurand sorry swithing between french and swiss keyboards every day has its side-effects
18:57 LWA Well, I'm currently compiling ideas for the “IRIF”, and that is an interesting one
18:58 LWA however, I'm currently more in favour of Perl regex integration instead of character classes
18:58 jdurand good
18:58 jdurand then I also propose that you can have externalized discard rules
18:58 jeffreykegler LWA: I saw your IRIF write-up of 24 hours ago on Github and very much liked it
18:58 LWA of course the two are not exclusive
18:58 jdurand W3C for example has; [VC: something] if I remember well
18:59 jdurand Native EBNF something else
18:59 jdurand etc.
18:59 LWA :discard is not going to be part of the IRIF
18:59 jdurand ok
19:00 LWA jeffreykegler: which write-up? the readme?
19:01 LWA I've collected more ideas here: https://gist.github.com/latk/8361936 – but some of them are not going to work
19:01 jeffreykegler Yes, that one
19:01 LWA I spent a good part of yesterday thinking about offside-rule lexers
19:02 jeffreykegler LWA: Are you thinking of writing at the THIF level?
19:02 LWA (I.e. python, haskell, semantic whitespace)
19:02 LWA jeffreykegler: nope, I'll write a middle-layer
19:03 jeffreykegler LWA: A middle-layer built upon ?
19:03 LWA sorry, upon the THIF
19:03 jeffreykegler OK, that's what I meant by "writing at the THIF level"
19:04 LWA about the off-side rule: Does anyone have an idea how that could be done? It's a bit more difficult than here-doc processing, but fundamentally similar: The scanner has to maintain state
19:05 jeffreykegler "off-side rule"?  Point me to the section in the doc (if there is one)
19:05 LWA Here is the wikipedia article: https://en.wikipedia.org/wiki/Off-side_rule
19:06 * jeffreykegler goes off to read Wikipedia
19:08 jeffreykegler Oh.  That stuff.  I'll think about it.
19:08 jdurand Jeffrey, I have a question about your recent refactorings
19:08 jeffreykegler Yes?
19:08 jdurand How much logic is still in the XS
19:09 jeffreykegler Too much.  Much too much.
19:09 jdurand Yes
19:09 jdurand Let me develop my idea
19:09 jeffreykegler Basically, I've laid infra-structure to move logic down, but actually moved very little.
19:09 jeffreykegler Go ahead
19:09 jdurand OK - as you know, the best modules are those with no intelligence
19:10 jdurand I mean, for example, let's take the JNI (Java Native Interface): the besdt JNI is the one that just "proxies' between the language to an library behind
19:11 jdurand if one day, all the "business" logic could be in a marpa library
19:11 jeffreykegler yes
19:11 jdurand then we could envisage seriously to redo a SWIG exercice:
19:11 jdurand I mean provide interface to a lot of languages
19:12 jeffreykegler Right, one of my objectives.
19:12 jdurand the the Perl XS would be the template for other proxies, in particular JNI/Haskell/Python/ etc
19:12 jdurand I am glad to hear this is one of your objectives
19:12 * jeffreykegler shudders at the idea of people looking at his XS code.
19:13 jdurand and I am sorry nobody else but you really masters the THIF -; I would like to, but I am afraid that the knowledge of language theory is a showstopper
19:14 jeffreykegler Yes, it is for a lot of people
19:14 jeffreykegler I think a lot of people may be learning parsing/language theory from Marpa
19:15 jdurand Yes, agreed. Anyway, I am glad we also agree on the concept of having the most stupid XS as possible in the future
19:15 jeffreykegler Ok, right.  The XS should be a lot more stupid than it is.
19:16 jeffreykegler One solution, by the way, may lie in the approach LWA is taking
19:17 jeffreykegler The THIF *is* a stupid interface.
19:17 jeffreykegler If you write for it, all the other XS code become irrelevant.
19:17 jdurand Exactly. That's exactly why this is a very interesting, that deserves community thinking and/or contributions
19:18 jdurand I guess we should let LWA finish designing it, wanted features etc
19:18 jdurand LWA we count on you -; !
19:19 LWA well, I've made a list of "want" features. Now I'm looking what's possible in the near future, and start implementing this week
19:20 jdurand Many thanks - let us know, I'll be happy to contribute if my competences fits your project
19:23 LWA thanks. Once I've settled on the features for "IRIF v1.0", I'll come back with questions.
19:24 jeffreykegler I will be very happy to help.
19:27 jeffreykegler By the way, the need to make the XS more stupid is why I avoid putting Perl dependencies in the SLIF -- inline actions, etc.
19:28 jeffreykegler It's not that these things are not good ideas, it's just that they take the XS code the wrong way.
19:49 ilbot3 joined #marpa
19:56 jdurand jeffreykegler: agree
19:57 ilbot3 joined #marpa
19:59 jdurand q on this channel: do you know if the logs are archived
19:59 jeffreykegler yes
20:00 jdurand Ah, this is in the banner - very good. Thx.
20:01 LLamaRider The more amazing things, moritz has this amazing utility that makes the channel totally public - irclog.perlgeek.de/marpa/today .
20:01 LLamaRider I am already quite used to catching up on Perl6 from that interface, it's super handy
20:02 jdurand Yes - remarquable and bookmarked
20:07 LLamaRider I'm back to trying to do basic compositional semantics using the ASF code. When I reach a token, is there any way to ask for the "action" that should be executed? (Or the result of that action?)
20:08 * jdurand instanciated cpretty on github
20:09 LLamaRider I'm trying the traversal as exemplified in full_traverser() in the ASF docs.
20:25 sivoais joined #marpa
20:32 jeffreykegler LLamaRider: If you want (say) per-rule actions, you can (for example) create an array by rule ID with your handlers.  The ASF interface has a single handler.
20:33 jeffreykegler The reason for the single handler is that, unless the case of an AST, where it's pretty obvious what values a node wants and what it should pass to the upper layer ...
20:34 jeffreykegler in an ASF, it is not at all obvious how you want to deal with the two-dimensions: ambiguity and multiple child nodes.
20:35 jeffreykegler You might want results, as in rules, which you then put in array ...
20:35 jeffreykegler Or you might want only one result, based on some sort of criterion.
20:37 LLamaRider Ok, I got lost halfway through your explanation. First, you are saying I shouldn't be using the SLIF 'action' adverb
20:38 LLamaRider but instead have a special array of my actions that will be invoked by rule ID, programmatically
20:38 jeffreykegler LLamaRider: yes, correct.
20:38 LLamaRider In this regard, I was wondering why you have the "bless" adverb in the ASF docs panda_grammar, given that they (seem to?) be never used
20:39 LLamaRider but ok, I can definitely give that a spin, it seems a bit more obvious. Maybe if I get a handle on my use case there will be some insight to how to build a higher level interface.
20:40 LLamaRider *wanders off to tinker*
20:40 LLamaRider thanks!
20:40 jeffreykegler LLamaRider: re the use case -- exactly right.
20:41 jeffreykegler What makes sense as a way of handling semantics depends entirely on what you're trying to do.  And with ASF's there are more dimensions to "what to do" than with AST's.
20:43 LLamaRider jeffreykegler: I think I am following. And now I am getting flashbacks. For one of my use cases I need a generic "disjoin these" handler for ambiguities, I will try to code that down.
20:45 jeffreykegler LLamaRider: re t/sl_panda.t.  The "bless" adverbs *are* used ...
20:46 jeffreykegler The example is run twice, once via ASF's, and once using the usual $slr->value() interface, called multiple times, once for each tree.
20:46 jeffreykegler The bless adverb is for the second case.
20:48 jeffreykegler left #marpa
22:34 peter joined #marpa
22:39 pstuifzand joined #marpa
22:41 jeffreykegler joined #marpa
22:57 idiosyncrat left #marpa
22:57 jeffreykegler joined #marpa

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