back
user profile
iLemming
2,828karma·2,026submissions·February 14, 2015
about
@iLemming
[ my public key: https://keybase.io/agzam; my proof: https://keybase.io/agzam/sigs/La7qFk8YkbwfkgeSx7vkBWBba2f3HIpZyNVxUHvshbU ]
recent activity (2,026 total)
comment
Alright, I admit, I have not worked on teams where immutable.js was used a lot, so I don't have any insight specifically on its impact on performance. Still personally wouldn't call immutabi…
comment
You're just waving off the whole bag of benefits: Yes, js runs in a single-threaded environment for user code, but immutability still provides an immense value: predictability, simpler debugging,…
comment
Without persistent data structures (structural sharing) - every change requires copying the entire data structure, memory usage explodes, time complexity suffers, GC pressure increases dramatically. W…
comment
> Why do we use the terms "mutable" and "immutable" to describe those concepts? Mutable is from Latin 'mutabilis' - (changeable), which derives from 'mutare'…
comment
> We shouldn't forget that there are trade-offs Like @drob518 noted already - the only benefit of mutation is performance. That's all. That's the only, distinct, single, valid point …
comment
> Its quite rare to see interop between compile to js languages tho js interop in Clojurescript is dead simple. Moreover, you can have shared logic between different runtimes. The promise of Nodejs…
comment
I am not being pedantic, there's critical fundamental conceptual difference that has real implications for how people write and reason about code. There's performance reasoning, different le…
comment
> Clojure is cool Clojure is not "cool". Matter of fact, for a novice it may look distasteful, it really does. Ask anyone with a prior programming experience - Python, JS, Java to read so…
comment
> I didn't say that it does have exhaustive immutability support seal and freeze in js are not 'immutability'. You said what you said - "JavaScript itself has built in immutabil…
comment
One doesn't need to "wear a tie" to learn Clojure - syntax is so simple it can be explained on a napkin. You need to get: 1. An editor with structural editing features - google: "p…
comment
> then that'd be perfect. There's no such thing as "perfect" for everyone and for every case. > feels like jumping through unnecessary hoops for little gain really. I dunno w…
comment
> immense amount of work it took to understand code without static typing. I've used it almost a decade - only felt that way briefly at the start. Idiomatic Clojure data passing is straightfor…
comment
The allocation overhead rarely matters in practice - in some cases it does. For majority of "general-purpose" tasks like web-services, etc. it doesn't - GC is extremely fast; allocation…
comment
> I made a half-hearted attempt to learn Haskell Try Clojure(script) - everything that felt confusing in Haskell becomes crystal clear, I promise. > Consider a histogram function. You can absolu…
comment
Ah, I've misinterpreted it then. > I too can't take a seriously an editor which doesn't have Vim keybindigns at least in a very basic form. tbh, I can't take any experienced pro…
comment
I think we're talking past each other. > I like immutable structures and use them frequently. Are you talking about immutable structures in Clojure(script)/Haskell/Elixir, or TS…
comment
> No runtime cost in production is the goal Clojure's persistent data structures are extremely fast and memory efficient. Yes, it's technically not a complete zero-overhead, pragmatically…
comment
yeah, immutability.js is a solid engineering effort to retrofit immutability onto a mutable-first language. It works, but: it's never as ergonomic as language-native immutability and it just feel…
comment
Immutability is really valuable for most application logic, especially: - State management - Concurrency - Testing - Reasoning about code flow Not a panacea, but calling it "overrated" usual…
comment
Javascript DOES NOT in fact have built-in immutability similar to Clojure's immutable structures - those are shallow, runtime-enforced restrictions, while Clojure immutable structures provide dee…
comment
Also, interestingly Clojurescript compiler in many cases emits safer js code despite being dynamically typed. Typescript removes all the type info from emmitted js, while Clojure retains strong typing…
comment
There are no "Emacs experts". Bedrock of Emacs is Lisp. Lisp is the essence of computation itself. It's both simple to understand (5 basic special forms) and impossible to master at the…
comment
> No issues here, except for you being an Emacs user I am a die-hard vimmer. I just one day woke up and realized that Emacs vims better than Vim. Seriously though - it's not about concrete imp…
comment
> and becoming more user friendly. Familiar UX is not the kind of multiplier. Learning Lisp REPL idioms is the multiplier. Selling Emacs with "easy" may have adverse effects in the long r…
comment
> Cmd-Shift-P does the same as Emacs’ M-x Only superficially, but not even close in practice. In M-x you can run recursive commands; you have history; you can search through history back and forth;…
comment
> VS code users don't really care about Vim I disagree. vim-navigation is imperative for a huge number of devs. It's an amazing, practical, beautiful model. I would've never tried em…
comment
Emacs can't do that for historic reasons. It just can't distinguish between keypress and keyup events. It receives input events from the terminal/OS. Terminals are text-oriented: They e…
comment
Lem looks great and I wish we all could simply move there, I personally, am not married to a concrete implementation of Emacs, I just love the idea of an editor built atop a Lisp REPL; I don't th…
comment
Yup, just the other day I was talking about it on subreddit, will repeat here verbatim: My comment is an honest reflection of long-time Emacs usage. When I started, years ago, I just couldn't wra…
comment
> I hope you're happy Not until you are happy, it makes me sad when Emacs makes people sad for whatever reason. > Having a text based Jira frontend seems attractive Yeah, I can't even …