« first day (2394 days earlier)      last day (2745 days later) » 

15:00
@muddyfish Great. Synced with the online interpreter already?
@Mr.Xcoder yeo
@ASCII-only Here you go: ↖ :P
I'll see about pinging Dennis to get it updated on TIO
Don't hurry, I don't think anyone will need that very soon
@totallyhuman too late to edit sorry
@totallyhuman well, you can also do xkcd.com link without oneboxing...
What language are you all talking about?
@Mr.Xcoder And in case you haven't noticed, you can do .>"Test instead of .>"test"
@Bobawob Me and muddyfish?
@EriktheOutgolfer but 15 minutes isn't exactly very fast
15:04
↖ so lazy he doesn't bother to do challenges at all (Right, I did it for you)
@Mr.Xcoder ...or do that himself :p
@muddyfish Why do both "test".> and .>"test work?
@Mr.Xcoder The second is merely a 1 byte shorter representation of the first
Basically the interpreter checks if a string is the last node and if so, swap it with the one before it
@muddyfish undocumented :)
@muddyfish Ah, I see. Nice behaviour
15:06
@EriktheOutgolfer I think it is somewhere :P
I think it's in the language showcase or something
not that pyke documentation is all in one place :p
Not at all
That would be sensible
Most is in the online interpreter
I have links to bits of it though in the readme :P
(like, the helpful stuff is there)
15:08
I need to spend some time adding documentation to the interpreter as I've neglected some functions
@muddyfish I see you've also added hex. Why did you remove the cute explanation format?
It sometimes doesn't if it crashes for whatever reason though I might have introduced a bug in it
That wasn't intentional if it was removed
It's just bug prone and I didn't want the entire thing to fail because of it
@muddyfish Ok, we can format it ourselves anyway. Just for reference, if I "copy answer" .>"Hello World", it gives:
##Pyke, 15 bytes

    .>"Hello World"

[Try it here!](pyke.catbus.co.uk/?code=.%3E%22Hello+World%22&warnings=0)



