Comments on the www.erlang.org course.

Joe Armstrong joe@REDACTED
Thu Feb 11 13:47:40 CET 1999


Hi Ben, 
	Thanks a lot, I fixed up the errors that you observed.

	See below (and on the updated web site).


> I've recently read thru the course that get's top billing at
> www.erlang.org.  Here are a few typos and questions.  - ben

	Thanks - we always like complements :-)

> ---
> 
> ** Sequential Programming
> typo: This lesson is missing one last 'back to top' button.

	fixed

> question: What's the unicode, utf-8 etc. etc. story today.

	In the spec. Not yet implemented.

 
> question: The string is a list implies that strings are not very dense?

	They take 8 bytes/character (is that what you meant?) Binaries
take 1 byte/character (asymptotically) - the overhead on small binaries
is << ask klacke, or tony >> 

> question: Atoms are interned in a per node pool and never reclaimed, I presume.

	Not specified. The current beam/jam does not garb the atom table.


> 
> *** Concurrent Programming
> 
> **** Client Server Model
> typo: The code for request/1 uses the variable R rather than Rep by mistake.

	Fixed

> 
> *** Error Handling
> 
> **** Processes can trap exit signals.
> drawo: The illustration ought to show P3 linked to P2 not sending a message to P2.
> 

	Fixed (I *lost* the .fig file so this fix took a looooooooong time :-()


> *** Advanced Topics
> **** References
> typo: The first sentence is not gramatical.
> question: Is this the only use of the term "symbol", and why?

    Fixed  - major! rewrite (panic  on - the standardisation committee
doesn't really know what a reference is! - what happens if you store a
reference in  a file and read  the file a  million years later? - what
happens to copies of references - what happens in parallel universes -
what happens in the year 2000 - panic off)

> 
> *** Obtaining System Information
> Typo: "want to do this?" not "what to do this?"
> 

	Fixed

> ** History
>  "Conclusion: The language must contain primitives for concurrency
>  and error recovery, and the execution model must not have back-tracking.
>  (Rules out Lisp and Prolog.)"
> Since Lisp does not have backtracking I guess it's time to backtrace
> and redo the entire project, eh?
> 
	
	Not fixed. Lisp was ruled out 'cos of lack of
concurrency not backtracking!

> 
> Misc:
> At this point in my climbing up the learning curve I was surprised
> that the application module and the tangle around load, path, etc.
> were not covered more.

    Ummm - that  stuff (paths, loading etc.)  is a "local issue" - the
course is (mostly) generic - although the boundary is not hard and fast.

> 
> The error handling section was very useful.  A terse statement of
> the exact coupling between exceptions, exit signals, and the 
> error_handler would be nice.

    The precise statement is  not terse! -  see the book for the exact
> coupling.

  You all have a very nice system here.  - ben

  Thanks,

	/Joe


--
Joe Armstrong  Computer Science Laboratory  +46 8 719 9452
AT2/ETX/DN/SU  Ericsson Telecom SE-126 25 Stockholm Sweden 
joe@REDACTED    http://www.ericsson.se/cslab/~joe 







More information about the erlang-questions mailing list