Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

crazypenguin posted:

Sure, your eye reads left to right, which is nice, but on the other hand the math style makes order equivalent between "f(g(x))" and "f . g $ x", which is also nice.

if you prefer math style to something easily readable idk wtf is wrong with you

Adbot
ADBOT LOVES YOU

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe

crazypenguin posted:

going back a bit

the totality of your analysis of the obvious answer is "Ew!", fwiw

i have yet to find a programming language that makes all code equally beautiful. probably you could get closer with insane whitespace sensitivity, i.e. effectively treating absence of whitespace as parentheses. in the absence of perfection we are left with trade-offs. the key questions for resolving this specific trade-off in my mind are whether functions that return functions which get immediately called are actually important outside of currying, and then whether currying is actually important outside of the pipeline idiom

i will confess that another consideration i have in mind is the use of parameter labels, because i've come to really appreciate those, and the f(x) syntax very neatly generalizes to parameter labels while the juxtaposition syntax really, really does not

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

rjmccall posted:

abstract types were first studied in functional languages more than thirty years ago, and letting programmers invoke the operations with dot-syntax is just taking namespacing seriously as a language problem instead of hiding your head in the sand. it's even trivial to allow higher-order uses with Type.operation

rjmccall posted:

all are welcome in glorious pl thread

most of this stuff is very subjective. even if i flame someone with "ur confusing x with y", i'm not trying to say their opinion is wrong, i'm just trying to encourage people to think deeper about language features than just taking their presentation in a particular language as given.

also i'm kindof secretly hoping someone will run with that. like i think the fp community had an immediate strongly negative reaction to oop because it seemed just like a sugarcoating of an imperative language, and that's persisted for like thirty years. but i think there are interesting ideas to take out of oop — encapsulation, type-based namespacing, polymorphism through existential type erasure (e.g. subtyping) rather than just parametric polymorphism, etc. — that could still be usefully applied to a pure functional language, and i'd love to see more of that

I like ocaml modules they are great

I just don't like the builder style even if it ends up being sugar over immutable data becasur some rear end in a top hat will inevitably add something mutable andnfuck your day

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
well your language doesn't actually have to allow that. that's a reference-type problem, if you were using value types or just plain fp-style guaranteed-immutable types it wouldn't be a concern

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

rjmccall posted:

the totality of your analysis of the obvious answer is "Ew!", fwiw

i have yet to find a programming language that makes all code equally beautiful. probably you could get closer with insane whitespace sensitivity, i.e. effectively treating absence of whitespace as parentheses. in the absence of perfection we are left with trade-offs. the key questions for resolving this specific trade-off in my mind are whether functions that return functions which get immediately called are actually important outside of currying, and then whether currying is actually important outside of the pipeline idiom

i will confess that another consideration i have in mind is the use of parameter labels, because i've come to really appreciate those, and the f(x) syntax very neatly generalizes to parameter labels while the juxtaposition syntax really, really does not

keyword args and juxtaposition calling works if u put parent around the whole thing or special case : in the grammar or use ruby style commas

I like juxt style if u got a lot of little composable functions which is coincidentally what fp has in abundance....

crazypenguin
Mar 9, 2005
nothing witty here, move along

Blinkz0rz posted:

if you prefer math style to something easily readable idk wtf is wrong with you

the problem here is that "readability" is trained. that's part of the trouble: is there a right-er enough answer that we should re-train people's expectations?

I don't think that's completely obvious? (I mean, I'm partial to your answer but now we're headed towards "pontificating while actually knowing nothing" territory here)

rjmccall posted:

the key questions for resolving this specific trade-off in my mind are whether functions that return functions which get immediately called are actually important outside of currying, and then whether currying is actually important outside of the pipeline idiom

i will confess that another consideration i have in mind is the use of parameter labels, because i've come to really appreciate those, and the f(x) syntax very neatly generalizes to parameter labels while the juxtaposition syntax really, really does not

I agree with this, I just want actual answers to those two questions, because I share your wish that the answers are "no", but wishes not being fishes has burned me a lot

Athas
Aug 6, 2007

fuck that joker

rjmccall posted:

i will confess that another consideration i have in mind is the use of parameter labels, because i've come to really appreciate those, and the f(x) syntax very neatly generalizes to parameter labels while the juxtaposition syntax really, really does not

