« first day (1510 days earlier)      last day (1145 days later) » 

11:00 PM
@dzaima no I'm not arguing what the definition of "BACONS NOTHING" is, I'm arguing the meaning of the word, and that it is confusing and a different name should be chosen... and this isn't bike shedding, its conceptually inside-out and hurts my brain
you can't have a nothing that is something nothing is the absence of "thinginess"
nothing‿x
"nothing is joined to x"
being a 2 element list is the very definition of cognitive dissonance
@Marshall @dzaima
because something is joined to x
 
@nathanrogers It isn't really entirely omitted in cases where it is speical either - e.g. {(1+𝕨)-𝕩}4 isn't (1+)-4
 
it is a thing, and thus cannot be "nothing"
 
@nathanrogers and thus {𝕨‿𝕩}5 errors, as it must be a thing, but cannot
 
how about no errors and just x
what is 1 + nothing?
 
@nathanrogers it's nothing
 
11:03 PM
nothing, right? so I would assume it returns -x
because nothing -x... well, that's just -x
so then why is nothing‿x an exception to that rule?
 
@nathanrogers if anything, it'd have to be ‿𝕩 which is stupid
 
right, and since there is nothing to join, there IS NOTHING TO JOIN, so its just x
right do you see how this confuses and contorts the words?
nothing is an inappropriate word to use in the case where nothing can be something
x
hey look, nothing is joined to x
nothing‿x
Hey look, nothing is joined to x
x
Which is just x
 
@nathanrogers isn't joining, it's creating an array out of items. 𝕨∾𝕩 would be join
 
the two phrases are parallel
 
what about 1‿2‿𝕨‿3‿4 - should that be 1‿2‿3‿4?
 
11:06 PM
x
hmm... nothing comes before x in the array
nothing‿x
hmm... nothing comes before x in the array
which is just
x
1‿2‿3‿4
"there is nothing between 1‿2 and 3‿4 in the array"

1‿2‿𝕨‿3‿4

"there is nothing between 1‿2 and 3‿4 in the array"
 
The unfortunate fact: Programmers have to accept what the language designer calls things, even if some things sound nonsense to them.
 
no this doesn't sound nonsense, it is mental torture
unless, what I'm proposing is adopted
 
(also, the fact that the length of a‿b‿c might not be 3 is absolutely enough for me to instantly not accept your definition)
 
@dzaima what would you do if one of those things were nothing? It wouldnt' exist in the list!
Like, an empty list is not nothing
just as an empty bucket is not nothing
nothing is to be without even a bucket
there is no bucket, so there is NO THING
 
Your bucket analogy failed many times already
 
11:09 PM
right, how is this hard
wtf?
 
@nathanrogers I'd say the list wouldn't exist. a‿b‿c must be 3-item list by the syntax, but if one is a nothing, you can't have 3 items, therefore error
 
no that's literally what it is.
Empty list ←→ empty bucket
List       ←→ bucket with things
Nothing    ←→ NO FUCKING THING ALREADY
 
And please stop using f-word
 
ngn
fold? :)
 
Words mean things. "nothing" is a word which has meaning
 
11:11 PM
what would {𝕨‿𝕨}1 be in your mind?
 
nothing
It wouldn't evaluate
because the function does nothing and returns nothing
the only tokens defined in the scope represent nothing, and so nothing should happen
 
@nathanrogers ok that's just strange. 1‿1‿𝕨‿𝕨 is a 2-item array. 1‿𝕨‿w is a scalar atom 1. 𝕨‿𝕨 is.. an error? that's INCREDIBLY inconsistent
 
@dzaima to be clear, this isn't to tell you how to design your language
This is to tell you that the word nothing
Is a bad
bad
bad
bad
choice
but so long as you choose to use nothing
face the consequences... because
𝕨‿x
nothing precedes x

***IS***

just x
 
@nathanrogers y'know, you don't have to take literally every word in the most absolutely literal meaning
 
no I'm just using the intuitive meaning of what nothing is
and in the terms of the notation
it doesn't elevate thought
it creates cognitive dissonance
 
11:16 PM
@nathanrogers well you have weird intuition
 
no
nothing is no thing
unexistence
 
as i said, with the literal interpretation, {(1+𝕨)-𝕩}5 would be (1+)-5 but you agree that that's wrong
 
right
so choose a new word
null, empty, void
even nada
I'm ok with nada
 
@nathanrogers empty can be confused for an empty array. Null can be confused with the classical null pointer (not that BQN has those). void doesn't really describe what it is, and doesn't match how other langs use it either. nothing at least has clear resemblance
 
idiom: "Nothing from nine leaves nine."
nothing - 9 is not 0 - 9
its -9
@dzaima the behavior doesn't reflect the name chosen
 
11:19 PM
What is the exact behavior in the first place?
 
@nathanrogers It reflects it much better than any other proposal you have
 
either the behavior should change, or the name should change
plain and simple
 
@nathanrogers there you're clearly taking the absolute literal meaning of "nothing"
 
@nathanrogers because this is just madness
@dzaima nothing really doesn't have a lot of nuance
it means no thing. not anything. not a single thing, without properties of thinginess
that's what nothing means
its literally in the word
NO
... wait for it
THING
why do my links not work?
 
@nathanrogers In BQN, it means there is no value for the current expression (the expression's value is nothing). It doesn't mean a token that's absolutely ignored from the syntactical representation of the code.
 
11:22 PM
How about "placeholder"?
 
read say that out loud. say it out loud and see the ridiculous phrasing
𝕨‿x
"there is no value before x in the array"
 
@nathanrogers "There is no value before x in the 2-item array". That is indeed nonsensical, therefore error. Is that so unclear?
 
right
that's because
if there is no value in the array before x
then it is just X, and not an array
or its a 1 element array, not 2
 
I just read how it works as a right arg (any function applied returns self immediately) and left arg (the function ignores it) and everywhere else (errors). This does sound more than "nothing"
and IMO it's doing even more job than what a "null" or "void" can represent
so my proposal of "placeholder"
 
@Bubbler yeah, placeholder is okay. Still think "nothing" is fine though.
 
11:27 PM
call it NIL or ZILCH
 
ngn
the obvious name to call it is
 
No, I don't think it should be named as a word that implies zero or null-ness
 
maybenothing?
 
@dzaima (though placeholder sounds like it could be "filled" or something)
 
call it maybenothing
or just maybe
 
ngn
11:29 PM
maybe is 5 chars longer than
 
@ngn you have a point
 
Just thought about something funny: it looks like a Pac-man facing left, as it consumes everything on its left then dies
 
@nathanrogers imo it's pretty clear that ·‿1 read as "an array of nothing and 1" is clearly implying that there are 2 items, the first is a nothing, and the second is a 1. But an array can't have nothings as items
 
what does @Bubbler?
@dzaima... this is also an array of nothing and one [1]
there's NOTHING on either side
 
@nathanrogers I disagree
 
11:30 PM
it isn't a question of what " ·" is in your language dude
its a matter of this is how people speak
 
@Bubbler No, the programmers really don't have to use my terminology. I control how I talk about the language, not how anyone else does.
 
I come into a bacon forums asking questions, and I say "like hey guys, for some reason, I'm adding this value, but there's nothing happening, nothing is being appended to my list!"
like that's retarded
 
@nathanrogers [1] is not an array of nothing AND 1 DEFINITELY
 
when I can't say things that make sense
 
ngn
@nathanrogers it was all for
 
11:32 PM
@dzaima you're arguing implementation details, I'm arguing :57350413 the language is perverse
 
@nathanrogers So using synonyms for "nothing" definitely doesn't fix the problem, to the extent there is one.
 
@Marshall Hey kid, what is your function returning
@NewGuy Nothing
@Marshall **confused frustrated noises**
@Marshall that's why I suggested maybe
 
@nathanrogers That isn't possible though.
 
its a maybe value
it might be a value
it might not
 
@nathanrogers no, I'm arguing about language there. I believe [1] is not an array of "nothing" and "1". It might be an array which contains "nothing" and "1", but not an array which fully consists of precisely "nothing and 1"
 
11:33 PM
[maybe, 1] is just [1]
 
Well, you can always use · as the "name" of the object in question, and let people call it what they want
 
@dzaima if I append nothing to the list [1], what do I get?
[1]
 
ngn
obviously, you get
 
Hey my function is returning nothing
I called my funciton but nothing was added to the list!
 
@nathanrogers but you don't get [1,nothing], which you'd need to if 1‿𝕨 were to be 1
 
11:34 PM
1,nothing is 1
there is nothing there
@Marshall why isn't that possible?
a maybe value is simultaneously a value and control flow
 
@Bubbler In fact I nearly always write Nothing (·) to avoid confusion. In spoken BQN I would probably find another way to disambiguate.
 
Let's just call it Middle Dot
 
@Marshall it isn't a matter of disambiguating the bacon, its a matter of disambiguating for general purpose conversation
 
@Marshall I like to explicitly say "a nothing"
 
so call it a_nothing, which is also cognitive dissonance because you can't have 1 of... NO THING
 
ngn
11:36 PM
@dzaima i have against that
 
@nathanrogers Nothing isn't a value, so it can't be passed as a value. It can't be assigned as a name or used as the last expression in a non-namespace block.
 
@Marshall I get that, I read the tutorial, but its still not nothing, its maybe
maybe something maybe nothing
but if its nothing, then it IS NO THING
1,maybe is either 1,value or 1
 
ngn
should be a value?
 
not 1,value 1, ??????
 
@nathanrogers that's what 𝕨 is. Whether it's a nothing depends on the runtime situation
 
11:38 PM
@dzaima no because maybe is valid to append to a list
maybe,1 when maybe is nothing is just 1
 
@nathanrogers You're describing 𝕨, not ·. These are the only two tokens (okay, 𝕎 too) that can ever indicate Nothing; · always indicates it and 𝕨 sometimes does.
 
@nathanrogers right, 𝕨 is what you call a "maybe", but · is a "nothing"
 
but w is the only thing that can ever BE a nothing
therefore w is ACTUALLY a maybe
 
@nathanrogers right. so?
 
11:39 PM
and then nothing can be nothing
 
@nathanrogers 𝕨 is a thing that can either be a regular value, or a nothing. If you want to call that a "maybe", go ahead, whatever
 
[maybe,1] is either
[value,1] or
[1]
right but the nothing is just an implementation detail at this point
that means.... NOTHING
 
ngn
and else matters
 
what is important is that W is a maybe
THAT means something
so just conceal the nothing, and just say W is a maybe
then ∧/W_X makes sense regardless of the context
 
well, there is · which is always a nothing
 
11:41 PM
but it can't be used ever
you can't assign it to something, you can't assign to it
you can't pas sit as an argument
 
@nathanrogers it can, it trains most importantly
 
sure, it won't last long, but that doesn't matter
 
show me something where that makes sense
 
@nathanrogers (÷·-1+⊢) is the reciprocal of the negation of one plus argument
 
11:42 PM
why not ∘
 
@nathanrogers because then you might need parentheses in more complex situations which is just ugly
 
Can anyone explain this?
 
1+ nothing is nothing
so its just -x
@Bubbler which is what I've been saying
 
Left one I know, the problem is the right one
 
@Bubbler that seems wrong. dzaima/BQN gives ¯4‿¯4
 
11:45 PM
Oh. Time to raise an issue then
 
@dzaima (÷∘-1+⊢)
•←(÷∘-1+⊢)4 works just fine
 
@dzaima That's a cool way to use monadic functions in trains, which looks like J's [: g h but better
 
@Bubbler yeah, that's precisely what it is
 
ngn
trains suck
 
@Marshall @dzaima reading through the tutorial, it seems to me that the only context in which "nothing" is relevant is when discussing whether a function is monadic or dyadic... in that sense, conceal the "nothing" as an implementation detail, and say that W is a "maybe"
 
11:48 PM
@nathanrogers how about (÷·+´1+⊢)?
 
idk, what about it
 
@nathanrogers transforming it with makes it an ugly (÷∘(+´)1+⊢)
 
I thought bacon uses modifers to avoid this sort of thing
 
And the code is broken if you remove the inner parens
 
i thought modifiers bind more tightly than functions
 
11:49 PM
Modifiers bind from left to right
So ÷∘+´ is (÷∘+)´
 
and, next step up, (1+·+´1+⊢) - writing that without · would be either (1+(+´1+⊢)) or (1+⟜(+´)1+⊢)
 
herpa derp
 
Try (+´1+⊢)4‿5 instead
 
right because you can't sum an atom?
 
@nathanrogers yeah. ´ requires that the argument is a vector and nothing else
 
11:52 PM
•←÷(+´ 1 + ⊢)4‿5
still
 
@nathanrogers F←÷(+´ 1+ ⊢) vs F←÷ ·+´ 1+ ⊢ though
 
You mean the result is the same, or BQN is not working?
 
or if you're mid train:
•←÷○(+´ 1 + ⊢)4‿5
yeah that's getting dumb
 
(÷∘+´1+⊢)4‿5‿6 and (÷·+´1+⊢)4‿5‿6 give different results
 
I'm all for eliminating parens where possible... I'm not for creating loads of miscommunication potential and cognitive dissonance
@Bubbler notice I didn't send that
 
11:55 PM
@nathanrogers You didn't send what?
 
they return different results because like you said ÷ binds to + not +'
 
Yes.
 
yeah, that's why I wrote it as an atop instead
 
OK then
 
@dzaima I'm getting a parse error for your solution anyway
nvm
or is that an over
I never remember
over
 
11:59 PM
@nathanrogers the bigger one is the one that does more. so executes both functions just once, whereas will execute its right operand twice for dyadic application
 

« first day (1510 days earlier)      last day (1145 days later) »