Logs: freenode/#haskell
| 2020-10-05 19:20:02 | <ski> | (btw, note that also functions are values, in Haskell) |
| 2020-10-05 19:20:03 | <zoom84> | because of habit working with other languages. I realize it is indeed just a value, esp since it's immutable. but it's hard to not just call it a variable, or at least an instance of a type |
| 2020-10-05 19:20:24 | → | Super_Feeling joins (~Super_Fee@103.92.43.209) |
| 2020-10-05 19:20:32 | <ski> | yea, using the "value" term tends to emphasize the immutability, which is a good thing :) |
| 2020-10-05 19:20:55 | <ski> | a "variable" is a syntactic thing |
| 2020-10-05 19:20:57 | <monochrom> | MyLeft 50 is not a variable in any sense, any culture. |
| 2020-10-05 19:21:10 | × | Super_Feeling quits (~Super_Fee@103.92.43.209) (Client Quit) |
| 2020-10-05 19:21:14 | <ski> | in your program source, `z' is a variable, but `MyList 50' is not a variable |
| 2020-10-05 19:21:19 | → | Super_Feeling joins (~Super_Fee@103.92.43.209) |
| 2020-10-05 19:21:33 | <ski> | but the variable `z' refers (will refer) to the value `MyList 50' |
| 2020-10-05 19:21:36 | <zoom84> | mono, If in an OOP I have a class called MyLeft and a constructor which takes an int, the resulting instance would be stored in a variable, no? |
| 2020-10-05 19:21:39 | <monochrom> | I'm OK with "instance" as long as you also agree, consistently, to say that "50 is an instance of type Integer". |
| 2020-10-05 19:21:58 | <monochrom> | MyLeft is not an OOP constructor to begin with. |
| 2020-10-05 19:22:10 | <zoom84> | i guess more specifically the variable would be called a reference. or a ptr |
| 2020-10-05 19:22:15 | <monochrom> | OOP constructor means you can write arbitrary code. |
| 2020-10-05 19:22:21 | <dolio> | No, it's a variable. |
| 2020-10-05 19:22:28 | <ski> | (of course, `MyList 50' is, strictly speaking, also just text, in a source file. so when we say "the value `MyList 50'", we really mean "the value that the expression `MyList 50' describes") |
| 2020-10-05 19:22:29 | <monochrom> | MyLeft doesn't contain arbitrary code you can write. |
| 2020-10-05 19:22:34 | × | Super_Feeling quits (~Super_Fee@103.92.43.209) (Client Quit) |
| 2020-10-05 19:22:34 | <dolio> | Like an actual mathematical variable. |
| 2020-10-05 19:23:07 | <ski> | variables (in Haskell, as in math) are immutable |
| 2020-10-05 19:23:14 | <zoom84> | monochrom, by culture i thought you were including other languages. do you mean specific to haskell? |
| 2020-10-05 19:23:22 | → | Super_Feeling joins (~Super_Fee@103.92.43.209) |
| 2020-10-05 19:23:32 | <monochrom> | By "any culture" I already include other languages. |
| 2020-10-05 19:23:51 | <monochrom> | In no language you take a literal and say "it's a variable". |
| 2020-10-05 19:24:00 | <monochrom> | 50 is a literal. MyLeft 50 is also a literal. |
| 2020-10-05 19:24:16 | <zoom84> | the literal is not a variable. the instance created by the constructor that was passed the literal is what I'm calling a variable |
| 2020-10-05 19:24:21 | <monochrom> | z is a variable but MyLeft 50 is not a variable. |
| 2020-10-05 19:24:39 | <ski> | zoom84 : if you don't name the value, then there is no variable |
| 2020-10-05 19:24:41 | <zoom84> | agreed |
| 2020-10-05 19:25:02 | <ski> | the variable is a name, that you use to refer to a value (the value described by some expression) |
| 2020-10-05 19:25:07 | geekosaur | wonders if zoom84 is reaching for "expression" |
| 2020-10-05 19:25:21 | × | Falkeo quits (5631fd8b@ip-86-49-253-139.net.upcbroadband.cz) (Remote host closed the connection) |
| 2020-10-05 19:25:23 | <monochrom> | In OOP even the objects and instances are not called variables. |
| 2020-10-05 19:25:51 | <zoom84> | let x = MyLeft(50) |
| 2020-10-05 19:25:58 | <monochrom> | And that includes both mutable objects and immutable objects. |
| 2020-10-05 19:26:30 | × | dhouthoo quits (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.8) |
| 2020-10-05 19:26:34 | <monochrom> | What is dissatisfying to me is a double standard in other cultures. |
| 2020-10-05 19:26:43 | <ski> | zoom84 : btw, it's quite normal (and important) to struggle a bit, as a beginner, with terminology. first to "align vocabulary", so that you can more easily communicate without misunderstandings. but perhaps even more to "align mental maps", to form and highlight the right concepts that we use, when thinking about and discussing things |
| 2020-10-05 19:27:10 | <sep2> | @monochrom apologies. What is it implying in the '\s' in \s c->0 part? |
| 2020-10-05 19:27:11 | <lambdabot> | Unknown command, try @list |
| 2020-10-05 19:27:43 | <monochrom> | To them, an object of a user-defined type "is an instance", but one of a built-in type like int "is not an instance". That's double standard. That's proving that in those cultures, user-defined types are second class, doesn't enjoy as much privilege as built-in types. |
| 2020-10-05 19:27:49 | <ski> | (it's not so simple as just to say "this term in Java is called this in Haskell". there are actual discrepancies between how we delineate concepts, and which concepts we elect to give importance, by naming them, talking about them) |
| 2020-10-05 19:28:00 | <dolio> | Oh man, I thought the @ might stop without the op. :P |
| 2020-10-05 19:28:30 | × | zoom84 quits (44beb1c9@068-190-177-201.res.spectrum.com) (Remote host closed the connection) |
| 2020-10-05 19:28:34 | <monochrom> | In Haskell, we will have none of that. All types, built-in or user-defined, have values. Oh, for user-defined types the value syntax looks a bit different? Big deal, they're still values. |
| 2020-10-05 19:29:03 | → | zoom84 joins (44beb1c9@068-190-177-201.res.spectrum.com) |
| 2020-10-05 19:29:33 | <ski> | sep2 : note that it's not IRC custom/convention to adorn nicknames with sigils (like `@'). if you want to refer to someone, or address them specifically, simply mention their nickname |
| 2020-10-05 19:29:34 | <zoom84> | ski, agreed that terminology is important, esp for asking questions effectively. that's why I go out of my way to make sure I'm naming things correctly |
| 2020-10-05 19:29:41 | → | wroathe_ joins (~wroathe@75-146-43-37-Minnesota.hfc.comcastbusiness.net) |
| 2020-10-05 19:29:47 | <zoom84> | ie, why I ask if i'm naming things correctly :) |
| 2020-10-05 19:30:13 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
| 2020-10-05 19:30:27 | <hpc> | sep2: your client should tab-complete with the correct convention btw, like this |
| 2020-10-05 19:30:28 | <ski> | sep2 : in the latter case, it's good to mention their nicknames first in the message, followed by a comma or colon, and the bulk of the message. many IRC clients alert/hilight the user, if their nickname is mentioned first. not as many do that, if the nickname is not at the very start (e.g. if there a `@' in front of it) |
| 2020-10-05 19:30:53 | <monochrom> | sep2: That's a lambda. |
| 2020-10-05 19:30:59 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) () |
| 2020-10-05 19:31:15 | <ski> | sep2 : also, `@', in association with nicknames, means something specific on IRC (namely that someone is a channel operator. but even if someone has a `@' in front of their nickname, in the channel nickname list, i'd suggest not spelling `@' out, when referring to them) |
| 2020-10-05 19:31:16 | <monochrom> | I wrote an anonymous function in situ. |
| 2020-10-05 19:31:34 | <monochrom> | It's for the state transition function. |
| 2020-10-05 19:31:43 | wroathe_ | is now known as wroathe |
| 2020-10-05 19:31:48 | <ski> | (sep2 : as you noticed, starting a message like "@<nickname> ..." also confuses lambdabot ..) |
| 2020-10-05 19:33:21 | × | alp quits (~alp@2a01:e0a:58b:4920:84ce:b984:b792:c925) (Ping timeout: 272 seconds) |
| 2020-10-05 19:33:24 | <ski> | zoom84 : yea, it's fine :) .. i tend to, sometimes, nitpick a bit on ambiguous or incorrect terminology, especially if i think there's a beginner involved. i've been told several times that that has helped them to get a better understanding of the relevant concepts that we're referring to, in Haskell |
| 2020-10-05 19:34:08 | <sep2> | ski: right on I didn't notice these things until you pointed it out |
| 2020-10-05 19:34:57 | × | avdb quits (~avdb@ip-213-49-124-37.dsl.scarlet.be) (Quit: WeeChat 2.9) |
| 2020-10-05 19:35:10 | <ski> | (if someone is already more familiar with the concepts, one can afford to use more sloppy terminology, when communicating, as long as people "get what you mean" (can fallback on more explicit, on a by-need basis). but, in my experience, this is not a good thing to do, when one's learning the concepts) |
| 2020-10-05 19:35:57 | × | ralejs quits (~ralejs@2620:10d:c093:400::5:2842) (Read error: Connection reset by peer) |
| 2020-10-05 19:35:57 | → | ralejs_ joins (~ralejs@2620:10d:c093:400::5:2842) |
| 2020-10-05 19:35:58 | hackage | uniqueness-periods-vector-examples 0.8.0.2 - Usage examples for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.8.0.2 (OleksandrZhabenko) |
| 2020-10-05 19:36:07 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2020-10-05 19:37:57 | → | conal joins (~conal@64.71.133.70) |
| 2020-10-05 19:38:19 | → | ashbreeze joins (~mark@72-161-254-200.dyn.centurytel.net) |
| 2020-10-05 19:38:47 | → | blackfield joins (~blackfiel@unaffiliated/blackfield) |
| 2020-10-05 19:38:50 | → | wroathe_ joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
| 2020-10-05 19:39:58 | × | _ashbreeze_ quits (~mark@72-161-254-200.dyn.centurytel.net) (Ping timeout: 256 seconds) |
| 2020-10-05 19:40:27 | <ski> | zoom84 : "If in an OOP I have a class called MyLeft and a constructor which takes an int, the resulting instance would be stored in a variable, no?" -- not necessarily. e.g. `frob(new MyLeft<Integer,String>(50));' |
| 2020-10-05 19:40:48 | × | wroathe quits (~wroathe@75-146-43-37-Minnesota.hfc.comcastbusiness.net) (Ping timeout: 258 seconds) |
| 2020-10-05 19:40:55 | × | machinedgod quits (~machinedg@142.169.78.126) (Ping timeout: 240 seconds) |
| 2020-10-05 19:41:36 | → | machinedgod joins (~machinedg@142.169.78.126) |
| 2020-10-05 19:43:04 | <monochrom> | I store my DVDs in a box. I don't call my DVDs "the box". |
| 2020-10-05 19:43:11 | × | GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
| 2020-10-05 19:43:27 | → | GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
| 2020-10-05 19:43:27 | × | GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
| 2020-10-05 19:43:27 | → | GyroW joins (~GyroW@unaffiliated/gyrow) |
| 2020-10-05 19:43:44 | <int-e> | . o O ( A DVD is a physical container for bits. ) |
| 2020-10-05 19:44:09 | → | bitmapper joins (uid464869@gateway/web/irccloud.com/x-tfzdjxpokcsicuwj) |
| 2020-10-05 19:44:15 | wroathe_ | is now known as wroathe |
| 2020-10-05 19:44:58 | <monochrom> | We sometimes forgive ourselves for saying "let's watch a DVD together for two hours!" but you never literally stare at the DVD itself. |
| 2020-10-05 19:45:23 | <no-n> | lol |
| 2020-10-05 19:45:32 | ski | . o O ( `foldDVD :: (a -> Bool -> a) -> (a -> DVD -> a)' ) |
| 2020-10-05 19:46:30 | <sep2> | for taking in a letter, first example I see is Q={ε,a,T}, how do you represent the epsilon in Haskell? Theres a small diagram and looks like epsilon is start state, a end, t is trap state |
| 2020-10-05 19:46:40 | <ski> | int-e : fwiw, `IChan' has no `Eq' instance |
| 2020-10-05 19:46:57 | hackage | uniqueness-periods-vector-examples 0.8.0.3 - Usage examples for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.8.0.3 (OleksandrZhabenko) |
| 2020-10-05 19:47:29 | <tomsmeding> | % :kind! FilePath |
| 2020-10-05 19:47:30 | <yahb> | tomsmeding: *; = FilePath |
| 2020-10-05 19:47:39 | <tomsmeding> | when did that stop giving me the full, normalised type? |
| 2020-10-05 19:47:46 | <monochrom> | You use Int for states, so make up some numbers 0, 1, 2 to stand for the states, instead of Greek names. |
| 2020-10-05 19:48:03 | <tomsmeding> | the ghc user's guide claims that it still does, but as can be seen, it doesn't :p |
| 2020-10-05 19:48:43 | × | GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
| 2020-10-05 19:48:54 | <monochrom> | hrm, maybe it only works for type families |
All times are in UTC.