« first day (2570 days earlier)      last day (2570 days later) » 

18:00
also not trigger
CHecked all of his languages on esolang, now I'm interested about PHL >= 1.2, but that's not it.
What if he marks it as safe and then reveals the language, and that language (presumably esolang) isn't on TIO, doesn't have an Esolangs page and isn't on Wikipedia?
the challenge rules state that it would be invalid
Now I'm trying to eliminate the shorter submissions
This answer by Jo King is also kinda old and intriguing.
looks like a regex-based language
18:09
@Mr.Xcoder Rosetta code as well
And holy... I didn't realise MDXF and totallyhuman cracked that many answers...
Those Zs are pissing me off terribly.
wouldn't be surprised if it was a red herring
The big red herring is the fact that it's Finnish
18:12
I am 99% sure it's a red herring
@Zacharý that could be to obscure the unicode characters
He's fergusq ... it's because he's fergusq.
ANyone want to check Haiku?
Wait! Does anyone know how to run perl interpreters?
... perl <interpreter>?
new snippet, please report bugs
18:21
@Zacharý uh, it's written in Röda and it's all Finnish to me
@EriktheOutgolfer ... me as well
He obfuscates the source of his languages for a reason it seems...
If anyone speaks Finnish other than him here, that would probably help.
Proton 2.0 :D proton_lang.py runs a python-repl-like shell for proton. It's pretty simple right now :p
CMP: How does this look on mobile, not on Safari?
18:24
How many particle-named-languages have you made?
@HyperNeutrino Does it have a proper parser this time?
Proton, Neutrino, Proton 2
It uses modgrammar so I'd say yes :P
wasn't there a Positron as well
18:24
yes
That makes 4 :)
well Proton and Proton 2 don't count as separate ones :P
anyway brb o/
@PhiNotPi I just answered a 5 year old challenge of yours :)
I kinda want to make a 5x5 slide puzzle code challenge
since 4x4 can be optimally computed
@Mr.Xcoder The fact strings are defined with ' and not " annoys me
18:26
Why exactly?
Anonymous
@orlp I had the idea a while back to do a challenge for least moves in any-square-size slide puzzle. I was considering doing it with a bunch of boards for each size.
@Mego I think 5x5 is hard enough
every language I know either uses " or either of " and ' and i generally use " in those langauages
@Mr.Xcoder I think all the pages on the sidebar should be available, instead of displacing them
Anonymous
@orlp It is, but I like to turn the difficulty up to 11 :)
18:28
0
A: Solve the 15 Puzzle (the tile-sliding puzzle)

orlpPyPy, 195 moves, ~12 seconds computation Computes optimal solutions using IDA* with a 'walking distance' heuristic augmented with linear conflicts. Here are the optimal solutions: 5 1 7 3 9 2 11 4 13 6 15 8 0 10 14 12 Down, Down, Down, Left, Up, Up, Up, Left, Down, Down, Down, Left, U...

this is the answer btw
and I know it says 'heuristic', but that just guides IDA*, the answer is guaranteed to be optimal
That's pretty good.
you can compute much, much faster with pattern databases
but I didn't want to include it in the processing time (they take a long time to precompute and use a lot of memory)
and I didn't want to code them :P
but I think a 5x5 one could be interesting
to get approxiations
@Mr.Xcoder The arbitrary switch of seperators bothers me
proton 2.0 is actually coming along surprisingly well considering how most of my other languages go
but I don't wait to jinx it so shush i said nothing :p
@ConorO'Brien I could swear I fixed that an hour ago... Guess I forgot to upload the correct code to Github :( Will fix
@Pavel What separators?
18:32
; and ,
Ah, then ¯\_(ツ)_/¯
@orlp he knew before you posted that :P
I was mostly referring to the website itself, though.
also yeah heuristics and brute force are guaranteed to make the shortest possible solutions
@EriktheOutgolfer admissable heuristics
for IDA*
meaning they never overestimate the cost
18:34
@HyperNeutrino When you have time, can you please explain the (operator)& syntax to me again in the Proton chatroom? I still don't get it D:
@Mr.Xcoder ok :D i'll do that (also later because it's not even implemented yet :P)
I'm implementing a @ operator in Proton where f@x is a function call. Should f@x behave differently from f(x) in any way or should they be exactly identical?
Identical
@ConorO'Brien Fixed, thanks a lot for noticing! I still don't get how I managed to forget to update.
18:43
python -m timeit '[] and True or False'
10000000 loops, best of 3: 0.0338 usec per loop
python -m timeit '[1] and True or False'
10000000 loops, best of 3: 0.0553 usec per loop
python -m timeit 'bool([])'
10000000 loops, best of 3: 0.111 usec per loop
python -m timeit 'bool([1])'
10000000 loops, best of 3: 0.131 usec per loop
Kind of interesting
The short circuiting goes faster than the function
I wonder why that happens
Maybe big function calls or something?
I don't think it is intended, either way.
Maybe the [1] takes longer than [] depending on the assembly
>>> print(dis.Bytecode(lambda x: [1]).dis())
  1           0 LOAD_CONST               1 (1)
              2 BUILD_LIST               1
              4 RETURN_VALUE

