« first day (2458 days earlier)      last day (2393 days later) » 

9:00 PM
Thanks :P
 
I, for one, vote to kick "rip" off the island.
 
@feersum How about the world?
 
CMC: Determine which word is most likely to get a star; that is, determine the word with the highest ratio of number of messages containing it on the starboard to total number of messages containing it
A word is [A-Za-z]+
 
@cairdcoinheringaahing That's not mutually exclusive.
 
@HyperNeutrino So not a, A or I?
 
9:01 PM
why not
(respecified)
 
@HyperNeutrino star
 
I think it's either a, A, I or imgur
 
"think" is not valid answer 0/10 :P
 
@HyperNeutrino Jelly, 5 bytes: “¡Ʋy», or Jelly, 6 bytes: “¢Ȯo>ƈ»
 
did you actually check
also 0/10 the 6-byter isn't even compressed
 
9:05 PM
I think your CMC is flawed. I've voted to close it as unclear.
 
@HyperNeutrino No, just a guess from the number of images found
 
Oh, wait.
 
lol
anyway gtg o/
 
@HyperNeutrino If that got starred every time you said it, then that
 
@HyperNeutrino Shouldn't be very hard to find out. Just download the 512 pages of starred info, parse into words, etc.
 
9:18 PM
I think a more interesting CMC would be which user has the most starred posts
 
There are not proper CMCs anyway, they are just CMQs.
 
CMC: write a proper CMC
 
My CMC userscript disapproves of joke CMCs
 
9:38 PM
@HyperNeutrino VSL: typealias boolean = Bool?
 
CMC: Boolean?
 
Wat?
 
If true or false return true, else return false.
 
@Adám Python: lambda o:isinstance(o,bool)
 
Dyalog APL: ∊∘0 1
 
9:43 PM
@Adám JS: o=>(typeof o)[0]=='b'
 
