« first day (2166 days earlier)      last day (2677 days later) » 

12:01 AM
so for example, in regular Prolog you can do something like member(4,[A,B]).; the only way to write that in Brachylog without an infinite loop involves creating the list [A,B] first and then passing it to member, because if you put the constraint that it contains two elements to the right of member (i.e. e), you'll get an infinite loop as e generates progressively longer lists
 
12:19 AM
@HelkaHomba I think worst math support has to go to Scratch.
 
54 mins ago, by Nathan Merrill
If we take the first line of code: func f(_ z:Int,d:Int=1) -> [Int] { there are 3 offending characters: the I in Int, the ), and the =
 
Actually, worst anything support goes to scratch.
 
@Pavel Cute mascot though
 
Yeah. How's last year's time capsule challenge coming along?
 
ten elevenths done
maybe
 
12:35 AM
How long is the string?I can't imagine too many people participated. Can you really make anything investing with it?
Also, I'll guessing everyone tried to throw in a special character leaving little to no digits/letters
 
it's only ASCII
 
@Pavel many esolangs likely have it beaten, although maths is something that most languages are fairly good at because in the worst case you can often construct it by hand
out of higher-order functions or the like
INTERCAL is one of the worst languages I've ever seen at string handling, though
 
Printable ascii or could someone have thrown a null byte in there?
 
12:46 AM
Printable ASCII
 
Yeah null bytes are a no, otherwise I could save lots of bytes :)
 
~~~~||~*&|^[}<]$$@
We're up to 12 langs in the 2017 time capsule btw, including two by downgoat.
 
The C Preprocessor's pretty bad at string handling; and counts as a language
 
Doesn't it just count as C..?
 
No, the C preprocessor in itself is distinct from C
 
1:00 AM
I don't C (too young), but what can you really do in it?
 
A lot more than what many people think; but using it as a language IMO counts as esoteric
Not sure how to answer "what can you really do in it"...
 
*goes to Wikipedia for C preprocessor* and here I thought CPP was just C++ for people who don't want to reach the + key. Huh.
 
My vague understanding of the C preprocessor is that it allows you to to create shorthand snippets of code that expand to proper C code when preprocessed.
 
You have to reprocess it for each move (but it tells you the next command line)
(The need to rerun the CPP here is driven by the fact that CPP has no input commands, outside of passing macro definitions on the command line)
 
1:06 AM
Is there a difference between #include and other languages import? I heard somewhere that there is, but it seems to do the same thing.
 
#include is standard CPP; #import is I believe a deprecated gnu cpp extension
 
@Pavel #include is a textual substitution, it basically copy-and-pastes the header file into your code
whereas imports are more commonly done at the level of parse trees or links, rather than source code
this means that you can do things like changing the meaning of a header file by placing #defines before the include
 
You know what, time to learn C. Tomorrow. (I get to start work on 🍣 today)
 
C is eso...
 
it's also worth noting that #include doesn't affect the linker at all: all it does is declare functions for you, but you're still responsible for actually linking them to your code
 
1:09 AM
There's a difference between eso and outdated.
 
you could just write the declarations out by hand to get the same effect, but #include is more convenient
 
Well, not quite
 
