1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
<pre><tt><b><font color="#000080">open</font></b> Graphics
<b><font color="#000080">open</font></b> Types
<i><font color="#9A1900">(* #load "graphics.cma" *)</font></i>
<i><font color="#9A1900">(* #load "fixed.cmo" *)</font></i>
<b><font color="#0000FF">let</font></b> _ <font color="#990000">=</font> open_graph <font color="#FF0000">" 1024x768"</font>
<b><font color="#0000FF">let</font></b> _ <font color="#990000">=</font> set_color black
<b><font color="#0000FF">let</font></b> plot_car <font color="#990000">=</font>
<b><font color="#0000FF">let</font></b> size_y <font color="#990000">=</font> size_y <font color="#990000">(</font><font color="#990000">)</font> <b><font color="#0000FF">in</font></b>
<b><font color="#0000FF">fun</font></b> <font color="#990000">(</font><font color="#FF0000">{</font>x<font color="#990000">=</font>x<font color="#990000">;</font> y<font color="#990000">=</font>y<font color="#FF0000">}</font><font color="#990000">,</font>_<font color="#990000">,</font>_<font color="#990000">)</font> <font color="#990000">-</font><font color="#990000">></font>
Graphics<font color="#990000">.</font>plot <font color="#990000">(</font>Fixed<font color="#990000">.</font>to_coord x<font color="#990000">)</font> <font color="#990000">(</font>size_y <font color="#990000">-</font> Fixed<font color="#990000">.</font>to_coord y<font color="#990000">)</font>
<b><font color="#0000FF">let</font></b> plot freq cars <font color="#990000">=</font>
ignore
<font color="#990000">(</font>List<font color="#990000">.</font>fold_left <font color="#990000">(</font><b><font color="#0000FF">fun</font></b> counter car <font color="#990000">-</font><font color="#990000">></font> <b><font color="#0000FF">if</font></b> counter <font color="#990000"><</font><font color="#990000">=</font> <font color="#993399">0</font>
<b><font color="#0000FF">then</font></b> <font color="#990000">(</font>plot_car car<font color="#990000">;</font> freq<font color="#990000">)</font>
<b><font color="#0000FF">else</font></b> pred counter<font color="#990000">)</font> freq cars<font color="#990000">)</font>
<b><font color="#0000FF">let</font></b> list_iteri f l <font color="#990000">=</font>
ignore <font color="#990000">(</font>List<font color="#990000">.</font>fold_left <font color="#990000">(</font><b><font color="#0000FF">fun</font></b> i elt <font color="#990000">-</font><font color="#990000">></font> f i elt<font color="#990000">;</font> i<font color="#990000">+</font><font color="#993399">1</font><font color="#990000">)</font> <font color="#993399">0</font> l<font color="#990000">)</font>
<b><font color="#0000FF">let</font></b> array_for_all f a <font color="#990000">=</font>
<b><font color="#0000FF">let</font></b> length <font color="#990000">=</font> Array<font color="#990000">.</font>length a <b><font color="#0000FF">in</font></b>
<b><font color="#0000FF">let</font></b> <b><font color="#0000FF">rec</font></b> loop i <font color="#990000">=</font>
<b><font color="#0000FF">if</font></b> i <font color="#990000">=</font> length <b><font color="#0000FF">then</font></b> <b><font color="#0000FF">true</font></b> <b><font color="#0000FF">else</font></b> f a<font color="#990000">.</font><font color="#990000">(</font>i<font color="#990000">)</font> <font color="#990000">&</font><font color="#990000">&</font> loop <font color="#990000">(</font>i<font color="#990000">+</font><font color="#993399">1</font><font color="#990000">)</font> <b><font color="#0000FF">in</font></b>
loop <font color="#993399">0</font>
<b><font color="#0000FF">let</font></b> <b><font color="#0000FF">rec</font></b> dedoublonne <font color="#990000">=</font> <b><font color="#0000FF">function</font></b>
<font color="#990000">|</font>a<font color="#990000">:</font><font color="#990000">:</font>b<font color="#990000">:</font><font color="#990000">:</font>q <font color="#990000">-</font><font color="#990000">></font> <b><font color="#0000FF">if</font></b> a <font color="#990000">=</font> b <b><font color="#0000FF">then</font></b> dedoublonne <font color="#990000">(</font>b<font color="#990000">:</font><font color="#990000">:</font>q<font color="#990000">)</font> <b><font color="#0000FF">else</font></b> a <font color="#990000">:</font><font color="#990000">:</font> dedoublonne <font color="#990000">(</font>b<font color="#990000">:</font><font color="#990000">:</font>q<font color="#990000">)</font>
<font color="#990000">|</font><font color="#990000">[</font>a<font color="#990000">]</font> <font color="#990000">-</font><font color="#990000">></font> <font color="#990000">[</font>a<font color="#990000">]</font>
<font color="#990000">|</font><font color="#990000">[</font><font color="#990000">]</font> <font color="#990000">-</font><font color="#990000">></font> <font color="#990000">[</font><font color="#990000">]</font>
<b><font color="#0000FF">let</font></b> merge_songs db <font color="#990000">=</font> <b><font color="#0000FF">function</font></b>
<font color="#990000">|</font> <font color="#990000">[</font><font color="#990000">]</font> <font color="#990000">|</font> <font color="#990000">[</font>_<font color="#990000">]</font> <font color="#990000">-</font><font color="#990000">></font> <font color="#990000">(</font><font color="#990000">)</font>
<font color="#990000">|</font> id <font color="#990000">:</font><font color="#990000">:</font> id's <font color="#990000">-</font><font color="#990000">></font>
<b><font color="#0000FF">let</font></b> mysql_ids <font color="#990000">=</font> List<font color="#990000">.</font>map ml642int id's <b><font color="#0000FF">in</font></b>
<font color="#990000">(</font><font color="#990000">)</font>
</tt></pre>
|