2024/05/07

Newest at the top

2024-05-07 18:31:49 +0200 <ski> Twelf <https://twelf.org/>
2024-05-07 18:31:25 +0200 <ski> lambdaProlog <https://www.lix.polytechnique.fr/Labo/Dale.Miller/lProlog/>,Lolli <https://www.lix.polytechnique.fr/Labo/Dale.Miller/lolli/>
2024-05-07 18:31:17 +0200demon-cat(~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net)
2024-05-07 18:30:55 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-05-07 18:30:03 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-05-07 18:29:54 +0200 <ski> (Lolli is a version of lambdaProlog using linear logic. it is dynamically typed)
2024-05-07 18:29:37 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-05-07 18:29:35 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2024-05-07 18:29:18 +0200euleritian(~euleritia@dynamic-176-004-187-187.176.4.pool.telefonica.de) (Read error: Connection reset by peer)
2024-05-07 18:28:47 +0200 <ski> however, iirc, there's an implementation of (a restriction of) Lolli (called LolliMon, iirc), which uses a more Prolog-like syntax (uncurried rather than curried predicates), which doesn't have lambda-terms, but does have implication and universal quantification goals, so evidently people considered the latter two useful even without the former
2024-05-07 18:28:42 +0200ubert(~Thunderbi@2a02:8109:ab8a:5a00:f7fe:a5d:216b:79ee) (Remote host closed the connection)
2024-05-07 18:28:41 +0200euleritian(~euleritia@dynamic-176-004-187-187.176.4.pool.telefonica.de)
2024-05-07 18:28:27 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2024-05-07 18:28:19 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
2024-05-07 18:28:17 +0200philopsos(~caecilius@user/philopsos) (Quit: Lost terminal)
2024-05-07 18:26:47 +0200 <ski> if one consider the HOAS representation (including some kind of unification of lambda terms, up to alpha, beta, and eta conversion) a killer feature of lambdaProlog (and Twelf), then that's the reason it also has implicational goals, and universal quantification goals, because without the latter two, the first one is not as useful
2024-05-07 18:24:35 +0200 <ski> it also has parametric polymorphism, but no dependent types
2024-05-07 18:24:22 +0200 <ski> later add more constructors (or new clauses for a predicate, for that matter)
2024-05-07 18:24:16 +0200 <ski> lambdaProlog has .. more or less, algebraic datatypes (but you don't declare the constructors together with the type, in a single declaration. and you can, later, declare more constructors, if you want to. although, with the module system of Teyjus (a compiler for lambdaProlog, compiling to a bytecode for a WAM-like machine, similar to many Prolog implementations), iirc, you can restrict who (if anyone) can
2024-05-07 18:22:35 +0200darius87(~darius@93.126.130.253) (Quit: Client closed)
2024-05-07 18:21:50 +0200 <lambdabot> Consider it noted.
2024-05-07 18:21:50 +0200 <ski> @tell lortabac well, having locally (lexically/scoped) definitions isn't quite the same thing as what i was talking about in lambdaProlog (although you can also lexically scope some clauses defining a predicate, over (part of) another predicate clause, if you wish to)
2024-05-07 18:21:13 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 256 seconds)
2024-05-07 18:20:12 +0200 <ski> see <https://www.mercurylang.org/> and #mercury
2024-05-07 18:20:03 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-05-07 18:20:00 +0200 <ski> oh, and it's purely declarative, no side-effects (well, it also has an impurity tracking system, but it's mainly used for FFI stuff, before wrapping in a pure interface), it does I/O and mutable data structures through uniqueness (similar to Clean, except that Mercury tracks this in insts (instantiation states), not in types), you thread an I/O state through your I/O interactions
2024-05-07 18:18:09 +0200 <ski> kuribas : for statically typed Prolog, Mercury might be closer, though. it has predicates/relations as well as functions (both can be higher-order), statical types, statical modes (& insts) and determinisms, (parameterizable) algebraic data types, parametric polymorphism, type classes (not higher-order, though), existentials (actual existential quantification, also output type class constraints)
2024-05-07 18:17:19 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds)
2024-05-07 18:17:15 +0200darius87(~darius@93.126.130.253)
2024-05-07 18:14:53 +0200 <ski> kuribas : you can program in lambdaProlog, it has I/O and stuff. Twelf doesn't have any built-in I/O though, apart from the interactor (though i str seeing some program used to wrap that, feeding the interactor with queries, then parsing the result substitutions and doing something with them)
2024-05-07 18:13:45 +0200philopsos(~caecilius@user/philopsos)
2024-05-07 18:09:54 +0200glguy(g@libera/staff/glguy)
2024-05-07 18:09:26 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2024-05-07 18:08:14 +0200glguy(g@libera/staff/glguy) (Quit: Quit)
2024-05-07 18:03:43 +0200madariaga(~madariaga@user/madariaga) (Ping timeout: 260 seconds)
2024-05-07 18:00:35 +0200agent314(~quassel@static-198-54-134-186.cust.tzulo.com) (Ping timeout: 252 seconds)
2024-05-07 17:59:21 +0200madariaga(~madariaga@user/madariaga)
2024-05-07 17:58:35 +0200madariaga(~madariaga@user/madariaga) (Client Quit)
2024-05-07 17:58:19 +0200madariaga(~madariaga@user/madariaga)
2024-05-07 17:49:09 +0200nschoe(~nschoe@82-65-202-30.subs.proxad.net)
2024-05-07 17:48:52 +0200nschoe(~nschoe@2a01:e0a:8e:a190:6f57:1144:3b82:7ce1) (Quit: ZNC 1.8.2 - https://znc.in)
2024-05-07 17:47:40 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-05-07 17:47:22 +0200euleritian(~euleritia@dynamic-176-004-187-187.176.4.pool.telefonica.de) (Read error: Connection reset by peer)
2024-05-07 17:45:52 +0200demon-cat(~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net) (Ping timeout: 268 seconds)
2024-05-07 17:45:35 +0200danse-nr3(~danse-nr3@151.43.102.160) (Ping timeout: 264 seconds)
2024-05-07 17:42:28 +0200euleritian(~euleritia@dynamic-176-004-187-187.176.4.pool.telefonica.de)
2024-05-07 17:41:33 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
2024-05-07 17:41:20 +0200demon-cat(~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net)
2024-05-07 17:37:25 +0200Square3(~Square4@user/square)
2024-05-07 17:37:06 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)