; I am a Scheme 
;     comment!
; SYNTAX is the GRAMMAR for
;     a programming language
; a COMMENT is something
;     JUST for people 
;     READING a program,
; and in WeScheme the SYNTAX
;     or GRAMMAR of a
;     comment is a semicolon
;     followed by ANYTHING
;     up until you type the
;     enter key

; BACK, then, to SIMPLE
;    expressions, the 
;    SMALLEST things with
;    meaning in a 
;    programming language
; (like a WORD in English)
;
; BUT: every expression
;    that has a value
;    has a DATA TYPE for 
;    value, and SIMPLE 
;    expressions' SYNTAX
;    is based (uusually)
;    on their DATA TYPE
;    (or type for short)
;
; syntax for a simple 
;     expression of type
;     number
; FOR EXAMPLE, any string
;     of digits meets the
;     syntax for a Scheme
;     simple expression of
;     type number:

567

; you may also put a + or -
;    in front of those 
;    digits

-567
+567

; you may also put ONE 
;    decimal point INSIDE
;    the digits, and still
;    considered a simple
;    expression of type
;    number

1342.20

; ANOTHER Scheme data type:
;    string
; ANYTHING in double-quotes
;    is a simple expression
;    of type string
;    to Scheme!

"moooooo"
"78"
"hi how are you? I am fine"
"      "

; ONE more type for CS 100
;    purposes:
;    boolean
; in Scheme, there are just
;    TWO boolean values:
; #true 
; #false
; also accepts:
; true
; false

true
false
#true
#false

; OK, I'll use true and 
;    false in CS 100 because
;    WeScheme shows the 
;    values in the 
;    Interactions window
;    as true and false...

; in natural language,
;    words are combined
;    into sentences
;    and paragraphs
;    and more using
;    grammar
; in programming language,
;    simple expressions
;    are combined into
;    compound expressions
;    and statements
;    and programs and more
;    using syntax

; here is Scheme's syntax
;    for a compound 
;    expression:
;
; (operation expr expr ...)
;

; FOR EXAMPLE, Scheme
;   has a + operation
; it EXPECTS number 
;   expressions, and it
;   ADDS the values of
;   those number exprs
;   together!

(+ 78 36 12)

; Scheme has a boolean and
;    operator -- it expects
;    boolean expressions 
;    and returns whether 
;    ALL are true!

(and true true true)