Skip Navigation

User banner

Oriel Jutty :hhHHHAAAH:

@ barubary @infosec.exchange

Posts
0
Comments
75
Joined
3 yr. ago

  • Isn't that how B worked?

  • 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 [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.

  • 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.)

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

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

  • POV: You open vim for the first time.

    ![Screenshot of vim start screen. The instruction to exit vim is highlighted in red. It reads:

    VIM - Vi IMproved

    version 9.1.697 by Bram Moolenaar et al. Modified by team+vim@tracker.debian.org Vim is open source and freely distributable

    Help poor children in Uganda! type :help iccf

    <Enter>

    for information

    type :q

    <Enter>

    to exit type :help

    <Enter>

    or

    <F1>

    for on-line help type :help version9

    <Enter>

    for version info](https://media.infosec.exchange/infosec.exchange/media_attachments/files/114/654/520/326/340/201/original/3df1e7f1fb9b8619.png)

  • b == 7 is a boolean value

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

  • 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;}