• As in any language, when a function gets the least bit complicated, it helps to create additional "helper" functions.
  • As noted earlier, a good editor really helps. jEdit's parenthesis matching and indentation correction (for Lisp, not Clojure) works for me; I'll be glad to hear people's comments about Counterclockwise.
  • Even though Math/sqrt is in a different namespace, my sqrt confuses it. Easy workaround: call it with an explicit namespace, for example, (user/sqrt 2.0).
  • I never used let in the first group of functions, but it was very handy in the second group.
  • The trick of having a second version of a method with additional parameters is much more useful than I expected.
  • 6-8pm Thursday evening
  • A font used for programming should be: Monospace, easy to read, and easy to distinguish similar characters (O0 1lI| [{(]}) :; .,). My current favorite fonts are Consolas and its twin Inconsolata. If these fonts look bad on Windows, you can fix it by using better values for antialiasing (font smoothing); that will probably make other things look better, as well.
  • A great multi-purpose editor is jEdit, available for all platforms. One nice feature is syntax coloring for multiple languages (for example, Utilities → Buffer Options → Edit mode: → prolog.
  • Do not include any attachments. Especially, do not include assignments!
  • For CIS554, put 554 as some part of the Subject: line. (I will see your mail anyway, but it may take a little longer.)
  • For general email about the MCIT program, put MCIT as part of the Subject:line.
  • Make sure your computer is virus-free.
  • Monday, Nov. 15 -- First Scala lecture; possibly comments about Haskell assignment
  • Monday, Nov. 8 -- Class cancelled!
  • Send plain text only (not HTML or RTF)
  • Tuesday, Nov. 16 -- Second Haskell assignment due
  • Wednesday, Nov. 10 -- Last Haskell lecture; second Haskell assignment handed out
  • Wednesday, Nov. 17 -- Haskell quiz; Second Scala lecture; first Scala assignment
  • I highly recommend Ms. Laakmann's talk for anyone interested in getting a job in the CS/IT field. If this doesn't describe you, you probably should skip this talk.

    Also, in case you haven't already done so, you should look at the online Erlang Reference Manual User's Guide and the OTP Reference Page (this is where the available functions are described).

    The second Clojure quiz will be Monday, November 1, at the beginning of class, and will end at 11:00. (I considered putting the exam at the end of class, but decided that that would interfere with being able to concentrate on Haskell.) The lower of the two Clojure quiz grades will be discarded.


    Frank O'Brien, author of The Apollo Guidance Computer, will be speaking in

    Finally, this month's edition of the CACM has an article on Erlang external link.

    Order in which languages will be covered: Prolog, Erlang, [Ruby?], Clojure, Haskell, [Ruby?], Scala.

    Please come and join us for a fascinating look at the hardware and software that got us to the moon!.