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

12:03 AM
@orlp That doesn't seem true. Take n = 12 and d = 4. Then e = 6 belongs to l and e % d = 6 % 4 = 2, but e is not a divisor of n / d = 3.
@EᴀsᴛᴇʀʟʏIʀᴋ Update my profile. :P
 
hehe
 
Include this answer to fully answer your question.
 
@Dennis >_>
@Dennis oh, cool
 
12:19 AM
@MartinEnder Would asking people to complete any 2 of 4 distinct golfing challenges for the time capsule string go against meta.codegolf.stackexchange.com/a/8464/26997 ?
The characters required are the pretty random ones of the time capsule, so by providing multiple valid solution forms more languages will be able to answer
I mean, with just one challenge, one language might be lucky enough to have the chars it needs but it may be impossible in many others
 
what is this time capsule thing?
 
Dec 31 '15 at 23:20, by Calvin's Hobbies
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.
I'm writing the challenge for it now, but having issues since I don't think making it a plain pop-con would go over well
 
if it's a popular enough challenge, though, we'll have so many characters available that it becomes trivial
might also be a near-duplicate of that 95 movie quotes challenge
 
@ais523 the number of characters has already been determined
 
No. We already polled for characters. I'm writing a new code-golf where the answers can only use a subset of the time capsule characters
 
12:25 AM
why a subset?
 
The whole set is also a subset
Just not very proper
 
you got me there
 
@Geobits yes
 
So nobody thought to make a single purpose esolang for this over the past year? Color me shocked.
 
@Geobits Well, kinda hard to when you don't know the characters?
 
12:28 AM
I thought they were already established?
 
Hmm. I suppose you could've made the one you submitted do this super awesome thing, but...
 
Or are they just secret?
 
Yes, but they haven't been revealed.
 
Ahhh
 
@HelkaHomba would you need to use each char (that you use) only once?
i.e. if there are 2 backticks, can you only use the backtick twice max? or any number of times
 
12:31 AM
lenguage to the rescue!
Not exactly golfy though...
 
'night
 
@EᴀsᴛᴇʀʟʏIʀᴋ Yes, that was the original idea though I know it may be limiting. But there are lots of dupes.
 
12:32 AM
the whole language design was inspired by PPCG and specifically
however it is not very golfy
in fact, it's intentionally difficult to program in
 
@DJMcMayhem Sorry, I didn't see this message. I assume it's the G that's confusing. When more than one user-input has been taken, G takes one input parameter specifying which user-input to push. In this case it takes 800 as input parameter. This is interpreted modulo the number of user-inputs, so it's the same as 2. Thus the 800 is consumed and 2000 (second input) is pushed instead
 
wait what happened to the calesyta?
 
@Downgoat Are you around?
 
@DestructibleWatermelon no idea, they haven't posted results
 
the site is broken!
 
12:44 AM
ugh, yes
maybe you should email them and ask what's going on?
I was looking forward to seeing the other entries
(I've been considering emailing them myself, never got round to it though)
 
calesyta?
oh, a esolang design contest
 
So, when new time capsule string? We can make this an annual tradition.
 
@LuisMendo Ooooooh. OK, thanks for clearing that up!
 
Let's have a different idea so it's not a duplicate.
 
I wonder if there's something else we can do for a time capsule other than a string.
 
Each person submits 1 language to make a polyglot. (probably a bad idea)
 
maybe a list? /s
@PhiNotPi hmm, maybe. and the person who uses the most langs (with tiebreaker of code length) wins?
 
yeah
 
What's the objective?
 
Here's an idea: submit a language that doesn't exist yet to be created before the capsule is opened
 
12:56 AM
helka can come up with something
@PhiNotPi like, give the name and then create the lang during 2017?
 
Yeah, basically putting something which doesn't exist yet into the time capsule.
 
But you have to be confident you'll have a functional implementation at the end, otherwise put in something that already exists.
 
no, I like make your own
if you don't make one, so be it. it just doens't get used
it's not that hard
 
Yeah, but I want to participate and I don't have the skill to write a programming language myself, unless its some trivial 10-command thing like brainfuck.
And I don't want to do that.
 
you could always learn; esolang writing is easier than many people think it is
 
1:00 AM
^ just don't try for loops
 
perhaps you could practice by implementing an existing, unimplemented language (on Esolang, as opposed to PPCG, we hold that a language is defined by its specification)
 
Why are for loops hard?
 
if you don't implement them right it becomes a clusterfuck
 
loops are easy, scoping is hard
 
1:02 AM
luckily most esolangs don't really have scope
or define it in unusual ways
 
Meh, it's an esolang. Everything is global scope anyway, most likely.
 
INTERCAL has scope, but the scopes don't have to nest properly
 
Ninja'd
 
this is actually the only thing that makes INTERCAL-72 Turing complete (!)
 
@Pavel it's really not hard to write something like ><>, like this method is basically everything that *><> does github.com/redstarcoder/go-starfish/blob/master/starfish/…
 
1:03 AM
Scoping in what sense? Local variables I assume?
 
*><> actually seems realyl cool, kudos
 
Thanks :)
 
