2024-07-20 00:00:09 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-20 00:00:28 +0200 | phma | (~phma@2001:5b0:211f:9678:d7d4:309e:db55:1e79) (Read error: Connection reset by peer) |
2024-07-20 00:01:31 +0200 | phma | (~phma@2001:5b0:210f:55a8:9fbe:3c54:a526:88c8) |
2024-07-20 00:01:34 +0200 | haetsal | (~quassel@221.138.168.192) (Quit: No Ping reply in 180 seconds.) |
2024-07-20 00:02:50 +0200 | haetsal | (~quassel@221.138.168.192) |
2024-07-20 00:03:05 +0200 | cyphase | (~cyphase@user/cyphase) |
2024-07-20 00:06:43 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-20 00:08:30 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 276 seconds) |
2024-07-20 00:12:56 +0200 | <Inst> | actually, when you need a queue |
2024-07-20 00:13:00 +0200 | <Inst> | you can just use sequence, no? |
2024-07-20 00:13:25 +0200 | <monochrom> | You can also just use []. |
2024-07-20 00:14:01 +0200 | <Inst> | for O(n) dequeue :3 |
2024-07-20 00:14:39 +0200 | <monochrom> | sequence is not O(1) either. |
2024-07-20 00:15:43 +0200 | <monochrom> | And to think we have just gone through a long-drawn conversation, jokes, and field stories about if you don't write more conditions then anything goes. |
2024-07-20 00:16:10 +0200 | cyphase | (~cyphase@user/cyphase) |
2024-07-20 00:16:27 +0200 | <Inst> | i was trying to build a queue in haskell, ended up building a circular queue instead |
2024-07-20 00:18:01 +0200 | <c_wraith> | theoretically, Okasaki queues have O(1) worst-case push and pop |
2024-07-20 00:18:41 +0200 | <c_wraith> | But they're also confusing as heck, and the simplest structure in his thesis |
2024-07-20 00:19:12 +0200 | <monochrom> | I coded it up so now it is simple to just import. (But I also understood it.) |
2024-07-20 00:19:17 +0200 | <Inst> | wait, okasaki's purely functional data structures was his thesis? |
2024-07-20 00:19:31 +0200 | xal | (~xal@mx1.xal.systems) () |
2024-07-20 00:19:32 +0200 | <Inst> | doctoral dissertation, rather |
2024-07-20 00:19:41 +0200 | <geekosaur> | the book is an extension of it, yes |
2024-07-20 00:20:00 +0200 | xal | (~xal@mx1.xal.systems) |
2024-07-20 00:20:02 +0200 | <monochrom> | For most people though amortized-O(1) is good enough. Then it's just (front_list, back_list). |
2024-07-20 00:20:26 +0200 | <monochrom> | Someone actually did that for an STM queue. |
2024-07-20 00:20:53 +0200 | <c_wraith> | One of Okasaki's first points is that amortized analysis can break down badly in persistent data structures, if your use pattern isn't very friendly |
2024-07-20 00:21:53 +0200 | <c_wraith> | So, like.. Using the ([a], [a]) representation can open up complexity-based DoS attacks on a service if it can be manipulated externally |
2024-07-20 00:22:21 +0200 | <monochrom> | Ah yeah it assumes ephemeral (even linear) not persistent. |
2024-07-20 00:23:19 +0200 | <monochrom> | I swear I never use queues persistently so I'm good. :) |
2024-07-20 00:23:41 +0200 | <c_wraith> | ah, like how C code never has memory unsafety! |
2024-07-20 00:23:55 +0200 | <monochrom> | "That's not fair!" |
2024-07-20 00:25:33 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-20 00:26:15 +0200 | <monochrom> | Ugh too much Haskell harms C programming. |
2024-07-20 00:26:40 +0200 | <c_wraith> | very true |
2024-07-20 00:27:15 +0200 | <c_wraith> | I just start thinking of all the footguns and say "you know, I bet I don't actually need to do this." |
2024-07-20 00:27:24 +0200 | <monochrom> | I have "int f(int x) { g(0, x); }" and I thought it meant that the return value of g() becomes the return value of f(), just like in Haskell, right? RIGHT? |
2024-07-20 00:27:50 +0200 | <c_wraith> | it took me two reads to realize why that wasn't true |
2024-07-20 00:28:01 +0200 | <monochrom> | Fortunately some kind of -Wall saved me, but I was puzzled why it thinks I didn't specify a return value. |
2024-07-20 00:28:11 +0200 | <haskellbridge> | <mauke> Hey, it works in Perl :-D |
2024-07-20 00:28:13 +0200 | <geekosaur> | whereas I spotted it immediately |
2024-07-20 00:28:57 +0200 | <geekosaur> | but I am involved with enough C/C++ code to keep things like that ready to mind |
2024-07-20 00:28:58 +0200 | <c_wraith> | you need to do more Haskell. :P |
2024-07-20 00:29:22 +0200 | <geekosaur> | I'm also fairly good at context switching |
2024-07-20 00:29:34 +0200 | <haskellbridge> | <mauke> C/C++ has undefined behavior |
2024-07-20 00:30:20 +0200 | <geekosaur> | I'm half tempted to say they are undefined behavior |
2024-07-20 00:33:25 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 248 seconds) |
2024-07-20 00:38:13 +0200 | zzz | (~z@user/zero) (Ping timeout: 248 seconds) |
2024-07-20 00:38:47 +0200 | <Inst> | https://hackage.haskell.org/package/containers-0.7/docs/Data-Sequence.html |
2024-07-20 00:38:49 +0200 | <Inst> | looking at the thing |
2024-07-20 00:39:11 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-07-20 00:40:06 +0200 | <Inst> | O(1) access, O(1) queue, O(log(n)) splitting, seems as though it should do everything you'd want a FIFO queue for, no? |
2024-07-20 00:40:46 +0200 | <c_wraith> | the constant factors are kinda high. |
2024-07-20 00:41:01 +0200 | acidjnk | (~acidjnk@2003:d6:e72c:fb96:64ac:4517:a3be:c0ce) (Ping timeout: 252 seconds) |
2024-07-20 00:41:12 +0200 | <Inst> | iirc someone benchmarked it vs list, and that was the problem |
2024-07-20 00:45:50 +0200 | zero | (~z@user/zero) |
2024-07-20 00:48:51 +0200 | ddellacosta | (~ddellacos@ool-44c73d29.dyn.optonline.net) |
2024-07-20 00:54:57 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 252 seconds) |
2024-07-20 00:56:17 +0200 | NullPointerExcep | (~NullPoint@200.82.250.153) |
2024-07-20 01:04:27 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-07-20 01:08:31 +0200 | gmg | (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
2024-07-20 01:08:53 +0200 | <monochrom> | Also IIRC those O(1)'s are amortized only. |
2024-07-20 01:17:36 +0200 | <exarkun> | Correct |
2024-07-20 01:29:45 +0200 | tomku | (~tomku@user/tomku) (Ping timeout: 276 seconds) |
2024-07-20 01:36:23 +0200 | tomku | (~tomku@user/tomku) |
2024-07-20 01:40:55 +0200 | ach_ol | (~ach_ol@c-71-62-230-245.hsd1.va.comcast.net) (Quit: Leaving.) |
2024-07-20 01:47:01 +0200 | Square2 | (~Square@user/square) (Ping timeout: 248 seconds) |
2024-07-20 01:52:31 +0200 | CiaoSen | (~Jura@2a05:5800:225:1a00:e6b9:7aff:fe80:3d03) (Ping timeout: 252 seconds) |
2024-07-20 02:05:26 +0200 | gmg | (~user@user/gehmehgeh) |
2024-07-20 02:08:57 +0200 | oo_miguel | (~Thunderbi@78.10.207.46) (Quit: oo_miguel) |
2024-07-20 02:15:25 +0200 | bearen | (goku@user/bearen) |
2024-07-20 02:21:30 +0200 | <NullPointerExcep> | Hi! I'm following the trees-that-grow paper, but I hit yet another hill with type families and quantified constraints. |
2024-07-20 02:21:31 +0200 | <NullPointerExcep> | Suppose you have the following definitions: |
2024-07-20 02:21:31 +0200 | <NullPointerExcep> | ``` |
2024-07-20 02:21:32 +0200 | <NullPointerExcep> | class RValue (ctx :: Type) (a :: MyTypes) |
2024-07-20 02:21:33 +0200 | <NullPointerExcep> | type family UpcastX (ctx :: Type) (a :: MyTypes) (b :: MyTypes) :: Type |
2024-07-20 02:21:33 +0200 | <NullPointerExcep> | data ExprTag |
2024-07-20 02:21:33 +0200 | <NullPointerExcep> | data Proof (psi :: k -> Constraint) (a :: k) where |
2024-07-20 02:21:34 +0200 | <NullPointerExcep> | P :: psi a => Proof psi a |
2024-07-20 02:21:34 +0200 | <NullPointerExcep> | ``` |
2024-07-20 02:21:35 +0200 | <NullPointerExcep> | Now, let's say i wanted to embed the quantified constraint `forall (a :: MyTypes). RValue ExprTag (Lazy (Lazy a)) `. |
2024-07-20 02:21:35 +0200 | <NullPointerExcep> | I don't think I can do that with `Proof` due to the quantifier, I can do a workaround with: |
2024-07-20 02:21:36 +0200 | <NullPointerExcep> | ``` |
2024-07-20 02:21:36 +0200 | <NullPointerExcep> | data Proof' (psi :: k1 -> Constraint) (f :: k0 -> k1) where |
2024-07-20 02:21:37 +0200 | <NullPointerExcep> | P' :: forall k (a :: k) f psi. psi (f a) => Proof' psi f |
2024-07-20 02:21:37 +0200 | <NullPointerExcep> | type instance UpcastX ExprTag a b = Proof' (RValue ExprTag) Value |
2024-07-20 02:21:38 +0200 | <NullPointerExcep> | ``` |
2024-07-20 02:21:38 +0200 | <NullPointerExcep> | But it's bothering me that I needed another abstraction, is there a better/more general way to do this? |
2024-07-20 02:26:45 +0200 | Midjak | (~MarciZ@82.66.147.146) (Quit: This computer has gone to sleep) |
2024-07-20 02:27:19 +0200 | Midjak | (~MarciZ@82.66.147.146) |
2024-07-20 02:32:09 +0200 | madhavanmiui | (~madhavanm@2409:40f4:101e:36e6:8000::) |
2024-07-20 02:34:04 +0200 | madhavanmiui | (~madhavanm@2409:40f4:101e:36e6:8000::) (Client Quit) |
2024-07-20 02:34:20 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2024-07-20 02:36:36 +0200 | califax | (~califax@user/califx) |
2024-07-20 02:54:34 +0200 | ach_ol | (~ach_ol@c-71-62-230-245.hsd1.va.comcast.net) |
2024-07-20 03:11:49 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 248 seconds) |
2024-07-20 03:15:49 +0200 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving) |
2024-07-20 03:20:21 +0200 | tomku | (~tomku@user/tomku) (Ping timeout: 248 seconds) |
2024-07-20 03:20:34 +0200 | tomku | (~tomku@user/tomku) |
2024-07-20 03:42:04 +0200 | kupi | (uid212005@2a03:5180:f:4::3:3c25) |
2024-07-20 03:48:41 +0200 | NullPointerExcep | (~NullPoint@200.82.250.153) (Ping timeout: 256 seconds) |
2024-07-20 03:59:30 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-20 04:05:37 +0200 | bearen | (goku@user/bearen) (Ping timeout: 252 seconds) |
2024-07-20 04:07:02 +0200 | Guest27 | (~Guest27@2603:7080:2a00:400:6d1b:c935:9a53:5811) |
2024-07-20 04:09:44 +0200 | pavonia | (~user@user/siracusa) |
2024-07-20 04:19:55 +0200 | td_ | (~td@i53870905.versanet.de) (Ping timeout: 252 seconds) |
2024-07-20 04:21:49 +0200 | td_ | (~td@i53870918.versanet.de) |
2024-07-20 04:32:01 +0200 | tomku | (~tomku@user/tomku) (Ping timeout: 252 seconds) |
2024-07-20 04:32:15 +0200 | tomku | (~tomku@user/tomku) |
2024-07-20 04:35:27 +0200 | NullPointerExcep | (~NullPoint@200.82.250.153) |
2024-07-20 04:35:54 +0200 | NullPointerExcep | (~NullPoint@200.82.250.153) (Client Quit) |
2024-07-20 04:36:17 +0200 | Guest27 | (~Guest27@2603:7080:2a00:400:6d1b:c935:9a53:5811) (Ping timeout: 256 seconds) |
2024-07-20 05:00:20 +0200 | supra | (~vanilla@user/supra) |
2024-07-20 05:01:14 +0200 | supra | (~vanilla@user/supra) () |
2024-07-20 05:18:13 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
2024-07-20 05:40:32 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-20 05:41:40 +0200 | skyesoss | (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net) (Quit: skyesoss) |
2024-07-20 06:00:12 +0200 | aforemny | (~aforemny@2001:9e8:6cf3:7d00:7722:6259:6fe2:da4f) |
2024-07-20 06:01:29 +0200 | aforemny_ | (~aforemny@2001:9e8:6cd6:d600:9028:bc24:7dc9:b4c1) (Ping timeout: 252 seconds) |
2024-07-20 06:19:58 +0200 | kubo | (~kubo@37.230.58.162) |
2024-07-20 06:20:29 +0200 | <kubo> | ¿Alguien sabe? |
2024-07-20 06:21:06 +0200 | euleritian | (~euleritia@dynamic-176-003-020-012.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-20 06:21:37 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-20 06:21:48 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-20 06:22:35 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-20 06:27:28 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-20 06:30:06 +0200 | myxos | (~myxos@syn-065-028-251-121.res.spectrum.com) (Ping timeout: 272 seconds) |
2024-07-20 06:36:31 +0200 | kubo | (~kubo@37.230.58.162) (Remote host closed the connection) |
2024-07-20 06:40:27 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds) |
2024-07-20 06:40:57 +0200 | euleritian | (~euleritia@77.22.252.56) |
2024-07-20 07:07:45 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
2024-07-20 07:25:37 +0200 | aaronv | (~aaronv@user/aaronv) |
2024-07-20 07:28:15 +0200 | billchenchina- | (~billchenc@223.49.170.54) |
2024-07-20 07:28:19 +0200 | billchenchina- | (~billchenc@223.49.170.54) (Remote host closed the connection) |
2024-07-20 07:28:53 +0200 | euleritian | (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
2024-07-20 07:29:01 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-20 07:33:48 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-07-20 07:36:14 +0200 | jkachmar | (~jkachmar@pool-108-41-84-203.nycmny.fios.verizon.net) |
2024-07-20 07:36:53 +0200 | NullPointerExcep | (~NullPoint@200.82.250.153) |
2024-07-20 07:40:09 +0200 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) |
2024-07-20 07:44:58 +0200 | NullPointerExcep | (~NullPoint@200.82.250.153) (Quit: Ping timeout (120 seconds)) |
2024-07-20 07:45:08 +0200 | NullPointerExcep | (~NullPoint@200.82.250.153) |
2024-07-20 07:45:53 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-20 07:46:59 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-20 07:47:32 +0200 | euleritian | (~euleritia@77.22.252.56) |
2024-07-20 07:48:23 +0200 | CrunchyFlakes | (~CrunchyFl@146.52.130.128) |
2024-07-20 07:51:45 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-20 07:52:50 +0200 | skyesoss | (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net) |
2024-07-20 07:53:02 +0200 | <NullPointerExcep> | do we have unsaturated type families? |
2024-07-20 07:55:49 +0200 | <jkachmar> | the proposal was accepted & iirc Csongor had some sort of branch associated with his paper but nothing that's landed in GHC afaik |
2024-07-20 07:57:57 +0200 | <Leary> | You can always defunctionalise them yourself though. |
2024-07-20 07:59:01 +0200 | <jkachmar> | as always, lysxia has a library for this: https://hackage.haskell.org/package/first-class-families |
2024-07-20 07:59:02 +0200 | <NullPointerExcep> | thanks! I saw something along the lines being tagged as merged on github, and thought I no longer needed to defunctionalize things |
2024-07-20 08:00:43 +0200 | <NullPointerExcep> | ohh, shiny, I'll give it an eye |
2024-07-20 08:00:46 +0200 | <lyxia> | do you mean P' :: forall a. psi (f a) => Proof' psi f or (forall a. psi (f a)) => Proof' psi f ? because only the latter is a quantified constraint |
2024-07-20 08:01:36 +0200 | <NullPointerExcep> | the latter c: |
2024-07-20 08:03:50 +0200 | <lyxia> | then you can use a simpler data Dict |
2024-07-20 08:04:46 +0200 | <lyxia> | data Dict (c :: Constraint) where Dict :: c => Dict c and c can be a synonym for a quantified constraint (or not) class (forall a. psi (f a)) => C psi f ; instance (forall a. psi (f a)) => C psi f |
2024-07-20 08:07:57 +0200 | euleritian | (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
2024-07-20 08:08:33 +0200 | euleritian | (~euleritia@77.22.252.56) |
2024-07-20 08:11:02 +0200 | acidjnk | (~acidjnk@p200300d6e72cfb291c0587c5c944f391.dip0.t-ipconnect.de) |
2024-07-20 08:14:22 +0200 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-07-20 08:15:17 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
2024-07-20 08:15:52 +0200 | <NullPointerExcep> | omg, you are totally right! so obvious too, but I can't seem to use quantified constraints inside a type instance ;( |
2024-07-20 08:17:30 +0200 | <NullPointerExcep> | something like type instance FooX MyContainer = Dict (forall a. Show (f a)) is rejected even with impredicative types turned on |
2024-07-20 08:21:03 +0200 | euphores | (~SASL_euph@user/euphores) |
2024-07-20 08:21:57 +0200 | <NullPointerExcep> | ohhh |
2024-07-20 08:22:07 +0200 | <NullPointerExcep> | I found the quantified constraint trick in your page! |
2024-07-20 08:22:49 +0200 | <NullPointerExcep> | brilliant, thank you so much! |
2024-07-20 08:33:39 +0200 | <lyxia> | :) |
2024-07-20 08:38:27 +0200 | ach_ol | (~ach_ol@c-71-62-230-245.hsd1.va.comcast.net) () |
2024-07-20 08:41:50 +0200 | kupi | (uid212005@2a03:5180:f:4::3:3c25) (Quit: Connection closed for inactivity) |
2024-07-20 08:51:10 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-20 08:54:48 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-07-20 09:01:29 +0200 | jkachmar | (~jkachmar@pool-108-41-84-203.nycmny.fios.verizon.net) (Ping timeout: 256 seconds) |
2024-07-20 09:06:30 +0200 | euleritian | (~euleritia@77.22.252.56) (Remote host closed the connection) |
2024-07-20 09:06:44 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-20 09:11:54 +0200 | tomku | (~tomku@user/tomku) (Ping timeout: 276 seconds) |
2024-07-20 09:12:08 +0200 | tomku | (~tomku@user/tomku) |
2024-07-20 09:21:17 +0200 | SteelBlueSilk | (~SteelBlue@user/SteelBlueSilk) (Quit: ZNC 1.8.2+deb3.1 - https://znc.in) |
2024-07-20 09:22:04 +0200 | SteelBlueSilk | (~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net) |
2024-07-20 09:22:04 +0200 | SteelBlueSilk | (~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net) (Changing host) |
2024-07-20 09:22:04 +0200 | SteelBlueSilk | (~SteelBlue@user/SteelBlueSilk) |
2024-07-20 09:25:16 +0200 | arcadewise | (52968ed80d@2a03:6000:1812:100::3df) (Ping timeout: 245 seconds) |
2024-07-20 09:25:16 +0200 | tjbc | (~tjbc@user/fliife) (Ping timeout: 245 seconds) |
2024-07-20 09:25:43 +0200 | tjbc | (~tjbc@user/fliife) |
2024-07-20 09:26:14 +0200 | sus | (1b7af6299f@user/zeromomentum) (Ping timeout: 245 seconds) |
2024-07-20 09:26:14 +0200 | dispater | (~dispater@mail.brprice.uk) (Ping timeout: 245 seconds) |
2024-07-20 09:26:39 +0200 | fgaz_ | (1ff9197ed6@2a03:6000:1812:100::11ea) (Ping timeout: 245 seconds) |
2024-07-20 09:26:41 +0200 | dispater | (~dispater@mail.brprice.uk) |
2024-07-20 09:26:42 +0200 | arcadewise | (52968ed80d@2a03:6000:1812:100::3df) |
2024-07-20 09:26:48 +0200 | sus | (1b7af6299f@user/zeromomentum) |
2024-07-20 09:27:59 +0200 | fgaz_ | (1ff9197ed6@2a03:6000:1812:100::11ea) |
2024-07-20 09:30:28 +0200 | NullPointerExcep | (~NullPoint@200.82.250.153) (Quit: Client closed) |
2024-07-20 09:33:19 +0200 | b20n | (sid115913@id-115913.uxbridge.irccloud.com) (Ping timeout: 245 seconds) |
2024-07-20 09:33:30 +0200 | b20n | (sid115913@id-115913.uxbridge.irccloud.com) |
2024-07-20 09:34:09 +0200 | kuruczgy | (55b66dd3ae@2a03:6000:1812:100::127f) (Ping timeout: 245 seconds) |
2024-07-20 09:34:16 +0200 | kuruczgy | (55b66dd3ae@2a03:6000:1812:100::127f) |
2024-07-20 09:34:59 +0200 | eso | (a0662dfd5e@2a03:6000:1812:100::1266) (Ping timeout: 245 seconds) |
2024-07-20 09:38:02 +0200 | eso | (a0662dfd5e@2a03:6000:1812:100::1266) |
2024-07-20 09:45:36 +0200 | Midjak | (~MarciZ@82.66.147.146) (Quit: This computer has gone to sleep) |
2024-07-20 09:53:57 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 252 seconds) |
2024-07-20 09:56:05 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2024-07-20 09:56:45 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds) |
2024-07-20 09:57:27 +0200 | Lord_of_Life_ | Lord_of_Life |
2024-07-20 10:03:08 +0200 | skyesoss | (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net) (Ping timeout: 252 seconds) |
2024-07-20 10:05:51 +0200 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 276 seconds) |
2024-07-20 10:21:13 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-20 10:28:05 +0200 | ash3en | (~Thunderbi@2a01:c22:888e:9900:1578:4a37:8e5e:967) |
2024-07-20 10:28:44 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2024-07-20 10:31:12 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 276 seconds) |
2024-07-20 10:48:20 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-20 10:50:21 +0200 | amjoseph | (~amjoseph@static-198-44-128-146.cust.tzulo.com) (Ping timeout: 252 seconds) |
2024-07-20 10:51:40 +0200 | danza | (~francesco@151.35.242.65) |
2024-07-20 10:57:45 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
2024-07-20 10:58:47 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-07-20 10:59:35 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 252 seconds) |
2024-07-20 11:08:07 +0200 | amjoseph | (~amjoseph@static-198-44-128-146.cust.tzulo.com) |
2024-07-20 11:11:31 +0200 | <ash3en> | Hi, can I use the FGL lib to retrieve coordinates of nodes in a graph or do i need to use the graphviz lib for this? |
2024-07-20 11:13:44 +0200 | Square2 | (~Square@user/square) |
2024-07-20 11:15:51 +0200 | ash3en | (~Thunderbi@2a01:c22:888e:9900:1578:4a37:8e5e:967) (Quit: ash3en) |
2024-07-20 11:16:07 +0200 | ash3en | (~Thunderbi@2a01:c22:888e:9900:1578:4a37:8e5e:967) |
2024-07-20 11:19:52 +0200 | danza_ | (~francesco@151.37.244.23) |
2024-07-20 11:20:41 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2024-07-20 11:20:56 +0200 | sawilagar | (~sawilagar@user/sawilagar) |
2024-07-20 11:22:29 +0200 | danza | (~francesco@151.35.242.65) (Ping timeout: 248 seconds) |
2024-07-20 11:24:18 +0200 | __monty__ | (~toonn@user/toonn) |
2024-07-20 11:26:19 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) |
2024-07-20 11:26:22 +0200 | aaronv | (~aaronv@user/aaronv) |
2024-07-20 11:30:38 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-20 11:31:20 +0200 | myxos | (~myxos@syn-065-028-251-121.res.spectrum.com) |
2024-07-20 11:55:01 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 248 seconds) |
2024-07-20 12:00:54 +0200 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 276 seconds) |
2024-07-20 12:03:35 +0200 | gmg | (~user@user/gehmehgeh) |
2024-07-20 12:05:16 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-20 12:09:18 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-07-20 12:11:06 +0200 | <lxsameer> | hey folks what doe the `a ~ b` type signature is called? |
2024-07-20 12:15:54 +0200 | <ncf> | an equality constraint |
2024-07-20 12:16:06 +0200 | <ncf> | https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/equality_constraints.html |
2024-07-20 12:20:37 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 252 seconds) |
2024-07-20 12:24:43 +0200 | oneeyedalien | (~oneeyedal@user/oneeyedalien) |
2024-07-20 12:27:55 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2024-07-20 12:28:09 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-20 12:34:12 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-07-20 12:43:58 +0200 | oneeyedalien | (~oneeyedal@user/oneeyedalien) (Quit: Leaving) |
2024-07-20 12:47:21 +0200 | <lxsameer> | ncf: cheers |
2024-07-20 12:49:18 +0200 | danza_ | danza |
2024-07-20 13:03:09 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 252 seconds) |
2024-07-20 13:05:18 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-20 13:06:29 +0200 | tomku | (~tomku@user/tomku) (Ping timeout: 248 seconds) |
2024-07-20 13:06:44 +0200 | tomku | (~tomku@user/tomku) |
2024-07-20 13:24:45 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 276 seconds) |
2024-07-20 13:29:57 +0200 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2024-07-20 13:30:09 +0200 | g00gler | (uid125351@id-125351.uxbridge.irccloud.com) |
2024-07-20 13:31:55 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-20 13:32:27 +0200 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) |
2024-07-20 13:32:31 +0200 | MadeleineSydney | (~Thunderbi@c-71-229-185-228.hsd1.co.comcast.net) |
2024-07-20 13:35:54 +0200 | vpan | (~vpan@212.117.1.172) |
2024-07-20 13:44:29 +0200 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
2024-07-20 13:50:17 +0200 | danza | (~francesco@151.37.244.23) (Quit: gotta go) |
2024-07-20 14:00:21 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 248 seconds) |
2024-07-20 14:04:18 +0200 | raym | (~ray@user/raym) (Ping timeout: 258 seconds) |
2024-07-20 14:10:59 +0200 | raym | (~ray@user/raym) |
2024-07-20 14:20:05 +0200 | billchenchina- | (~billchenc@118.38.173.226) |
2024-07-20 14:35:33 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-07-20 14:37:20 +0200 | euleritian | (~euleritia@dynamic-176-006-131-226.176.6.pool.telefonica.de) |
2024-07-20 14:41:32 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-20 15:00:30 +0200 | billchenchina- | (~billchenc@118.38.173.226) (Ping timeout: 252 seconds) |
2024-07-20 15:01:40 +0200 | ash3en1 | (~Thunderbi@193.32.248.188) |
2024-07-20 15:01:41 +0200 | ash3en | (~Thunderbi@2a01:c22:888e:9900:1578:4a37:8e5e:967) (Ping timeout: 248 seconds) |
2024-07-20 15:01:41 +0200 | ash3en1 | ash3en |
2024-07-20 15:02:58 +0200 | ddellacosta | (~ddellacos@ool-44c73d29.dyn.optonline.net) (Quit: WeeChat 4.2.1) |
2024-07-20 15:06:42 +0200 | euleritian | (~euleritia@dynamic-176-006-131-226.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-20 15:07:00 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-20 15:09:45 +0200 | kubo | (~kubo@37.230.58.196) |
2024-07-20 15:13:23 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-20 15:13:41 +0200 | AlexZenon | (~alzenon@94.233.241.102) (Ping timeout: 252 seconds) |
2024-07-20 15:14:20 +0200 | kubo | (~kubo@37.230.58.196) (Remote host closed the connection) |
2024-07-20 15:17:05 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 255 seconds) |
2024-07-20 15:20:07 +0200 | kubo | (~kubo@37.230.58.196) |
2024-07-20 15:20:54 +0200 | kubo | (~kubo@37.230.58.196) (Remote host closed the connection) |
2024-07-20 15:21:43 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-20 15:21:54 +0200 | vpan | (~vpan@212.117.1.172) (Quit: Leaving.) |
2024-07-20 15:23:23 +0200 | kubo | (~kubo@37.230.58.196) |
2024-07-20 15:26:29 +0200 | rosco | (~rosco@175.136.155.137) |
2024-07-20 15:27:34 +0200 | ash3en | (~Thunderbi@193.32.248.188) (Quit: ash3en) |
2024-07-20 15:29:33 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds) |
2024-07-20 15:30:49 +0200 | euleritian | (~euleritia@dynamic-176-006-131-226.176.6.pool.telefonica.de) |
2024-07-20 15:31:29 +0200 | kubo | (~kubo@37.230.58.196) (Remote host closed the connection) |
2024-07-20 15:32:02 +0200 | kubo | (~kubo@37.230.58.196) |
2024-07-20 15:33:22 +0200 | MadeleineSydney | (~Thunderbi@c-71-229-185-228.hsd1.co.comcast.net) (Remote host closed the connection) |
2024-07-20 15:35:49 +0200 | myme | (~myme@2a01:799:d5c:5f00:cfaa:94a4:df6a:9f90) (Ping timeout: 245 seconds) |
2024-07-20 15:36:41 +0200 | ash3en | (~Thunderbi@193.32.248.188) |
2024-07-20 15:36:50 +0200 | myme | (~myme@2a01:799:d5c:5f00:4421:50a5:101e:8cb9) |
2024-07-20 15:47:56 +0200 | g00gler | (uid125351@id-125351.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2024-07-20 15:48:26 +0200 | harveypwca | (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) |
2024-07-20 15:50:28 +0200 | sp1ff` | (~user@c-73-11-70-111.hsd1.wa.comcast.net) (Remote host closed the connection) |
2024-07-20 15:54:58 +0200 | CrunchyFlakes | (~CrunchyFl@146.52.130.128) (Read error: Connection reset by peer) |
2024-07-20 15:55:30 +0200 | kubo | (~kubo@37.230.58.196) (Remote host closed the connection) |
2024-07-20 15:57:32 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-07-20 15:58:32 +0200 | AlexZenon | (~alzenon@94.233.241.102) |
2024-07-20 16:04:15 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-20 16:05:16 +0200 | kubo | (~kubo@37.230.58.196) |
2024-07-20 16:07:28 +0200 | kubo | (~kubo@37.230.58.196) (Remote host closed the connection) |
2024-07-20 16:07:31 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-20 16:08:32 +0200 | sp1ff | (~user@c-73-11-70-111.hsd1.wa.comcast.net) |
2024-07-20 16:14:53 +0200 | billchenchina- | (~billchenc@118.38.173.226) |
2024-07-20 16:17:15 +0200 | drdo8 | (~drdo@bl5-29-74.dsl.telepac.pt) |
2024-07-20 16:18:36 +0200 | drdo | (~drdo@bl5-29-74.dsl.telepac.pt) (Ping timeout: 252 seconds) |
2024-07-20 16:18:36 +0200 | drdo8 | drdo |
2024-07-20 16:22:32 +0200 | billchenchina- | (~billchenc@118.38.173.226) (Quit: Leaving) |
2024-07-20 16:22:58 +0200 | Angelz | (Angelz@Angelz.oddprotocol.org) (Changing host) |
2024-07-20 16:22:58 +0200 | Angelz | (Angelz@user/angelz) |
2024-07-20 16:29:53 +0200 | mreh | (~matthew@lfbn-rou-1-646-109.w90-108.abo.wanadoo.fr) |
2024-07-20 16:50:10 +0200 | misterfish | (~misterfis@ip-185-104-138-75.ptr.icomera.net) |
2024-07-20 16:54:45 +0200 | tomku | (~tomku@user/tomku) (Ping timeout: 248 seconds) |
2024-07-20 16:54:58 +0200 | tomku | (~tomku@user/tomku) |
2024-07-20 16:55:50 +0200 | ft | (~ft@p3e9bc4e7.dip0.t-ipconnect.de) (Quit: Lost terminal) |
2024-07-20 16:58:20 +0200 | ft | (~ft@p3e9bc4e7.dip0.t-ipconnect.de) |
2024-07-20 16:59:39 +0200 | acidjnk | (~acidjnk@p200300d6e72cfb291c0587c5c944f391.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2024-07-20 17:02:25 +0200 | zhuberty | (~zhuberty@fsf/member/zhuberty) (Quit: Leaving.) |
2024-07-20 17:05:29 +0200 | ash3en1 | (~Thunderbi@2a01:c22:888e:9900:1578:4a37:8e5e:967) |
2024-07-20 17:05:31 +0200 | ash3en | (~Thunderbi@193.32.248.188) (Ping timeout: 252 seconds) |
2024-07-20 17:05:31 +0200 | ash3en1 | ash3en |
2024-07-20 17:08:05 +0200 | mreh | (~matthew@lfbn-rou-1-646-109.w90-108.abo.wanadoo.fr) (Ping timeout: 248 seconds) |
2024-07-20 17:08:30 +0200 | pyooque | (~puke@user/puke) |
2024-07-20 17:08:30 +0200 | puke | (~puke@user/puke) (Killed (tantalum.libera.chat (Nickname regained by services))) |
2024-07-20 17:08:30 +0200 | pyooque | puke |
2024-07-20 17:14:09 +0200 | ash3en | (~Thunderbi@2a01:c22:888e:9900:1578:4a37:8e5e:967) (Ping timeout: 245 seconds) |
2024-07-20 17:18:43 +0200 | Square2 | (~Square@user/square) (Ping timeout: 252 seconds) |
2024-07-20 17:21:35 +0200 | CiaoSen | (~Jura@2a05:5800:254:9700:e6b9:7aff:fe80:3d03) |
2024-07-20 17:27:09 +0200 | Square2 | (~Square@user/square) |
2024-07-20 17:49:31 +0200 | harveypwca | (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Quit: Leaving) |
2024-07-20 17:55:48 +0200 | Square2 | (~Square@user/square) (Ping timeout: 276 seconds) |
2024-07-20 18:00:26 +0200 | destituion | (~destituio@83-243-191-191.fth.tafjordconnect.net) (Ping timeout: 255 seconds) |
2024-07-20 18:07:51 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds) |
2024-07-20 18:14:39 +0200 | misterfish | (~misterfis@ip-185-104-138-75.ptr.icomera.net) (Ping timeout: 276 seconds) |
2024-07-20 18:19:41 +0200 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2024-07-20 18:39:16 +0200 | skyesoss | (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net) |
2024-07-20 18:47:42 +0200 | rosco | (~rosco@175.136.155.137) (Quit: Lost terminal) |
2024-07-20 18:50:02 +0200 | misterfish | (~misterfis@ip-185-104-138-75.ptr.icomera.net) |
2024-07-20 18:55:18 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-20 18:59:56 +0200 | skyesoss1 | (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net) |
2024-07-20 19:08:36 +0200 | misterfish | (~misterfis@ip-185-104-138-75.ptr.icomera.net) (Ping timeout: 276 seconds) |
2024-07-20 19:17:25 +0200 | jkachmar | (~jkachmar@pool-108-41-84-203.nycmny.fios.verizon.net) |
2024-07-20 19:34:55 +0200 | mrmr1553343463 | (~mrmr@user/mrmr) |
2024-07-20 19:38:51 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-20 19:39:44 +0200 | pyooque | (~puke@user/puke) |
2024-07-20 19:39:44 +0200 | puke | Guest9444 |
2024-07-20 19:39:44 +0200 | Guest9444 | (~puke@user/puke) (Killed (erbium.libera.chat (Nickname regained by services))) |
2024-07-20 19:39:44 +0200 | pyooque | puke |
2024-07-20 19:57:53 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2024-07-20 20:06:17 +0200 | ash3en | (~Thunderbi@2a01:c22:888e:9900:1578:4a37:8e5e:967) |
2024-07-20 20:13:27 +0200 | aaronv | (~aaronv@user/aaronv) |
2024-07-20 20:14:07 +0200 | jkachmar | (~jkachmar@pool-108-41-84-203.nycmny.fios.verizon.net) (Ping timeout: 256 seconds) |
2024-07-20 20:14:48 +0200 | ft | (~ft@p3e9bc4e7.dip0.t-ipconnect.de) (Remote host closed the connection) |
2024-07-20 20:17:30 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
2024-07-20 20:17:31 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-20 20:21:16 +0200 | ft | (~ft@p3e9bc4e7.dip0.t-ipconnect.de) |
2024-07-20 20:29:12 +0200 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 276 seconds) |
2024-07-20 20:55:05 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-20 21:01:04 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2024-07-20 21:06:48 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-20 21:11:18 +0200 | aljazmc | (~aljazmc@user/aljazmc) |
2024-07-20 21:12:31 +0200 | <dminuoso> | ash3en: What does coordinates mean to you here? |
2024-07-20 21:13:23 +0200 | <ash3en> | location of the nodes when laid out |
2024-07-20 21:13:28 +0200 | Square2 | (~Square@user/square) |
2024-07-20 21:13:40 +0200 | <dminuoso> | Yeah but what does location even mean to you in a graph? |
2024-07-20 21:13:47 +0200 | <dminuoso> | laid out how? |
2024-07-20 21:14:20 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-20 21:14:32 +0200 | <dminuoso> | At best `context :: Graph gr => gr a b -> Node -> Context a b` gives you all you can know about a node. |
2024-07-20 21:16:13 +0200 | <ash3en> | yeah like x, y when laying out a graph. Top to bottom, connections between the nodes. I want to take advantage of grahp layout algorithms and transfer positioning to my to be layouted structure |
2024-07-20 21:16:27 +0200 | <dminuoso> | Sorry, "laying out a graph" does not make sense to me. |
2024-07-20 21:16:47 +0200 | <ash3en> | hm, no worries, I probably phrase it wrong |
2024-07-20 21:17:24 +0200 | <dminuoso> | ash3en: Are you visualizing the graph, somehow? |
2024-07-20 21:17:24 +0200 | <ash3en> | eg I have a messy mind map I want to layout so the nodes do not overlap etc |
2024-07-20 21:17:33 +0200 | <ash3en> | yes that is the plan |
2024-07-20 21:17:57 +0200 | <dminuoso> | ash3en: FGL is not concerned with rendering. |
2024-07-20 21:18:20 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-07-20 21:18:52 +0200 | <ash3en> | I do not need it to render, this will happen elsewhere. I just need the x, y locations. but it seems that fgl does not provide them either because --as you said -- it is not concerned with rendering at all |
2024-07-20 21:19:04 +0200 | <dminuoso> | ash3en: Graphs dont have any notion of location. |
2024-07-20 21:19:26 +0200 | <dminuoso> | Well I mean you can attach positional information in labels if you want. |
2024-07-20 21:20:00 +0200 | <ash3en> | no no, I want to receive the positional information so I can draw the graph/mind map in a non-messy way |
2024-07-20 21:20:07 +0200 | <dminuoso> | ash3en: Well, if rendering happens *elsewhere*, then *elsewhere* is where you have to check for how to obtain coordinates. |
2024-07-20 21:20:28 +0200 | <dminuoso> | Because like I said, graphs themselves dont have any notion of "coordinates" (other than inbound and outbound edges) |
2024-07-20 21:20:55 +0200 | <ash3en> | like give me all the coordinates so I can eg use this info and draw a graph on paper/MS paint whatever |
2024-07-20 21:21:17 +0200 | <ash3en> | yea that is true |
2024-07-20 21:21:22 +0200 | <dminuoso> | But you can implement graph render algorithms ontop of FGL easily. |
2024-07-20 21:21:48 +0200 | <ash3en> | that sound good because I want to create my own algorithm indeed |
2024-07-20 21:21:57 +0200 | <dminuoso> | And then, in your algorithm, just generate a map from node to coordinate. |
2024-07-20 21:22:04 +0200 | <dminuoso> | Or something suitable |
2024-07-20 21:22:36 +0200 | <ash3en> | how hard is creating an own algorithm? probably based on existing ones but modified |
2024-07-20 21:23:14 +0200 | <ash3en> | and is it enough for a master's thesis? hehe |
2024-07-20 21:23:17 +0200 | <dminuoso> | How hard is creating an algorithm? Depends on the algorithm, the kind of modification you envision, and your skillset. |
2024-07-20 21:23:49 +0200 | <ash3en> | interesting insights, thanks dminuoso |
2024-07-20 21:24:04 +0200 | <dminuoso> | Implementing a sorting algorithm can be easy enough for a 5th grader, or difficult enough to warrant a phd spending some years on it... |
2024-07-20 21:24:11 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2024-07-20 21:24:23 +0200 | <dminuoso> | So.. anywhere between yes and no. |
2024-07-20 21:24:45 +0200 | <haskellbridge> | <mauke> I'd expect it to be non-trivial because you're essentially optimizing for aesthetics |
2024-07-20 21:25:33 +0200 | <ash3en> | hm, yes could be hard |
2024-07-20 21:25:58 +0200 | <dminuoso> | Well, if all you care is non-collision of nodes, a simple force-based layout algorithm can be used. |
2024-07-20 21:25:58 +0200 | <ash3en> | I will have to study how layout generating algorithms on graphs work at all |
2024-07-20 21:26:11 +0200 | <ash3en> | it is signal flow too |
2024-07-20 21:27:01 +0200 | <dminuoso> | But really, the difficulty depends on your exact requirements, whether you have pseudo (or even existing) code to start with, and your general competency. |
2024-07-20 21:28:27 +0200 | <ash3en> | would it even be smart to write the algorithm in haskell or should I use C to be compatible with graphviz? my heart wants to write in haskell for sure |
2024-07-20 21:28:45 +0200 | <dminuoso> | Depends on your requirements and your goals. |
2024-07-20 21:29:09 +0200 | <dminuoso> | If you want to do it in Haskell, go for it. |
2024-07-20 21:29:29 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-20 21:29:54 +0200 | <ash3en> | will update on this, thank you :) got to go for now |
2024-07-20 21:30:12 +0200 | <dminuoso> | Put it this way: Haskell code can compile to very efficient code and we have plenty of tricks to optimize hotspots to similar performance of C. |
2024-07-20 21:30:18 +0200 | <dminuoso> | If you have proficiency. |
2024-07-20 21:32:02 +0200 | squid64 | (squid64@user/squid64) |
2024-07-20 21:32:23 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-20 21:34:01 +0200 | misterfish | (~misterfis@ip-185-104-138-75.ptr.icomera.net) |
2024-07-20 21:36:21 +0200 | ash3en | (~Thunderbi@2a01:c22:888e:9900:1578:4a37:8e5e:967) (Ping timeout: 248 seconds) |
2024-07-20 21:42:03 +0200 | target_i | (~target_i@user/target-i/x-6023099) |
2024-07-20 21:46:24 +0200 | haveo | (~weechat@pacamara.iuwt.fr) (Ping timeout: 260 seconds) |
2024-07-20 21:46:50 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-07-20 21:49:34 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2024-07-20 21:52:54 +0200 | haveo | (~weechat@pacamara.iuwt.fr) |
2024-07-20 21:57:29 +0200 | haveo_ | (~weechat@pacamara.iuwt.fr) |
2024-07-20 21:58:15 +0200 | haveo | (~weechat@pacamara.iuwt.fr) (Ping timeout: 276 seconds) |
2024-07-20 21:59:57 +0200 | misterfish | (~misterfis@ip-185-104-138-75.ptr.icomera.net) (Ping timeout: 252 seconds) |
2024-07-20 22:05:15 +0200 | haveo_ | (~weechat@pacamara.iuwt.fr) (Ping timeout: 260 seconds) |
2024-07-20 22:05:22 +0200 | haveo | (~weechat@pacamara.iuwt.fr) |
2024-07-20 22:15:33 +0200 | Midjak | (~MarciZ@82.66.147.146) |
2024-07-20 22:25:06 +0200 | aljazmc | (~aljazmc@user/aljazmc) (Quit: Leaving) |
2024-07-20 22:39:19 +0200 | ChanServ | (ChanServ@services.libera.chat) (shutting down) |
2024-07-20 22:39:24 +0200 | litharge | (litharge@libera/bot/litharge) (*.net *.split) |
2024-07-20 22:40:13 +0200 | koala_man | (~vidar@157.146.251.23.bc.googleusercontent.com) (Remote host closed the connection) |
2024-07-20 22:41:54 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2024-07-20 22:42:37 +0200 | ChanServ | (ChanServ@services.libera.chat) |
2024-07-20 22:42:37 +0200 | silver.libera.chat | +o ChanServ |
2024-07-20 22:42:47 +0200 | litharge | (litharge@libera/bot/litharge) |
2024-07-20 22:43:18 +0200 | koala_man | (~vidar@157.146.251.23.bc.googleusercontent.com) |
2024-07-20 22:43:45 +0200 | hololeap | (~quassel@user/hololeap) (Quit: Bye) |
2024-07-20 22:45:03 +0200 | Sgeo | (~Sgeo@user/sgeo) (Ping timeout: 276 seconds) |
2024-07-20 22:45:48 +0200 | hololeap | (~quassel@user/hololeap) |
2024-07-20 22:46:20 +0200 | litharge | (litharge@libera/bot/litharge) (Remote host closed the connection) |
2024-07-20 22:46:23 +0200 | litharge | (litharge@libera/bot/litharge) |
2024-07-20 22:49:55 +0200 | mreh | (~matthew@lfbn-rou-1-646-109.w90-108.abo.wanadoo.fr) |
2024-07-20 22:50:20 +0200 | litharge | (litharge@libera/bot/litharge) (Remote host closed the connection) |
2024-07-20 22:50:23 +0200 | litharge | (litharge@libera/bot/litharge) |
2024-07-20 22:50:53 +0200 | sp1ff | (~user@c-73-11-70-111.hsd1.wa.comcast.net) (Remote host closed the connection) |
2024-07-20 22:52:01 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 252 seconds) |
2024-07-20 22:54:20 +0200 | litharge | (litharge@libera/bot/litharge) (Remote host closed the connection) |
2024-07-20 22:54:23 +0200 | litharge | (litharge@libera/bot/litharge) |
2024-07-20 22:56:45 +0200 | tomku | (~tomku@user/tomku) (Ping timeout: 276 seconds) |
2024-07-20 22:56:58 +0200 | tomku | (~tomku@user/tomku) |
2024-07-20 22:58:20 +0200 | litharge | (litharge@libera/bot/litharge) (Remote host closed the connection) |
2024-07-20 22:58:23 +0200 | litharge | (litharge@libera/bot/litharge) |
2024-07-20 22:58:43 +0200 | kubo | (~kubo@37.230.58.196) |
2024-07-20 22:59:25 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-20 23:00:15 +0200 | kubo | (~kubo@37.230.58.196) (Remote host closed the connection) |
2024-07-20 23:02:20 +0200 | litharge | (litharge@libera/bot/litharge) (Remote host closed the connection) |
2024-07-20 23:02:23 +0200 | litharge | (litharge@libera/bot/litharge) |
2024-07-20 23:03:15 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-07-20 23:06:20 +0200 | litharge | (litharge@libera/bot/litharge) (Remote host closed the connection) |
2024-07-20 23:06:23 +0200 | litharge | (litharge@libera/bot/litharge) |
2024-07-20 23:08:50 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
2024-07-20 23:10:20 +0200 | litharge | (litharge@libera/bot/litharge) (Remote host closed the connection) |
2024-07-20 23:10:23 +0200 | litharge | (litharge@libera/bot/litharge) |
2024-07-20 23:11:43 +0200 | litharge | (litharge@libera/bot/litharge) (Read error: Connection reset by peer) |
2024-07-20 23:13:36 +0200 | <haskellbridge> | <Bowuigi> @irc_libera.chat_ash3en:kf8nh.com: Drawing graphs without positional information requires constraint solving |
2024-07-20 23:14:03 +0200 | litharge | (litharge@libera/bot/litharge) |
2024-07-20 23:15:47 +0200 | <haskellbridge> | <Bowuigi> @irc_libera.chat_ash3en:kf8nh.com: It depends on how much flexibility and aestethics the algorithm gives. There are very specific kinds of diagrams requiring special treatment of node positions (ER diagrams, for example) based on "human conventions" (aka, what looks good for a human). This is definitely a hard problem at that level |
2024-07-20 23:17:25 +0200 | <haskellbridge> | <Bowuigi> @irc_libera.chat_ash3en:kf8nh.com: I would use Haskell first. If you like the end result enough and want an imperative version (maybe to contribute to GraphViz like you seem to want) C is a good option, but for research and prototyping Haskell shines way more |
2024-07-20 23:18:25 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2024-07-20 23:21:09 +0200 | squid64 | (squid64@user/squid64) (Quit: Leaving) |
2024-07-20 23:24:53 +0200 | squid64 | (squid64@user/squid64) |
2024-07-20 23:26:47 +0200 | squid64 | (squid64@user/squid64) (Client Quit) |
2024-07-20 23:28:21 +0200 | mreh | (~matthew@lfbn-rou-1-646-109.w90-108.abo.wanadoo.fr) (Ping timeout: 248 seconds) |
2024-07-20 23:30:15 +0200 | <monochrom> | I would use graphviz and be done. |
2024-07-20 23:32:01 +0200 | <monochrom> | Much ado about "what does layout mean?" but the conclusion is still that. :) |
2024-07-20 23:32:11 +0200 | squid64 | (squid64@user/squid64) |
2024-07-20 23:33:39 +0200 | <monochrom> | This is why when I teach introductory graph theory I say "only who has an edge with whom, no other information, e.g., geometry". Especially because I start with a picture example. |
2024-07-20 23:37:00 +0200 | sp1ff | (~user@c-73-11-70-111.hsd1.wa.comcast.net) |
2024-07-20 23:43:52 +0200 | <Inst> | bleh, pqueue it is |
2024-07-20 23:43:53 +0200 | <Inst> | https://hackage.haskell.org/package/pqueue |
2024-07-20 23:44:19 +0200 | <monochrom> | "That escalated quickly." :) |
2024-07-20 23:45:43 +0200 | <Inst> | btw, there's a guy at chalmers here? |
2024-07-20 23:47:29 +0200 | <Inst> | gah, i need to look at the logs |
2024-07-20 23:48:38 +0200 | <Inst> | oh |
2024-07-20 23:48:49 +0200 | <Inst> | he hasn't been on for a while :( |
2024-07-20 23:51:29 +0200 | <Inst> | i just realized the polite way to say "we're teaching IO first" is "we're teaching parallel and concurrent programming in Haskell first" ;) |
2024-07-20 23:51:36 +0200 | <Inst> | since Chalmers apparently IS doing IO first |
2024-07-20 23:52:00 +0200 | tomku | (~tomku@user/tomku) (Ping timeout: 276 seconds) |
2024-07-20 23:54:59 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |