last day (137 days later) » 

3:58 PM
Hello, World!
 
Hello, Enlist!
 
room topic changed to Enlist: General discussion, feature requests, bug reports, golfing tips, and help for the Enlist Programming Language: github.com/alexander-liao/enlist [code-golf] [golfing-language,]
room topic changed to Enlist: General discussion, feature requests, bug reports, golfing tips, and help for the Enlist Programming Language: github.com/alexander-liao/enlist [code-golf] [golfing-language]
 
Also consider
 
sure, any other tag suggestions?
 
I had one in mind, let me remember...
Although I want to suggest built-ins, the actorial in the GH repo is constantly distracting me
:P
 
4:01 PM
lol
so no more tags?
 
sure :P
room topic changed to Enlist: General discussion, feature requests, bug reports, golfing tips, and help for the Enlist Programming Language: github.com/alexander-liao/enlist [code-golf] [enlist] [golfing-language,] [practice,]
 
Really those , :P
 
grr
room topic changed to Enlist: General discussion, feature requests, bug reports, golfing tips, and help for the Enlist Programming Language: github.com/alexander-liao/enlist [code-golf] [enlist] [golfing-language] [practice]
oh apparently it's space for separation facedesk
 
Also how could we forget
 
4:05 PM
oh right whoops lol
room topic changed to Enlist: General discussion, feature requests, bug reports, golfing tips, and help for the Enlist Programming Language: github.com/alexander-liao/enlist [code-golf] [enlist] [golfing-language] [language-development] [practice]
 
Conventions: #OS means Operator Suggestion, #BS means Built-in Suggestion, #I means Idea.
 
that's bs
/s :P
how about #OS and #FS for Operator and Function?
 
Ok
Maybe #O and #F though...
 
yeah good idea
 
@HyperNeutrino #O1: Take a function and map over pairs of 2 adjacent values of a list. Example: <list><subtraction><operator> takes the deltas.
 
4:09 PM
So essentially an alias for 2\?
 
No, pairs of 2 adjacent values.
 
yeah, that's what 2\ does
 
Oh really? Then great!
 
_@2\ takes the deltas
though it may be helpful to have a one-byte alias for it
 
@HyperNeutrino Yes, of course you need a "deltas" built-in.
 
4:11 PM
yup it's called the delta symbol (triangle) :P
 
Thought so.
#F1, #F2: Palindromize and check if palindrome
 
not yet
 
Ok then...
It's just nice to have a reference here to not forget to add stuff.
 
should palindromize reflect, reflect overlapping one, or overlap as much as possible?
I'm probably going to have m0 be reflect like in Jelly
 
@HyperNeutrino like bounce in jelly. A + A[:-1][::-1].
 
4:14 PM
ok
(except it's A[:-1]+A[::-1])
 
The same...
 
meh true I read the one- and two-colons backwards lol
 
Also don't forget some important functions such as (if you haven't implemented those already): zip, interleave, transpose, justify (rjust and/or ljust), strip and group equal adjacent values.
 
I'll add those to my TODO list
what's the difference between zip and transpose?
 
zip(a, b) and zip(*a)
 
4:18 PM
but isn't the first one interleave?
 
oh whoops I mentioned interleave twice >.<
 
lol
oh yeah I guess there's transpose, zipfill, and interleave
should [1, 2]interleave[3, 4] give [1, 3, 2, 4] or [[1, 3], [2, 4]]?
 
oh I guess that's what I thought of when I mentioned both zip and interleave.
 
yeah maybe
I guess I do need to implement both because one of them removes trailing things but the other doesn't
 
true.
@HyperNeutrino #F3, 4, ... 7: Modular (I think you have that already though), Chop into N pieces of similar length, Chop into pieces of length similar to N, Permutations, Combinations
@HyperNeutrino #F8, 9: Partitions, Integer Partitions
Also, if you really want golfy nested list manipulation, #F10: Flatten by N levels (aside from Flatten completely and Tighten)
#F11, 12, 13: Median, Average, Mode (maybe Standard Deviation too?)
 
4:29 PM
ok I'll try to implement all those by tonight :P
 
@HyperNeutrino #O2: Invariant. Take a function A and a variable B and check whether A(B) == B. This has been extremely helpful in Pyth. Also this allows you to remove a potential 2-byter "Is Palindrome?" since that would be <reverse><invariant>
#I1 (an idea for the far, far future of Enlist maybe) : Canvas Mode.
(helpful in KC/ASCII-ART, highly subjective - thus completely up to you)
Enlist just received its first star :-)
 
4:45 PM
@Mr.Xcoder ooh interesting idea :D
@Mr.Xcoder hm maybe. enlist isn't going to focus on KC/AA so maybe not
 
@HyperNeutrino That's why I said it's highly subjective and up to you. I wouldn't implement it either if I was you, I just thought it's worth mentioning.
 
ok :)
 
Also, not so important, but might want to consider adding the Carmichael function (λ) as a 2-byte built-in.
 
