Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,804,215 events total
2025-08-28 10:36:56 <Lycurgus> polymorphism, i forget the other
2025-08-28 10:38:01 Lycurgus remembers when OOP was new
2025-08-28 10:38:23 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 10:38:27 <Lycurgus> and FP had already been araound a while
2025-08-28 10:39:37 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
2025-08-28 10:39:37 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
2025-08-28 10:39:37 arandombit joins (~arandombi@user/arandombit)
2025-08-28 10:39:55 <Lycurgus> biz likes OOP and it is foundational and presumed in modern data processing
2025-08-28 10:41:22 <Lycurgus> but doers of this time were mostly born after OOP began and even after its universal adoption
2025-08-28 10:41:40 <Lycurgus> in the 90s
2025-08-28 10:42:43 <Lycurgus> the once exciting and magical is for them the old crusty and banal
2025-08-28 10:43:04 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
2025-08-28 10:44:23 <ski> <https://web.archive.org/web/20061014103835/http://community.schemewiki.org/?p=object-oriented-programming&c=hv&t=1108777713> lists nine different aspects
2025-08-28 10:45:49 <ski> encapsulation,protection,ad-hoc polymorphism,parametric polymorphism,everything is an object,all you can do is send a message,specification inheritance,implementation inheritance,sum-of-product-of-function pattern
2025-08-28 10:46:39 <Lycurgus> yeah that list is bloated and repetitive
2025-08-28 10:46:54 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
2025-08-28 10:47:10 <Lycurgus> you could say st was the species specimen, model type whatever
2025-08-28 10:47:25 <ski> SmallTalk ?
2025-08-28 10:47:31 <Lycurgus> y
2025-08-28 10:47:43 <probie> All I know is that Common Lisp's Object System often doesn't meet definitions of "object-oriented", which is a shame, because it's definitely one of my favourite object systems to work with
2025-08-28 10:48:00 <Lycurgus> it also came about a decade later
2025-08-28 10:48:49 × fp quits (~Thunderbi@wireless-86-50-141-108.open.aalto.fi) (Ping timeout: 248 seconds)
2025-08-28 10:48:52 <Lycurgus> and in a sense didn really gel in stable stuff ppl actually use till much later
2025-08-28 10:48:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-08-28 10:49:21 <Lycurgus> CLOS was shaky in my perception till after the turn of the century
2025-08-28 10:49:54 fp joins (~Thunderbi@wireless-86-50-141-108.open.aalto.fi)
2025-08-28 10:50:13 <ski> OO largely improved on design, by encouraging accessing state through a defined interface (making it easier to uphold representation invariants, and do possible validation), rather than arbitrarily reaching into state of one subsystem, from another sub-system
2025-08-28 10:50:18 <Lycurgus> in terms of you could expect it would just work in an implementation
2025-08-28 10:50:55 <Lycurgus> well you can see how transformative it is compared to the flat code scene b4 it
2025-08-28 10:51:03 <ski> (as compared to plain structured (but not necessarily modular) programming, that is)
2025-08-28 10:51:28 <Lycurgus> 'structured programming' which produced pascal was the preceeding big thiing
2025-08-28 10:51:39 <ski> right
2025-08-28 10:52:32 <Lycurgus> which basically meant no uglu bowsl of spagheeti
2025-08-28 10:52:32 <ski> insisting on single-entry and single-exit control structures (to avoid spaghetti programming)
2025-08-28 10:52:50 <Lycurgus> *ugly
2025-08-28 10:53:15 <Lycurgus> *bowls
2025-08-28 10:53:31 <ski> (and short-circuit facilities, like `&&' and `||', as well as `return',`break',`continue', are all deviations from this)
2025-08-28 10:54:17 <Lycurgus> *spaghetti
2025-08-28 10:54:54 <probie> Lycurgus: It was the early 2000s before I ever touched LISP, so I never experienced the implementation pains. I also learnt it _before_ "regular" object orientation, so I remember being constantly disappointed at not having multiple dispatch in anything else
2025-08-28 10:55:16 <sajenim> haskell was my first language, now at school they are teaching java
2025-08-28 10:55:25 <sajenim> and it's fr frustrating
2025-08-28 10:55:31 <ski> (.. in Prolog, the cut, `!', is also an example here. this, together with `return',`break',`continue', all have the aspect that they refer to an implicit surrounding "current context" (predicate clause, function definition, loop command), which makes it harder to refactor code)
2025-08-28 10:55:44 <ski> i feel your pain, sajenim
2025-08-28 10:55:55 <Lycurgus> well CLOS is just the aptheosis of OOP as u'd expect for the lang
2025-08-28 10:56:00 <sajenim> idk how my prof has a phd his code stinks
2025-08-28 10:56:07 <Lycurgus> *apotheosis
2025-08-28 10:56:38 × tromp quits (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-08-28 10:56:44 <sajenim> he turns everything into a 160 column 1 liner
2025-08-28 10:56:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-28 10:56:57 <Lycurgus> so it's not surprising it took a while for the defacto thing outta PCL to become what ppl call CLOS now
2025-08-28 10:57:52 <ski> i guess he has a high resolution screen, sajenim
2025-08-28 10:58:14 <Lycurgus> concision freak maybe
2025-08-28 10:58:16 <sajenim> i have 1440p aswell, but like what about multiple files open
2025-08-28 10:58:53 <ski> too long lines tend to be hard to read (hard to quickly see where the next line starts), also in prose text
2025-08-28 10:58:58 jreicher joins (~user@user/jreicher)
2025-08-28 10:58:59 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2025-08-28 10:59:00 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
2025-08-28 10:59:46 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli)
2025-08-28 10:59:58 <sajenim> my peers called me a bad coder because i mentioned it's frustrating reading his wall of text
2025-08-28 11:00:04 × caconym747 quits (~caconym@user/caconym) (Quit: bye)
2025-08-28 11:01:15 <probie> sajenim: You don't need to write good code for a PhD; the quality of code written doesn't directly map to quality of the research, and there's often less incentive to have things maintainable
2025-08-28 11:01:38 <sajenim> i did read something along the lines of what you are saying
2025-08-28 11:01:44 × fp quits (~Thunderbi@wireless-86-50-141-108.open.aalto.fi) (Ping timeout: 260 seconds)
2025-08-28 11:01:50 <sajenim> in relation to academia
2025-08-28 11:02:12 caconym747 joins (~caconym@user/caconym)
2025-08-28 11:03:42 <jreicher> ski: A closure is not a delayed computation. It's a solution to the upward funarg problem if you optimise the substitution rule for beta reduction by using an environment.
2025-08-28 11:04:51 <Franciman> how much fun did i have when i implemented fully lazy sharing and obtained a 20x increase in speed from ghc's compiled output
2025-08-28 11:04:51 <ski> yes. aka an implementation strategy for a delayed computation
2025-08-28 11:04:56 fp joins (~Thunderbi@2001:708:150:10::72df)
2025-08-28 11:05:14 <Franciman> 30 years of research and implementation bottled by a interpreter done in 2 hours
2025-08-28 11:06:00 <Franciman> if P = NP, life would be brutal
2025-08-28 11:06:09 <ski> (delaying substitutions for variables, in the body of the delayed computation, by bundling that body with the mapping, the substitution/environment. in the case of object-orientation, that environment is known as "instance state")
2025-08-28 11:07:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-08-28 11:13:45 <Lycurgus> i guess i'm feeling that P is prolly = NP, intuitively, verification being semantically close to computation of a value, and i sense a vested job security interest in the opposite position
2025-08-28 11:14:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 11:15:26 <jreicher> You might want to check the difference between constructive and non-constructive proofs before you get comfortable with that
2025-08-28 11:15:50 × califax quits (~califax@user/califx) (Remote host closed the connection)
2025-08-28 11:16:47 <Lycurgus> well it's a matter of abstract principle, i have no interest in setting off on a proof of stuff like that or say church's thesis
2025-08-28 11:17:04 califax joins (~califax@user/califx)
2025-08-28 11:17:09 <Lycurgus> having a considered opition is enough for a humble doer like myself
2025-08-28 11:18:49 <Lycurgus> *opinion
2025-08-28 11:19:26 <jreicher> Church's thesis can't be proven. That's why it's a thesis. :)
2025-08-28 11:19:57 <Lycurgus> so what to you call P = NP, a conjecture?
2025-08-28 11:20:04 <Lycurgus> *do you
2025-08-28 11:20:10 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
2025-08-28 11:22:38 <jreicher> Yes, it's a conjecture. It's liable to formal proof, disproof, or independence.
2025-08-28 11:22:55 <Leary> 'Conjecture' suggests that it's considered likely to hold. I would just call it an open question.
2025-08-28 11:25:46 <kuribas> OO or actor model are good for large scale parts, where each part is self contained, and communicates with messaging.
2025-08-28 11:26:01 <Lycurgus> my feels are that proving church's thesis is like proving there's no god
2025-08-28 11:26:04 <kuribas> Using OO for numbers is ridiculous IMO, why send a message to add two numbers.
2025-08-28 11:26:10 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2025-08-28 11:27:19 <kuribas> The cell analogy for OOP shows this clearly, a cell is a super complicated things, maybe even more than your whole computer.
2025-08-28 11:27:49 <kuribas> It's not a thing that magically heals and solves problems.
2025-08-28 11:28:13 <Lycurgus> being life itself atomically dont count?
2025-08-28 11:29:11 × califax quits (~califax@user/califx) (Remote host closed the connection)
2025-08-28 11:29:53 <Lycurgus> and yeah good analogy if you just look at cells as bags with some properties or structure, i.e an abstraction
2025-08-28 11:29:56 <kuribas> "Organically" is often used as a good adjective, but in reality what we consider "organic", is carefully managed by us, like growing plants, or maintaining a garden.
2025-08-28 11:30:35 <kuribas> Lycurgus: the cell analogy was used by Alan Kay.
2025-08-28 11:30:48 <ski> there are "internalized versions" of Church's thesis, basically claiming that every (computable) function is algorithmic (in some particular system). these could be provable, like in versions of constructive math, given appropriate axioms
2025-08-28 11:32:37 xff0x joins (~xff0x@2405:6580:b080:900:b44c:4dd6:a7f0:d125)

All times are in UTC.