Home liberachat/#haskell: Logs Calendar

Logs on 2025-09-07 (liberachat/#haskell)

00:00:06 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
00:00:14 <slondr> yeah that's definitely not the case here. I'm in a blank directory with one .hs file
00:00:48 × sprotte24 quits (~sprotte24@p200300d16f1ae200cce55c66184a5d60.dip0.t-ipconnect.de) (Quit: Leaving)
00:01:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
00:06:53 potato44 joins (uid421314@id-421314.lymington.irccloud.com)
00:10:09 Guest62 joins (~Guest62@c-73-217-79-154.hsd1.co.comcast.net)
00:10:48 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
00:11:02 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
00:12:17 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:14:30 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
00:17:02 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
00:17:47 × Guest62 quits (~Guest62@c-73-217-79-154.hsd1.co.comcast.net) (Ping timeout: 250 seconds)
00:21:31 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
00:24:54 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 252 seconds)
00:25:31 × otto_s quits (~user@p5de2f1c5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
00:27:02 otto_s joins (~user@p5b044af8.dip0.t-ipconnect.de)
00:27:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:28:18 <geekosaur> there is one more thing you can try but it's a bit involved
00:30:21 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
00:30:50 × ttybitnik quits (~ttybitnik@user/wolper) (Quit: Fading out...)
00:31:08 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Ping timeout: 258 seconds)
00:31:29 <geekosaur> ghcup's ghc "binary" is actually a shell script wrapper. you would need to extract the path to the actual ghc binary from it and run `LD_BIND_NOW=1 ldd` on it (at least, I think LD_BIND_NOW works there; not certain) and see if you get the same error. you will also get the path to the glibc (libc.so.6) it's trying to use, but it may be hidden among a bunch of Haskell shared objects. (but in my case it's actually right at the end of the list)
00:31:33 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
00:32:17 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
00:32:59 <geekosaur> oh, looks like instead of the `LD_BIND_NOW=1` part you could use `ldd -r`
00:34:36 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
00:35:29 × acidjnk quits (~acidjnk@p200300d6e7171913b85d875ab8253342.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
00:37:34 trickard_ is now known as trickard
00:38:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:43:24 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
00:45:07 arandombit joins (~arandombi@2603:7000:4600:ffbe:2133:587c:64a5:1340)
00:45:07 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2133:587c:64a5:1340) (Changing host)
00:45:07 arandombit joins (~arandombi@user/arandombit)
00:46:15 × tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in)
00:48:29 × EvanR quits (~EvanR@user/evanr) (Remote host closed the connection)
00:48:49 EvanR joins (~EvanR@user/evanr)
00:49:05 × jespada quits (~jespada@2800:a4:2309:e000:7cc9:782d:9408:1f91) (Ping timeout: 244 seconds)
00:49:54 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 256 seconds)
00:51:40 jespada joins (~jespada@2800:a4:22ff:7a00:f5ee:99f1:c7f5:1d5a)
00:54:18 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:58:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
01:02:06 arandombit joins (~arandombi@2603:7000:4600:ffbe:2133:587c:64a5:1340)
01:02:06 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2133:587c:64a5:1340) (Changing host)
01:02:06 arandombit joins (~arandombi@user/arandombit)
01:04:38 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
01:05:13 × alienmind quits (~cmo@2604:3d09:207f:8000::d1dc) (Remote host closed the connection)
01:05:35 alienmind joins (~cmo@2604:3d09:207f:8000::d1dc)
01:06:07 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
01:09:41 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:10:18 × alienmind quits (~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 256 seconds)
01:16:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
01:22:46 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
01:22:59 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
01:25:50 leungbk joins (~user@syn-104-032-221-175.res.spectrum.com)
01:27:43 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:30:48 × leungbk quits (~user@syn-104-032-221-175.res.spectrum.com) (Ping timeout: 260 seconds)
01:32:28 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
01:36:31 srandomizer joins (~user@185.159.157.137)
01:39:00 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
01:39:19 trickard joins (~trickard@cpe-53-98-47-163.wireline.com.au)
01:43:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:45:45 × anselmschueler quits (~Thunderbi@user/schuelermine) (Ping timeout: 252 seconds)
01:47:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
01:52:07 notzmv joins (~umar@user/notzmv)
01:56:32 <ski> monochrom : fwiw, in Prolog, those are not identifiers, but a predicate indicator
01:58:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:01:24 <monochrom> They indicate arities. But then, foo/1 and foo/2 can be completely unrelated, even though socially people try not to abuse that freedom.
02:03:00 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
02:03:16 <ski> yes
02:03:51 <monochrom> There is also a step of "inspiration" meaning distortion when I think about "what can this syntax do for Haskell?"
02:03:55 <ski> sometimes people use a higher arity, for a helper/worker predicate, e.g. introducing an accumulator
02:04:46 <monochrom> Arity is elusive in Haskell. So may as well "simplify" and just say this is additional syntax for moar identifiers!
02:05:03 × op_4 quits (~tslil@user/op-4/x-9116473) (Remote host closed the connection)
02:05:37 op_4 joins (~tslil@user/op-4/x-9116473)
02:07:05 <geekosaur> people do that already with ticks
02:07:11 <geekosaur> not to say `go`
02:07:35 <ski> generally, i prefer a naming like e.g. sum_list_add/3, with the understanding that `sum_list_add(Numbers,Initial,Total) <=> sum_list(Numbers,Sum),Total is Initial + Sum'. or flatten_tree_append/3, with `flatten_tree_append(Tree,Suffix,List) <=> flatten_tree(Tree,Elements),append(Elements,Suffix,List)'
02:08:28 <ski> or, if there's no such reasonable naming, at least adding `_aux' or similar, to the end of the predicate name, to indicate that it's a worker/helper for the other predicate
02:09:59 <ski> in Haskell, we could have `reverse xs = revAppend xs []', where `revAppend' is specified (not implemented) by `revAppend xs suffix = reverse xs ++ suffix'
02:11:25 <monochrom> I empathize with not wanting to think up names for helpers. I too suffer from spending 10% time writing up the helper and 90% time finding a good name for it.
02:12:04 <monochrom> "go" works in Haskell because local scope. Prolog has no such luxury.
02:12:29 <monochrom> (One of two reasons I don't want to teach Prolog actually.)
02:13:18 <Clint> the other is harmful cuts?
02:13:23 <monochrom> Yeah.
02:13:26 <ski> oh .. and i also use similar naming, for versions of a predicate, or function, specialized to a particular constructor. e.g. `orderedCons' specified by `orderedCons x xs = ordered (x : xs)' (and also having `ordered [] = True'), implemented by `orderedCons _ [] = True; orderedCons x0 (x1 : xs) = x0 <= x1 && orderedCons x1 xs'
02:13:58 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:14:01 <ski> yea .. cuts are rather bad
02:15:20 <ski> and i do use `loop'/`go', or similar, for a local helper or loop, often. but if there's an obvious reasonable name along the lines above, i tend to go with that, possiblly also exporting the operation
02:16:18 <ski> Mercury is nicer than Prolog, in that it has no cuts. also has automatic conjunct reordering, so it can be easier to use multiple modes of a predicate (or function)
02:17:13 × notzmv quits (~umar@user/notzmv) (Remote host closed the connection)
02:17:52 <ski> there are two main reasons for why cut is bad. (a) that it is inherently illogical, non-declarative (and also very easy to accidentally make your predicate "non-steeadfast" (not monotone, in terms of information about the parameters), if you're not careful)
02:18:01 <monochrom> I know how to teach delimited continuation. That is, with an explicit delimiter like "reset" that the programmer is allowed to place anywhere. I would agree to teach cut if it had the same explicit place-anywhere-you-see-fit delimiter rather than "the delimiter is the owning predicate, therefore you must always define a helper predicate".
02:18:30 <monochrom> s/define/contrive/
02:18:55 <monochrom> Now also cross that with no local definitions.
02:19:29 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 250 seconds)
02:19:52 <ski> but also (b), that it implicitly refers to the "current clause", just as `return' refers to the current function, and `break',`continue' refers to the current (innermost enclosing) loop (or `switch', for the former), in C. this means that you can't naively factor out (or the reverse) a piece of code (taking care to parameterize on the variables that cross the boundary of the factored-out code)
02:21:33 <ski> you could have (a) without (b). using the conditional, `( Condition -> Consequent ; Alternate )', in Prolog amounts to (a) without (b). many Prologs also have a version of this that does not cut away all but the first solution of `Condition', which behaves better, logically/declaratively. this latter is also what Mercury does
02:22:14 <ski> "would agree to teach cut if it had the same explicit place-anywhere-you-see-fit delimiter" -- exactly
02:22:27 <ski> (a) is "just" a kind of side-effect
02:22:52 <ski> (b) is "syntactic dynamic scope"
02:23:04 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
02:23:54 <ski> i really would like a logic programming language, with a convenient and reasonable way to have local definitions
02:25:06 <ski> you can make them, in lambdaProlog (and Twelf) .. but would like some syntactic sugar, and implicit quantification, on top of the basic semantic feature
02:26:23 <monochrom> I have started teaching Curry for the logic programming part of my course. (The FP part is Haskell. This means confusingly I teach one syntax with two different semantics haha.) And I think Verse is even better (semantics is well-balanced between theory and pragmatism).
02:26:37 <ski> traditionally, a logic program is seen as a sequence of clauses, each terminated by a full stop. ideally, the syntax for terminating/separating top-level clauses from each otheer should be the same as for local clauses
02:27:17 <ski> yea, Curry (and Escher) uses a Haskell-like syntax. but they also use `=' rather than implication
02:27:33 <ski> i dunno Verge
02:30:12 <ski> btw, you can reason about, introduce, (b), in Lisp macro system. specifically, in some Scheme systems, you can have it as an opt-in feature. Racket has "syntax parameters", which are "parameters" (dynamic scope), but on the level of "syntax" (macros)
02:31:23 <monochrom> Verse is Tim Sweeney's language. Eventually it will have all paradigms. SPJ joined Epic and published a paper on the functional logic part.
02:31:52 <ski> oh. it's supposed to be usable for parts of game engine stuff ?
02:33:24 <monochrom> It is Fortnight's script language or something like that.
02:33:45 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:33:59 <monochrom> Err, or Unreal Engine, yeah.
02:38:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
02:40:16 <monochrom> This: https://simon.peytonjones.org/verse-calculus/
02:47:55 <ski> in lambdaProlog, you can write
02:48:18 <ski> reverse Xs0 RevXs0 :-
02:48:32 <ski> pi loop \
02:48:54 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 256 seconds)
02:49:07 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:49:18 <ski> ( loop nil RevXs0
02:49:52 <ski> => ( pi X \ pi Xs \ pi Acc \
02:50:07 <ski> ( loop (X :: Xs) Acc :-
02:50:13 <ski> loop Xs (X :: Acc)
02:50:21 <ski> )
02:50:31 <ski> )
02:50:39 <ski> => loop Xs0 nil
02:50:41 <ski> ).
02:51:52 <ski> here `loop' is a local predicate (also notice how the first clause of `loop' non-locally will instantiate the parameter `RevXs0' of `reverse', when reaching the base case, end of list, so that we don't need to pass up the final result of the accumulator up the recursion chain)
02:53:16 <ski> but, it's annoying to have to explicitly quantify the parameters of the local clauses (not including `RevXs0'), and also to have to locally quantifier `loop'. and syntactically, it's annoying that the local clauses are not terminated with a `.', like the top-level one is
02:54:30 <ski> (oh, and yes, `pi' is universal quantification. its type is `(A -> o) -> o'. `o' is the type of propositions. `loop \ ..loop..', as well as `X \ ..X..', &c. are lambda terms)
02:55:41 <ski> right, Unreal Engine
02:55:53 <ski> ty for the Verse link
02:56:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
02:57:56 <ski> (Twelf is rather similar to lambdaProlog, apart from being dependently typed, and having a bunch of more features and static checking, related to theorem proving, termination checking, a rudimentary mode and determinism system, &c.)
02:59:04 × srandomizer quits (~user@185.159.157.137) (Remote host closed the connection)
02:59:34 <ski> "a new core calculus for deterministic functional logic programming" -- i wonder how this compares to Oz
02:59:52 srandomizer joins (~user@185.159.157.137)
03:01:29 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
03:02:52 <ski> btw, with `=>' (implication), you can do a kind of "dynamic scope", namely of predicate clauses. the goal `( <clause> => <goal> )' temporarily assumes (adds/asserts) `<clause>', for the duration of the solving / execution / solution-search of `<goal>'. when (if) that succeeds, the clause is removed. if we backtrack back inside, it is added again. if we fail back to before, it is removed
03:03:09 × mhatta quits (~mhatta@www21123ui.sakura.ne.jp) (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in)
03:04:05 arandombit joins (~arandombi@user/arandombit)
03:06:03 mhatta joins (~mhatta@www21123ui.sakura.ne.jp)
03:06:03 <ski> one can see the presence of goal implications (and also goal universal quantifications) as a kind of "completeness" of features, for effectively being able to reason about and manipulate lambda terms (as data, e.g. for HOAS). however, even without lambda terms, goal implication & universals can be quite handy and nice. iirc there's some "completeness" result that the Hereditary Harrop formulae, which is the
03:06:09 <ski> analogue of Horn clauses for lambdaProlog (and Twelf), which inclused these two kinds of goals, is the largest class of formulae that can serve as an "abstract logic programming language", for intuitionistic logic
03:06:56 <ski> being "abstract logic programming language" amounts to two properties, (a) goal-directedness; and (b) clause-focusing
03:07:09 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:08:47 <ski> goal-directedness means that every proof in the given system fragment, if the conclusion formula in the sequent is not atomic (so uses some connective), can be rewritten to an equivalent proof whose last inference rule is a right (introduction) rule for that connective
03:10:27 <ski> clause-focusing means that every proof where the conclusion is atom, can be rewritten in such a way that we successively apply left (introduction) rules (from the root of the proof tree up) to a single chosen / focused clause, until we end up with an atomic clause (which them must unify with the atomic conclusion of the sequent)
03:11:45 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
03:11:54 <ski> these two properties means that we can cut away most of the non-determnism in the selection of which inference rules to apply. so that we can read a non-atomic goal as search instructions for how to execute the goal, not needing to consult any clause as long as the goal is non-atomic
03:13:32 <ski> the latter property meaning that once the goal is atomic, it suffices to (non-deterministically) choose one clause to focus on, and then to continue reducing that (generating goals as extra side-conditions along the way), until we can determine that the clause matches the atomic goal (and we can execute the side-condition goals, the bodies of the clause)
03:14:27 <ski> so, the latter means that we can treat predicate call goals as procedure invocations, and treat clauses as (partial) implementations of these
03:16:04 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
03:16:13 <ski> the remaining non-determinism, in the system, is in the choice of clause to focus on (and in the choice of which conjunct of a clause to focus on, e.g. in `( foo & bar ) :- baz.'), and in the choice of which disjunct in a disjunction goal to attempt to prove
03:16:35 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
03:17:24 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
03:18:52 <ski> technically, there's also non-determinism in the choice of which term to instantiate logic variables (as in existential goals, and universal clauses) to. but this can be dealt with, in the usual lazy fashion, delaying these choices until we need some equality to hold, by using unification (rather than backtracking or perhaps some other means to implement non-determinism, like some breadth-first or parallel
03:18:58 <ski> exploration)
03:19:53 × srandomizer quits (~user@185.159.157.137) (Quit: Leaving)
03:20:49 aforemny_ joins (~aforemny@2001:9e8:6cc9:300:3eaa:97ed:8ab3:fe4d)
03:21:53 × aforemny quits (~aforemny@2001:9e8:6cec:2f00:9ea2:47fd:5959:6451) (Ping timeout: 250 seconds)
03:22:31 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:27:26 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
03:31:30 srandomizer joins (~user@185.159.157.137)
03:37:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:42:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
03:43:59 × srandomizer quits (~user@185.159.157.137) (Ping timeout: 250 seconds)
03:49:39 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
03:49:59 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
03:53:17 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:54:02 Lycurgus joins (~juan@user/Lycurgus)
03:58:02 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
04:08:11 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
04:08:24 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
04:08:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:10:26 peterbecich joins (~Thunderbi@syn-172-222-149-049.res.spectrum.com)
04:13:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
04:15:21 × pierrot quits (~pi@user/pierrot) (Quit: ZNC 1.8.2 - http://znc.in)
04:15:44 pierrot joins (~pi@user/pierrot)
04:19:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:23:23 tavare joins (~tavare@user/tavare)
04:23:37 × tavare quits (~tavare@user/tavare) (Remote host closed the connection)
04:24:12 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
04:28:37 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
04:29:22 gorignak joins (~gorignak@user/gorignak)
04:35:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:39:53 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
04:41:40 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
04:46:08 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
04:47:25 img joins (~img@user/img)
04:49:25 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 250 seconds)
04:49:26 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
04:49:39 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
04:50:11 arandombit joins (~arandombi@2603:7000:4600:ffbe:94a1:6bec:96c9:27e9)
04:50:11 × arandombit quits (~arandombi@2603:7000:4600:ffbe:94a1:6bec:96c9:27e9) (Changing host)
04:50:11 arandombit joins (~arandombi@user/arandombit)
04:52:00 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
04:52:13 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
04:53:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:53:35 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
04:57:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
04:57:38 × califax quits (~califax@user/califx) (Remote host closed the connection)
04:57:54 califax joins (~califax@user/califx)
05:01:00 × Nosrep quits (~jimothy@user/nosrep) (Ping timeout: 258 seconds)
05:02:50 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
05:04:47 weary-traveler joins (~user@user/user363627)
05:06:45 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
05:08:29 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:13:24 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
05:19:33 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
05:20:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:24:44 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 256 seconds)
05:25:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
05:26:09 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 248 seconds)
05:30:41 arandombit joins (~arandombi@2603:7000:4600:ffbe:94a1:6bec:96c9:27e9)
05:30:41 × arandombit quits (~arandombi@2603:7000:4600:ffbe:94a1:6bec:96c9:27e9) (Changing host)
05:30:41 arandombit joins (~arandombi@user/arandombit)
05:36:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:38:57 wootehfoot joins (~wootehfoo@user/wootehfoot)
05:40:36 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
05:43:29 sroso joins (~sroso@user/SrOso)
05:44:16 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
05:44:30 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
05:45:43 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
05:51:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:51:34 × haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
05:51:59 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
05:53:08 trickard_ is now known as trickard
05:55:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
05:59:27 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
05:59:40 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
06:06:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:11:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
06:21:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:26:29 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
06:34:33 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
06:34:48 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
06:37:09 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:39:32 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
06:41:47 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
06:43:48 × Guest1285 quits (jinsun@here.and.ready-to.party) (Changing host)
06:43:48 Guest1285 joins (jinsun@user/jinsun)
06:43:48 Guest1285 is now known as jinsun
06:44:03 × peterbecich quits (~Thunderbi@syn-172-222-149-049.res.spectrum.com) (Ping timeout: 260 seconds)
06:52:32 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:57:06 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
07:00:01 × caconym747 quits (~caconym@user/caconym) (Quit: bye)
07:00:05 × tt12310978324354 quits (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) (Quit: The Lounge - https://thelounge.chat)
07:00:45 caconym747 joins (~caconym@user/caconym)
07:07:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:11:10 omnifunctor_ joins (~omnifunct@user/semifunctor)
07:11:53 × glguy quits (glguy@libera/staff/glguy) (Read error: error:0A000139:SSL routines::record layer failure)
07:11:57 glguy joins (glguy@libera/staff/glguy)
07:12:29 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
07:14:06 hakutaku joins (~textual@chen.yukari.eu.org)
07:22:22 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
07:22:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:22:40 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
07:24:00 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
07:25:18 img joins (~img@user/img)
07:26:38 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
07:26:42 fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi)
07:29:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
07:33:37 × hakutaku quits (~textual@chen.yukari.eu.org) (Ping timeout: 248 seconds)
07:35:43 hakutaku joins (~textual@chen.yukari.eu.org)
07:39:56 × califax quits (~califax@user/califx) (Remote host closed the connection)
07:40:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:40:59 califax joins (~califax@user/califx)
07:45:16 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
07:49:10 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
07:53:25 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli)
07:53:40 × califax quits (~califax@user/califx) (Remote host closed the connection)
07:53:46 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
07:53:54 califax joins (~califax@user/califx)
07:56:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:59:19 × hakutaku quits (~textual@chen.yukari.eu.org) (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:00:13 hakutaku joins (~textual@chen.yukari.eu.org)
08:00:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
08:02:19 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
08:02:33 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
08:04:32 × Square2 quits (~Square@user/square) (Ping timeout: 256 seconds)
08:11:24 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:12:14 × nshepperd quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Quit: quit)
08:15:52 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
08:16:38 × hakutaku quits (~textual@chen.yukari.eu.org) (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:23:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:28:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
08:36:57 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
08:38:57 acidjnk joins (~acidjnk@p200300d6e7171913b85d875ab8253342.dip0.t-ipconnect.de)
08:38:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:40:55 × sroso quits (~sroso@user/SrOso) (Read error: Connection reset by peer)
08:41:33 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
08:43:38 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
08:51:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:56:45 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
08:58:29 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
09:03:55 trickard_ is now known as trickard
09:04:48 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
09:07:23 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:14:23 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
09:14:36 AlexNoo_ joins (~AlexNoo@178.34.162.29)
09:17:37 × AlexZenon quits (~alzenon@94.233.241.149) (Ping timeout: 256 seconds)
09:18:16 × AlexNoo quits (~AlexNoo@94.233.241.149) (Ping timeout: 248 seconds)
09:19:30 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
09:19:43 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
09:20:57 emmanuelux joins (~emmanuelu@user/emmanuelux)
09:22:00 × tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 245 seconds)
09:22:21 AlexZenon joins (~alzenon@178.34.162.29)
09:23:03 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
09:24:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:27:23 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
09:29:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
09:37:00 × nshepperd2 quits (~nshepperd@2a01:4f9:3b:4cc9::2) (Quit: The Lounge - https://thelounge.chat)
09:39:40 nshepperd2 joins (~nshepperd@2a01:4f9:3b:4cc9::2)
09:40:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:41:00 <arahael> I'm attempting to check for data in a pty, however, the only routines available are to actually block until I'm reading from it. I'm using spawnWithPty from System.Process.Pty. Is my only option to spawn a separate thread and do blocking stuff in that thread?
09:42:25 <arahael> (And using forkOS at that)
09:43:18 <tomsmeding> should be no need for forkOS, the GHC runtime is asynchronous under the hood anyway
09:43:40 <tomsmeding> the ghc-haskell-ish way would indeed be to forkIO and block there
09:44:50 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
09:44:50 <tomsmeding> arahael: what would you do with the result of a check if data is currently available? Would you do polling?
09:45:10 <arahael> Well, if there was data available, I'd be reading it.
09:45:17 <tomsmeding> and if there wasn't?
09:45:23 <arahael> If there is no data availabl,e I'd be querying something else and THEN checking if there's data.
09:45:28 <tomsmeding> I see
09:45:36 <tomsmeding> so your own scheduler?
09:45:40 <arahael> Basically yes.
09:45:46 <tomsmeding> the GHC RTS has a good scheduler :)
09:45:53 <arahael> "If there's data on A, process A. Otherwise if there's data on B, process B. Repeat".
09:46:14 <arahael> Hmm, so I'm inferring from your response that the blocking routines for these reads is not blocking the OS thread?
09:46:19 <tomsmeding> yes
09:46:39 <tomsmeding> start two forkIO threads to wait for data on A and B, and send the results on a Chan (Either MsgA MsgB) that you consume in a third forkIO thread
09:46:57 <arahael> Awesome, that works then, how would I normally know, though, just from reading the code? I'm observing functions such as: threadWaitReadPty :: Pty -> IO ()
09:46:59 <tomsmeding> if you don't need to handle the messages centrally in one place you can handle them in the A and B threads immediately, of course
09:47:14 <tomsmeding> arahael: in principle, _nothing_ in the GHC RTS blocks the OS thread
09:47:25 <tomsmeding> there are exceptions: foreign calls block
09:47:33 <tomsmeding> "unsafe" foreign calls, that is
09:47:35 <arahael> Ah, so if it were to block the OS thread, it should be very very strongly called out in the documentation, then?
09:47:40 <tomsmeding> yes
09:47:42 <arahael> Excellent.
09:47:49 <tomsmeding> if it isn't, file a bug :p
09:47:53 <arahael> :P
09:48:54 <tomsmeding> arahael: there is one pernicious thing that blocks an OS thread in GHC haskell: a tight loop that doesn't allocate
09:49:21 <tomsmeding> scheduler yields occur on allocation, so if you have a tight loop that doesn't allocate, it doesn't yield and it doesn't relinquish the OS thread
09:49:30 <arahael> I've heard about that.
09:49:33 <tomsmeding> (the runtime is kind of cooperatively scheduled)
09:49:38 <arahael> Yeah, makes sense.
09:49:50 <tomsmeding> iirc there's an option to GHC that makes it insert more yields
09:49:59 <tomsmeding> if you suspect that this is causing you pain
09:50:13 <arahael> I think I can cross that bridge if I ever get to it, I think what I needed now was to sort of learn the more typical conventions, so you've been very helpful.
09:50:20 <tomsmeding> yay :)
09:51:40 <tomsmeding> this one https://downloads.haskell.org/ghc/latest/docs/users_guide/using-optimisation.html#ghc-flag-fomit-yields
09:51:59 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
09:52:08 <arahael> Ah, cool.
09:53:25 ljdarj joins (~Thunderbi@user/ljdarj)
09:55:24 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:56:00 <tomsmeding> there are also some operations on the haskell level that are "non-interruptible" ( https://hackage.haskell.org/package/base-4.21.0.0/docs/Control-Exception.html#g:12 ), which can be important if you do tricky things with concurrency and exceptions (and MVars, mostly)
09:56:20 <tomsmeding> but they are non-interruptible _on the haskell level_, meaning that you need to reach for heavier-handed exception machinery to interrupt them
09:56:30 <tomsmeding> they still don't block the OS thread on the scheduler level
09:57:47 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds)
09:57:50 <arahael> Nice, I'm not expecting to do anything 'tricky' at this stage.
09:57:59 <tomsmeding> cool, then you should forget about this particular bit :p
09:58:11 <arahael> And if I am, then I'll be re-asking here to figure out what I'm doing wrong. :P
09:58:16 <tomsmeding> please do
09:58:28 trickard_ is now known as trickard
09:58:44 <arahael> Been ages since I've been here, actually, been out of the haskell space for a while. I miss it.
09:59:09 <tomsmeding> I hope you enjoy being here :)
10:00:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
10:00:31 <arahael> I am. :) It's so refreshing.
10:00:37 <arahael> Nice having a real type system again.
10:01:35 <tomsmeding> just looked at that suspiciously named threadWaitRead function; I'm 99% sure the "thread" referred to there is the Haskell-level forkIO thread
10:02:09 <tomsmeding> a few functions deep you end up here https://hackage.haskell.org/package/base-4.14.0.0/docs/src/GHC.Event.Thread.html#threadWait
10:02:09 <arahael> Ah, good.
10:02:20 <arahael> I was confused why I couldn't get the handle from it, though.
10:02:26 <arahael> (getFd is not exported in that module)
10:02:31 <tomsmeding> which seems to implement the actual waiting by registering a callback on some kind of event; that callback does a putMVar, and the actual waiting is a takeMVar
10:03:22 <tomsmeding> yeah good question
10:04:07 <tomsmeding> maaybe to have future compatibility with platforms where a pty is not a file descriptor?
10:04:18 <tomsmeding> but then the "Portability" field at the top of the docs has value "haha"... :p
10:04:22 <Franciman> ski: can we have ontological modelling in haskell?
10:04:24 <arahael> I did notice that. :P
10:09:11 <tomsmeding> @tell merijn why did you make the Pty type in posix-pty abstract, i.e. why does the user have no ability to get the underlying Fd? (tell arahael your answer)
10:09:11 <lambdabot> Consider it noted.
10:09:43 <arahael> Thanks! :)
10:10:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:11:14 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
10:12:51 × oxapentane quits (~oxapentan@git.oxapentane.com) (Remote host closed the connection)
10:13:28 oxapentane joins (~oxapentan@user/oxapentane)
10:15:26 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
10:25:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:29:07 ljdarj1 joins (~Thunderbi@user/ljdarj)
10:30:18 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
10:31:22 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
10:31:24 ljdarj1 is now known as ljdarj
10:32:33 leungbk joins (~user@syn-104-032-221-175.res.spectrum.com)
10:38:20 Lycurgus joins (~juan@user/Lycurgus)
10:41:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:46:02 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
10:55:12 × GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Quit: WeeChat 4.5.2)
10:56:31 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:00:13 GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano)
11:01:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
11:03:51 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:12:10 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
11:13:14 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
11:14:33 __monty__ joins (~toonn@user/toonn)
11:14:34 haritz joins (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
11:14:34 × haritz quits (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
11:14:34 haritz joins (~hrtz@user/haritz)
11:22:41 sindu joins (~sindu@176.75.108.200)
11:28:15 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
11:28:32 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
11:30:04 Lord_of_Life_ is now known as Lord_of_Life
11:33:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
11:42:38 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
11:44:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:45:37 MelodyOwO joins (~MelodyOwO@user/MelodyOwO)
11:46:57 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
11:49:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
11:53:11 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
11:53:25 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
11:54:02 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
11:59:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:04:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
12:15:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:20:40 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
12:25:12 × leungbk quits (~user@syn-104-032-221-175.res.spectrum.com) (Ping timeout: 256 seconds)
12:26:49 leungbk joins (~user@syn-104-032-221-175.res.spectrum.com)
12:28:48 × fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 260 seconds)
12:29:10 × MelodyOwO quits (~MelodyOwO@user/MelodyOwO) (Read error: Connection reset by peer)
12:29:17 MelodyOwO1 joins (~MelodyOwO@dhcp46-187-164-95.eaw.com.pl)
12:31:25 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:31:30 × MelodyOwO1 quits (~MelodyOwO@dhcp46-187-164-95.eaw.com.pl) (Read error: Connection reset by peer)
12:31:54 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
12:33:22 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
12:36:01 MelodyOwO joins (~MelodyOwO@user/MelodyOwO)
12:36:11 MelodyOwO1 joins (~MelodyOwO@dhcp46-187-164-95.eaw.com.pl)
12:36:19 × MelodyOwO1 quits (~MelodyOwO@dhcp46-187-164-95.eaw.com.pl) (Client Quit)
12:36:27 × MelodyOwO quits (~MelodyOwO@user/MelodyOwO) (Client Quit)
12:36:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
12:36:41 MelodyOwO joins (~MelodyOwO@user/MelodyOwO)
12:36:48 × MelodyOwO quits (~MelodyOwO@user/MelodyOwO) (Client Quit)
12:38:19 vanishingideal joins (~vanishing@user/vanishingideal)
12:39:21 trickard_ is now known as trickard
12:41:04 MelodyOwO joins (~MelodyOwO@user/MelodyOwO)
12:41:26 MelodyOwO1 joins (~MelodyOwO@dhcp46-187-164-95.eaw.com.pl)
12:42:19 × MelodyOwO1 quits (~MelodyOwO@dhcp46-187-164-95.eaw.com.pl) (Client Quit)
12:47:13 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:49:02 DavidSch__ joins (~ds__38@ip-037-049-102-199.um09.pools.vodafone-ip.de)
12:53:05 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 248 seconds)
12:54:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
12:54:16 chromoblob joins (~chromoblo@user/chromob1ot1c)
12:55:48 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
12:58:33 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 260 seconds)
12:58:33 × jespada quits (~jespada@2800:a4:22ff:7a00:f5ee:99f1:c7f5:1d5a) (Ping timeout: 260 seconds)
12:58:48 <DavidSch__> Hi, I've recently started working through the book "Programming in Haskell", 2nd edition, by Graham Hutton. It's style is definitely great. Just to make sure, it's also still reasonably up-to-date, right?
13:00:07 AlexNoo_ is now known as AlexNoo
13:01:21 jespada joins (~jespada@2800:a4:229e:8e00:868:318d:53e8:5122)
13:02:04 sprotte24 joins (~sprotte24@p200300d16f24190058efc57a119b71f1.dip0.t-ipconnect.de)
13:02:47 chromoblob joins (~chromoblo@user/chromob1ot1c)
13:05:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:10:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
13:11:35 <__monty__> As far as books are concerned, I do think so. There's only one that I know is more recent.
13:21:05 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:25:18 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
13:25:50 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
13:29:08 jetchisel joins (~jetchisel@user/jetchisel)
13:30:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:34:54 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
13:39:02 ttybitnik joins (~ttybitnik@user/wolper)
13:43:15 anselmschueler joins (~Thunderbi@user/schuelermine)
13:43:25 × anselmschueler quits (~Thunderbi@user/schuelermine) (Client Quit)
13:45:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:50:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
13:56:34 tremon joins (~tremon@83.80.159.219)
14:01:34 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:06:04 tomboy64 joins (~tomboy64@user/tomboy64)
14:06:29 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
14:12:33 ljdarj1 joins (~Thunderbi@user/ljdarj)
14:16:43 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
14:17:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:19:40 × ljdarj1 quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
14:22:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
14:22:28 weary-traveler joins (~user@user/user363627)
14:29:05 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 248 seconds)
14:30:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:33:21 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
14:33:34 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
14:37:20 <DavidSch__> __monty__: cool, thanks!
14:37:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
14:49:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:49:13 fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi)
14:53:09 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
14:54:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
14:57:21 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 248 seconds)
14:58:01 × ttybitnik quits (~ttybitnik@user/wolper) (Quit: Fading out...)
15:01:05 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
15:03:55 fp1 joins (~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi)
15:04:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:07:50 × fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 256 seconds)
15:07:50 fp1 is now known as fp
15:09:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
15:10:12 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
15:12:34 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
15:13:01 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
15:20:12 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:25:04 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
15:31:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:36:36 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
15:36:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
15:37:45 Lycurgus joins (~juan@user/Lycurgus)
15:38:21 peterbecich joins (~Thunderbi@syn-172-222-149-049.res.spectrum.com)
15:39:34 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 256 seconds)
15:41:32 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
15:46:55 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
15:47:25 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:50:10 Square2 joins (~Square@user/square)
15:52:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
15:55:30 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
16:04:38 × Lycurgus quits (~juan@user/Lycurgus) (Read error: Connection reset by peer)
16:15:38 × weary-traveler quits (~user@user/user363627) (Quit: Konversation terminated!)
16:17:32 weary-traveler joins (~user@user/user363627)
16:19:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:23:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
16:31:25 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
16:31:38 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
16:33:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:33:38 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
16:33:41 × sindu quits (~sindu@176.75.108.200) (Ping timeout: 256 seconds)
16:34:57 rvalue- joins (~rvalue@about/hackers/rvalue)
16:35:14 sindu joins (~sindu@176.75.108.200)
16:35:36 × rvalue quits (~rvalue@about/hackers/rvalue) (Ping timeout: 258 seconds)
16:37:56 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
16:37:56 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
16:41:00 rvalue- is now known as rvalue
16:43:28 × leungbk quits (~user@syn-104-032-221-175.res.spectrum.com) (Remote host closed the connection)
16:45:52 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
16:48:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:50:24 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
16:53:38 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
16:53:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
16:59:09 <slondr> ok I got lsp to launch haskell-language-server correctly I think, but now it always reports an error at character 0 of the file that just says "(GetStanDiagnostics,NormalizedFilePath"
16:59:36 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (*.net *.split)
16:59:36 × AlexNoo quits (~AlexNoo@178.34.162.29) (*.net *.split)
16:59:36 × pierrot quits (~pi@user/pierrot) (*.net *.split)
16:59:36 × op_4 quits (~tslil@user/op-4/x-9116473) (*.net *.split)
16:59:36 × otto_s quits (~user@p5b044af8.dip0.t-ipconnect.de) (*.net *.split)
16:59:36 × hiredman quits (~hiredman@frontier1.downey.family) (*.net *.split)
16:59:36 × puke quits (~puke@user/puke) (*.net *.split)
16:59:36 × gabriel_sevecek quits (~gabriel@188-167-229-200.dynamic.chello.sk) (*.net *.split)
16:59:36 × dfg quits (~dfg@user/dfg) (*.net *.split)
16:59:36 × tv quits (~tv@user/tv) (*.net *.split)
16:59:36 × Vq quits (~vq@90-224-37-169-no600.tbcn.telia.com) (*.net *.split)
16:59:36 × divya quits (divya@140.238.251.170) (*.net *.split)
16:59:36 × ft quits (~ft@p4fc2a25a.dip0.t-ipconnect.de) (*.net *.split)
16:59:36 × jreicher quits (~user@user/jreicher) (*.net *.split)
16:59:36 × malte quits (~malte@mal.tc) (*.net *.split)
16:59:36 × juri_ quits (~juri@implicitcad.org) (*.net *.split)
16:59:36 × zfnmxt quits (~zfnmxt@user/zfnmxt) (*.net *.split)
16:59:36 × Raito_Bezarius quits (~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) (*.net *.split)
16:59:59 op_4 joins (~tslil@user/op-4/x-9116473)
17:00:16 ft joins (~ft@p4fc2a25a.dip0.t-ipconnect.de)
17:00:22 otto_s joins (~user@p5b044af8.dip0.t-ipconnect.de)
17:00:58 <slondr> it seems like the hls-wrapper wants to run 9.10 instead of 9.6 ?
17:02:48 × zzz quits (~zero@user/zero) (Ping timeout: 248 seconds)
17:04:31 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
17:04:31 AlexNoo joins (~AlexNoo@178.34.162.29)
17:04:31 pierrot joins (~pi@user/pierrot)
17:04:31 hiredman joins (~hiredman@frontier1.downey.family)
17:04:31 puke joins (~puke@user/puke)
17:04:31 gabriel_sevecek joins (~gabriel@188-167-229-200.dynamic.chello.sk)
17:04:31 dfg joins (~dfg@user/dfg)
17:04:31 Vq joins (~vq@90-224-37-169-no600.tbcn.telia.com)
17:04:31 divya joins (divya@140.238.251.170)
17:04:31 jreicher joins (~user@user/jreicher)
17:04:31 malte joins (~malte@mal.tc)
17:04:31 juri_ joins (~juri@implicitcad.org)
17:04:31 zfnmxt joins (~zfnmxt@user/zfnmxt)
17:04:31 Raito_Bezarius joins (~Raito@libera/contributor/wireguard.tunneler.raito-bezarius)
17:04:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:05:06 × divya quits (divya@140.238.251.170) (Max SendQ exceeded)
17:05:06 × Raito_Bezarius quits (~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) (Max SendQ exceeded)
17:05:37 <slondr> is there a way to tell hls-wrapper to use a specific hls version?
17:05:53 Raito_Bezarius joins (~Raito@libera/contributor/wireguard.tunneler.raito-bezarius)
17:06:05 tv joins (~tv@user/tv)
17:09:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
17:11:08 divya joins (divya@140.238.251.170)
17:12:02 zzz joins (~zero@user/zero)
17:13:10 <slondr> actually, what version of hls should I even be using? I tried reinstalling 2.10 using ghcup but I still ended up with it compiled using ghc 9.10 even though my ghc is 9.6
17:13:44 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
17:15:25 <geekosaur> that's not precise enough: minor versions matter. 2.10 supports 9.6.1-6 but not 9.6.7 because the ghc-api changed (as yet, it's not stable even across major versions)
17:16:39 <slondr> yeah I'm just getting "ghcide compiled against GHC 9.10.1 but currently using 9.6.7 This is unsupported, ghcide must be compiled with the same GHC version as the project." when I try to run it
17:16:58 <geekosaur> also, hls doesn't pick a ghc, it tries to use whichever one your project uses by figuring out if you're using cabal or stack and asking that, otherwise using whatever it finds first in $PATH
17:17:43 <slondr> So maybe my problem is that GHCup compiled hls using a ghc version that isn't the version on my path/set in GHCup?
17:18:17 <geekosaur> that sounds like haskell-language-server-wrapper is picking the wrong HLS (ghc-ide is a component of HLS)
17:18:40 <slondr> I agree; is there a way to change which HLS is picked by HLS-wrapper?
17:20:23 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:20:38 × MelodyOwO quits (~MelodyOwO@user/MelodyOwO) (Quit: Leaving.)
17:21:23 <geekosaur> the right way to do it is to switch to HLS 2.11, which supports ghc 9.6.7. but I thought HLS-=wrapper just faield to start if it didn't find a matching binary, here it sounds like it's just trying the newest HLS binary present which is just wrong
17:23:41 <slondr> I was just on all the "recommended" versions of everything in GHCup, if I switch to "latest" everything should I expect that to work?
17:24:36 <geekosaur> wait, I keep forgetting 2.10 does support 9.6.7
17:24:46 <geekosaur> so I have no idea why the wrapper isn't selecting it
17:25:45 <geekosaur> do you have ~/.ghcup/bin/haskell-language-server-9.6.7-2.10.0.0?
17:26:54 <slondr> yes (it's a ~ not a - but otherwise yes)
17:27:14 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
17:30:50 <geekosaur> weird
17:30:53 <geekosaur> (not the ~)
17:31:08 <geekosaur> I think at this point you need to ask over in #haskell-language-server
17:32:04 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
17:33:55 <tomsmeding> slondr: have you tried running 'haskell-language-server-wrapper' in a terminal and seeing what it prints?
17:33:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:34:34 <tomsmeding> Do you perhaps have a stack.yaml in the directory too but want to use cabal, and the stack.yaml specifies a different GHC version (via the snapshot) than your cabal project?
17:34:47 <slondr> I'm just in a directory with a single .hs file nothing else
17:35:12 <tomsmeding> ah
17:35:30 <tomsmeding> then the first thing I said
17:35:30 × tv quits (~tv@user/tv) (Read error: Connection reset by peer)
17:35:45 <tomsmeding> if you're not sure whether that outputs something relevant, paste the output in a pastebin (see /topic)
17:35:47 <slondr> Running h-l-s-wrapper doesn't report any obvious errors, it prints a bunch of stuff but looks fine?
17:36:06 <tomsmeding> what ghc version does it select? And is that the same version as you get reported in your editor?
17:36:17 <geekosaur> ctly is it printing? (use paste.tomsmeding.com)
17:36:35 tomsmeding . o O ( "ctly"? )
17:37:14 <int-e> I'd guess "what exactly"
17:37:29 <geekosaur> whoops, yes
17:37:34 <int-e> no clue how it got cut off like that though
17:37:36 <geekosaur> I keep fatfingering ctrl and a
17:37:51 <geekosaur> (I got up unusually early this morning and it shows)
17:37:59 <tomsmeding> you have ctrl on capslock?
17:38:08 <geekosaur> yeh, because I'm ancient
17:38:22 <slondr> https://paste.tomsmeding.com/IZI6qrQg
17:38:26 <tomsmeding> no need to use that excuse, I know very young people who do that too :p (I don't though)
17:38:44 <slondr> I have Compose on caps lock :)
17:39:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
17:39:11 <tomsmeding> slondr: that... looks very innocuous
17:39:20 <tomsmeding> it just selects HLS for GHC 9.6.7 and it works
17:39:40 <geekosaur> right, that works right apparently
17:39:57 <geekosaur> hm, do you have a stray ghc-ide somewhere on your PATH?
17:40:18 <tomsmeding> slondr: how have you set up HLS in your editor? Have you, perchance, told it to start h-l-s-9.10.1 specifically? Or that ^ I guess
17:40:26 <geekosaur> er, ghcide
17:42:05 <tomsmeding> also, what editor are you using, and does that editor have the same $PATH as in a terminal?
17:42:11 <slondr> All I did was install lsp-haskell and run lsp in a .hs file. I haven't configured anything else in particular
17:42:35 <tomsmeding> your editor does not magically know about "haskell-language-server"
17:42:53 <tomsmeding> you may have a plugin in your editor that knows about it and has lain dormant until now
17:43:09 <slondr> oh to be clear lsp-haskell is a package for my editor
17:43:16 <slondr> https://github.com/emacs-lsp/lsp-haskell
17:43:35 <tomsmeding> looks like that starts h-l-s-wrapper
17:43:50 <tomsmeding> is the lsp-haskell-server-path still on the default value?
17:44:18 <slondr> yep it's "haskell-language-server-wrapper"
17:44:34 <geekosaur> is there some reasom you're not using the built-in eglot?
17:44:55 tomsmeding will defer to people who actually know something about emacs
17:45:21 × sajenim quits (~sajenim@user/sajenim) (Ping timeout: 256 seconds)
17:45:35 <geekosaur> I only know a little bit more, but eglot's supposed to be pretty good these days (originally it wasn't and people used other solutions)
17:45:44 <slondr> lsp::log shows that it's starting haskell-language-server-wrapper with log output to ../hls.log
17:45:56 <geekosaur> (I switched to codium)
17:46:25 <slondr> geekosaur: I prefer lsp's output and interactions to eglot generally
17:47:09 <tomsmeding> slondr: cool, is there anything relevant in that hls.log?
17:50:27 × peterbecich quits (~Thunderbi@syn-172-222-149-049.res.spectrum.com) (Ping timeout: 252 seconds)
17:50:39 <slondr> https://paste.tomsmeding.com/S5NDK1ZO
17:50:56 <slondr> I don't think so? nothing jumps out as an obvious error to mee at least. I'm not even seeing the error reported in my haskell buffer here
17:53:28 tv joins (~tv@user/tv)
17:54:05 <slondr> ok this is really weird actually. some lsp features are totally working! when I mouse over functions I see their docs in a pop-up, when I mouse over definitions it shows me their inferred types. all that is working. it's just also randomly giving me this critical error on line 1 character 1 with a nonsense error message
17:54:31 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
17:55:56 <slondr> I do *not* get this error with eglot, which does imply that this is a problem with lsp-haskell and not with HLS itself
17:56:04 <slondr> Hmmmmmmmmmmm
17:58:57 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
17:59:15 ljdarj joins (~Thunderbi@user/ljdarj)
18:00:15 img joins (~img@user/img)
18:02:41 <slondr> well I filed a bug report with lsp-haskell: https://github.com/emacs-lsp/lsp-haskell/issues/201 we'll see what they say
18:04:25 trickard_ is now known as trickard
18:10:28 vanishingideal joins (~vanishing@user/vanishingideal)
18:11:32 <haskellbridge> <geekosaur> Fwiw that looks like lsp-haskell is mis-parsing HLS output
18:19:35 <[exa]> evenin' guys
18:19:50 <[exa]> hows your thunks
18:22:55 <Rembane> Evening! They're thunking!
18:24:19 × divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer)
18:24:44 divlamir joins (~divlamir@user/divlamir)
18:29:00 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 256 seconds)
18:30:17 Lycurgus joins (~juan@user/Lycurgus)
18:30:31 vanishingideal joins (~vanishing@user/vanishingideal)
18:33:32 × tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 256 seconds)
18:34:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:35:53 tomboy64 joins (~tomboy64@user/tomboy64)
18:39:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
18:43:18 Sgeo joins (~Sgeo@user/sgeo)
18:47:20 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
18:47:42 ec joins (~ec@gateway/tor-sasl/ec)
18:50:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:55:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
18:57:29 __monty__ joins (~toonn@user/toonn)
19:00:03 × caconym747 quits (~caconym@user/caconym) (Quit: bye)
19:00:43 caconym747 joins (~caconym@user/caconym)
19:06:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:09:14 michalz joins (~michalz@185.246.207.203)
19:11:14 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
19:15:13 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 250 seconds)
19:16:59 vanishingideal joins (~vanishing@user/vanishingideal)
19:22:07 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:26:15 pavonia joins (~user@user/siracusa)
19:27:22 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
19:27:34 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
19:30:52 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
19:31:05 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
19:34:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:37:58 tromp joins (~textual@2001:1c00:3487:1b00:e84f:6edb:50a4:103e)
19:39:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
19:43:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:44:56 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
19:47:27 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
19:59:50 target_i joins (~target_i@user/target-i/x-6023099)
20:02:59 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
20:06:26 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 258 seconds)
20:07:23 × tromp quits (~textual@2001:1c00:3487:1b00:e84f:6edb:50a4:103e) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:13:18 × fp quits (~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) (Ping timeout: 265 seconds)
20:14:08 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:18:56 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
20:19:28 × picnoir quits (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.7.0)
20:19:56 tromp joins (~textual@2001:1c00:3487:1b00:e84f:6edb:50a4:103e)
20:20:23 fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi)
20:22:12 picnoir joins (~picnoir@about/aquilenet/vodoo/NinjaTrappeur)
20:25:16 fp1 joins (~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi)
20:29:08 × fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 256 seconds)
20:29:08 fp1 is now known as fp
20:29:55 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:34:57 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
20:45:13 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
20:45:45 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:46:03 werneta joins (~werneta@syn-071-083-160-242.res.spectrum.com)
20:47:45 <ski> Franciman : i haven't looked much into ontological stuff
20:50:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
20:58:05 × michalz quits (~michalz@185.246.207.203) (Remote host closed the connection)
21:01:30 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:01:48 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
21:02:38 gmg joins (~user@user/gehmehgeh)
21:06:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
21:20:47 × jreicher quits (~user@user/jreicher) (Quit: In transit)
21:21:31 vanishingideal joins (~vanishing@user/vanishingideal)
21:22:22 <Lycurgus> Franciman, no reason y not but most stuff that does isn, its outside the hs cultural pale
21:22:48 <Lycurgus> my main SUMO thing of choice e.g. is lisp
21:26:54 <Lycurgus> (that got ported to java in a depressingly common move, i wish ppl didn do that)
21:27:42 <Lycurgus> but there's no one lang for onto stuffs
21:28:18 <Lycurgus> there's protege but it's lang agnostic and just a very popular workframe
21:28:22 × robertm quits (robertm@lattice.rojoma.com) (Quit: WeeChat 4.6.3)
21:28:39 <Lycurgus> most things of interest to me are prolog or lisp
21:29:37 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
21:29:45 robertm joins (robertm@lattice.rojoma.com)
21:30:56 img joins (~img@user/img)
21:31:09 <Lycurgus> the protege plugins are a good sampler
21:31:15 <Lycurgus> lang wise
21:35:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:36:09 <Lycurgus> that thing wasn ported from lisp, sounded wrong and confabulatied from lisp like dsl
21:36:25 <Lycurgus> it actually uses a jvm based prolof
21:36:30 <Lycurgus> *prolog
21:38:00 <Lycurgus> curry would maybe be a better choice than straight hs if ur starting a new world
21:40:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
21:41:05 × fp quits (~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) (Ping timeout: 248 seconds)
21:42:33 <Lycurgus> there's onto-ish hs stuff like wordnet libs
21:43:56 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 256 seconds)
21:44:17 arandombit joins (~arandombi@user/arandombit)
21:51:07 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:56:01 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:56:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
21:59:31 × tromp quits (~textual@2001:1c00:3487:1b00:e84f:6edb:50a4:103e) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:59:37 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
21:59:44 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:04:54 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
22:15:31 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:16:50 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
22:20:53 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
22:20:54 sonolin joins (~michael@user/sonolin)
22:31:25 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:33:03 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
22:36:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
22:40:15 jreicher joins (~user@user/jreicher)
22:40:26 × tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in)
22:47:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:48:34 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: jksdnbvkb)
22:51:27 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
22:54:44 × sindu quits (~sindu@176.75.108.200) (Ping timeout: 265 seconds)
22:55:46 × sprotte24 quits (~sprotte24@p200300d16f24190058efc57a119b71f1.dip0.t-ipconnect.de) (Quit: Leaving)
23:01:50 × DavidSch__ quits (~ds__38@ip-037-049-102-199.um09.pools.vodafone-ip.de) (Quit: Lost terminal)
23:02:32 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:03:46 × poscat0x04 quits (~poscat@user/poscat) (Remote host closed the connection)
23:05:49 × Digit quits (~user@user/digit) (Remote host closed the connection)
23:06:30 poscat joins (~poscat@user/poscat)
23:06:30 mange joins (~mange@user/mange)
23:07:30 Digit joins (~user@user/digit)
23:09:30 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
23:15:38 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
23:15:54 sprotte24 joins (~sprotte24@p200300d16f24190058efc57a119b71f1.dip0.t-ipconnect.de)
23:15:55 × sprotte24 quits (~sprotte24@p200300d16f24190058efc57a119b71f1.dip0.t-ipconnect.de) (Remote host closed the connection)
23:20:34 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:25:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
23:36:28 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:36:31 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Ping timeout: 250 seconds)
23:41:29 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
23:44:18 × sonolin quits (~michael@user/sonolin) (Ping timeout: 260 seconds)
23:45:45 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
23:46:56 ystael joins (~ystael@user/ystael)
23:47:13 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
23:47:26 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
23:51:17 × tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 265 seconds)
23:51:36 trickard_ is now known as trickard
23:52:10 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:53:42 tomboy64 joins (~tomboy64@user/tomboy64)
23:57:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)

All times are in UTC on 2025-09-07.