{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,4,1]],"date-time":"2022-04-01T02:43:59Z","timestamp":1648781039003},"reference-count":0,"publisher":"Institute for Semantic Computing Foundation","issue":"1","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IJRC"],"published-print":{"date-parts":[[2021,5,1]]},"abstract":"<jats:p>Robotics is very appealing and is long recognized as a great way to teach programming, while drawing inspiring connections to other branches of engineering and science such as maths, physics or electronics.\nAlthough this symbiotic relationship between robotics and programming is perceived as largely beneficial, educational approaches often feel the need to hide the underlying complexity of the robotic system, but as a result fail to transmit the reactive essence of robot programming to the roboticists and programmers of the future.\n\nThis paper presents Rosy, a novel language for teaching novice programmers through robotics.\nIts functional style is both familiar with a high-school algebra background and a materialization of the inherent reactive nature of robotic programming.\nWorking at a higher-level of abstraction also teaches valuable design principles of decomposition of robotics software into collections of interacting controllers.\nDespite its simplicity, Rosy is completely valid Haskell code compatible with the ROS~ecosystem.\n\nWe make a convincing case for our language by demonstrating how non-trivial applications can be expressed with ease and clarity, exposing its sound functional programming foundations, and developing a web-enabled robot programming environment.<\/jats:p>","DOI":"10.35708\/rc1870-126264","type":"journal-article","created":{"date-parts":[[2021,6,17]],"date-time":"2021-06-17T11:47:36Z","timestamp":1623930456000},"page":"22-46","source":"Crossref","is-referenced-by-count":0,"title":["Rosy: An elegant language to teach the pure reactive nature of robot programming"],"prefix":"10.35708","volume":"3","author":[{"given":"Hugo","family":"Pacheco","sequence":"first","affiliation":[{"name":"INESC TEC"}]},{"given":"Nuno","family":"Macedo","sequence":"additional","affiliation":[{"name":"INESC TEC"}]}],"member":"21352","published-online":{"date-parts":[[2021,5,1]]},"container-title":["International Journal of Robotic Computing"],"original-title":[],"language":"en","deposited":{"date-parts":[[2021,6,17]],"date-time":"2021-06-17T11:47:37Z","timestamp":1623930457000},"score":1,"resource":{"primary":{"URL":"https:\/\/b5589c9e-f1e3-4455-9929-0d78781398a4.filesusr.com\/ugd\/e49175_23a3a43645904eb6a7eeef887b0fff0f.pdf"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,5,1]]},"references-count":0,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2021,5,1]]},"published-print":{"date-parts":[[2021,5,1]]}},"URL":"https:\/\/doi.org\/10.35708\/rc1870-126264","relation":{},"ISSN":["2641-9521"],"issn-type":[{"value":"2641-9521","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,5,1]]}}}