O_O So Xcode has error dialogs that will let you fix certain code bugs (e.g. turns applicable let -> var), apparently it does this fix by a find/replace, so if you have "let" in the middle of string or something it'll replace that instead
@AndrewSavinykh Python is a very full-featured language that doesn't feel like pulling teeth. It's also a common language for intro computer science courses in universities
Python is also surprisingly not verbose much like other full featured languages, where Lua uses function thing() end Python only asks for def thing(){}, that and things like Lambdas.
@AndrewSavinykh There's virtually no learning curve, it has a great documentation, there's a ton of packages you can import that will do pretty much everything you can think of, and it supports arbitrary-precision integers natively.
I'm sure there are better choices in terms of, e.g., speed, but if you need something that just works, Python is a quick and easy way to get things done.
I personally do not like the indentations thing and a lot of ambiguity when the same things work differently for everything. For example this stackoverflow.com/a/6167246/284111
@AndrewSavinykh That's true for most interpreted languages though.
@AndrewSavinykh I'll try to come up with an auto-setup script for the arena before the end of the month. I'll need that anyway to create additional arenas. I rarely leave the house, so the chance I get hit by a bus before February (when work resumes) are fairly slim. ;)
@Dennis if by interpreted languages you mean languages that are intended for scripting, than you would be right. Powershell has its ugly sides, but at least it strongly typed because .net is strongly typed. So there is much less ambifuity
@Dennis one thing that I was wandering when setting this up was how do you test all of this. You have things when a cgi script calls another shell script via SSH then it calls another script which in turn calls another script. And if there are any errors in the process they are not logged anywhere, so how would you know what failed.
But fortunately your code "just works"
So it has not been a problem, but it could be in future, potentially
In python, creating a stack is really simple: stack=[] and it doesn't matter what you put in there. Whenever you try to add something, you can always check if type(stack.pop())=='int'
And then you have to deal with the fact that you can't have ints in there, they have to be Integers.
I'm writing Sushi in java though, it's a bit harder, and BigDecimal is a pain to deal with, but I know Java well enough that for me it's the best option.
I'm going to keep both. tio.run for the web app, i.e., the actual interpreter, and tryitonline.net for everything else.
I mainly bought the former so the permalinks would look better. Having TIO in the domain name is also nice, since that's what most people (myself included) are calling the service.
Anyway, tryitonline.net will host a bit more than a landing page in the future, including some dev tools so people get some control over "their" interpreter.
@Pavel well, it's just a type with a single instance. You can do whatever you like with it. NumPy uses it for multi-dimentional arrays slicing
so instead of a[0,:,:,0] you write [0,...,0]
@Dennis What I'd like to see is ability to have automated test suites. Basically I pull a language, then I run the list of programs for the language with pre-specified inputs and compare with pre-specified outputs. this way I can see I have not broken the language
however maybe it's and overkill for TIO
every developer can do this in their own repo if they want
Yeah, I'd rather have language authors set these things up themselves. I don't know the first thing about 75% of the languages on TIO, so setting up test suites myself would be pretty hard.
Oh. That would require the language authors to play along though.
Anonymous
4:02 AM
A related feature that I'm pretty sure has been requested before is the ability to do multiple test runs - run the program for each of the input sets, and display all of the outputs
@Pavel That's because v2 is older. I realized there was just too much stuff to figure out before I could get anywhere near stability, so I made Nexus correcting some of the mistakes I made when designing v2. Once Nexus is finished, I'll go back to developing v2, which will include incorporating the improvements from Nexus.
@Pavel Not much at this point. Some button are pretty far apart though and can take time to click with the mouse. Pressing Esc, S, G is a fast way to copy a full-blown PPCG answer made of your code into your clipboard.
Using traditional key combos is a huge PITA because all browsers and OS's have their own, so trying to use them for your website is pretty much hit'n'miss. Using a command mode circumvents that issue.
@Pavel Sort of. I changed the link's protocol to HTTPS.
I don't understand why Microsoft just won't admit that they can't make a decent browser and partner up with someone else. There's nothing to gain from making something that is given away for free, and everything to lose from shipping an OS that doesn't have a decent browser by default.
I mean, Edge is a pretty big improvement over IE, but they still have a long way to go to catch up with the rest.
@Pavel They should get the basics right before that. Just take this bug: Both pressing Ctrl + Enter and Esc, R simulate a click on the run button. Simulating that click works just fine, yet using the latter method magically prevents removing the running class from stopping the animation.
Edge I find far too limiting for what I want to do with it, and that combined with Microsoft™ unnecessary program loading times, it's just not worth it.
@Pavel well my son learned english quite a years after he learned russian, yet his first language is english. I'm suspecting it might be the same with you, if you've lived your whole life in english speaking environment, you ruissan is probably not as good - so would not qualify as "first language"
A Man in the Middle attack can be more malicious than simply taking your passwords. it can also, theoretically, display webpage elements against your will.
Anonymous
5:54 AM
There is never a downside to having HTTPS enabled. A lot of people will refuse to use non-HTTP sites.
@AndrewSavinykh Not really. Diamond moderators can make private rooms for sensitive conversations, but any moderator can see those rooms and their contents.