OCaml has labelled parameters; it looks OK: f ~butts: poop.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

rjmccall posted:

i will confess that another consideration i have in mind is the use of parameter labels, because i've come to really appreciate those, and the f(x) syntax very neatly generalizes to parameter labels while the juxtaposition syntax really, really does not

smalltalk does juxtaposition with argument labels, but maybe that's an argument against it (foo bar: a b c baz: d e is foo.bar(a.b().c(), baz: d.e()))

Shaggar
Apr 26, 2006

Bloody posted:

math style is wrong. math is a syntactic tragedy, and its mistakes should be avoided wherever possible

Shaggar
Apr 26, 2006
the entire point of programming languages is to provide a human readable syntax for telling the computer what to do which makes math-based syntax very bad.

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe

Plorkyeran posted:

smalltalk does juxtaposition with argument labels, but maybe that's an argument against it (foo bar: a b c baz: d e is foo.bar(a.b().c(), baz: d.e()))

i hate it, but that's probably not a good enough reason

i'd forgotten that ruby does it too

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

crazypenguin posted:

the problem here is that "readability" is trained. that's part of the trouble: is there a right-er enough answer that we should re-train people's expectations?

I don't think that's completely obvious? (I mean, I'm partial to your answer but now we're headed towards "pontificating while actually knowing nothing" territory here)

lol there's no benefit whatsoever to making code read like math or training anyone to read it that way

it's a pointless academic exercise that has no value in the real world

please repeat after me "computer science is not software development"

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Shaggar posted:

the entire point of programming languages is to provide a human readable syntax for telling the computer what to do which makes math-based syntax very bad.

yet again shaggar was right

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
academic computing is a cancer and undergrad cs programs should be entirely eradicated in favor of trade schools that teach programming

Asymmetrikon
Oct 30, 2009

I believe you're a big dork!
capitalism destroys yet another beautiful thing

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Asymmetrikon posted:

capitalism destroys yet another beautiful thing

lol if you think a thing people gently caress and cum in is beautiful just lol

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

Blinkz0rz posted:

academic computing is a cancer and undergrad cs programs should be entirely eradicated in favor of trade schools that teach programming

your code is a piece of poo poo

MononcQc
May 29, 2007

not that I don't like the current bike shed, but if we have to pick a color for the shed why not use actual color?

Go boldly into the cold hard nights of Forth and use semantic coloring for your source code. Ambiguous syntax for function arguments? Define ownership and preference through coloring of terms! Chuck Moore the hell out of this

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

carry on then posted:

your code is a piece of poo poo

sure is!

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

MononcQc posted:

not that I don't like the current bike shed, but if we have to pick a color for the shed why not use actual color?

Go boldly into the cold hard nights of Forth and use semantic coloring for your source code. Ambiguous syntax for function arguments? Define ownership and preference through coloring of terms! Chuck Moore the hell out of this

bold means copy-on-write reftype params, italic means box primitive type params and then mutate their state on return.

SpaceClown
Feb 13, 2016

by FactsAreUseless
lisp is a piece of poo poo

L.P.O.S.

CPColin
Sep 9, 2003

Big ol' smile.
I just applied for a county government job that appears to use ABAP and :rip: me maybe? I mean, I'd never heard of this thing.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

CPColin posted:

I just applied for a county government job that appears to use ABAP and :rip: me maybe? I mean, I'd never heard of this thing.

i'm the Allgemeiner Berichts-Aufbereitungs-Prozessor

also whyyyyyy?

CPColin
Sep 9, 2003

Big ol' smile.
On the Talk page for that article, somebody suggests the direct English translation would be Common Report Analysis Processor, which is much better.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
how very german

Bloody
Mar 3, 2013

CPColin posted:

I just applied for a county government job that appears to use ABAP and :rip: me maybe? I mean, I'd never heard of this thing.

lol rip

Workaday Wizard
Oct 23, 2009

by Pragmatica
why buy a product if your gonna be coding its functionality?? why not just program the whole thing in house? this SAP thing looks a hell lot like a scam :confused:

gonadic io
Feb 16, 2011

>>=

Shinku ABOOKEN posted:

why buy a product if your gonna be coding its functionality?? why not just program the whole thing in house? this SAP thing looks a hell lot like a scam :confused:

