Hacker News new | past | comments | ask | show | jobs | submit login

I heard many times that perl is «write only». Unicode operators takes it to the next level.



Seriously, if Unicode operators are confusing to you(r group), don't use the feature. But if you're a mathematician, it's nice to have a language that understands set operators.


Python does: foo in bar


APL has used a huge set of non ASCII characters for more than 30 years in production by large companies.


Modern APL derivatives (namely J and K) have ditched them though in favor of pure ascii.


The character set and font constraints of the early 1990s, when J (1990) and K (1993) were developed, no longer apply. APL symbols are part of Unicode. There is no technical advantage left to ASCII-only syntax for APL-derived languages.


> There is no technical advantage left to ASCII-only syntax for APL-derived languages.

Except for that minor technical advantage of actually being on a standard keyboard.

That said, I would love standard keyboards to get more symbols. I actally like using symbols instead of words for operators, when done in a consistent and logical fashion as J and K do and unlike Perl's disaster of a syntax.

Map and reduce (each and over in APL lingo, in K ' and /) should be a symbol.


> Except for that minor technical advantage of actually being on a standard keyboard.

The IBM/Unicomp APL keyboard is a standard PS/2 PC/USB HID keyboard. Literally the only special thing about the IBM/Unicomp APL keyboards is what is printed on the keycaps (which you can buy separately https://www.pckeyboard.com/page/product/USAPLSET).

I don't understand this - how do people on Hacker News not realize that your keyboard does not determine your character encoding? You can easily remap your keys to whatever you want, have multiple layouts for human and computer programming languages, change the modifier and functions keys, whatever you want. All with the keyboard you already have; laptop, external, it doesn't matter.

Somehow multiple layouts are not a big deal for multi-lingual people, why is it so confusing for programmers?


> Somehow multiple layouts are not a big deal for multi-lingual people, why is it so confusing for programmers?

I don't know. I would totally do it if others did it. There just isn't a critical mass enough.

Maybe the next APLish language needs to have both modes of display similar to how java editors fold old constructs into new ones. That would allow the extra symbols to be slowly adopted.


Sounds like a lot of fluff added because some people want a slower ramp. I think there just needs to be more example material out there for beginners.


People realize that of course, but I don't think simply buying keycaps is an option for everyone. Will they work with my slightly non standard ergonomic keyboard?


None of my keyboards have Russian keycaps on them. I still somehow manage to type in Russian. Do you look at your keycaps when typing? If you want to, you can put stickers on your keycaps (you can purchase sets for foreign languages, and for APL), or use a quality permanent marker. A reference chart is also an option.


I don't look know that I know where everything is, but I'm guessing it takes awhile to learn where 72 weird APL symbols go when you're first learning you know?


Agreed on the keyboard thing. Dyalog sells an APL keyboard, but it isn't ergonomic, which I need.

I think "/" is a good symbol for map as it is easy access.


I really want to do a stream based language that is like APL for streams. With the current event sourcing craze right now, I definitely see modern use cases.


True that J & K do, but Dyalog doesn't and is pretty modern in that it is still very actively developed...interfaces to Python/R, runs on Raspberry Pi, hooks into .NET, can run on GPU...etc.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: