Erlang Programming/Creating Web Applications with yaws/First Yaws Webapp

From Wikibooks, open books for an open world
Jump to: navigation, search

Files using the file ending suffix ".yaws" will be processed by Yaws dynamic compiler where embedded Erlang code can be written amongst the HTML, as such:

 <html>
  <erl>
   out(Arg) -> 
      {html, "<h1>Hello world.</h1>"}.
  </erl>
 </html>

When a .yaws file is processed by Yaws, the dynamic compiler in Yaws will single out any <erl> tags, compile the erlang code contained within an <erl> tag and cache the compiled resulting binary. Yaws will then during the execution of the Erlang code call the function out/1 in each binary with the arg data structure supplied as the parameter and output the results. In this case, because out/1 returns to Yaws the tuple {html, String}, Yaws will assume the String is html and forward the String to the client.