barubary

joined 2 years ago
[–] barubary@infosec.exchange 2 points 1 week ago

Isn't that how B worked?

[–] barubary@infosec.exchange 5 points 1 week ago

Similarly, Perl lets you say

my $ret = do {    if (...) {        ...    } else {        ...    }};
[–] barubary@infosec.exchange 1 points 1 week ago (1 children)

To be fair, the C example could be detangled a lot by introducing a typedef:

typedef int Callback_t(int, int);Callback_t *(*fp)(Callback_t *, int);
[–] barubary@infosec.exchange 2 points 1 week ago

Both of those declarations look weird to me. In Haskell it would be:

a :: Stringbob :: (String, Int, Double) -> [String]bob (a, b, c) = ...

... except that makes bob a function taking a tuple and it's much more idiomatic to curry it instead:

bob :: String -> Int -> Double -> [String]bob a b c = ...-- syntactic sugar for:-- bob = \a -> \b -> \c -> ...

The [T] syntax also has a prefix form [] T, so [String] could also be written [] String.

OCaml makes the opposite choice. In OCaml, a list of strings would be written string list, and a set of lists of strings would be string list set, a list of lists of integers int list list, etc.

[–] barubary@infosec.exchange 18 points 1 week ago (3 children)

Because let x: y is syntactically unambiguous, but you need to know that y names a type in order to correctly parse y x. (Or at least that's the case in C where a(b) may be a variable declaration or a function call depending on what typedefs are in scope.)

[–] barubary@infosec.exchange 1 points 2 weeks ago (1 children)

include Hebrew in their language, because I guess they were feeling kabbalistic

... or because the developers were Israeli: https://en.wikipedia.org/wiki/Zend/_(company)#History

[–] barubary@infosec.exchange 3 points 2 weeks ago (1 children)

I am 100% confident that your claim is factually wrong.

[–] barubary@infosec.exchange 5 points 2 weeks ago (4 children)

I agree with your core point, but no software is intuitive.

[–] barubary@infosec.exchange 15 points 2 weeks ago* (last edited 2 weeks ago) (8 children)

POV: You open vim for the first time.

[–] barubary@infosec.exchange 5 points 3 weeks ago (1 children)

b == 7 is a boolean value

Citation needed. I'm pretty sure it's an int.

[–] barubary@infosec.exchange 4 points 1 month ago

Do you know the difference between a script and a program?

A script is what you give the actors; a program is what you give the audience.

[–] barubary@infosec.exchange 1 points 1 month ago (1 children)

I don't understand the complaint. What exactly is the issue?

view more: next ›