<commit_before>chez := scheme

problem-specifications := <EMAIL>:exercism/problem-specifications.git

doc-files := \
	about \
	installation \
	resources \
	tests

implementations := \
	hello-world \
	leap \
	hamming \
	atbash-cipher \
	grains \
	anagram \
	pascals-triangle \
	rna-transcription \
	difference-of-squares \
	nucleotide-count \
	scrabble-score \
	two-fer \
	word-count \
	knapsack \
	raindrops \
	phone-number

track-documentation := $(foreach doc,$(doc-files),docs/$(doc).md)

exercisms := $(foreach exercism,$(implementations),exercises/$(exercism))

track-requirements := \
	../problem-specifications \
	bin/configlet \
	config.json \
	code/stub-makefile \
	$(track-documentation) \
	$(exercisms)

# run given expression after loading load.ss
exercise = echo $(1) | $(chez) -q load.ss

default : track

# exercism/problem-specifications repo
../problem-specifications :
	cd .. && git clone $(problem-specifications)

# configlet binary
bin/configlet :
	./bin/fetch-configlet

# configuration
config.json : code/config.ss
	$(call exercise, "(make-config)")

# documentation
docs/%.md : code/md.ss code/docs/%.ss
	$(call exercise, "(put-md '$(@F:.md=))")

# exercises
exercises/% : code/track.ss code/exercises/%/* code/stub-makefile
	$(call exercise, "(make-exercism '$(@F))")

# build track
track : $(track-requirements)
	./bin/configlet generate .
	./bin/configlet fmt .
	./bin/configlet lint .

clean :
	find . -name "*.so" -exec rm {} \;
	find . -name "*~" -exec rm {} \;
	find . -name "*.html" -exec rm {} \;
	rm -rf _build

.PHONY : track clean

<commit_msg>use in house json instead of configlet format<commit_after>chez := scheme

problem-specifications := <EMAIL>:exercism/problem-specifications.git

doc-files := \
	about \
	installation \
	resources \
	tests

implementations := \
	hello-world \
	leap \
	hamming \
	atbash-cipher \
	grains \
	anagram \
	pascals-triangle \
	rna-transcription \
	difference-of-squares \
	nucleotide-count \
	scrabble-score \
	two-fer \
	word-count \
	knapsack \
	raindrops \
	phone-number

track-documentation := $(foreach doc,$(doc-files),docs/$(doc).md)

exercisms := $(foreach exercism,$(implementations),exercises/$(exercism))

track-requirements := \
	../problem-specifications \
	bin/configlet \
	config.json \
	code/stub-makefile \
	$(track-documentation) \
	$(exercisms)

# run given expression after loading load.ss
exercise = echo $(1) | $(chez) -q load.ss

default : track

# exercism/problem-specifications repo
../problem-specifications :
	cd .. && git clone $(problem-specifications)

# configlet binary
bin/configlet :
	./bin/fetch-configlet

# configuration
config.json : code/config.ss
	$(call exercise, "(make-config)")

# documentation
docs/%.md : code/md.ss code/docs/%.ss
	$(call exercise, "(put-md '$(@F:.md=))")

# exercises
exercises/% : code/track.ss code/exercises/%/* code/stub-makefile
	$(call exercise, "(make-exercism '$(@F))")

# build track
track : $(track-requirements)
	./bin/configlet generate .
#	./bin/configlet fmt .
	./bin/configlet lint .

clean :
	find . -name "*.so" -exec rm {} \;
	find . -name "*~" -exec rm {} \;
	find . -name "*.html" -exec rm {} \;
	rm -rf _build

.PHONY : track clean


{'fraction_non_alphanumeric': 0.16630128405887878, 'fraction_numerical': 0.0006263701847792045, 'mean_word_length': 3.339673913043478, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, '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': '4340026', 'n_tokens_mistral': 1176, 'n_tokens_neox': 1148, 'n_words': 243}