Hacker News new | past | comments | ask | show | jobs | submit login
Website Meta Language (2006) (thewml.org)
28 points by Tomte on Dec 9, 2017 | hide | past | favorite | 11 comments



I ported a WML based university department website to a custom python based stack in 2012, after having worked with the WML pages for 4 years. It was quite a relief, even though I hadn't had clear plans how to make the new system.

If I had to describe WML in a word, I'd say it's cruft. If I remember correctly it is up to 9 languages that you can use at once. (Lots of escaping!) With the exception of embedded Perl, which is about last in the parsing order, I don't remember any other of them to have even remotely usable datatypes. They have at most an ad-hoc macro system where HTML tags serve as function calls.


This seems remarkably complex static site generator. I mean 100kloc of C code in addition to some 12kloc of Perl seems quite a lot to me? Although, poking around, it seems like significant amount of the code might be vendored code from various places.


What a nice classic Perl code. Actually the Perl ecosystem has a number of classic mature libraries for making HTML easy, such as the TT (http://www.template-toolkit.org/) or the old CGI module (http://perldoc.perl.org/CGI.html). From my feeling the community moved on and I know nobody an more who writes modern web applications in Perl, unfortunately.


Text::Template [0] was a favorite of mine, no new language to learn, just embedded Perl. Config::General [1] was another classic, super-flexible markup language for data.

[0] http://search.cpan.org/~mschout/Text-Template-1.47/lib/Text/...

[1] http://search.cpan.org/dist/Config-General/General.pm


booking.com apparently still uses a lot of Perl.


Cpanel uses perl, but their code and QA is universally shit, almost as bad as how they respond to a 101 xss vunerability. not a good advertisement for perl.


Debian seems to use WML for its website, managed by CVS: https://anonscm.debian.org/viewvc/webwml/webwml/


Holy crap! 9 compiler passes? How can anyone reason about such a process? Was this tool, like, actually popular?


How many passes a conventional compiler does?

I don't know, but in my system I have, let's see: 1) read sources, 2) select the subset I want to publish, 3-4) resolve references (two steps), 5-6) assign XHTML IDs to references (two steps), 7) transform to XHTML, 8) update files. I don't see how I can make it smaller, that is, maybe I can cram everything into a single pass, but this will be much more complex than small steps in the pipeline.

And this is the minimum; it's pretty easy to add more passes for various extras.


These 9 passes have only text interfaces. And that means the 9 languages have crude syntax. That's not comparable to your ordinary language's compiler.


Is IMDB still perl?




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: