Esoteric .NET Language Challenge
It's Friday afternoon, I'm bored with "conventional languages" such as C# and VB, so let's play a game! I've got four different code snippets from somewhat esoteric languages. They've only one thing in common - they can all be compiled with a .NET compiler into intermediate language. Can you guess a) what language each is, and b) what the snippets actually do?
I'll reveal the answers and the compilers in a couple of days if there's anything nobody can get! In ascending order of difficulty, then:
Snippet 1
<%@ page language="#omitted#" %>
<script runat="server">
OBJECT.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 FONT-SIZE PIC S9(9) COMP-5.
END OBJECT.
</script>
<% PERFORM VARYING FONT-SIZE FROM 1 BY 1 UNTIL FONT-SIZE > 7 %>
<font size="<%=FONT-SIZE%>">Nostalgia with a disturbingly novel twist...</font> <br>
<% END-PERFORM. %>
This is fairly straightforward, I think.
Snippet 2
! This is the main program
Program MultiDog
use System
use VirtualDog
type (Dog) :: d
type (Greyhound) :: g
type (Labrador) :: l
call d%RollOver()
call g%RollOver()
call l%RollOver()
end program MultiDog
A little bit less obvious in terms of the language, but its meaning is pretty clear.
Snippet 3
<%@ page language="#omitted#" %>
<script runat="server">
</script>
<html>
<body>
<H1>Can you guess what I do?</H1>
<form runat=server>
<asp:Button id="Pressme" Text="Press Me" runat="server" OnClick="Reverse" />
</form>;/form>
</body>
</html>
In this one, the language is a giveaway but it takes more skill to work out what the code is doing!
Snippet 4
400 constant bar
: foo \ Performs a mystery operation
2
begin
over over mod 0= 0=
rot rot dup >r
over 2 / > 0=
rot and r> swap
while
1+
repeat
over 2 / >
;
: main \ Entry point
."Values up to " bar . .": "
limit 1 do
i foo
if i . space then
loop
;
This is much harder to get right, I think...
Let the challenge commence :-)