Newest at the top
2025-07-31 15:38:50 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-31 15:38:19 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer) |
2025-07-31 15:35:52 +0200 | trickard_ | (~trickard@cpe-49-98-47-163.wireline.com.au) |
2025-07-31 15:35:39 +0200 | trickard_ | (~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-31 15:31:27 +0200 | <__monty__> | Right, my mistake, I keep wanting to expect shell expansion of ~ where it has no reason to be. |
2025-07-31 15:28:45 +0200 | Reality2point0 | (~Reality2p@2a02:3035:665:a078:7ac6:f05a:b961:839e) (Gotta go do some actual work. :D) |
2025-07-31 15:26:38 +0200 | <Reality2point0> | Leary: “Special synax” is what I have a problem with. |
2025-07-31 15:26:25 +0200 | <Leary> | Strictly speaking, I should have said `Foo{bar baz}`. |
2025-07-31 15:26:08 +0200 | <Leary> | The data constructor becomes special syntax. |
2025-07-31 15:25:52 +0200 | <Leary> | That's the result of ordinary function application, yes. Layout heralds are not that. |
2025-07-31 15:25:17 +0200 | <Reality2point0> | Leary: Wait, why `Foo (bar baz)`? I thought it was `(((Foo) bar) baz)`. |
2025-07-31 15:24:34 +0200 | <__monty__> | yahb2: System.Directory.makeAbsolute "~/some/path" |
2025-07-31 15:24:03 +0200 | <lambdabot> | No module named ‘System.Directory’ is imported. |
2025-07-31 15:24:03 +0200 | <lambdabot> | Not in scope: ‘System.Directory.makeAbsolute’ |
2025-07-31 15:24:03 +0200 | <lambdabot> | error: |
2025-07-31 15:24:02 +0200 | <__monty__> | > System.Directory.makeAbsolute "~/some/path" |
2025-07-31 15:23:21 +0200 | <Reality2point0> | __monty__ "~" as in "a directory with the actual name "~" is a relative path. "~" as in "getting expanded to $HOME" is an absolute path. |
2025-07-31 15:22:39 +0200 | <kuribas> | The only thing I don't like is that indentation advances so fast. |
2025-07-31 15:22:17 +0200 | <kuribas> | You don't even look at braces, you just let the editor handle them. |
2025-07-31 15:21:54 +0200 | <Reality2point0> | Yes, Lisp is very nicely emergent. But humans are not good with repetitivity. So the closing braces piling up is its downfall. |
2025-07-31 15:21:28 +0200 | <Leary> | Reality2point0: If the data constructor `Foo` heralds layout, then `Foo bar baz` is parsed as `Foo (bar baz)`. To get the expected result without line breaks requires `Foo{bar;baz}`. |
2025-07-31 15:21:26 +0200 | <__monty__> | Am I the only one to consider it inconsistent that System.FilePath.isRelative considers ~ prefixed paths relative but System.Directory.{makeAbsolute,canonicalizePath} prepend the PWD? |
2025-07-31 15:21:01 +0200 | <Reality2point0> | kuribas: Correct. |
2025-07-31 15:21:01 +0200 | <kuribas> | I am even happy with lisps. |
2025-07-31 15:20:49 +0200 | <Reality2point0> | kuribas: Easy is not a good thing. The easiest thing in life is to just lay there and vegetate or die. |
2025-07-31 15:20:42 +0200 | <kuribas> | It's just syntax, I don't see why that should be so complex. |
2025-07-31 15:20:03 +0200 | <Reality2point0> | Leary: What would it break exactly? |
2025-07-31 15:19:30 +0200 | <Reality2point0> | kuribas: Let’s correct that to: The layout rule has too many quirks. It should have few rules but those should be as powerful as possible. If you just want extremely simple, just get a rock. (Or a perfectly featureless slice of mirror. Aka an iPhone 50 or so. ;) ) It’s perfectly simple. And useless. |
2025-07-31 15:17:01 +0200 | Digitteknohippie | Digit |
2025-07-31 15:17:00 +0200 | <Reality2point0> | TMA: No, not simpler at the expense of power. That is just dumbing down. That’s what commercial software companies are for. XD … More *emergent*! Aka more power for less complexity. Like you can combine a very few different types of LEGO bricks to countless things. |
2025-07-31 15:16:57 +0200 | <kuribas> | Reality2point0: view in dependently typed language are different, in that they also change the normalisation of expressions. |
2025-07-31 15:15:36 +0200 | <Reality2point0> | kuribas: I noticed that I rediscover the “view” concept quite often in programming, in general. E.g. in Plan9, files could just be views of something else, via a file server. Under Linux, you can mount your own FUSE file system consisting of a single file that is live generated on read. |
2025-07-31 15:15:10 +0200 | <TMA> | Reality2point0: simpler? just get rid of the 2D syntax altogether. |
2025-07-31 15:14:22 +0200 | <kuribas> | I am not even fan of indentation sensitive syntax, but at least python is way easier. |
2025-07-31 15:14:16 +0200 | <Leary> | {;} syntax is used for things that /can/ be layout, because they have a layout /herald/, such as `do`, `of`, `let` or `where`. Data constructors don't have one, and making data constructors themselves herald layout would break existing syntax. So you'd need to introduce a new herald or reuse an existing one for the purpose. |
2025-07-31 15:13:28 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-07-31 15:13:19 +0200 | <kuribas> | I think layout rule is just way overcomplicated, and often confusing for newbees. |
2025-07-31 15:13:02 +0200 | <Reality2point0> | TMA: My whole point was to make it simpler. |
2025-07-31 15:12:42 +0200 | <Reality2point0> | data definition with records in the first place.) |
2025-07-31 15:12:42 +0200 | <Reality2point0> | kuribas: Yes, I just recently implemented a different layout rule for a file syntax of my own. It is indeed more complex than one thinks. But it’s not _that_ complex. Or rather, one should prioritize highly emergent rules, and rather alter the syntax than make the parser more complex. (Which is why I suggested not having a separate parser for |
2025-07-31 15:11:30 +0200 | <kuribas> | It doesn't have guards, but has views. |
2025-07-31 15:11:21 +0200 | <TMA> | the complexity of the layout rules of haskell made me hate the language for several years, don't make it more complex |
2025-07-31 15:11:13 +0200 | <kuribas> | Reality2point0: idris2 only resembles haskell superficially, it has many differences. Dependently typed, strict, other syntaxes, allowing for overloading do, list syntax, ... |
2025-07-31 15:10:52 +0200 | acidjnk_new | (~acidjnk@p200300d6e7171990bc5728ea616be3b0.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2025-07-31 15:10:44 +0200 | <Reality2point0> | like the wrong way o go for me.) |
2025-07-31 15:10:43 +0200 | <Reality2point0> | In fact I started using Haskell because I designed my own language at the time, and it just did all the things I planned, but was much more developed, so I just used Haskell instead. It still has some ugly points where it is lacking to what I would consider ideal. (E.g. the loads of boilerplate. And the record syntax. Plus TemplateHaskell seems |
2025-07-31 15:08:10 +0200 | <kuribas> | I am not being condescending. I implemented the layout rule in emacs, and it is quite complex/subtle. I am pretty sure noone is waiting for adding more complexity to it. |
2025-07-31 15:07:49 +0200 | <Reality2point0> | kuribas: Why? |
2025-07-31 15:07:44 +0200 | <Reality2point0> | kuribas: Hard to define, since I know it since Haskell 98 came out, but I didn’t use it as my main language for a long time. |
2025-07-31 15:07:42 +0200 | Digit | (~user@user/digit) (Ping timeout: 276 seconds) |