Live data from Hacker News

Manipulate Functions with the J Language

adamtornhill.com

31–34 of 34 posts

Re: Manipulate Functions with the J Language

#31
> Function inverses are the kind of construct that changes how we view code.

> [..] For example, consider pairs of malloc/free, acquire/release, and open/close.

> All of them follow the pattern captured in the Under idiom: We do something to

> create a context, apply some functions in that context, and then leave our context

> by undoing the initial effects with a logical inverse like free, close, etc.

How do function inverses interact with error handling? What happens when a file cannot be opened because it doesn't exist? Or when the file can be opened but subsequent reads fail because the file is empty?

How do you typically work with errors in programming languages like APL / J / K? (I don't mean how do you work with errors in the REPL but how do you catch and handle/report errors in your program and recover/continue gracefully?)

Re: Manipulate Functions with the J Language

#32

Interesting article. I'm playing with J currently and it is one powerful, yet difficult to learn language. Simple things are simple, but being able to efficiently chain trains of verbs together and think not in terms of loops and normal data structures, but arrays and math/matrix operations takes some training and time to get used to. I'd like to keep it up to obtain a powerful data analysis tool in my arsenal, but I…

[deleted]

Re: Manipulate Functions with the J Language

#33
post #13
post #8

J is a beautiful, beautiful language. It is quite hard to learn -- as a benchmark, I'd say Haskell is easy by comparison -- but once you reach a critical mass of knowledge it can more addictive, and more fun to program in, than anything else I've tried. While J is fast, and can be practical, I would never recommend it for that reason, if only because it's so niche. But if you want to glimpse what a small sliver of al…

I love J. It's elegant, expressive, and concise. Just like regex, it looks like line noise at first, but that is because it's designed to get its job done as efficiently as possible. I think it would be a wonderful way to write deep learning modules, since it is such a powerful tensor manipulation language. Unfortunately however, even although it should be perfectly suited to SIMD and GPU acceleration, this work hasn…

[deleted]

Re: Manipulate Functions with the J Language

#34
post #13
post #8

J is a beautiful, beautiful language. It is quite hard to learn -- as a benchmark, I'd say Haskell is easy by comparison -- but once you reach a critical mass of knowledge it can more addictive, and more fun to program in, than anything else I've tried. While J is fast, and can be practical, I would never recommend it for that reason, if only because it's so niche. But if you want to glimpse what a small sliver of al…

I love J. It's elegant, expressive, and concise. Just like regex, it looks like line noise at first, but that is because it's designed to get its job done as efficiently as possible. I think it would be a wonderful way to write deep learning modules, since it is such a powerful tensor manipulation language. Unfortunately however, even although it should be perfectly suited to SIMD and GPU acceleration, this work hasn…

> it looks like line noise at first, but that is because it's designed to get its job done as efficiently as possible.

Myth: line noise syntax required for efficient machine code.

Teenagers believed this about C versus Pascal in the 1980's. "Stuff like while (* s++ = * d++); looks faster so it must be."

Or else, what do you mean by efficiency?

Cheaper software engineering life-cycle, end-to-end?

Fewer keystrokes?

Post reply on HN