>>> print(dis.Bytecode(lambda x: []).dis())
  1           0 BUILD_LIST               0
              2 RETURN_VALUE
A little bit slower
every time I try using modgrammar I always run into infinite recursion problems
18:47
@Zacharý I don't think that is a language, I think it is a poem generator.
python -m timeit 'bool((1,))'
10000000 loops, best of 3: 0.105 usec per loop
python -m timeit 'bool(())'
10000000 loops, best of 3: 0.108 usec per loop
python -m timeit '(1,) and True or False'
10000000 loops, best of 3: 0.0223 usec per loop
python -m timeit '() and True or False'
10000000 loops, best of 3: 0.0271 usec per loop
it's because of name lookup
oh, it could be that
But with the other, it's got to look up True and False?
`>>> print(dis.Bytecode(lambda x: bool(x)).dis())
  1           0 LOAD_GLOBAL              0 (bool)
              2 LOAD_FAST                0 (x)
              4 CALL_FUNCTION            1
              6 RETURN_VALUE

>>> print(dis.Bytecode(lambda x: x and True or False).dis())
  1           0 LOAD_FAST                0 (x)
              2 POP_JUMP_IF_FALSE        8
              4 LOAD_CONST               1 (True)
              6 JUMP_IF_TRUE_OR_POP     10
        >>    8 LOAD_CONST               2 (False)
nope
18:49
So I woke up late today and realized my OISC bounty was about to end so I ran and opened PPCG... and awarded the bounty with 5 seconds left.
it doesn't
try True = 3
Anonymous
True and False are simple aliases for 1 and 0, so they're no more expensive than just using 1 and 0 directly
@Mego they're not though
>>> type(True)
<class 'bool'>
@Potato44 How do you know?
I was thinking python 2
18:50
@MDXF ... I believe you have a (short) threshold while you can still award it manually after the 7 days.
Anonymous
@orlp And the bool class is a simple wrapper over the long class
@Blue what year is it?
@Mr.Xcoder oh that makes it a bit less awesome
hyper_neutrino@localhost ~/Desktop> python2 -c "print(True == 1)"
True
@Zacharý I tried running it and it needs 5 arguments. Also I ran the description through Google Translate
18:51
@Mego still deos not mean True is an alias for 1
@orlp I forgot they changed it
Anonymous
@orlp True is 1
hyper_neutrino@localhost ~/Desktop> python3 -c "print(True == 1)"
True
>>> True is 1
False
@Potato44 Well crap.
Anonymous
18:51
(might not work in REPL environment because silliness)
in Python 2 it's an alias
but seriously
again
what year is it
hyper_neutrino@localhost ~/Desktop> python2 -c "print(True is 1)"
False
hyper_neutrino@localhost ~/Desktop> python3 -c "print(True is 1)"
False
@MDXF :/ both mine and the other were at the same number of votes
It still goes faster than bool in 2
@ConorO'Brien MDXF wanted to award it to that answer ever since it was posted.
Anonymous
18:52
@HyperNeutrino That's weird. I distinctly remember it being true. Gonna try to figure out what I'm remembering.
yesterday, by MD XF
PSA v2: Please upvote this is very interesting and I want to give it the bounty
@ConorO'Brien yeah I'd hoped one would end up having more votes than the other but I saw "5 seconds" and panicked
I mean in Python 2
>>> dis.dis(lambda x: bool(x))
  1           0 LOAD_GLOBAL              0 (bool)
              3 LOAD_FAST                0 (x)
              6 CALL_FUNCTION            1
              9 RETURN_VALUE
>>> dis.dis(lambda x: x and True or False)
  1           0 LOAD_FAST                0 (x)
              3 POP_JUMP_IF_FALSE       12
              6 LOAD_GLOBAL              0 (True)
              9 JUMP_IF_TRUE_OR_POP     15
        >>   12 LOAD_GLOBAL              1 (False)
        >>   15 RETURN_VALUE
it's faster for a similar reason
in that it still avoids a function call
but in python 2 it does need to load the globals
@Mr.Xcoder so? I don't care about the rep, I just don't think it was the proper thing to do
Just saying.
18:54
@ConorO'Brien What would have been the proper thing to do? They were tied for the bounty winning condition and I thought that meant I just had to pick since I couldn't award it to both
@MDXF I'd have thought that earliest would be the tie breaker. maybe I'm wrong, but I thought I read that on the meta
@ConorO'Brien Ah, if you have a link to that I'd be happy to give you another bounty to make up for it
CMC (): Index of permutation X in a lexicographically sorted list permutations of X's items.
(it would need to be >=200 though BTW)
Anonymous
@ConorO'Brien Bounties aren't subject to our rules about objective winning criteria. Bountiers may award the bounty to whatever answer they want.
18:55
close enough
@MDXF no, I don't want the rep, I just thought it wasn't proper
@ConorO'Brien yeah I'm saying I thought it was my personal choice for who the bounty went to, but if that wasn't the case I want to make it right
@Mego I need to look at meta, I'm sure there was a policy on that
Anonymous
There's no implicit requirement to award the bounty to the first answer to meet the requirements, or even to award the bounty to an answer that meets the requirements at all.
Anonymous
Though you should award it to a qualifying answer, you don't have to.
18:57
so I could literally post a bounty for "best answer" then award to the 0-effort lenguage answer without consequences
Anonymous
@ConorO'Brien People will almost certainly get upset, but it's not against our rules
@Mego so what should I have done in this case? The bounty message was "going to the highest voted answer at the end of the week", and two were tied; one was posted after the other.
yeah it's your bounty
how strange
Anonymous
@MDXF You are free to award the bounty to whichever answer you want. They're completely subjective.
Anonymous
18:59
You said highest-voted answer, and you awarded the bounty to one of two answers whose vote totals were tied for highest. You did nothing wrong, and there doesn't need to be a fuss about this.
But, seriously, when it comes to Best of, please award the reward to the post that you committed to reward, if any.
a@b(c) == (a@b)(c) or a@b(c) == a@(b(c))?
I'd say the first
Anonymous
Trying to enforce additional rules on bounties is a waste of time and energy, because simply not being available to manually award the bounty can cause it to go to an unintended answer. We don't want to penalize users for not being at their computers when the bounty timer ends.
19:00
@HyperNeutrino I'd say a@b(c)=a@(b(c))
hm ok. I personally favor the second but my parser favors the first and I'd need to figure out how to make it do the second one, though that shouldn't be that hard
Anyways, how is the first one valid either way?
well a@b+c is (a@b)+c but a(b) and a+b aren't exactly the same structure
Because, according to my understanding, b is a function, right?
Anonymous
@Mr.Xcoder As long as the winning posts get their bounties, it's all good. If people don't award the bounties to the posts they were supposed to, that would be "not awarding the bounty to an answer that meets the requirements", which isn't against the rules but would upset people.
19:02
That's not necessarily true. For the second one, yes, but for the first one, that wouldn't be necessary
Example?
a = b => (c => c + b), then (a@4)(5) would be 9
@ConorO'Brien no hard feelings?
@HyperNeutrino And how would your initial configuration, a@4(5) work?
Oh nevermind.
It would only work if it were parsed the first way. If it were parsed the second way it would be a(4(5)) which isn't valid unless I decide to override (int).__call__ to be multiplication.
19:04
On fergusq's uncracked post, maybe the doubling of characters has something to do with the language?
Oh hey, he's back to Wheat Wizard again!
I've found an esolang that uses ä, but I am pretty sure it's not what we're looking for
Which one?
you should be completely sure to ditch it
"Chance"
yeah I'm completely sure
19:05
@EriktheOutgolfer I am (kinda) completely sure
Yeah, chance is NOT it.
ಠ_ಠ On a local Homework forum, I literally saw a question Why is my Minecraft XP bar missing? and the first answer was 'coz you have a virus
\o/ And a mod just deleted it
codegolf.stackexchange.com/a/155087/55550 is the second oldest uncracked one. 31 bytes this time.
@MDXF of course not lol, not sure why you had that idea
@ConorO'Brien ¯\_(ツ)_/¯
19:15
is that a monospaced shrug
ok I decided to go with a@b(c) == a@(b(c))
@HyperNeutrino what lang is this?
wait is this a syntax question I have opinions
Proton 2.0
is @ function composition
19:18
no a@b is identical to a(b)
Proton 2.abandoned_in_a_few_weeks_again? Nice
:P
hey Proton 1 was developed over the course of three weeks
@HyperNeutrino that makes sense, operators shouldn't have higher precedence than function calling
yeah that's what I was thinking as well
also it just makes more sense this way
IMO
so far @ looks like a reverse pipeline operator in behaviour
19:20
pretty much
from what has been said in chat
yay that's my opinion too... seems to make more sense
speaking of which I should add that as well (should take me like 2 minutes)
CMP: In Physica, should I change the string delimiter to " instead of '?
@Mr.Xcoder I like and have used both for many of my languages. I tend to prefer ' for brevity and " for conformity.
19:22
What's Physica?
it's mathematica's and python's alleged lovechild
Not yet :P
and done
took me a whole 3 minutes D: i underestimated
@ConorO'Brien I cannot use both, unfortunately. (Technically I can, but I don't want to, because that would require significant changes to the transpiler)
Any other thoughts on that CMP?
19:26
@Mr.Xcoder how so? can you link me to where the problem might be in your code? usually it's not a hard fix
What non-Tampio languages does fergusq answer in?
@ConorO'Brien My current code which prevents transpiling string literals is very primitive, so be prepared to laugh about it's naïvity: Here.
hm trying to make a@a(1) == a(a(1)) is causing infinite recursion
@Zacharý I tried all (or most, idk) that he had answers in with no success :/
19:28
Because Physica is transpiled, it's much harder to fix.
you could use a hack to normalize "s and treat them as 's :P
Wait I think I have a bug
oh yeah I should make proton support negative numbers
And floats :P
that's already supported :P
19:31
And don't forget to add something similar to Mathematica's N@ for getting the exact value of a symbolic number.
that doesn't work with mpmath
eval should do it :P
@HyperNeutrino reasociate operators after parsing?
BMO
BMO
When I noticed the bounty and that another answer and mine tied, I thought that might have caused some discussions which I see was the case..
19:32
Anyone know a language where doubled characters are used?
@Potato44 hm?
BMO
BMO
@MDXF: In any case, thanks a lot for the bounty!!!
@Zacharý trigger, but not a thing
@Zacharý I think there's a language called Space by Conor that removes every other character or something like that or does something weird with spaces and Javascript? I can't remember details
BMO
BMO
Maybe you could accept the other answer which would kind of square it..
19:33
@BMO and nice language btw, really interesting
BMO
BMO
Thanks :)
Sorry about stealing the bounty :P
no not a problem
also you didn't steal it :P
BMO
BMO
It's rather useless though and reeeeally slow ^^
Spaced isn't it
BMO
BMO
But it's fun, I agree
19:35
@HyperNeutrino spaced, and it inserts a space in between every character
.o(this plq is good for increasing language visibility...)
And for boosting the poster's rep :P
I have a feeling my PLQ answer might be too evil.
@Potato44 ... is it in evil
19:38
Does anyone here have a non-iOS phone with chrome/any other major browser on it? I wanna know whether the menu of this page is misaligned (but I don't have a mobile version of Chrome/anything else around).
@Zacharý no, but I used enough e that it might do something in evil.
@Mr.Xcoder looks fine on chrome & firefox & built-in
:D thanks
The thing is that it looks nicer on Safari mobile compared to Safari Desktop
@Potato44 #, so many #s
yaaay negative numbers are now a thing
19:50
#Todo for Physica: Add more functions. Many, many more functions. Add "Physica modules" (expected syntax: Requires("ModuleName")) :D
@Mr.Xcoder how about Needs("module")
That's golfier :D I like it
thanks to mathematica!
how about $module, even golfier /s :P
I'm going to be using the same syntax for Attache once I get comfortable with its function wealth
19:53
I currently am lacking some important built-ins...
@HyperNeutrino I am planning to make $ do something else.
oh ok
anyway brb o/
Printing all even numbers between two integers given as input: a = Input(), b = Input(), Print[…[a;b]{a%2~2}] :D. Commas work, but \n should be used instead
does your lang have functions yet?
As in, user-defined functions?
Or built-ins?
aaaah I should really just go through a tutorial on how to parse a language
every attempt of mine has been big poop
20:08
I went the easy way with Physica: Transpilation. With Triangualrity, another easy way: stack-based.
@totallyhuman What are you trying to do the parsing with?
@ConorO'Brien If you're talking about built-ins, yes, it does have a couple (but some are extremely useless for now). If you're talking about user-defined functions, I those on my todo list.
@Potato44 right now, parsimonious on python
Hm, a PEG parser. Never used one of those myself.
by the way, a quick poll
what does emoji even look like: ;#.#;
I kinda made this so that it would look like a crying face, but I needed the # for sh
the ;# connection was a bonus I thought of afterwards
20:18
@Mr.Xcoder ah, ok
It reminds me of a robot
yeah, ok, I can see that
@Mr.Xcoder Argh, so many typos today! I have those on my todo list!
Robot with ear rings
@Dennis I don't know if you'll have seen it, but that reminds me of an episode of Black Mirror
I haven't. Looks interesting though.
CMC: how is/are your language(s) parsed?
@totallyhuman carefully
ಠ_ಠ
@totallyhuman Like this.
20:28
@totallyhuman in all seriousness I tend to create a tokenizer (either regex based or procedural), then do stuff to the tokenizer
@totallyhuman Basically not at all.
@totallyhuman either regex-based or modgrammar or the way Jelly does it or just tokenized by regex and not parsed
@Giuseppe @AdmBorkBork @totallyhuman @MagicOctopusUrn You added your name to the Bounty givers list, so please let us know here whether you want to reward any of the posts still available here or if you want to step back. Thank you!
@totallyhuman parser gen (nearley is a good one), streamed LL for esoteric langs, and LR for normal langs
20:45
lol wut
In computer science, an LL parser is a top-down parser for a subset of context-free languages. It parses the input from Left to right, performing Leftmost derivation of the sentence. An LL parser is called an LL(k) parser if it uses k tokens of lookahead when parsing a sentence. If such a parser exists for a certain grammar and it can parse sentences of this grammar without backtracking then it is called an LL(k) grammar. LL(k) grammars can generate more languages the higher the number k of lookahead tokens. A corollary of this is that not all context-free languages can be recognized by an LL(k...
In computer science, LR parsers are a type of bottom-up parser that efficiently handle deterministic context-free languages in guaranteed linear time. The LALR parsers and the SLR parsers are common variants of LR parsers. LR parsers are often mechanically generated from a formal grammar for the language by a parser generator tool. They are widely used for the processing of computer languages. The name LR is an initialism. The L means that the parser reads input text in one direction without backing up; that direction is typically Left to right within each line, and top to bottom across the lines...
for infix operations I use a modified shunting yard algorithm
@Mego Could you maybe add your name on the top of this post (like the other two guys), that would make it easier to identify the posts
@totallyhuman For Grime and Husk I used Parsec (a Haskell parser combinator library). For Jellyfish I have a weird 2D pointer process.
Anonymous
@flawr Done
18 mins ago, by Mr. Xcoder
@Giuseppe @AdmBorkBork @totallyhuman @MagicOctopusUrn You added your name to the Bounty givers list, so please let us know here whether you want to reward any of the posts still available here or if you want to step back. Thank you!
Also @MartinEnder, forgot to mention.

« first day (2570 days earlier)      last day (2570 days later) »