Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,801,906 events total
2025-12-04 08:29:22 <sprout> wasn't there some package manager language lazy, untyped, functional?
2025-12-04 08:30:23 <sprout> nix
2025-12-04 08:30:45 edm is now known as edmerry
2025-12-04 08:31:07 <sprout> https://nix.dev/tutorials/nix-language
2025-12-04 08:31:17 <haskellbridge> <iqubic (she/her)> Yeah. Nix
2025-12-04 08:31:18 <haskellbridge> <iqubic (she/her)> Nix is good.
2025-12-04 08:31:37 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli)
2025-12-04 08:33:08 lambda_gibbon joins (~lambda_gi@2603:7080:ee00:37d8:313d:1898:c3f8:5287)
2025-12-04 08:37:42 × lambda_gibbon quits (~lambda_gi@2603:7080:ee00:37d8:313d:1898:c3f8:5287) (Ping timeout: 252 seconds)
2025-12-04 08:37:55 chele joins (~chele@user/chele)
2025-12-04 08:38:24 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-12-04 08:41:49 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 246 seconds)
2025-12-04 08:46:55 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 240 seconds)
2025-12-04 08:47:06 kuribas joins (~user@2a02:1808:51:4205:657b:77d9:3519:9aaf)
2025-12-04 08:49:54 × iqubic quits (~sophia@2601:602:9203:1660:661f:14db:875e:5d74) (Remote host closed the connection)
2025-12-04 08:54:19 × orizuru quits (~orizuru@user/orizuru) (Quit: The Lounge - https://thelounge.chat)
2025-12-04 08:54:46 × weary-traveler quits (~user@user/user363627) (Quit: Konversation terminated!)
2025-12-04 08:54:53 user363627 joins (~user@user/user363627)
2025-12-04 08:55:35 × kuribas quits (~user@2a02:1808:51:4205:657b:77d9:3519:9aaf) (Remote host closed the connection)
2025-12-04 08:55:48 kuribas joins (~user@2a02:1808:51:4205:f3c0:d777:6713:bee2)
2025-12-04 08:55:59 × trickard quits (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-04 08:56:13 trickard_ joins (~trickard@cpe-85-98-47-163.wireline.com.au)
2025-12-04 08:56:42 orizuru joins (~orizuru@178-79-171-63.ip.linodeusercontent.com)
2025-12-04 08:57:55 × orizuru quits (~orizuru@178-79-171-63.ip.linodeusercontent.com) (Changing host)
2025-12-04 08:57:55 orizuru joins (~orizuru@user/orizuru)
2025-12-04 08:59:32 iqubic joins (~sophia@2601:602:9203:1660:d33f:96d:145c:6b4b)
2025-12-04 09:03:15 <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:06:26 merijn joins (~merijn@77.242.116.146)
2025-12-04 09:07:02 × chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection)
2025-12-04 09:07:23 <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 09:07:44 lambda_gibbon joins (~lambda_gi@2603:7080:ee00:37d8:313d:1898:c3f8:5287)
2025-12-04 09:08:08 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Remote host closed the connection)
2025-12-04 09:09:49 <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 09:10:47 <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 09:13:47 kuribas parts (~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 09:15:19 × lambda_gibbon quits (~lambda_gi@2603:7080:ee00:37d8:313d:1898:c3f8:5287) (Ping timeout: 264 seconds)
2025-12-04 09:16:04 <merijn> Also, Haskell admits mutable references too :p
2025-12-04 09:16:25 <merijn> They're just more principled (or making your jump through more hoops to use the unprincipled ones)
2025-12-04 09:16:59 <merijn> jackdk: Ocaml is clearly functional, just not pure
2025-12-04 09:23:28 × tromp quits (~textual@2001:1c00:3487:1b00:a4ed:9e46:fd5d:6b4e) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-12-04 09:27:06 <jreicher> sprout: In case it's worth saying, I meant practical untyped functional languages; not toy languages.
2025-12-04 09:28:24 <sprout> well, nix then
2025-12-04 09:29:02 <jreicher> :) Ta. That one I already knew, but I had never heard of Egel and it's the first practical-ish one I've seen in a while.
2025-12-04 09:29:05 <sprout> although I don't know what you consider *practical*
2025-12-04 09:29:19 <sprout> mwa, pretty shitty interpreter
2025-12-04 09:29:25 <sprout> slow and buggy
2025-12-04 09:29:28 arandombit joins (~arandombi@user/arandombit)
2025-12-04 09:29:37 <sprout> well, maybe not that buggy. but slow
2025-12-04 09:29:38 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
2025-12-04 09:29:42 <sprout> so not practical
2025-12-04 09:29:45 <sprout> cannot recommend
2025-12-04 09:29:55 <jreicher> As a rough and ready definition, "practical" is "can at least do IO with files, but should approach an FFI"
2025-12-04 09:30:33 <jreicher> I consider anything limited to stdin and sdtout to be toy. Doesn't mean it's not theoretically significant though, of course.
2025-12-04 09:31:03 <sprout> well, it has most IO
2025-12-04 09:31:15 <jreicher> Yeah, that's what stood out to me.
2025-12-04 09:31:37 <sprout> but it's an esolang in that it's an experiment with an operational model
2025-12-04 09:31:40 <sprout> > Egel is primarily about exploiting a trivialized operational model, a program (state) can be represented as a directed acyclic graph solely and program evaluation corresponds to trampolining the combinator at the root of that graph.
2025-12-04 09:31:44 <lambdabot> <hint>:1:67: error: parse error on input `,'
2025-12-04 09:32:15 <sprout> succesful experiment, mostly a failed too slow language though
2025-12-04 09:32:26 <sprout> it's interesting to people doing plt
2025-12-04 09:32:57 <sprout> like 'hey, here's a different manner of implementing a term rewriter'
2025-12-04 09:32:58 <jreicher> I would argue Haskell is not really so different. All the heap objects form that graph, and any differences can probably be characterised as very clever optimisations.
2025-12-04 09:33:21 <sprout> haskell must have a stack of redexes though
2025-12-04 09:33:35 <jreicher> It does. But like I said, that's an optimisation IMO.
2025-12-04 09:34:57 <sprout> sure. I cannot even state it's a very bright idea. just something silly I wanted to show works
2025-12-04 09:35:04 dhil joins (~dhil@5.151.29.139)
2025-12-04 09:35:15 <sprout> and then a decade later I am still stuck with an interpreter :/
2025-12-04 09:35:19 <sprout> ah well
2025-12-04 09:36:34 <sprout> it's interesting since it simplifies normal rather elaborate machinery for evaluation like a SECD or CAM machine
2025-12-04 09:37:02 <sprout> theoretically interesting
2025-12-04 09:37:13 <sprout> practically, not so much
2025-12-04 09:37:19 <sprout> well, that's what I feel
2025-12-04 09:41:54 acidjnk joins (~acidjnk@p200300d6e71719824d363649e1e7df87.dip0.t-ipconnect.de)
2025-12-04 09:42:01 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2025-12-04 09:42:07 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2025-12-04 09:42:35 <jreicher> Is Egel yours?
2025-12-04 09:42:39 <sprout> yah
2025-12-04 09:43:02 <jreicher> Like I said, it stood out. I don't think many other people have tried to do something like it. It's not toy; you've made it practical.
2025-12-04 09:43:15 <sprout> oh. thanks!
2025-12-04 09:43:37 <jreicher> That's why I was asking if you knew any others. It's rare.
2025-12-04 09:43:37 × img quits (~img@user/img) (Quit: ZNC 1.10.1 - https://znc.in)
2025-12-04 09:43:43 <jreicher> (I think)
2025-12-04 09:44:04 <sprout> still. cannot recommend..
2025-12-04 09:44:11 <sprout> it's an esolang at heart
2025-12-04 09:44:26 <sprout> maybe I'll find use for it somewhere sometime
2025-12-04 09:44:39 lambda_gibbon joins (~lambda_gi@2603:7080:ee00:37d8:313d:1898:c3f8:5287)
2025-12-04 09:44:51 img joins (~img@user/img)
2025-12-04 09:49:24 × lambda_gibbon quits (~lambda_gi@2603:7080:ee00:37d8:313d:1898:c3f8:5287) (Ping timeout: 260 seconds)
2025-12-04 09:52:34 × robobub quits (uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2025-12-04 09:52:34 xff0x joins (~xff0x@om126158246192.30.openmobile.ne.jp)
2025-12-04 09:54:07 trickard_ is now known as trickard
2025-12-04 09:54:23 × xff0x quits (~xff0x@om126158246192.30.openmobile.ne.jp) (Read error: Connection reset by peer)
2025-12-04 09:54:56 merijn joins (~merijn@77.242.116.146)
2025-12-04 09:59:24 ljdarj joins (~Thunderbi@user/ljdarj)
2025-12-04 09:59:45 xff0x joins (~xff0x@fs98a57788.tkyc008.ap.nuro.jp)
2025-12-04 10:01:28 annamalai joins (~annamalai@157.32.217.175)
2025-12-04 10:03:38 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
2025-12-04 10:04:08 lambda_gibbon joins (~lambda_gi@2603:7080:ee00:37d8:313d:1898:c3f8:5287)
2025-12-04 10:04:28 inline__ joins (~wbooze@2001-4dd4-1daa-0-5961-9b55-d1ca-8eee.ipv6dyn.netcologne.de)
2025-12-04 10:05:10 inline__ is now known as wbooze

All times are in UTC.