Live data from Hacker News

Zero-Overhead Metaprogramming

stefan-marr.de

11–20 of 23 posts

Re: Zero-Overhead Metaprogramming

#11

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…

I appreciate your comment. Yeah, you can often tell how brilliant a solution is when you kick yourself for how obvious it sounds afterwards. I hope to see this stuff get widespread deployment.

Re: Zero-Overhead Metaprogramming

#12
Haven'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

#13
post #5

Meta 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 :-/

Looks great. Out of interest, what were the main things that tex4ht doesn't give you out of the box?

Re: Zero-Overhead Metaprogramming

#14
post #5

Earlier 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?

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.

Re: Zero-Overhead Metaprogramming

#15
post #14

Earlier 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.

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 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

#16
post #14

Earlier 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…

I didn't notice this ever before, then I read your comment. Now I see it all over the place...oh man.

Re: Zero-Overhead Metaprogramming

#17
post #12

Haven'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).

I'm not an expert in Objective C but I believe that all dispatch is done by a library call that accepts the receiver, the message name, and the arguments. This means that there isn't any place to store per-call-site data, such as the kind of caches used in this paper.

Re: Zero-Overhead Metaprogramming

#20
post #14

Earlier 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…

https://github.com/bramstein/typeset
Post reply on HN