hm I'll consider that
probably yeah
ooh I might want to add lambda to the codepage
lambda or lightning bolt?
 
I prefer lambda :P
 
4:51 PM
ok :P
same
 
@HyperNeutrino Also, Husk has a very interesting built-in I want to share with you (It is called "similar" and has the character there): For numbers (either floats or ints), it checks if the absolute difference between them is ≤ 1. For lists it checks if they are the same length. For Pairs (two-element lists) checks if both elements are similar, but this one is harder to implement and can be dropped, since it would require different arities.
 
hm I think that could work. doesn't it only require arity 2 always though?
 
Also, #F14: Mold.
 
yeah good idea
(#F)
 
@HyperNeutrino For pairs it would require 1 so IDK
 
4:57 PM
I guess you could just do ≈/ for that then
 
Yes of course.
 
also, isn't in my code-page but I could add it easily
probably replace superscript =
 
Also for characters it checks if their code points are consecutive in Husk.
 
ah ok
would the behavior for strings be the same as for lists? (since strings are lists in enlist)
 
#F15: Diagonals.
@HyperNeutrino Yes, sure
 
4:59 PM
#F16: Antidiagonals
@Mr.Xcoder okay
 
@HyperNeutrino (antidiagonals?)
 
Yes, thanks :P
 
Maybe a function for 1 / N?
 
yeah
how should inverse work for strings?
 
um...
 
5:01 PM
also, should the palindrome built-ins reflect ([{</\>}]) etc?
 
No, IMO. You can have a built-in that mirrors all the occurrences of the above in a given though
 
ok
and then I guess it would just be ;U<mirror>$
 
Exactly.
@HyperNeutrino I think I have a better idea, but need to know smth from you: How are singleton lists of integers treated? Are they converted to integers or kept as lists?
 
they are lists until printed
 
Oh, ok. Nevermind then (Although I do agree with this design choice)
 
5:04 PM
ok
 
brb
 
out of curiosity, what was your idea going to be if singleton lists were converted to integers?
 
@HyperNeutrino Drop the 1/N built-in and make reverse do that instead for plain integers (I do realize now that vectorization would be impossible though)
 
Also #O3: Group values in a list by the results of a given function
 
5:06 PM
I'm planning on making reverse for plain integers reverse their decimal digits
 
@HyperNeutrino It's not actually a good idea..
 
@Mr.Xcoder good idea +1
 
@HyperNeutrino oh cool
 
@Mr.Xcoder yeah it would make vec very hard. but yeah I think probably reverse digits would be more helpful
 
true.
Also you need nfind
 
5:08 PM
yes
 
and of course While and Map.
Also most of Jelly's quicks
 
@HyperNeutrino Q: Will you have map over prefixes/suffixes or just a prefixes/suffixes function instead?
 
just a function
 
Yuppe +1
I was planning on suggesting that otherwise.
 
5:09 PM
ok
 
Also, #F17: Wrap ([N]).
 
ok
What should be the character for palindromize? I have these:
# ¡¢£¤ ¦   µ ¿ ÆÇÐÑ ØŒÞßæçð  ñ øœþ   #   '()
#   BC E GHIJKLMNO    TUVWXYZ[ ]   abcd fghijklm opqrstuvwxy
# °         ⁺⁻⁽⁾≈              ⍶⍹           λẠḄḌẸḤỊḲḶṂ ỌṚ ṬỤṾẈỴẒȦḂ
# ĊḊĖḞĠḢİĿṀ ȮṖṘ ṪẆẊẎŻạḅḍ ḥịḳḷṃ ọṛṣṭụṿẉỵẓȧ ċḋ ḟġḣŀṁ ȯṗṙṡṫẇẋẏż
 
Just a sec
@HyperNeutrino A very good one borrowed from Husk, which is extremely helpful in challenges like this, this and this: Split the list A in chunks of respective lengths with the integers in B (C in Husk).
Actually that would be like ṁR in Jelly... Not sure now.
 
@HyperNeutrino Wait you want to have a 1-char built-in for that?!
 
5:15 PM
maybe 1 or 2, idk
 
I'D go for 2 chars, using (like Æṁ or smth), whereas stands for irror.
 
ok
and then maybe m-underdot for vectorizing
or I could just steal the chars from the way Jelly does it
 
@HyperNeutrino Q: Does/Will Enlist have vectorization? I assumed it does so far, since the name of the language is Enlist :P
 
yes it does :P
 
#O4: Sort by...
If you ever want any help with Enlist, I'd be glad to contribute once I get more familiar with its Python source code / functions (at least with ideas).
 
5:20 PM
okay :) that would be helpful; once you get familiar enough with my mess of code and want to help I can add you as a contributor to it
 
@HyperNeutrino Sure. I will "strive" :P try to read through its source code and get used to it in the following days :P
 
:P ok :)
brb fixing major parser glitch
 
