===== CS 111 - Week 2 Lecture 2 - 2024-09-05 ===== ===== TODAY WE WILL: ===== * announcements * more on identifiers * more on named constants * intro to check-expect * intro to writing your own functions (and the DESIGN RECIPE) * prep for next class ===== SYNTAX of a BSL Racket identifier ===== * identifier: any name determined by a programmer * Some examples of identifiers are named constants, function names, parameter names, and more * In BSL Racket, syntax for an identifier is any collection of characters that does NOT include a blank or tab or newline AND does NOT include any of the special characters: ( ) [ ] { } " , ' ` # | \ AND ALSO does not follow the syntax rules for a Racket type (also: it can't have already been defined in the current file! 8-) ) * that's SYNTAX. * there's also STYLE -- we'd like to write programs that we can read AND others can read common STYLE for identifiers (also now CS 111 CLASS STYLE STANDARDS) * identifiers to start with a letter * chosen to be meaningful, descriptive, and NOT misleading * named constants should be all-uppercase * function names should be all-lowercase (or at least start with a lowercase letter -- camelCase is OK) * parameter names should be all-lowercase (or at least start with a lowercase letter -- camelCase is OK) * reminder: once you define a named constant, that name is now a simple expression of the defined value and of the defined type (define MAX-YOG 35) ; in fahrenheit * now MAX-YOG is a simple expression of type number, whose value is 35 * now moving over to DrRacket Definitions window! (posted along with these notes)