Benno wrote:

> For what might be intersting comparison and just looking at different
> languages a bit more, here is the code transcribed to python. I'd love
> to see the equiv in lisp

Yes please. I'd love to see this in lisp.

> or ocaml

Included below.

> if someone wants to put it up. Up front
> note: I've just transcribed this and left out error handling.

Same with me.

    (* A program to round a number to nearest multiple of 5. *)

    let amount = float_of_string Sys.argv.(1) in
    let remainder = mod_float amount 5.0 in
    let base_amount = amount -. remainder in
    let x =
        if remainder > 2.0 then
            5.0
        else
            0.0
    in
    print_endline (string_of_float (base_amount +. x))

To run it, cut and paste the above to a file named say "lesson1.ml"
and then run (on Debian/Ubuntu, apt-get install ocaml):

    ocaml lesson1.ml <number>

Following Benno's example, things of note:

1/ Ocaml, like Python and C puts the first argument Sys.argv.(1).
2/ Ocaml uses conversion functions like float_of_string and 
   string_of_float to convert between types. Conversions must be
   explicit.
3/ Ocaml is a lot more picky about whats an integer and whats
   a float and uses +. and -. to add and subtract floats while
   using plain + and - for ints.
   If you want to add an int to a float, you must convert one of
   them to the same type as the other (using int_of_float or
   float_of_int) and then use the right operator.
4/ Ocaml lets you set a value based on the result of an if statment.
5/ Ocaml uses parentheses in a very different way to Ruby of Ocaml.
6/ We're running the above like a script. Ocaml also compiles to
   bytecode (like Perl/Python/Ruby etc) and unlike those, also
   compiles to native binaries.

Erik
-- 
+-----------------------------------------------------------+
  Erik de Castro Lopo
+-----------------------------------------------------------+
"O'Caml ... a "language designed for smart people" if there 
ever was one." -- Mike Vanier
_______________________________________________
coders mailing list
coders@slug.org.au
http://lists.slug.org.au/listinfo/coders

Reply via email to