Learning Racket #3: ???
This section is for my reference.
The time-is-not-a-procedure thing is two misunderstandings in one:
-- we are in a by-value world
-- by the time were to reach the calls to factorial, it's evaluated
(for ((f (list f1 f2 f3 f4))) (time (f 10000)))
A Common Lisp compiler is responsible for inserting dynamic checks for operations whose type safety cannot be proven statically.
try disassembling a program which can be proven statically, and which can not
I like this. DrRacket has a performance mode already (disable profiling and debugging) in the (hidded part) of the language dialog. The casual beginner is not likely to recognise it as such though.
Jim Bender's emails about performance.
make a poll
syntax-parseneeds literals to be bound? 'cause https://groups.google.com/forum/#!topic/plt-scheme/WZpZUA5tsWM
We obviously need a 'syntax story' that takes readers directly from define-syntax-rule to syntax-parse, bringing in hygiene only late, when it truly matters to raise expressiveness
maybe write some small program and ask people on Racket mailing list for tips before publishing and not after?
correct the bit about
apply andin ch. 1
skim thru chapter 3
libraries vs. programs
switch to Emacs? since DrRacket
is consideredis laggy?
ADTs vs. cons pairs
Ever since I learned the tiny bit of Haskell that I know, I can't help but think that I need ADTs in my parenthesis.
It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures. — Alan J. Perlis, Epigram 9.
understand what exactly docs say and how to read them
As long as alists are more syntactically blessed than hash tables, people will use them where another data structure would be more appropriate.
write something with console output