|
NihilCredo posted:elm is the best learning language for the same reasons that make it a bitch of a 9-5 language: what is a bus factor
|
# ? Nov 7, 2020 03:46 |
|
|
# ? Jun 6, 2024 07:57 |
my stepdads beer posted:what is a bus factor it's how many people need to be hit by a bus before the project falls apart
|
|
# ? Nov 7, 2020 04:06 |
|
elm is also good because there's no chance you'll end up using it in production
|
# ? Nov 7, 2020 04:12 |
|
Everyone who thinks that "opinionated" is a good thing should have to use Elm.
|
# ? Nov 7, 2020 04:38 |
|
DELETE CASCADE posted:I mean compilers are basically a solved problem so why don’t you just let me write whatever I want and then you optimize it for me magically because type checking / sat solving is hard! https://forums.swift.org/t/boolean-comparison-causes-extremely-slow-compilation/41609 at least, doing it quickly is hard
|
# ? Nov 7, 2020 04:47 |
|
VikingofRock posted:it's how many people need to be hit by a bus before the project falls apart oh, lol. nice
|
# ? Nov 7, 2020 04:48 |
|
what’s the term for “number of people who need to be hit by a bus before the project is successful”?
|
# ? Nov 7, 2020 04:49 |
|
agile consultant factor
|
# ? Nov 7, 2020 05:03 |
|
it's never happened so it doesn't need a name
|
# ? Nov 7, 2020 05:03 |
|
Subjunctive posted:what’s the term for “number of people who need to be hit by a bus before the project is successful”? enterprise factor
|
# ? Nov 7, 2020 05:19 |
|
VikingofRock posted:it's how many people need to be hit by a bus before the project falls apart irrelevant Subjunctive posted:whats the term for number of people who need to be hit by a bus before the project is successful? irrelevant the number that counts is whatever the gently caress who cares just get the money first
|
# ? Nov 7, 2020 05:22 |
|
Subjunctive posted:because type checking / sat solving is hard! quote:Bool and Bool.==, like all fundamental types, are defined in the standard library and not built into the compiler. The ideal is that anything required to design these fundamental types should be available to everyone. Because it was suuuuuch a good idea when C++ started doing this.
|
# ? Nov 7, 2020 07:57 |
|
Subjunctive posted:what’s the term for “number of people who need to be hit by a bus before the project is successful”? The Ballmer Coefficient
|
# ? Nov 7, 2020 08:23 |
|
as far as I know there is no special term for "number of programmers"
|
# ? Nov 7, 2020 08:49 |
|
Xarn posted:Because it was suuuuuch a good idea when C++ started doing this. our constraint solver is extremely slow about some of this stuff and i don't understand why at all
|
# ? Nov 7, 2020 09:18 |
|
I do a lot of work with sats and csps, but I am not interested enough in Swift to take a look at what exactly you are doing.
|
# ? Nov 7, 2020 09:47 |
|
RPATDO_LAMD posted:as far as I know there is no special term for "number of programmers"
|
# ? Nov 7, 2020 10:30 |
|
RPATDO_LAMD posted:as far as I know there is no special term for "number of programmers" it's a term of art. definitions vary but basically it means how many can you see from here
|
# ? Nov 7, 2020 10:38 |
|
Cybernetic Vermin posted:i think sml and racket are the places to look at here. sml as the easy intro to cooler type systems, racket as the look at lisps, to take a look at the cool stuff people get up to with dsl's in a context where they are very natural (e.g. stuff like miniKanren)
|
# ? Nov 7, 2020 11:48 |
|
RPATDO_LAMD posted:as far as I know there is no special term for "number of programmers" you take some devs and some tech and you jam 'em all together you get a buggy poo poo stack a buggy poo poo stack
|
# ? Nov 7, 2020 13:13 |
|
Xarn posted:Because it was suuuuuch a good idea when C++ started doing this. yeah, swift is overall very sensibly designed, but the moment you say "well, you see, the expression 'x==false' could mean so many different things that it is a computationally hard problem to figure it out" you for sure have made a very severe mistake along the line (and not just because it makes your compiler difficult to implement).
|
# ? Nov 7, 2020 14:22 |
|
Sagacity posted:a repository?
|
# ? Nov 7, 2020 15:12 |
|
Plorkyeran posted:sml is my favorite programming language that i do not expect to ever use again SML is an industrial strength language with a package manager and literally over half a dozen packages for everything you could possibly need. Migrate all your code to SML today!
|
# ? Nov 7, 2020 16:29 |
|
Definitely SML and a LISP like (SICP with scheme?)
|
# ? Nov 7, 2020 16:33 |
|
animist posted:ty, makes sense. IMO using LLVM is a lot of fun just because it lets you focus on your desired semantics and can produce state-of-the-art high performance output with relatively little effort. Plus then you'll be better prepared to work on any number of real world compiler projects that use it.
|
# ? Nov 7, 2020 21:08 |
|
Ralith posted:IMO using LLVM is a lot of fun just because it lets you focus on your desired semantics and can produce state-of-the-art high performance output with relatively little effort. Plus then you'll be better prepared to work on any number of real world compiler projects that use it. initially implementing code generation "by hand" is a lot of fun IME because going from some hex numbers in your source code to the processor doing a thing for you is a magical experience. all the work you have to do after that to refactor and extend and rewrite and chase dumb edge cases a million times as your use of the generator grows in complexity...that's a lot less fun. were it me I would probably do initial codegen by hand to get something basic up and running (and lick that bare-metal-coding toad), and then use it to generate some regression tests I could work with while implementing the LLVM backend
|
# ? Nov 7, 2020 21:13 |
|
Pretty sure the term for a group of programmers is 'a hive', since that's where all the bugs are made.
|
# ? Nov 12, 2020 14:52 |
|
Or a "colony", because of all the white or Indian people (and the bugs)
|
# ? Nov 12, 2020 15:54 |
|
CPColin posted:Or a "colony", because of all the white or Indian people (and the bugs)
|
# ? Nov 12, 2020 16:01 |
|
Go back in time and tell that to Europe!!
|
# ? Nov 12, 2020 16:19 |
|
To be fair, we *did* try to go west instead.
|
# ? Nov 12, 2020 17:24 |
|
Cybernetic Vermin posted:yeah, swift is overall very sensibly designed, but the moment you say "well, you see, the expression 'x==false' could mean so many different things that it is a computationally hard problem to figure it out" you for sure have made a very severe mistake along the line (and not just because it makes your compiler difficult to implement).
|
# ? Nov 12, 2020 18:50 |
|
Bored Online posted:if im gonna waste my weekend learning a functional lang which one should it be. does it even matter at that point? prolog
|
# ? Nov 13, 2020 08:10 |
|
animist posted:ty, makes sense. llvm because then you can target pretty much anything with your toy language and easily experiment with optimization and such
|
# ? Nov 13, 2020 08:12 |
|
Carthag Tuek posted:nothing matters mattering involves state and we can’t have that
|
# ? Nov 13, 2020 08:13 |
|
redleader posted:elm is also good because there's no chance you'll end up using it in production I worked at a place that used elm in production, and I'll tell you, you can pretty easily write lovely impossible states, and get run-time errors you didn't intend I mean it's harder than JS but you can still get them. It's still ok though, I wouldn't use it again because I hate a lot of the aesthetics of it. like the whole "put the comma on the start of the new line" poo poo.
|
# ? Nov 14, 2020 02:16 |
|
I sat next to some core elm folks at a conference a while back and was trying to ask how you did components since a big match expression thing for the discriminated union on messages isn't extensible by design and the answer was that I didn't want that, but they couldn't explain why (or I didn't know enough to get it). Some notion of private state for a ui seems awfully important to avoid having to build up stuff from primitives in every single app. There has to be a way to reconcile this, right? Types are great and I love em, but I also love composition.
|
# ? Nov 15, 2020 04:42 |
|
havelock posted:I sat next to some core elm folks at a conference a while back and was trying to ask how you did components since a big match expression thing for the discriminated union on messages isn't extensible by design and the answer was that I didn't want that, but they couldn't explain why (or I didn't know enough to get it). Some notion of private state for a ui seems awfully important to avoid having to build up stuff from primitives in every single app. In particular, the ones that try to be almost exactly like elm but do complicated monadic stuff to have local state seem to be superficially easy but then get really complicated once you need to access state from parent elements or vice versa. Halogen, which seems to be the most popular purescript framework, allows you to explicitly break stuff up into components in a way that seems like it might be a better compromise. However, once you start getting into any of this stuff it seems like it eliminates the simplicity that's arguably the whole draw of the MVU approach in the first place. mystes fucked around with this message at 15:19 on Nov 15, 2020 |
# ? Nov 15, 2020 15:08 |
|
havelock posted:I sat next to some core elm folks at a conference a while back and was trying to ask how you did components since a big match expression thing for the discriminated union on messages isn't extensible by design and the answer was that I didn't want that, but they couldn't explain why (or I didn't know enough to get it). Some notion of private state for a ui seems awfully important to avoid having to build up stuff from primitives in every single app. I'm not sure if I'm interpreting your question right, but in practice you just hide everything behind modules and don't import much other than the message type declaration and update functions. So you just end up writing code for the state at the level you are at in the tree, everything else just gets passed down to the component. So while technically the state isn't private. You simply don't ever gently caress around with it except through update functions. people do end up kinda breaking this a lot though, because you often want components to "talk" to each other in two directions and the framework as written doesn't really allow that, so you have to either make all your update functions pass return messages along with their state changes, which means you have to wrap up any component that doesn't do that by default, or re-write all components to work that way meaning they now don't really work right with pages that don't need backwards messaging, poo poo like that. Zaxxon fucked around with this message at 20:12 on Nov 15, 2020 |
# ? Nov 15, 2020 20:07 |
|
|
# ? Jun 6, 2024 07:57 |
|
one big model with all state + one big match expression with a big DU of every possible message is in fact exactly what you want because it's very, very, very easy for a formerly isolated component to suddenly start showing some information located somewhere else, or to suddently start sending messages you used to have to go somewhere else to do e.g. you start with two pages, Contacts and Chats. they are isolated and only access their part of the model, and can only send their specific type of message. then you want to add a popup notification for new chats while you're in the Contacts page - whoops, now the page needs to access the Chats part of the model as well! then you want to be able to type out a quick reply from a textbox inside the popup notification - whoops, now the Contacts page needs to be able to send a ChatReply message as well! if you want to keep them OO-style isolated (ie totally unaware of each other), you end up with different messages based on whether the reply was typed from the full Chat page or from Contacts - which makes no sense and will only complicate things, because it's the same data, just displayed in a different view that doesn't mean you have to keep 3k-line long update and view functions, of course. constantly break that poo poo up as it grows. eliminate repetitions super aggressively. you're enduring all the anal retentiveness of elm for the sake of getting safe and easy refactors, take advantage of it
|
# ? Nov 15, 2020 23:26 |