Post History
The challenge is to write as short a source as possible, where the English alphabet (in alphabetical order from top to bottom) "abcdefghijklmnopqrstuvwxyz" is a subsequence of the source code. The...
#8: Post edited
Source with the whole alphabet in order of appearance
- Source with the whole alphabet in order of appearance [FINALIZED]
#7: Post edited
- The challenge is to write as short a source as possible, where the English alphabet (in alphabetical order from top to bottom) `"abcdefghijklmnopqrstuvwxyz"` is a subsequence of the source code.
- The first mentioning of the next expected letter is the only one that counts. If a letter appears earlier on than expected, then it does not count.
- That is: if the letter `a` is the next expected letter, then in the source `b;abs;c;` the `a` counts and everything before it is ignored. The next expected letter in the alphabet is `b`, which is found immediately as the next letter in `abs`. That a `b` existed earlier on in the source has no relevance. Similarly, the `s` at the end of `abs` fills no purpose as the next expected letter is now `c`. And so on, until the whole alphabet has been found in the source.
- - Identifiers, variable/function names, string literals, integer/floating point constants (like 0xABCDEF) or anything else that can be named by the programmer _do not count_ towards iterating through the alphabet.
- - Only keywords, function names or identifiers provided by the language's standard/default libraries count.
- - A solution may use non-standard libraries in which case it becomes a separate "language x + library y" solution.
- - The program need not do anything meaningful but must compile cleanly (no language syntax or constraint violations etc) and execute without any crashes or exceptions thrown.
- - Function-only answers are accepted and encouraged.
- - Any library includes at the top of the program are free and do not count towards the total (if using tio.run, put such in the header section).
- - The challenge is case-insensitive, accepting both upper and lower case letters.
- - This is code golf, the shortest source that fulfil the requirements wins.
- Non-golfed example of a correct solution in standard C:
- # [C (gcc)], 217 bytes
- <!-- language-all: lang-c -->
- void func (void)
- {
- fabs;cos;
- #define x long
- acosh;
- printf("hello world");
- jmp_buf j;
- isblank;
- long _Atomic l;
- alignof(int);
- puts;
- qsort;qsort;
- NULL;
- (void)pow;
- fmax;
- INFINITY;
- sizeof j;
- }
- [Try it online!][TIO-m0gtbfip]
- [C (gcc)]: https://gcc.gnu.org/
- [TIO-m0gtbfip]: https://tio.run/##ZZA9T8MwEIb3/IpTuyRDGGAMILFUilRlgoGpcvyRXHF8JnZoAfHbgy8dUMrie@955fuSZSflvEUn7aQ03IeokG76x@wPDSL2ayLjp9drpMfRXf0LOh4Hf8Wistj@Y8Ji5xKdPwgVmMlJyFkW2XcGYEQbKkmhSnqrtEGn4QyWXJeASEbPjh/RRZNvem0twYlGqzYFG2mIQzsZOHKCobXCvbHkAnB4ijSgBMtkGYNMngotP/0Ul6bvgcZYXd6UNi/7PcfLiJ5OnJhBnDnWza5u6udX1gG/NC2Nf@ZUEwaBbrVYWjQv2J3LdIUHeXs3l14r4SLKMp2UxvAL "C (gcc) – Try It Online"
- ---
- To go through this source, `func` is an identifier and does not contribute to the solution (but to the total amount of characters for code golf like usual). Neither does `x`, `"hello world"` etc. We find the alphabet as follows (bold text):
- > void func (void)
- {
- f**ab**s;**c**os;
- #**def**ine x lon**g**
- acos**h**;
- pr**i**ntf("hello world");
- **j**mp_buf j;
- isblan**k**;
- **l**ong _Ato**m**ic l;
- alig**no**f(int);
- **p**uts;
- **q**so**r**t;q**s**or**t**;
- N**U**LL;
- (**v**oid)po**w**;
- fma**x**;
- INFINIT**Y**;
- si**z**eof j;
- }
- The challenge is to write as short a source as possible, where the English alphabet (in alphabetical order from top to bottom) `"abcdefghijklmnopqrstuvwxyz"` is a subsequence of the source code.
- The first mentioning of the next expected letter is the only one that counts. If a letter appears earlier on than expected, then it does not count.
- That is: if the letter `a` is the next expected letter, then in the source `b;abs;c;` the `a` counts and everything before it is ignored. The next expected letter in the alphabet is `b`, which is found immediately as the next letter in `abs`. That a `b` existed earlier on in the source has no relevance. Similarly, the `s` at the end of `abs` fills no purpose as the next expected letter is now `c`. And so on, until the whole alphabet has been found in the source.
- - Identifiers, variable/function names, string literals, integer/floating point constants (like 0xABCDEF) or anything else that can be named by the programmer _do not count_ towards iterating through the alphabet.
- - Only keywords, function names or identifiers provided by the language's standard/default libraries count.
- - A solution may use non-standard libraries in which case it becomes a separate "language x + library y" solution.
- - Comments are not allowed anywhere in the source.
- - The program need not do anything meaningful but must compile cleanly (no language syntax or constraint violations etc) and execute without any crashes or exceptions thrown.
- - Function-only answers are accepted and encouraged.
- - Any library includes at the top of the program are free and do not count towards the total (if using tio.run, put such in the header section).
- - The challenge is case-insensitive, accepting both upper and lower case letters.
- - This is code golf, the shortest source that fulfil the requirements wins.
- Non-golfed example of a correct solution in standard C:
- # [C (gcc)], 217 bytes
- <!-- language-all: lang-c -->
- void func (void)
- {
- fabs;cos;
- #define x long
- acosh;
- printf("hello world");
- jmp_buf j;
- isblank;
- long _Atomic l;
- alignof(int);
- puts;
- qsort;qsort;
- NULL;
- (void)pow;
- fmax;
- INFINITY;
- sizeof j;
- }
- [Try it online!][TIO-m0gtbfip]
- [C (gcc)]: https://gcc.gnu.org/
- [TIO-m0gtbfip]: https://tio.run/##ZZA9T8MwEIb3/IpTuyRDGGAMILFUilRlgoGpcvyRXHF8JnZoAfHbgy8dUMrie@955fuSZSflvEUn7aQ03IeokG76x@wPDSL2ayLjp9drpMfRXf0LOh4Hf8Wistj@Y8Ji5xKdPwgVmMlJyFkW2XcGYEQbKkmhSnqrtEGn4QyWXJeASEbPjh/RRZNvem0twYlGqzYFG2mIQzsZOHKCobXCvbHkAnB4ijSgBMtkGYNMngotP/0Ul6bvgcZYXd6UNi/7PcfLiJ5OnJhBnDnWza5u6udX1gG/NC2Nf@ZUEwaBbrVYWjQv2J3LdIUHeXs3l14r4SLKMp2UxvAL "C (gcc) – Try It Online"
- ---
- To go through this source, `func` is an identifier and does not contribute to the solution (but to the total amount of characters for code golf like usual). Neither does `x`, `"hello world"` etc. We find the alphabet as follows (bold text):
- > void func (void)
- {
- f**ab**s;**c**os;
- #**def**ine x lon**g**
- acos**h**;
- pr**i**ntf("hello world");
- **j**mp_buf j;
- isblan**k**;
- **l**ong _Ato**m**ic l;
- alig**no**f(int);
- **p**uts;
- **q**so**r**t;q**s**or**t**;
- N**U**LL;
- (**v**oid)po**w**;
- fma**x**;
- INFINIT**Y**;
- si**z**eof j;
- }
#6: Post edited
The challenge is to write as short a source as possible, where the source itself contains and iterates through the whole English alphabet `"abcdefghijklmnopqrstuvwxyz"` in order from top to bottom. The first mentioning of the next expected letter is the only one that counts. If a letter appears earlier on than expected, then it does not count.- That is: if the letter `a` is the next expected letter, then in the source `b;abs;c;` the `a` counts and everything before it is ignored. The next expected letter in the alphabet is `b`, which is found immediately as the next letter in `abs`. That a `b` existed earlier on in the source has no relevance. Similarly, the `s` at the end of `abs` fills no purpose as the next expected letter is now `c`. And so on, until the whole alphabet has been found in the source.
- - Identifiers, variable/function names, string literals, integer/floating point constants (like 0xABCDEF) or anything else that can be named by the programmer _do not count_ towards iterating through the alphabet.
- - Only keywords, function names or identifiers provided by the language's standard/default libraries count.
- - A solution may use non-standard libraries in which case it becomes a separate "language x + library y" solution.
- - The program need not do anything meaningful but must compile cleanly (no language syntax or constraint violations etc) and execute without any crashes or exceptions thrown.
- - Function-only answers are accepted and encouraged.
- - Any library includes at the top of the program are free and do not count towards the total (if using tio.run, put such in the header section).
- - The challenge is case-insensitive, accepting both upper and lower case letters.
- - This is code golf, the shortest source that fulfil the requirements wins.
- Non-golfed example of a correct solution in standard C:
- # [C (gcc)], 217 bytes
- <!-- language-all: lang-c -->
- void func (void)
- {
- fabs;cos;
- #define x long
- acosh;
- printf("hello world");
- jmp_buf j;
- isblank;
- long _Atomic l;
- alignof(int);
- puts;
- qsort;qsort;
- NULL;
- (void)pow;
- fmax;
- INFINITY;
- sizeof j;
- }
- [Try it online!][TIO-m0gtbfip]
- [C (gcc)]: https://gcc.gnu.org/
- [TIO-m0gtbfip]: https://tio.run/##ZZA9T8MwEIb3/IpTuyRDGGAMILFUilRlgoGpcvyRXHF8JnZoAfHbgy8dUMrie@955fuSZSflvEUn7aQ03IeokG76x@wPDSL2ayLjp9drpMfRXf0LOh4Hf8Wistj@Y8Ji5xKdPwgVmMlJyFkW2XcGYEQbKkmhSnqrtEGn4QyWXJeASEbPjh/RRZNvem0twYlGqzYFG2mIQzsZOHKCobXCvbHkAnB4ijSgBMtkGYNMngotP/0Ul6bvgcZYXd6UNi/7PcfLiJ5OnJhBnDnWza5u6udX1gG/NC2Nf@ZUEwaBbrVYWjQv2J3LdIUHeXs3l14r4SLKMp2UxvAL "C (gcc) – Try It Online"
- ---
- To go through this source, `func` is an identifier and does not contribute to the solution (but to the total amount of characters for code golf like usual). Neither does `x`, `"hello world"` etc. We find the alphabet as follows (bold text):
- > void func (void)
- {
- f**ab**s;**c**os;
- #**def**ine x lon**g**
- acos**h**;
- pr**i**ntf("hello world");
- **j**mp_buf j;
- isblan**k**;
- **l**ong _Ato**m**ic l;
- alig**no**f(int);
- **p**uts;
- **q**so**r**t;q**s**or**t**;
- N**U**LL;
- (**v**oid)po**w**;
- fma**x**;
- INFINIT**Y**;
- si**z**eof j;
- }
- The challenge is to write as short a source as possible, where the English alphabet (in alphabetical order from top to bottom) `"abcdefghijklmnopqrstuvwxyz"` is a subsequence of the source code.
- The first mentioning of the next expected letter is the only one that counts. If a letter appears earlier on than expected, then it does not count.
- That is: if the letter `a` is the next expected letter, then in the source `b;abs;c;` the `a` counts and everything before it is ignored. The next expected letter in the alphabet is `b`, which is found immediately as the next letter in `abs`. That a `b` existed earlier on in the source has no relevance. Similarly, the `s` at the end of `abs` fills no purpose as the next expected letter is now `c`. And so on, until the whole alphabet has been found in the source.
- - Identifiers, variable/function names, string literals, integer/floating point constants (like 0xABCDEF) or anything else that can be named by the programmer _do not count_ towards iterating through the alphabet.
- - Only keywords, function names or identifiers provided by the language's standard/default libraries count.
- - A solution may use non-standard libraries in which case it becomes a separate "language x + library y" solution.
- - The program need not do anything meaningful but must compile cleanly (no language syntax or constraint violations etc) and execute without any crashes or exceptions thrown.
- - Function-only answers are accepted and encouraged.
- - Any library includes at the top of the program are free and do not count towards the total (if using tio.run, put such in the header section).
- - The challenge is case-insensitive, accepting both upper and lower case letters.
- - This is code golf, the shortest source that fulfil the requirements wins.
- Non-golfed example of a correct solution in standard C:
- # [C (gcc)], 217 bytes
- <!-- language-all: lang-c -->
- void func (void)
- {
- fabs;cos;
- #define x long
- acosh;
- printf("hello world");
- jmp_buf j;
- isblank;
- long _Atomic l;
- alignof(int);
- puts;
- qsort;qsort;
- NULL;
- (void)pow;
- fmax;
- INFINITY;
- sizeof j;
- }
- [Try it online!][TIO-m0gtbfip]
- [C (gcc)]: https://gcc.gnu.org/
- [TIO-m0gtbfip]: https://tio.run/##ZZA9T8MwEIb3/IpTuyRDGGAMILFUilRlgoGpcvyRXHF8JnZoAfHbgy8dUMrie@955fuSZSflvEUn7aQ03IeokG76x@wPDSL2ayLjp9drpMfRXf0LOh4Hf8Wistj@Y8Ji5xKdPwgVmMlJyFkW2XcGYEQbKkmhSnqrtEGn4QyWXJeASEbPjh/RRZNvem0twYlGqzYFG2mIQzsZOHKCobXCvbHkAnB4ijSgBMtkGYNMngotP/0Ul6bvgcZYXd6UNi/7PcfLiJ5OnJhBnDnWza5u6udX1gG/NC2Nf@ZUEwaBbrVYWjQv2J3LdIUHeXs3l14r4SLKMp2UxvAL "C (gcc) – Try It Online"
- ---
- To go through this source, `func` is an identifier and does not contribute to the solution (but to the total amount of characters for code golf like usual). Neither does `x`, `"hello world"` etc. We find the alphabet as follows (bold text):
- > void func (void)
- {
- f**ab**s;**c**os;
- #**def**ine x lon**g**
- acos**h**;
- pr**i**ntf("hello world");
- **j**mp_buf j;
- isblan**k**;
- **l**ong _Ato**m**ic l;
- alig**no**f(int);
- **p**uts;
- **q**so**r**t;q**s**or**t**;
- N**U**LL;
- (**v**oid)po**w**;
- fma**x**;
- INFINIT**Y**;
- si**z**eof j;
- }
#5: Post edited
- The challenge is to write as short a source as possible, where the source itself contains and iterates through the whole English alphabet `"abcdefghijklmnopqrstuvwxyz"` in order from top to bottom. The first mentioning of the next expected letter is the only one that counts. If a letter appears earlier on than expected, then it does not count.
- That is: if the letter `a` is the next expected letter, then in the source `b;abs;c;` the `a` counts and everything before it is ignored. The next expected letter in the alphabet is `b`, which is found immediately as the next letter in `abs`. That a `b` existed earlier on in the source has no relevance. Similarly, the `s` at the end of `abs` fills no purpose as the next expected letter is now `c`. And so on, until the whole alphabet has been found in the source.
- Identifiers, variable/function names, string literals, integer constants (like 0xABCDEF) or anything else that can be named by the programmer _do not count_ towards iterating through the alphabet.- - Only keywords, function names or identifiers provided by the language's standard/default libraries count.
- - A solution may use non-standard libraries in which case it becomes a separate "language x + library y" solution.
- - The program need not do anything meaningful but must compile cleanly (no language syntax or constraint violations etc) and execute without any crashes or exceptions thrown.
- - Function-only answers are accepted and encouraged.
- - Any library includes at the top of the program are free and do not count towards the total (if using tio.run, put such in the header section).
- - The challenge is case-insensitive, accepting both upper and lower case letters.
- - This is code golf, the shortest source that fulfil the requirements wins.
- Non-golfed example of a correct solution in standard C:
- # [C (gcc)], 217 bytes
- <!-- language-all: lang-c -->
- void func (void)
- {
- fabs;cos;
- #define x long
- acosh;
- printf("hello world");
- jmp_buf j;
- isblank;
- long _Atomic l;
- alignof(int);
- puts;
- qsort;qsort;
- NULL;
- (void)pow;
- fmax;
- INFINITY;
- sizeof j;
- }
- [Try it online!][TIO-m0gtbfip]
- [C (gcc)]: https://gcc.gnu.org/
- [TIO-m0gtbfip]: https://tio.run/##ZZA9T8MwEIb3/IpTuyRDGGAMILFUilRlgoGpcvyRXHF8JnZoAfHbgy8dUMrie@955fuSZSflvEUn7aQ03IeokG76x@wPDSL2ayLjp9drpMfRXf0LOh4Hf8Wistj@Y8Ji5xKdPwgVmMlJyFkW2XcGYEQbKkmhSnqrtEGn4QyWXJeASEbPjh/RRZNvem0twYlGqzYFG2mIQzsZOHKCobXCvbHkAnB4ijSgBMtkGYNMngotP/0Ul6bvgcZYXd6UNi/7PcfLiJ5OnJhBnDnWza5u6udX1gG/NC2Nf@ZUEwaBbrVYWjQv2J3LdIUHeXs3l14r4SLKMp2UxvAL "C (gcc) – Try It Online"
- ---
- To go through this source, `func` is an identifier and does not contribute to the solution (but to the total amount of characters for code golf like usual). Neither does `x`, `"hello world"` etc. We find the alphabet as follows (bold text):
- > void func (void)
- {
- f**ab**s;**c**os;
- #**def**ine x lon**g**
- acos**h**;
- pr**i**ntf("hello world");
- **j**mp_buf j;
- isblan**k**;
- **l**ong _Ato**m**ic l;
- alig**no**f(int);
- **p**uts;
- **q**so**r**t;q**s**or**t**;
- N**U**LL;
- (**v**oid)po**w**;
- fma**x**;
- INFINIT**Y**;
- si**z**eof j;
- }
- The challenge is to write as short a source as possible, where the source itself contains and iterates through the whole English alphabet `"abcdefghijklmnopqrstuvwxyz"` in order from top to bottom. The first mentioning of the next expected letter is the only one that counts. If a letter appears earlier on than expected, then it does not count.
- That is: if the letter `a` is the next expected letter, then in the source `b;abs;c;` the `a` counts and everything before it is ignored. The next expected letter in the alphabet is `b`, which is found immediately as the next letter in `abs`. That a `b` existed earlier on in the source has no relevance. Similarly, the `s` at the end of `abs` fills no purpose as the next expected letter is now `c`. And so on, until the whole alphabet has been found in the source.
- - Identifiers, variable/function names, string literals, integer/floating point constants (like 0xABCDEF) or anything else that can be named by the programmer _do not count_ towards iterating through the alphabet.
- - Only keywords, function names or identifiers provided by the language's standard/default libraries count.
- - A solution may use non-standard libraries in which case it becomes a separate "language x + library y" solution.
- - The program need not do anything meaningful but must compile cleanly (no language syntax or constraint violations etc) and execute without any crashes or exceptions thrown.
- - Function-only answers are accepted and encouraged.
- - Any library includes at the top of the program are free and do not count towards the total (if using tio.run, put such in the header section).
- - The challenge is case-insensitive, accepting both upper and lower case letters.
- - This is code golf, the shortest source that fulfil the requirements wins.
- Non-golfed example of a correct solution in standard C:
- # [C (gcc)], 217 bytes
- <!-- language-all: lang-c -->
- void func (void)
- {
- fabs;cos;
- #define x long
- acosh;
- printf("hello world");
- jmp_buf j;
- isblank;
- long _Atomic l;
- alignof(int);
- puts;
- qsort;qsort;
- NULL;
- (void)pow;
- fmax;
- INFINITY;
- sizeof j;
- }
- [Try it online!][TIO-m0gtbfip]
- [C (gcc)]: https://gcc.gnu.org/
- [TIO-m0gtbfip]: https://tio.run/##ZZA9T8MwEIb3/IpTuyRDGGAMILFUilRlgoGpcvyRXHF8JnZoAfHbgy8dUMrie@955fuSZSflvEUn7aQ03IeokG76x@wPDSL2ayLjp9drpMfRXf0LOh4Hf8Wistj@Y8Ji5xKdPwgVmMlJyFkW2XcGYEQbKkmhSnqrtEGn4QyWXJeASEbPjh/RRZNvem0twYlGqzYFG2mIQzsZOHKCobXCvbHkAnB4ijSgBMtkGYNMngotP/0Ul6bvgcZYXd6UNi/7PcfLiJ5OnJhBnDnWza5u6udX1gG/NC2Nf@ZUEwaBbrVYWjQv2J3LdIUHeXs3l14r4SLKMp2UxvAL "C (gcc) – Try It Online"
- ---
- To go through this source, `func` is an identifier and does not contribute to the solution (but to the total amount of characters for code golf like usual). Neither does `x`, `"hello world"` etc. We find the alphabet as follows (bold text):
- > void func (void)
- {
- f**ab**s;**c**os;
- #**def**ine x lon**g**
- acos**h**;
- pr**i**ntf("hello world");
- **j**mp_buf j;
- isblan**k**;
- **l**ong _Ato**m**ic l;
- alig**no**f(int);
- **p**uts;
- **q**so**r**t;q**s**or**t**;
- N**U**LL;
- (**v**oid)po**w**;
- fma**x**;
- INFINIT**Y**;
- si**z**eof j;
- }
#4: Post edited
- The challenge is to write as short a source as possible, where the source itself contains and iterates through the whole English alphabet `"abcdefghijklmnopqrstuvwxyz"` in order from top to bottom. The first mentioning of the next expected letter is the only one that counts. If a letter appears earlier on than expected, then it does not count.
- That is: if the letter `a` is the next expected letter, then in the source `b;abs;c;` the `a` counts and everything before it is ignored. The next expected letter in the alphabet is `b`, which is found immediately as the next letter in `abs`. That a `b` existed earlier on in the source has no relevance. Similarly, the `s` at the end of `abs` fills no purpose as the next expected letter is now `c`. And so on, until the whole alphabet has been found in the source.
- Identifiers, variable/function names, string literals, integer constants (like 0xABBA) or anything else that can be named by the programmer _do not count_ towards iterating through the alphabet.- - Only keywords, function names or identifiers provided by the language's standard/default libraries count.
- - A solution may use non-standard libraries in which case it becomes a separate "language x + library y" solution.
- - The program need not do anything meaningful but must compile cleanly (no language syntax or constraint violations etc) and execute without any crashes or exceptions thrown.
- - Function-only answers are accepted and encouraged.
- - Any library includes at the top of the program are free and do not count towards the total (if using tio.run, put such in the header section).
- - The challenge is case-insensitive, accepting both upper and lower case letters.
- - This is code golf, the shortest source that fulfil the requirements wins.
- Non-golfed example of a correct solution in standard C:
- # [C (gcc)], 217 bytes
- <!-- language-all: lang-c -->
- void func (void)
- {
- fabs;cos;
- #define x long
- acosh;
- printf("hello world");
- jmp_buf j;
- isblank;
- long _Atomic l;
- alignof(int);
- puts;
- qsort;qsort;
- NULL;
- (void)pow;
- fmax;
- INFINITY;
- sizeof j;
- }
- [Try it online!][TIO-m0gtbfip]
- [C (gcc)]: https://gcc.gnu.org/
- [TIO-m0gtbfip]: https://tio.run/##ZZA9T8MwEIb3/IpTuyRDGGAMILFUilRlgoGpcvyRXHF8JnZoAfHbgy8dUMrie@955fuSZSflvEUn7aQ03IeokG76x@wPDSL2ayLjp9drpMfRXf0LOh4Hf8Wistj@Y8Ji5xKdPwgVmMlJyFkW2XcGYEQbKkmhSnqrtEGn4QyWXJeASEbPjh/RRZNvem0twYlGqzYFG2mIQzsZOHKCobXCvbHkAnB4ijSgBMtkGYNMngotP/0Ul6bvgcZYXd6UNi/7PcfLiJ5OnJhBnDnWza5u6udX1gG/NC2Nf@ZUEwaBbrVYWjQv2J3LdIUHeXs3l14r4SLKMp2UxvAL "C (gcc) – Try It Online"
- ---
- To go through this source, `func` is an identifier and does not contribute to the solution (but to the total amount of characters for code golf like usual). Neither does `x`, `"hello world"` etc. We find the alphabet as follows (bold text):
- > void func (void)
- {
- f**ab**s;**c**os;
- #**def**ine x lon**g**
- acos**h**;
- pr**i**ntf("hello world");
- **j**mp_buf j;
- isblan**k**;
- **l**ong _Ato**m**ic l;
- alig**no**f(int);
- **p**uts;
- **q**so**r**t;q**s**or**t**;
- N**U**LL;
- (**v**oid)po**w**;
- fma**x**;
- INFINIT**Y**;
- si**z**eof j;
- }
- The challenge is to write as short a source as possible, where the source itself contains and iterates through the whole English alphabet `"abcdefghijklmnopqrstuvwxyz"` in order from top to bottom. The first mentioning of the next expected letter is the only one that counts. If a letter appears earlier on than expected, then it does not count.
- That is: if the letter `a` is the next expected letter, then in the source `b;abs;c;` the `a` counts and everything before it is ignored. The next expected letter in the alphabet is `b`, which is found immediately as the next letter in `abs`. That a `b` existed earlier on in the source has no relevance. Similarly, the `s` at the end of `abs` fills no purpose as the next expected letter is now `c`. And so on, until the whole alphabet has been found in the source.
- - Identifiers, variable/function names, string literals, integer constants (like 0xABCDEF) or anything else that can be named by the programmer _do not count_ towards iterating through the alphabet.
- - Only keywords, function names or identifiers provided by the language's standard/default libraries count.
- - A solution may use non-standard libraries in which case it becomes a separate "language x + library y" solution.
- - The program need not do anything meaningful but must compile cleanly (no language syntax or constraint violations etc) and execute without any crashes or exceptions thrown.
- - Function-only answers are accepted and encouraged.
- - Any library includes at the top of the program are free and do not count towards the total (if using tio.run, put such in the header section).
- - The challenge is case-insensitive, accepting both upper and lower case letters.
- - This is code golf, the shortest source that fulfil the requirements wins.
- Non-golfed example of a correct solution in standard C:
- # [C (gcc)], 217 bytes
- <!-- language-all: lang-c -->
- void func (void)
- {
- fabs;cos;
- #define x long
- acosh;
- printf("hello world");
- jmp_buf j;
- isblank;
- long _Atomic l;
- alignof(int);
- puts;
- qsort;qsort;
- NULL;
- (void)pow;
- fmax;
- INFINITY;
- sizeof j;
- }
- [Try it online!][TIO-m0gtbfip]
- [C (gcc)]: https://gcc.gnu.org/
- [TIO-m0gtbfip]: https://tio.run/##ZZA9T8MwEIb3/IpTuyRDGGAMILFUilRlgoGpcvyRXHF8JnZoAfHbgy8dUMrie@955fuSZSflvEUn7aQ03IeokG76x@wPDSL2ayLjp9drpMfRXf0LOh4Hf8Wistj@Y8Ji5xKdPwgVmMlJyFkW2XcGYEQbKkmhSnqrtEGn4QyWXJeASEbPjh/RRZNvem0twYlGqzYFG2mIQzsZOHKCobXCvbHkAnB4ijSgBMtkGYNMngotP/0Ul6bvgcZYXd6UNi/7PcfLiJ5OnJhBnDnWza5u6udX1gG/NC2Nf@ZUEwaBbrVYWjQv2J3LdIUHeXs3l14r4SLKMp2UxvAL "C (gcc) – Try It Online"
- ---
- To go through this source, `func` is an identifier and does not contribute to the solution (but to the total amount of characters for code golf like usual). Neither does `x`, `"hello world"` etc. We find the alphabet as follows (bold text):
- > void func (void)
- {
- f**ab**s;**c**os;
- #**def**ine x lon**g**
- acos**h**;
- pr**i**ntf("hello world");
- **j**mp_buf j;
- isblan**k**;
- **l**ong _Ato**m**ic l;
- alig**no**f(int);
- **p**uts;
- **q**so**r**t;q**s**or**t**;
- N**U**LL;
- (**v**oid)po**w**;
- fma**x**;
- INFINIT**Y**;
- si**z**eof j;
- }
#3: Post edited
- The challenge is to write as short a source as possible, where the source itself contains and iterates through the whole English alphabet `"abcdefghijklmnopqrstuvwxyz"` in order from top to bottom. The first mentioning of the next expected letter is the only one that counts. If a letter appears earlier on than expected, then it does not count.
- That is: if the letter `a` is the next expected letter, then in the source `b;abs;c;` the `a` counts and everything before it is ignored. The next expected letter in the alphabet is `b`, which is found immediately as the next letter in `abs`. That a `b` existed earlier on in the source has no relevance. Similarly, the `s` at the end of `abs` fills no purpose as the next expected letter is now `c`. And so on, until the whole alphabet has been found in the source.
- Identifiers, variable/function names, string literals or anything else that can be named by the programmer _do not count_ towards iterating through the alphabet.- Only keywords, function names, constants or identifiers provided by the language's standard/default libraries count.- - A solution may use non-standard libraries in which case it becomes a separate "language x + library y" solution.
- - The program need not do anything meaningful but must compile cleanly (no language syntax or constraint violations etc) and execute without any crashes or exceptions thrown.
- - Function-only answers are accepted and encouraged.
- - Any library includes at the top of the program are free and do not count towards the total (if using tio.run, put such in the header section).
- - The challenge is case-insensitive, accepting both upper and lower case letters.
- - This is code golf, the shortest source that fulfil the requirements wins.
- Non-golfed example of a correct solution in standard C:
- # [C (gcc)], 217 bytes
- <!-- language-all: lang-c -->
- void func (void)
- {
- fabs;cos;
- #define x long
- acosh;
- printf("hello world");
- jmp_buf j;
- isblank;
- long _Atomic l;
- alignof(int);
- puts;
- qsort;qsort;
- NULL;
- (void)pow;
- fmax;
- INFINITY;
- sizeof j;
- }
- [Try it online!][TIO-m0gtbfip]
- [C (gcc)]: https://gcc.gnu.org/
- [TIO-m0gtbfip]: https://tio.run/##ZZA9T8MwEIb3/IpTuyRDGGAMILFUilRlgoGpcvyRXHF8JnZoAfHbgy8dUMrie@955fuSZSflvEUn7aQ03IeokG76x@wPDSL2ayLjp9drpMfRXf0LOh4Hf8Wistj@Y8Ji5xKdPwgVmMlJyFkW2XcGYEQbKkmhSnqrtEGn4QyWXJeASEbPjh/RRZNvem0twYlGqzYFG2mIQzsZOHKCobXCvbHkAnB4ijSgBMtkGYNMngotP/0Ul6bvgcZYXd6UNi/7PcfLiJ5OnJhBnDnWza5u6udX1gG/NC2Nf@ZUEwaBbrVYWjQv2J3LdIUHeXs3l14r4SLKMp2UxvAL "C (gcc) – Try It Online"
- ---
- To go through this source, `func` is an identifier and does not contribute to the solution (but to the total amount of characters for code golf like usual). Neither does `x`, `"hello world"` etc. We find the alphabet as follows (bold text):
- > void func (void)
- {
- f**ab**s;**c**os;
- #**def**ine x lon**g**
- acos**h**;
- pr**i**ntf("hello world");
- **j**mp_buf j;
- isblan**k**;
- **l**ong _Ato**m**ic l;
- alig**no**f(int);
- **p**uts;
- **q**so**r**t;q**s**or**t**;
- N**U**LL;
- (**v**oid)po**w**;
- fma**x**;
- INFINIT**Y**;
- si**z**eof j;
- }
- The challenge is to write as short a source as possible, where the source itself contains and iterates through the whole English alphabet `"abcdefghijklmnopqrstuvwxyz"` in order from top to bottom. The first mentioning of the next expected letter is the only one that counts. If a letter appears earlier on than expected, then it does not count.
- That is: if the letter `a` is the next expected letter, then in the source `b;abs;c;` the `a` counts and everything before it is ignored. The next expected letter in the alphabet is `b`, which is found immediately as the next letter in `abs`. That a `b` existed earlier on in the source has no relevance. Similarly, the `s` at the end of `abs` fills no purpose as the next expected letter is now `c`. And so on, until the whole alphabet has been found in the source.
- - Identifiers, variable/function names, string literals, integer constants (like 0xABBA) or anything else that can be named by the programmer _do not count_ towards iterating through the alphabet.
- - Only keywords, function names or identifiers provided by the language's standard/default libraries count.
- - A solution may use non-standard libraries in which case it becomes a separate "language x + library y" solution.
- - The program need not do anything meaningful but must compile cleanly (no language syntax or constraint violations etc) and execute without any crashes or exceptions thrown.
- - Function-only answers are accepted and encouraged.
- - Any library includes at the top of the program are free and do not count towards the total (if using tio.run, put such in the header section).
- - The challenge is case-insensitive, accepting both upper and lower case letters.
- - This is code golf, the shortest source that fulfil the requirements wins.
- Non-golfed example of a correct solution in standard C:
- # [C (gcc)], 217 bytes
- <!-- language-all: lang-c -->
- void func (void)
- {
- fabs;cos;
- #define x long
- acosh;
- printf("hello world");
- jmp_buf j;
- isblank;
- long _Atomic l;
- alignof(int);
- puts;
- qsort;qsort;
- NULL;
- (void)pow;
- fmax;
- INFINITY;
- sizeof j;
- }
- [Try it online!][TIO-m0gtbfip]
- [C (gcc)]: https://gcc.gnu.org/
- [TIO-m0gtbfip]: https://tio.run/##ZZA9T8MwEIb3/IpTuyRDGGAMILFUilRlgoGpcvyRXHF8JnZoAfHbgy8dUMrie@955fuSZSflvEUn7aQ03IeokG76x@wPDSL2ayLjp9drpMfRXf0LOh4Hf8Wistj@Y8Ji5xKdPwgVmMlJyFkW2XcGYEQbKkmhSnqrtEGn4QyWXJeASEbPjh/RRZNvem0twYlGqzYFG2mIQzsZOHKCobXCvbHkAnB4ijSgBMtkGYNMngotP/0Ul6bvgcZYXd6UNi/7PcfLiJ5OnJhBnDnWza5u6udX1gG/NC2Nf@ZUEwaBbrVYWjQv2J3LdIUHeXs3l14r4SLKMp2UxvAL "C (gcc) – Try It Online"
- ---
- To go through this source, `func` is an identifier and does not contribute to the solution (but to the total amount of characters for code golf like usual). Neither does `x`, `"hello world"` etc. We find the alphabet as follows (bold text):
- > void func (void)
- {
- f**ab**s;**c**os;
- #**def**ine x lon**g**
- acos**h**;
- pr**i**ntf("hello world");
- **j**mp_buf j;
- isblan**k**;
- **l**ong _Ato**m**ic l;
- alig**no**f(int);
- **p**uts;
- **q**so**r**t;q**s**or**t**;
- N**U**LL;
- (**v**oid)po**w**;
- fma**x**;
- INFINIT**Y**;
- si**z**eof j;
- }
#2: Post edited
The challenge is to write as short a source as possible, which contains and iterates through the whole English alphabet `"abcdefghijklmnopqrstuvwxyz"` in order from top to bottom. The first mentioning of the next expected letter is the only one that counts. If a letter appears earlier on than expected, then it does not count.- That is: if the letter `a` is the next expected letter, then in the source `b;abs;c;` the `a` counts and everything before it is ignored. The next expected letter in the alphabet is `b`, which is found immediately as the next letter in `abs`. That a `b` existed earlier on in the source has no relevance. Similarly, the `s` at the end of `abs` fills no purpose as the next expected letter is now `c`. And so on, until the whole alphabet has been found in the source.
- - Identifiers, variable/function names, string literals or anything else that can be named by the programmer _do not count_ towards iterating through the alphabet.
- - Only keywords, function names, constants or identifiers provided by the language's standard/default libraries count.
- - A solution may use non-standard libraries in which case it becomes a separate "language x + library y" solution.
- - The program need not do anything meaningful but must compile cleanly (no language syntax or constraint violations etc) and execute without any crashes or exceptions thrown.
- - Function-only answers are accepted and encouraged.
- - Any library includes at the top of the program are free and do not count towards the total (if using tio.run, put such in the header section).
- - The challenge is case-insensitive, accepting both upper and lower case letters.
- - This is code golf, the shortest source that fulfil the requirements wins.
- Non-golfed example of a correct solution in standard C:
- # [C (gcc)], 217 bytes
- <!-- language-all: lang-c -->
- void func (void)
- {
- fabs;cos;
- #define x long
- acosh;
- printf("hello world");
- jmp_buf j;
- isblank;
- long _Atomic l;
- alignof(int);
- puts;
- qsort;qsort;
- NULL;
- (void)pow;
- fmax;
- INFINITY;
- sizeof j;
- }
- [Try it online!][TIO-m0gtbfip]
- [C (gcc)]: https://gcc.gnu.org/
- [TIO-m0gtbfip]: https://tio.run/##ZZA9T8MwEIb3/IpTuyRDGGAMILFUilRlgoGpcvyRXHF8JnZoAfHbgy8dUMrie@955fuSZSflvEUn7aQ03IeokG76x@wPDSL2ayLjp9drpMfRXf0LOh4Hf8Wistj@Y8Ji5xKdPwgVmMlJyFkW2XcGYEQbKkmhSnqrtEGn4QyWXJeASEbPjh/RRZNvem0twYlGqzYFG2mIQzsZOHKCobXCvbHkAnB4ijSgBMtkGYNMngotP/0Ul6bvgcZYXd6UNi/7PcfLiJ5OnJhBnDnWza5u6udX1gG/NC2Nf@ZUEwaBbrVYWjQv2J3LdIUHeXs3l14r4SLKMp2UxvAL "C (gcc) – Try It Online"
- ---
- To go through this source, `func` is an identifier and does not contribute to the solution (but to the total amount of characters for code golf like usual). Neither does `x`, `"hello world"` etc. We find the alphabet as follows (bold text):
- > void func (void)
- {
- f**ab**s;**c**os;
- #**def**ine x lon**g**
- acos**h**;
- pr**i**ntf("hello world");
- **j**mp_buf j;
- isblan**k**;
- **l**ong _Ato**m**ic l;
- alig**no**f(int);
- **p**uts;
- **q**so**r**t;q**s**or**t**;
- N**U**LL;
- (**v**oid)po**w**;
- fma**x**;
- INFINIT**Y**;
- si**z**eof j;
- }
- The challenge is to write as short a source as possible, where the source itself contains and iterates through the whole English alphabet `"abcdefghijklmnopqrstuvwxyz"` in order from top to bottom. The first mentioning of the next expected letter is the only one that counts. If a letter appears earlier on than expected, then it does not count.
- That is: if the letter `a` is the next expected letter, then in the source `b;abs;c;` the `a` counts and everything before it is ignored. The next expected letter in the alphabet is `b`, which is found immediately as the next letter in `abs`. That a `b` existed earlier on in the source has no relevance. Similarly, the `s` at the end of `abs` fills no purpose as the next expected letter is now `c`. And so on, until the whole alphabet has been found in the source.
- - Identifiers, variable/function names, string literals or anything else that can be named by the programmer _do not count_ towards iterating through the alphabet.
- - Only keywords, function names, constants or identifiers provided by the language's standard/default libraries count.
- - A solution may use non-standard libraries in which case it becomes a separate "language x + library y" solution.
- - The program need not do anything meaningful but must compile cleanly (no language syntax or constraint violations etc) and execute without any crashes or exceptions thrown.
- - Function-only answers are accepted and encouraged.
- - Any library includes at the top of the program are free and do not count towards the total (if using tio.run, put such in the header section).
- - The challenge is case-insensitive, accepting both upper and lower case letters.
- - This is code golf, the shortest source that fulfil the requirements wins.
- Non-golfed example of a correct solution in standard C:
- # [C (gcc)], 217 bytes
- <!-- language-all: lang-c -->
- void func (void)
- {
- fabs;cos;
- #define x long
- acosh;
- printf("hello world");
- jmp_buf j;
- isblank;
- long _Atomic l;
- alignof(int);
- puts;
- qsort;qsort;
- NULL;
- (void)pow;
- fmax;
- INFINITY;
- sizeof j;
- }
- [Try it online!][TIO-m0gtbfip]
- [C (gcc)]: https://gcc.gnu.org/
- [TIO-m0gtbfip]: https://tio.run/##ZZA9T8MwEIb3/IpTuyRDGGAMILFUilRlgoGpcvyRXHF8JnZoAfHbgy8dUMrie@955fuSZSflvEUn7aQ03IeokG76x@wPDSL2ayLjp9drpMfRXf0LOh4Hf8Wistj@Y8Ji5xKdPwgVmMlJyFkW2XcGYEQbKkmhSnqrtEGn4QyWXJeASEbPjh/RRZNvem0twYlGqzYFG2mIQzsZOHKCobXCvbHkAnB4ijSgBMtkGYNMngotP/0Ul6bvgcZYXd6UNi/7PcfLiJ5OnJhBnDnWza5u6udX1gG/NC2Nf@ZUEwaBbrVYWjQv2J3LdIUHeXs3l14r4SLKMp2UxvAL "C (gcc) – Try It Online"
- ---
- To go through this source, `func` is an identifier and does not contribute to the solution (but to the total amount of characters for code golf like usual). Neither does `x`, `"hello world"` etc. We find the alphabet as follows (bold text):
- > void func (void)
- {
- f**ab**s;**c**os;
- #**def**ine x lon**g**
- acos**h**;
- pr**i**ntf("hello world");
- **j**mp_buf j;
- isblan**k**;
- **l**ong _Ato**m**ic l;
- alig**no**f(int);
- **p**uts;
- **q**so**r**t;q**s**or**t**;
- N**U**LL;
- (**v**oid)po**w**;
- fma**x**;
- INFINIT**Y**;
- si**z**eof j;
- }
#1: Initial revision
Source with the whole alphabet in order of appearance
The challenge is to write as short a source as possible, which contains and iterates through the whole English alphabet `"abcdefghijklmnopqrstuvwxyz"` in order from top to bottom. The first mentioning of the next expected letter is the only one that counts. If a letter appears earlier on than expected, then it does not count.
That is: if the letter `a` is the next expected letter, then in the source `b;abs;c;` the `a` counts and everything before it is ignored. The next expected letter in the alphabet is `b`, which is found immediately as the next letter in `abs`. That a `b` existed earlier on in the source has no relevance. Similarly, the `s` at the end of `abs` fills no purpose as the next expected letter is now `c`. And so on, until the whole alphabet has been found in the source.
- Identifiers, variable/function names, string literals or anything else that can be named by the programmer _do not count_ towards iterating through the alphabet.
- Only keywords, function names, constants or identifiers provided by the language's standard/default libraries count.
- A solution may use non-standard libraries in which case it becomes a separate "language x + library y" solution.
- The program need not do anything meaningful but must compile cleanly (no language syntax or constraint violations etc) and execute without any crashes or exceptions thrown.
- Function-only answers are accepted and encouraged.
- Any library includes at the top of the program are free and do not count towards the total (if using tio.run, put such in the header section).
- The challenge is case-insensitive, accepting both upper and lower case letters.
- This is code golf, the shortest source that fulfil the requirements wins.
Non-golfed example of a correct solution in standard C:
# [C (gcc)], 217 bytes
<!-- language-all: lang-c -->
void func (void)
{
fabs;cos;
#define x long
acosh;
printf("hello world");
jmp_buf j;
isblank;
long _Atomic l;
alignof(int);
puts;
qsort;qsort;
NULL;
(void)pow;
fmax;
INFINITY;
sizeof j;
}
[Try it online!][TIO-m0gtbfip]
[C (gcc)]: https://gcc.gnu.org/
[TIO-m0gtbfip]: https://tio.run/##ZZA9T8MwEIb3/IpTuyRDGGAMILFUilRlgoGpcvyRXHF8JnZoAfHbgy8dUMrie@955fuSZSflvEUn7aQ03IeokG76x@wPDSL2ayLjp9drpMfRXf0LOh4Hf8Wistj@Y8Ji5xKdPwgVmMlJyFkW2XcGYEQbKkmhSnqrtEGn4QyWXJeASEbPjh/RRZNvem0twYlGqzYFG2mIQzsZOHKCobXCvbHkAnB4ijSgBMtkGYNMngotP/0Ul6bvgcZYXd6UNi/7PcfLiJ5OnJhBnDnWza5u6udX1gG/NC2Nf@ZUEwaBbrVYWjQv2J3LdIUHeXs3l14r4SLKMp2UxvAL "C (gcc) – Try It Online"
---
To go through this source, `func` is an identifier and does not contribute to the solution (but to the total amount of characters for code golf like usual). Neither does `x`, `"hello world"` etc. We find the alphabet as follows (bold text):
> void func (void)
{
f**ab**s;**c**os;
#**def**ine x lon**g**
acos**h**;
pr**i**ntf("hello world");
**j**mp_buf j;
isblan**k**;
**l**ong _Ato**m**ic l;
alig**no**f(int);
**p**uts;
**q**so**r**t;q**s**or**t**;
N**U**LL;
(**v**oid)po**w**;
fma**x**;
INFINIT**Y**;
si**z**eof j;
}
