Rosetta Code:Village Pump: Difference between revisions

From Rosetta Code
m (Fixed spelling of order parameter value)
(new proposed task)
 
Line 13: Line 13:
 
|offset=0
 
|offset=0
 
}}
 
}}
  +
  +
Hi, sorry to post this here but I don't know a better place. I wanted to create a new proposed task "Create statically-validated API" but it's impossible to create a page without solving a captcha, and the browser I use doesn't show the captcha (I was able to create this account using a phone browser, but that's no good for entering much text or code). Maybe someone can move it to the right place? (Added: I also had to de-link the urls to bypass the captcha).
  +
  +
By the way I find this site a huge pain to use because of the captchas. Email verification for account creation is likely to be enough.
  +
  +
== create statically-validated API ==
  +
  +
This is a challenge proposed by Tony Morris here:
  +
  +
blog.tmorris.net/posts/understanding-practical-api-design-static-typing-and-functional-programming/
  +
  +
It is only for statically-typed languages and the challenge is to implement a Tic-tac-toe API that supports operations like starting a game, making a move, and seeing who won, where invalid arguments (such as asking who won an unfinished game) are rejected by the compiler as compile-time type errors. So it is mostly a test of how expressive the language's type system is.
  +
  +
A Haskell solution (not by me) is here:
  +
  +
github.com/tismith/tictactoe-haskell/blob/master/Tictactoe.hs
  +
  +
Further discussion and links to some other solutions:
  +
  +
github.com/data61/fp-course/blob/master/projects/TicTacToe/TicTacToe.markdown

Latest revision as of 22:47, 29 April 2018

This is the new place for Rosetta Code community activity. To start a new "thread", just append a "/" to the end of the URL of this page and give your thread a short title. On the new topic page add
{{Vptopic
|topic=Title
|summary=Summary of the topic
}}
substituting your topic title for "Title" and a summary for "Summary of the topic".
 SummaryModification date"Modification date" is a predefined property that corresponds to the date of the last modification of a subject and is provided by Semantic MediaWiki.
Village Pump/tasks pageTasks page is unwieldy/slow to use7 November 2022 23:16:36
Village Pump/Logging InHow to log in when you seemingly cannot, and some tangential guesswork12 July 2022 12:02:21
Village Pump/RC thinks cookies are disabled on ChromeSelf-explanatory. I had to log in on Firefox just to file this page.12 July 2022 12:00:59
Village Pump/Announcement removalRelating to the old Rosetta code announcement present on every page.17 May 2022 09:06:39
Village Pump/Porting RC codeHow to handle licensing when porting RC code to a new language9 February 2022 17:16:01
Village Pump/Discouraging approachesThe goals of Rosetta Code, and responding to code which we disapprove of.18 January 2022 02:09:57
Village Pump/CAPTCHA problemsCAPTCHA problems are not being attended to.3 July 2021 20:13:50
Village Pump/Add link anchors to Language Category pagesSuggestion to add Anchors to specific language examples8 June 2021 21:39:15
Village Pump/useless tasks for pure synthax comparisonNew learning approach27 April 2021 23:58:29
Village Pump/Phix geshi fileNew syntax file31 March 2021 13:49:25
Village Pump/Syntax highlightingDiscuss issues related to the Syntax Highlighting system here. The old page got huge, and it became hard to discern what problems were current.8 March 2021 10:38:54
Village Pump/OS specificsWhat to do about tasks that involve OS specific functions such as disk I/O or graphics.26 February 2021 00:23:05
Village Pump/Front pageAdd more links to front page?3 February 2021 15:03:11
Village Pump/Image uploadsRelating to upload of images to Rosetta Code1 February 2021 06:10:48
Village Pump/Old draft tasksDiscussion on what to do about draft tasks which don't seem to be getting attention25 December 2020 06:49:45
Village Pump/hopl.murdoch.edu.au UnavailableBroken links to HOPL29 November 2020 22:34:11
Village Pump/LevenshteinDistanceHow to contribute and fix errors16 November 2020 20:27:11
Village Pump/Unlisted tasksSeveral tasks are not showing up in the site listings31 July 2020 10:25:37
Village Pump/Small BAsicMicrosoft Small Basic doesn't appear in the language section7 May 2020 10:59:59
Village Pump/What should I call this other programming language also called SimpleCode on Rosetta Code?I've found another programming language called SimpleCode.3 May 2020 23:02:02
Older topics...

Hi, sorry to post this here but I don't know a better place. I wanted to create a new proposed task "Create statically-validated API" but it's impossible to create a page without solving a captcha, and the browser I use doesn't show the captcha (I was able to create this account using a phone browser, but that's no good for entering much text or code). Maybe someone can move it to the right place? (Added: I also had to de-link the urls to bypass the captcha).

By the way I find this site a huge pain to use because of the captchas. Email verification for account creation is likely to be enough.

create statically-validated API[edit]

This is a challenge proposed by Tony Morris here:

blog.tmorris.net/posts/understanding-practical-api-design-static-typing-and-functional-programming/

It is only for statically-typed languages and the challenge is to implement a Tic-tac-toe API that supports operations like starting a game, making a move, and seeing who won, where invalid arguments (such as asking who won an unfinished game) are rejected by the compiler as compile-time type errors. So it is mostly a test of how expressive the language's type system is.

A Haskell solution (not by me) is here:

github.com/tismith/tictactoe-haskell/blob/master/Tictactoe.hs

Further discussion and links to some other solutions:

github.com/data61/fp-course/blob/master/projects/TicTacToe/TicTacToe.markdown