It's the first language that sounds promising for golfing developed since I am a member of PPCG, so I'd be glad to have it as a primary golfing language
Haha, cannot wait for the first time we beat Jelly in enlist
#F18: Bijective base (to and from)
 
@Mr.Xcoder yup I await that day :P
@Mr.Xcoder I still don't really understand Bijective Base lol I'll need to look at it more
there's already a to-bijective-base (stolen from Jelly) :P
 
np
Jelly needs new quicks...
 
5:26 PM
ಠ_ಠ why does increments vectorize
 
In Jelly?
 
enlist
it should vectorize, but not fully ಠ_ಠ 0/10 to me
 
#F19 (Borrowed from Jelly), 20: primes in the range [2, N), primepi (maybe also compositepi)
Oooh, also #F21: totient
And how could I forget....
@HyperNeutrino #Set Of Functions 1 ~ Rotations: rotate left, rotate right, cyclic successor, cyclic predecessor.
 
rotate left and right already exist. what's cyclic predecessor/successor?
(rotate up and down also exist)
(as well as matrix literal rotate)
 
@HyperNeutrino The cyclic successor of "bcd" in "abcdefg"is "cde". The cyclic successor of "bcd" in "abcd" is "cda".
 
5:32 PM
oh ok
so index of sublist, +1, get sublist
 
@HyperNeutrino No. You have to handle the end as well (see example 2)
Eating, will be back in 5'
 
ok
@Mr.Xcoder right okay
so essentially vectorizing (index, +1, getindex)
#F1 implemented
(same as Jelly bounce chars)
#F2 dismissed
I'm going to use the invariant thing like you suggested
Should modular with a negative jump start from the front or the back?
 
5:48 PM
@HyperNeutrino from the Back.
 
@HyperNeutrino Yuppe \o/
@HyperNeutrino Also you have smth like \ (reduce) right?
(also I might suddenly leave during the next minutes)
 
@Mr.Xcoder ok that's alright. and yeah I have / and \ same behavior as jelly
 
Also I have to ask, does Enlist have chain / link spearators (since you said it ie tacit)?
That’s a thing languages like Gaia lack terribly
 
nope, not yet. I'm still trying to figure out how those would work :I
also, newlines (pilcrows) separate links but they can't be called from each other yet
 
6:01 PM
@HyperNeutrino You will need them though. Since if you try to filter for example: Say you have a list and want to filter those that equal the input: you’d need a function compositon method for = and the input function ;P
 
well for now you can just use a million dollar signs :P
 
And I am on mobile bahhh
 
ah ok rip
 
@HyperNeutrino I can still chat in here though, no code involved :|
 
6:09 PM
Alsooo... #Set of Functions 2 ~ Combinatorics: Combinations, Permutations, Powerset, Sublists
 
hm good idea for all of those
 
Meh, will occasionally come online, a friend just passed by.
 
Oh I am pretty sure you will have Nth prime, fibonacci, catalan, traingular... right?
Q: Is enlist 1 or 0 indexed?
 
@Mr.Xcoder 1
actually there are no functions for which it would make a difference yet :P
@Mr.Xcoder I have triangular but I will be doing all the others too
 
6:23 PM
Also maybe add %2, divisors, sign, depth, as well as [prime,exponent] prime factorization.
 
yeah
#F3 implemented
 
6:41 PM
Tranpose, ZipWith, ZipFill, and Interleave implemented
@Mr.Xcoder How should ljust and rjust work? It needs three arguments; array, length, and filler
Or should I just do lpad and rpad which pads a matrix to be rectangular (only 2 args)
 
@HyperNeutrino I was thinking of making them dyads and padding with " " for strings and 0 for arrays.
 
hm ok good idea
oh my god what the fuck
ROLLBACK to #F0 complete [all changes discarded]
 
7:06 PM
#F1 implemented
#F2 dismissed
#O1 dismissed
 
Nice
@HyperNeutrino what happened
?
 
@Mr.Xcoder my chromebook randomly reloaded the TIO page and deleted all of my work so far from today
ZipFill, ZipWith, Interleave implemented
 
7:22 PM
Hint 1: Generate permalinks
(So that you save your work)
 
yup
idk I usually do that idk if I forgot or it didn't remember or something like that
I usually just put it onto github after making substantial changes
but just before I did that it reset it lol
 
Hint 2: Don’t use TiO as an IDE
@HyperNeutrino also pls fix that factorial along with the other changes :|
 
right :P
@Mr.Xcoder yeah idk why I'm not using my laptop right now lol
#F3 implemented
 
@HyperNeutrino Can you permalink me F3 pls? I don’t find it FWIW
 
7:32 PM
Oh nvm modular
 
lol
should #F4 (slice into N similar-length slices) include smaller slices that are trailing?
 
Yes, it should.
 
ok
oh rip I have to go now; I'll do #F4 when I get back. cya! o/
 
@HyperNeutrino cya \o I was on mobile nonetheless. I will leave a couple of suggestions when I think of any though. Bye
 

  last day (137 days later) »