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
Cybernetic Vermin
Apr 18, 2005

considering the vast amount of time people waste on new languages one would think someone would get around to a fast modern (e.g. integrate with gpu compute, maybe just parasite on numpy) apl/k/q take.

not that it'd be terribly useful, but i'd enjoy it a lot more than another weird midpoint between rust and c

Cybernetic Vermin fucked around with this message at 15:12 on Aug 29, 2019

Adbot
ADBOT LOVES YOU

animist
Aug 28, 2018
it's called pytorch

Cybernetic Vermin
Apr 18, 2005

animist posted:

it's called pytorch

that's where i'm at now, but it is very much some array stuff added into an otherwise lovely language.

e: though tbqh i guess a small amount of syntactic sugar added would go a long way, the array underpinnings and overall ecosystem is after all really great.

Cybernetic Vermin fucked around with this message at 16:21 on Aug 29, 2019

fritz
Jul 26, 2003

Cybernetic Vermin posted:

considering the vast amount of time people waste on new languages one would think someone would get around to a fast modern (e.g. integrate with gpu compute, maybe just parasite on numpy) apl/k/q take.

not that it'd be terribly useful, but i'd enjoy it a lot more than another weird midpoint between rust and c

theres this thing : https://github.com/Co-dfns/Co-dfns

animist
Aug 28, 2018

Cybernetic Vermin posted:

that's where i'm at now, but it is very much some array stuff added into an otherwise lovely language.

e: though tbqh i guess a small amount of syntactic sugar added would go a long way, the array underpinnings and overall ecosystem is after all really great.

I mean there's TVM / tiramisu (http://tiramisu-compiler.org/) which are technically languages in the way LLVM IR is a language... but those are embedded in Python / C++ respectively

bad days for inscrutable array languages tbh

Athas
Aug 6, 2007

fuck that joker

animist posted:

bad days for inscrutable array languages tbh

hello

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang




not written in runes, banned until ragnarok

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER


Cybernetic Vermin posted:

considering the vast amount of time people waste on new languages one would think someone would get around to a fast modern (e.g. integrate with gpu compute, maybe just parasite on numpy) apl/k/q take.

not that it'd be terribly useful, but i'd enjoy it a lot more than another weird midpoint between rust and c

don't worry you can have coworkers waste time with old niche languages as well

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

Cybernetic Vermin posted:

considering the vast amount of time people waste on new languages one would think someone would get around to a fast modern (e.g. integrate with gpu compute, maybe just parasite on numpy) apl/k/q take.

not that it'd be terribly useful, but i'd enjoy it a lot more than another weird midpoint between rust and c

I never understood why there wasn’t just an S-expression conversion for APL

like, you get both straightforward readability and the ability to compile the full program however will be most efficient for your circumstances, what’s not to like?

Athas
Aug 6, 2007

fuck that joker

eschaton posted:

I never understood why there wasn’t just an S-expression conversion for APL

like, you get both straightforward readability and the ability to compile the full program however will be most efficient for your circumstances, what’s not to like?

  • Parsing APL is type-dependent. Specifically, parsing e.g. 'x y z' depends on whether 'y' has been defined as a unary or binary function (called "monadic" and "dyadic" in APL), as an operator (higher-order function), or maybe not as a function at all. Fortunately, this is only really a problem with dfns (sort of like anonymous functions), and these can take at most only four parameters (always named α, ω, α, ω) and so you can just generate all of them and dispatch once you know the types at runtime.
  • APL is entirely about the notation. The overloaded semantics are not nearly as important, and often inhibit efficient compilation.
  • APL is not actually particularly easy to compile, and real-world APL tends to be quite imperative.

APL is one of those languages that is best admired from afar. It has tons of warts once you get close. I have hacked on a parallelizing APL compiler and I don't really want to go back to it.

ColTim
Oct 29, 2011
k/q has what I assume to be a pretty-lispy parse tree notation which ends up getting used in functional selects/deletes/updates, e.g. "x+y" is equivalent to "(+;x;y)", the latter of which is a generic list but which can also be evaluated/run using "value" or monadic "."

Progressive JPEG
Feb 19, 2003

can someone release a fortran package management system named forball? tia

Plank Walker
Aug 11, 2005

Progressive JPEG posted:

can someone release a fortran package management system named forball? tia

Interestingly, no. At this level, the market demands non-linear value. We go down to a single ball.

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?
one cross-plang package manager to rule them all

call it balls

distortion park
Apr 25, 2011


ColTim posted:

