IRC channel logs
2020-02-13.log
back to list of logs
<lloda>I've just learned about git log -L begin,end:file <lloda>would be even nicer if the lines were tracked across files <nly>sneek: later tell dsmith did you find any time to put sneek's source somewhere? <chrislck>anyone knows why guile-3.0 still does not have a hash-table pretty-printer and a hash read syntax? would it affect existing code that badly? <dsmith>Does *any* scheme have a hash read syntax? <sneek>dsmith, nly says: did you find any time to put sneek's source somewhere? <dsmith>nly: Heh. No not yet. Consider, the last time I updated the code was about 7 years ago. Probably won't be for a few months at minimum. <chrislck>beats me... but hash-tables seem reasonably "core" enough to be prettified as much as possible... <chrislck>if it can be done without "breaking the law" then it should be done? <lloda>reader extension that makes #hXXX into (alist->hash-table XXX) is trivial to write. But then there are several kinds of hashtables and you'd need to pick one. <alextee[m]>hi! i'm writing a guile interface in my C program for extensions/scripting, any ideas which version i should use? should i use the latest (3) ? <lloda>the only reason to use old versions is your distros only carry that, or in some very rare cases for compatibility <jcowan>dsmith: R7RS requires support for datum labels, and many Schemes already have it (Gauche, MIT, Bigloo, Kawa, Chez, Ikarus/Vikare, Larceny, Mosh, STklos, FemtoLisp, Sagittarius, Foment, Picrin) <alextee[m]>if there are similar guides/examples somewhere, please show me <alextee[m]>er, guile is giving me compiler errors on the include file <alextee[m]>not compiler errors actually, just warnings but i made those errors in my app <alextee[m]>i'll go around this by using different cflags for my guile module, but i guess this should be fixed ^ should never happen on header files <alextee[m]>is there an example somewhere of spawning a window within a GUI app for running the guile REPL? <alextee[m]>i guess it would be hard to do with REPL, just a text editor with a "run" button would probably be easier <dsmith-work>jcowan: (confused) How do datum lables relate to a hash table read syntax? <jcowan>Oh, sorry, I thought that by "hash syntax" you meant datum lables, since they use #. <dsmith-work>chrislck: I've heard there are difficulties with that. Like how to write them out to .go files? <dsmith-work>Should a literal constant hash table be immutable? And if so, wht <dsmith-work>You can load one with an alist, which can be a const literal, and can be written out. <alextee[m]>is it possible to run specific commands or scripts with scm_shell(), but not have it exit? i can't seem to figure out from the docs how to pass commands for guile to run without exiting the whole process <str1ngs>alextee[m]: you'll need a main loop for it not exit. or you can use --listen which will block <alextee[m]>str1ngs: well, i don't really want the REPL to get hold of the CLI because i'm printing messages there, or for it to block, i just want to add the ability to run guile scripts while my GUI application is running. i think i'm starting to figure it out now <str1ngs>main.c is kinda old I actually use g-golf and mostly scheme now a days <alextee[m]>str1ngs: did you write the editor from scratch or are you using some kind of embedded emacs? <str1ngs>alextee[m]: this is not emacs, it's all handled by nomad. <str1ngs>alextee[m]: it's all by scratch but I use emacsy and g-golf. g-golf handles the GUI and emacys handles the emacs like features. <str1ngs>in the case of this *scratch* buffer emacsy has a <text-buffer> and provides the scratch buffer. I use g-golf to present the buffer in a <gtk-source-view> <str1ngs>mainly though nomad uses webview buffers for browsing the web. think of it like emacs but for the web :) <emys>hi, I am interested in how the `language` compilation feature is intended to be used in guile. <emys>from my understanding the compile-scheme function you pass to `define-language` with the `#:compilers` keyword argument operates on "chunks" read by the reader <emys>I.e. the argument to `#:reader` is very similar to acting like `read`, i.e. reading one expression at the time <emys>or is it intended that the reader reads a whole file/buffer, and then the compile function compiles the whole chunk? <chrislck>dsmith-work: it's for interactive use -- (write hash-table) is not useful, that's all <chrislck>my approach is to write a custom pretty printer, eg (dump hash-table) *chrislck knows nothing of compilers and .go files <dsmith-work>chrislck: I was just trying to remember some of the reasons why it's not there. It's been asked before.