Rosetta Code:Village Pump: Difference between revisions

From Rosetta Code
Content deleted Content added
Rahul (talk | contribs)
Request to show how to run the programs
JulianM (talk | contribs)
Included the static summary
 
(100 intermediate revisions by 29 users not shown)
Line 1:
This is the new place for Rosetta Code community activity. Pages can be created starting here (similarly to [[Loops]]) for community discussion. 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 page, give a more detailed description of the topic as a heading, and write away. Also, link to the new topic on this page. Ex:add <nowikipre>[[Village Pump:Home/New Topic]]</nowiki>.{{Vptopic
==Home==
|topic=Title
This is the new place for Rosetta Code community activity. Pages can be created starting here (similarly to [[Loops]]) for community discussion. 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 page, give a more detailed description of the topic as a heading, and write away. Also, link to the new topic on this page. Ex: <nowiki>[[Village Pump:Home/New Topic]]</nowiki>.
|summary=Summary of the topic
*[[Village_Pump:Home/Syntax_Highlighting]]
}}</nowiki></pre>substituting your topic title for "Title" and a summary for "Summary of the topic".
*[[Village_Pump:Home/Bash_examples]]
 
*[[Village Pump:Home/Task creation process discussion]]
<!--
*[[Village Pump:Home/Foldable output]]. Request for ability to hide lines of output
{{#ask:[[Is village pump topic::true]]
*[[Village Pump:Home/Examples needing attention]]
|?Summary
*[[Village Pump:Home/Admin assistance request]]
|?Modification date
*[[Village Pump:Home/Running the programs]]
|format=broadtable
<br/>
|limit=20
|order=desc
|sort=Modification date
|searchlabel=Older topics...
|offset=0
}}
-->
 
{{/summary}}
 
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 21:23, 6 August 2024

This is the 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".


Summary Modification date
Village Pump/Unimplemented tasks Announcement of the unimpl pages, and of ImplSearchBot 21 July 2023 08:52:57
Village Pump/Change the Reports namespace A mandatory change because Miraheze's Reports namespace overrides the Reports namespace of any Miraheze wiki. 29 December 2022 00:09:31
Village Pump/tasks page Tasks page is unwieldy/slow to use 7 November 2022 23:16:36
Village Pump/Logging In How to log in when you seemingly cannot, and some tangential guesswork 12 July 2022 12:02:21
Village Pump/RC thinks cookies are disabled on Chrome Self-explanatory. I had to log in on Firefox just to file this page. 12 July 2022 12:00:59
Village Pump/Announcement removal Relating to the old Rosetta code announcement present on every page. 17 May 2022 09:06:39
Village Pump/Porting RC code How to handle licensing when porting RC code to a new language 9 February 2022 17:16:01
Village Pump/Discouraging approaches The goals of Rosetta Code, and responding to code which we disapprove of. 18 January 2022 02:09:57
Village Pump/CAPTCHA problems CAPTCHA problems are not being attended to. 3 July 2021 20:13:50
Village_Pump/Add link anchors to Language Category pages Suggestion to add Anchors to specific language examples 8 June 2021 21:39:15
Village Pump/useless tasks for pure synthax comparison New learning approach 27 April 2021 23:58:29
Village Pump/Phix geshi file New syntax file 31 March 2021 13:49:25
Village Pump/Syntax highlighting Discuss 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 specifics What 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 page Add more links to front page? 3 February 2021 15:03:11
Village Pump/Image uploads Relating to upload of images to Rosetta Code 1 February 2021 06:10:48
Village Pump/Old draft tasks Discussion on what to do about draft tasks which don't seem to be getting attention 25 December 2020 06:49:45
Village Pump/hopl.murdoch.edu.au Unavailable Broken links to HOPL 29 November 2020 22:34:11
Village Pump/LevenshteinDistance How to contribute and fix errors 16 November 2020 20:27:11
Village Pump/Unlisted tasks Several tasks are not showing up in the site listings 31 July 2020 10:25:37

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