***dje is now known as dje42
***michel_mno_afk is now known as michel_mno
***wleslie_ is now known as wleslie
***michel_mno is now known as michel_mno_afk
***michel_mno_afk is now known as michel_mno
***michel_mno is now known as michel_mno_afk
<linas>I've got a dynamic library stumper. This works: (dynamic-link "./build/opencog/guile/libsmob.so") but this doesn't: (dynamic-link "/usr/local/lib/opencog/libsmob.so") <linas>The second one gives me ERROR: In procedure dynamic-link: file: "/usr/local/lib/opencog/libsmob.so", message: "file not found" <linas>I'm stumped. Same libary, different location. Both are chmod 755 <linas>ldd -d indicates that it has no unresolved dependencies <civodul>linas: the "file not found" message is misleading <civodul>probably there are unresolved symbols or something <linas>civodul, yes, that's why I tried ldd -d <linas>but it does depend on yet other libraries, which depend on yet others, and so maybe one of the others <dsmith-work>linas: Well, try it with strace and see if it does open the file properly <linas>#$%^&*( its trying to load python <linas>in our envoronemnt, almost nobody knows any scheme, so they code in python, because learning scheme is too hard. So they write python code like this: load_scm("(perform-action x y z)") <linas>The smarter ones eventuallly figure it out, and stop using python *dsmith-work wishes ldconfig would quit complaing about .scm files... <davexunit>it's always interesting to here about organizations using guile <linas>increasing your user-base is my side-effect <linas>watch out though, one of the developers posted: "C++:hell scheme:hogwarts haskell:Heaven" <davexunit>makes sense, we're too impure for Haskellers. <linas>you may violently disagree, but my impression is that a typed-scheme would go a long ways towards improving its acceptablility to the average programmer *civodul stealthily agrees <linas>Problem is, people look at (f x y z) and they have no clue what the types of x y z should be, so they get very lost and confused <davexunit>some of us have interest in a Typed Racket-like thing for Guile <davexunit>personally, I'm attacted to dynamic languages because I can escape the rigid world of static types. <linas>types can be dynamic .. err, dynamic-ish? <davexunit>being able to determine type errors at compile time is obviously a nice feature, but in my experience you have to sacrifice too much of what makes programming enjoyable. <linas>I'm not suggesting that you go to a "rigid world", but rathre, have some markup that helps people debug <davexunit>now, being able to write sections of my Guile type with static types... that could be neat. <linas>of course, type-checking at compile time is nice but even nicer is a stack trace that says "you dummy I was expecting an int and you gave me a string" <linas>I dunno. Iguess it already prints that. <civodul>but often it's not as readable as one might like <davexunit>harder to say that when dispatching on type, like if you used 'match' or something. <civodul>bad error reporting scares newcomers away <civodul>i would be worth to investigate what can be done to improve the situation <linas>changing the topic: have you ever heard of a mashup of scheme and prolog? <linas>Because I realize that, defacto, thaat is what I am .. err. inventing... and probably badly. <davexunit>it's not prolog, but it's a logic/relational programming system <linas>Because I have a "database" of "facts" that are written in scheme. And I "query" (search/pattern-match) that database to find facts a la boolean-satsifiability. <linas>and some of my "facts" are recursive functions. <linas>well, my stuff is already implemented, and works quite well. <linas>and has a user base I cannot disrupt. but it could be more elegant or something <davexunit>minikanren might still interest you. it is *the* relational EDSL for Scheme. <ijp>protip: kanren means "relation" <linas>well, I've got 3-4 books on my system (so there!) (but they don't actually match what the code actually does) <linas>cool. OK, yes, so minikanren is almost exactly what I'm re-inventing. <linas>well, with bayesian probabilities thrown in for good measure, but whatever. <linas>so how would I set LD_LIBRARY_PATH from within guile (e.g. during a module load) ? <dsmith-work>Anyone ever seen am image with the text: "The Sacred Text of Gerald J. Sussman Confounds the Python Heretics. 2009 A.S." ? <dsmith-work>I've got it on paper and pinned up on my wall, but I can't find the original image anywhere. <davexunit>dsmith-work: no, it sounds funny. I want to see it. <dsmith-work>But edited with lambdas and the logo from SICP and stuff.