{ "metadata": { "celltoolbar": "Hiding", "language": "haskell", "name": "", "signature": "sha256:7262ddac633b02f026eb4bc29633234f9f8327226256b7f1660e72296f21935b" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "import IHaskell.Display\n", "\n", "-- My widget type\n", "data Slider = Slider\n", "\n", "instance IHaskellDisplay Slider where\n", " display Slider = return $ Display []\n", " \n", "instance IHaskellWidget Slider where\n", " targetName _ = \"WidgetModel\"\n", " open _ s = s undefined >> error \"what\"\n", " " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ ":ext QuasiQuotes\n", "_ <- [myQQ| blah\n", " blah\n", " blah |]" ], "language": "python", "metadata": { "hidden": false }, "outputs": [ { "html": [ "Not in scope: `myQQ'" ], "metadata": {}, "output_type": "display_data", "text": [ "Not in scope: `myQQ'" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ ":!cd ..\n", ":!pwd" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "text": [ "/Users/silver" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "import Text.Parsec\n", "import Text.Parsec.String\n", "import Text.Parsec.Prim\n", "import Text.Parsec.Char\n", "\n", "data List = List [Float] deriving Show\n", "\n", "let -- Parse a nonempty int list like [1, 2, 3]\n", " parser :: Parser List\n", " parser = do\n", " char '['\n", " values <- option [] $ many1 (try float <|> int)\n", " char ']'\n", " return $ List values\n", " \n", " -- Parse an element of an int list, like \"3, \"\n", " int :: Parser Float\n", " int = do\n", " value <- many1 $ oneOf \"0123456789\"\n", " optional $ char ','\n", " whitespace\n", " return (fromIntegral (read value :: Int) :: Float)\n", " \n", " float :: Parser Float\n", " float = do\n", " value <- many1 $ oneOf \"0123456789\"\n", " char '.'\n", " after <- many1 $ oneOf \"0123456789\"\n", " optional $ char ','\n", " whitespace\n", " return (read (value ++ \".\" ++ after) :: Float)\n", " \n", " -- Parse any whitespace\n", " whitespace = many $ oneOf \" \\t\"\n", " \n", "parser" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "