<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>I can't say that I'm familiar with frameworks around Scratch for development. However, in a general sense, building a backend server that provides a web interface for usage on an iPad seems perfectly reasonable to me. I've never done exactly that for development tools, but I've used Yesod for making mobile-friendly sites plenty of times.</div><div><br></div><div>On Wed, Sep 7, 2022, at 10:56 AM, Olaf Klinke wrote:<br></div><blockquote type="cite" id="qt" style=""><div>Dear list, <br></div><div><br></div><div>I built a compiler in Haskell for a primary school third-grade<br></div><div>programming concept. It features in the math workbook the class uses. <br></div><div>The language is tiny and its semantics are towers of stacked cubes [*].<br></div><div>The compiler currently has:<br></div><div><br></div><div>* a parsec parser<br></div><div>* a highlighter for parse errors<br></div><div>* a pretty-printer for the language (inverse to the parser)<br></div><div>* an SVG generator<br></div><div><br></div><div>Education goals are<br></div><div>1. procedural thinking (the language has non-nested loops)<br></div><div>2. abstraction <br></div><div>  2a. try to imagine the tower by looking at the source code<br></div><div>  2b. identitfy the program whose semantics is a given tower<br></div><div>3. the write code-compile cycle (understand error messages)<br></div><div><br></div><div>The target school uses iPads (presumably of the pre-arm generation)<br></div><div>whence cross-compiling is probably too much hassle. Therefore I am<br></div><div>considering wrapping the compiler in a Yesod webserver, as SVG is<br></div><div>natively embeddable in HTML. Is the webserver approach favourable for a<br></div><div>class environment? Could I have hacked it together more easily using<br></div><div>other education frameworks, e.g. Scratch? <br></div><div><br></div><div>Cheers,<br></div><div>Olaf<br></div><div><br></div><div>[*] The semantics is even a monoid homomorphism from the monoid of<br></div><div>sequences of commands to the commutative monoid of cube towers. <br></div><div><br></div><div>_______________________________________________<br></div><div>Education mailing list<br></div><div><a href="mailto:Education@haskell.org">Education@haskell.org</a><br></div><div><a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/education">https://mail.haskell.org/cgi-bin/mailman/listinfo/education</a><br></div><div><br></div></blockquote><div><br></div></body></html>