@HWalters pretty much
 
I'm kind of confused... I'm not really sure why for loops or scoping are difficult
 
well, static scoping isn't as hard as it looks
but as soon as you have recursion, it gets a lot more painful
many early languages used dynamic scope because they couldn't figure out how to implement lexical scope
 
1:07 AM
Now I can't think of an idea for a language -_-
 
dice rolling around, data is stored on the die and the commands + input are on the "field" (i.e. 2d space where the die rolls on)
 
If we do a time capsule for languages week implement this year, we can leave it open for the whole year.
If you think you can implement your idea in the last week of 2017, go ahead.
 
A langauge where each instruction is a valid move in some sort of game
 
well, I've already started work on a new golfing language (several, actually, but one in particular)
 
like a board game or a card game
 
1:09 AM
and I did manage to get 7 finished in a few weeks despite mostly spending them procrastinating…
 
7 languages!?
I'm still working on one
 
although I've written way more languages than that
 
No, he's working on "one"
 
language designing is one of my hobbies
 
That seems fun
 
I don't know why ><> specifically grips me so much but I think it might be the only esolang I'll use (unless you count asm or *><>)
 
really, I'm hoping to find new ways of thinking about programming
PPCG's been helpful there by introducing me to the world of golfing languages that are more interesting than GolfScript
 
Yeah I like it here because I feel like I find new ways to solve problems
 
I like using cpp as an "esolang"
 
hehe
 
1:15 AM
Just has to be mentioned to eliminate assumptions; by cpp, I mean the C preprocessor
And to completely explain what the C preprocessor is (as opposed to, say, sling a cheap shot)... that is a simple language that comes built in to all modern C and C++ compilers except for Microsoft ones
 
Yeah the macros and such?
It's not in the Microsoft ones? lame
 
Microsoft has some cheap pre-standard C preprocessor like beast that uselessly incorporates a random CPP standard thing or two incorrectly, with horrendous bugs, that they refuse to fix
 
So, I made a form for the time capsule.
I made it on my phone, tell me if it looks wrong.
Nope, that's an edit link.
 
BTW, redstarcoder, unless you're a CPP hacker yourself, you might not ever notice MSVS's non-compliance. It's just a pain for hard core CPP folk (and CPP meta library writers). Plain simple macros work fine; anything complex enough to call CPP programming blows up.
 
If that could get pinned, that would be great.
Who had that power?I don't know who to ping.
 
1:30 AM
@Dennis thoughts^
 
Stars should be enough.
 
@HWalters For a while, Visual Studio was in a position where it didn't really need to be compliant, but it's starting to lose that now; people are using alternative compilers even on Windows, and portable source code is becoming more common
 
1:49 AM
@Dennis no one put a star on it though. There are already responses, however.
 
They're probably scared someone will get a hat out of it
 
@HWalters Speaking of which, do you know where I can find the standard for how MSVS mangles names?
I'm under the impression it's different from GCC
 
quartata No idea, but from the phrasing it sounds like I'm under an even stronger impression it's different from GCC
 