2E 3E 22 48 65 6C 6C 6F 20 57 6F 72 6C 64 22
15:11
Yeah, it probably broke when I added the hex stuff
@EriktheOutgolfer it's not a comic though...
I had to redo a load of it
yeah you can't really uncheck the hex checkbox
Did I forget to make it unchecked by default or something?
@muddyfish Yes
@muddyfish Both warnings and Hex are checked by default now
@muddyfish : Add link to the github repo and add just one # in Copy Answer
15:21
: add explanation format back
@EriktheOutgolfer Doing that now
@Mr.Xcoder That second
Poll: Does the yellow look bothering?
@Mr.Xcoder And that third
@Mr.Xcoder looks fine to me
15:22
Thanks, my interpreter finally looks better
Might make it green though
@Mr.Xcoder cthulhu documentation is kinda empty
@Mr.Xcoder : Add byte count, Add Test Suite Mode, Add Permalink, Add Output field
@EriktheOutgolfer Cthulhu's source is also quite empty (only 300 lines)
are there any "control flow" stuff yet?
BTW, the Github repo is far behind the real source
@EriktheOutgolfer No
I mean, does the language have any besides the empty docs?
15:26
@EriktheOutgolfer No
@EriktheOutgolfer
@Mr.Xcoder oh
I didn't write the actual interpreter structure, just adding built-ins at this point
@muddyfish umm, it still does hex bug
It will be prefix though (at least that's what I am trying)
15:28
@EriktheOutgolfer
Yay, nice
@EriktheOutgolfer Can you repeat it again?
@ASCII-only Arcturus
Oh yeah forgot about that lol
Where did Eridan go
@muddyfish yeah the box is still checked and explanation is nowhere
15:31
@EriktheOutgolfer No, it's not... Refresh
oh...still no explanation though
oh, and Never gonna give you up doesn't work
It's been renamed to .. unfortunately
@EriktheOutgolfer Explanation is there
I couldn't work out how to keep it with the new update that allows hex
15:32
@muddyfish umm, hex is the codepoints of the source code right?
@Mr.Xcoder ok now it's there
@EriktheOutgolfer yes
Raw bytes
and why suddenly that can't cope with a 23-byte builtin?
@EriktheOutgolfer because it assumes all builtins are either 1 byte long or follow .?
I don't think just taking the raw bytes should assume that? oh wait you mean the hex or the explanation?
It's better than 23 bytes
15:34
but the 23-byte name was all the fun I think
@EriktheOutgolfer I'll see if I can re-add it at some point :P
But it does mean Pyke now has a 1 byte rickroll builtin :3
BTW, I'd like to have this thing in Cthulhu. A program whose source is The Nineteenth Byte will output the link to the Nineteenth Byte
@muddyfish 2 bytes
Or just open a window if it is ran in the online interpreter
@Mr.Xcoder that seems a bit hard, unless you hardcode it in
15:36
@muddyfish also you can do (Never gonna give you up|\.?.) or something (regex) right?
regexrolling
@EriktheOutgolfer 0xAE
@muddyfish for me it returns 0x2E 0x2E
15:38
@EriktheOutgolfer It doesn't optimise automatically yet
oh so pyke actually has stuff...
@EriktheOutgolfer ?
well it's either .. or \xae right?
Are most golfing languages made by golfers?
15:40
@Bobawob Duh, obviously
@EriktheOutgolfer yes. Any command with the format .? can be also represented ord(char[1])|0x80
Wait, isn't Pyke ASCII-only... Why would you need that?
@Mr.Xcoder The hex update allows it to take raw bytes as formatting instead, hence the hex option
@Mr.Xcoder That seems like a stupid question in hindsight...
All old 2 byte builtins are now representable in 1
15:42
woo
As well as their old representation
well, good job
has just increased the command space I have by two
Wooo, thanks
@muddyfish Why do you still have two ##s?
@Mr.Xcoder Personal preference but it doesn't matter so much
15:45
ok
@Mr.Xcoder Changed
CMC: divisors of a number
@LeakyNun Can we assume the input ain't 0?
Yes, terrible.
Ignore ^^
4.688s for 100000000
Doesn't terminate for 1000000001... Ugh that's bad
EDIT: It does in 51.187 s
Okx
Okx
15:57
neim hey a golfing language builtin is better than whatever mr xcoder made
My challenge here was closed as unclear. I've edited it now, is it still unclear?
@Okx Did I hear Mr. Xcoder?
Okx
Okx
no you heard mr xcoder
well you didn't even hear it
@Okx What time does it require for 138786546788321
Anyone know how to get unicode working in Python2?
16:00
New algo stolen from SO:
import math

def divisorGenerator(n):
    large_divisors = []
    for i in range(1, int(math.sqrt(n) + 1)):
        if n % i == 0:
            yield i
            if i*i != n:
                large_divisors.append(n / i)
    for divisor in reversed(large_divisors):
        yield int(divisor)
Okx
Okx
about half a second
@Zacharý #!encoding:utf-8
Or # -*- coding: utf-8 -*-
Okx
Okx
@Mr.Xcoder still slower than neim
let's face it java is better than python :3
@Okx just use PyPy
Okx
Okx
16:03
you didn't say pypy before
Okx
Okx
hmm maybe you're marginally faster
but i suppose i could write it in java instead of using neim on top of that tto speed it up a bit
But isn't neim running a pure Java function
Well, I could write it in C (to avoid the time wasted to compile Python to C)
Okx
Okx
what do you mean? java doesn't have a get divisors builtin
16:05
I.e. you can't speed it up unless you use a way better algorithm
Okx
Okx
i suppose
meh
@Mr.Xcoder Thanks, now to find out why my code breaks Python3 :(
@Okx ... well neim's divisors function is written in Java aren't they
@LeakyNun lambda x:[i for i in range(x)if x%i==0] (yeah dunno how good in terms of speed...)
Okx
Okx
16:06
yeah
@Zacharý Remove it in 3.
maybe I should ungolf a bit
@Okx ... well neim's divisors function is written in Java isn't it
@EriktheOutgolfer Terrible, believe me
16:07
Sorry mobile edit bug
@Mr.Xcoder It broke before I added that in though, that's the problem.
@Mr.Xcoder can do better
@LeakyNun I know, I am waaaaaaay to lazy to write my own algo rn
@Zacharý pls post here
wait you have solution ready?
16:09
CMC: Reverse the prefixes of a list.
Can't you just use primo's sieve
[1,2,3]->[[1],[2,1],[3,2,1]]
@ASCII-only That's a prime factorizer
n = input()
d = [1]
i = 2
while i <= n // 2:
  if n % i == 0: d += [i]
print d + [n]
@LeakyNun (hmm...)
@ASCII-only It's for the MY interpreter, I won't post the whole thing here.
@EriktheOutgolfer can be way better
16:10
Nvm
But the best should be a general number field sieve
@LeakyNun yeah don't see how...
@Mr.Xcoder wait exactly
Just multiply them together and done
@Okx Yep, did the same thing :)
@EriktheOutgolfer Takes more than 60 s for 138786546788321
16:11
oh I found it
wait nvm
@Zacharý what's breaking
@Mr.Xcoder Pyke, 2 bytes: _.< Try it here!
NVM, I think some of the code works in Python3, I remember some MY code worked in Py2 but not Py3. I probably forgot a f***ing list.
:P
That might be cheating though
@EriktheOutgolfer see the algorithm xcoder posted
16:12
@muddyfish Now I gotta learn Hex Pyke... No thanks
@Mr.Xcoder I'll just make it so the explainer does the opimising for you
@muddyfish Ok. Would answers encoded in hex be valid on Main?
@muddyfish +1 for doing it the Charcoal way
@Mr.Xcoder of course
@Mr.Xcoder I'd assume so given they can actually be ran as raw bytes in the offline version
It's like Charcoal normal vs grave mode
@muddyfish why not the online version
16:14
Oh, ok. Cannot wait to answer a challenge in hex Pyke
@ASCII-only Well it can but it's probably quite hard to get it to submit the raw bytes to the interpreter
@Me Jelly, 2 bytes: ṚƤ
@LeakyNun oh he does more
@muddyfish just paste it in the textarea
14 mins ago, by Mr. Xcoder
import math

def divisorGenerator(n):
    large_divisors = []
    for i in range(1, int(math.sqrt(n) + 1)):
        if n % i == 0:
            yield i
            if i*i != n:
                large_divisors.append(n / i)
    for divisor in reversed(large_divisors):
        yield int(divisor)
this is his
16:15
@Zacharý yeah, in the map functions
Not really mine
then whose?
Stack overflow's
@ASCII-only It doesn't really like it, it tries to put an encoding on top of it and I'm just using raw bytes without one
@EriktheOutgolfer Pls No onebox
16:17
of course the pairs!
@Zacharý also pls use a[:] instead of copy.deepcopy
@ASCII-only I should probably redo my code to make map (and filter as well) automatically do list.
Good idea
Does a[:] have the same references inside of the list?
16:18
@muddyfish So in 5F 2E 3C, 2E and 3C are mapped to one byte?
@Mr.Xcoder Each pair of hex digits is a single byte
Also eww try except and new_input? Just do it the Logicode way
@muddyfish Will the interpreter give us 5F BC instead of 5F 2E 3C after the updates?
@Mr.Xcoder That's the plan
16:20
Except you should probably do it the other way around
@muddyfish ok. Ping me when you add features to it
a=[1];b=[0,a];c=b[:];c[1][0]=4;print(a[0]) prints 4, which should not happen.
BTW, we should ask some mod to unfreeze the Pyke room
@Mr.Xcoder Probably a good idea as it seems slightly more active than where I left it :D
@Zacharý oh do you want different references
16:22
Yeah, hence I used copy.deepcopy.
@Zacharý but still you don't need to list it
Some mod means Dennis, because Martin seems to be quite busy (not that Dennis isn't), and Alex A and Doorknob seem quite inactive
@Mr.Xcoder or tricho or wizzwizz
mod almost always means Dennis
@ASCII-only Yes, forgot all mods can do that
16:25
@Zacharý also. Pls don't clutter global with functions you can turn into lambdas
I mean seriously? You don't need a separate function to push each value
@ASCII-only Cthulhu has 100 lines stuffed with 2-line def functions :'-(
Yeesh, I need to remember to not post a link to MYon TNB, I've heard these criticisms before.
Like:
def inc(a):
    return a + 1
I'm probably going to need one of your help eventually to fix my major problem, when I call ( inside of a ('d function, MY will bork.
@Zacharý why not fix them
@Zacharý wait what is (
16:27
Apply a function.
@Mr.Xcoder noooooo why
It's called bracket IIRC
@ASCII-only I won't turn them into lambdas
@Mr.Xcoder He was referring to the MY command.
I know
Bad joke
@Zacharý 0/10 artificial linecount inflation, makes all the time I wasted on Charcoal seem so useless :P
@Mr.Xcoder no what that's [, that's a parenthesis
16:29
I'm just trying to get my code to work! I'll fix stuff like that later.
@ASCII-only Take a look at them. - 140 in fact
awaits criticism
@Mr.Xcoder oh god you only have one line between functions
@ASCII-only Why would I have more?
@Mr.Xcoder because pep8 says so
ID even know who pep8 is
16:36
Shoot, I for some reason have 𝟚 incorrectly return the powerset.
@Mr.Xcoder :/ those have got to be the must useless functions I have ever seen lol
@ASCII-only Like?
I mean you can use them to make python 10x more verbose and that's about it lol
16:37
I mean seriously you have a function that adds two things
There are even python builtins that do that
@ASCII-only That's called addition!
They make some sense, if you intend on wanting to possibly revise the functions.
@Zacharý not really
I mean what's the point if you're only going to call them from one point in your code
16:39
cthulu_is_prime though, just set it equal to sympy.ntheory.isprime.
@ASCII-only Style.
And worse performance? (Well depends on whether you have to replace them with lambdas I guess)
No. Performance isn't really affected at all.
@Mr.Xcoder :| cluttering global namespace unnecessarily != style
I disagree. I have my own coding style, and I really dislike lambdas in my actual code, except for golfing
Cluttering my dictionary of commands with whole lambdas isn't stylish anyway
Is that really star-worthy?
16:43
It has to be the ":|"
@Mr.Xcoder but weren't you doing it that way
Also lol Charcoal only uses lambdas (well most of them just call class methods though)
1
Q: Divisible by 1000003? Easy, just multiply the last digit by 300001 and add!

fireflame241Given a prime P greater than 10, your program or function must figure out its divisibility rule x, defined as the integer with smallest absolute value which yields a multiple of the original prime when multiplied by the last digit of the prime and added to the rest of the original prime. Example...

CMC: Play:
Okx
Okx
what
P     P
 l   l
  a a
   y
16:46
What
@Okx impatient :P
Okx
Okx
write the cmc as one message next time pls
Does it take input
SOGL, 2 bytes: ╝╥ (expects input on the stack so , is added)
@ASCII-only Yes
16:47
@dzaima noooooo is it golfier than Charcoal
DON't POST The charcoal
I want to solve it myself first
It's 4 bytes
but wait
don't you have to store it in a variable
16:50
@Mr.Xcoder lucky, mobile saved you
@totallyhuman no?
@ASCII-only the input
or nvm
polygon
@totallyhuman nope, that wouldn't even work
1
Q: How is my challenge unclear?

Wheat WizardLast night, I asked a question here. It immediately received two downvotes and a close vote as unclear without explanation. I inquired as to the reason that it was unclear, both on the question directly, and in chat with no response. Since it had been flagged as unclear it showed up in the clos...

@ASCII-only PolygonHollow?
@NewMetaPosts already at +1
16:52
aww the Charcoal answer to the CMC really feels like it should have been 3
although I guess there are two ways to do it
@Mr.Xcoder nope
What's the solution
I used PV⮌S
@notjagan wait lol lemme check
@notjagan me too
wut
what is that in verbose
16:55
↘S‖O also works for 4 bytes
@notjagan just got that too lol
lol nice
Program
└P: Multiprint
 ├Multidirectional
 │└V
 └⮌: Reverse
  └S: Input string
Enter string:
also I feel like Charcoal could benefit from an operator that splits a string in two at a certain index
although I don't know what the output format would be since a list would be weird
16:57
PV⮌S
o that's the same
XD
i did not know :V was a thing
@notjagan Also: +1 for learning Charcoal
thanks, but I'm still not as good as Neil :P
@notjagan No one is as good as Neil :P
@Mr.Xcoder get rid of quotes
16:59
what other multidirectionals are there
the ref sheet on the wiki has a full list
:V looks like a emoticon
+X*|-\/<>^KLTVY7¬←↑→↓↖↗↘↙

« first day (2394 days earlier)      last day (2745 days later) »