This is the
talk page for discussing improvements to the
Mercury (programming language) article. This is not a forum for general discussion of the article's subject. |
Article policies
|
Find sources: Google ( books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL |
This article is rated Start-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | |||||||||||||||||
|
The "logo" listed on this page is actually scanned from a 1940s ad for the [Mercury (automobile)|Ford Mecury]. It's not the logo of the programming language project. -- De Guerre 05:43, 8 April 2007 (UTC)
The article could use a few more examples to illustrate Mercury's syntax. If anyone has any ideas on example programs that illustrate Mercury's functional/logical nature please post them. For now I'll add the Fibonacci numbers program from Ralph Becket's tutorial. 4zimuth ( talk) 20:00, 17 February 2008 (UTC)
Image:Mercury (programming language) logo.jpg is being used on this article. I notice the image page specifies that the image is being used under fair use but there is no explanation or rationale as to why its use in this Wikipedia article constitutes fair use. In addition to the boilerplate fair use template, you must also write out on the image description page a specific explanation or rationale for why using this image in each article is consistent with fair use.
Please go to the image description page and edit it to include a fair use rationale. Using one of the templates at Wikipedia:Fair use rationale guideline is an easy way to ensure that your image is in compliance with Wikipedia policy, but remember that you must complete the template. Do not simply insert a blank template on an image page.
If there is other fair use media, consider checking that you have specified the fair use rationale on the other images used on this page. Note that any fair use images lacking such an explanation can be deleted one week after being tagged, as described on criteria for speedy deletion. If you have any questions please ask them at the Media copyright questions page. Thank you.
BetacommandBot ( talk) 14:43, 8 March 2008 (UTC)
"can make certain programming constructs (such as a switch over a number of options, with a default) harder to express"
Prolog:
( Day = saturday, !, OpenHours = (8 - 15) ; Day = sunday, !, OpenHours = (9 - 13) ; OpenHours = (8 - 17) )
Mercury: For the same amount of compiler checking as the above, one could use an if-then-else structure:
( if Day = saturday then OpenHours = (8 - 15) else if Day = sunday then OpenHours = (9 - 13) else OpenHours = (8 - 17) ).
[Actually, for the above simple example one would probably use the functional form of if-then-else, i.e. OpenHours = ( if ... then (8 - 15) else if ... then (9 - 13) else (8 - 17) ).]
The above doesn't seem a good example of extra difficulty. I'm sure there better examples (maybe failure-driven I/O ?); can someone supply one? —Preceding unsigned comment added by Pjrm ( talk • contribs) 12:04, 1 February 2009 (UTC)
day_openhours(saturday, 8-15) :- !. day_openhours(sunday, 9-13) :- !. day_openhours(_OtherDay, 8-17). % possibly add a check that the first argument is in fact a day
Mercury: What you really want is something like this:
( Day = saturday, OpenHours = (8 - 15) ; Day = sunday, OpenHours = (9 - 13) ; ( Day = monday ; Day = tuesday ; Day = wednesday ; Day = thursday ; Day = friday ), OpenHours = (8 - 17) ).
This is a switch whose third case is a multi-cons-id case, This gets compiled efficiently, expresses the computation clearly and (in the right context) uses the determinism checker to ensure that all days are covered exactly once. It can also be run in reverse where the OpenHours is ground and Day is free, where it would be nondeterministic. —Preceding unsigned comment added by 210.84.17.212 ( talk) 01:56, 12 February 2010 (UTC)
It sounds a bit iffy to say that it's designed with "good" software engineering principles. This sounds like it's claiming that compiled, static-typed languages are always better than interpreted, dynamic-typed languages. - Qeny ( talk) 00:40, 30 April 2009 (UTC)
Nothing (other than their inescapable humanity) prevents a computer programmer from employing good software engineering principles without the help of a strong static type system. However, for those of us that would rather have help, these guys have 'designed' the language with good 'software engineering principles' in mind. I do not think the word 'good' is strong enough to imply exclusion anyhow. Good does not mean better. — Preceding unsigned comment added by 173.191.159.38 ( talk) 02:06, 8 October 2012 (UTC)
The website seems to be down more often that it is up (4 out of 5 attempts failed this month). The website looks dated and lacklustre. The forums/mailing lists are full of spam. Shame really, because it looks like an interesting language. pgr94 ( talk) 14:51, 26 February 2010 (UTC)
The project is definitely not dead, Melbourne Uni has at least a dozen postgrad + final year undergrad + staff working on the compiler, however i've been told by some friends working on the compiler that it is very difficult (read: impossible) to bootstrap as chunks of the build process assume that a working mercury implementation is available. —Preceding unsigned comment added by 131.170.170.135 ( talk) 05:36, 13 May 2010 (UTC)
Now (2013), three years later has there been any progress? — Preceding unsigned comment added by 78.54.98.110 ( talk) 19:56, 14 June 2013 (UTC)
Both the official website and the wikipedia page claim a daily snapshot, but the latest snapshot was built September 3rd, which at the time this was written was well over a month ago. This cannot be accurately classified as a daily snapshot. — Preceding unsigned comment added by 173.191.159.38 ( talk) 23:03, 7 October 2012 (UTC)
The way this article reads it's like someone wrote a puff piece for Mercury and someone else wrote margin notes with arrows pointing to circled text defensively saying "BUT PROLOG CAN DO THIS TOO!". This makes Wikipedia look like its editors belong on the short bus. —Preceding unsigned comment added by 66.249.20.178 ( talk) 07:39, 31 December 2010 (UTC)
This is the
talk page for discussing improvements to the
Mercury (programming language) article. This is not a forum for general discussion of the article's subject. |
Article policies
|
Find sources: Google ( books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL |
This article is rated Start-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | |||||||||||||||||
|
The "logo" listed on this page is actually scanned from a 1940s ad for the [Mercury (automobile)|Ford Mecury]. It's not the logo of the programming language project. -- De Guerre 05:43, 8 April 2007 (UTC)
The article could use a few more examples to illustrate Mercury's syntax. If anyone has any ideas on example programs that illustrate Mercury's functional/logical nature please post them. For now I'll add the Fibonacci numbers program from Ralph Becket's tutorial. 4zimuth ( talk) 20:00, 17 February 2008 (UTC)
Image:Mercury (programming language) logo.jpg is being used on this article. I notice the image page specifies that the image is being used under fair use but there is no explanation or rationale as to why its use in this Wikipedia article constitutes fair use. In addition to the boilerplate fair use template, you must also write out on the image description page a specific explanation or rationale for why using this image in each article is consistent with fair use.
Please go to the image description page and edit it to include a fair use rationale. Using one of the templates at Wikipedia:Fair use rationale guideline is an easy way to ensure that your image is in compliance with Wikipedia policy, but remember that you must complete the template. Do not simply insert a blank template on an image page.
If there is other fair use media, consider checking that you have specified the fair use rationale on the other images used on this page. Note that any fair use images lacking such an explanation can be deleted one week after being tagged, as described on criteria for speedy deletion. If you have any questions please ask them at the Media copyright questions page. Thank you.
BetacommandBot ( talk) 14:43, 8 March 2008 (UTC)
"can make certain programming constructs (such as a switch over a number of options, with a default) harder to express"
Prolog:
( Day = saturday, !, OpenHours = (8 - 15) ; Day = sunday, !, OpenHours = (9 - 13) ; OpenHours = (8 - 17) )
Mercury: For the same amount of compiler checking as the above, one could use an if-then-else structure:
( if Day = saturday then OpenHours = (8 - 15) else if Day = sunday then OpenHours = (9 - 13) else OpenHours = (8 - 17) ).
[Actually, for the above simple example one would probably use the functional form of if-then-else, i.e. OpenHours = ( if ... then (8 - 15) else if ... then (9 - 13) else (8 - 17) ).]
The above doesn't seem a good example of extra difficulty. I'm sure there better examples (maybe failure-driven I/O ?); can someone supply one? —Preceding unsigned comment added by Pjrm ( talk • contribs) 12:04, 1 February 2009 (UTC)
day_openhours(saturday, 8-15) :- !. day_openhours(sunday, 9-13) :- !. day_openhours(_OtherDay, 8-17). % possibly add a check that the first argument is in fact a day
Mercury: What you really want is something like this:
( Day = saturday, OpenHours = (8 - 15) ; Day = sunday, OpenHours = (9 - 13) ; ( Day = monday ; Day = tuesday ; Day = wednesday ; Day = thursday ; Day = friday ), OpenHours = (8 - 17) ).
This is a switch whose third case is a multi-cons-id case, This gets compiled efficiently, expresses the computation clearly and (in the right context) uses the determinism checker to ensure that all days are covered exactly once. It can also be run in reverse where the OpenHours is ground and Day is free, where it would be nondeterministic. —Preceding unsigned comment added by 210.84.17.212 ( talk) 01:56, 12 February 2010 (UTC)
It sounds a bit iffy to say that it's designed with "good" software engineering principles. This sounds like it's claiming that compiled, static-typed languages are always better than interpreted, dynamic-typed languages. - Qeny ( talk) 00:40, 30 April 2009 (UTC)
Nothing (other than their inescapable humanity) prevents a computer programmer from employing good software engineering principles without the help of a strong static type system. However, for those of us that would rather have help, these guys have 'designed' the language with good 'software engineering principles' in mind. I do not think the word 'good' is strong enough to imply exclusion anyhow. Good does not mean better. — Preceding unsigned comment added by 173.191.159.38 ( talk) 02:06, 8 October 2012 (UTC)
The website seems to be down more often that it is up (4 out of 5 attempts failed this month). The website looks dated and lacklustre. The forums/mailing lists are full of spam. Shame really, because it looks like an interesting language. pgr94 ( talk) 14:51, 26 February 2010 (UTC)
The project is definitely not dead, Melbourne Uni has at least a dozen postgrad + final year undergrad + staff working on the compiler, however i've been told by some friends working on the compiler that it is very difficult (read: impossible) to bootstrap as chunks of the build process assume that a working mercury implementation is available. —Preceding unsigned comment added by 131.170.170.135 ( talk) 05:36, 13 May 2010 (UTC)
Now (2013), three years later has there been any progress? — Preceding unsigned comment added by 78.54.98.110 ( talk) 19:56, 14 June 2013 (UTC)
Both the official website and the wikipedia page claim a daily snapshot, but the latest snapshot was built September 3rd, which at the time this was written was well over a month ago. This cannot be accurately classified as a daily snapshot. — Preceding unsigned comment added by 173.191.159.38 ( talk) 23:03, 7 October 2012 (UTC)
The way this article reads it's like someone wrote a puff piece for Mercury and someone else wrote margin notes with arrows pointing to circled text defensively saying "BUT PROLOG CAN DO THIS TOO!". This makes Wikipedia look like its editors belong on the short bus. —Preceding unsigned comment added by 66.249.20.178 ( talk) 07:39, 31 December 2010 (UTC)