From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id NAA02509; Fri, 18 Oct 2002 13:11:04 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id NAA02673 for ; Fri, 18 Oct 2002 13:11:04 +0200 (MET DST) Received: from mlabdial.hit.bme.hu (mlabdial.hit.bme.hu [152.66.248.201]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g9IBB3520709 for ; Fri, 18 Oct 2002 13:11:03 +0200 (MET DST) Received: from localhost (kgergely@localhost) by mlabdial.hit.bme.hu (8.11.6/8.11.6) with ESMTP id g9IBB2r02252 for ; Fri, 18 Oct 2002 13:11:02 +0200 Date: Fri, 18 Oct 2002 13:11:01 +0200 (CEST) From: "Kontra, Gergely" To: caml-list@inria.fr Subject: [Caml-list] types & design advices (musical program) Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hi! I began to play with a little program, which knows about notes. The first problem, which I face, was the following: type pitch=[A|Ais|As|H|B|His|C...] type base=[A|H|C|D|E|F|G] So when I have who types, where one of them is the superset of the other. After that how can I define a pitch type of eg. C? let p = C will be of the type 'basse'. The next one is more general: Assume I want to calculate with notes. I give the key to the whole stuff (like G major or D minor). Which I'd like to see is to generate a scale, eg: scale D Major; (* -->[D;E;Fis;G;A;H;Cis] *) Of course I want a 'nice' representation, because I want to develope this little prog. [Note for "just-programmer-non-musicists": in a scale, the base notes are successive elements from the type base. The distance from neightbour notes are 2 2 1 2 2 2 semitones in the major and 2 1 2 2 1 2 2 in the minor scale. The -is prefix raises the notes pitch by a semitone, and the -as one lowers it. Stating, that C D E F G A H is a major scale, one can figure out the distance of the base notes.] Gergo +-[Kontra, Gergely @ Budapest University of Technology and Economics]-+ | Email: kgergely@mcl.hu, kgergely@turul.eet.bme.hu | | URL: turul.eet.bme.hu/~kgergely Mobile: (+36 20) 356 9656 | +-------"Olyan langesz vagyok, hogy poroltoval kellene jarnom!"-------+ . Magyar php mirror es magyar php dokumentacio: http://hu.php.net ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners