Difference between revisions of "Sandbox"
Jump to navigation
Jump to search
(Test of syntax highlight with Cyrillic function names) |
|||
Line 14: | Line 14: | ||
Embedded matrix: |
Embedded matrix: |
||
:<math>\left[ \begin{matrix}1 & 2 \\ 3 & \left[ \begin{matrix}5 & 6 \\ 7 & 8\end{matrix}\right] \end{matrix} \right]</math> |
:<math>\left[ \begin{matrix}1 & 2 \\ 3 & \left[ \begin{matrix}5 & 6 \\ 7 & 8\end{matrix}\right] \end{matrix} \right]</math> |
||
+ | |||
+ | Text taken from http://hpaste.org/3881: this wiki's syntax highlight at least does not garble the source, unlike hpaste's highlight. |
||
+ | |||
+ | <haskell> |
||
+ | module Main where |
||
+ | |||
+ | import Prelude hiding (putStrLn, print) |
||
+ | import System.IO.UTF8 |
||
+ | import Data.List (intersperse, find) |
||
+ | |||
+ | type Персонаж = String |
||
+ | type Персонажи = [Персонаж] |
||
+ | |||
+ | едоки :: Персонажи |
||
+ | едоки = [ "дедка", "бабка", "внучка", "жучка", "кошка", "мышка" ] |
||
+ | |||
+ | подходы :: [ Персонажи ] |
||
+ | подходы = scanl позвать [] едоки |
||
+ | where позвать тянущие подмога = подмога:тянущие |
||
+ | |||
+ | построились :: Персонажи -> [ (Персонаж, Персонаж) ] |
||
+ | построились едоки = zip едоки ("репка":едоки) |
||
+ | |||
+ | диспозиции = map (построились.reverse) подходы |
||
+ | |||
+ | описать [] = "Посадил дед репку ..." |
||
+ | описать диспозиция = |
||
+ | unwords ["Взялись:" |
||
+ | , concat $ intersperse ", " $ map за диспозиция |
||
+ | , ". Тянут-потянут -- " ++ result |
||
+ | ] |
||
+ | where |
||
+ | за (кто,кого) = кто ++ " за " ++ винительный_падеж кого |
||
+ | винительный_падеж ы = init ы ++ "у" |
||
+ | result = case find ((=="мышка").fst) диспозиция of |
||
+ | Just _ -> "вытянули репку!" |
||
+ | Nothing -> "вытянуть не могут!" |
||
+ | |||
+ | main = mapM_ putStrLn $ map описать диспозиции</haskell> |
Revision as of 17:29, 15 November 2007
Feel free to edit as you wish on this page. It is here for you to experiment with WIKI edit syntax.
section
Pavillon | Uge | Uge |
Matrix:
Embedded matrix:
Text taken from http://hpaste.org/3881: this wiki's syntax highlight at least does not garble the source, unlike hpaste's highlight.
module Main where
import Prelude hiding (putStrLn, print)
import System.IO.UTF8
import Data.List (intersperse, find)
type Персонаж = String
type Персонажи = [Персонаж]
едоки :: Персонажи
едоки = [ "дедка", "бабка", "внучка", "жучка", "кошка", "мышка" ]
подходы :: [ Персонажи ]
подходы = scanl позвать [] едоки
where позвать тянущие подмога = подмога:тянущие
построились :: Персонажи -> [ (Персонаж, Персонаж) ]
построились едоки = zip едоки ("репка":едоки)
диспозиции = map (построились.reverse) подходы
описать [] = "Посадил дед репку ..."
описать диспозиция =
unwords ["Взялись:"
, concat $ intersperse ", " $ map за диспозиция
, ". Тянут-потянут -- " ++ result
]
where
за (кто,кого) = кто ++ " за " ++ винительный_падеж кого
винительный_падеж ы = init ы ++ "у"
result = case find ((=="мышка").fst) диспозиция of
Just _ -> "вытянули репку!"
Nothing -> "вытянуть не могут!"
main = mapM_ putStrLn $ map описать диспозиции