
| Official website |
|---|
| Garbage collected: | Yes |
|---|---|
| Parameter passing methods: | By reference |
| Type safety: | Safe |
| Type strength: | Strong |
| Type compatibility: | Structural |
| Type expression: | Implicit |
| Type checking: | Dynamic |
| See Also: |
Oz is a multi-paradigm language that is designed for advanced,concurrent, networked, soft real-time, and reactive applications. Oz provides the salient features ofobject-oriented programming including state, abstract data types, objects, classes, and inheritance. It provides the salient features offunctional programming including compositional syntax, first-class procedures/functions, and lexical scoping. It provides the salient features of logic programming and constraint programming including logic variables, constraints, disjunction constructs, and programmable search mechanisms. It allows users to dynamically create any number of sequentialthreads. The threads are dataflow threads in the sense that a thread executing an operation will suspend until all operands needed have a well-defined value.[1]
TheMozart Programming System is the primary implementation of Oz. It is released with anopen source license by the Mozart Consortium. Mozart has been ported to different flavors ofUnix, FreeBSD,Linux,MicrosoftWindows, andMac OS X.[2]
All examples that start withdeclare can be used directly in the Emacs-based IDE, without a separate compilation step. Just copy the source code to theOz buffer and select the menu item "Oz→Feed Buffer".
Some examples are functor definitions and must be compiled. The compiler is invoked with a command such as:ozc -c filename.oz, and then executed with the command,ozengine filename.ozf. ThisStack Overflow answer shows an example of the boilerplate to transform code written for the Emacs IDE to code that can run directly on the Mozart VM.
This category has the following 3 subcategories, out of 3 total.
The following 200 pages are in this category, out of 277 total.
(previous page) (next page)