2025/12/04

Newest at the top

2025-12-04 10:16:59 +0100 <merijn> jackdk: Ocaml is clearly functional, just not pure
2025-12-04 10:16:25 +0100 <merijn> They're just more principled (or making your jump through more hoops to use the unprincipled ones)
2025-12-04 10:16:04 +0100 <merijn> Also, Haskell admits mutable references too :p
2025-12-04 10:15:19 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:313d:1898:c3f8:5287) (Ping timeout: 264 seconds)
2025-12-04 10:13:47 +0100kuribas(~user@2a02:1808:51:4205:f3c0:d777:6713:bee2) (ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3))
2025-12-04 10:10:47 +0100 <jreicher> The only reason Lisp feels functional is an almost-coincidental side effect of "everything is data" is that functions become first class.
2025-12-04 10:09:49 +0100 <jreicher> Lisp doesn't admit mutable references. In Lisp EVERYTHING is mutable because there's no code; only data. And all the data is mutable. And then you can direct the language to interpret one of data structures as code. In a functional language things are primarily code, and if data is admitted then it just means it's not pure.
2025-12-04 10:08:08 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Remote host closed the connection)
2025-12-04 10:07:44 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:313d:1898:c3f8:5287)
2025-12-04 10:07:23 +0100 <jackdk> I'm curious if you consider ocaml a functional language then, because I can see arguments in both directions. It's definitely from a functional tradition but admits mutable references like many lisps do. But I'd definitely consider it "culturally" functional in that AFAIK people write pure interfaces around mutable bits, etc
2025-12-04 10:07:02 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2025-12-04 10:06:26 +0100merijn(~merijn@77.242.116.146) merijn
2025-12-04 10:03:15 +0100 <jreicher> sprout: I don't consider Lisp to be a functional language. I get in trouble in Lisp channels for saying that but I expect there might be a bit more sympathy for the view here.
2025-12-04 09:59:32 +0100iqubic(~sophia@2601:602:9203:1660:d33f:96d:145c:6b4b) iqubic
2025-12-04 09:57:55 +0100orizuru(~orizuru@user/orizuru) orizuru
2025-12-04 09:57:55 +0100orizuru(~orizuru@178-79-171-63.ip.linodeusercontent.com) (Changing host)
2025-12-04 09:56:42 +0100orizuru(~orizuru@178-79-171-63.ip.linodeusercontent.com)
2025-12-04 09:56:13 +0100trickard_(~trickard@cpe-85-98-47-163.wireline.com.au)
2025-12-04 09:55:59 +0100trickard(~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-04 09:55:48 +0100kuribas(~user@2a02:1808:51:4205:f3c0:d777:6713:bee2) kuribas
2025-12-04 09:55:35 +0100kuribas(~user@2a02:1808:51:4205:657b:77d9:3519:9aaf) (Remote host closed the connection)
2025-12-04 09:54:53 +0100user363627(~user@user/user363627) user363627
2025-12-04 09:54:46 +0100weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2025-12-04 09:54:19 +0100orizuru(~orizuru@user/orizuru) (Quit: The Lounge - https://thelounge.chat)
2025-12-04 09:49:54 +0100iqubic(~sophia@2601:602:9203:1660:661f:14db:875e:5d74) (Remote host closed the connection)
2025-12-04 09:47:06 +0100kuribas(~user@2a02:1808:51:4205:657b:77d9:3519:9aaf) kuribas
2025-12-04 09:46:55 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 240 seconds)
2025-12-04 09:41:49 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 246 seconds)
2025-12-04 09:38:24 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-12-04 09:37:55 +0100chele(~chele@user/chele) chele
2025-12-04 09:37:42 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:313d:1898:c3f8:5287) (Ping timeout: 252 seconds)
2025-12-04 09:33:08 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:313d:1898:c3f8:5287)
2025-12-04 09:31:37 +0100marinelli(~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli)
2025-12-04 09:31:18 +0100 <haskellbridge> <iqubic (she/her)> Nix is good.
2025-12-04 09:31:17 +0100 <haskellbridge> <iqubic (she/her)> Yeah. Nix
2025-12-04 09:31:07 +0100 <sprout> https://nix.dev/tutorials/nix-language
2025-12-04 09:30:45 +0100edmedmerry
2025-12-04 09:30:23 +0100 <sprout> nix
2025-12-04 09:29:22 +0100 <sprout> wasn't there some package manager language lazy, untyped, functional?
2025-12-04 09:28:56 +0100 <sprout> well, you know that one I guess
2025-12-04 09:28:38 +0100 <sprout> jreicher: most notorious is lisp of course
2025-12-04 09:28:16 +0100 <sprout> jreicher: yes, there are other untyped functional languages. many even, it's a favorite for plt people to implement
2025-12-04 09:27:48 +0100annamalai(~annamalai@157.32.222.111) (Ping timeout: 252 seconds)
2025-12-04 09:24:26 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-12-04 09:20:34 +0100jreicher(~user@user/jreicher) jreicher
2025-12-04 09:17:25 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-12-04 09:10:48 +0100 <iqubic> Why is Day01 added automatically??!!?
2025-12-04 09:10:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-04 09:10:36 +0100 <iqubic> https://dpaste.alwaysdata.org/y9NWyXCq
2025-12-04 09:09:27 +0100 <iqubic> If I use ":m Day04", without the *, then run ":r", it seems to load both Day01 and Day04 for some reason.