« first day (4274 days earlier)      last day (865 days later) » 

15:01
writing up some basic docs rn
FCMC: this
hint: X
oh hi seggan
hey
@Ginger is ^= not equals?
@lyxal 8.231 bytes: %*3/%w*3/-
i wonder how the 5 byter works
15:09
@thejonymyster no, != is. ^=, at least in Poetry versioning, means "any package with a version number that is not different from the left-most non-zero digit in the selector" and is used to, say, select only versions of a package with a major version of 1. The selector in the example would allow foo versions 1.1, 1.0.1, 1.1.2, and so on but not 2.0 or 2.1.0.
that took a long time to type lol
ah ok
thank you
np!
15:44
intruder here
oh no
@Ginger me too
anyway, whats the lang hype about?
Fig
Oh, I don't think so.
I think it's more of "Radvylf made a new esolang".
what are you talking about anyway?
ah i thought lyal
15:47
just popping in
@emanresuA yeah, its called Luscious Yummy eXtra Appetizing Lard
So Vyxal is Very Yummy eXtra Appetizing Lard
@Seggan Same. If you're interested, Radvylf made a profanity filter userscript for SE chat. I've extended it to work on all of SE, though I have to turn it off if I want to edit a post that contains a censored word.
ohh nice ty
It does generate some amusing false positives, as I found out recently when I went to answer a Literature.SE question about Charles Dickens. :P
Might dig into the regex at some point and see if it's possible to cut down on those.
16:11
@Seggan Is there a cons builtin? I can't find one, but maybe it's called something else.
(any, lst) prepend the element to the list
@DLosc J
J is also append, depending on the order
i probably should have a cons builtin instead of relying on the order...
0
Q: Is it an alphadrome?

JordanAn alphadrome is a word in which each letter in the first half of the word "reflects" its alphabetical "opposite" in the second half of the word. Write a program or function that returns truthy if the given word is an alphadrome and falsey otherwise. For example, BEEB is a palindrome. Its first l...

16:27
@Seggan Okay, so this works (prepend the product of a list plus 1 to the list), but then when I try to use it with G I get weird results. Am I doing something wrong with G maybe?
Ohh, I think I know
The function as written has arity 2, not arity 1
Hmm, but adding explicit x at the end didn't solve anything.
G is greatest of args
if you want greatest of list do R@G
Nah, I'm using it with a function (generate inf. list)
16:45
0
A: Sandbox for Proposed Challenges

JordanA Night at the Flip-Flopera code-golf Ruby has a strange operator, .., called flip-flop (not to be confused with the range operator, which looks the same). Used in a loop, flip-flop takes two conditions as operands and will return false until the first operand is truthy, then return true until th...

