rndmprsn's recent activity

  1. Comment on What's your monthly internet access bill? (And why does your ISP suck?) in ~talk

    rndmprsn
    Link Parent
    From comcast? Do you have any competitors in your area or anything? The only competitor in my area is a fiber company but only if you live in one specific neighbourhood.

    From comcast? Do you have any competitors in your area or anything? The only competitor in my area is a fiber company but only if you live in one specific neighbourhood.

  2. Comment on What's your monthly internet access bill? (And why does your ISP suck?) in ~talk

    rndmprsn
    (edited )
    Link
    We currently pay $185/month for internet, tv, and (home) phone from comcast in SW Florida. Supposedly the internet is 100+Mbps but I have noticed what seems to be throttling even when I'm right...

    We currently pay $185/month for internet, tv, and (home) phone from comcast in SW Florida. Supposedly the internet is 100+Mbps but I have noticed what seems to be throttling even when I'm right next to the router. Moreover, they speed up the service whenever speedtest.net is visited to make it seem faster than it is. I noticed this when a download was downloading at 500Kbps so I visited the website to check my speed and although it was initially slow, it sped up fast when I pressed the start button and after the speedtest finished the download slowed back down as well. Thinking this was a coincidence, I tried again and this pattern held true for the next 8 speedtests... For context, I just checked and I am supposedly getting 177.57Mbps download & 11.78Mbps upload.

    I'm thinking of throwing out the phones, getting satellite, and downgrading to the internet-only $100/month 40Mbps option.

    8 votes
  3. Comment on The Ante programming language in ~comp

    rndmprsn
    Link Parent
    I am not really at that stage yet but package management will hopefully be integrated into the build system as well. For some reason I never like having to use a markup language to list...

    I am not really at that stage yet but package management will hopefully be integrated into the build system as well. For some reason I never like having to use a markup language to list dependencies so it will most likely be an ante library as well, most likely under the name Package. I am also looking in to having an automatic semantic versioning system in the package manager like elm does although nothing is set in stone at this point.

  4. Comment on The Ante programming language in ~comp

    rndmprsn
    Link Parent
    I am not the most knowledgeable in formal verification but I think it could be used to prove certain semantics in the base language at least. Once you add in some of the compiler's api being very...

    I am not the most knowledgeable in formal verification but I think it could be used to prove certain semantics in the base language at least. Once you add in some of the compiler's api being very unsafe or unfriendly to verification (changing the type system, inserting directly into LLVM IR, ...), I dont think you would be able to make too many guarentees but again I could be wrong.

    Dependency management in regard to Ante's integrated build system is a "new" api but the actual dependency management is based on the tup build system. In short, each file and command is a node in the DAG. A key feature I like about tup's approach is that it detects the dependencies of a command by examining which files are opened by the process, thus ensuring you never forget a dependency.

    If you are just compiling pure Ante (or Ante & C/C++ headers) you will not need the build system at all as it is taken care of by Ante's module system.

    1 vote
  5. Comment on The Ante programming language in ~comp

    rndmprsn
    Link Parent
    My reasoning for fun instead of fn or other keyword is that fun abides by the 3 character rule. ie. if you have an indentation level of 4 then your code will be aligned with the function name...

    My reasoning for fun instead of fn or other keyword is that fun abides by the 3 character rule. ie. if you have an indentation level of 4 then your code will be aligned with the function name after fun:

    fun show_usage:
        print "usage: bf <file>"
        print "     | bf -e <program>"
    

    I also like the idea of more functions = more fun but I can see that being a bit on the nose. fun is originally from OCaml's lambda syntax but Ante just uses it for all functions instead of just lambdas. Why do you prefer fn if I may ask?

    1 vote
  6. Comment on The Ante programming language in ~comp

    rndmprsn
    Link Parent
    Thank you, I guess I tried to make the description at the top of the site a bit too brief. I'll definitely try to merge in that paragraph too. I realized the website does cover a lot of features...

    Thank you, I guess I tried to make the description at the top of the site a bit too brief. I'll definitely try to merge in that paragraph too. I realized the website does cover a lot of features in the language but fails to mention that almost all of them are just library implementations using the compile time api. The module system, build system, and gradual memory management are all built on the API yet are given the same amount of attention in the features list than the "extensible" feature.

    1 vote
  7. Comment on The Ante programming language in ~comp

    rndmprsn
    Link Parent
    There is already a Dockerfile on the master branch. Ante has sublime text 3 (maybe 2 as well, but I only tested with 3) plugin, as well as a vim plugin. In the future there will be plugins for...

    There is already a Dockerfile on the master branch. Ante has sublime text 3 (maybe 2 as well, but I only tested with 3) plugin, as well as a vim plugin. In the future there will be plugins for other ides/text editors but I prioritized the ones I use atm. As for the integrated build system, its API is mostly stabilized (it is based off of the tup build system) but it is still unimplemented. I originally planned for it to use compile-time features but I'm questioning if that is even needed if you already have a dedicated build.an file. For now, the ante compiler can compile all ante code with a single ante file.an but for multiple languages a traditional build system is still needed.

  8. Comment on The Ante programming language in ~comp

    rndmprsn
    Link Parent
    Rust is inherently inflexible, like how GC'd languages limit themselves to only be usable with a garbage collector, rust is limited in that it can only be used with its ownership system which is...

    Rust is inherently inflexible, like how GC'd languages limit themselves to only be usable with a garbage collector, rust is limited in that it can only be used with its ownership system which is not always preferable for all types of work. For Ante, you can choose between having a GC, ownership semantics, manual deallocation, etc. If you import Ownership a variety of compile time functions are included that implement ownership guarentees by tracing lifetimes (and defining a way to manually set them when needed).

    If you want a stronger metaprogramming example, there is the example on github where goto is implemented by directly inserting into the LLVM IR:

    //The 'ante' keyword declares compile-time values
    ante
        global mut labels = Map.init Str LLVM.BasicBlock
    
        fun goto: VarNode vn
            let label = labels.lookup vn.name ?
                None -> Ante.error "Cannot goto undefined label ${vn}"
    
            LLVM.setInsertPoint <| getCallSiteBlock ()
            LLVM.createBr label
    
        fun label: VarNode vn
            let ctxt = Ante.llvm_ctxt
            let callingFn = getParentFn <| getCallSiteBlock ()
            let lbl = LLVM.BasicBlock ctxt callingFn
            labels#vn.name = lbl
    
    //test it out
    label begin
    print "hello!"
    goto begin
    

    If you want further examples there are some at http://antelang.org/docs/compiler-directives/
    but the API is very much still changing.

    5 votes
  9. Comment on The Ante programming language in ~comp

    rndmprsn
    Link Parent
    One of the advantages of Ante is that it does not need to be a low level language. If you do not want to bother with memory management you can just import GC and get a garbage collector. You are...

    One of the advantages of Ante is that it does not need to be a low level language. If you do not want to bother with memory management you can just import GC and get a garbage collector. You are free to program in a style as high level as python or haskell if you wish.

    This language is a general purpose programming language so the applications made with it can vary like most languages. That being said, because the language itself can go as low or high level as needed it (imo) makes it a good language for game development since you can tightly optimize inner loops while also having other parts of the codebase be written in an easily understood high-level style.

    10 votes
  10. Comment on The Ante programming language in ~comp

    rndmprsn
    Link
    I have been working on this project for a few years now and would like some feedback towards the direction of the project. Note that the website details the language itself rather than the subset...

    I have been working on this project for a few years now and would like some feedback towards the direction of the project. Note that the website details the language itself rather than the subset that is implemented in the current compiler.

    Ante is a statically and strongly typed, compiled language that compiles to low level code. The most important principle of the language is that it should be, first and foremost, extensible. I have taken inspiration from various lisps (mostly racket) but in my opinion they do not go far enough. You should not have to switch languages just because you want a garbage collector and you should not have to switch if you want an ownership or lexical lifetime system. In fact, I would not be satisfied if there was anything you have to switch languages for.

    Ante's primary feature is its use of compile time execution to also interface with the compiler as a library and allow compiler extensions to be made within the program itself. This allows for programming your own optimization passes, implementing ownership semantics, extending the type system, etc.

    The language itself takes a mostly ML inspired syntax with significant indentation, somewhat similar to f#. The majority of time spent programming is reading code, not writing it, so I wanted it to be easily readable and approachable to new programmers.

    13 votes
  11. Comment on <deleted topic> in ~tildes

    rndmprsn
    (edited )
    Link Parent
    Not at all. I'd be honored :) Edit: I added a version that includes pfg's collapse button change as well.

    Not at all. I'd be honored :)

    Edit: I added a version that includes pfg's
    collapse button change as well.

    3 votes
  12. Comment on <deleted topic> in ~tildes

    rndmprsn
    Link
    I made a dark and flat theme recently. here is what the main page looks like, and these are the comments. I now have almost all the sites I visit regularly using a variant of this theme with these...

    I made a dark and flat theme recently.

    here is what the main page looks like, and these are the comments.

    I now have almost all the sites I visit regularly using a variant of this theme with these same
    colors. Just one step closer to a dark theme to rule them all.

    3 votes
  13. Comment on Alternatives to Google as a Search Engine? in ~tech

    rndmprsn
    Link Parent
    I just searched Python on DDG and received pages of information about the programming language and none about actual pythons. I find DDG is usually very good when it comes to programming-related...

    I just searched Python on DDG and received pages of information about the programming language and none about actual pythons. I find DDG is usually very good when it comes to programming-related searches and I haven't needed to go back to Google after >2 years of DDG. The image search can be rather lacking sometimes however.

    7 votes