same but buying food

Xarn
Jun 26, 2015

CPColin posted:

I just applied for a county government job that appears to use ABAP and :rip: me maybe? I mean, I'd never heard of this thing.

:rip: you indeed, I stopped listing my ABAP job on resume the second I had something else to fill the place with. :v:

Max Facetime
Apr 18, 2009

Bloody posted:

math style is wrong. math is a syntactic tragedy, and its mistakes should be avoided wherever possible

since everyone can do (some) math and math has no hard requirement for a good standardized notation so that everyone has to invent their own, a syntactic tragedy of commons is all but guaranteed

my latest annoyance: someone decided sometime ago that the mantissa bits of a floating-point should now be called the "significand" as they are so significant and they wanted to use the word mantissa for something else

so rather than thinking of float as
SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM

you should think of float as
SignEEEEEEE ESignificandSignificandSignificandSignificandSignificandSignificandSignificand SignificandSignificandSignificandSignificandSignificandSignificandSignificandSignificand SignificandSignificandSignificandSignificandSignificandSignificandSignificandSignificand

you can see halfhearted attempts to placate this idiocy all over the place

Cybernetic Vermin
Apr 18, 2005

you may be in a minority on preferring mantissa though https://en.wikipedia.org/wiki/Significand#Use_of_.22mantissa.22

Max Facetime
Apr 18, 2009

but wait, we can do better than a single made up word!

from now on, the sign bit is the signifer(1) bit.
the exponent is to be called the signifier(2).
and the significand is replaced with the more descriptive word signiorizee(3).




(1) as it comes "bearing signs"
(2) as in "signifying the magnitude"
(3) meaning literally "that which gets it lorded over them"

Max Facetime
Apr 18, 2009

to bring this little digression to a conclusion, here is Wikipedia so characteristically demonstrating the difference of mantissa and significand:

Wikipedia posted:

Many logarithm tables give logarithms by separately providing the characteristic and mantissa of x, that is to say, the integer part and the fractional part of log10(x). The characteristic of 10 ∙ x is one plus the characteristic of x, and their significands are the same.

conversely, the characteristic of (10 ∙ x) ÷ 10 is one plus the characteristic of x minus one, and their significands are again the same.

thus, knowing the characteristic and mantissa of x and having a logarithm table at hand, and because (10∙x)÷10 ≝ x,
∴ the significand of x ≡ the mantissa of x. ∎

Workaday Wizard
Oct 23, 2009

by Pragmatica
mantissa sounds like mantis making it 1000% cooler than significand which isn't even recognized by iOS

tef
May 30, 2004

-> some l-system crap ->

comedyblissoption posted:

the following are superior and have way less superfluous noise:

real chat: readable things have redundancy in them to aid meaning

I mn, y cn tk t th vwls, lv th cnsnts n, nd ts stll rdbl

orifyoulikeyoucanjustwritewithoutspaces

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

i had no problems reading that, tef

Brain Candy
May 18, 2006

tef posted:

real chat: readable things have redundancy in them to aid meaning

I mn, y cn tk t th vwls, lv th cnsnts n, nd ts stll rdbl

orifyoulikeyoucanjustwritewithoutspaces

yes and

how much redundancy ought to depend on the error rate

for instance, when typing messages for a computer we shouldn't be restricted to what works for handwriting

a witch
Jan 12, 2017

Brain Candy posted:

yes and

how much redundancy ought to depend on the error rate

for instance, when typing messages for a computer we shouldn't be restricted to what works for handwriting

programming languages are for humans, not computers

Workaday Wizard
Oct 23, 2009

by Pragmatica
there are real world languages where you only write what you say. hangul and arabic come to mind

Adbot
ADBOT LOVES YOU

ulmont
Sep 15, 2010

IF I EVER MISS VOTING IN AN ELECTION (EVEN AMERICAN IDOL) ,OR HAVE UNPAID PARKING TICKETS, PLEASE TAKE AWAY MY FRANCHISE

Shinku ABOOKEN posted:

there are real world languages where you only write what you say. hangul and arabic come to mind

Both Korean and Arabic still have redundancy in written form, though, even if written without additional redundancy.

https://www.mdpi.com/1099-4300/18/10/364/pdf

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply