A large part of the reason being that this challenge I'm work on deals heavily with the fractional part of an improper fraction, but keeping the integer part for the end.
See, with -95/14, you get ¯6.7[857142] with the numbers in the brackets repeating, and I want to return ¯6.857142[7]
I can't keep the sign in ¯6 because that will mess it up when I try to add it back in. But I could just divide, floor, abs and then put the sign back on later
Next thing to figure out: Get base-10 digits of fractional part of fraction until the digits repeat
@Sherlock9 There is a core APL which is common to all implementations. Each vendor added their own extensions to be better than the competition. That being said, most are highly compatible. APL2, APLX, APL+, NARS, GNU APL, and Dyalog have a very large common subset (provided ⎕ML is appropriately set).
@Sherlock9 JS is an interesting example (and this happens in it - that's why tools like babel exist). Python and Ruby are defined by a reference implementation, but even then what's valid in pypy may not be valid cpython, especially if they're __ prefixed functions
> HHVM is intended for Hack projects, and also supports a large subset of PHP 7 that is required by common tools and libraries. We no longer recommend using HHVM for purely PHP projects.
@Sherlock9 Most modern Haskell code won't work on anything that's not GHC. I think it's just that when you think of modern languages, you only think of a single implementation. Since MicroAPL is dead, and pretty much no-one uses GNU APL, in 5-10 years when people think of APL, they'll think only of Dyalog. If someone wants to make a new open source APL, I'd be willing to bet that they'll try and make it Dyalog compatible (apart from perhaps not supporting →)
@Sherlock9 But importantly, APL dialects tend to be backwards compatible. At some point I'll publish my blog post about how I made a computer game from the 70's run with minimal changes.
@Probie They'll probably include → for ISO adherence. (And because it is useful sometimes.)
@Probie I prefer to avoid such spaghetti, but sometimes utility trumps elegance. I wouldn't mind losing → to keywords though, since as long as → is available, I have a hard time making myself write :GoTo…
@ngn I need a function that is both (somewhat) meaningful/useful, and uses two primitives in a certain ⎕IO. I.e. it isn't enough that they are ⎕IO-dependent but the effects "cancel" each other out.
(I need this as an example of how to use proposed syntax that lets you evaluate a function under as specific temporary ⎕IO, without setting the global state.
@ngn That specific suggestion comes up every once in a while. Iverson proposed it too (as ⍳:1), but I think mine is more versatile.
@Probie Yes, but allows setting any state, not just ⎕IO.
Iverson suggested that (the equivalent of) ⍋⍠0 means ⎕IO←0 but =⍠0 means ⎕CT←0. Which of the two should it be for ⍳⍠0 (which depends both on ⎕IO and ⎕CT)? Same goes for ?⍠0 (which depends both on ⎕RL and ⎕IO).
I have cloned the ride repository and built it to get a standalone application, once I started ride, I edited the default configuration to "Start" a v16 session and saved it, however every time I open ride it opens the configuration page instead of starting a session, so how do I make it automatically do that?
(the ride that came with the dyalog v16 download works normally though)
once I have started it from the command line, the icon for it pops over my dock (macos) and I kept it in dock, now to start it I simply click the icon from the dock
What is the proper way to modify environment variables like PATH in OSX? I've looked on Google a little bit and found 3 different files to edit:
/etc/paths
~/.profile
~/.tcshrc
I don't even have some of these files, and I'm pretty sure that .tcshrc is wrong, since OSX uses bash now. Anybody ...