« first day (2387 days earlier)      last day (2752 days later) » 

00:19
@trichoplax Oh I wasn't saying it was quite
I was just the only one.
it was kinda nice
The chat can sometimes be quiet for a few hours, but as soon as someone says something there's someone around to respond, because they were getting on with something else with the tab in the background
Does anyone know what the euler transform that is being referred to by A335 in OEIS is?
:_()
So it appears that the one referred to is probably the second one there
oh is it the cumulative sum of A292?
huh not quite
It could be the third though
yeah. looks like it is supposed to be the third...
01:10
@miles I'm trying to find a nice way of writing the first adverb in this TIO link in J. Is there some nice adverb I'm missing? I feel like J has something like this, but my memory is failing me. Simple concatenate-then-fold doesn't work, nor any "clever" idea for a non-trivial verb.
01:20
Soo I believe they made an AI that beats pro Dota 2 players
it learned over several lifetimes for humans how to play
@ConorO'Brien What's an adverb? (Explained for someone who knows a little Jelly, and zero J)
A quick?
@DJMcMayhem do you know the each thingy in jelly? the currency sign? that's an adverb basically
I think verb/adverb means atom/quick.
adverb is basically a function that operates on verbs
01:29
(so we're essentially saying the same thing xD)
like a meta-function for function compositions
The terminology for Ceres is the same as J for verb/adverb :P
@ConorO'Brien Oh, like ?
well, except jelly doesn't have nouns in the code (IIRC), so the meaning of verb/adverb differs slightly
@DJMcMayhem that's the one
@ConorO'Brien Wait what is a noun then o0
Ok. Is reduce also an adverb?
IIRC jelly implements data as constant functions?
@DJMcMayhem yup
01:31
@ConorO'Brien Yes. Niladic expressions.
(or nilad atoms)
yeah
those are Jelly's closest thing to nouns
a noun is a literal piece of data, like 3 or 234
adverbs and conjunctions operate on both verbs and nouns
(a conjunction is a dyadic adverb)
Oh. That's weird
Ah okay. Interesting
Do you have an example of a conjunction?
join
like $
01:32
in jelly? something like the if thingy
does jelly have "compose"?
Or J, if you explain it simply
@ConorO'Brien What would compose do?
@ConorO'Brien ? is ternary if, iirc
let's say @ is the composition conjunction. then, f@g (x, y) is the same as f(g(x,y))
01:33
Yes. That makes it a (triadic?) adverb I guess
@ConorO'Brien $.
and that's called...?
<link><link>$ makes a monad out of two links, if not part of an LCC.
It's just called "last two links (if not part of an LCC) as a monad"
it doesn't have a name?
@ConorO'Brien well it's the same as what you described (composition)
Also, ¥ is "last two links (if not part of an LCC) as a dyad".
@ConorO'Brien If F is a monad, then that would just be gf
01:35
I thought dennis had neat little names for each of the commands
Atoms, yes. Quicks, not always.
> unhalve
Another key part of understanding Jelly is vectorization. Does J have that?
that's where the concept game from
oh ok :P
(I know that Jelly was inspired by J and something else IIRC so I was wondering if that came from J)
01:37
@HyperNeutrino Correct me if I'm wrong, but if f and g are both dyads, and you call fg dyadically, it'll compute f(g(x, y), x), right?
Yes, but be cautious that that's an unterminated dyad so the behaviour changed based on the next link if present.
J has much less parsing rules lol
That's weird
01:39
oops
@WheatWizard i was born on feb 29....
the cool thing about J is that you can make custom adverbs and conjunctions
   c =: 1 : '(u y) + y'
   *: c 4
20
(*: is "square")
the cool thing about C is that you can't make custom classes and stuff
01:44
the cool thing about Jelly is that there aren't even classes anyway so you can't make them :D:D:D
Wait what is =:
@HyperNeutrino "define"
I made a =: in Proton (and a :=) and I was hoping I could have an original idea for once ಠ_ಠ
@ConorO'Brien Ah okay.
@HyperNeutrino bah. there's classes in jelly cuz there's python eval
ok fine :P
and even if not, you can definitely simulate classes
01:49
yeah fine I guess :P I take that back
02:06
Am I allowed to fanboy about Crystal excessively? Because I might do that :P
What's the shortest way to delete an element from a list Jelly? Like 3,1,4,1,5ç3 -> 3,1,1,5?
@Qwerp-Derp what, here?
And what is Crystal?
@HyperNeutrino 1. Yes here, and 2. Crystal is a language with Ruby-like syntax, but it compiles to C (therefore it's super fast), and you can write bindings to C super easily
I wonder what the shortest string that pings me is
And it's got concurrency, Markdown support, it's just nice to program in
02:13
If it's a programming language then it's fine I guess :P
:P aight
@OliverNi Why did you tell me this?
I'll make sure to tone it down, but I just really like Crystal (and niche languages in general)
@Challenger5 ĖḢ=¥Ðḟ
dyadic expression
enumerate -> filter out any elements where the first element is equal to the right argument
Alternatively, for fewer unicode chars and more ASCII chars, ĖḢn¥Ðf
enumerate -> filter to keep elements where the first element is not the right argument
Alternatively, ĖḢe¥Ðḟ to filter out elements with a specific index from a list of indices
enumerate -> filter out any elements where the first element is in the right argument (works for single numbers as well)
CMP: Should -a in Proton for a list give the list reversed?
No, thats confusing and weird
02:23
Okay.
Should ~a then? Or should I just make a reverse function?
Probably just make are reverse
or list splicing
I like list splicing
Ah yes, slices. I need those.
Is it a golf language?
@HyperNeutrino GH repo?
02:27
If people were to use this language, how desirable would it be to have a[1, 3] get multiple items from a list?
It might be useful
Because it will be a pain to add to the interpreter (the parser already supports it, funnily enough), so if it doesn't seem like it would be used too often, I probably won't add it, at least until later.
@HyperNeutrino Wouldn't a[1, 3] make more sense to be equal to a[1][3] than a[1], a[3]?
How does your parser work?
@WheatWizard It's similar to ATaco's, and by his description it works much like a greedy regex engine
02:30
@Qwerp-Derp I don't like that, personally
@Qwerp-Derp Well then you could just do a[1][3]
> regex
ew
You're not the first :P
You should use cfgs imo
what is a cfg
02:31
but if the parser works
Context Free Grammar
ah ok
how do those work
They are very simple actually
@WheatWizard it works a lot more nicely than the Positron parser at least :P
IMO Python has really stupid syntax for class extension...
@WheatWizard Could I have a simple description of how it works?
02:32
You have a bunch of non-terminating symbols (nts) usually represented by capital letters, ...
@HyperNeutrino (typing)
Each nts maps to a certain number of possibilities that it can be transformed into e.g. S -> $$ | ## .
Which can include other non-terminating symbols as well e.g. S -> (S)
You have a top level symbol, and any string is in the grammar if it can be spanned by some path through the grammar starting from the top level symbol
As an example
The cfg for balanced strings is S -> (S)S | [S]S | {S}S | <S>S | e
where e is the empty string
Does that make sense?
Okay that kind of makes sense.
It sounds suspiciously similar to how my parser works IMO but then I'm probably misunderstanding
Also, I lied about a[2, 3] being hard to implement. In the time it took you to type that explanation, I finished it already, and in the 3 minutes between your last message and my response, I finished making it work for assignment. :P
Being able to parse any cfg is not terribly easy
Oh. I see.
02:40
Its possible your parser works with some subset of cfgs
For example regex can identify some cfgs
Ah okay. That's probably what it is.
Also, how useful do you think a[1:2, 3:4] would be? (comma_expr on slices)
An important thing when writing cfgs is that no string should have two methods of generation
Ah okay. I see.
(Otherwise you get ambiguity? or something?)
@HyperNeutrino That would be pretty useful
@HyperNeutrino That translates to one program having two meanings
which is bad
yes ambiguity is the word
It would be even more of a pain. It would require either spaghetti-coding or an externalized semi-recursive function
Ah okay. Yeah ambiguity is bad.
It's a big problem with most natural languages :P
And with CFGs, ambiguity would require context to discriminate and, well, CFG... :P
02:43
I don't know what your CS background is but if your parser works than it is probably fine, you can rewrite it later (i.e. never)
yay someone agrees with me on the proper definition of later \o/
@WheatWizard My CS background is mostly my dad teaching me some Java, me learning from the internet, and... codegolf... it's partly why my coding is quite bad... I learned a lot from CODEGOLF OF ALL THINGS xD
Also, what's a suitable alternative character for slices? I could try to use : but it would be rather difficult
since it already means different things in other places (foreach)
.. maybe
oh yeah probably
@HyperNeutrino Programming != CS
right. well. let me think then.
None
02:45
but there is a good deal of CS on PPCG
that's the syntax that MOO uses for ranges and slices
I have very little CS background, if any at all :P
I like ..
@WheatWizard example?
"String"[1,3..5]
02:46
oh ok
So for variable step size, it would be [1..3..5]?
I edited the message for variable step
oh so [1,3..5] is equivalent to [1:3:5] in Python?
That would be [1:5:2]
Also that wouldn't work with Proton unfortunately, because , is already in use so I wouldn't be able to determine which one it means
@Qwerp-Derp Could you link me to a resource about crystal?
02:48
@WheatWizard Oh okay. So [start, second .. last]?
cool. that's interesting
I have a knowledge(however limited) about Parse-trees and all, but I thought that needed a lot of work and implemented a parser only by using rercursive functions for my esolang(which is whack btw)..
thats how haskell does ranges
that seems just weird to me
02:48
What would be a suitable alternative to that syntax? , .. would not work with Proton for sure
Hey unless I make [a[1], a[3]] equivalent to a[1; 3]
actually that might make more sense with joined slicing
or not
> , .. would not work with Proton for sure
That makes me thing that there is something very wrong with the way you are parsing
so like a[1:5:2] + [a[1], a[3]] -> a[1, 3 .. 5; 1; 3]
oo language design
link to gh repo of language in question?
@WheatWizard No, it's just because , is being used in getitem already..
@HyperNeutrino Could you explain in a little more detail?
02:50
This may seem a bit odd, but why not just use plain english
1 to 5 by 3
not much longer
^ I like that too
@WheatWizard a[1, 2] is [a[1], a[2]] so a[1, 2 .. ..... wait actually, that might work?
Guys, what fix-model evaluation do you think is the most fruitful for golfing language? Postfix??
tacit? (not a fix-model but still)
Prefix and Postfix are probably best (and I think the same)
How would a[1,2, 3..5] be parsed?
02:52
Right now, it wouldn't.
Tacit is very nice IMO, prefix and postfix are probably the best fixes
but cases like that are the danger of reusing symbols.
@officialaimm there is no really "best" model; postfix works fine, but so does prefix. I'd say the weakest model is infix, since it almost always necessitates variables, which are (almost always) longer. postfix and prefix are more or less equivalent, but postfix is easier to parse
I like the a to b by c option :D It's very readable (which is the point of Proton) and with numbers it's even decently golfy (1to 2by 3)
@ConorO'Brien and brackets and order of operations
02:52
Haskell can parse [1,2,3..5] as a range
@HyperNeutrino not at all true
oh. excuse my ignorance then :P
see pip, I
02:53
@WheatWizard what does that mean
No it can't I lied
rip
I think I'll stick to the a to b by c option.
also, may I point out that the OEIS answer-chaining challenge has been auto-protected again
after someone posted and deleted an answer in an already-used language
: Have Community stop autoprotecting it after it's been unprotected like 100000000000000000000 times
I feel like the one oeis after another has been a bit of a train wreck
02:55
how?
@WheatWizard yeah. It got 7 deleted answers in a row :P But it's fun :D
Lost of delted answers and broken chains
especially when you're raging at 12 am because you don't understand the math :D
Anyway I gtg for a bit and I might not be back til tomorrow (wifi cutoff). o/
there are actually only 5 deleted answers between 97 and my 98
@HyperNeutrino no offense but this makes me dislike python even more >.>
02:56
(although maybe you should count that as 6 since I reused an answer)
@Qwerp-Derp this language looks awesome :o

« first day (2387 days earlier)      last day (2752 days later) »