10
$\begingroup$

It is the year 2204, and we have finally found intelligent extraterrestrial life. We are delighted about this, so we asked the aliens,

Are you planning to visit Earth any time soon?

The aliens speak English, however they love speaking in their native language. Here is what they answered:

^ :: ^
^^ :: ^^
^^^ :: ^^^
^ || ^ :: ^^
^^^^ || ^^^ :: ^^^^^^^
^^^^^ ~| ^^^ :: ^^
^^^ ~| ^^ :: ^
^ ~| ^ :: %
% ~| ^^^^ :: ~^^^^
^ ~: ^^^
^^^^ ~: ^
^^^^^ ~: ^^

^^ ||| ^^^ :: ^^ || ^^ || ^^
^ ||| ^^^^ :: ^ || ^ || ^ || ^
^^ ||| ^^ :: ^^ || ^^
^^^^ ~|| ^^ :: ^^
^ ~|| % @
~^ ~|| % @
% ~|| % @

^^^ || ?^ :: ^^^^^
?^ :: ^^

^ :: ^
^^ :: ^^
^^^ :: ^^^
?^ :: ?^
& ?^ ?^ :: ?^

^.% :: ^^^^^^^^^^
^.^ :: ^^^^^^^^^^^
^.%.% :: ^.% ||| ^.%
^ ~|| ^^ :: %,^^^^^
^ ~|| ^^^ :: %,^^^.^^^.^^^,,,
^ ~|| ^^^^ :: %,^^.^^^^^


^ : ^^
^^ : ^^^
^ : ^^^^^^^^
^^^ ~:: ^^
^^ ~:: ^
^ ~:: ^

^ #
^^ #
^^^ #
% #
~^ ~#
^,^^^^^ ~#

& ?^ ?^ # ' ?^ || ^ #

{^^ || ^^^} ||| ^^^^ :: ^^.%
^^ || ^^^ ||| ^^^^ :: ^.^^^^

[^] ~#
[^] $
[#] ~#
[#] $
[$] $
[%] $

= ^^^^^^^^^.^^^^ :: [^]
= ^^^.^^^^^ :: [#]
& ?^ ?^ ~# ' {= ?^} @

& ?^ ?^ $ ' ?^ $$
[^^^] $$
[#%^%%%^^] $$
[#*%*#**%*%] $$
[] $$
^^^^^ ~$$

+ [*****] :: ^^^^^
+ [***] :: ^^^
+ [%#%^^*%] :: ^^^^^^^
+ [] :: %

[***] / [###] :: [***###]
[%%] / [] :: [%%]

[^*+=] \ % :: [^]
[^*+=] \ ^ :: [*]
[^*+=] \ ^^ :: [+]
[^*+=] \ ^^^ :: [=]
[^*+=] \ ^^^^ @

^^ || ^^^ :: ^^^^^
![^^ || ^^^] :: ^^^^^

= ^^^.^^^ :: [!]
![= ^^^.^^^] :: [!]

! [*^}%+**+^] @
! [^ ||] @
! [^ ~|| %] @

(^ ^^ ^^^) \\
([!] ["] [#]) \\
() \\
((^ ^^ ^^^) ()) \\
^^^^^ ~\\

(^ ^^) / (^^^) :: (^ ^^ ^^^)
(^ ^^ ^^^) \ ^ :: ^^
+ ([^] [=] [#]) :: ^^^

?^ * ^^^^^
?^ :: ^^^^^
?^ ||* ^^
?^ :: ^^^^^^^
?^ ~|* ^^^^
?^ :: ^^^

?^ * []
?^^ * ^.%
?^^ ~: % ?? [
?^ /* [*]
?^^ ~|* ^
]
?^^ :: [**********]

?^ * (
      ^.^^^^|||^^^^^||^^^
      ^.^.^
      ^.^.^||^^~|^^^
      ^.%.^
     )
?^^ * []
?^^^ * %
?^^^ ~: ^^^^ ?? [
    ?^^ /* ?^ \ ?^^^
    ?^^^ ||* ^
]

?^^ ::

Question: Can you decode this alien language and how? Besides, what were the aliens trying to tell us?

$\endgroup$
7
  • $\begingroup$ Is it possible you have a typo on line 9? $\endgroup$
    – msh210
    Commented Feb 20 at 21:06
  • $\begingroup$ Is it possible you have a typo in the line ^.%.% :: ^.% :: ^.%? $\endgroup$
    – msh210
    Commented Feb 20 at 21:09
  • 2
    $\begingroup$ I'm not even sure what the tags are trying to tell us. $\endgroup$ Commented Feb 21 at 0:12
  • 11
    $\begingroup$ no-computers + computer-puzzle... there's a combination you don't see every day $\endgroup$ Commented Feb 21 at 2:32
  • 1
    $\begingroup$ @BlueHerring - and yet it's quite an appropriate combination... $\endgroup$ Commented Feb 21 at 18:04

1 Answer 1

7
$\begingroup$

Nope

Explanation:

% is 0

^ is 1 (unary up to 9)

~ is prefixed to negative numbers

@ is invalid

. separates decimal digits

, is a decimal point

,,, is an ellipsis

# is "is a whole number"

:: is equality

~: is inequality

: is less-than

|| is addition

~| is subtraction

||| is multiplication

~|| is division

?^ is a variable

& is "for all" (e.g. "& ?^ ?^ :: ?^" means "for all x, x = x")

' is "if-then" (e.g. "& ?^ ?^ # ' ?^ || ^ #" means "for all x, if x is a whole number, then x + 1 is a whole number")

{} are parentheses (PEMDAS)

~# is "is not a whole number"

$ is a character (delimited by square brackets)

= translates a number to the corresponding ASCII character

$$ is a string of zero or more characters (delimited by square brackets)

~$$ is not-a-string

\ is a list of zero or more elements (delimited by parentheses; elements may be numbers, strings, or lists)

~\ is not-a-list

+ counts the characters in a string or elements in a list

/ is string or list concatenation

x \ y is the (y+1)'th character or member of x

! evaluates the contents of a string

* is "set variable equal to"

||* is "increase variable by"

~|* is "decrease variable by"

/* is "append string with" (implicitly translates numbers to ASCII)

x ?? [stuff] is "while x, do stuff"

so the final section is:

set v1 to (assuming a typo here: 15 * 5 + 3, 111, 111 + 3 - 2, 101)

which evaluates to

set v1 to (78, 111, 110, 101)

set v2 to []

set v3 to 0

while v3 != 4 {

alter v2 by appending the character whose ASCII value is the (v3+1)th element of v1

increase v3 by 1

}

v2 equals "Nope"

$\endgroup$
10
  • $\begingroup$ I don't think your {} are parentheses can be right since there is an unbalanced } in the code. If the post contains typos as variously claimed, though, the whole thing is suspect. $\endgroup$ Commented Feb 21 at 11:22
  • $\begingroup$ @WeatherVane The unbalanced } is used to further explain @. $\endgroup$ Commented Feb 21 at 12:06
  • $\begingroup$ @HelloWorld are you saying the proposed @ means "ignore this line"? $\endgroup$ Commented Feb 21 at 12:08
  • $\begingroup$ @WeatherVane rot13(Ab, vg zrnaf na reebe.) $\endgroup$ Commented Feb 21 at 12:32
  • $\begingroup$ rot13(\ sbe VF-YVFG naq ~\ sbe VF-ABG-YVFG fubhyq cebonoyl or \\ naq ~\\ erfcrpgviryl.) $\endgroup$ Commented Feb 21 at 18:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.