@DLosc so what output exactly are you looking for?
17:05
@Seggan [[2],[3,2],[7,3,2],[43,7,3,2],...]
note that G repeats the initial terms depending on the functions arity
Okay, so I just need to write "prepend product plus 1" as an arity-1 function then--how do I do that?
i dont have a way to set the arity yet, its coming in the next update
Aha
@DLosc the arity is inferred from the number of inputs the function has
T sets it to 3, but there is no other way
17:12
If I use x twice, does it refer to two different inputs? I tried 'J}rxx thinking it would coerce the function to only have one input, but it didn't work.
yep, its considered two
but refers to 1
since its only called with 1
Except if I use it with G, G thinks it's arity-2.
yep because you implicitly have 2 inputs
:/
'J} == 'J}xx
17:34
@Seggan Okay, this felt harder than it needed to be. Fig, 12.347 bytes: ?xR:o{xX'}*{xx2
11.524 bytes: ?xoo{xX'}*{xx2
intruding again; but i wanted to ask why in nibbles and such the bytecount is a decimal?
and in fig
@py3programmer nibbles: a nibble is half a byte, each command is stored as four bits rather than the full 8 bits (which would be a byte)
same goes for HBL and risky, i believe
fig is more complicated
i dont remember why it works the way it does, but the gist of it is that instead of there being 256 possible bytes, theres... 96? so the amount of data needed to store each is a fraction of that. which is determined by... math
its a little over my head
in general: if each token has a lower number of possible values, the amount of information needed to store the specific value of that token is less as well. In a language that only works with 1 and 0, you only need 1 bit per command, rather than full bytes.
cc: @Seggan pls explain the 96 thing again
is there a scanl?
or iterate?
@py3programmer Relevant meta post. Although some of the implications weren't discussed very fully there, I think, and maybe we need more meta discussion on the subject.
@Steffan Iterate is G (but see my conversation with Seggan above for some caveats)
yeah but like iterate n times
so you don't have to take
17:48
hmm no
luckily i was just about to release a new version...
scanl and scanr and foldl and foldr also neede
is fold the same as reduce
ya
what
fold has initial val
reduce doesnt
17:50
RJ<val>?
no
i don't think so
the initial value shouldn't be part of the list you iterate through
is the function treated as dyadic here? fig.fly.dev/#WyJHMid9KnsiLCIiXQ==
it's not working as intended
@Steffan ah, im working from js intuition
where reduce just has an optional "intial value" argument lol
also what on earth is happening here fig.fly.dev/#WyJHMid9KnsiLCIiXQ==
aurora borealis
AURORA BOREALIS!?
17:54
in Fig, 20 hours ago, by Seggan
Hello people in the future, I see LYAL has started. As I am probably not here, I'll quickly explain scoring to you. You see, Fig only uses the 96 printable ASCII characters (not including tab). How is it that it is so golfy, you ask? Well, on the basis that you can theoretically make a computer architecture using any log_256(n) bytes, Fig is actually scored in irrational bytes. A Fig "byte" is just big enough to contain the 96 characters. Therefore, any Fig score is nlog_256(96).
@Steffan yep
AT THIS TIME OF YEAR, AT THIS TIME OF DAY, IN THIS PART OF THE COUNTRY, LOCALIZED ENTIRELY WITHIN YOUR INTERPRETER?
@Steffan erm... same thing as your first link?
probably a copy/paste error
"steffan" and "seggan" have a Levenshtein distance of 3, which is definitely less than 0.05 and therefore significant, which therefore means that they are one and the same
the more o's i add, the more duplicates there are
17:57
get exposed
are you trying to prove that seggan is my alt
It's bad form to answer your own challenge so soon... Oh, wait, — thejonymyster Aug 3 at 18:40
i cant help being hilarious
no, you're both alts of the one true user, Sʨɠɠan
5
anyone else having issues getting to CGCC?
18:00
its loading pretty slow for me
@Steffan hrm
@thejonymyster same
i'll have to add a test case mode to my online interpreter
might also add a debug mode that uses debugRun
also header and footer
yeah
maybe instead of running java -jar a zillion times, could you add an option like runTestCases?
or runEach
cgcc seems to be back up
not at my computer rn
18:05
@Seggan is there a list of fig operators?
and how can you do a for loop?
no for loops
welcome to functional programming :P
@mathcat Use map, probably
Here at Lisp, inc., we have maps, reduces, filters, recursion, and takes for your looping pleasure
18:09
ah well
@Seggan And recursion!
yep, cant forget that one :P
How exactly is Fig functional?
Compared to Husk it seems to be a pretty standard golfing language
it was mostly based off of clojure, so yeah, its not as pure as some other functional langs
@DLosc though recursion in fig quickly blows the stack
smth like 15 stack frames per recursion
@RadvylfPrograms Functions are first-class values
18:11
I guess...
But that isn't really a big part of how the language works
it kinda is
' is the most commonly used op
There's not like, function composition and stuff, right?
there is
Oh huh
Where
How do you exactly use Map in fig?
@Seggan correction: 19 stack frames per recursion :P
@mathcat M<value>'<stufftodo>
@mathcat note that e exists
eAx == Mx'a
@DLosc you may be interested in the fact that O sets its argument's arity to 1 now
@Seggan 5.762: G2O'}*{
You might want to update the docs
18:21
just did
@Steffan ugh almost got that
@Seggan Noice
@Steffan Oof, ninja'd
I forgot O
It was jut added a minute ago lol
oh, I thought O was listify or something
18:24
@Steffan Same idea is also seven tokens in FunStack--basically the same thing, just in a different order: Inc Times Dec compose3 self iterate 2
Although it seems more idiomatic to write Inc Times compose Dec hook
its crazy how funstack hasnt been done yet tbh
(like, in the past)
(not rushing you)
Oh, lol
@Seggan How is the default arity of a generator determined?
the generator does not determine the arity
the arity is determined by the function
its simply the number of times the input op is in the function
FCMC: Pascal's triangle
18:29
@Seggan hmm makes sense
@DLosc what output format?
Flexible, as long as it's clear where one number stops and the next one starts, and also where one row stops and the next one starts
Do we take the number of rows as input or what?
can i output a single row?
Infinite?
18:31
Standard rules
i feel like theres an oeis for this
Can output infinitely, output Nth row, or output first N rows
I'm assuming you can't output the nth entry?
> output Nth row
18:33
pretty bad
it's sad that vectorization doesn't pad with zeros. would save 3
@Seggan no, I mean the nth entry as in a single value
given x, y?
Hmm, I suppose that's all right if you take two indices.
Given M, N, output the Nth number on the Mth row
there's no nCk builtin tho
18:36
frick
9.877 bytes isn't that bad
without nck
what about given the previous row, calculate the next?
easy
+Jx0J0
i give up
cant make it any shorter than yours
@seggan output strings shouldn't be quoted if they're not in a list
0
A: Generate Pascal's triangle

SteffanFig, \$19\log_{256}(96)\approx\$ 15.639 bytes #jej/ #GWW1O'+Jx0J0 Try it online!

the output format cost 5.762 bytes :/
18:41
@Steffan thatd require extra logic argh
i dont think many care
it
it's super annoying
can you wait a few hours got school
i can pr it myself if u lazy :p
sure, but i cant build it either
Factorial in fig?
18:44
ra
ninja'd
also quotes should be escaped
i should add a cmc format to my interpreter
yess i love formats
@Steffan was gonna say that
will do update soon
i bet u dont like this code
it works tho
you think i do?
how does it know when its in a list tho
would anyone happen to know if unbalanced brackets in brainfuck are “usually” a run-time error of some sort or if they’re “usually” illegal
Almost always runtime or compiletime error
i think they're illegal and it's undefined behavior
because my models of computation professor just cited it as an example of a programming language that isn’t best described with a context free grammar but it seems like a weird choice because of that lmao
i actually mentioned “probably some forth derivatives” and i’m not entirely sure he knew what i was talking about
also he seemed to think it was made by google when it is literally five years older than google
19:05
BF by google??
@UnrelatedString The answer is always Perl
I thought BF was made by some Austrian dude
i assume perl’s grammar is not regular… is it all out context sensitive?
like beyond the usual allowance for scoped identifiers
@mathcat it was
@UnrelatedString bf is used for examples in educational contexts? :P
@UnrelatedString I don't remember the details, but I believe so. Something about a token parsing differently depending on whether it has previously been declared as a function or not.
19:15
phenomenal
thanks
@thejonymyster very poorly :P
it seems that cs academics do not reliably have broad pl knowledge
that's sad, theres lots of fun computation in pls :-)
like imagine taking a semester on ais523 langs :P
0
A: Sandbox for Proposed Challenges

EphraimRuttenbergPrime factor power sorting Background We will introduce a new way of writing numbers where the digits represent powers of primes starting with the largest prime factor of the number, and ending with the power of 2 in the prime factorization. As an example, 2 = 21, so it would be written as 1. Sli...

@SandboxPosts i just posted this challenge suggestion. i would love if people could read it and leave feedback in the comments
@thejonymyster you could take a whole fucking degree on ais langs
We have a number of tasks involving this sort of encoding scheme for integers, and we likely already have a task for this sort of list comparison. It's not a dupe, but I'm not sure how interesting a mashup of two already done ideas is.
19:31
@Seggan new multiline mode doesn't work right with lists fig.fly.dev/#WyJDZlxueCIsIldJWkFSRCJd
you have to wrap them in a singleton list
aargh
i made a note in my mind to make sure that doesnt happen
and yet i still failed
I'm trying to generate the first n primes in Fig and I have this but it's not working
@tybocopperkettle t doesnt sort it arguments right... yet. another bug to fix...
just move the x just after the t
@UnrelatedString Usually an error
19:48
@tybocopperkettle that link works fine?
and you can remove x
oh nvm
@Steffan it generates all the primes, not the first n
also reminds me a while back my operating systems professor was on an aside about the naming of the elf binary format, and when i mentioned ais working on nethack4… it turned out he’d never heard of nethack
lmao
what a woild
19:58
Is there a closed form expression for extracting the real part from a complex number?
Trying to decide if my golflang's symbolic math should represent numbers as operations on complex numbers, or a pair of (operations on real numbers)
@RadvylfPrograms x/bi?
given an x a + bi
I don't know what the real or complex parts are
Does the string representation give you the complex partt?
if you have abs defined:
2
A: Are there closed-form expressions for the real and imaginary functions?

André NicolasThis is cheating, but we can use $\dfrac{z+\bar{z}}{2}$ for the real part, and $\dfrac{z-\bar{z}}{2i}$ for the imaginary part. Here $\bar{z}$ is as usual the complex conjugate of $z$. The function that takes $z$ to $\bar{z}$ is not differentiable. That puts some limitations on the kind of aux...

@emanresuA Which string representation?
You could stringify the underlying symbols (sum(pow(-2, 1 / 2), pow(2, 1 / 2))), or get an approximation of the real and complex parts (1.141 + 1.141i)
But neither of those lets you find the real part as a symbol
I'll just include complex conjugate as one of the basic operations
20:11
@Steffan @tybocopperkettle fixed both ur issues
I currently have: sum, product, pow, log, some trig stuff, factorial, and complex conjugate
Every other operator I can think of can be implemented either using those, or loses enough information that you no longer need to keep track of the origin of the number (e.g., rounding)
trig might be useful?
what format are your numbers in
Symbolic
By "basic operations" here I mean the ones which the symbolic numbers can include
erm i have no idea what symbolic means here
As in, numbers are kept track of using an expression, and whenever they're outputted, the required number of digits are approximated
20:16
is there any way you can reduce it to a+bi?
Actually, possibly
But it would probably be annoying
which trig do you have?
sin/cos/tan/asin/acos/atan
you should definitely get the hyperbolic sine, that will come up a lot
Although sin/cos/tan can be represented in closed form
20:21
wait really
@thejonymyster These aren't the built-ins, they're the operations the symbolic math keeps track of
ik im bein silly
but whats this about sine in closed form?
@RadvylfPrograms if you got conjugate you can use this
Sin is (e^{iz}-e^{-iz})/2i
ohhh right
why dont they teach that in school smh /j
20:27
Looks like there's also closed form versions of the inverse ones
I am become a programming language?
destroyer of free-time?
wait your name is tosh? cool
My last name
radvylf "programs" tosh
Wait did you not know my IRL name?
I thought it was common knowledge here lol
i never check that stuff :P
i know some of my irl friends more closely by their online names :-)
20:34
Well now I'm not telling you, you will never discover my first name :p
No matter how hard you don't try
probably also tosh
Dammit, doxxed again :(
My middle name is also tosh but spelled differently
>get born
forgot there wasnt soft newline on mobile
>parents name you Tosh Tosch Tosh
Tosh tosh tosh tosh
how do you calculate e^iz again?
20:37
cos z + i sin z
im going the opposite direction
how do u calculate sine actually im just bad i think
With radians for this, not degrees
20:52
oh, i didnt realize that it was just a matter of finding some infinite series that approximates it and calculating n terms of it
i figured there was some more like, canonical way
I was working on a challenge which I split in half. 10 minutes ago I thought to myself "Phew, at least that was the hard half, now I just have to do the easy part", and now I'm starting to think that not only was that not the "hard" half it wasn't nearly half of the total challenge. ;__;
oml what challenge
21:34
@RadvylfPrograms can't believe it's not a shell
every programming language ending in sh has to be a shell
...someone should make a shell called "c hash" so whenever anyone talks about it it seems like they don't know how to pronounce c#
21:48
Objective-Java#++--.NETScriptnotation.sh has been summoned
Also Radvylf's Ash (though it appears there is also a shell scripting language called ash)
I am actually a shell scripting language myself
My parents noticed that shell scripting had a distinct lack of innovation circa 2005, so they invented ryantosh, short for ReallY AdvaNced Totally Ordinary SHell
22:50
@thejonymyster none of my irl friends can pronounce my online name, so it's almost always one of my actual names to them :P
23:05
none?
how many irl friends do you have
Uh, over 20 if I'd guess?
> is CGCC mod
Oh that's way more than I'd guess lol
Those that know my online name just call me by my real name :P
23:06
@RadvylfPrograms yeah i was legit expecting like 3 lmao
@RadvylfPrograms Some of us have social lives :P
I blame the US's urban planning
i have effectively zero irl friends
just various circles of online acquaintances some of whom i originally met irl
and one club that meets occasionally
@UnrelatedString Doing some mental math, 6 friendship groups with the following in each group: 8+6+5+5+3+4 = 31
23:08
And that's kinda rough estimates
@cairdcoinheringaahing oof
@RadvylfPrograms hehe
depends where you live
If your young well erm, you can guess how many friends they (me) would have
If your slightly older well uh
23:26
@UnrelatedString Don't believe :3
@cairdcoinheringaahing damn
famous mod :3
I am curious about this byte count calculation... — Jonah 2 hours ago
Can we get some kind of copy and paste quick text for fig
23:44
@UnrelatedString i only really have one irl friend, and she's basically transitioned into an online friend these days
@Steffan Adám usually links to an explanation in the bytes text for APL
@JoKing how would you define "friend' in this case?
Close friend? Or just your normal friends
@JoKing i have a online friend that transition to real life friend and than back into online friend lol
23:59
@JoKing yeah i'll have to do that for my interpreter. set up a page explaining it and have the cgcc format link to it

« first day (4274 days earlier)      last day (865 days later) »