{"categories":["functional","FunctionalFRP","elm","Elm-lang","ArrowizedFRP","haskell"],"description":"elm\u3067\u3084\u3063\u3066\u307f\u308b\u30b7\u30ea\u30fc\u30ba3: xeyes\u3063\u307d\u3044\u76ee\u304c\u52d5\u304f\u3002 import Mouse -- \u76ee\u306e\u8f2a\u90ed\u3092\u66f8\u304f eyeframe x y = move (x,y) <| outlined { defaultLine | width <- 5 } <| oval 40 50 -- \u76ee\u7389\u3092\u66f8\u304f eyeball x y = move (x,y) <| filled black <| circle 5 -- \u76ee(=\u76ee\u7389+\u76ee\u306e\u8f2a\u90ed)\u3092\u4e00\u500b\u5206\u66f8\u304f\u3002t\u306f\u76ee\u7389\u306e\u898b\u3066\u3044\u308b\u65b9\u5411\u3002 eye r x y t = [eyeframe x y, eyeball ((r * (cos t))+x) ((r * (sin t))\u2026","width":"100%","blog_url":"https://uehaj.hatenablog.com/","image_url":null,"html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fuehaj.hatenablog.com%2Fentry%2F2014%2F07%2F19%2F230401\" title=\"elm\u3067\u3084\u3063\u3066\u307f\u308b\u30b7\u30ea\u30fc\u30ba3: xeyes\u3063\u307d\u3044\u76ee\u304c\u52d5\u304f - uehaj&#39;s blog \" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","version":"1.0","published":"2014-07-19 23:04:01","author_url":"https://blog.hatena.ne.jp/uehaj/","blog_title":"uehaj's blog ","title":"elm\u3067\u3084\u3063\u3066\u307f\u308b\u30b7\u30ea\u30fc\u30ba3: xeyes\u3063\u307d\u3044\u76ee\u304c\u52d5\u304f","author_name":"uehaj","url":"https://uehaj.hatenablog.com/entry/2014/07/19/230401","height":"190","provider_url":"https://hatena.blog","type":"rich","provider_name":"Hatena Blog"}