Loading ...
Sorry, an error occurred while loading the content.

Re: [Io] handling basic Makefile as domain specific language

Expand Messages
  • Oliver Kiddle
    ... I think that s a bit of a pity. I can really see why the DSL section is included in the book because it is without doubt one of the things that makes Io
    Message 1 of 5 , Apr 18 6:01 PM
    View Source
    • 0 Attachment
      Jeremy Tregunna wrote:

      > Your only real option is to force a whitespace between the identifier
      > and the : to get around Io's use of it (solely for the purposes of the
      > objc bridge I might add). Alternatively, you can write an actual parser
      > and skip the DSL route.

      I think that's a bit of a pity. I can really see why the DSL section is
      included in the book because it is without doubt one of the things that
      makes Io fascinating. It'd perhaps be intriguing to see what might be
      possible if the definition of an identifier was configurable: something
      like the GNU m4 changeword feature. Perhaps just within the scope of
      parsing for a doString call.

      It's interesting just trying to work out the rules for identifiers. In
      the process I've realised that the "call argAt(1) asString" trick I had
      tried for getting the list of files without requiring quoting would
      fail for files starting with a number or containing a comma.

      I've done a lot of experimenting with different make-like tools recently
      and the Python/Ruby ones are really let down by needing excessive extra
      syntax and other cruft. Io would be a lot better even without being able to
      implement a subset of Unix make's syntax.

      > On Sunday, 15 April, 2012 at 4:08 PM, Oliver Kiddle wrote:
      > > PS. Sorry if you receive this mail twice, I tried to send it shortly
      > > after subscribing but it never arrived in the Yahoo group.

      I guess there must be a list moderator or something then for my message
      to have taken three days.

      Thanks for the answer.

      Oliver
    • Jeremy Tregunna
      Not ideal, but an identifier with a : in its name could only be allowed if it has a valid argument list. This wouldn t break the objc bridge, since: NSString
      Message 2 of 5 , Apr 18 6:43 PM
      View Source
      • 0 Attachment
        Not ideal, but an identifier with a : in its name could only be allowed if it has a valid argument list. This wouldn't break the objc bridge, since:

        NSString stringWithFormat:("%@", otherObject) # is valid, while:

        NSString stringWithFormat: # doesn't make sense

        However, it does introduce special case identifiers into the parsing subsystem, which is less than ideal. If Io's parser were changed such that we introduced an actual macro system ala-lisp into the mix by configuring an intermediate AST which would be fed to the parser, we could make these rules runtime configurable, and scoped to particular objects. This would make the syntax have one meaning in the ObjcBridge when used in messages on objects it provides (or rather allows access to), while having no implicit semantics to other parts of the system.

        I'd like to hear Steve's thoughts on this.

        Regards,

        Jeremy Tregunna

        On Wednesday, 18 April, 2012 at 7:01 PM, Oliver Kiddle wrote:

         

        Jeremy Tregunna wrote:

        > Your only real option is to force a whitespace between the identifier
        > and the : to get around Io's use of it (solely for the purposes of the
        > objc bridge I might add). Alternatively, you can write an actual parser
        > and skip the DSL route.

        I think that's a bit of a pity. I can really see why the DSL section is
        included in the book because it is without doubt one of the things that
        makes Io fascinating. It'd perhaps be intriguing to see what might be
        possible if the definition of an identifier was configurable: something
        like the GNU m4 changeword feature. Perhaps just within the scope of
        parsing for a doString call.

        It's interesting just trying to work out the rules for identifiers. In
        the process I've realised that the "call argAt(1) asString" trick I had
        tried for getting the list of files without requiring quoting would
        fail for files starting with a number or containing a comma.

        I've done a lot of experimenting with different make-like tools recently
        and the Python/Ruby ones are really let down by needing excessive extra
        syntax and other cruft. Io would be a lot better even without being able to
        implement a subset of Unix make's syntax.

        > On Sunday, 15 April, 2012 at 4:08 PM, Oliver Kiddle wrote:
        > > PS. Sorry if you receive this mail twice, I tried to send it shortly
        > > after subscribing but it never arrived in the Yahoo group.

        I guess there must be a list moderator or something then for my message
        to have taken three days.

        Thanks for the answer.

        Oliver


      • Steve Dekorte
        I have it set to moderate new user messages and then turn off moderation for them if their first message is ok. Sorry that I m not very diligent wrt new
        Message 3 of 5 , Apr 27 5:41 PM
        View Source
        • 0 Attachment
          I have it set to moderate new user messages and then turn off moderation for them if their first message is ok. Sorry that I'm not very diligent wrt new messages.

          On 2012-04-18 Wed, at 06:01 PM, Oliver Kiddle wrote:

          >>
          >> On Sunday, 15 April, 2012 at 4:08 PM, Oliver Kiddle wrote:
          >>> PS. Sorry if you receive this mail twice, I tried to send it shortly
          >>> after subscribing but it never arrived in the Yahoo group.
          >
          > I guess there must be a list moderator or something then for my message
          > to have taken three days.
        Your message has been successfully submitted and would be delivered to recipients shortly.