<wleslie>amz3: the papers I read at the time included "magic sets and other strange ways to implement logic programs" (Bancilhon et al), "Using active connection graphs for reasoning with recursive rules" by McKay and Shapiro, "IRIS API and Users Guide" <wleslie>amz3: of course anything about implementing prolog is good too <wleslie>amz3: and really, prolog is just a pattern-matching functional language at heart, writing a top-down interpreter is just recognising this fact <wleslie>I remember having a much better set of papers too, but I can never remember the name of the researcher <dmiles_afk>do some datalogs implmetn singlevalued predicates or predciatres with defaults? <dmiles_afk>actualy i am looking for a robust one for swi-porlog <wleslie>most (bottom-up) datalogs have some concept of stratafication that allows you to do that <wleslie>eg once a relation is fully realised, I can ask about its negation ***michel_mno_afk is now known as michel_mno
<dmiles_afk>((pfc_default(P)/(pfc_literal(P),compound(P),different_literal(P,_,Q,Test))) => ((~Q/(Test), ~neg(P)) => P)). <amz3>dmiles_afk: where are you discussing datalog, I'd like to join if it's possible <amz3>wleslie: thx I will have a log at it. I'm wondering whether I can make guile-log work as datampg engine <amz3>I still have some thing to get done before the implementation of anykind of datalog <amz3>thx dmiles_afk I lurk around to see if I can learn something <dmiles_afk>i have serveral impls of datalog like code that makes up various versions of getting to one day have relational programming <dmiles_afk>right now i am calling it BOXLOG and not datalog <dmiles_afk>but funny back where i used to work in 1999 we clled it datalog <dmiles_afk>well i see there is much to go into making it even visualization that has much to do with transformation/normalization <dmiles_afk>to where the visualization sort of has to take the back seat <amz3>I doing a clone of datomic in guile <amz3>(without storing multiple version of a given entity) <dmiles_afk>i am hoping guile-log will make lets say a pointer out to WiredTiger feel homogenwnized to the prolog <dmiles_afk>a way to turn whatever store of facts into what prolog can mess with <amz3>I'd like facts to come directly from the database instead of loading the database fully in memory <amz3>well this is an optimisation kind of <dmiles_afk>from wha ti been learning about datalog i think sometimes its a study of where to do the join <amz3>but for my usecase, developping application, it's required to be able to keep the database easily in sync with "facts" <dmiles_afk>i mean the attraction seems to be that there is a promise somehow that joins are not naive.. but i havent seen proof yet <dmiles_afk>right .. you defiantly will get that it think.. also doesnt wildtiger have a store that lets you be singletonish? <dmiles_afk>(talking about the one version of a given entity) <amz3>I think I don't understand everything <amz3>in my version of datomic, there is all the time a single version of a fact. I don't keep old facts right now <amz3>for starting, I like to keep things simple <amz3>having old versions of a facts, is indeed intersting <amz3>even for everyday applications <dmiles_afk>Datomic's data model is based upon a universal primitive relation, of datoms, rather than an arbitrary set of named relations. And the query model, while relational, is based upon Datalog, not SQL. <dmiles_afk>i use the prolgo database and host serval applications in the saem memory pool (sort of what a person using datomic might be after) <dmiles_afk>it a MUD so for example textual translation and planners for NPCs use the same relations <dmiles_afk>i write forward and backward chinging triggers to maintain the data inegraty <dmiles_afk>that what ((pfc_default(P)/(pfc_literal(P),compound(P),different_literal(P,_,Q,Test))) => ((~Q/(Test), ~neg(P)) => P)). was .. a forward trigger that crafts a new forward trigger <dmiles_afk>that ensures that P exists in the database as long as nothing conflicts with it <dmiles_afk>but i see the important overlap of datomic.. for instance Cycorp would have thought it usefull if they wernt stuck designing their own noSQL <amz3>taylanub: gnunet use something similar to the DHT of bittorren and kademlia. Which is a distributed key/value store <amz3>this means that what you can do with gdbm you do with gnunet <lf94>The only thing with DHT is you need a set of "starter" nodes <lf94>What happens when you get a malicious node? <lf94>Or a node is compromised <amz3>I think gnunet is supposed to deal with that kind of issues <amz3>what the malicious node is doing? ***michel_mno is now known as michel_mno_afk
<davexunit>gotta get those download buttons aligned, slap a CC BY-SA license in the footer, and upload a release tarball. <daviid>davexunit: nice! I would personnlly left align the logo and center the dwnload button, but all this is very personnal taste and cosmetic prefs of course <paroneayea>I just finished a refresher on C, am going into the extending postgresql with C chapters of the postgres book I have on hand <paroneayea>once I finish that I will go through the FFI parts of the guile manual <davexunit>daviid: I want to center the button, but I've so far failed at CSS ;) <paroneayea>my *goal* is to have a rough guile-pg-ffi lib by the end of the weekend. <daviid>also, using epiphany, it starts with hude fonts, have to hit 2 C - [ and still does not reduce the below logo 'about' text <paroneayea>davexunit: eg, if you just want to restrict yourself to connecting to a database and executing SQL statements where variables are escaped <paroneayea>I think it can be kept to a very short number of bindings. <daviid>davexunit: last thing, unlike most sites, i prefer the logo being the home, and yu'd have download source [or developers maybe] hopefullu documentation and all this small size menu below the logo, but again, i realize it's persos prefs...