@ais523 Wait, you made Three Star Programmer?
 
@quartata yes
I had no idea it was going to be so popular
 
1:53 AM
 
then I created a sketch-proof that it's Turing complete but couldn't really be bothered to work out the details
 
And yeah it's completely different. Fun.
 
Oh yeah, nowhere near the same
 
@ais523 It's a funny language :P
 
it's one of those languages that you don't really set out to create, they just happen to fall out of something else you're doing
in general, whenever I add an unusual operation to an esolang, I take a step back and thing "hang on, is this enough by itself?"
 
1:55 AM
@Pavel Submitted my thing
 
Wait a second... undname? Where the heck does MS get their ideas to name their utilities?
 
undecorate name
Not to be confused with <unk>name if you've been doing a little too much NLP
 
I'm going to make a Processing entry for the Showcase thing
 
@Qwerp-Derp yeah,I get notifications. I won't look at anyone's language until 2018 though, don't want any spoilers.
 
is the showcase locked atm?
 
2:02 AM
Not anymore.
 
I did look at part of the form to make sure it's working properly. I want to point out that @Downgoat had incontestably the best language name ever.
 
What is this?
 
Time capsule for 2017
 
@Pavel :D thank you!
 
The idea is to implement a language this year which will be used in a polyglot challenge.
Edit link but who cares
 
2:07 AM
@El'endiaStarman Should we submit Pytek? :P
 
I broke 1k \o/
 
Pytek already exist?
oh
 
I still have no idea what I'll do for my language ;-;
 
No public interpreter
 
I'm probably just gonna make cheese emoji comment and text following JSGoat to be evaluated as JS
 
2:08 AM
It would give us a hard deadline
 
@Mego When I try to take the Cartesian product of three lists, instead of ending up with lists of [a, b, c], I get [[a, b], c]
 
Btw how fast is your prime grn?
 
Seriously tho,I need you lot to star this so it shows up on the right.
 
\continue is currently busted so I can't tell you
I estimate about ~50-100 ms in interpreted mode and ~2 ms in compiled
 
This is because I take Cartesian product of (Cartesian product of a and b) and c
 
2:11 AM
Mosty speculating regarding interpreted mode. It could be a lot faster
 
Goddammit, why do we keep upvoting the built-ins instead of things which actually required brainpower to be applied
@quartata 50-100ms to do what?
@Pavel Ask mod to pin it? @Doorknob can you consider pinning this years Time Capsule?
 
I feel like every kind of esolang has been done, and writing something practical is beyond me.
@Doorknob pin the time capsule link?
 
Primes up to 1000 but that would be in pure Python mode. probably a lot better with Cython
 
:/
 
@Pavel nah, there's still a lot of potential esolangs out there I think, but actually finding them is another matter, it can take months
 
2:14 AM
@Downgoat you can only ping one person at a time.
 
Like I said things are broken so I'm guessing
 
I don't think this is a good candidate for pinning. Pins are for important announcements that concern the whole side. I'd rather not set a precedent for pinning something else.
 
@Dennis I agree
 
I have hard time believing Pytek written in Python can be 4x faster than super-fast C++ implementation I stole
Didn't we pin last year's time capsule?
 
@Downgoat most likely it's calling into a hand-optimized library
 
2:15 AM
What can I do though so people who aren't here right now will find it?
 
You mean in compiled mode? That's because it's compiling Pytek to C
 
@Downgoat Nope.
 
@quartata Yeah still
 
Also the whole point of the benchmark is to use trial division
 
Your generated pytek code is still faster than hand-written and optimized C++ with weird sieves
 
2:16 AM
@Downgoat Doubtful. Compiled C trial divison was 1 ms.
 
What is your computer spec? O_o
 
Same as yours
Actually your CPU is better
 
@quartata oh, or that
 
O__O is C++ really that much slower than C...
maybe I should compile cheddad to C too...
 
No it isn't
 
2:19 AM
Something is wrong here then
 
C++ can be as fast as C, but that mostly relies on ignoring half its features
 
We pretty much are
 
sort-of like Haskell, that can be very fast but you have to ignore large swathes of the language to pull it off
 
So far I'm thinking of a queue based ><>-like language.
 
@ais523 I'm not sure that statement is accurate
 
2:21 AM
Will Pytek's number system be limited to C's int in that case or will you have a BigInt type?
 
I'm not actually going to look at ><>'s spec closely to make sure it's different.
 
Regarding C++ being as fast as C relying on ignoring half its features
 
which direction do you think it's inaccurate in?
 
Yeah you'd have to ignore more like 4/5
 
That's a fine mantra for language bashing, but templated libraries in C++ can often be optimized further
(optimized by the optimizer)
 
2:23 AM
Pytek will have arbitrary precision integers and reals using NTL
 
templates can sometimes improve performance at runtime, but nearly always make the compile slower
 
Furthermore, some features of C actually make optimizing difficult
 
(note: can; templates can also slow runtime performance via breaking the instruction cache)
 
Hey, can I make a meta post about the time capsule, or would that be off topic? It would allow the description to be all in one place, and accessible by everyone. @Dennis
 
(E.g., quicksort)
 
2:24 AM
@Pavel if you write it in a way that it might be applicable to more than one question, it's ontopic; e.g. "how should questions be written if they aren't intended to be answered until the following year"
then you can give specifics in the body
 
Anonymous
@Sherlock9 `♂i`M will do the trick for flattening
 
Writing the question isn't the hard part though. It's making sure the form remains accessible.
 
Anonymous
As for Cartesian product over more than 2 lists, it's not really possible (yet)
 
@Dennis I just did it simpler
{e for e in l if e<=d and d % e == 0}
 
@ais523 Basically, I don't think it's accurate in general to make the statement that C++ can be faster than C if you ignore half of its features. That you can also say the exact opposite--it can sometimes be faster than C if you exploit its features--calls into question which features exactly you're ignoring
 
2:27 AM
I'm not so sure about that; the C++ features in question can normally be emulated in C via manual code
however, it may not be idiomatic in C to do that
something I've had to do in the past is to keep tweaking a C program until it produces the asm I want
 
at that point, though, you're basically comparing C++ and asm
 
Sure, it can be emulated in C via manual code, if you like Turing Tarpits
 
Until I find a better way, I'll just occasionally drop the link here.
I've never made an interpreter before... Anyone who has, about how long did it take?
 
can take anything from minutes to weeks
 
@Pavel Depends on how complex it is
 
2:36 AM
@orlp Is that still for n / d?
 
and how esoteric it is. If you want an easy-to-use, readable language, that'll take a lot of time. On the other hand, if its based on a super complicated concept, it'll probably take a lot of time as well
 
Well, for something useable and not Turing-tarpit. Like ><> or jelly. Not super complex, but not brain-fuck either.
 
Are you specifically looking at writing a golfing language, an esolang in general, or a general purpose language?
 
like a week of working continuously on it, or a month or two if it's just something you do intermittently
also I'm not so sure golfing languages are esolangs; they don't fit my personal definition of an esolang, at least
 
It depends on your expectations. I started working on Jelly over a year ago, and it's far from finished.
 
2:40 AM
I think much of the time spent on Jelly is working out what the language should do, though
 
It will be structured like ><> or beam, and have similar capabilities.
 
rather than actually implementing the semantics once you've thought of them
 
ais I agree... though oddly they do show up on esolang lists
 
and golflang design is similar in attitude to esolang design
well esolangs.org is a good place to host them, I'm not sure if anyone else would have them
 
@quartata wait so will Pytek be completely strictly typed?
 
2:42 AM
Gradually typed
gradual strong structural manifest
 
What does that even mean. @quartata
 
So no concept of a metaclass then?
 
@Pavel Typing discipline
 
Yeah, but how does it work?
 
@Downgoat Not sure what that has to do with typing
 
2:44 AM
I only know strict like in Java or weak like in JavaScript
What does gradual mean
 
If you do then Can't I do something like new ([String, Number].rand) and now you have problem because you can't determine which to use at compile-time
 
@Pavel Gradual means that types that are known directly are verified at compile; otherwise they're resoved at runtime
@Downgoat That wouldn't be possible anyways
 
