2015-01-03T00:13:57Z joswig quit (Quit: joswig) 2015-01-03T00:33:33Z shigoel_ quit (Quit: shigoel_) 2015-01-03T03:04:05Z rme joined #ccl 2015-01-03T03:53:28Z Adlai` is now known as adlai 2015-01-03T05:32:57Z shigoel_ joined #ccl 2015-01-03T06:53:30Z clop2 quit (Ping timeout: 250 seconds) 2015-01-03T06:56:22Z shigoel_ quit (Quit: shigoel_) 2015-01-03T07:44:27Z rme quit (Quit: rme) 2015-01-03T07:44:27Z rme quit (Quit: rme) 2015-01-03T08:59:09Z wgslayer joined #ccl 2015-01-03T09:13:45Z wgslayer quit (Quit: Leaving) 2015-01-03T15:03:54Z rme joined #ccl 2015-01-03T16:09:09Z wgslayer joined #ccl 2015-01-03T17:36:00Z wgslayer: is there a way to change the cwd within a running ccl process ? 2015-01-03T17:37:49Z rme: Yes. (setf (current-directory) "/tmp/"). 2015-01-03T17:38:01Z rme: I see that I need to add that to the manual. 2015-01-03T17:38:41Z wgslayer: yup got it, rihgt now. thanks! 2015-01-03T18:11:33Z opusmodus joined #ccl 2015-01-03T18:39:25Z lispm joined #ccl 2015-01-03T19:16:17Z opusmodu_ joined #ccl 2015-01-03T19:19:42Z opusmodus quit (Ping timeout: 250 seconds) 2015-01-03T20:18:30Z opusmodu_ quit 2015-01-03T20:18:51Z opusmodus joined #ccl 2015-01-03T20:19:26Z opusmodus quit (Client Quit) 2015-01-03T21:08:21Z wgslayer: any good hints/ideas when doing something wrong with ffi calls ? i don't think that (ignore-errors ...) is the way to go 2015-01-03T21:11:34Z rme: What do mean when you say "doing something wrong?" Generally, when calling foreign code, "don't mess up" is the standard you must meet. 2015-01-03T21:11:38Z opusmodus joined #ccl 2015-01-03T21:12:11Z wgslayer: ofc, problem is that the GL interface is very low level/c based so i regularly have to pass pointers, references, etc. 2015-01-03T21:12:11Z opusmodus quit (Client Quit) 2015-01-03T21:12:30Z wgslayer: while doing this on-the-fly in my REPL, i sometimes mistype something or do a mistake - this stuff happens 2015-01-03T21:12:39Z wgslayer: i am trying to figure out a way to make it more robust 2015-01-03T21:12:49Z wgslayer: so that i really get up to speed with my interface gl development 2015-01-03T21:13:08Z wgslayer: maybe there is some common sense in the community which goes beyond "don't mess up" 2015-01-03T21:13:20Z |3b|: wrap it in a nicer version that doesn't need pointers/references/etc 2015-01-03T21:13:40Z |3b|: and which gives you a nicer error when you do mess up 2015-01-03T21:14:05Z |3b|: also add restarts so you can recover from errors 2015-01-03T21:14:48Z wgslayer: ok, first two points are clear to me. this is the usual work i cannot avoid, as it seems. the last point is interesting though: is it possible to recover from an ffi error ? 2015-01-03T21:15:07Z wgslayer: which happens NOT on the main thread ? 2015-01-03T21:15:38Z |3b|: depends on the error and how the other side of the FFI reacts 2015-01-03T21:15:41Z wgslayer: if i could fix that one, this would help a lot. so far the thread is destroyed when a restart happens and i have to restart the whole process 2015-01-03T21:15:47Z pjb: wgslayer: to make it more robust, write it in lisp. 2015-01-03T21:15:52Z wgslayer: hmmok... in plain C it would be a segfault 2015-01-03T21:15:56Z |3b|: some libs just exit(), hard to recover from that 2015-01-03T21:15:57Z pjb: write thicker lisp wrapper. 2015-01-03T21:16:04Z |3b|: segfault is usully recoverable 2015-01-03T21:16:23Z wgslayer: yup, i already guessed so.. just wanted to check out if there is already some 'out-of-the-box' solution 2015-01-03T21:16:29Z |3b|: also, if you haven't seen cl-opengl, it does some of the "nicer lisp layer" already 2015-01-03T21:18:02Z |3b|: if your thread gets destroyed because all you have is an 'abort' or similar restart, you just need to add more restarts 2015-01-03T21:18:45Z |3b|: for example if you have an event loop, add a 'continue' restart around calling event handlers, and around a calls to functions that do drawing or state updates 2015-01-03T21:19:08Z |3b|: then when you get an error, you can pick that and have the event loop continue to next event or frame 2015-01-03T21:19:27Z |3b|: (where you might get the same error again, but then you can recompile the erroring function and try again) 2015-01-03T21:21:11Z wgslayer: go it. two things to do: checkout cl-opengl for inspiration and read more about restarts. thanks 2015-01-03T21:23:17Z |3b|: with-simple-restart is usually enough for that use, so don't need to red too much :) 2015-01-03T21:27:17Z |3b|: something like (with-simple-restart (continue "Continue") ...) to allow continuing after errors in ... 2015-01-03T21:27:24Z wgslayer: |3b|, thanks, i'll test with a blunt segfault test first. if this keeps my thread alive it will help a lot 2015-01-03T21:27:27Z wgslayer: yup understood 2015-01-03T22:17:04Z lispm quit (Ping timeout: 255 seconds)