{"id":6760,"date":"2019-09-27T19:22:43","date_gmt":"2019-09-27T17:22:43","guid":{"rendered":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/?p=6760"},"modified":"2019-09-27T19:27:59","modified_gmt":"2019-09-27T17:27:59","slug":"i1m2019-introduccion-a-la-programacion-funcional-con-haskell","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/i1m2019-introduccion-a-la-programacion-funcional-con-haskell\/","title":{"rendered":"I1M2019: Introducci\u00f3n a la programaci\u00f3n funcional con Haskell"},"content":{"rendered":"<p>En la primera parte de la clase del 27 de septiembre del curso de <a href=\"http:\/\/www.cs.us.es\/~jalonso\/cursos\/i1m-19\">Inform\u00e1tica<\/a> (de 1\u00ba del Grado en Matem\u00e1ticas) se han comentado algunas de las <a href=\"https:\/\/www.glc.us.es\/~jalonso\/ejerciciosI1M2018G4\/index.php\/Relaci\u00f3n_0#Curso_2019-20\">soluciones publicadas<\/a> de programaci\u00f3n de dibujos con CodeWorld; concretamente<\/p>\n<ul>\n<li><a href=\"https:\/\/code.world\/haskell#PcgoVOBwYxUlmn0n-0RVFmA\">Motor de explosi\u00f3n<\/a><\/li>\n<li><a href=\"https:\/\/code.world\/haskell#PuMkLCT3nUXOnnFMgRmHpAg\">Estrellas giratorias<\/a><\/li>\n<li><a href=\"https:\/\/code.world\/haskell#PqziBQSVwvMf8RwVvtxHkZw\">Ojo<\/a>.<\/li>\n<li><a href=\"https:\/\/code.world\/haskell#Px_WEfnd_M78CneGXnXI7yQ\">Guitarrista<\/a><\/li>\n<\/ul>\n<p>En la segunda parte, se ha explicado c\u00f3mo instalar los <a href=\"http:\/\/www.cs.us.es\/~jalonso\/cursos\/i1m-19\/sistemas.php\">sistemas<\/a> Haskell y Emacs.<\/p>\n<p>En la tercera parte, se ha realizado una introducci\u00f3n a la programaci\u00f3n con Haskell usando dos entorno de programaci\u00f3n: Emacs e IHaskell]. Concretamente, se ha explicado c\u00f3mo<\/p>\n<ul>\n<li>usar Haskell como calculadora aritm\u00e9tica (con las funciones +, -, *, \/, div y ^).<\/li>\n<li>escribir guiones de Haskell en emacs.<\/li>\n<li>cargar los guiones y evaluar expresiones con las funciones definidas.<\/li>\n<\/ul>\n<p>Tambi\u00e9n se han comentado las funciones sobre n\u00fameros, listas y booleanos del <a href=\"http:\/\/www.cs.us.es\/~jalonso\/cursos\/i1m-19\/doc\/resumen_Haskell.pdf\">resumen de funciones<\/a> y <a href=\"http:\/\/www.cs.us.es\/~jalonso\/cursos\/i1m-19\/doc\/Funciones_basicas.html\">ejemplos<\/a>.<\/p>\n<p>Finalmente, se ha mostrado el uso de Haskell y emacs (la sesi\u00f3n est\u00e1 grabada en este <a href=\"http:\/\/youtu.be\/T9wbXgPkcXA\">v\u00eddeo<\/a>) y el proceso para la soluci\u00f3n colaborativa de ejercicios (la sesi\u00f3n est\u00e1 grabada en este <a href=\"http:\/\/youtu.be\/B1qfZM7_MWI\">v\u00eddeo<\/a>).<\/p>\n<p>Se han propuesto como ejercicios los de la <a href=\"https:\/\/www.glc.us.es\/~jalonso\/ejerciciosI1M2019G4\/images\/8\/82\/Rel_1.hs\">1\u00aa relaci\u00f3n<\/a><\/p>\n<p>El libro de IHaskell utilizado est\u00e1 <a href=\"https:\/\/mybinder.org\/v2\/gh\/jaalonso\/Temas_interactivos_de_PF_con_Haskell\/master?urlpath=lab\/tree\/temas\/Tema-02.ipynb\">aqu\u00ed<\/a><\/p>\n<p>Los apuntes utilizados son los del <a href=\"https:\/\/www.cs.us.es\/~jalonso\/cursos\/i1m-19\/temas\/tema-2.html\">tema 2<\/a> \n<!-- iframe plugin v.5.0 wordpress.org\/plugins\/iframe\/ -->\n<iframe loading=\"lazy\" src=\"https:\/\/www.cs.us.es\/~jalonso\/cursos\/i1m-19\/temas\/\/tema-2.html\" width=\"100%\" frameborder=\"1\" height=\"500\" scrolling=\"yes\" class=\"iframe-class\"><\/iframe>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En la primera parte de la clase del 27 de septiembre del curso de Inform\u00e1tica (de 1\u00ba del Grado en Matem\u00e1ticas) se han comentado algunas de las soluciones publicadas de programaci\u00f3n de dibujos con CodeWorld; concretamente Motor de explosi\u00f3n Estrellas giratorias Ojo. Guitarrista En la segunda parte, se ha explicado c\u00f3mo instalar los sistemas Haskell&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false},"categories":[331],"tags":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/6760"}],"collection":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/comments?post=6760"}],"version-history":[{"count":6,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/6760\/revisions"}],"predecessor-version":[{"id":6766,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/6760\/revisions\/6766"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/media?parent=6760"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/categories?post=6760"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/tags?post=6760"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}