« first day (9 days earlier)      last day (103 days later) » 

12:50 AM
Considering going with instead of
 
 
2 hours later…
3:10 AM
I like arrow better
which displays better in monospace tho
 
I think does, at least for the fonts I'm using
 
3:27 AM
oh alright then
 
I prefer ¶
 
 
2 hours later…
5:13 AM
@Lyxal Why?
Also TIL paragraph indentation evolved from pilcrows, the Wikipedia article on the pilcrow is pretty fascinating
 
@RedwolfPrograms because a) it's more visible, b) it allows for more polyglots and c) it's more easily typeable (it's built into the Mac keyboard and keyboards such as SwiftKey for mobile have it)
 
I like it because it's less visible, actually. It seems more "white-space-y" than a pilcrow to me
I've already prioritized code page aesthetic more than ease of typing, no need to start now :p
 
You've created a codepage that has strength in its readability. Don't screw it up with a character that'll weaken the pack
 
I like for newline; it's specifically intended to represent a line feed, whereas pilcrows aren't really used much anymore and I'm sure a fair percentage of people wouldn't intuitively know what it is
 
I think it's the other way around
If you go to Ms word and select whitespace highlight, pilcrows are newlines
The left pointing arrow is a tab
 
5:30 AM
I also think using a pilcrow would be less useful for polyglots, as I'm just using / as a constant for a newline, but Jelly (and probably others) use it as an actual newline
 
@RedwolfPrograms you could always polyglot with vyxal
It uses ¶ for newline
 
I doubt very many people are insane enough to try polyglotting with golfing languages :p
Actually never mind this community's collective sanity is lower than my expectations
 
@RedwolfPrograms anything that helps you win
@RedwolfPrograms I'm not going to bully you into sleeping, but isn't it late where you are?
If you're too tired for conversation, don't feel you have to stay
 
Only 23:40, usu. I'd go to sleep in twenty minutes or so
 
Oh okay
Coolio
Got any ash examples/snippets showcasing language design?
 
5:39 AM
+_2uṂ∵4×2
 
Erm, what's it do?
 
That adds _2 (negative two), and the sum of numbers ranging from 1 to 4, each multiplied by two
Took me a minute to type that :p
 
You need 3 bytes for range [1, 4]?
 
No, ∵4
 
Two bytes for the sum?
 
5:41 AM
The is map
Actually you could shorten the last two bytes to the double operator
But it doesn't show off the implicit arguments as well
 
And here I was thinking that you'd decided to use vectorisation
 
In real life you'd probably use a range with step, but I needed a simple example for map
 
Same thing but one byte shorter
 
I'm not entirely set on and for ranges
 
Actually, 2 bytes shorter
 
5:46 AM
JS, 2 bytes: 18 :p
 
Wow original
Polyglot with vyxal, 05ab1e, jelly, keg, ohm and a lot of golfing languages
 
Also looks like the double operator is t, which also repeats an array twice, so actually I think +_2ut∵4 would work (instead of mapping and doubling, just duplicate every array item before summing)
Or if that's cheating +_2uṂ∵4t does the same thing as the original but with double instead of ×2
 
@RedwolfPrograms using built-ins the way there were designed isn't cheating
 
Yeah, but the goal of that bit of code was to show off mapping, so doing it the clever way ruins that :p
 
Why not just subtract 2 instead of adding negative 2
 
5:53 AM
I'd been using that program to test my parser
 
Ah
 
I guess -t∵42 is the shortest you could get it without cheating and using constants. I got rid of the sum (u) since that's done by the cast from array to number.
 
You mean casting an array to number sums it?
 
If so, that's kinda unintuitive
 
5:57 AM
What would you recommend?
Also I did add a stack, but it's going to be more like a register for storing temporary values than a major feature of the language.
 
@RedwolfPrograms Try it Online!
@RedwolfPrograms like 05ab1es global array?
 
I think summing an array is more common and useful than concatting the digits, though
 
It interprets the list as base 10
 
Oh neat, that's a way more elegant way of implementing my current "integer from array of significant figures" operator
(Also I've got separate integer and float types now, but they're pretty much identical for most things)
 
6:02 AM
Three bytes?
 
Vectorise cast to string and sum
I don't remember which built in I made do straight up concat
Okay nvm I found it
Ĵ
 
For Ash you'd probably do cast to string, which concats. If you were using it for an arithmetic operator you could stop there since it automatically casts to number, for anything else you could just cast to number
 
++69*69
Haha funny number program
 
I'm planning on having ten code points dedicated to multi-byte constants (ɓ to ȥ).
Also I just noticed an extremely emabrassing mistake on my code page
 
Lol
Here's me thinking it was something worse
Like having too many characters
Or not actually using the characters present
 
6:09 AM
I've actually still got quite a few unused code points
Like @...what the heck am I supposed to do with @
 
Swap order of arguments of a built-in?
Index?
Comment?
Quotify a string?
 
Actually the first one is a good idea, I'd been meaning to add an operator like that but forgot
 
The first one I stolen from dennis
That's what @ does in jellt
*jelly
 
I'll probably use or ¡ instead of @, though
 
But then you still don't have anything for @
 
6:13 AM
I'll make it print 1
 
that's extremely useful
 
Useful for challenges that just require output of some length (or infinitely) and don't care what it is
 
like, it can be used to solve every single challenge
not
 
Also potentially good for debugging
 
how is printing one good for debugging?
wait is that how you debug things? by printing 1?
that's really primitive if you do
 
6:15 AM
Usually it's something more informative than 1 :p
Actually with implicit arguments there's no need for it since the normal print would work :(
 
see
i told you
useless
Also, Nth digit of pi should probably be a two-byte command
 
okay tell me how often you need to index pi?
and tell me, how many of the top 5 languages on the elo list have index pi functions?
 
I don't have any other two byte operators, and I can overload it to do other actually useful things.
 
in fact, the top languages don't even have built-ins for indexing pi
 
6:20 AM
Oh here's the latest-sort-of version of my operators
Yeah but most of the top languages have infinite lists/generators
 
Jelly doesn't have pi to infinite decimal places
admittedly osabie (and by extension, ohm) do
 
Any ideas for useful things to replace it with?
 
well what character is it?
 
Err...π
I had wanted to replace it anyway
 
In mathematics, three different functions are known as the pi or Pi function: π ( x ) {\displaystyle \pi (x)\,\!} (pi function) – the prime-counting function Π ( x ) {\displaystyle \Pi (x)\,\!} (Pi function) – the gamma function when offset to coincide with the factorial Rectangular functionYou might also be looking for: ∏ n = 1...
Another pro-tip: the top 4 glangs have trig functions as two byte stuff
 
6:26 AM
I'll probably pick a new character to put there on the code page. No need for a prime counting function.
 
APL has trig stashed away as a dyad
"dyad" in that you pass a number to choose the function
I don't recall what number does what off the top of my head, but I do know it's called something like the circle operator
 
Maybe calling those functions "combinations", "permutations", etc. would make more sense as that's their main use. The trig functions are just overloaded on because why not.
 
z needs a better overload for strings
because a already does the job
 
Actually it's completely useless. s already joins with the empty string.
 
so why do we still have z?
you know what it could be?
 
6:31 AM
No idea, I'll replace it.
 
zip
 
zip two lists together
wait you don't know what zipping is?
 
I swear I had an operator for that
 
hmmm
interleaving is the same
W
Okay here's a unique suggestion for z
only one other esolang has this function
z: Zipmap
you won't find that in any of the top 5 langs
only Vyxal
 
6:33 AM
Does that take two arrays and map with both of them as input and a single array as output?
 
to zipmap something is to zip a list with a function applied to it
zipmap([1, 2, 3], double) = [[1, 2], [2, 4], [3, 6]]
 
Oh, that's cool
I'll add that as though
 
zipmap("abcd", ordinal value) = [["a", 97], ["b", 98], ["c", 99], ["d", 100]]
@RedwolfPrograms but then what will you make z?
The whole point is that you have something useful for z
 
I need to make room for another operator, so I'll move an existing one to z
 
oh okay
cool
 
6:37 AM
new_operator([1, 2, 3], [2, 4, 8], +) = [3, 6, 11]
 
Why does ¬ not do 1/x for both ints and floats?
How do I get 1/x of integer?
@RedwolfPrograms that's called vectorisation
you're finally listening to me!
More specifically, element-wise vectorisation
 
For 1/x of an integer, one of two 2-byte methods
Actually just ¬fx
 
@RedwolfPrograms so why 1 byte float 1/x?
I have to convert my integer to a float to get 1/x?!?
I might as well just write /1x
 
I can't think of many times you'd need reciprocal, esp. for an integer
 
don't mind the fact that almost every golfing language in the top 20 languages has a built-in 1/x for integers
 
6:40 AM
The thing is, I don't really expect the integer type to be used for very much math
It's mostly going to be for booleans and bitwise operations
 
what, so 1 actually evaluates as 1.0?
 
Actually I'm not sure
Maybe I should just have a dedicated 1/x operator
 
because if 0-9 evaluates as integers, you can bet your bottom dollar that they're gonna be used for very much math
@RedwolfPrograms see, now you're getting somewhere
 
Overloaded it to
(I'm running low on unary number operators :p)
 
monads?
 
6:45 AM
Yeah. I'm using arity rather than adicity since despite being sort of tacit, I don't really think of it that way
 
erm, monad doesn't have to mean tacit
def function(x):
    return x
That's a monad in python
a single argument function
Vyxal has 68 monads
I clearly need to add 1 more
actually i cant count
 
Yeah, but you usually see adicity being used for tacit stuff, and arity for functions.
 
i have exactly 69 monads
@RedwolfPrograms monad is a measure of arity
 
So is unary
Arity ~ Adicity, but one's greek and the other's latin
 
reject latin return to greek
also, happy saturday!
 
6:51 AM
Nooooo
 
what?
 
I strongly dislike weekends
 
you don't like weekends?
well you're 52 minutes into the weekend
caird is 7 hours and 52 minutes into the weekend
 
Saturdays are okay because other people are happy, but sundays are nothing but chores put off all week and waiting to go back to school
 
raze is 12 hours and 22 minutes into the weekend
and I'm 17 hours and 53 minutes into the weekend
so says my list of world clocks
idea: have a built-in to apply two functions "parallel"
that is, @+-34 -> [7, _1]
 
7:02 AM
Oh, that's cool. I'll do that.
 
@*++69*69 -> [15 + 54, 15 * 64]
@ABxy -> [x A y, x B y]
stolen straight from mathgolf and vyxal
 
 
4 hours later…
11:06 AM
Ṇạ{ṗN}
Should theoretically print numbers 0 to 10 maybe
Hey I've an idea...
A context variable
And it stores the last value within the current scope
So like, if program execution branches into a function, the context variable is the value(s) passed
It'd be an explicit nilad ofc
{+NN}4
That could be a sort of double function
If that's how functions work
N is replaced with the value passed to the context of the function
Hmm what else can I practise solving?
(note that the context variable suggestion is just a suggestion. Feel free to incorporate or not incorporate it as you please)
Next matter of business: how to quine
I know there's two parts: data and the printing part
ṗ"ṗ" is my initial route of inquiry
Although it isn't the quines, it's a start
ṗ%»"ṗ%»" could work if a) there was string formatting and b) » or some other symbol (I'm just using what's available on my phone) told a command to reuse its single argument
Like +»4 would be 8
But obv that requires language changes
So let's keep experimenting
Also interesting is the pretty print
But idk how id feed the string into both ṗ and ė
Hmm
P+U84*2+"P+U84*2+"
That kind of gets us closer
I think it prints "P+U84*2+
Which is one part of the quine
Almost
PČPd"PČPd"PČ
Assume Č is U+*842
That outputs "PČPdPČPd"
So that's a no
Hmm
I'll try again tomorrow
10.41pm is an unreasonable time to be quining in a not yet implemented language
And I should probably look deeper into quine theory
Because as I've said elsewhere: quines ain't really my thing... Fizzbuzz is.
Problem is that the frickbrick already exists
(i sometimes call fizzbuzz frickbrick because I've done it 11 different times on cg)
(and fizzbuzz gets old kinda quickly)
(frickbrick is much funnier)
 
 
5 hours later…
4:52 PM
@Lyxal I burst out laughing when I read frickbrick. I was drinking water. You almost killed me.
Haven't read all of that yet but N doesn't do what you think it does. Also your print 1 to 10 program should be Ṇ⁺ṗ, or Ṇ⁺ṗ}, or Ṇ⁺{ṗ}, or Ṇ⁺{ṗ₀}
I'm using the subscript numbers as function arguments, some arguments to the previous function, and some arguments to the program itself.
 
I'm waiting for the tutorial
hopefully it makes sense
 
It should be pretty easy to learn, although it's still too early to start on a tutorial
I'm changing my mind too often :p
 

« first day (9 days earlier)      last day (103 days later) »