@Adám Mathematica, without explicitely checking the type: If[#,1>0,1>0,1<0]&
If take 4 parameters: Condition, true case, false case, other case.
 
> explicitely
@Pavel :O are you taco
 
@Adám Mathematica, lame way: BooleanQ
 
@Pavel Other case‽
 
@ASCII-only wat
 
9:46 PM
@HyperNeutrino I'll use that as a name in case I'll ever open a bar.
 
@Adám Yeah, instead of erroring or trying to coerce it's condition to a boolean value when giving something that isn't true or false, it just does the other case.
 
@Pavel that's how he (mis)spells explicitly too
 
It also works with 3 parameters, If[condition, true case, false or other case]
 
@Pavel what about 2
 
@Pavel Ah, you can kind of do that in APL to: {0::0⋄⍵:1⋄1}
 
9:48 PM
@ASCII-only Doesn't exit
 
{0::other⋄⍵:true⋄false}
 
Huh. What do :: and : do?
 
@Pavel ( is the statement separator) : is a guard; condition:result if true. If not true, it continues on next line. :: is an error guard error number(s)::result if one of those errors happen from now on. 0 means any error. Giving a non-Boolean on as the condition is an error (error 11, but 0 is shorter).
 
So 0:: is APL's catch (Exception)
Got it.
 
So {0::0⋄⍵:1⋄1} reads: If any error happens, return 0. Now, if (the argument) then 1 (true) else 0 (false).
@Pavel It is one of Dyalog APL's three error catching systems. Dyalog APL is multi-paradigm, and you can often choose 2-3 ways of doing things.
Full program style:
 
9:54 PM
      1:1⋄0
SYNTAX ERROR
      1 : 1 ⋄ 0
        ∧
._.
 
1
Q: The Almost-Eternity Code

Jorge PerezWrite a program that outputs as many characters as possible, with two conditions: The program must be 256 bytes or shorter The program must almost surely eventually halt. In other words, the only thing not permitted in response to this question is an infinite loop. For the purposes of this pr...

Think this should be reopened/improved?
 
f x
:Trap 0
    :If x
        1
    :Else
        1
    :EndIf
:Else
    0
:EndTrap
@Pavel Guards and error guards only work inside {dfns}.
 
Ok, got it
@Adám So how do I do it in the repl?
 
@Pavel Just put curly braces around.
 
Ok. Cool
 
10:00 PM
@Pavel My experimental version 17.0 has :Control structures in the REPL too :-D
 
Cool. When does 17 come out?
 
@Adám :Control?
 
:If and such
 
@Pavel Next summer. I usually run the next version day-to-day for testing.
@ASCII-only Yeah, :If :For :Trap :Repeat :While :With :Select :Hold
 
@Adám :| there's no if in the repl yet
 
10:04 PM
Jul 10 at 23:47, by ATaco
@Adám Do or do not, there is no :Try
 
Would be cool if Dyalog has a beta version available.
I use beta versions of everything that I can, and have had to reinstall Windows several times because of this. Not that I mind.
 
@ASCII-only No. I mean, you can use the : guards in a one-liner dfn, and you can even define a tradfn ("full program") on the fly and use it right there.
 
Oh right
@Pavel :|
 
@Pavel What makes you think that we don't? 17.0 is like in pre-⍺.
 
@Pavel I had chrome canary but never got it again because it's prone to breaking really badly
 
10:06 PM
We haven't even decided what will go into 17.0. That's why this feature is just experimental. It isn't even in trunk.
 
@ASCII-only Eh, my everything breaks all the time regardless, so I don't mind.
(Am currently installing Canary because I forgot about it last time I reinstalled Windows)
 
 
@Adám Is the top half of the window some secret developer thing or just a menu I can't figure out how to access
 
@Pavel Just click the Explorer button (highlighted in blue) !
 
@Pavel scope - just like R has
 
10:13 PM
New RIDE (cross-platform GUI IDE) is shaping up too:
 
@ASCII-only oh nvm misunderstood
 
 
@Adám :O is that the JetBrains IDE for CShar pls ignore
 
@ASCII-only ?
 
Rider is their IDE for C#
 
10:17 PM
@ASCII-only This is RIDE=Remote IDE.
 
Ride looks fancy af
 
remote?
 
Although some of the buttons look a bit off
 
@Pavel It is WIP.
 
Looks like GIF transparency
 
10:19 PM
@ASCII-only Yeah, it lets you have a GUI on your machine for an APL running on any connected machine (or on the same machine). APL can also serve RIDE to a browser, so you can have a zero-footprint GUI to a remote (or local) APL.
 
Oh great, string.format isn't preserving newlines in Funky...
 
@mınxomaτ I hacked together those icons for a white menubar.
 
@ATaco :|
@Adám woah
 
@ASCII-only Here is APL serving RIDE to Chrome:
 
Not a fan of Googles fact checking initiative, seems a bit dystopian to me: developers.google.com/search/docs/data-types/factcheck
 
10:23 PM
 
@Adám :O amazing
 
@mınxomaτ What is the most dystopian part? Requiring people to have machine-readable content to get good rankings, or designating certain sources as the arbiters of "facts"?
 
I’m trying to think of a way to improve this answer:
1
A: Invert a Quine!

LynnPython 3, 83 bytes print(~2/8,6>9)#!"$%&'*+14:;<=?@ABCDEGHIJKLMNOPQRSTUVWXYZ[\]^_`bcdfghjkmoquvwxyz{|} Try it online! Prints -0.375 False.

Essentially, I’m trying to write expression(s) whose result is as long as possible; and the result and the expression don’t share or repeat characters.
 
@Lynn I feel like you may be at a local maxima, if I were you I would try scrapping it and seeing if you could come up wiht something better from scratch
either way nice answer!
 
That’s a good point!
 
10:33 PM
That doesn't look like a valid answer.
 
@ATaco why.
 
Doesn't it need to print out all printable ascii for each character in your source code, removing the character that it currently corresponds to?
 
@ATaco no...
@ATaco wth.
did you even read.
 
So if printable ascii was ABCDEF, and your source code was AAB, the output should be BCDEFBCDEFACDEF
 
n sets of printable ascii where n is the max number of occurrences of any character, with all chars in source removed
 
10:36 PM
(Or any permutation of that)
Hmm, I'm probably just an idiot.
Why does This demand we also output The hypotenuse of this right triangle is , that just seems wasteful.
 
@Adám Proton: a=>a is bool
 
@HyperNeutrino Nice. Does what it says on the tin.
 
yup :P
I was expecting (is)&bool to work but there's a bug with argument binding right now
anyway gtg take a shower lol
 
CMC Given a number, return the number of bits used for its storage in memory.
 
Funky, 5 bytes. n=>64
 
10:48 PM
@ATaco All numbers take 64 bits? Ints, bigints, floats?
 
Nothin' but doubles.
 
@ATaco Doesn't sound very fast.
 
Welcome to Javascript.
 
@ATaco Gosh, really‽ Wow.
 
> JavaScript numbers are always stored as double precision floating point numbers, following the international IEEE 754 standard.
 
10:51 PM
@ATaco But – why‽
 
Easier to write that?
 
@Adám Because it's simpler
Like you support up to 2^53 as integers anyway
 
Lua only got ints in 5.3
 
But performance takes a huge hit!
 
Don't underestimate the speed of a double, especially when it comes to exponential arithmetic.
 
10:53 PM
@ATaco Basically standstill compared to packed Booleans.
@ASCII-only Dyalog supports numbers up to 1E6145
 
@Adám :| (also this is JS, not intended to be an arithmetic-heavy language)
 
@ASCII-only Right, I guess not. APL was born to be math.
 
:P Same with e.g. python and it's bigints
 
With modern architecture, the speed difference between a double and an int is negligible, especially with the limited amount of math languages like Javascript and Lua are expected to do.
Plus, dynamically switching type would cause a LOT more slowdown if the programmer doing it wasn't aware.
 
There is no "justification".
 
10:58 PM
@ATaco Could. Practically, won't. Dyalog APL switches dynamically, and is pretty fast.
 
If you just assume that the worst possible decision was always made in the design of JS, you will be unsurprised.
5
 
I just can't wait for Dyalog APL version 17.0 to come out. I have some challenges coming up…
 
'Eh, JS isn't that bad. It's pretty good at what it's designed to do.
 
@ATaco If its performance was satisfactory, why invent wasm?
 
Same reason LuaJIT exists.
 
11:37 PM
@Pavel Not knowing Mathematica, can you golf that to If[#,#,¬#,1<0]&?
@Adám modern JITs can optimise the double to an integer in certain cases
 
Oh really? Can you give an example of such a case?
 
CMP: Should Proton use arbitrary precision numbers by default? Advantages are nicer syntax for precise maths, but disadvantages are that it takes over one second to start up.
 
Anonymous
@Adám Python, 24 bytes: import sys;sys.getsizeof
 
RProgN2 uses Arbitrary Precision Decimals, and it shows...
 
Anonymous
@HyperNeutrino Seamlessly switch behind the scenes
 
11:46 PM
hm? how would I go about doing that?
 
lol I got nigerian prince mail and I'm so tempted to waste this guy's time by trolling them
@ATaco nice lol
 
Anonymous
Use the longest native integer type possible. Detect over/underflow. Switch to arbitrary-precision when necessary.
 
keep in mind that i'd like to eventually maybe make this production-worth but idk
@Mego hm ok sounds confusing but might work, thanks for the idea
 
Anonymous
What language are you using for Proton?
 
Anonymous
11:48 PM
Looks like Python - just use Python's ints
 
ok
but like what to do for floats
 
Anonymous
 
Hey Mego, have you seen my latest pride and joy, Funky?
 
@Mego oh? cool!
(I'm using sympy right now... really slow to start up lol)
 
Anonymous
@ATaco JS code is your pride and joy? You need better standards :P
 
Anonymous
11:51 PM
@HyperNeutrino sympy is terrible unless you can amortize the startup cost via a long-running server
 
taco documentation = tacomentation = fermented tacos
@Mego ah ok. is gmpy fast?
 
Anonymous
Yes
 
Anonymous
It's a Python wrapper around gmp, mpfr, and mpc, which are all very fast, state-of-the-art C libraries
 
4
Q: Is there any way to speed up an import?

orlpI have a CLI application that requires sympy. The speed of the CLI application matters - it's used a lot in a user feedback loop. However, simply doing import sympy takes a full second. This gets incredibly annoying in a tight feedback loop. Is there anyway to 'preload' or optimize a module whe...

tell me about it
@HyperNeutrino use gmpy2
more up to date
 
Anonymous
11:52 PM
@orlp I linked him to gmpy2
 
nice, I'll look into replacing sympy with that then, thanks!
 
@Mego all right
@HyperNeutrino they're not really doing the same thing
I use both gmpy2 and sympy
there might be a small portion of overlap (and wherever they overlap, go ahead, use gmpy2 )
 
ummmmmmm it failed
 
@feersum ironically all I found was this SO comment: stackoverflow.com/questions/7767641/…
 
@orlp if it's functionally close enough I'll see if I can just swap :P
 
Anonymous
11:54 PM
You need gmp, mpfr, and mpc installed
 
oh huh
are there installation instructions anywhere
 
Anonymous
sympy offers a lot more, but if all you need is multiple-precision arithmetic, gmpy is a much better choise
 
@Neil I suspect you can't find such examples, because it doesn't happen.
 
This was a great demonstration of Funky as an actual language.
 
Anonymous
@HyperNeutrino sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev
 
11:56 PM
It almost seemlessly polyglotted with Javascript, I'm fairly proud of that.
 
thanks
 
also SpiderMonkey does something similar which they call nunboxing or punboxing depending on the word size
 
Anonymous
If you have to build from source, it's standard ./configure && make && sudo make install for all 3
 
@Neil This doesn't make sense. How can it claim that the type is int, if that's not a supported type?
 
11:58 PM
@feersum the javascript engines will try to represent your small integers using an integer type and perform integer arithmetic on it, but only when the results would be the same as if they'd done double arithmetic
 
@HyperNeutrino Make your own custom classes that inherit from int and the sympy equivalent
 

« first day (2458 days earlier)      last day (2393 days later) »