User Tools

Site Tools


at:tutorial:tutorial

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
Last revision Both sides next revision
at:tutorial:tutorial [2007/03/31 12:56]
tvcutsem
at:tutorial:tutorial [2009/11/21 07:46]
tvcutsem
Line 1: Line 1:
 ====== AmbientTalk/2 Tutorial ====== ====== AmbientTalk/2 Tutorial ======
  
-<note>The tutorial is still under heavy construction!</note>+<note>This is the first version of the tutorial.  Do not hesitate to [[http://prog.vub.ac.be/amop/start#contact|contact]] us with suggestions for improvements!</note> 
 + 
 +{{:at:atlogo.jpg?60  }} The AmbientTalk/2 tutorial is subdivided into major chapters which each highlight a particular aspect of the language. These "aspects" can sometimes be best described as particular programming styles.
  
 === Jump to === === Jump to ===
- 
-The AmbientTalk/2 tutorial is subdivided into major chapters which each highlight a particular aspect of the language. These "aspects" can sometimes best be described as particular programming styles. 
  
   - [[preface|Preface]]   - [[preface|Preface]]
 +  - [[iat|Interactive AmbientTalk (IAT) Shell]]
   - [[basic|Functional and Imperative Programming]]   - [[basic|Functional and Imperative Programming]]
     - [[basic#variables|Variables]]     - [[basic#variables|Variables]]
     - [[basic#tables|Tables]]     - [[basic#tables|Tables]]
-    - [[basic#functions|FunctionsClosuresBlocks]]+    - [[basic#functions|Functions]] 
 +    - [[basic#closure|Closures]] 
 +    - [[basic#blocks|Blocks]] 
 +    - [[basic#keywords|Keywords]] 
 +    - [[basic#native_data_types|Native Data Types]] 
 +    - [[basic#control_flow_constructs|Control Flow Constructs]]
   - [[objects|Object-oriented Programming]]   - [[objects|Object-oriented Programming]]
-    - [[objects|Objects, fields and methods]] +    - [[objects#Objects,_fields_and_methods|Objects, fields and methods]] 
-    - [[objects|Sending messages]] +    - [[objects#Sending_messages|Sending messages]] 
-    - [[objects|Cloning and instantiation]] +    - [[objects#Cloning_and_instantiation|Cloning and instantiation]] 
-    - [[objects|Delegation and ''super'']] +    - [[objects#Delegation_and_cloning|Delegation and cloning]] 
-    - [[objects|Object extension and cloning]] +    - [[objects#Delegation_and_dynamic_inheritance|Delegation and dynamic inheritance]] 
-    - [[objects|External definitions]] +    - [[objects#First-class_delegation|First-class delegation]] 
-    - [[objects|A word about encapsulation]] +    - [[objects#Encapsulation|Encapsulation]] 
-  - [[multiparadigm|Combining functions and objects]] +    - [[objects#Uniform_Access|Uniform Access]] 
-    - [[multiparadigm|Nesting  Objects]] +  - [[multiparadigm|On Scoping, Closures, Methods and Messages]] 
-    - [[multiparadigm|Methods vs Closures]] +    - [[multiparadigm#lexical_scope_vs_object_scope|Lexical Scope vs Object Scope]] 
-    - [[multiparadigm|Method selection]] +    - [[multiparadigm#nesting_objects|Nesting Objects]] 
-    - [[multiparadigm|Higher-order Functions,Methods,Messages]] +    - [[multiparadigm#methods_vs_closures|Methods vs Closures]] 
-  - [[tutorial:nativedatatypes|Native Objects]] +    - [[multiparadigm#external_methods_and_fields|External Methods and Fields]] 
-    - [[tutorial:nativedatatypes |Primitive values]] +    - [[multiparadigm#first-class_methods|First-class Methods]] 
-    - [[tutorial:nativedatatypes |Native nethods]] +    - [[multiparadigm#first-class_messages|First-class Messages]] 
-    - [[tutorial:nativedatatypes |Syntactic sugar]] +  - [[modular|Modular Programming]] 
-  - [[tutorial:exceptions|Exceptions]] +    - [[modular#namespaces_and_the_lobby|Namespaces and the lobby]] 
-    - [[tutorial:exceptions|Raising exceptions]] +    - [[modular#Importing_objects|Importing objects]] 
-    - [[tutorial:exceptions|Handling exceptions]] +    - [[modular#objects_as_traits|Objects as traits]] 
-    - [[tutorial:exceptions|Native Exception Types]] +    - [[modular#classifying_objects_using_type_tags|Classifying objects using type tags]] 
-  - [[tutorial:modules|Programs as modules]] +    - [[modular#Exception_Handling|Exception Handling]] 
-    - [[tutorial:modules |Namespaces]] +    - [[modular#Escaping_continuations|Escaping Continuations]] 
-    - [[tutorial:modules |The Lobby]] +  - [[metaprogramming|Metaprogramming]] 
-  - [[tutorial:advanced|Miscellaneous Features]] +    - [[metaprogramming|AmbientTalk without syntactic sugar]] 
-    - [[tutorial:advanced |Quoting and table splicing]] +    - [[metaprogramming|Quasiquoting and splicing]] 
-    - [[tutorial:advanced |Escaping continuations]] +    - [[metaprogramming|First-class abstract grammar]] 
-  - [[tutorial:reflection|Reflection]] +    - [[metaprogramming#multi-stage_generative_programming|Multi-stage Generative Programming]] 
-    - [[tutorial:reflection |Mirrors]] +  - [[symbiosis|Symbiotic programming with Java]] 
-    - [[tutorial:reflection |Mirages]] +    - [[symbiosis#Symbiosis_Architecture|Symbiosis Architecture]] 
-    - [[tutorial:reflection |The MOP]] +    - [[symbiosis#Accessing_Java_from_within_AmbientTalk|Accessing Java from within AmbientTalk]] 
-  - [[tutorial:actors|Actors]] +    - [[symbiosis#Accessing_AmbientTalk_from_within_Java|Accessing AmbientTalk from within Java]] 
-    - [[tutorial:actors |Asynchronous Messages]] +  - [[reflection|Reflective Programming]] 
-    - [[tutorial:actors |Actors and Far References]] +    - [[reflection#mirrors|Mirrors]] 
-    - [[tutorial:actors |Isolates]] +    - [[reflection#mirages|Mirages]] 
-    - [[tutorial:actors |Actor Mirrors]] +    - [[reflection#The_Metaobject_Protocol|The Metaobject Protocol]] 
-  - [[tutorial:distributed|Distributed Computing]] +  - [[actors|Concurrent Programming with Actors]] 
-  - [[tutorial:symbiosis|Symbiosis with Java]] +    - [[actors#threads_vs_actors|Threads Vs Actors]] 
-    - [[tutorial:symbiosis |Accessing Java classes]] +    - [[actors#actors_and_far_references|Actors and Far References]] 
-    - [[tutorial:symbiosis |Creating Java objects]] +    - [[actors#asynchronous_message_sending|Asynchronous Message Sending]] 
-    - [[tutorial:symbiosis |Using Java wrappers]] +    - [[actors#isolates|Isolates]] 
-    - [[tutorial:symbiosis |Overloading]] +    - [[actors#futures|Futures]] 
-    - [[tutorial:symbiosis |Symbionts]] +    - [[actors#actor_mirrors|Actor Mirrors]] 
-    - [[tutorial:symbiosis |Conversions]] +    - [[actors#nesting_actors|Nesting Actors]] 
-    - [[tutorial:symbiosis |Thread-Actor Symbiosis]] +  - [[distribution|Distributed Programming]] 
-  - [[tutorial:iat|Interactive AmbientTalk (IAT) Shell]] +    - [[distribution#going_online|Going Online]] 
-  - [[tutorial:syntax|The AmbientTalk Language Syntax]] +    - [[distribution#exporting_and_discovering_objects|Exporting and Discovering Objects]] 
-  - [[tutorial:support|Support]]+    - [[distribution#dealing_with_transient_failures|Dealing with Transient Failures]] 
 +    - [[distribution#dealing_with_permanent_failures|Dealing with Permanent Failures]] 
 +    - [[distribution#taking_offline_remote_objects|Taking Offline Remote Objects]] 
 +  - [[appendix|AppendixLibraries]] 
 +    - [[appendix#unit_testing_framework|Unit testing framework]] 
 +    - [[appendix#basic_collections|Basic Collections]] 
 +    - [[appendix#top-level_functions|Top-level Functions]] 
 +    - [[appendix#custom_exceptions|Custom Exceptions]] 
 +    - [[appendix#language_extensions|Language Extensions]] 
 +    - [[appendix#utilities|Utilities]] 
at/tutorial/tutorial.txt · Last modified: 2020/02/05 21:30 by elisag