

Similarly, Perl lets you say
my $ret = do { if (...) { ... } else { ... }};
Similarly, Perl lets you say
my $ret = do { if (...) { ... } else { ... }};
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);
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 [
syntax also has a prefix form ][] T
, so [
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.
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.)
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
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.
I don’t understand the complaint. What exactly is the issue?
I’ll update my mems when Microsoft decides to implement C99. (Hey, it’s only been a quarter of a century …)
Yeah, just don’t make any mistakes and you’ll be fine. Come on guys, how hard can it be?
The same is true of std::endl. std::endl is simply defined as << '\n' << std::flush
; nothing more, nothing less. In all cases where endl gives you a “properly translated” newline, so does \n
.
std::endl provides zero portability benefits. C++ does have a portable newline abstraction, but it is called \n
, not endl.
My CGI script is a SaaS.
for (int i = INT_MIN; ; i++) { ... if (i == INT_MAX) break;}
@racketlauncher831 As far as the C compiler is concerned, there is literally no difference between those two notations. If you declare a function parameter as an array (of T), the C compiler automatically strips the size information (if any) and changes the type to pointer (to T).
(And if we’re talking humans, then char *args[]
does not mean “follow this address to find a list of characters” because that’s the syntax for “array of pointers”, not “pointer to array”.)
@affiliate Hey, you didn’t even mention that char *args[]
actually means char **args
in a parameter list.
@stebo02 @Bogus5553 Neither of them require a return value, but void main
isn’t legal C++.
Strictly speaking, it should be
Unsafe block syntax in C++
{ ...}
… Perl, Haskell, Lisp, …
That confirms exactly what tyler said. I’m not sure if you’re misreading replies to your posts or misreading your own posts, but I think you’re really missing the point.
Let’s go through it point by point.
tyler said “JSON Schema is not an ISO standard”. As far as I can tell, this is true, and you have not presented any evidence to the contrary.
tyler said “JSON Data Interchange Format is a standard, but it wasn’t published until 2017, and it doesn’t say anything about 1.0 needs to auto cast to 1”. This is true and confirmed by your own link, which is a standard from 2017 that declares compatibility with RFC 8259 (tyler’s link) and doesn’t say anything about autocasting 1.0 to 0 (because that’s semantics, and your ISO standard only describes syntax).
tyler said “JSON Schema isn’t a specification of the language, it’s for defining a schema for your code”, which is true (and you haven’t disputed it).
Your response starts with “yes it is”, but it’s unclear what part you’re disagreeing with, because your own link agrees with pretty much everything tyler said.
Even the part of the standard you’re explicitly quoting does not say anything about 1.0 and 1 being the same number.
Why did you bring up JSON Schema (by linking to their website) in the first place? Were you just confused about the difference between JSON in general and JSON Schema?
Isn’t that how B worked?