(so for example, #include <math.h> doesn't exempt you from having to use -lm on the linker command line to actually link in the mathematical routines)
(all it does is declare sin, cos, etc. for you)
 
Yes, but that's just a conventional usage. There's nothing stopping you from #include-ing a function body, or even half a function body
 
o_0
 
1:11 AM
right, I'm talking about what the standard headers do when included
 
Nothing besides... fear of getting beaten up at code reviews
 
it's basically just a copy-and-paste, though, so you can include arbitrary portions of a program, it just isn't normally very useful
 
I need to learn more languages.
 
The whole #include thing is a throwback; its usage is outdated, but it's too integrated in programs to change the momentum. A more modern approach to what #include is used for is to do modules.
 
well, I guess you can think about things this way: one strength of C is that it runs on basically anything
and this is a major selling point for it
so you want to keep the semantics as simple as is reasonable in order to make it easier to implement, and as stable as possible to avoid breaking implementations once they've been written
 
1:15 AM
Isn't that Java's selling point?
It'll even worth on your toaster?
 
no, Java's "write once run anywhere", the idea is to make the binaries as widely portable as possible
 
@Pavel Yes, that's true of Java as well. The key difference, though, is that C is a systems level (or "middle level") language, and Java is high level
 
(even then, there are three dialects, Java SE, Java ME, Java EE, which aren't compatible; SE is what people normally mean by "Java" on sites like PPCG, the toaster would probably only run ME)
C aims for source code compatibility instead, but runs on basically everything, much more than Java does
 
Java's compiled to its own virtual machine (the JVM); C's compilation is almost in itself assembly
 
(what language do you think the Java implementation for the toaster was written in?)
 
1:17 AM
for my koth should shooting and looking still be diagonal if moving might not be?
 
Looking, but not shooting.
 
Java (especially SE) is also a lot more focused on OS compatibility than C is; in C, about the most you can say about the OS is that there's probably a stdin, stdout, stderr, and some sort of filesystem (but you can't make assumptions about how the filesystem works)
 
@Pavel At a high level to give you an example, if I'm using C to program on linux, I have access to all of the libraries defined in the C standard. But I also have access to any library installed on my system; pretty much anything in /lib or /usr/lib or /usr/share/lib etc that I have a header for.
 
I wonder how much effort was put in by the engineer who designed a file system for our hypothetical smart toaster.
@HWalters which means writing programs to be compatible for different kinds of systems is a ton of effort, since you can't make assumptions about those libraries?
 
@Pavel In theory yes; in practice, it's a little more complex than that anyway
There are external standards that are loosely followed on many systems (e.g., POSIX stuff; or pthread specifically)... you can still write compatible code in C by adopting to this (and using macros to get around small differences, or other facilities like autotools)...
 
1:25 AM
It always is. Even in Java I still can't expect my program to run perfectly on windows and Linux without coding for that.
 
...and on the other side of the pond, the theoretical assumptions you "don't" have to make in Java sometimes bite you anyway.
Pavel: That's absolutely not true
Even something as simple as opening a file can get you into trouble
 
C:/
And everything breaks
 
Java has facilities to, say, use the file path separator on your particular system... but you have to use it, and things look different anyway
 
anybody want to help me make this koth in floobits?
 
Yes, great example. On windows the paths use \`. You can use the path separator to make sure you have the right separator, and a C:\` path from windows becomes C:/ on linux... but on linux, C:/ is very likely to be meaningless
 
1:30 AM
Hello
 
Hi
 
@Qwerp-Derp hi!
 
Anyhow, now I need to try to plan how to compare two graphs...
 
I'll be home in around an hour, then I need to unpack, then I can work on things.
@HWalters for a challenge?
 
@Pavel For a checker for a potential challenge
 
1:31 AM
Does the syntax look alright?
 
should bots not spawn near enemy bots?
 
Even bots don't like to be spawn-killed
 
@DestructibleWatermelon Probs yeah
 
Spawn kills are unlikely
 
Especially with one shot melee.
 
1:32 AM
you're more likely to be killed by a just spawned bot
 
No one likes being instantly killed for no reason either.
 
Yeah that
 
yeah ok, but you have to be cautious either way right?
also instakills not as prominent as in shooters
 
so I reckon bots can't be in line of sight of enemies
 
1:34 AM
@Qwerp-Derp what's the difference between a list and a set?
 
Uhhh a set only contains values that aren't being repeated
So like {1 2 3}
But a list can have repeating values
[1 2 3 4 1 2]
I don't think dictionaries matter in my language
 
Lists are also arbitrarily ordered right?
 
Lists have order, I'm still deciding if sets have order though
 
That was going to be my next question
 
sets have no order
lists with no repeat should be injective lists or something
 
1:36 AM
Clojure has nice comma-less lists and sets
 
I know the difference mathematically, but lists just seem more useful overall.
 
[1 2 3]
 
Yes; either sets have no order, or you have separate unordered sets, if you like performance
 
Should I just make it so that sets have no order?
 
1:37 AM
Yeah.
Can they be infinite?
Like in Haskell
 
@Qwerp-Derp wat
 
But defined by a sequence.
 
What can be infinite?
 
Collections
 
The sets. I.e. {x^2 | x from \Z}
 
1:40 AM
Oooooh
That could be nice
 
what would an implementation of mandlebrot set be like?
 
I forgot what that is...
 
But I'm thinking if they should be ordered or unordered
 
I just remember pretty pictures
Unordered
Like the proper mathematical definition of a set.
 
Should sets be ordered?
 
1:42 AM
If he's deciding between ordered and unordered sets, this implies sets are defined by members. Sets such as infinite sets above and mandelbrot sets seem to be defined by membership functions, am I right?
 
You can do all the set theory calculations.
 
The Mandelbrot set is defined by those complex numbers c where the infinite sequence z0, z1, z2, ..., defined by z0 = 0, z_{i+1} = z_i^2 + c, is bounded in magnitude.
@HWalters Well, ordered sets can be useful if you want to preserve order but remove duplicates.
Maybe something like a queue, but you only have each item once.
 
@NathanMerrill Oh gosh. But I can't declare a number (INT, DOUBLE, OR FLOAT) without using I or O!
So I guess I give up here.
 
Byte
 
@Pavel Did you mean to say, Gee, that bytes.? :P
 
1:46 AM
You can define a number as type byte without I or O in many languages.
@Qwerp-Derp at this rate CMQ is going to become a math processor.
 
@Pavel I think it's drifting away from sequences
 
The Ackermann function is a "sequence" right? That is very wrong probably
I thought of it as a sequence with two numbers
 
I'm not sure there's any agreement on what the Ackermann function specifically is
there's general agreement on the basic way it works but details such as which order the arguments are in, 0-indexing versus 1-indexing, etc., don't seem to be fixed
 
What if a sequence is, rather than being the equivalent of a function,a third type of collection?
 
1:50 AM
anyway, the normal way to make it into a sequence is to take the diagonal
 
Ordered, infinite.
 
Ooh
 
You can check membership, find the nth element, etc.
 
I think it's just a maths-based language now
 
Membership checking might be a little difficult.
 
1:51 AM
Should we use () for sequences?
Or <>?
<> might be weird though, because less than and more than
 
Anonymous
@ais523 The 2-argument version is essentially equivalent to the 3-argument version - the only difference is that the same information is encoded in either 2 or 3 arguments.
 
() is used in a lot more places though
 
1
Q: Compute the Wilson score interval

MegoThe Wilson score interval is a confidence interval of the probability of success, based on the proportion of successes in a set of Bernoulli trials (a Bernoulli trial is a trial in which exactly two outcomes are possible: success or failure). The interval is given by the following formula: The...

 
Anonymous
Think of it like the 2-argument version being a basis, and the 3-argument version being a coordinate space where the 3 coordinates are not linearly independent (and thus only describe a 2D coordinate rather than a 3D coordinate).
 
Instead of <,>,== for comparison you can use a,b which returns -1 1 or 0
Since lists are delimited by spaces, not commas, commas open up for use.
 
1:54 AM
@Pavel Parsing those lists would be pretty difficult though
So function parts are delimited by semicolons
And arguments are delimited by commas
Just so parsing it won't be so hard
 
@owlswipe yeah, its going to be really hard in most modern languages
 
I kinda want to get rid of commas entirely
 
Function arguments can be space delimited too.
 
Hmmm, but that would be difficult for parsing though
I think the lang looks pretty nice now, the only hard thing now is to parse it
 
Why? A space isn't different from a comma.
 
1:58 AM
So what are sequences again? Infinite lists basically right?
@Pavel Actually I don't think it's so bad now
 
Pretty much. I'm thinking of a way to check sequence membership.
 
Should we make them defined by functions?
 
I think that's the only good way.
How do you calculate if n is in sequence X?
Especially since it's not strictly ascending.
This is harder than I thought.
 
Hmmm that might be hard though
But if we can pull it off it'll be awesome
 
I wonder if mathematica does it somehow.
 
2:05 AM
@noɥʇʎԀʎzɐɹƆ I just saw your bit primed challenge, and I think its my favorite of yours
nice job
 
@Qwerp-Derp there actually isn't anyway to do it. Even ignoring non-pure functions, there would need a way to automatically solve every conceivable function. Mathematica can do it with Reduce, but it frequently takes multiple seconds and is likely beyond our capabilities alone in one year.
 
@Pavel Shouldn't we just do it for finite things (e.g. lists, sets)?
We could let the user get finite sections of sequences
 
Yes, but sequences can't be collection types themselves.
Haskell has some infinite list support, but all it really amounts to is an open ended range function.
 
Should we use [start:end] for getting stuff from lists/sequences?
Or something like [start to end] with to being a keyword?
 
@DJMcMayhem I like your post on the meta answer-chaining post, but I actually am leaning the other way. Do you care if I quote you?
 
2:15 AM
@Pavel?
SE should have open-source highlighting API for languages IMO, because every language's highlighting is borked
3borked5me
 
Seems like a good idea.
 
Which idea?
 
: Is used for sequence definitions
So to
 
The obvious advantage over lists is you can store a million elements without much memory.
Also the results of the function could change as other parameters change, with also modified the sequence.
I just got home,I need to unpack and stuff from my trip.
Ttyl
 
2:23 AM
> Mandelbrot Set, you're a Rorschach Test on fire
You're a day-glo pterodactyl
You're a heart-shaped box of springs and wire
You're one badass fucking fractal
@Doorknob ^ what even is this
 
An amazing song, that's what. :D
 
Guys what do you think of this: hackmd.io/…
 
@NathanMerrill of course not. Go for it. :)
 
nice timing
I had just finished up writing it
 
3:03 AM
has anybody used ZeroMQ?
 
I haven't, but they use it at my work, apparently.
 
I'm considering adding support for it into KoTHComm
it seems like a good alternative to allow for cross-language communcation
but I'll only do it if I can make it easy for answerers to use it
 
@Qwerp-Derp Looks great 👍 but I think would be even better wit matching braces
 
yo I'm back
 
Question: would you rather have UTF-8 strings or binary strings
 
3:13 AM
a binary string is standard ascii?
 
Fun fact: Only 13 1933 double eagles are in existence
 
@NathanMerrill like Cs strings, merely an array of bytes. They make binary processing much easier but string processing harder
 
@Downgoat UTF-8 strings with implicit cast to byte array
 
Right. As far as I know, the biggest disadvantage with UTF-8 strings is O(N) charAt(int n)
or, more commonly, substr()
because you don't know the binary length of each UTF-8 character
 
On the other hand, non-shit Unicode support.
 
3:20 AM
right
 
Personally,I prefer the Unicode support.
 
I think the difference is: are you writing a high-level language, or a low-level one?
 
@NathanMerrill you mean binary strings? With UTF-8 strings multibyte characters are abstracted as one
@NathanMerrill high level, cheddar
 
then do UTF-8
 
they are Buffers for binary processing but stringgs are easier to work with IMO
 
3:21 AM
Hi guys
Hw
 
Hi
 
Haven't seen you before
 
How do I get information from the Discord App? Like, I want to write a script that logs people's activity on Discord
 
@Downgoat right, but underneath it all, every string is a bunch of binary. With C-style strings, you can do simple math to get the Nth character. With UTF-8 style strings, you need to step through each character
 
3:23 AM
I wanna start basic: when they are online and when they are offline
 
I mean, it probably doesn't matter
 
Possible in Shell?
 
@JesterTran I don't know but NSA might be able to help you
 
I'm not sure if anybody here has really done stuff with Discord here
 
You'd need a string many, many gigabytes in length before O(n) vs. O(1) becomes a problem in this instance
 
3:24 AM
@JesterTran ask in a stack overflow chat room.
 
Thanks
 
@LegionMammal978 its not just the length, but also how many times you do it
 
i cant find it @Pavel
 
like, if you're doing lots of string processing, and doing a substr operation on it, it can make a big difference
 
@NathanMerrill And if strings are immutable, their lengths (both binary and char count) can be cached
@NathanMerrill Then you should be using C/C++, not Cheddar :P
 
3:25 AM
:(
 
right, which is why I asked if it was high level or low level
It makes a Cheddar JSON-parsing library much slower
 
Working on making Cheddar compile to C/C++ after stealing implementation details from quartata yesterday
 
well, maybe not? You could literally step through the characters, and do it that way
 
 
3:27 AM
@LegionMammal978 ooh thanks
thanks @pavel
 
@Downgoat UTF-16
 
make a string abstraction
and have like 20 implementations for each string type
 
How's that work?
 
just define an interface with all of the common methods
 
So a string literal's type is determined by content?
 
3:33 AM
not sure about literal strings
 
3:44 AM
@Downgoat I didn't even give you any impementation details lmao
What I described was super vague and won't help at all
But thanks for discouraging people from talking design with you :P
 
@quartata D:
 
UTF-16, I tell you.
 
I want UTF-256
 
Anonymous
@ConorO'Brien But why
 
for science
 
Anonymous
3:53 AM
Mathematica is a wonderful juxtaposition of awesome and gross :D — Greg Martin 15 secs ago
 
Anonymous
Truer words are rarely spoken
 
There is only awesome
Nothing gross
I don't know what you're talking about
 
4:27 AM
It kind of bothers me that not a single indie game won a Steam award
I suppose Goat Simulator comes from a fairly small company but they were a shoe in for that category anyways
 
Anonymous
@quartata It's almost like the category was made for that game
 
The rest were triple A games though, and I can't believe GTA V won two awards
@Mego I almost voted for Stardew Valley just to be contraire
 
Anonymous
Civ would've been a much better choice for Five More Minutes
 
Anonymous
Just Cause 3 would've been a good pick for the Farm Animal one
 
Anonymous
The unholy things you can do to cows in that game...
 
Anonymous
4:31 AM
KSP should've won Boom
 
Absolutely
 
Anonymous
@quartata Stardew should've won the hipster one
 
CMC: Make a list of the factors of pos int N
 
Anonymous
DS3 is the obvious choice for Love/Hate
 
CS 1.6 should have won test of time
TF2 maybe.
 
Anonymous
4:33 AM
I would go for TF2 over Skyrim
 
Anonymous
Skyrim shouldn't count because it just had the remaster release
 
Anonymous
Skyrim was released in 2011. TF2 is from 2007.
 
Plus Skyrim got the workshop
Hell GMod is from 2004
 
Anonymous
Age of Empires 2 takes the cake, though - 1999
 
Warcraft 3 is still decently alive I think
 
Anonymous
4:35 AM
Granted it had an HD remaster in 2013, but still. 17 years and still wololo
 
Not Steam though
 
Anonymous
Yet another set of awards that I don't agree with. Oh well.
 
Why dd GTA V win Game within a Game
 
Anonymous
Golf
 
GMod had that so on lock it's not even funny. I call BS
Oh well.
 
Anonymous
4:37 AM
I dunno if I would count GMod. It's less "game within a game" and more "lots of games within a 'game' that the entire point is to build other games"
 
Anonymous
That would be like Mario Party winning Game within a Game
 
@Mego TIL goat abuse is good use of goats :'(
 
Anonymous
@Downgoat I don't actually know if there are goats in that game. I only saw the horrible things done to cows.
 
@SE Request: Preview goes beside textarea instead of under it when writing posts on wide displays.
Or I'll just give someone a goat if they make a userscript that does that
 
@Mego they are, at least for the couple seconds they are alive before being brutally murdered
@HelkaHomba YES. I'll have it in ready 24 hours
 
5:19 AM
Ok. Done, for better or worse, @Doorknob @EᴀsᴛᴇʀʟʏIʀᴋ @zyabin101 and whoever else was asking
0
Q: 2016 Time Capsule String: How Versatile Is Your Language?

Helka HombaAbout a year ago on Dec 31, 2015, I had the idea that: We should make a time capsule string. Everybody gets to add one character and next new years we'll see who can make the best program out of all the characters with the esolangs that exist then. Doorknob graciously collected characters f...

8
 
Hello!
 
Unwritten rule: @Doorknob and I are allowed to answer but not win since we knew the characters
 
I'm back at a computer
It's been over a week
This is a good feeling
I feel good about life
 
Anonymous
@HelkaHomba Hooray
 
Oh yeah, that too.
No clue how to answer any but the first challenge
I don't really esolang
At least someone stuck a space in.
 
5:29 AM
2
Q: 2016 Time Capsule String: How Versatile Is Your Language?

Helka HombaAbout a year ago on Dec 31, 2015, I had the idea that: We should make a time capsule string. Everybody gets to add one character and next new years we'll see who can make the best program out of all the characters with the esolangs that exist then. Doorknob graciously collected characters f...

 
At least I can blame everyone else if none of the challenges are possible ^.^
 
Anonymous
There were 74 characters and none of them were semicolons?
 
Anonymous
RIP C/C++/Java
 
The fact that you only have on space doesn't throw you off?
 
What if everyone submitted a / or something for the time capsule
RIP everyone
Except maybe ///
 
5:31 AM
Also, no closing curly brackets.
I think having only one space is what really kills it for practical languages, really.
 
Nice! Checker's written and seems to work (at least good enough to check the examples)
 
I think I've covered everything
What should I write a sample program for?
 
Hey... it was mentioned here, and it'd be a great first test...
...why not just generate an ASCII Mandelbrot set?
 
@NewMainPosts I've tried 4 different languages and got stuck on 2 or 3
>_<
 
Anonymous
Yeah, it's not easy
 
Anonymous
5:44 AM
The character set essentially requires an ASCII-based golfing language
 
Anonymous
The first part is considerably easier than the rest
 
it isn't helped by the fact that there are only 37 unique characters
 
Anonymous
There are 95 printable ASCII characters. We managed to get 37 of them.
 
Anonymous
Each of the 37 shows up twice on average
 
@Qwerp-Derp Hello, world!
 
Anonymous
5:46 AM
And not a single one of the 74 people who responded decided to include a semicolon
 
or a close }
 
@Pavel out("Hello, World!")
 
Anonymous
I'm pretty sure the space was my contribution
 
Whoa no close }?
Seems like the perfect job for CMQ
But the chars are really restricting
 
Anonymous
But that was a year ago, and I don't remember
 
5:46 AM
I'm pretty sure I added a tilde
 
Has to exists before new year's in UTC+14
 
@HelkaHomba If you wanted to have more activity on it, you could allow for a user to add a certain collection of characters to the capsule string, then choose the winner based on the smallest set added. The true winner would be one who fulfilled the originally challenge.
 
Anonymous
A lot has happened in a year. 2(?) TNB regulars got married, Alex flew away to go to bird school again, we graduated, and we got ignored more by the SE overlords.
 
Fib(n)->{n in[0 1]:1;#(n-1)+#(n-2)
out(red(conv(range(input())(n)->{Fib(n))(a b)->{a+b))
Let's see if you can figure out what this program does
 
Anonymous
@ConorO'Brien I dislike this suggestion. I like the fact that it's extremely hard.
 
5:49 AM
@Mego hm, true
spoken out of frustration I suppose
maybe something to consider if 2018 rolls around and there's still no answers
 
@Mego only two? I thought it was more than that
 
Anonymous
@DJMcMayhem Martin and I both got married (not to each other of course). I think there might have been one or two others but I don't remember.
 
Anonymous
@Geobits No more skull?
 
Anonymous
Oh, looks like I'm a few days late on noticing
 

« first day (2166 days earlier)      last day (2677 days later) »