Send Beginners mailing list submissions to beginners@haskell.org To subscribe or unsubscribe via the World Wide Web, visit http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners or, via email, send a message with subject or body 'help' to beginners-requ...@haskell.org
You can reach the person managing the list at beginners-ow...@haskell.org When replying, please edit your Subject line so it is more specific than "Re: Contents of Beginners digest..." Today's Topics: 1. 2d layout description? (Mario Lang) ---------------------------------------------------------------------- Message: 1 Date: Mon, 12 Jun 2017 14:48:56 +0200 From: Mario Lang <ml...@delysid.org> To: beginners@haskell.org Subject: [Haskell-beginners] 2d layout description? Message-ID: <87bmptgymf....@fx.delysid.org> Content-Type: text/plain; charset=utf-8 Hi. I am looking for a good method to describe 2-dimensional panels of various technical, mostly music-production related, devices. Motivation: I am blind and am looking for a future-proof solution to write down labels of jacks/knobs/switches on front/back panels of all the devices I use on a daily basis. Complex devices have so many options that you tend to forget the not-so-often used ones, hence, the need to have a reference "card" somewhere. This need has recently surfaced for me rather clearly as I have entered the realm of eurorack modular synthesizers as a hobby. One module is typicall 3U in either and between 2HP and 50HP in vertical size. And there are literally hundreds of these available these days. So while it becomes surprisingly easy to remember the jacks/knobs of regularily used modules after a rather short while, the need for some reference to go back to is unavoidable. Why is this on haskell-beginners? I am a haskell fan, and think this is a perfect job for a functional programming language. What I *want* is some sort of data format/DSL that makes it easy for me to describe the positions, functions and labels of physical interface elements. From that, I'd like to generate easily readable 2d ascii-diagram alike descriptions which would be particularily well fit to be read with a Braille display. Also, knowing the position/function of interface elements (jacks, knobs, switches) it would be neat if I could implement convenience functions on top of the known data, like the ability to calculate cable lengths for a particular patch, or even figuring out a module layout to minimize patch cable lengths given a list of possible patches. While browsing hackage, I found asciidiagrams, which is * pretty cool! * and might be useful to specify the layout However, I would have to fork and rewrite it to fit my actual needs, and it isn't clear if specifying the machine readable description like that wouldn't be a little bit too verbose. As an example, I have written down the layout of http://www.doepfer.de/A114.html (which admittably, is a rather simple module): +-------------+ | | | /-------\ | | | A-114 | | | |RingMod| | | \-------/ | | | | +--------+ | | | /----\ | | | | | X | | | | | |{i} | | | | | \----/ | | | | /----\ | | | | | Y | | | | | |{i} | | | | | \----/ | | | | /----\ | | | | |X*Y | | | | | |{o} | | | | | \----/ | | | +========+ | | | /----\ | | | | | X | | | | | |{i} | | | | | \----/ | | | | /----\ | | | | | Y | | | | | |{i} | | | | | \----/ | | | | /----\ | | | | |X*Y | | | | | |{o} | | | | | \----/ | | | +--------+ | | | +-------------+ This looks cool, but once I add all the tags I probably need (jack(in/out/in|out), rotary knob, n-way rotary, n-way switch, ...) this will probably grow into something quite cumbersome. A DSL might be better there, and somehow recunstruct a simple ascii diagram from that? In essence, I think I am trying to solve a rather general problem here, even though my actual use-case is specific to eurorack modules. Once I have an easily useable DSL, I will likely want to describe everything I own in this format, to be able to remember individual functions at a later day. And once I start to see this as a database (which is the main reason for wanting to move it from text files to a programming language) I can see the need to search for exact descriptions. For instance, I might find something with 7 RJ45 jacks in groups of 4 and 3, and would like to find the description for it without knowing the product name... Or search for a label of a key, without knowing on which remote it was... There are quite some possibilities here. I am basically asking for everything that comes to your mind, if you have read so far without having been bored to hell. Is there any library on hackage that might help? Do you know of similar projects with different goals? Anything else? TL;DR: I am looking for a DSL to describe physical interfaces in a form that makes it easy to make this information available to the blind in a very accessible way. Description files should be easy enough to maintain, to maybe even start a trend of a central repository to avoid people having to re-create them over and over again. The metadata should be detailed enough to allow for search/query operations on the universe of described hardware. -- CYa, ⡍⠁⠗⠊⠕ | Blog: <https://blind.guru/> GitHub: <https://github.com/mlang/> .''`. | Twitter: @blindbird23 FaceBook: disyled : :' : | SoundCloud: <soundcloud.com/mario-lang> `. `' | YouTube: <youtube.com/user/mlang23> `- ------------------------------ Subject: Digest Footer _______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners ------------------------------ End of Beginners Digest, Vol 108, Issue 6 *****************************************