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:15]
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 ==
  
-==== ''​cond''​ ==+==== 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 == 
 + 
 +It's somewhat like a switch statement in other languages:​ 
 + 
 +<​code>​ 
 +  (cond  
 +    (<​condition>​ <​value-if-true>​)  
 +    (<​condition>​ <​value-if-true>​)...  
 +    (<value if false>​)) 
 +</​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.1537661733.txt.gz · Last modified: 2018/09/22 17:15 by dave