I saw this talk at FCRC/PLDI. It's both very impressive and very well-presented. What follows is what I gathered from the talk; I haven't read the paper but it's on my reading list. The basic idea is that the old notion of a polymorphic inline cache can be nicely generalized to erase away metaprogramming like method_missing or descriptors. PIC is a way to speed up method dispatch. Normally, if you call a method foo i…
Zero-Overhead Metaprogramming
11–20 of 23 posts
Re: Zero-Overhead Metaprogramming
#12Re: Zero-Overhead Metaprogramming
#13Meta question - anyone know if this was autogenerated from latex, and if so how?
Not to 100%. I used a combination for tex4ht, tex4ht configuration, several hacky post processing scripts, and manual editing. Converting a Latex document to a nice HTML site is easily the worst part of the whole writing process :-/
Re: Zero-Overhead Metaprogramming
#14Earlier quoted context omitted.
Not to 100%. I used a combination for tex4ht, tex4ht configuration, several hacky post processing scripts, and manual editing. Converting a Latex document to a nice HTML site is easily the worst part of the whole writing process :-/
Looks great. Out of interest, what were the main things that tex4ht doesn't give you out of the box?
Re: Zero-Overhead Metaprogramming
#15Earlier quoted context omitted.
Looks great. Out of interest, what were the main things that tex4ht doesn't give you out of the box?
Clean HTML (no superfluous tags), proper links to references (the rendering splits the links between author and year), ligatures are broken in browsers, standard footnotes are insensible for HTML, the standard HTML used for headers, figures, and others wasn't to my liking.
In the case of this specific document, there’s all kinds of nasty gappy whitespace in the webpage version.
It’s made worse by the spaces in “et al. 19XX” getting turned into non-breaking spaces. You really want to fix that if you can. For example, look at the 3rd and 9th line in this screenshot. http://i.imgur.com/H6ROnyQ.png
But even disregarding that problem, many lines end up looking pretty bad.
[Note: don’t read this as personal criticism. The fault lies about 90% with the browser vendors who care more about saving a few microseconds of compute time than making legible documents.]
Re: Zero-Overhead Metaprogramming
#16Earlier quoted context omitted.
Clean HTML (no superfluous tags), proper links to references (the rendering splits the links between author and year), ligatures are broken in browsers, standard footnotes are insensible for HTML, the standard HTML used for headers, figures, and others wasn't to my liking.
One recommendation: use ragged-right rather than justified text in the HTML version. Because browsers use a line-by-line text composer instead of full-paragraph composition, and don’t do any hyphenation, fully justified text looks terrible on web pages, especially in relatively narrow columns. In the case of this specific document, there’s all kinds of nasty gappy whitespace in the webpage version. It’s made worse by…
Re: Zero-Overhead Metaprogramming
#17Haven't read it fully, but the first thing that popped in my head - wouldn't Apple benefit from this? There was one very detailed article on how their object method lookup changed over the years, but can't find it right now (Objective C).
Re: Zero-Overhead Metaprogramming
#18Re: Zero-Overhead Metaprogramming
#19Re: Zero-Overhead Metaprogramming
#20Earlier quoted context omitted.
Clean HTML (no superfluous tags), proper links to references (the rendering splits the links between author and year), ligatures are broken in browsers, standard footnotes are insensible for HTML, the standard HTML used for headers, figures, and others wasn't to my liking.
One recommendation: use ragged-right rather than justified text in the HTML version. Because browsers use a line-by-line text composer instead of full-paragraph composition, and don’t do any hyphenation, fully justified text looks terrible on web pages, especially in relatively narrow columns. In the case of this specific document, there’s all kinds of nasty gappy whitespace in the webpage version. It’s made worse by…