Timeline for What are some intuitions that support calling the Maybe constructor in Haskell "Just"?
Current License: CC BY-SA 3.0
24 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Jun 16, 2020 at 10:01 | history | edited | CommunityBot | Commonmark migration | |
| Sep 19, 2017 at 15:30 | review | Close votes | |||
| Sep 24, 2017 at 3:09 | |||||
| Sep 19, 2017 at 9:38 | answer | added | Lloyd Moore | timeline score: 1 | |
| Aug 4, 2017 at 8:33 | history | tweeted | twitter.com/StackSoftEng/status/893389541201129472 | ||
| Jul 31, 2017 at 19:38 | comment | added | Andres F. | @RobertHarvey That'd be confusing, because Nothing IS a value (everything has a value in expression-oriented languages). Specifically, it is a value of type Maybe a. | |
| Jul 31, 2017 at 15:24 | comment | added | Robert Harvey | @AndresF. I would have gone with simply Value. Some makes even less sense to me than Just. | |
| Jul 28, 2017 at 20:28 | comment | added | vijrox | @RobertHarvey I'm plenty experienced with the idea and usage of the optional type; the name "just" still doesn't make sense to me. | |
| Jul 28, 2017 at 18:38 | comment | added | Andres F. | @RobertHarvey (I agree with your last comment, btw) I think there's not much SPJ won't answer. If you've watched any of his talks, which I highly recommend, you'll see his personality is that of a grown-up kid, tremendously enthusiastic about everything and without an inch of meanness. I don't think he'll dismiss many questions out of hand. | |
| Jul 28, 2017 at 17:49 | comment | added | Robert Harvey | Asking why Just was chosen is putting the cart before the horse. Use the construct long enough, and the meaning of Just becomes readily apparent. One of the differences between adults and children is that adults want to understand something first, before they try it. Try it first, and then you will understand it. | |
| Jul 28, 2017 at 17:22 | comment | added | Jules | @RobertHarvey - I don't know much about Wadler, but given that SPJ has a very serious focus on computer science education and evangelism (as well as being a major contributor to Haskell he's also a key player in a major UK charity that campaigns to improve CS education for children) I'd imagine explaining stuff like this is right up his street, so to speak. | |
| Jul 28, 2017 at 17:21 | comment | added | Jörg W Mittag | @RobertHarvey: Actually, SPJ has explained in pretty much every introductory talk or class I have seen him give that it's called that because it's either "Nothing" or "Just an a". | |
| Jul 28, 2017 at 14:49 | comment | added | Robert Harvey | @DerekElkins: I'm not sure a question like this would be all that interesting to those folks. "You want to know what? Why I picked 'just'? Are you serious?" | |
| Jul 28, 2017 at 13:52 | comment | added | Andres F. | @DerekElkins Right, ML! I forgot about it. And SPJ seems like a genuinely nice guy, he'll likely answer this kind of question :) | |
| Jul 28, 2017 at 3:23 | comment | added | Derek Elkins left SE | They are still alive. You can email people like Phil Wadler and Simon Peyton Jones and ask them. Or try the Haskell-Cafe mailing list. | |
| Jul 28, 2017 at 3:22 | comment | added | Derek Elkins left SE | The historical precedent would have been the Option type. The designers of Haskell probably felt that foo x = Just x "read" better than foo x = Some x. Similarly, the definition data Maybe a = Just a | Nothing reads pretty well as "Maybe a is either Just a or it's Nothing". Some reads reasonably well there, but None doesn't for data Option a = Some a | None. | |
| Jul 28, 2017 at 3:20 | comment | added | Derek Elkins left SE | @RobertHarvey If a Haskeller was using Maybe as a monad, they would likely use return and probably something like mzero instead of Nothing. When Just is used directly, usually Maybe isn't being used in monadic style at that point. | |
| Jul 28, 2017 at 3:17 | comment | added | Derek Elkins left SE | @AndresF. It goes back at least to ML which Odersky was definitely very familiar with. | |
| Jul 28, 2017 at 0:32 | comment | added | Andres F. | In this case, I think the Scala went with the better name of Some as opposed to None (not saying it's Scala's invention). | |
| Jul 28, 2017 at 0:03 | comment | added | Robert Harvey | I'm not a Haskell history expert, so I can only speculate, but... The Maybe monad either returns Just a value, or it returns Nothing. The Just keyword substitutes for return in most other languages, but since the Maybe monad can return Nothing, it is necessary to invoke a different keyword for returning a valid result, and Just is suitable because you're returning Just the actual value, and not something indicating an error condition. Just is more evocative of an 'either/or' situation than return is; you're either returning Nothing, or Just a value. | |
| Jul 27, 2017 at 23:54 | review | Close votes | |||
| Aug 4, 2017 at 3:04 | |||||
| Jul 27, 2017 at 23:46 | comment | added | vijrox | @Samuel I tried editing the question to make it less speculation-based, but perhaps now it's not very stackexchange | |
| Jul 27, 2017 at 23:45 | history | edited | vijrox | CC BY-SA 3.0 | rephrased the title to make answers less speculative |
| Jul 27, 2017 at 23:42 | comment | added | Samuel | I'm voting to close because I think the answers will be primarily opinion based on speculation. | |
| Jul 27, 2017 at 23:32 | history | asked | vijrox | CC BY-SA 3.0 |