:param str|unicode exp: Haskell expression to evaluate.
        :param dict[str|unicode, str|unicode] files: Dictionary of file names->contents
        :rtype: dict

def raw(cls, exp, files=None):
        """
        :param str|unicode exp: Haskell expression to evaluate.
        :param dict[str|unicode, str|unicode] files: Dictionary of file names->contents
        :rtype: dict
        """
        payload = {'exp': exp}
        if files:
            # TODO: Implement stdin.
            stdin = []
            payload['args'] = json.dumps([stdin, files])
        try:
            return requests.get('http://tryhaskell.org/eval', params=payload).json()
        except ValueError as e:
            raise cls.Error(e)