Jump to content

Rosetta Code:Village Pump/Suggest a programming task: Difference between revisions

→‎Project level: ===Page-splitter===
(→‎Mathematical Operations: Re-implemented?)
(→‎Project level: ===Page-splitter===)
Line 246:
 
==Project level==
Which project, RC ? --[[User:Hajo|Hajo]] ([[User talk:Hajo|talk]]) 07:20, 21 November 2014 (UTC)
If possible, find ways to break these into smaller tasks which can ultimately be assembled into the final project.
 
If possible, find ways to break these into smaller tasks which can ultimately be assembled into the final project.
which can ultimately be assembled into the final project.
 
===Self-hosting compiler===
* Self-hosting compiler. Now it is a draft task. If this task is too large then I could break it up into smaller pieces. An example of a subtask that might be good is to translate functions expressed in language A into functions expressed in language B for languages A and B that have notions of functions. More specific would be to translate a Scheme-like syntax for functions into your language's syntax for functions. -[[User:Zelah|Zelah]] ([[User talk:Zelah|talk]]) 02:43, 7 May 2014 (UTC)
Line 301 ⟶ 305:
 
===Chat Server, Client and Gateway===
I'll get started on a demo of this and proper write up over the next couple weeks. There's already a [[Chat server]] task, but it doesn't really specify a protocol. Most implementations seem to be pretty straightforward, query the client for a nick, then announce all messages to everyone.
There's already a [[Chat server]] task, but it doesn't really specify a protocol.
Most implementations seem to be pretty straightforward, query the client for a nick, then announce all messages to everyone.
 
The chat server I'd propose is slightly more complicated, but not as complex as IRC. I'll work on a more clear protocol spec, but at a minimum changing of nicks and private messages, some others that will come up I'm sure (more features would be permitted, but a minimum and compatible protocol for the later projects).
I'll work on a more clear protocol spec, but at a minimum changing of nicks and private messages, some others that will come up I'm sure (more features would be permitted, but a minimum and compatible protocol for the later projects).
 
The second project is a Chat Client, it would hide the protocol (similar to IRC clients) so that the user can simply type messages, pm people via something like `/pm rabuf Hey, going to the movie tonight?`. Filtering messages received from the server that the user doesn't need (like PING/PONG messages), or optionally killlists to hide messages from annoying people. This could be split into 2+ projects. A simple CLI, this would look like the result of telnetting into the current chat servers. Hides the protocol, user simply sees prompts for a name at the start, and a prompt for messages. A more complex CLI version using something like ncurses or slang to build a more featureful UI (separate panel for PMs, text input in a panel at the bottom, etc.). And a GUI client (ideally, each language would have one `client` core that people build these UI wrappers around).
(ideally, each language would have one `client` core that people build these
UI wrappers around).
 
The third part is what [[IRC Gateway]] is proposing now, but simplified. Connect two servers, announce messages between them or extend the protocol of the servers to allow gateways to be special. Announce messages as rabuf if the user is local, rabuf@rosettacode if they're from the other side of the gateway, etc. This is mainly to address what I (personally, nothing against the task, but it's potentially very easy or ludicrously hard) see as a problem in the IRC Gateway task. In the TCL version the code is largley provided by an existing library, in languages lacking such a library one would need to be made or found. Potentially allow PMs across the gateway `/pm rabuf@rosettacode Yo!`.
Line 312 ⟶ 321:
 
--[[User:Rabuf|Rabuf]] ([[User talk:Rabuf|talk]]) 20:47, 5 November 2013 (UTC)
 
===Page-splitter===
A bot for splitting pages into sub-pages.<br>
E.g. I moved some entries from [[99_Bottles_of_Beer]] to separate pages, <br>
to organize them into groups of languages per subpage, <br>
see [[:Category:99_Bottles_of_Beer]]. --[[User:Hajo|Hajo]] ([[User talk:Hajo|talk]]) 07:20, 21 November 2014 (UTC)
 
==Unsorted==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.