Talk:Whitespace (programming language)

Latest comment: 1 year ago by CiaPan in topic Rowspan it the syntax table?

Color Scheme edit

I'm red-green colorblind, is there any way that the colors could be changed to stand out for someone like me?

Thanks,

Centrisian (talk) 20:51, 30 August 2008 (UTC)Reply

This any better? edit

--Kizor 22:26, 30 August 2008 (UTC)Reply

This prints "Hello World!". Note that whitespace characters have been given differently coloured backgrounds since, in practice, they are invisible. (Space, Tab)

   
   	  	   
		    	
   		  	 	
		    	 
   		 		  
		    		
   		 		  
		    
	  
   		 				
		    	 	
   	 		  
		    		 
   	     
		    			
   			 			
		  
  	   
   		 				
		    	  	
   			  	 
		    	 	 
   		 		  
		    	 		
   		  
	  
		    		  
   	    	
		    		 	
   		 	
		    			 
   	 	 
		    				
    
	
	     
empty-line
    	
empty-line
 			 
empty-line
	  	 
	
     	
	   
empty-line
  	
empty-line
   	 
empty-line
empty-line/EOF


A lot better. if this could be implemented, that would be great. Also, sorry for being awol so long for a reply. Centrisian (talk) 03:21, 2 March 2009 (UTC)Reply

Whitespace should be white: that's surely the whole point. Showing it in pink and lilac is cheating. Mhkay (talk) 15:04, 2 March 2012 (UTC)Reply

Markers edit

I've added in markers to separate the characters, in the hope of improving clarity - I'm not sure whether it's actually turned out better or not; if people disagree then please do give reasons and revert. --82.70.156.254 (talk) 01:08, 21 October 2009 (UTC)Reply

Personally, I don’t think they’re necessary since it’s already highlighted… and I’m not sure anything could help this language’s clarity. Still, they don’t do any harm since the interpreter ignores them. But here’s one vote against them, which makes it a tie. —Frungi (talk) 19:17, 18 February 2010 (UTC)Reply

Although not as "pretty", the marker version makes it clearer how many Spaces (or Tabs) there are when they're adjacent. It also makes it easier for a reader to obtain directly usable source code by copy/paste (in edit mode). However, if we're going to use markers, an alternative is to use markers that identify the characters they mark; e.g. use S,T,L as "comments" to identify Space,Tab,Linefeed respectively. I just revised the example to do this, and also made the source code available at ideone. — r.e.s. (talk) 03:14, 6 April 2012 (UTC)Reply
The STL-commented program can be then explained in normal text fashion by referring to just the "identifiers" S, T, L (now ignoring whitespace!):
SS STSSTSSSL TLSS    ;push +1001000 (72 in decimal) onto the stack and output the top-of-stack as a character ('H')
SS STTSSTSTL TLSS    ;push +1100101 (101 in decimal) onto the stack and output the top-of-stack as a character ('e')
SS STTSTTSSL TLSS    ;etc.
SS STTSTTSSL TLSS
SS STTSTTTTL TLSS
SS STSTTSSL TLSS
SS STSSSSSL TLSS
SS STTTSTTTL TLSS
SS STTSTTTTL TLSS
SS STTTSSTSL TLSS
SS STTSTTSSL TLSS
SS STTSSTSSL TLSS
SS STSSSSTL TLSS     ;push +100001 (33 in decimal) onto the stack and output the top-of-stack as a character ('!')
LLL                  ;end the program
I don't know if it would be appropriate to include such an explanation in the article, though. (?) — r.e.s. (talk) 11:58, 6 April 2012 (UTC)Reply
I revised again to include the best of both worlds -- identifying comments (S,T,L) and color coded html. Each Space, Tab, or Linefeed character in the source code is preceded by the identifying comment "S", "T", or "L", respectively. — r.e.s. (talk) 12:57, 7 April 2012 (UTC)Reply

"This article does not cite any references or sources." edit

This is an incorrect statement, although it may have been correct when it was added.

What is the process for removing it? —Preceding unsigned comment added by 65.166.54.44 (talk) 16:57, 7 April 2010 (UTC)Reply

Does the Hello World actually works? edit

I copy/pasted the code to ideone.com. Some characters not visible in the code were printed there, but since they're supposed to be ignored, I let them there. The interpreter threw out this error: "Fail: user error (Can't do Dup)". — Preceding unsigned comment added by 189.77.168.10 (talk) 13:45, 15 September 2011 (UTC)Reply