k/q has what I assume to be a pretty-lispy parse tree notation which ends up getting used in functional selects/deletes/updates, e.g. "x+y" is equivalent to "(+;x;y)", the latter of which is a generic list but which can also be evaluated/run using "value" or monadic "."

I'm not sure that making a fancy k/q with gpu acceleration and stuff would work. Half of the good stuff about it comes from its simplicity

Cybernetic Vermin
Apr 18, 2005

pointsofdata posted:

I'm not sure that making a fancy k/q with gpu acceleration and stuff would work. Half of the good stuff about it comes from its simplicity

arrays being marked with transient but explicit properties which optimize some operations is sort of a core mechanism of the language though, so having a `gpu#x list would fit in pretty well.

e: to clarify to anyone curious, in k/q you go e.g. `s#x to give the list 'x' the 'sorted' attribute (the sorting primitives produce lists with this attribute), making e.g. lookups in the list become log(n) operations. the attribute is preserved by most operations which have no effect on order, but is silently lost by the rest. there's a few such attributes (two other kinds of indices, simple rle compression, etc.), and `gpu# would fit in pretty well.

another thing about array languages though is that it is a very commercial area, in that the decent apl implementations (and this includes e.g. the above co-dfns above being hosted on dyalog), k and q are all extremely expensive licenses, and j is gpl (with the option, again, of commercial licenses) landing you in the usual quagmire when you want to make something a library (rather than everything being a monolithic program).

Cybernetic Vermin fucked around with this message at 09:42 on Aug 31, 2019

JawnV6
Jul 4, 2004

So hot ...
https://twitter.com/hynek/status/1168252462513475589

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER



it’s not wrong but there’s a couple of steps between terrible programming and genocide enabling

Xarn
Jun 26, 2015
This sort of nuclear takes is why I visit this thread. Do you think he belongs to the "JS is perfectly fine language for the kernel" people, or to the "obviously people should've been writing Rust 40 years ago, also what is unsafe" people?

Nomnom Cookie
Aug 30, 2009



rust was appropriate 40 years ago but now we have modern tools like js

akadajet
Sep 14, 2003


pictured: a genocide enabling crab
https://www.youtube.com/watch?v=Snr113r5ocY

animist
Aug 28, 2018
i only use memory-safe languages, like COBOL

Vomik
Jul 29, 2003

This post is dedicated to the brave Mujahideen fighters of Afghanistan
why does everyone in Silicon Valley think they’re so important?

Sapozhnik
Jan 2, 2005

Nap Ghost
more money = better than

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
because they’re temporarily getting paid a lot of money, and that’s how they determine importance?

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

because Silicon Valley gets a lot of attention for virtually everything

mystes
May 31, 2006

Vomik posted:

why does everyone in Silicon Valley think they’re so important?
Because that's how capitalism works.

animist
Aug 28, 2018
coq is cool but I have no goddamn idea how it works

Captain Foo
May 11, 2004

we vibin'
we slidin'
we breathin'
we dyin'

animist posted:

coq is cool but I have no goddamn idea how it works

you just jack it around until you get some output

Lutha Mahtin
Oct 10, 2010

Your brokebrain sin is absolved...go and shitpost no more!

it takes a bit of skill to get the desired effect tho

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
the lambda cube is like a chimichanga

Zlodo
Nov 25, 2006

Captain Foo posted:

you just jack it around until you get some output

Tanners
Dec 13, 2011

woof

Captain Foo posted:

you just jack it around until you get some output

tef
May 30, 2004

-> some l-system crap ->

Boiled Water posted:

it’s not wrong but there’s a couple of steps between terrible programming and genocide enabling

yeah the facebook interview drags out

tef
May 30, 2004

-> some l-system crap ->
C bugs in lovely routers, etc, sure enough but saying that somehow Rust gives you more safety against a hostile nation state is a fundamental misunderstanding of the threat model

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

tef posted:

C bugs in lovely routers, etc, sure enough but saying that somehow Rust gives you more safety against a hostile nation state is a fundamental misunderstanding of the threat model

is this “you’ll never prevent all the bugs so why try to prevent any”?

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
9/11 would have been prevented if the plane had proper memory segmentation

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
the plane should have had total separation of code and data, like my favorite programming language which exemplifies total separation of code and data, lisp

Workaday Wizard
Oct 23, 2009

by Pragmatica
if you want to use that analogy then you should compare it to having the pilots isolated from the common filth

Adbot
ADBOT LOVES YOU

Jerry Bindle
May 16, 2003

Captain Foo posted:

you just jack it around until you get some output

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