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

3:00 AM
C++ lambdas fit just fine in a std::function
Function pointers are a thing for C statement block functions
 
Does the syntax above work
 
I think you grossly underestimate how powerful modern C++ is. That's why we're not compiling to LLVM.
 
A(m, n) -> [m = 0: n + 1
           [n = 0: A(m - 1, 1)
           [A(m - 1, A(m, n - 1))
 
Ok well if you're going to C++ that's different
 
Not really. Function pointers exist in C too.
 
3:02 AM
@Qwerp-Derp I'm not a fan at the lack of matchinf braces and less whitespace honestly
 
Golfed:
 
Most of the transpiled code will be like C. We'll probably need to end up plundering C++'s stdlib for implementation details (particuarly shared:) is all.
 
That's ungolfed
A(m,n)->[m=0:n+1,n=0:A(m-1,1),A(m-1,A(m,n-1))
Should I change to curly braces?
 
@quartata ok that would work
 
@Qwerp-Derp Yeah. Looks more like a piecewise function like that
 
3:05 AM
Still not sure on how you will manage to implement polymorphism in C but OK
 
piecewse?
What
Oh
 
spelling is hard
 
@Downgoat it's not really all that hard... you just follow a slightly different idiom
 
A(m, n) -> {m = 0: n + 1
           {n = 0: A(m - 1, 1)
           {A(m - 1, A(m, n - 1))
 
@Downgoat Polymorphism was a bad word. Envision it more like a struct with a union and an enum if you want
 
3:07 AM
@quartata will primitives be wrapped in PytekObjects then?
 
So like that
It looks nice
 
@Downgoat Yes.
 
@Downgoat "virtual functions" map through function pointers. "Method calls" are just functions, where you explicitly pass the equivalent of "this" pointers.
 
@HWalters well you'd have to go and kinda manually reimplemment scopes in a sense.
 
Setting your "virtual function table" is a matter of picking the right C function to allocate/initialize your object
 
3:08 AM
@quartata ok cool, thanks
 
Well, yeah, you do, but it's actually not that rare of a thing, and isn't terribly difficult... you just follow a C-like idiom
 
Does the syntax look alright?
Wait so it's called a piecewise function?
 
Difficulty isn't a problem, but any naive solution to such would be incredibly slow to my understanding
@Qwerp-Derp the "if" structure? Yeah
 
@Downgoat Huh
The more you know
 
@Downgoat The straightforward way to implement this type of thing should be pretty much equivalent to virtual functions in C++ in terms of performance
 
3:12 AM
Also what does Haskell's pattern matching have to do with this
 
@Qwerp-Derp it's basically exactly what you're doing
 
So is Haskell's pattern matching essentially the same as my syntax for CMQ?
CMQ is my lang btw
 
Wrapping primitives seems to be slow but I guess any decent compiler should be able to do basic optimization to speed up
@Qwerp-Derp no but example is:
sign x |  x >  0        =   1
       |  x == 0        =   0
       |  x <  0        =  -1
 
@Qwerp-Derp you still haven't actually shown any kind of sequence in CMQ.
 
What do you mean @Pavel
 
3:19 AM
You said it's based on sequences but you haven't shown us any behavior like that.
Also, come on guys, we need more than four languages in the time capsule.
 
@Downgoat Accessing class members is not slow
 
@quartata huh?
 
@quartata go add your language.
 
You said wrapping primitives is slow. Accessing class members isn't slow
@Pavel isn't my language, isn't my place to say
Not confident we can make 2018 anyways
 
accessing class members isn't slow, unless they're virtual
virtual accesses are fairly slow compared to static ones
 
3:27 AM
At least not a full release. Our STDLIB is going to be a nuisance
 
I've got an idea for a useful language, but the idea isn't fully developed
 
@quartata I'm not talking about that rather operator overloading and all, which I assume you'll have. Will all the runtime checks due to dynamic types, that would pose a bit of a problem for speed, no?
 
Idea's based on a typical workflow... oft times when analyzing data I'll combine vim with binutils and Excel...
 
@Downgoat Dynamic type checking is only necessary if the type isn't specified. If you care about speed you'll do that. If you don't it will still be better than interpreted
 
...the idea would be to replace the latter two with an analysis language based on columns/array data types
 
3:32 AM
@quartata still be better than interpreted? Hardly when regarding dynamic types, as JIT runtime optimizations will kick in
 
@Downgoat Interpreted still has to parse and Cython isn't perfect.
Cython won't match C even though it will be orders of magnitude faster than pure Python
 
Well, you have a year to make it @HWalters
 
@HWalters Have you played with APL or J or K before? Very array based.
 
I have not heard those acronyms before.
 
3:41 AM
@quartata: No, but I'm aware of that
 
@Pavel They're languages.
 
Yeah, I know that, and that they are array based
 
not you :P
 
Oh, sorry
The not-quite fleshed out language I have in mind will work like "relations"; similar to columns in a spreadsheet (or tables in a database)
 
@quartata I think you are overestimating how much time parsing takes by a collosal amount. 0.5ms more on boot-up time is worth having a significant speed boost at run time
 
3:49 AM
Some one should make a where cops post problems and robbers crack them by finding cryptographically secure ways to make answers.
 
@Pavel can someone submit multiple things?
 
@Downgoat I think you're overestimating what the speed boost is or that it would even exist at all
First off we're not doing duck typing.
That's pretty much it actually. The only optimization I can thinl of granted by JIT is making sure the class tree isn't cold.
It's one lookup either way
Small price to pay if you're not specifying types.
Now if we were doing duck typing that would be a different story -- checks would have a lot of hot spots that could be optimized JIT
 
@WheatWizard That kind of sounds like rules lawyering and/or just rolling your own crypto which I'm not sure how I feel about
 
@quartata What do you mean by "rules lawyering"?
 
4:00 AM
i.e finding cheap cryptographic methods not excluded in the problem description
 
Isn't that always a problem with ?
 
it depends on what the problem is
if it's "figure out the language this program is written in" then crypto won't help much
 
I didn't intend the challenge as an actual question. I just found it funny how many problems can be solved in cryptographically secure methods.
 
enter this into this when it works
 
4:22 AM
@ConorO'Brien sure, the challenge will rely on there being many but there's not a lot there now.
I made it so anyone can see the results to the time capsule form btw. The description field is optional.
 
seriously what happened to calesyta?
 
4:39 AM
What's that?
 
@Pavel I don't seem able to see the results.
 
@Mego Thanks
 
I'm not really sure why...
 
do you have the form connected to a google spreadsheet?
 
4:43 AM
just brings me to the form
 
And no, I can't figure out how on mobile.
@Downgoat are you responsible for the downsheep submission, or is that an actual user?
 
Did SE fix MathJax? CR is running it so it seems likely that it is now working
 
Ok, have spread sheet: docs.google.com/spreadsheets/d/…
@ConorO'Brien ^
I haven't come up with a name for my language yet.
 
@Pavel Perhaps make it public so we can all see?
 
Dur...
Oops.
Spreadsheet works now, in theory. @Downgoat @ConorO'Brien
 
5:04 AM
alright looks good
 
0
A: Sandbox for Proposed Challenges

MegoCompute the Wilson score interval The 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 independent outcomes are possible). The interval is given by th...

 
Anonymous
@NewSandboxedPosts Damn that was fast
 
wat
what do you think of my anguage idea
 
What is it
 
wat
look at t he spreadsheet
 
5:16 AM
@Mego post says 6 min ago, bot messaged at 08:09
Wtf
 
That's... Uh... Interesting. Are there eight Whitespace characters in ascii?
Anyway, that'll take a good fifteen minutes to implement. You can make more than one submission btw.
 
@Pavel there are a few that are controversial: in order of least controversial to most, it has space, linefeed, tab, formfeed, carriage return, vertical tab, a few separators like FS and GS, and NUL
interestingly, there's an actual "newline" character in Latin-1 (and thus Unicode) that's distinct from any of the ASCII-7 whitespace
(and of course there's a bunch more possible whitespace in Unicode)
I think by most people's counts, though, the number of whitespace characters in ASCII is in the 4 to 6 range
 
Well, wat is gonna need eight to make a bf derivative.
At least if I understood right that is basically alphafuck but white space.
 
wat
5:33 AM
@Pavel actually base 3
I only use space tab and enter
 
@noɥʇʎԀʎzɐɹƆ do you know of any officialish tool/standard to generate python code (i.e. AST -> Python)? Language doesn't really matter
Pythons ast module doesn't seem to let me make an AST but I might be wrong
I am also not sure if that sypoorts like Cython
 
wat
basically it will be two trits for one of 8 characters
and a nop
 
Like JS has an extendable AST format w/ code gen such as babel
 
Anonymous
@Downgoat ast.parse?
 
Anonymous
>>> ast.dump(ast.parse('print("Hello, World!")'))
"Module(body=[Expr(value=Call(func=Name(id='print', ctx=Load()), args=[Str(s='Hello, World!')], keywords=[], starargs=None, kwargs=None))])"
 
5:47 AM
Not sure if I'm happy more people are participating in the time capsule, or disappointed there will soon be yet another trivial bf derivative out there.
 
I'm working on my koth
 
Oh that's a great idea... a bf derivative that just shuffles the characters around
For the sole purpose of making it really hard to polyglot it with bf
 
wat
What should I use as a nop in Brainfuck that isn't whitespace?
 
Will everything else be a syntax error?
 
@wat G
don't ask why
 
5:49 AM
My vote is for carriage return.
 
wat
@Pavel @DestructibleWatermelon everything but white space is ignored in source, but I need something to use as nop in the intermediate brainfuck code.
 
@Mego That uses existing python code however
 
Anonymous
> A friendly message from The Name of All that is Good and Holy: Hello! This is The Name of All that is Good and Holy. Before you think of making your own extension to this language, here's another idea for you to consider: Don't! For the love of me, please don't make another derivative of this language! Unless you have something truly new to contribute, it's been done a million times before and will probably make it worse than the original.
2
 
I still say you should use G as nop
 
The polyglot argument actually works here.
 
5:50 AM
@wat |^=\%_&#@*"';!?/ One of these
 
wat
Maybe I should use the character "="
ugh you beat me to it
 
Anonymous
@Downgoat True. What you're thinking of (generating Python code from an AST you made yourself) is probably not reasonable.
 
wat
@DestructibleWatermelon whatever
 
@DestructibleWatermelon random≠funny
 
5:51 AM
That and I don't know how to remove submissions from Google forms.
 
wat
@Pavel delete the row in the spreadsheet
 
hmmm, I'm not going to need this class am I?...
 
Won't it just be regenerated, being linked to the form?
 
@Mego Ok, I guess I could implement into my python fork
 
@Mego honestly it's not too bad as long as it's relatively simple
 
5:53 AM
If you actually want me to remove it I'll do it when I'm at a computer.
 
Anonymous
This might be useful
 
Yeah, when you have access to the internet
 
I have this as a class and just realised I'm probably not going to need to extend it anyway
class Artifact:
    def __init__(self, x, y):
        self.x, self.y = x, y
time for a list I guess
 
@DestructibleWatermelon are you working on a language?
 
5:56 AM
Oh right.
 
any function I could think of isn't really relevant
and could just be outside
 
The speed sheet crashes in seconds btw. It took me a good several minutes to make it public.
 
wat
@Pavel no
 
What a fun typo to read: "The speed sheet crashes in seconds"
Or was that intended?
 
Hah, didn't notice.
 
6:01 AM
@Mego O_o what's the use of AST parser without code gen...
 
Anonymous
@Downgoat What do you mean?
 
6:23 AM
Packaging of my soap says it's not edible
 
@betseg did you realise too late?
 
I wonder who tried to eat and sued Dove
 
probably not dove specifically
 
At this point companies probably put that label on everything just in case.
 
Tru dat
 
6:32 AM
I still need a name for my language... The name is always the hard part for me.
I don't know how you guys do it.
 
With one exception, I just pick something edible.
Wait, two exceptions.
 
Make up a symbol and call it a name
 
Tuna sandwich it is.
Actually, I'll call it 🍣, pronounced sushi.
Even though there probably won't be emoji in the syntax.
 
Sushi can be spelled with Martian letters
 
How does that work?
🍣 because it's inspired by ><> btw.
 
6:46 AM
I think I'll post a snippet for the Processing thing every day
 
Uhh... Is the link to the form on the right side bar? If it is, can someone paste it here for me cause I'm on mobile.
 
@Dennis Wait what languages have you made
 
Please? I can't access the form without signing out or I get taken to edit view.
 
I can't think of any interesting 1-char snippets for Processing
 
6:49 AM
Why 1-char snippet? Didn't that thread just get redefined as a wiki/showcase?
 
@Qwerp-Derp ShapeScript; Help, Wardoq!, Bubblegum, Jelly, and Sesos.
 
iirc my limited processing knowledge: ' in many languages defines a string literal, bit in processing instead defines a char literal.
Is sesos a food I haven't heard of?
 
@Pavel It means "culinary brains" apparently
See Sesos's wiki
 
6:51 AM
Til
 
also looking at github there are only 2 food esolangs there
 
@Pavel Isn't that the same in Java though?
 
@DestructibleWatermelon Bubblegum isn't on GitHub.
 
Well, few languages can have something entirely unique in one byte.
 
6:53 AM
I still say that 3 versus 2 doesn't really count as a rule
 
actually processing tbh isn't different enough from Java to warrant a different post
 
Dennis, you should enter the time capsule.
 
@Dennis did you say you were going to make a jelly 2 or something
because if you are you should call it beans
 
No he can't
 
Make it for the time capsule
 
6:55 AM
"Beans" is implicitly reserved for something java related
As is every word that's remotely coffee related
 
Oh right
 
NetBeans
 
hmmm wait my koth has a mechanic I want to implement but it doesn't quite work with my current system
 
I kinda want to do a language that I can make one snippet for every day for a month
 
@Qwerp-Derp I'm working on the koth some more. I didn't know if you wanted to help maybe
 
6:57 AM
@Dennis Does the language have to be implemented, or can it be just an idea for what's to come?
@DestructibleWatermelon Uhhh sure what do you need help with?
 
@Qwerp-Derp just general stuff
 
Like what?
 
I have the ideas down now I think
I just need to implement it mostly
 
Chuck us list of ideas
I will try to think of loopholes so that you can patch it up
 
care to join the room?
 
6:58 AM
Sure
Hmmm... I'll add Doxical in
 
Or a Github link
You'll need one at some point for the controller
 
@Dennis?
 
@DestructibleWatermelon At some point. TIO comes first.
 
You could just do CMQ for the showcase.
 
@Qwerp-Derp It should be implemented.
 
7:00 AM
Aww.
 
@Qwerp-Derp are you joining the room?
 
Seriously, does anyone have the link to the form?
 
@Pavel That's what I want to do
 
@Dennis Should or must?
 
7:02 AM
Thank you
I only have an edit link
 
@Qwerp-Derp We define languages by their implementation. If there's no implementation, as far as PPCG is concerned, there is no language.
 
Orrite
Then let's get crackin' to make CMQ!
 
@Qwerp-Derp Must.
 
I'm still waiting for a useful reply to this meta post.
 
wat
working on WSF right now
 
7:14 AM
Whoa now, Stack Exchange required me to vote on questions. :)
Just because I haven't participated in a while XD
 
wat
@zyabin101 they don't "require" you
they just pop up a message
 
Yup.
 
Is anyone interested in helping to make docs for CMQ?
 
CMQ?
 
His language
 
7:25 AM
Charles Montgomery Quince, my language
 
:D
 
C. Quince
 
"Hello, World!"?
 
Sequence
 
@zyabin101 What
 
7:25 AM
@Pavel You get it. :)
 
is the acronym CMQ canonical?
 
@DestructibleWatermelon That's probs going to be the extension of the file
 
@Qwerp-Derp Which program makes Charles output Hello, World!?
 
So like hello.cmq
It's based on sequences, I have to figure out ASCII support
So is anyone interested?
 
Interpreted, transpiled, or compiled?
 
7:27 AM
I have experience using ASCII characters
 
@Pavel It's probs going to be interpreted
I'm thinking of making it in PegJS
Because it's easy to make parser stuffs in
 
Don't know JS, not gonna learn now.
So probably can't help you there
 
@Qwerp-Derp _o/
Running "c:\fpc\3.0.0\bin\i386-win32\cradle.exe "
HelloWorld
Running "c:\fpc\3.0.0\bin\i386-win32\cradle.exe "
123
LMAC's cradle works.
 
@zyabin101 Yey
Or I could write it in Python or something but I need a proper parser and stuff
 
Most interpreters these days seen to be written in python.
 
7:35 AM
Should I use pegjs or pegcoffee?
 
@Pavel For recreational langs, yes.
Practical langs tend to use more advanced tools like C or Java.
 
I've written a few in C++
 
@Qwerp-Derp Whatever the heart feels! :D
 
Which I'm sure surprises nobody here
 
I feel like I'm not good enough in C++ to make a full-fledged language
I like to fall back to higher-level languages
 
7:37 AM
Dynamic typing is useful for data structures.
 
Wait what is dynamic typing
 
Unlimited precision ints is nice too.
@Qwerp-Derp variables don't have type declaration and type can change.
Like in JS.
 
@Qwerp-Derp at first approximation it's typing that's handled at run-time
 
For interpreters, it means you can have a list of variables without worrying about what those variables are.
 
7:40 AM
I like dynamic typing - that's probably why I don't use low-level languages like C++ & Java
 
In Java for example,I could make a hashmap for variables, but I'd have to put in some effort to store integers and strings.
Which is why I'm writing 🍣 in python.
 
Does anyone want to help in making some docs?
For CMQ?
 
_o/
 
@zyabin101 Yey
Wait zyabin did you work on VSL?
What was the site that you guys used for cloud docs stuff
 
I guess I can help a bit.
But I have other things to do m
 
7:43 AM
@Qwerp-Derp No.
@Qwerp-Derp IDK, but I'll try setting up a GitBook.
 
We mainly need ideas for the syntax
 
Rough high level idea... completely separate your syntax from your semantics
 
Oh sketchboard
@HWalters What?
 
Mathematica-like syntax. Obviously.
 
Basically make a form where you can define code structures, having nothing to do with anything in the language (including builtins like "loops")
 
7:45 AM
Running "c:\fpc\3.0.0\bin\i386-win32\translator.exe "
1
        d0 = 1
I wrote a working translator \o/
 
...then use that structure to lay out everything
I've done that for a language before, and it makes for really quick implementation
 
Object oriented or not?
 
(no "a semicolon can go here because we're in a for loop, but not here because ...")
 
Oh hackmd
 
I'll still make a GitBook.
 
7:47 AM
OK.
 
(Instead of 68000 asm, I use Python in my translator.)
 
There's the specs thing
If anyone's interested
 
Jesus... They managed to make hackmd mobile even worse
 
Whoa what happened
 
I can no longer type
 
7:52 AM
Meh, time to head on...
 
Wait no I found a setting to override their system for input
It works now
 
Running "c:\fpc\3.0.0\bin\i386-win32\translator.exe "
3+5
        d0 = 3
        d1 = d0
        d0 = 5
        d0 = d1 + d0
Running "c:\fpc\3.0.0\bin\i386-win32\translator.exe "
7-8
        d0 = 7
        d1 = d0
        d0 = 8
        d0 = d1 - d0
Running "c:\fpc\3.0.0\bin\i386-win32\translator.exe "
8
        d0 = 8
        d1 = d0

Error: an addop was expected
 
Uhh...i noticed a n=(0||1) in there.
 
what should I call the koth characters?
 
In most languages that means n==true
 
7:55 AM
soldiers?
 
You might want a different syntax there
 
What why?
What's wrong with that?
 
That seems like a case for elementOf rather than or.
And || is pretty universal or notation
 
also its using equals for comparison not assignment
is an issue he may be thinking of
 

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