<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for Programming, Languages, Tools</title>
	<atom:link href="http://libraryinstitute.wordpress.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://libraryinstitute.wordpress.com</link>
	<description>Just another WordPress.com site</description>
	<lastBuildDate>Wed, 07 Nov 2012 11:06:31 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>Comment on Loading Javascript Modules by Eric Bréchemier</title>
		<link>http://libraryinstitute.wordpress.com/2010/12/01/loading-javascript-modules/#comment-1012</link>
		<dc:creator><![CDATA[Eric Bréchemier]]></dc:creator>
		<pubDate>Wed, 07 Nov 2012 11:06:31 +0000</pubDate>
		<guid isPermaLink="false">http://libraryinstitute.wordpress.com/?p=46#comment-1012</guid>
		<description><![CDATA[ES6 modules will be a much needed addition to the language, but after the completion of the specification, several more years will pass until browsers that do not support ES6 fall into oblivion.
In the meantime, I would like to have a simple way to declare modules to ensure that I won&#039;t need to modify every single script to take advantage of ES6 Harmony for example.
I find that the transition from namespaced modules to AMD is too steep, with a long tunnel effect caused by the inversion of control.
I am fine with a temporary solution, local to a single project if need be. I am definitely not interested in implementing yet another loader, but I am not looking forward to rewriting a whole code base to adapt to yet another module system.
What I am looking for is something partly similar to the Loader API of ES6:
http://wiki.ecmascript.org/doku.php?id=harmony:module_loaders
but simpler to implement, and adapted to today&#039;s module definitions.]]></description>
		<content:encoded><![CDATA[<p>ES6 modules will be a much needed addition to the language, but after the completion of the specification, several more years will pass until browsers that do not support ES6 fall into oblivion.<br />
In the meantime, I would like to have a simple way to declare modules to ensure that I won&#8217;t need to modify every single script to take advantage of ES6 Harmony for example.<br />
I find that the transition from namespaced modules to AMD is too steep, with a long tunnel effect caused by the inversion of control.<br />
I am fine with a temporary solution, local to a single project if need be. I am definitely not interested in implementing yet another loader, but I am not looking forward to rewriting a whole code base to adapt to yet another module system.<br />
What I am looking for is something partly similar to the Loader API of ES6:<br />
<a href="http://wiki.ecmascript.org/doku.php?id=harmony:module_loaders" rel="nofollow">http://wiki.ecmascript.org/doku.php?id=harmony:module_loaders</a><br />
but simpler to implement, and adapted to today&#8217;s module definitions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Loading Javascript Modules by libraryinstitute</title>
		<link>http://libraryinstitute.wordpress.com/2010/12/01/loading-javascript-modules/#comment-1011</link>
		<dc:creator><![CDATA[libraryinstitute]]></dc:creator>
		<pubDate>Tue, 06 Nov 2012 23:20:48 +0000</pubDate>
		<guid isPermaLink="false">http://libraryinstitute.wordpress.com/?p=46#comment-1011</guid>
		<description><![CDATA[Yes, using function wrappers as parameters to a function with varying definitions to give control over the transition was a core idea in the transition I outlined in this post. But even back then, my definitions were temporary/project-local - the time for advertising &quot;yet another module loader&quot; is long past. AMD-based loaders were a hard enough sell, and they seem to cover the ground well (including adapters for other module systems, without another level of abstraction on top).

Over the next year, I expect the focus to shift towards ES6 modules, partly supported natively, partly transpiled into AMD or CommonJS (as in TypeScript, for instance), for not-yet-supporting engines. Time to work out the remaining issues in that spec, so that we can put the module system variations behind us.]]></description>
		<content:encoded><![CDATA[<p>Yes, using function wrappers as parameters to a function with varying definitions to give control over the transition was a core idea in the transition I outlined in this post. But even back then, my definitions were temporary/project-local &#8211; the time for advertising &#8220;yet another module loader&#8221; is long past. AMD-based loaders were a hard enough sell, and they seem to cover the ground well (including adapters for other module systems, without another level of abstraction on top).</p>
<p>Over the next year, I expect the focus to shift towards ES6 modules, partly supported natively, partly transpiled into AMD or CommonJS (as in TypeScript, for instance), for not-yet-supporting engines. Time to work out the remaining issues in that spec, so that we can put the module system variations behind us.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Loading Javascript Modules by Eric Bréchemier</title>
		<link>http://libraryinstitute.wordpress.com/2010/12/01/loading-javascript-modules/#comment-1009</link>
		<dc:creator><![CDATA[Eric Bréchemier]]></dc:creator>
		<pubDate>Tue, 06 Nov 2012 10:15:07 +0000</pubDate>
		<guid isPermaLink="false">http://libraryinstitute.wordpress.com/?p=46#comment-1009</guid>
		<description><![CDATA[I also experienced this need for a progressive transition from modules declared synchronously in the global scope to module declared asynchronously by wrapping the declarations in a definition function.
With this in mind, I developed a library called scopeornot:
https://github.com/eric-brechemier/scopeornot
It proves a useful tool, which helped me to migrate several projects to a more modular architecture.]]></description>
		<content:encoded><![CDATA[<p>I also experienced this need for a progressive transition from modules declared synchronously in the global scope to module declared asynchronously by wrapping the declarations in a definition function.<br />
With this in mind, I developed a library called scopeornot:<br />
<a href="https://github.com/eric-brechemier/scopeornot" rel="nofollow">https://github.com/eric-brechemier/scopeornot</a><br />
It proves a useful tool, which helped me to migrate several projects to a more modular architecture.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing ESTR (ES traversals and transformations) by libraryinstitute</title>
		<link>http://libraryinstitute.wordpress.com/2012/06/18/introducing-estr-es-traversals-and-transformations/#comment-991</link>
		<dc:creator><![CDATA[libraryinstitute]]></dc:creator>
		<pubDate>Tue, 30 Oct 2012 21:27:44 +0000</pubDate>
		<guid isPermaLink="false">http://libraryinstitute.wordpress.com/?p=112#comment-991</guid>
		<description><![CDATA[I haven&#039;t used doctorjs/jsctags recently, but parts of my modifications/fork were to make it work in Windows (however, I consider the original project effectively dead, so won&#039;t invest time in further fixes to my fork). 

&lt;code&gt;estr tags .&lt;/code&gt; is recursively processing the directories for .js files, including code installed in &lt;code&gt;./node_modules&lt;/code&gt;. It is currently limited to scope-related tags (variable and function declarations, parameters; not object properties), whereas my earlier implementation also inherited some approximations for non-scope-related tags, from the original jsctags. I have filed &lt;a href=&quot;https://github.com/clausreinke/estr/issues/1&quot; rel=&quot;nofollow&quot;&gt;a github issue&lt;/a&gt; to remind me to do something about this.

Since Javascript mixes variables and properties for definitions, with no static restrictions for the latter, a proper &quot;jump to definition&quot; isn&#039;t as easy as in other languages, but estr should do a better job, even if only adopting approximations.

If you can reproduce the issue of keybindings not finding tags that should be in scope (“Ctrl + ]” will ignore scoping when looking for tags), please &lt;a href=&quot;https://github.com/clausreinke/estr/issues&quot; rel=&quot;nofollow&quot;&gt;open an issue&lt;/a&gt; for this, with instructions on how to reproduce, and I&#039;ll have a look.]]></description>
		<content:encoded><![CDATA[<p>I haven&#8217;t used doctorjs/jsctags recently, but parts of my modifications/fork were to make it work in Windows (however, I consider the original project effectively dead, so won&#8217;t invest time in further fixes to my fork). </p>
<p><code>estr tags .</code> is recursively processing the directories for .js files, including code installed in <code>./node_modules</code>. It is currently limited to scope-related tags (variable and function declarations, parameters; not object properties), whereas my earlier implementation also inherited some approximations for non-scope-related tags, from the original jsctags. I have filed <a href="https://github.com/clausreinke/estr/issues/1" rel="nofollow">a github issue</a> to remind me to do something about this.</p>
<p>Since Javascript mixes variables and properties for definitions, with no static restrictions for the latter, a proper &#8220;jump to definition&#8221; isn&#8217;t as easy as in other languages, but estr should do a better job, even if only adopting approximations.</p>
<p>If you can reproduce the issue of keybindings not finding tags that should be in scope (“Ctrl + ]” will ignore scoping when looking for tags), please <a href="https://github.com/clausreinke/estr/issues" rel="nofollow">open an issue</a> for this, with instructions on how to reproduce, and I&#8217;ll have a look.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing ESTR (ES traversals and transformations) by mcr</title>
		<link>http://libraryinstitute.wordpress.com/2012/06/18/introducing-estr-es-traversals-and-transformations/#comment-988</link>
		<dc:creator><![CDATA[mcr]]></dc:creator>
		<pubDate>Tue, 30 Oct 2012 09:47:01 +0000</pubDate>
		<guid isPermaLink="false">http://libraryinstitute.wordpress.com/?p=112#comment-988</guid>
		<description><![CDATA[Hi,
I followed your article regarding jsctags and managed to set it up on my home computer (linux), but I was having problems with installing it on my work computer (windows). Than I saw this article and tried to use estr generated tags with vim. 
I&#039;m able to make tags file with: &quot;node c:\path_to_estr\estr.js tags .&quot; - where dot is file containing my project .js file.
tags file looks big but doesn&#039;t contain much useful info. There are many lines like:
...
advance	./node_modules/estr/esprima.js	1045;&quot;	f	lineno:1045	scope:40:2-3550:1
binding_scope	./node_modules/estr/scope_utils.js	69;&quot;	v	lineno:69	scope:57:10-162:1
...
There are only few lines which refer to my .js file, and they point to simple variable declarations like:
var Main = { };
or
var keyCode = event.keyCode; 

Moreover when I use default key bindings from scoped_tags vim plugin, I&#039;m getting for e.g.:
tag keyCode not found
but &quot;Ctrl + ]&quot; works and I can jump to declaration.

Jumping to declarations, finding definitions is essential for my work flow, and it&#039;s only thing which is stopping me from using vim as my main toll for bigger javascript projects.
Please could you guide me or make a tutorial on how to get such functionality in vim?]]></description>
		<content:encoded><![CDATA[<p>Hi,<br />
I followed your article regarding jsctags and managed to set it up on my home computer (linux), but I was having problems with installing it on my work computer (windows). Than I saw this article and tried to use estr generated tags with vim.<br />
I&#8217;m able to make tags file with: &#8220;node c:\path_to_estr\estr.js tags .&#8221; &#8211; where dot is file containing my project .js file.<br />
tags file looks big but doesn&#8217;t contain much useful info. There are many lines like:<br />
&#8230;<br />
advance	./node_modules/estr/esprima.js	1045;&#8221;	f	lineno:1045	scope:40:2-3550:1<br />
binding_scope	./node_modules/estr/scope_utils.js	69;&#8221;	v	lineno:69	scope:57:10-162:1<br />
&#8230;<br />
There are only few lines which refer to my .js file, and they point to simple variable declarations like:<br />
var Main = { };<br />
or<br />
var keyCode = event.keyCode; </p>
<p>Moreover when I use default key bindings from scoped_tags vim plugin, I&#8217;m getting for e.g.:<br />
tag keyCode not found<br />
but &#8220;Ctrl + ]&#8221; works and I can jump to declaration.</p>
<p>Jumping to declarations, finding definitions is essential for my work flow, and it&#8217;s only thing which is stopping me from using vim as my main toll for bigger javascript projects.<br />
Please could you guide me or make a tutorial on how to get such functionality in vim?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing ESTR (ES traversals and transformations) by Scoped tags support for Javascript, in Vim &#124; Programming, Languages, Tools</title>
		<link>http://libraryinstitute.wordpress.com/2012/06/18/introducing-estr-es-traversals-and-transformations/#comment-693</link>
		<dc:creator><![CDATA[Scoped tags support for Javascript, in Vim &#124; Programming, Languages, Tools]]></dc:creator>
		<pubDate>Mon, 18 Jun 2012 14:49:07 +0000</pubDate>
		<guid isPermaLink="false">http://libraryinstitute.wordpress.com/?p=112#comment-693</guid>
		<description><![CDATA[[...] Programming, Languages, Tools   Just another WordPress.com site      Skip to content HomeAbout        &#8592; Loading Javascript&#160;Modules Introducing ESTR (ES traversals and&#160;transformations) &#8594; [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Programming, Languages, Tools   Just another WordPress.com site      Skip to content HomeAbout        &larr; Loading Javascript&nbsp;Modules Introducing ESTR (ES traversals and&nbsp;transformations) &rarr; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Scoped tags support for Javascript, in Vim by majutsushi</title>
		<link>http://libraryinstitute.wordpress.com/2011/09/16/scoped-tags-support-for-javascript-in-vim/#comment-636</link>
		<dc:creator><![CDATA[majutsushi]]></dc:creator>
		<pubDate>Tue, 24 Apr 2012 16:27:52 +0000</pubDate>
		<guid isPermaLink="false">http://libraryinstitute.wordpress.com/?p=85#comment-636</guid>
		<description><![CDATA[I know what scope is, and this is not really a Tagbar issue. Yes, your range information does refer to the lexical scope once interpreted. My point is just that calling it by the semantic name &quot;scope&quot; seems to imply that it&#039;s independent of changes to the physical representation of the code in a source file. For example, if I add or delete some lines at the top of the file, the actual lexical scope of a tag (as interpreted by the language) does not change, but the information in your &quot;scope:&quot; field is no longer accurate and could even refer to a different class or something else (it&#039;s of course not very likely to line up perfectly somewhere else, but it&#039;s theoretically possible), at least until the tag file gets updated. So all I&#039;m saying is that in my opinion a name that reflects the fact that the field contains information about the *physical representation* of the scope, and not about the semantics (like the name of the enclosing scope), would make more sense. Maybe a name like &quot;scoperange&quot; would be best so the meaning is completely clear.]]></description>
		<content:encoded><![CDATA[<p>I know what scope is, and this is not really a Tagbar issue. Yes, your range information does refer to the lexical scope once interpreted. My point is just that calling it by the semantic name &#8220;scope&#8221; seems to imply that it&#8217;s independent of changes to the physical representation of the code in a source file. For example, if I add or delete some lines at the top of the file, the actual lexical scope of a tag (as interpreted by the language) does not change, but the information in your &#8220;scope:&#8221; field is no longer accurate and could even refer to a different class or something else (it&#8217;s of course not very likely to line up perfectly somewhere else, but it&#8217;s theoretically possible), at least until the tag file gets updated. So all I&#8217;m saying is that in my opinion a name that reflects the fact that the field contains information about the *physical representation* of the scope, and not about the semantics (like the name of the enclosing scope), would make more sense. Maybe a name like &#8220;scoperange&#8221; would be best so the meaning is completely clear.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Scoped tags support for Javascript, in Vim by libraryinstitute</title>
		<link>http://libraryinstitute.wordpress.com/2011/09/16/scoped-tags-support-for-javascript-in-vim/#comment-635</link>
		<dc:creator><![CDATA[libraryinstitute]]></dc:creator>
		<pubDate>Mon, 23 Apr 2012 15:59:00 +0000</pubDate>
		<guid isPermaLink="false">http://libraryinstitute.wordpress.com/?p=85#comment-635</guid>
		<description><![CDATA[Actually, neither doctorjs nor ctags use &#039;scope&#039;. Ctags uses &#039;class&#039; for class members, it does not support lexical scope at all. Some languages introduce class members into the scope chain (I think C++ members are directly accessible in class methods), some don&#039;t (since &#039;with&#039; is deprecated, JS separates object property accessibility from variable scope). This is not a question of how the information is represented in the tags file, it is a question of whether we are talking of variables and their &lt;a href=&quot;http://en.wikipedia.org/wiki/Scope_(computer_science)&quot; rel=&quot;nofollow&quot;&gt;scope&lt;/a&gt; or object/class members and their accessibility - two separate concepts. The &#039;scope&#039; field in my doctorjs-based tags generator describes lexical scope (the only reason for using a range-based representation is that this is something Vim can understand and handle, independent of source language). If that causes problems for tagbar users, I could add a field-renaming option, but I&#039;d rather stick to standard terminology here.]]></description>
		<content:encoded><![CDATA[<p>Actually, neither doctorjs nor ctags use &#8216;scope&#8217;. Ctags uses &#8216;class&#8217; for class members, it does not support lexical scope at all. Some languages introduce class members into the scope chain (I think C++ members are directly accessible in class methods), some don&#8217;t (since &#8216;with&#8217; is deprecated, JS separates object property accessibility from variable scope). This is not a question of how the information is represented in the tags file, it is a question of whether we are talking of variables and their <a href="http://en.wikipedia.org/wiki/Scope_(computer_science)" rel="nofollow">scope</a> or object/class members and their accessibility &#8211; two separate concepts. The &#8216;scope&#8217; field in my doctorjs-based tags generator describes lexical scope (the only reason for using a range-based representation is that this is something Vim can understand and handle, independent of source language). If that causes problems for tagbar users, I could add a field-renaming option, but I&#8217;d rather stick to standard terminology here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Scoped tags support for Javascript, in Vim by majutsushi</title>
		<link>http://libraryinstitute.wordpress.com/2011/09/16/scoped-tags-support-for-javascript-in-vim/#comment-634</link>
		<dc:creator><![CDATA[majutsushi]]></dc:creator>
		<pubDate>Sun, 22 Apr 2012 03:46:52 +0000</pubDate>
		<guid isPermaLink="false">http://libraryinstitute.wordpress.com/?p=85#comment-634</guid>
		<description><![CDATA[It&#039;s not really about doctorjs choices in particular, ctags does the same thing with regard to the &quot;class:&quot; fields etc., and I think that&#039;s actually the right thing to do. Those fields give information that tell you something about the semantics of the tag like &quot;this tag appears in the scope of class X&quot;, independent of how the information is actually represented in the source files. Your &quot;scope:&quot; field however gives the physical range of where the tag is valid *in the source file* and only acquires its semantic meaning of &quot;scope&quot; if it gets interpreted correctly by Vim (or any other compatible program). Therefore I think it would make sense if the field name reflects this difference between physicality and semantics. It&#039;s a relatively minor issue of course, but I do think it would be more consistent.]]></description>
		<content:encoded><![CDATA[<p>It&#8217;s not really about doctorjs choices in particular, ctags does the same thing with regard to the &#8220;class:&#8221; fields etc., and I think that&#8217;s actually the right thing to do. Those fields give information that tell you something about the semantics of the tag like &#8220;this tag appears in the scope of class X&#8221;, independent of how the information is actually represented in the source files. Your &#8220;scope:&#8221; field however gives the physical range of where the tag is valid *in the source file* and only acquires its semantic meaning of &#8220;scope&#8221; if it gets interpreted correctly by Vim (or any other compatible program). Therefore I think it would make sense if the field name reflects this difference between physicality and semantics. It&#8217;s a relatively minor issue of course, but I do think it would be more consistent.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Scoped tags support for Javascript, in Vim by libraryinstitute</title>
		<link>http://libraryinstitute.wordpress.com/2011/09/16/scoped-tags-support-for-javascript-in-vim/#comment-633</link>
		<dc:creator><![CDATA[libraryinstitute]]></dc:creator>
		<pubDate>Sat, 21 Apr 2012 13:58:22 +0000</pubDate>
		<guid isPermaLink="false">http://libraryinstitute.wordpress.com/?p=85#comment-633</guid>
		<description><![CDATA[Thanks. Yes, the confusion is sad, but &#039;scope&#039; is the standard CS term here, while &#039;class&#039;, &#039;interface&#039;, or &#039;type&#039; might have been used for the &#039;is this property access going to work&#039; use. doctorjs&#039;s namespace inference has been broken for so long that I&#039;ve given up hope for bringing the two together. Perhaps it is time for newer JS analysis tools to return to standard terminology? On the other hand, I understand that you need to support the choices made by tag generators, whether or not you agree with them.]]></description>
		<content:encoded><![CDATA[<p>Thanks. Yes, the confusion is sad, but &#8216;scope&#8217; is the standard CS term here, while &#8216;class&#8217;, &#8216;interface&#8217;, or &#8216;type&#8217; might have been used for the &#8216;is this property access going to work&#8217; use. doctorjs&#8217;s namespace inference has been broken for so long that I&#8217;ve given up hope for bringing the two together. Perhaps it is time for newer JS analysis tools to return to standard terminology? On the other hand, I understand that you need to support the choices made by tag generators, whether or not you agree with them.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
