Sandbox Notes
Is this inflammatory, mean, and liable to draw unwanted and unnecessary attention to low-voted questions in the Network?
Better tags?
I should probably write a snippet to find all angry Metas.
Angry Meta
internet stack-exchange-api code-golf decision-problem
A ...
But I can't quite come up with a good challenge to use them. Render some text to a window? Convert to a modern font format?
I have a bunch of old dead sandbox posts. I want to have a little more developed before sinking another one there. lol
Well, I'll be logged in a while if anyone has any thoughts or questions. IIRC there's even russian characters in there, and some old typographical glyphs that aren't in modern use. It was developed by the Navy I think, and then published by the bureau of standards.
Sadly, it may not make a good challenge. Like my Clacker Animation old-style card formats are really fiddly and the text processing takes a ton of work.
@WheatWizard Re Shell Glob Golfing: If you still have questions about input you can take a look at the existing answers to see how they do it. I'll be asleep and not answering anything for a while.
@DJMcMayhem I put down 1, because the only language I can have a real conversation in is English. I know enough German to have small conversations with my German-born landlady, but nothing very complicated. We invariably end up back in English. Ich will aber mehr lernen.
@ASCII-only Well, Python, for one. ;) But also Jelly, Pyth, CJam are/were all quite popular, I believe.
@Fatalize I'm looking forward to it. I like Prolog, but never got into Brachylog (mainly because of the non-ASCII character set). This event will give me a nice nudge in the right direction.
@Fatalize A note about logistics: I think, once March 1st arrives, I will (or someone else can) make a new meta post entitled Language of the Month, March 2018: Brachylog and copy over the helpful parts of the nomination post (especially the links). Then the nomination post can be edited down and deleted, like we do in the Sandbox.
#include<stdio.h>
include
include
struct node
{
int data;
struct node *next,*prev;
};
struct node *head,*temp,temp1;
void main(){
int c=1;
clrscr();
while(c)
{
temp=(struct node)malloc(sizeof(struct node));
printf("enter the data for the node\n");
scanf("%d",&temp->data);
if(head==NUL...
CMP: Should I make a mother meta feature-request, asking them to enable MathJax back on PPCG? I am afraid that it might get closed because it's about a specific site, and if I re-ask on our meta, they're probably going to ignore it.
I think I'll actually post on our meta again and see what happens.
More than a month ago, we've reached a consensus: We want MathJax back. The reasons why it was turned off in 2015 no longer seem to apply, and details about why MathJax is needed on this site are detailed in the linked post. After a while, I asked a Community Manager about what we shall do next, ...
More than a month ago, we've reached a consensus: We want MathJax back. The reasons why it was turned off in 2015 no longer seem to apply, and details about why MathJax is needed on this site are detailed in the linked post. After a while, I asked a Community Manager about what we shall do next, ...
CMQ: In Dyalog APL has variables, functions, and higher-order functions. When doing OOP, we call variables "fields" and functions "methods". What should we call OO higher-order functions?
@EriktheOutgolfer Duh, I forgot to mention that higher-order functions are called operators in non-OO context. My whole question is silly without that info.
@EriktheOutgolfer Right, because there is no distinction. Any function can take anything as argument, be it a function or regular data. But APL does not allow regular functions to take functions as arguments.
CMQ: When APLers speak of higher-order functions, they call them operators. When APLers speak of variables and functions in an OOP context, they call them fields and methods. What should APLers call their operators (higher-order functions) in OOP contexts?
@ngn Right. Yeah, there's not really a good distinction between names and their "content" in traditional APL. I've lately argued that no "content" should know its name.
@Adám to answer the cmq, I think whatever existing term you choose to call them, you'd have to explain it, so why not make up an informal portmanteau like "operethods" which makes it easy to recognise instantly what you're talking about (assuming familiarity with APL and OOP)
@ngn Yes and no. Method describes their role in the OO context where it maybe doens't really matter what syntactic class they have. The distinction between functions and operators is important in (today's) APL, to know how to put things together to a well-formed statement.
On the other hand, method implies the ability to do something with the object. Operators don't do anything by themselves (at least if used in the usual way), they just apply methods/functions in modified ways.
That being said, you could potentially remove all functions from APL and replace them with operators, and you would still be able to do everything, though monadic function application would need placeholder left operands.
APL was first about a lot of things in programming, but for some reason the terms that Iverson called various concepts didn't catch on. AFAICT, APL was the first programming language to have functions be arguments. First to generalise infix functions/operators (using the terms monadic and dyadic - and niladic for that sake).
@ngn Yes. Although you can get that effect by supplying a dummy argument. E.g. you can count the number of lines in the function foo with foo{f←⍺⍺ ⋄≢⎕NR 'f'}⍬.
@Adám because you wanted an example for passing a function as an argument :) if you change the definition of memoise so that the critical work is done outside of it, then obviously the example becomes useless
@Adám yeah, it was proposed years ago, I was initially against it because I considered memoise too high-level and just a patch for a more fundamental underlying problem (lack of first-class functions in apl), but now that Dyalog has ⌸ and ⌺ and ⎕json ... probably doesn't matter much
@Adám squiggle non-proliferation has gone out of control
@ngn What? I don't know if I would have added trains (or if yes, in their current form), but now that we have them, there are some glaringly missing operators. And the equivalent of ⍤ but for depth is awkwardly missing too.
I believe time is usually the most impactful factor in optimization puzzles
But then again, to score time is kinda hard and would force everyone to use a language available in TIO (or some other site) that would allow you to consistently time the codes
@Adám yeah that was what I thought as well. Although, as I said, we'd need some way to time the codes consistently (or at least on the same environment for every code submitted)
It also means your performance depends on the implementation quality of the interpreter, which means either the Befunge answer specifies which interpreter, or I have to test for most of them
Yeah, the other solution I can think of is for whoever proposed the challenge to time each code themselves, but that'd be a lot of work if the challenge gets popular.
Real life contest -> language restriction -> downvote.
(I got bored of C++-or-Pascal (although some does provide more than that, they will never support Jelly (unless you copy-and-paste the whole Jelly source code and submit in Python)))
Having most users does (<- is that correct? Should I use do?) not imply most activity. Some users (seem to) never say anything.
I mean, the rules of the contest say C or Pascal, but the grading is done on machine code level, so there is no problem with wrapping every language on TIO with this when a special timing mode is enabled
@user202729 Because SE chat only shows 32 users at once, then you have to click the "…" after the last user's name to see all of those that are currently in the room
I don't like it that there is no (without userscript of course) way to clear chat notification without answering, and I may get inbox notification if I don't clear them up in a minute, and if I post unused message here someone will probably kick me.
@ASCII-only Then it should be possible to compare execution speed by letting each language include its own timing, and try each language in order (and close succession to account for time of day differences), multiple times, then average.