<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello list,<div><br></div><div>I am pleased to announce a new release of the AppleScript package[1], which supports compiling and running AppleScript code from Haskell, and also supports calling back into Haskell from AppleScript. This release has many new features, including:</div><div><br></div><div>* AppleScript can now call back into Haskell, and return a final result to Haskell</div><div><br></div><div>* a quasiquoter for writing AppleScript code</div><div><br></div><div>* unicode support</div><div><br></div><div>Here is an example showcasing the main features:</div><div><pre style="margin-top: 0.8em; margin-right: 0px; margin-bottom: 0.8em; margin-left: 0px; padding-top: 0.25em; padding-right: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; line-height: 16px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 255); overflow-x: auto; overflow-y: auto; border-bottom-width: 0.25em; border-bottom-style: solid; border-bottom-color: white; color: rgb(0, 0, 0); font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><font class="Apple-style-span" face="Helvetica">&gt; {-# LANGUAGE QuasiQuotes #-}
&gt; import Foreign.AppleScript.Rich
&gt; import qualified Data.Text.Lazy    as Text
&gt; import qualified Data.Text.Lazy.IO as Text
&gt;
&gt; main = Text.putStrLn =&lt;&lt; evalScript mainScript
&gt;
&gt; mainScript = [applescript|
&gt;   tell application "System Events"
&gt;     -- Haskell value splices, and Unicode support.
&gt;     display dialog "The value of π is $value{pi :: Double}$."
&gt;
&gt;     -- AppleScript can call back into Haskell.
&gt;     set yourName to text returned of (display dialog "What is your name?" default answer "")
&gt;     display dialog ("Your name in reverse is " &amp; $callback{ \t -&gt; return (Text.reverse t) }$[ yourName ]$)
&gt;
&gt;     -- Splice other AppleScript code into here
&gt;     $applescript{ othergreeter }$
&gt; 
&gt;     -- Return text from AppleScript back to Haskell
&gt;     return "Hello from AppleScript!"
&gt;   end tell
&gt;  |]
&gt;
&gt; othergreeter = [applescript|
&gt;   display dialog "Hello from the other greeter!"
&gt;  |]</font></pre><div>With this release, I have taken over maintenance from Wouter Swierstra. Many thanks go to Wouter for his original work on this package.</div></div><div><br></div><div>[1]:&nbsp;<a href="http://hackage.haskell.org/package/AppleScript">http://hackage.haskell.org/package/AppleScript</a></div></body></html>