Talk:Oz (programming language)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
WikiProject Computing  
WikiProject iconThis article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
 ???  This article has not yet received a rating on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.

Article lacking[edit]

This article lacks source examples and a discussion of how the different paradigms encompassed by Oz "harmoniously blends together". In its current state it is factually informative but of little actual informative use for programmers or computer linguists. Mikademus 13:00, 9 August 2006 (UTC)

== Case statement: case x of nil ← means NOTHING to me :: article presumes knowledge of language syntax and semantics. Extremely poorly thought out. WTF is "first class" ?? Written by Oz insiders apparently for the benefit of Oz insiders. Benefit to their ego, that is. Contains "MOST" paradigms?!?! "Including"...this looks to be copied from some synopsis of an article. Is NOt factually informative. Jargon content: Extreme. Information content:Low (unless information of jargon is presumed to be available) (talk) 16:30, 12 September 2009 (UTC)

Requested move[edit]

Oz programming language → [

[Oz (programming language)]] – Conformance with WP naming conventions atanamir

The page was moved. Move discussion is here: Wikipedia talk:WikiProject Programming languages/Renaming poll.


Does Oz support Generic programming? —Preceding unsigned comment added by (talk) 06:24, 5 September 2007 (UTC)

Yes, as a dynamically typed programming language, it does trivially support Generic Programming. (talk) 19:14, 25 March 2009 (UTC)

Not the Sieve of Eratosthenes[edit]

The code presented for the sieve is a prime number sieve, but it is not the Sieve of Eratosthenes. The text should be edited unless someone provides the actual sieve. —Preceding unsigned comment added by (talk) 02:18, 5 December 2009 (UTC)

Very nice language, but lacks support.[edit]

This article is brief, but interested me enough to look for more. Further investigation shows great work has been done to document and implement Mozart and Oz. However, getting help appears to be impossible. I installed 1.4.0 from the SUSE Linux repository, but cannot get it to run. Unfortunately, there are a backlog of unassigned bugs on the support web site. I hope Windows and Mac users have better luck. —Preceding unsigned comment added by (talk) 06:22, 17 July 2010 (UTC)

Execution speed[edit]

The execution speed is not a property of the programming language itself but of the mozart-compiler. That's why i suggest to mention/describe the execution speed at Mozart Programming System instead! --Mekeor (talk) 15:20, 31 July 2012 (UTC)

Possible additional citations[edit]

  • Frühwirth, Thom; Michel, Laurent; Schulte, Christian (2006), "Constraints in Procedural and Concurrent Languages", in Rossi, Francesca; van Beek, Peter; Walsh, Toby, Handbook of Constraint Programming (PDF), Foundations of Artificial Intelligence, Elsevier, pp. 453&ndash, 486, ISBN 978-0-444-52726-4
  • Wooldridge, Michael J.; Jennings, Nicholas R. (1995), "Agent Theories, Architectures, and Languages: A Survey" (PDF), Intelligent Agents, Springer
  • Smolka, Gert, The Oz Programming Model (PDF), Lecture Notes in Computer Science, 1000, Springer, pp. 324&ndash, 343

Lesser Cartographies (talk) 03:24, 3 September 2013 (UTC)

More examples[edit]

Since this language claims to support so many paradigms it would be useful to have more examples. It seems the following paradigms are covered so far:

  • functional (lazy and eager)
  • dataflow
  • concurrent
  • message passing
  • object oriented

But what about the following?

  • imperative: are there the traditional for/while loops? better example of imperative algorithms changing variables?)
  • logic programming: perhaps the sibling prolog example below would translate well?
  • constraint programming: Perhaps one could solve the SEND+MORE=MONEY, using an all_different constraint etc.
  • discussion how parallel vs concurrent apply to the langauge

Prolog example:

mother_child(trude, sally).
father_child(tom, sally).
father_child(tom, erica).
father_child(mike, tom).
sibling(X, Y)      :- parent_child(Z, X), parent_child(Z, Y).
parent_child(X, Y) :- father_child(X, Y).
parent_child(X, Y) :- mother_child(X, Y).

This results in the following query being evaluated as true:

 ?- sibling(sally, erica).

oz syntax highlighting lost[edit]

Since the switch from Geshi to Pygments for syntax highlighting (phab:T85794), support for 'oz' was unfortunately dropped, as can be seen with the plain text formatting on this page and others such as Alice (programming language). If you want specialised 'oz' syntax highlight support again, it will need to be added to Pygments. Alternatively, if there is another language which has similar syntax, we can add that as a fallback. John Vandenberg (chat) 07:00, 18 July 2015 (UTC)

The 'sml' (Standard ML) lang works reasonably well, except that '%' comment character is not recognised. I've switched a few of the examples to sml, and moved some of the code comments into prose in the process. It should be fairly simple to create an 'oz' language in Pygments by subclassing the 'sml' handler. John Vandenberg (chat) 19:50, 18 July 2015 (UTC)
Hi Cedar101, I see you switched the lang to erlang for 11 of the source blocks, but not the remaining 5. Using erlang is definitely the right choice when the source needs a code comment, as erlang also uses % as the comment character. But I am wondering why not change the other five also to lang=erlang. It looks like the highlighting of 'then' and 'else' is lost using erlang, but sml doesnt highlight elseif. If erlang is 'close enough', we could propose a patch to the syntax highlighter so that 'oz' is recognised as a language, and rendered using the 'erlang' lexer. John Vandenberg (chat) 00:50, 23 July 2015 (UTC)
Okay, I changed all to "elrang". -- Cedar101 (talk) 03:54, 23 July 2015 (UTC)