Comments on the 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
>  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.


> 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.


> *** 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?"


> ** 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



Joe Armstrong  Computer Science Laboratory  +46 8 719 9452
AT2/ETX/DN/SU  Ericsson Telecom SE-126 25 Stockholm Sweden 

More information about the erlang-questions mailing list