![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://lemmy.hogru.ch/api/v3/image_proxy?url=https%3A%2F%2Fprogramming.dev%2Fpictrs%2Fimage%2Faa43d40c-a1ab-48e1-bc89-2f60606741b9.png)
As someone who knows very little about Scheme or Arabic, what are some aspects of this language that might be novel or interesting to someone with a background in mainstream languages?
As someone who knows very little about Scheme or Arabic, what are some aspects of this language that might be novel or interesting to someone with a background in mainstream languages?
Hey, I like checked exceptions too! I honestly think it’s one of Javas’s best features but it’s hindered by the fact that try-catch is so verbose, libraries aren’t always sensible about what exceptions they throw, and methods aren’t exception-polymorphic for stuff like the Stream API. Which is to say, checked exceptions are a pain but that’s the fault of the rest of the language around them and not the checked exceptions per se.
If you don’t need to reuse the collection or access its items out of order, you can also use Iterable
which accepts even more inputs like generators.
I’m not sure this blog post makes the right comparison. Based on my admittedly limited experience, OCaml modules seem more comparable to Java classes than packages. They’re both bundles of functions and data, except the module contains data types instead of being the data type itself. Classes have basically all the features of strong modules like separate compilation, signatures (interfaces), functors (generics), namespacing, access control. These examples of OCaml modules are all things that would be implemented as a class in Java.
From this perspective, rather than Java lacking strong modules, it actually has them in the form of classes. It’s OCaml which lacks (or doesn’t need) an additional package system on top of its modules.
Oh shit that sounds useful. I just did a project where I implemented a custom stream class to chain together calls to requests and beautifulsoup.
Going by the example in the Github, it looks like a right-to-left Lisp with Arabic keywords. Does that fully describe the language or is there more to it than that?
I’d be interested in hearing about the parts that are more influenced by Arabic than Scheme. Are there any beyond the keyword language and writing direction? Like a new keyword that does something useful but has no equivalent in Scheme because the concept isn’t easily expressed by an English keyword?