[Chicken-users] salmonella + test egg failure
Hello, Trying to lint my work-in-progress egg with salmonella. Got a tests/run.scm set up with some tests, using Alex Shinn's test egg. I can run my test code in csi, but not with salmonella. From salmonella.log: Error: (import) during expansion of (import ...) - cannot import from undefined module: test I have (use my-module test) at the start of my run.scm. Using Chicken 4 on Gentoo. How do I fix this? Thanks in advance, -Heinz ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] salmonella + test egg failure
Thanks Mario, that does indeed fix the issue. Now I see that it's even mentioned in https://wiki.call-cc.org/eggs%20tutorial. My apologies for failing to rtfm. Best wishes, -Heinz On 1/28/19 11:19 PM, Mario Domenech Goulart wrote: Hi, On Mon, 28 Jan 2019 23:02:23 +0100 lundi wrote: Trying to lint my work-in-progress egg with salmonella. Got a tests/run.scm set up with some tests, using Alex Shinn's test egg. I can run my test code in csi, but not with salmonella. From salmonella.log: Error: (import) during expansion of (import ...) - cannot import from undefined module: test I have (use my-module test) at the start of my run.scm. Using Chicken 4 on Gentoo. How do I fix this? Salmonella builds eggs it tests on an initially empty local egg repository to be able to detect missing dependencies in egg metadata specification. So, I'd guess you probably need (test-depends test) in your .meta file. All the best. Mario ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] hahn/salmonella issues
Hello, A new day, some new questions. First up, Chicken version is 4.13.0. For my wip egg, I'm trying to auto-generate docs with hahn. This works fine as far as running hahn from command line is concerned. However, things fail when trying to invoke hahn through salmonella via setup-helper. My .meta contains (depends hahn) and my .setup looks pretty much like in the example given on the hahn eggref. Running salmonella generates no .wiki file. Checking salmonella.log reveals: Error: (require) cannot load extension: alist-lib Call history: bin/hahn.scm:3: ##sys#require <-- Warning: Documentation not generated: shell command failed with nonzero exit status 17920: hahn -o xmkit.wiki xmkit.scm This may be because hahn-utils is not installed. Obviously hahn-utils is installed, otherwise I couldn't run hahn from command line. So let's check that alist-lib. chicken-install alist-lib gives me: The following installed extensions are outdated, because `alist-lib' requires later versions: hahn (0.5.3 -> 0.9.3) Do you want to replace the existing extensions? (yes/no/abort) [no] Uh, what? Ok, let's replace hahn. Afterwards I also need to reinstall hahn-utils because "updating" hahn appearantly removes it. Now, running salmonella again still results in the same error. And likewise, another chicken-install alist-lib will still complain about hahn being outdated. Note that alist-lib is actually installed and usable from csi. So, any way I can get out of this loop? Am I missing anything? I'm not subscribed to hahn, in any case. But I do want to auto-generate pretty-looking wiki pages (with rainbow parens, yay!) from in-source documentation, if possible. Also a slightly related question, is it possible to pass the salmonella's documentation step when linting locally, or does the documentation need to be available in the svn repo? Thanks in advance, -Heinz ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] hahn/salmonella issues
Hi, On 1/30/19 9:14 AM, Mario Domenech Goulart wrote: I don't know how hahn/hahn-utils work, but both seem to be ok according to you test system [1][2]. It seems that you are using hahn-utils, but you have hahn in your dependency specification. According to the dependency graphs, hahn-utils depends on hahn, not the other way around [3][4]. It's possible that hahn is documented using itself, and that it would optionally use hahn-utils (that would be a circular dependency), but I'm not sure about that. I might have been a bit confused about things myself. Anyway, first of all there are two different things named hahn: 1) The hahn binary, which is provided by the hahn-utils egg; and 2) the hahn egg, which provides the run-hahn macro. From the hahn egg doc: The hahn binary from hahn-utils generates the actual documentation; the hahn egg provides a convenience macro run-hahn so that installation does not fail for users who haven't installed hahn-utils. There is a soft-dependency on the otherwise dependency-heavy egg hahn-utils: users don't have to have it unless they want to generate docs themselves, for some reason. And from hahn-utils: Hahn-utils is mainly interesting because it provides the hahn program that takes code documented with hahn and converts it into documentation. Hahn-utils is a soft-dependency and shouldn't be included in depends. As far as I can tell, hahn (the egg) is not documented using itself, but hahn-utils is. In any case, the problem seems to be that run-hahn does not work, neither through salmonella nor through csi. From csi with hahn and hahn-utils loaded, the error looks like this: (run-hahn -o xmkit.wiki xmkit.scm) Warning: Documentation not generated: unbound variable This may be because hahn-utils is not installed. Hahn-utils is an optional egg for generating documentation and installation will succeed without it. Note: the following toplevel variables are referenced but unbound: run hahn -o xmkit.wiki xmkit.scm Uh-oh. Note the parsing of "run" and "hahn" as two different vars. Should this be considered a bug? I'd file an issue on Github in that case but I would like to make sure first that the problem is with hahn/hahn-utils and not Chicken. So I guess for the time being I should just stick to running hahn from command line, and not use run-hahn in .setup. How would I provide local documentation with my egg then, though? Would it normally be fetched from the wiki svn by chicken-install? On the other hand, I think ultimately hahn is maybe not an ideal solution. First of all it's not available in Chicken 5 yet... though of course the author is a very busy man, so chances are he'll port it at some point. What bugs me though is the docstring style. I think comment-style in-source documentation (like Doxygen) is much cleaner. So I'm looking at SchemeDoc now (http://people.cs.aau.dk/~normark/schemedoc/). I'm afraid though I won't have time to make it work with Chicken any time soon though. Providing the LAML compat functions seems easy enough, but writing a SchemeDoc to snvwiki converter is quite a chunk of work imo. Also it seems Chicken once had a thing called Docscm, not sure what happened to that? Best wishes, -Heinz ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] hahn/salmonella issues
To answer my own question regarding possible alternatives to hahn: I found that simply writing documentation to source with a special comment prefix and then extracting that with some shell voodoo will be closest to what I want. My main gripe with hahn is that IDEs will commonly not recognize the @() docstrings as such, so they will cause a lot of visual clutter in the source. So instead I'll just extract comments starting with a triple semicolon and write those to a wiki file. $ cat file.scm | sed 's/^[ \t]+//' | grep -e "^;;;" | cut -b 5- > file.wiki I considered writing documenting comments in Markdown and then pipe those through markdown-svnwiki, but I feel like there's little benefit over just writing comments directly in svnwiki syntax. Obviously there's a lot of room for improvement here. For instance it would be great to have a way of automatically converting procedure definitions into (fn args) blocks. Also, support for multi-line comments and extracting info from .meta files would be nice to have. Would anybody be interested in having an egg that provides this sort of functionality? I'm under the impression that hardly anybody uses hahn so I imagine nobody would use this either. Best wishes, -Heinz ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] hahn/salmonella issues
Evan Hanson wrote: I hesitate to mention this since I'm pretty sure I'm the only person who uses it, so it hasn't really been battle-tested (and it's not really documented either), but the schematic egg might do what you're looking for. In particular, the `schematic-wiki' program will generate svnwiki tags for commented (toplevel) procedure definitions, with each tag followed by the comment. So, if you use svnwiki syntax for the comments, the result could be copied into a wiki page without any changes: Ha, that is indeed pretty close to what I want. I remember looking at the description before and not being able to work out whether it'd be useful. Definately looks like it though. Meanwhile I got impatient and hacked up my own little crap tool. https://github.com/utz82/scm2wiki It's not using schematic at the moment, but I could imagine using it in the future. For now though I'm too lazy to make it into a proper egg, sorry. Needs a few more features before it's worth the effort. Best wishes, -Heinz ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Chicken/Tk
Hi, I'm planning on using Tk in a project, and was wondering what's the current status of Tk support in Chicken. So Chicken 4 has two eggs, pstk and tk. Of these, pstk is listed under "Unsupported or redundant". What's the reason for that? I thought pstk was essentially an enhanced version of Wolf-Dieter Busch's Chicken/Tk. Also, is anybody working on porting either of these eggs to Chicken 5? I'll probably stick to Chicken 4 for my project for the time being, since a number of distros don't ship C5 yet. I'd volunteer to port the egg myself at some point in the future though, once I do transition to 5. On a side note, a while ago I was in contact with Mr. Busch and asked if he would relicense the tk egg under BSD terms, to which he agreed. As far as I can tell he hasn't actually taken any steps to do so, however. In any case, afaik the "Bremer License" is not applicable here, because it specifically and exclusively covers the OSCI library, of which Chicken/Tk is not a component. So in it's current state, Chicken/Tk is not free software, strictly speaking. Best wishes, -Heinz ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Chicken/Tk
Thank you Vasilij for the quick and detailed reply. That's pretty much all I needed to know. I was definately planning on using ttk widgets so pstk it is. As I only started coding in Scheme a few months ago I don't feel up to the task of maintaining the pstk egg at this point either. The code doesn't look too complicated though so I'll probably volunteer to do it once I have a bit more experience. Best wishes, -Heinz ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Chicken/Tk
Afaik the port was done by Peter Lane, who still maintains the non-Chicken version of pstk. He doesn't seem to keen on providing Chicken support nowadays, though. Perhaps a port to Chicken 5 could actually be based on his r7rs version, though. Your version is still available on Sourceforge: https://sourceforge.net/projects/pstk As far as I can tell there are only minor differences between this, the Chicken egg version, and Peter Lane's version. All of them just had small tweaks post 2008. Best wishes, -Heinz On 2/13/19 9:53 PM, Phil Bewig wrote: I was once the maintainer of pstk. But I can tell you that I haven't touched it in years, and it fell off of SourceForge in one of their restructurings, so I have no intention of looking at it again. Several years ago someone, I don't recall who, forked pstk for Chicken. I was not involved in the fork, and I don't know what changes were made. I'm pretty sure the Chicken version of pstk hasn't been maintained for a long time, either. I am not a regular user of Chicken and am not interested in being the maintainer of Chicken pstk. ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] new egg: xmkit
Hi, I have completed a new egg: https://github.com/utz82/xmkit-scm It's for parsing XM (Fasttracker 2 music module) files. Probably not too useful for the majority of Chicken users, but hey, more is always good, right? Since it's my first egg, I would appreciate it if someone could have a quick look to see if there are any glaring errors, before I create the actual release. Specifically, I'm a bit unsure regarding to what I should (import) and what I should (use). Of course I'm also happy to receive any general code critique. For now, the egg is for Chicken 4 only, for reasons mentioned earlier. I promise to add C5 support later on, though. Many thanks, -Heinz ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users