User Tools

Site Tools


software:racket:functions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
software:racket:functions [2018/09/22 17:19]
dave
software:racket:functions [2018/09/22 18:23] (current)
dave [list]
Line 1: Line 1:
 +====== Racket Notes ==
 +
 +The [[https://​docs.racket-lang.org/​reference/​|Racket Reference]] has more details than this here page.  I took these notes regarding Racket as a memory aid to help me get started with Racket.
 +
 +Racket identifiers can contain any characters except for whitespace and the following special characters: '''​( ) [ ] { } " , ' ` ; # | \'''​. ​ A special case is ''#''​ which is allowed at the beginning of a symbol.
 +
 +
 +===== Data Structures ==
 +
 +Linked lists are favored in racket. ​ Each element of the list can be a "​pair"​ created by the ''​cons''​ function. ​ The first element of the pair is the current value and the second element of the pair is a pointer to the next pair or ''​null''​.
 +
 +In Racket, ''​null''​ is an empty list, which is a singleton.
 +
 +
 +===== Common Constants ==
 +
 +==== #t ==
 +
 +The boolean true value.
 +
 +==== #f == 
 +
 +The boolean false value.
 +
 +==== null ==
 +
 +The empty list. 
 +
 ===== Racket Functions == ===== Racket Functions ==
 +
 +==== cons ==
 +
 +Creates a newly allocated pair.
 +
 +<​code>​
 +(cons <​first-value>​ <​second-value>​)
 +</​code>​
 +
 +==== car ==
 +
 +Returns the first value of a pair created with ''​cons''​.
 +
 +<​code>​
 +(car <​pair-created-by-cons>​)
 +</​code>​
 +
 +==== cdr ==
 +
 +Returns the second value of a pair created with ''​cons''​.
 +
 +<​code>​
 +(cdr <​par-created-by-cons>​)
 +</​code>​
  
 ==== cond == ==== cond ==
Line 5: Line 57:
 It's somewhat like a switch statement in other languages: It's somewhat like a switch statement in other languages:
  
-<​code ​racket>+<​code>​
   (cond    (cond 
     (<​condition>​ <​value-if-true>​) ​     (<​condition>​ <​value-if-true>​) ​
Line 11: Line 63:
     (<value if false>))     (<value if false>))
 </​code>​ </​code>​
 +
 +==== string-append ==
 +
 +Appends strings. ​ Arguments *must* be strings already.
 +
 +<​code>​
 +(string-append <​str1>​ <​strN>​...)
 +</​code>​
 +
 +==== number->​string ==
 +
 +Converts a number to a string.
 +
 +<​code>​
 +(number->​string <​number>​)
 +</​code>​
 +
 +==== list ==
 +
 +Constructs a linked list from the specified arguments.
 +
 +<​code>​
 +(list <​arg1>​ <​argN>​...)
 +</​code>​
 +
 +Note that the value returned is a pair containing the value of the first argument and pointer to the next pair in the list.
software/racket/functions.1537661989.txt.gz ยท Last modified: 2018/09/22 17:19 by dave