75
\$\begingroup\$

Inspiration: in 1939, a man named Ernest Vincent Wright wrote a novel called Gadsby without using the letter 'e'.

Your task is to write a set of (up to 5) programs in any language (which has a text-based syntax*) to output all 26 letters of the alphabet in order. However for each vowel aeiou, at least one of the programs must not include any occurrence of the vowel.

So there must be

  • a program that does not use 'a' or 'A' anywhere in the syntax of the program.
  • a program that does not use 'e' or 'E' anywhere in the syntax of the program.
  • a program that does not use 'i'  or 'I' anywhere in the syntax of the program.
  • a program that does not use 'o' or 'O' anywhere in the syntax of the program.
  • a program that does not use 'u' or 'U' anywhere in the syntax of the program.

All of them must output abcdefghijklmnopqrstuvwxyz.

The winner shall be the solution where the length of all programs is the shortest.

* since the constraint wouldn't be much of a challenge in Piet or Whitespace

\$\endgroup\$
21
  • 2
    \$\begingroup\$ if one manages to make a single program that does not contain any vowel, do we need multiply the length of the program by 5? \$\endgroup\$ Commented Apr 24, 2012 at 10:55
  • 5
    \$\begingroup\$ @w0lf: No, it says "up to 5 programs" and "length of all programs", which I read as "there can be only one program and its length counts in this case". \$\endgroup\$
    – schnaader
    Commented Apr 24, 2012 at 11:09
  • 10
    \$\begingroup\$ @PeterTaylor: You don't think having to avoid using vowels in your syntax is a unique challenge? As a JS programmer, it's especially interesting :) \$\endgroup\$
    – mellamokb
    Commented Apr 24, 2012 at 13:51
  • 2
    \$\begingroup\$ Are newlines acceptable in the output (i.e. one per character)? I can shorten some of my code if that is the case... \$\endgroup\$
    – Gaffi
    Commented Apr 24, 2012 at 21:17
  • 3
    \$\begingroup\$ I'm the OP. Uppercase not allowed. \$\endgroup\$
    – shamp00
    Commented Sep 17, 2016 at 5:21

123 Answers 123

1 2 3 4
5
0
\$\begingroup\$

beeswax, 28 chars

Just trying out how well beeswax is able to perform in comparison to other languages.

>@5~5.P@>}@Mq
dP(6~4_#dP@#"<

You can clone my GitHub repository, containing the interpreter, written in Julia, the language specs and examples.

\$\endgroup\$
0
\$\begingroup\$

Thunno 2, 1 byte

!= A. Constant for "lowercase alphabet".

Thunno 2 B, 6 bytes

ṇßæ96>

No symbols that look like vowels here.

Explanation
ṇßæ96>  # Full program
ṇß      # Push compressed integer 122
  æ     # Filter the range [1..122] by:
   96>  #  Greater than 96?
        # Implicit output, converted to
        # characters by the B flag

Normally we would have used "inclusive range" (I), but that's a vowel.

Screenshots

Screenshot 1 Screenshot 2

\$\endgroup\$
0
\$\begingroup\$

Raku, 18 + 21 = 39 characters

No E, I, O, or U; prints a newline at the end:

([~] 'a'..'z').say

No A, E, O, or U; no newline at the end:

([~] '`'^..'z').print
\$\endgroup\$
1 2 3 4
5

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.