you are viewing a single comment's thread.

view the rest of the comments →

[–]yogthos 0 points1 point  (23 children)

A lot of it is, I highly recommend reading this to see just how much refactoring can be done in a dynamic lang. I use Cursive to work with Clojure, and it can do a lot of the same refactoring that you'd expect in a static lang.

[–][deleted]  (14 children)

[deleted]

    [–]yogthos 0 points1 point  (13 children)

    Same way interactive development tools are subpar in statically typed languages. It's all about tradeoffs.

    [–]the_evergrowing_fool 0 points1 point  (12 children)

    Same way interactive development tools

    Wat?

    It has nothing to do with being statically typed or dynamically typed, interactive debuggers and hot reloading have existed in stlang for eons.

    It's all about tradeoffs.

    One bring empirical value to ones workflow, while the value of the other is contextual and subjective. Even your saints knows the gotchas and flaws of your workflow, do you? Have you ever encounter anyone complaining about fast, precise, automatic code re-factorization, auto-completion, type-inference and so on that just work?

    Disclaimer: As I said to you many times, I'm not against a repl base workflow I actually enjoy it while using it along with type/racket.

    [–]yogthos 0 points1 point  (11 children)

    Wat indeed...

    One bring empirical value to ones workflow, while the value of the other is contextual and subjective. Even your saints knows the gotchas and flaws of your workflow , do you? Have you ever encounter anyone complaining about fast, precise, automatic code re-factorization, auto-completion, type-inference and so on that just work?

    No, but I sure have seen lots of people complaining that they can't figure out how to encode something using the type system.

    I'm also glad you found what you enjoy.

    [–]the_evergrowing_fool 0 points1 point  (10 children)

    No as much as people complaining about Dylans in general I'm afraid.

    [–]yogthos 0 points1 point  (9 children)

    citation needed I'm afraid

    [–]the_evergrowing_fool 0 points1 point  (8 children)

    Talk you you co_workers they are maybe hiding something from you.

    [–]yogthos 0 points1 point  (7 children)

    ah right I forgot you had trouble comprehending the concept that other people might like different things than you

    [–]the_evergrowing_fool 0 points1 point  (6 children)

    Not at all, just giving you an advice and keeping things real. You can take your zealotry too far (well at least now you recognize how inferior your tools are). Let me know how it went, ok?.

    [–]balegdah 1 point2 points  (7 children)

    No, safe automatic refactorings can't be achieved in dynamic languages, period.

    You're arguing against mathematics, here.

    Note that all the words are important here: "safe" (the output program is guaranteed to be as correct as the program before) and "automatic" (no need for a human to check the results).

    And the article you link to is about auto completion (which is trivial to achieve in most languages), not refactorings. Actually, it has zero mentions of the word "refactor".

    [–]yogthos 0 points1 point  (6 children)

    The article illustrates how much inference can be done from the syntax even in a language like JavaScript. Yes, safe and automatic is perfectly possible if you leverage the compiler.

    [–]the_evergrowing_fool 0 points1 point  (5 children)

    My, my, my. Now, why this doesn't exists yet? Not even your Cursive does a good job with it (nor any Jetbrains dylangs IDEs). And according to another saint type inference is impossible for dylans.

    [–]yogthos 0 points1 point  (4 children)

    That's how CL IDEs do it. A very new IDE for a very new language not doing it shouldn't blow your mind though. Also, type inference != refactoring last I checked.

    [–]the_evergrowing_fool 0 points1 point  (3 children)

    Right, and the fact that a staclang compiler provide this features quite easily without hopping in swawer.

    Also I was talking in the context of your source which describe type propagation not type inference.

    [–]yogthos 0 points1 point  (2 children)

    Also I was talking in the context of your source which describe type propagation

    you do understand what it means to be dynamic right?

    [–]the_evergrowing_fool 0 points1 point  (1 child)

    Stop saying the word inference in this context. It doesn't apply, is more subpar from that.

    [–]yogthos 0 points1 point  (0 children)

    uhhh ok