I read <https://github.com/nim-lang/RFCs/issues/551>. I still have a few 
questions about the NIF. Will there be information about metoprogramming ? I.e. 
generics, templates. Besides, will compileTime things be stored there ? Will it 
be easier to analyze than the current ast ? Am I right to understand that this 
is a maximally simplified ast, i.e. for example
    
    
    template test(x): untyped =
      if something: x
    
    
    Run

In NIF it will be
    
    
    Macros {
      StrVal "test"
      Arg {
        Typed "Untyped"
         SymUse x
      }
      codeFor:
        If something: x
    }
    i.e.
    macro test(x: untyped): untyped =
      if something: x
    
    
    Run

And in general, all templates can be represented as macros. It will do that and 
simplify some constructs to others with the same logic ? If so will there be 
some record of what it was before this typo:
    
    
    Macros {
      Info {
        OldStmt
        TemplateStmt
      }
    }
    
    
    
    Run

Reply via email to