<commit_before>* Build system and packaging work

- =chicken= is using a positional argument for the file name... (note
  the confusing error message when you try specifying an option first)
- Missing LICENSE in egg tarballs
- Implement an option for =chicken-install= to not fetch/install any
  dependencies
- http://code.call-cc.org/egg-tarballs/ should be official (see
  http://www.more-magic.net/posts/vcs-independent-distribution.html
  for details)
- Same goes for
  http://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=tree;hb=HEAD
- Source links in the wiki (svnwiki hacking?)
- Do something against the hardcoded locations (having a globally
  installed CHICKEN and locally installed libraries doesn't mix as
  they're looked up in the global location unless you use environment
  variables, perhaps an approach à la =pip install --user= or =gem=
  and its user option could work)
- Use =<chicken/chicken.h>= in generated sources

<Earnestly> wasamasa: All chicken needs is the ability for -p to be an actual prefix and an install location
<Earnestly> wasamasa: So `chicken-install -p /usr "$pkgdir"` for example

* =chicken-src=

The equivalent to =chicken-doc= for (definition) source lookup.

* =moped=

A better MPD library!

* =doodle2=

[[http://wiki.call-cc.org/eggref/4/doodle][doodle]], but with [[http://libsdl.org/][SDL2]] (as it has numerous benefits, including the
windows behaving more like other toolkit windows with resizing and
whatnot).

* Lispy grep tool

Basically a less snazzy [[http://mlsec.org/joern/][joern]] which parses lispy languages (with
support for archives by using the great [[http://libarchive.org/][libarchive]]), uses a query
language (maybe graph-style or something simpler?) and doesn't require
a database server.

* Fuzzy matcher

That would be nice to have as basis for fuzzy completion inside Emacs,
though [[https://github.com/Fuco1/yafmp][yafmp]] might be good enough (as it is very new though it's still
got the classic plethora of C bugs...).

* Self-hosting [[http://wiki.call-cc.org/eggref/4/spock][spock]] and interpreter

* Linter
<commit_msg>Add missing notes for Spock and linting<commit_after>* Build system and packaging work

- =chicken= is using a positional argument for the file name... (note
  the confusing error message when you try specifying an option first)
- Missing LICENSE in egg tarballs
- Implement an option for =chicken-install= to not fetch/install any
  dependencies
- http://code.call-cc.org/egg-tarballs/ should be official (see
  http://www.more-magic.net/posts/vcs-independent-distribution.html
  for details)
- Same goes for
  http://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=tree;hb=HEAD
- Source links in the wiki (svnwiki hacking?)
- Do something against the hardcoded locations (having a globally
  installed CHICKEN and locally installed libraries doesn't mix as
  they're looked up in the global location unless you use environment
  variables, perhaps an approach à la =pip install --user= or =gem=
  and its user option could work)
- Use =<chicken/chicken.h>= in generated sources

<Earnestly> wasamasa: All chicken needs is the ability for -p to be an actual prefix and an install location
<Earnestly> wasamasa: So `chicken-install -p /usr "$pkgdir"` for example

* =chicken-src=

The equivalent to =chicken-doc= for (definition) source lookup.

* =moped=

A better MPD library!

* =doodle2=

[[http://wiki.call-cc.org/eggref/4/doodle][doodle]], but with [[http://libsdl.org/][SDL2]] (as it has numerous benefits, including the
windows behaving more like other toolkit windows with resizing and
whatnot).

* Lispy grep tool

Basically a less snazzy [[http://mlsec.org/joern/][joern]] which parses lispy languages (with
support for archives by using the great [[http://libarchive.org/][libarchive]]), uses a query
language (maybe graph-style or something simpler?) and doesn't require
a database server.

* Fuzzy matcher

That would be nice to have as basis for fuzzy completion inside Emacs,
though [[https://github.com/Fuco1/yafmp][yafmp]] might be good enough (as it is very new though it's still
got the classic plethora of C bugs...).

* Self-hosting [[http://wiki.call-cc.org/eggref/4/spock][spock]] and interpreter

<wasamasa> I've been looking at http://ceaude.twoticketsplease.de/js-lisps.html thanks to #scheme
<wasamasa> and was wondering whether spock got an interpreter by now
<DerGuteMoritz> wasamasa: doesn't look like it
<wasamasa> DerGuteMoritz: would it be a worthwhile goal to pursue?
<DerGuteMoritz> I think that would allow it to become self-hosted
<wasamasa> indeed
<DerGuteMoritz> well, not necessarily the only way
<wasamasa> something clojurescript hasn't managed yet :P
<DerGuteMoritz> but a worthwhile one
<DerGuteMoritz> heh
<wasamasa> the reason why I'm asking is because ever since getting started with emacs I really like starting out in an interpreter first
<wasamasa> which works well enough in `csi` (save some... interesting bugs)
<DerGuteMoritz> an on-the-fly compiler is also an option
<DerGuteMoritz> might be possible to conjure something like that for spock already
<wasamasa> so, if one would keep feeding lines of input into that compiler form, that might suffice?
<DerGuteMoritz> sure
<wasamasa> "eval is not supported."
<DerGuteMoritz> pseudo-js: eval(popen("chicken-spock", "(some-scheme-expression)").read())
<DerGuteMoritz> (also, pseudo chickne-spock interface, no idea whether it can be called like that)
<DerGuteMoritz> *chicken-spock

* Linter

- =csc -ASM stoll.scm=
- =csc -debug analyze-only stoll.scm=
- Either combine both kinds of output or figure out how to get line
  numbers into the former

http://wiki.call-cc.org/chicken-internal-structure#the-analysis-database


{'fraction_non_alphanumeric': 0.09742519137091162, 'fraction_numerical': 0.0017397355601948504, 'mean_word_length': 4.522574447646494, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 29, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4092345', 'n_tokens_mistral': 1820, 'n_tokens_neox': 1723, 'n_words': 708}