IRC channel logs

2016-10-20.log

back to list of logs

<howarth>are folks routinely using guile-test outside of the build system?
<howarth>Apple wants a stand-alone test case for the failure of srfi-18.test when guile is built on darwin with thread local storage support
<howarth>however I can seem to get it work work per the comments in guile-test
<howarth>cd /sw/src/fink.build/guile20-2.0.12-1/guile-2.0.12/guile-test
<howarth>setenv TEST_SUITE_DIR /sw/src/fink.build/guile20-2.0.12-1/guile-2.0.12/test-suite
<howarth>setenv GUILE_AUTO_COMPILE 0
<howarth>guile-2.0 -e main -s guile-test srfi-18.test
<howarth>failes
<howarth> http://pastebin.com/A5rk7eec
<spk121>howarth: guile-test needs to know location of (test-suite lib) before it can be run
<sneek>spk121, you have 1 message.
<sneek>spk121, amz3` says: the download link for guile-curl doesn't work, it's a 403 http://www.lonelycactus.com/tarball/guilecurl-0.3.tar.gz
<spk121>howarth: probably need to -L/sw/src/fink.build/guile20-2.0.12-1/guile-2.0.12/test-suite in your guile-2.0 call
<howarth>so in the OPTIONS section?
<howarth>I might have better luck starting with the MacPorts build to try this
<howarth>fink builds in a buried build directory within /sw/src/fink.build/guile20-2.0.12-1/guile-2.0.12
<amz3>héllo :)
<amz3>simple object oriented programming for scheme aka. soops https://framagit.org/snippets/317
<amz3>(it's persistent)
<OrangeShark>hello everyone
<amz3>o/
<amz3>(or spoops :)
<wleslie>it's either a warm nutritious liquid or a palindrome
<wleslie>but never both
<amz3>I was thinking that it would be an awefully ugly hack to get something like that working (hence the name), but actually it looks kind of nice.
<wleslie>may I suggest s/(define (call-method name args)/(define (call-method name . args)/
<avoine>amz3: Hello, so about yesterday's visual editor, I was more thinking of something like this: https://ravichugh.github.io/sketch-n-sketch/
<avoine>but it would be for visualizing and editing real code with geometry instead of drawing. But it's hard to found a natural visual representation as powerful as scheme.
<wleslie>amz3: have you ever read `The Art Of The Metaobject Protocol?`
<amz3>wleslie: no, why?
<wleslie>quite an enjoyable book
<amz3>wleslie: I will bookmark it then
<wleslie>been a while since I've read it, but it's sort of CLOS from the ground up
<amz3>avoine: I think I see the point, there is this famouse designer (working previously at apple) that demoed things kind of tool as the next iteration in programming or something like that
<avoine>yeah bret victor, I know his work
<amz3>yes
<howarth>finally puzzled out the steps for running srfi-18.test as stand alone
<howarth>1) built and installed guile 2.0.13 leaving build directory
<howarth>2) setenv GUILE_LOAD_PATH /opt/local/var/macports/build/_Users_howarth_ports_lang_guile/guile/work/guile-2.0.13/test-suite
<howarth>3) setenv TEST_SUITE_DIR /opt/local/var/macports/build/_Users_howarth_ports_lang_guile/guile/work/guile-2.0.13/test-suite/tests
<howarth>4) /opt/local/bin/guile -e main -s guile-test srfi-18.test
<howarth>FYI, the guile-test really needs to add a comment to mention that GUILE_LOAD_PATH needs to be set as well as TEST_SUITE_DIR
<jmd>Is there a utility to generate dependencies for .go files?
<jmd>(yes I have looked for this information in the manual)
<mark_weaver>howarth: did you try "./check-guile srfi-18.test" ?
<howarth>I was looking for a permutation which easily allowed Apple to invoke guile in lldb for debugging the TLS incompatibility
<howarth>but, yes, that does work as well
<howarth>Not very hopeful that Apple can make much progress since the failure isn't a crashing one
<howarth>It would be helpful if the guile developers could pinpoint what behavior in the TLS on darwin is unexpected with regard to those failures
<mark_weaver>howarth: "meta/gdb-uninstalled-guile" is our usual way to run the uninstalled guile within gdb. maybe it could be adapted for lldb
<howarth>that really isn't the issue at this point
<mark_weaver>*nod*
<howarth>the problem is pinpointing what expected TLS behavior Apple isn't providing
<howarth>or perhaps what incorrect TLS assumption guile is making
<mark_weaver>afaik, the core guile developers don't use darwin at all, so I think someone else will need to take the lead on this if progress is to be made.
<mark_weaver>wingo: I trust your judgment regarding the catch handler in (system repl server). I never looked at that bit of code closely.
<mark_weaver>wingo: I've also been thinking, for a while now, that reimplementing
<mark_weaver>'read' in scheme would be nice, and reducing the C version to just what it needs for bootstrap
<mark_weaver>however, until we have native compilation, there will certainly be a performance cost.
<mark_weaver>one of my reasons for wanting this is to facilitate the existence of variants of 'read' that are restricted in functionality and safe to use on data from potentially malicious sources.
<mark_weaver>e.g. maybe a variant of 'read' that conforms to R6RS (i.e. with no extensions at all)
<wingo>holy jeepers this is a terrible mutex library https://www.gnu.org/software/guile/manual/html_node/SRFI_002d18-Mutexes.html#SRFI_002d18-Mutexes
<wingo>mark_weaver: regarding read: we can use the same source and generate scheme and c code, and use the c code for bootstrapping
<wingo>dunno
<wingo>seems doable anyway, it's a very restricted domain
<wingo>hoo, threads.c is distressing
<wingo>yarr, you can make a mutex for which unlock-mutex won't error even if the mutex was already unlocked
<civodul>what kind of mutex?
<wingo>(make-mutex 'unchecked-unlock)
<civodul>oh
<civodul>terrible
<howarth>out of curiosity, has anyone built guile on linux using clang to verify that its TLS code generation causes no regressions on linux?
<wingo>howarth: good question. we don't receive regular reports like that
<wingo>maybe ask guile-user
<wingo>pthread_cancel, fat mutexes, set-thread-cleanup!, so distressing
<davexunit>civodul: this is how Elm works when github is down... https://pbs.twimg.com/media/CvMZ66TUsAITQ4O.jpg
<civodul>davexunit: so it needs to talk to github.com to evaluate "1 + 2"?
<civodul>analytics maybe?
<davexunit>civodul: it seems that the core libraries do not come with Elm.
<civodul>"1,254 users computed '1+2' today"
<OrangeShark>civodul: + is a function in a library that needs to be downloaded
<davexunit>or at least not this windows version of elm
<davexunit>downloading dependencies at runtime, what could go wrong?
<civodul>oh so it's super-late binding
<civodul>it's interesting, i think PLT used to have a way to do that no?
<civodul>but yeah, that '+' triggers the download of a library is, hmm interesting
<avoine>I'm pretty sure we could do a xkcd comic with that
<avoine>+ 1 2 -> 1) search google for that 2) download the first link to github 3) ...
<paroneayea>I wonder how hard it would be to do a GOOPS metaclass that has functional setters a-la (srfi srfi-9 gnu)?
<paroneayea> http://funcall.blogspot.com/2013/07/persisting-clos-objects.html it looks like here is an example done in CLOS
<paroneayea>(:metaclass persistent-standard-class)
<civodul>wingo: i'm skeptical about the usefulness of the _IO* deprecation
<paroneayea>though it looks like it comes from the ChangeSafe codebase, which died with google code svn hosting