Rather than try to debug that code, I replaced it with a fresh example that prints "Hello, world!". This version includes "comments" (S,T,L) to identify each whitespace character. (See the earlier discussion, and the code available at ideone).— r.e.s. (talk) 12:26, 6 April 2012 (UTC)Reply
This example needs to be given much deeper comments, with an explanation of what each line does. --NeatNit (talk) 21:15, 17 September 2015 (UTC)Reply
The commented version is already given above in the talk section on "Markers", and there is also a link given there to an online interpreter that proves the program works as advertised. — r.e.s. (talk) 01:50, 20 September 2015 (UTC)Reply

Purpose? edit

Is there a point to this language or is it just sort of a clever trick/joke? — Preceding unsigned comment added by 108.221.57.236 (talk) 17:56, 11 November 2012 (UTC)Reply

Well, it does say under the History section that it was a facetious suggestion. So yes, I think it’s just a novelty. —Frungi (talk) 01:16, 26 April 2013 (UTC)Reply
It seems that it started as "just" a joke, but it then rapidly developed into a "real" language (albeit of the experimental, academic variety). A small community has developed around Whitespace beyond just the original authors, producing alternative compilers, interpreters, and even an assembler (for those who don't want to program directly in the "machine language" of spaces and tabs). — Preceding unsigned comment added by 99.146.149.141 (talk) 18:35, 5 June 2013 (UTC)Reply
This page would be a vital resource to any programmer who encountered a Whitespace program before having heard of it. 164.119.77.244 (talk) 15:15, 12 September 2013 (UTC)Reply
It is vital to anyone concerned with security and immensely enjoyable to anyone with an intellectual interest in computing and compilers. What kind of mean-spirited so-and-so would even suggest deleting it? Unbelievable. — Preceding unsigned comment added by 76.64.180.221 (talk) 04:54, 25 November 2015 (UTC)Reply

External links modified edit

Hello fellow Wikipedians,

I have just modified 3 external links on Whitespace (programming language). Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 18 January 2022).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 05:30, 9 December 2017 (UTC)Reply

There really needs to be an honest depiction edit

The whole point of the language is what it looks like. There are many depictions of it in this article, but with a fundamental difference that undermines the entire language: highlighting. There needs to be an example of a program written in this language without any highlight, ideally at the top of the page. 82.19.244.65 (talk) 16:53, 5 October 2019 (UTC)Reply

I'm going to assume that you're joking, as a depiction of the language without highlighting would be literally a blank paragraph. The language is/was an April Fool's joke. An 'honest depiction' of a satirical effort is non-sequitur. Anastrophe (talk) 03:08, 6 October 2019 (UTC)Reply
No, I'm serious, there should be a blank paragraph on the page. I'd say that putting highlighted code there isn't informative enough as it doesn't show the difference that highlighting makes through comparison. The whole point of the language is unreadable code, and this article currently fails to demonstrate that visually.--82.32.180.23 (talk) 13:45, 15 April 2020 (UTC)Reply
Dear 82.19.244.65 (love the name, is 65 the family name?), after reading your original comment and before reading the response from anastrophe, I was thinking you were serious. I could tell since you didn't include a smiley face ... :) (I'm including one to indicate I am making a joke) Thing is I had the same thought: shouldn't this show an uncommented program? And then I had anastrophe's thought: it would literally look like nothing! It's surprisingly hard to show nothing, right? I think anastrophe is a bit harsh calling your request a non-sequitur. But, I do think it is better left as an exercise for the reader: close your eyes; imagine nothing; now, run that. :)

Rowspan it the syntax table? edit

Wouldn't the syntax table look better with appropriate rowspan–s in the first column?

IMP Command Parameter Meaning
[Space] [Space] Number Push the number onto the stack
[LF][Space] - Duplicate the top item on the stack
[Tab][Space] Number Copy the nth item on the stack (given by the argument) onto the top of the stack
[LF][Tab] - Swap the top two items on the stack
[LF][LF] - Discard the top item on the stack
[Tab][LF] Number Slide n items off the stack, keeping the top item
[Tab][Space] [Space][Space] - Addition
[Space][Tab] - Subtraction
[Space][LF] - Multiplication
[Tab][Space] - Integer Division
[Tab][Tab] - Modulo
[Tab][Tab] [Space] - Store in heap
[Tab] - Retrieve from heap
[LF] [Space][Space] Label Mark a location in the program
[Space][Tab] Label Call a subroutine
[Space][LF] Label Jump to a label
[Tab][Space] Label Jump to a label if the top of the stack is zero
[Tab][Tab] Label Jump to a label if the top of the stack is negative
[Tab][LF] - End a subroutine and transfer control back to the caller
[LF][LF] - End the program
[Tab][LF] [Space][Space] - Output the character at the top of the stack
[Space][Tab] - Output the number at the top of the stack
[Tab][Space] - Read a character and place it in the location given by the top of the stack
[Tab][Tab] - Read a number and place it in the location given by the top of the stack

--CiaPan (talk) 10:05, 15 November 2022 (UTC)Reply