***daviid is now known as Guest89808
***Guest89808 is now known as daviid
<reepca>I've just discovered some "interesting" behavior of the reader: (let ((ests "foo")) (list #tests)) => (#t "foo"). Not sure if technically a bug, but not behavior anyone should count on and confusing to people making syntax errors accidentally <str1ngs>reepca: I don't think that's a bug. consider this (liset #t'est) => (#t est) <str1ngs>maybe the bug is the lack of spacing between list items? <reepca>quotes shouldn't normally be used to separate atoms. 2'3 is one symbol, as is foo'bar. I think it would make a lot of sense for #tests to be a syntax error, and for it to be necessary to write #t ests to get the current behavior. Though I'm not sure what the standards actually mandate in this area. <str1ngs>reepca: probably more of how #t is evaluated then anything else <str1ngs>it's an interesting question. though not many scheme programmers would program like this. <str1ngs>maybe someone new to scheme would run into this <reepca>str1ngs: aye, it actually just happened to someone new to scheme writing a package over in #guix <str1ngs>based on the context of #:test keyword issue in #guix anyways <nisstyre>so they forgot a colon and it parsed it as two tokens <nly>is there any way to get all the bound symbols in an environment? <amz3>nly: no, in general scheme is has no or limited introspection. <amz3>nly: no, in general scheme has no or limited introspection. <amz3>sorry, maybe guile is different in this regard, you can introspect modules, so if an environment in guile is also a module you might be able to see what is bound. <amz3>nly: what are you trying to achieve? what is the big picture? maybe you could use a hash-table to store the variables? <nly>i need a list of procedures applicable in a problem domain: say (+ - *) in arithemetic <amz3>better create a hashtable, I had a similar problem years ago mark w. told me to use hash-table. That being said, you can also rely on module introspection, but that imo would be less nice. <amz3>my problem was about the implementation of "filters" in template system. the filter were in the end, stored in hashtable. <nly>ok, i can make some progress with that <amz3>fwiw, in python relying on introspection (such as locals(), globals() or even getattr(some_module, 'some_object')) to achieve such behavior frowned upon. Introspection is nice at the REPL for discovery, but in real-world. I always rely on dict-switch pattern instead. It is more grep-able and it is also more efficient. <amz3>I am not sure about Common Lisp or elisp, my understanding is that since they are LISP-2, that kind of behavior is common place. <nly>thanks, i guess i should try both routes <wingo>civodul: managed to rebase srfi-35 on top of core make-record-type; have a look if you like <jcowan>it tries to hide the difference between compound and non-compound objects as much as possible. <wingo>jcowan: in what cases have you ever wanted a generic concept of compound objects? <jcowan>It brings some of the power of multiple inheritance to single-inheritance systems without the many complications of full-blown multiple inheritance. ANSI CL has always had multiple inheritance, so it doesn't need compound exception. <wingo>guile has goops for the generalized multiple-inheritance case. for me multiple inheritance a better solution if you need perf; it's a more type-driven approach than object composition <jcowan>Good point, but the implementation of compound objects doesn't have to be dumb. I don't know what R6RS systems do in general. <wingo>i think for compound exceptions, it's more of a data composition thing than a type thing <chrislck>ok sorry to bother the greats, what's the issue with deprecating (make-record-type "string" ...) because it'll be a much harder work to fix this in gnc. <chrislck>(record-constructor arg1 arg2) is nearly eradicated. <wingo>i feel like every 5 years or so i get to uncruft some aspect about guile's records <wingo>maybe one day that horrible layout symbol will go away <amz3>my trying to understand why the blue zombies company use "fiber" word for their most successful software of all the time. <amz3>formely they were advertising a free as free-beer forums. <amz3>now it is just a spy agency. <amz3>yes, slowly flowing, if you benchmark the form that captures your personal info. Private info harvesting is mostly done in the background, but keep being shutdown because: "no more battery". <amz3>around 34 fields in the base record. <amz3>and the code does only foo.xyz = bar.xyz otherwise said, a shallow copy. #XXX: OPTIM <amz3>ditto, that is an optim because some a core language feature of the language is dubbed _too slow_ and because "This code is DEV-only so size is not a concern." <amz3>well, I started reading that to become more clever, but I feel not very well, I think I have a very bad NIH syndrom. <amz3>the code for development (DEV) is not the same than producion. <amz3>the code is riddled with: if (__DEV__) { frob } where DEV means dev time. <amz3>(from the point of view of the coder ;) <amz3>here is the kind of helpful message, state-of-art computer engineering can produce in terms of literate^M documentation: <amz3>to get started, s/DEV/DEBUG/ <amz3>to get started, s/DEV/DEBUG/g ***ng0_ is now known as ng0
<amz3>so far my understanding is they are building a "scheduler" in the sens of OS kernel to "batch" rendering operations, in the forms of DOM add/update/delete (update can include style attribute modifications) <amz3>in oreder to give animation highest priorities, and actual knowledge low priority. <amz3>that happens to be my experience with their so called book. <amz3>from the start I made mistake rely on that software, but now, there is two possibily: a) it is genius hence not ready yet, (like the code and documentation mention it) d) ... </complaining> <amz3>dsmith-work: you do not use their apps, I think, the web app is VERY slow. <amz3>not mentioning a critical bug they claimed did not exsits and was fixed in later version. <chrchr>Hi! I've just installed a guix system specifically to mess around with chickadee. So I do 'guix install chickadee' and I expect that I should then be able to do (use-modules (chickadee)) in guile, but I get "no code for module (chickadee)". Suggestions? <civodul>chrchr: hi! perhaps you need to "guix install chickadee guile" and then follow the instructions to set GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH accordingly? <chrchr>civodul: I will pursue that. Thank you! <chrchr>Progess! Now failing like so: "In procedure dynamic-pointer: Symbol not found: glGenTextures"