Ok,I see. That seems complicated.
 
It's simpler than it looks
 
Actually, writing a compiler in general is something I have no idea how one would do.
 
2:47 AM
Pytek will not require typing, but you can do int:x = 5 to ensure that x is always an integer. If it could be either an integer or a float, you can do [int float]:x. If it's a list, list:x. If it's a list of ints, (list int):x.
 
I'll just stick with an interpreter for now.
 
All it means that if you want to specify types we'll verify them. If you don't it's not a problem
Yeah ^^^
 
You can get away with just integers and strings, with implicit conversions between the two, and develop basic yet powerful interpreters with it
If you're just looking to do it for play (and/or scripting languages)
 
So 'int:x="Hello"' will be a compiler error.
 
How would union types and dynamic types work then? It'll be ridiculously slow to store some representation of the class and construct a C-like object from that
 
2:50 AM
@Downgoat Not entirely sure what you mean
 
In effect, the typing system is a way to embed a lot of information into your code without too much more code. Instead of having to have explicit checks for type safety, simply tell Pytek what type it is. If you want to write some quick-and-dirty code for fun, forget the types and iterate quickly.
 
My Lang is just going to have a queue (maybe two) you can work with. None of these complex data structures.
 
do you see pytek having a linter?
 
Of course specifying the types has the added bonus of improving performance when transpiling to C. But that's not the main focus
 
@quartata like are you doing union PytekObj { PytekStr str; PytekNum num; } in your generated code to handle dynamic types?
 
2:51 AM
@NathanMerrill We might have something like gofmt
 
I don't use Go, but I imagine that's like pylint?
 
Ooh, it transpires to C before compiling. That makes sense.
 
@Downgoat No. We're using polymorphism
 
@Dennis nope, that was for d.. because that was what I was working with in my personal stuff. n/d is analogous though
 
and more specifically, will the linter check for missing types?
 
2:52 AM
@Pavel Or JS or just interpreted
 
@Pavel We also hope to have the capability to transpile to JavaScript.
 
@quartata But then you'll loose all properties that's not shared between objects?
 
Hello I'm back
 
I can't tell if you're making an esolang or a serious attempt at something practical.
 
they key here is whether using types is "idiomatic" Pytek
 
2:53 AM
@NathanMerrill gofmt actually formats the code to comply with the standard
 
ah :P
 
@NathanMerrill Personally, I don't know yet. :P
 
@Downgoat Why would we?
 
@Pavel I hope to make it a practical language.
 
@quartata that's how polymorphism works in C?
 
2:53 AM
If we know the type we cast. If we don't we check first.
 
I kinda want to make a syntax inspired by this way of defining sequences:
 
I suppse polymorphism was misleaing. I really just meant a base class
 
So you're wrapping everything in some universal Pytek Object class?
That'll contain object data to handle errors?
 
Good luck, in that case! It has to be in a mostly complete state by the end of the year if you want to enter it in the time capsule though.
 
2:55 AM
How should I do this
 
Pytek is, in a sense, a way for me to write less code to do interesting stuff. My two best languages are Python and Blitz 2D/3D. The former is good for abstract stuff and more powerful operations and abilities, the latter is a game engine and as such makes it really easy to do some sweet stuff. Pytek will be, I hope, in part a mash-up of the two.
 
@Qwerp-Derp take a look at Haskell's "pattern matching"
 
@Downgoat Errors is a whole different can of worms really. But there is a parent PytekObject class
 
A(m,n)=[m=0: n+1
       [n=0: A(m-1, 1)
       [A(m-1, A(m, n-1)
 
@quartata So how will you reoresent lambda's in that case?
 
2:56 AM
ackermann?
 
Yeah pattern matching is a very good way of expressing recurrence relations
@Downgoar C++ lambdas
Or C statement blocks
(gnu c)
 
@quartata how will you store this in a PytekObject class then? You'd have to implement some sort of eval() at runtime if I'm understanding you correctly
 
Why would we have to do that?
 
How will you store a C++ block as a field or whatever in a PytekObject?
 

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