Newest at the top
| 2026-03-12 20:47:08 +0100 | <ski> | it's also possible to construct a "read-only view" of a dataflow variable (logic variable), so that you can't instantiate through it |
| 2026-03-12 20:46:37 +0100 | <ski> | (operations block until their inputs are instantiated) |
| 2026-03-12 20:46:19 +0100 | <ski> | yea, Oz has declaratie concurrency for this |
| 2026-03-12 20:45:45 +0100 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2026-03-12 20:45:24 +0100 | <monochrom> | I have a feeling that when there are no mutable variables, you have confluence so it doesn't matter what you do. |
| 2026-03-12 20:44:45 +0100 | <monochrom> | For AND, Curry only requires this: Let x be a logic variable, then "x>=5 AND unify(x,10)" and "unify(x,10) AND x>=5" behave the same, both should discover x=10 and compute 10>=5. |
| 2026-03-12 20:43:53 +0100 | chewybread | (~chewybrea@user/chewybread) chewybread |
| 2026-03-12 20:43:53 +0100 | chewybread | (~chewybrea@240b:10:9502:4100:80a2:daac:f3ad:170) (Changing host) |
| 2026-03-12 20:43:53 +0100 | chewybread | (~chewybrea@240b:10:9502:4100:80a2:daac:f3ad:170) |
| 2026-03-12 20:42:08 +0100 | target_i | (~target_i@user/target-i/x-6023099) target_i |
| 2026-03-12 20:41:48 +0100 | qqq | (~qqq@185.54.22.246) (Ping timeout: 264 seconds) |
| 2026-03-12 20:41:15 +0100 | target_i | (~target_i@user/target-i/x-6023099) (Ping timeout: 255 seconds) |
| 2026-03-12 20:37:06 +0100 | Ranhir | (~Ranhir@157.97.53.139) Ranhir |
| 2026-03-12 20:36:48 +0100 | target_i | (~target_i@user/target-i/x-6023099) target_i |
| 2026-03-12 20:36:41 +0100 | <ski> | i heard something about the rate at continuing with Sagrada Familia going up, recently, due to being able to use prefab pieces, designed to fit, constructed elsewhere |
| 2026-03-12 20:36:20 +0100 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 244 seconds) |
| 2026-03-12 20:35:46 +0100 | target_i | (~target_i@user/target-i/x-6023099) (Ping timeout: 248 seconds) |
| 2026-03-12 20:35:29 +0100 | <EvanR> | *your code project is going this well* |
| 2026-03-12 20:35:14 +0100 | AlexNoo | (~AlexNoo@5.139.232.240) (Ping timeout: 248 seconds) |
| 2026-03-12 20:35:10 +0100 | <EvanR> | the Sagrada FamÃlia on the cover is great |
| 2026-03-12 20:35:04 +0100 | <monochrom> | It doesn't even have Prolog's cut, so you can't even kill your sibling! |
| 2026-03-12 20:35:00 +0100 | remedan | (~remedan@78-80-95-79.customers.tmcz.cz) (Quit: Bye!) |
| 2026-03-12 20:34:59 +0100 | <ski> | (at first, i was thinking of the two different flavors of AND-parallelism (merge-at-join vs. communicate), but presumably they're only doing OR-parallelism) |
| 2026-03-12 20:34:07 +0100 | <monochrom> | Given that non-determinism cannot be used with mutable variables, you have a multiple-world semantics, such that there is no communication between two sibling worlds. |
| 2026-03-12 20:34:05 +0100 | ski | . o O ( "Concepts, Techniques, and Models of Computer Programming" by Peter Van Roy,Seif Haridi in 2003-06-05 at <https://webperso.info.ucl.ac.be/~pvr/book.html>,<https://webperso.info.ucl.ac.be/~pvr/VanRoyHaridi2003-book.pdf> ) |
| 2026-03-12 20:31:29 +0100 | target_i | (~target_i@user/target-i/x-6023099) target_i |
| 2026-03-12 20:31:10 +0100 | <monochrom> | Yeah I'm thinking "what's there to handle?" because the only thing left to do is collecting results. |
| 2026-03-12 20:31:08 +0100 | AlexNoo | (~AlexNoo@5.139.232.240) |
| 2026-03-12 20:30:58 +0100 | AlexNoo | (~AlexNoo@5.139.232.240) (Ping timeout: 248 seconds) |
| 2026-03-12 20:30:37 +0100 | ski | was (re)reading it recently (didn't get to that part yet, though) |
| 2026-03-12 20:30:13 +0100 | <ski> | (the CTM book talks about this, in the chapter about constraint programming) |
| 2026-03-12 20:29:50 +0100 | <ski> | presumably the alternation acts as a barrier, where information can flow into the "engine", but not out of (except at the end of the computation, collecting results) |
| 2026-03-12 20:29:28 +0100 | <monochrom> | I don't know. |
| 2026-03-12 20:28:49 +0100 | <ski> | how does it handle trying to communicate a result non-locally out of an alternative ? |
| 2026-03-12 20:27:25 +0100 | <monochrom> | Yeah |
| 2026-03-12 20:27:11 +0100 | <ski> | breadth-first ? |
| 2026-03-12 20:26:51 +0100 | <monochrom> | There is a Curry compiler, Curry2Go, which compiles non-determinism to Go multi-threading so all alternatives are literally tried concurrently. |
| 2026-03-12 20:26:42 +0100 | AlexNoo__ | (~AlexNoo@5.139.232.240) (Ping timeout: 248 seconds) |
| 2026-03-12 20:26:33 +0100 | AlexNoo | (~AlexNoo@5.139.232.240) |
| 2026-03-12 20:26:25 +0100 | <ski> | oh, and yes, the system would ensure that both are not defined at the same time |
| 2026-03-12 20:25:59 +0100 | <EvanR> | similar to lub |
| 2026-03-12 20:25:52 +0100 | <ski> | (and so the recursion pattern of them both must align) |
| 2026-03-12 20:25:40 +0100 | <ski> | they are tried, simultaneously |
| 2026-03-12 20:25:38 +0100 | AlexNoo_ | (~AlexNoo@5.139.232.240) (Ping timeout: 248 seconds) |
| 2026-03-12 20:25:31 +0100 | <ski> | they are not independent operations, one tried after the other |
| 2026-03-12 20:25:29 +0100 | <monochrom> | <3 unordered alternation |
| 2026-03-12 20:25:13 +0100 | <EvanR> | is the commutativity guaranteed somehow by the compiler |
| 2026-03-12 20:25:13 +0100 | <ski> | operational semantics should be as if you executed `(-?<) :: Nat -> Nat -> Either () Nat' |
| 2026-03-12 20:25:06 +0100 | AlexNoo | (~AlexNoo@5.139.232.240) (Ping timeout: 248 seconds) |
| 2026-03-12 20:24:41 +0100 | <EvanR> | oh |