By Sigbjorn Finne, Simon Peyton Jones (auth.), John Launchbury, Erik Meijer, Tim Sheard (eds.)

This ebook offers the 8 educational lectures given on the moment overseas institution on complicated practical Programming, held in Olympia, WA, united states, in August 1996.
After decades of improvement, sensible programming languages have matured to some extent the place they are often used for far better purposes than has been normal long ago. those educational notes were written for college students and execs in software program engineering who're attracted to exploring past the undemanding options of useful programming and in progressing in the direction of large-scale programming and established software.

Show description

Read Online or Download Advanced Functional Programming: Second International School Olympia, WA, USA, August 26–30, 1996 Tutorial Text PDF

Best programming books

The Tomes of Delphi: Algorithms and Data Structures

Delphi developer Julian Bucknall offers fellow builders a complete assessment of utilizing algorithms and information constructions from a pragmatic viewpoint. Bucknall starts off with a dialogue of set of rules functionality, and offers entire insurance of such subject matters as arrays, associated lists, and binary timber.

Programming Clojure (2nd edition)

Programming Clojure, second version is an important replace to the vintage booklet at the Clojure language. You'll get thorough insurance of the entire new positive factors of Clojure 1. three, and luxuriate in reorganized and rewritten chapters that replicate the importance of recent Clojure innovations. Many code examples were rewritten or changed, and each web page has been reevaluated within the mild of Clojure 1.

Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14

Coming to grips with C++11 and C++14 is greater than an issue of familiarizing your self with the good points they introduce (e. g. , vehicle style declarations, circulation semantics, lambda expressions, and concurrency support). The problem is studying to exploit these good points effectively—so that your software program is right, effective, maintainable, and transportable.

Object-Oriented Graphics Programming in C++

This guide is designed to supply programmers with the data had to produce reasonable pictures on a laptop. It specializes in Borland's C++ compilers and covers various strategies. for example, it: provides assurance of VGA show modes and different show modes supported by way of VESA (Video Electronics criteria Association); describes TARGA records and the way to successfully demonstrate color pictures; and offers assurance of ray tracing, the geometry of ray tracing, and object-oriented arithmetic.

Extra resources for Advanced Functional Programming: Second International School Olympia, WA, USA, August 26–30, 1996 Tutorial Text

Sample text

Is there a to_i method that we could call on the String "100"? Let’s find out. NOTE Casting is common in strongly-typed languages, like Ruby. It’s less common in weaklytyped languages, although it still can come up. Both approaches have their proponents. to_i => 100 We can, indeed. So we now know how to convert both Strings and Integers into each other, via either the to_s or to_i methods. It would be nice if we could see a list of all the methods we could call on a given object. We can do that too, with an aptly named method: methods.

It evaluates the expression that follows it as either true or false. Let’s demonstrate some flow control with if: irb(main):013:0> 100 if true => 100 We just asked whether or not the expression 100 if true is true. Since the expression true evaluates to a true value, we do get the value 100. What happens when the expression evaluated by if isn’t true? irb(main):014:0> 100 if false => nil This is something new. The expression false is not true, so we don’t get the expression 100. In fact, we get no expression at all—irb tells us it has no value to report.

Let’s find out in irb. " + 100 TypeError: failed to convert Fixnum into String from (irb):6:in '+' from (irb):6 That expression didn’t work out as well as the others. TypeError is an example of what Ruby (and many other languages) call an exception, which is a notice from a programming language that there has been an error. 1 Strings know how to add themselves to each other, as do numbers— but they can’t cross types. When adding, we want both operands to be the same type. Casting The solution to this problem is an operation called casting, which is the conversion of something from one type to another.

Download PDF sample

Rated 4.58 of 5 – based on 37 votes