-
-
Notifications
You must be signed in to change notification settings - Fork 9
Home
joha2 edited this page Jun 29, 2016
·
17 revisions
In the following I want to ask some questions about CosmicOS.
- Did you ever hand the message over to some person which should decode it like the test message in the METI initiative http://www.dearet.org/ (i.e. without any knowledge of it)?
- Is it possible to decode the message in an automated way (without to many assumptions), i.e. to generate a parsing tree or to perform a lexical analysis? Are there results or tools in computer science which allow that? Since an AI or ET who receives your message should have such a tool or result at hand, at least approximately ;-)
- Connected with Question no. 2: Should ET or AI compile the message to receive an implementation like
cosh.jsat the end of the day? - I wondered if it is possible to train a neural network to decode your message.
- Are your bitcodes prefix free? Would that be an improvement for the decoding?
- Did you already think about redundancy in the message body in case there are some signal errors?
- Would it be a good idea to use blocks like in the METI initiative consisting of 8 numbers (for redundancy reasons) to encode your
0,1,2,3alphabet? - Would it also be possible to encode the "end-of-command"
;by another value instead of using(())or2233(e.g.4)? Comment: From an automatic translation view maybe the commands should also be embraced in(and)instead of being finalized by a new symbol. - When I tried to decode your message without putting to much knowledge into the decoder, I first tried to find the separators. I saw that
2and3appear nearly equally often and therefore are good candidates for separators. When I substituted them2->(and3->)I wondered why the line statements themselves were not embraced by(). I also wondered what the expression0()means. Could you please explain your encoding philosophy a bit more? - Why did you start the message with this is:int stuff? Isn't it more intuitive to start with comparisons and afterwards do this "number", "square", "prime" stuff?
(I know in a C++ program one writes
int a = 1;before usinga;-))
- Why did you name this operator "unary"? I thought an "unary" operator has only one operand? The "unary" operator in cosmicos has arbitrarily many operands.
- Why is "unary" not defined by "intro"?
- Did you use "unary" as some kind of of "no-op" operator?
- I wondered why you care about real numbers? Is it not possible to rewrite all floating point (rational) numbers into the form (div int int)? A friend of mine mentioned that real numbers themselves might be a more or less cultural product whereas natural numbers, integer numbers, or rational numbers are not. I could ask him for a reference.
- Natural constants like pi, e, and sqrt(2) can be formulated recursively (by using the appropriate series representations)
Perhaps one can introduce an approximation operator which approximates the result by a (div int int) form? Like
(= (approx (pi) (div 1 10)) (div 22 7)) -> True - Do you already have a symbol for infinity or is there an implementation for limiting procedures?
The cosh seems not to work correctly for me:
cosmicos> (< 3 4)
1
cosmicos> (< 4 3)
Problem with 0 (intro)
What did I do wrong? Comment: It seems that there is no False in the list of operators when you call help.