Update Makefile.languages paths and add commonlisp/scheme targets, fix Common Lisp timeout slot name conflict

This commit is contained in:
Russell Ballestrini 2025-10-24 14:24:16 -04:00
parent dad7943c54
commit 9aa834852c
2 changed files with 80 additions and 31 deletions

View file

@ -2,16 +2,19 @@
# This Makefile contains commands for building and testing language example implementations
# Each language demonstrates usage of Hermes AI, Qwen Coder, and TTS endpoints
# Language list from webwords project
LANGUAGES := assembly awk bash brainfuck c clojure cobol cpp crystal csharp dart deno elixir erlang fortran fsharp go haskell java js julia kotlin lua matlab nim ocaml odin perl php powershell prolog python r ruby rust scala sql swift tcl v vbnet zig
# Docker image prefix
IMAGE_PREFIX := ai-unturf
# Languages directory (now in public/)
LANGUAGES_DIR := public/languages
# Test endpoints
HERMES_ENDPOINT := https://hermes.ai.unturf.com/v1
QWEN_ENDPOINT := https://qwen.ai.unturf.com/v1
TTS_ENDPOINT := https://speech.ai.unturf.com/v1
MODEL_ENDPOINT_1 := https://hermes.ai.unturf.com/v1
MODEL_ENDPOINT_2 := https://qwen.ai.unturf.com/v1
TTS_ENDPOINT_1 := https://speech.ai.unturf.com/v1
# Docker run environment variables
DOCKER_ENV := -e MODEL_ENDPOINT_1=$(MODEL_ENDPOINT_1) -e MODEL_ENDPOINT_2=$(MODEL_ENDPOINT_2) -e TTS_ENDPOINT_1=$(TTS_ENDPOINT_1)
.PHONY: help
help:
@ -29,27 +32,27 @@ help:
@echo " make languages-stop-all - Stop all language containers"
@echo " make languages-clean-all - Remove all language containers and images"
@echo ""
@echo " Replace 'python' with any language: $(LANGUAGES)"
@echo " Supported languages: python, go, rust, ruby, commonlisp, scheme, bash, and more"
@echo ""
@echo "Test Endpoints:"
@echo " Hermes: $(HERMES_ENDPOINT)"
@echo " Qwen: $(QWEN_ENDPOINT)"
@echo " TTS: $(TTS_ENDPOINT)"
@echo "Test Endpoints (via environment variables):"
@echo " MODEL_ENDPOINT_1: $(MODEL_ENDPOINT_1)"
@echo " MODEL_ENDPOINT_2: $(MODEL_ENDPOINT_2)"
@echo " TTS_ENDPOINT_1: $(TTS_ENDPOINT_1)"
.PHONY: languages-list
languages-list:
@echo "Available language directories:"
@ls -1 languages/
@ls -1 $(LANGUAGES_DIR)/
# Python language targets
.PHONY: languages-build-python
languages-build-python:
docker build -t $(IMAGE_PREFIX)-python languages/python/
docker build -t $(IMAGE_PREFIX)-python $(LANGUAGES_DIR)/python/requests/
.PHONY: languages-test-python
languages-test-python:
@echo "Testing Python implementation..."
docker run --rm $(IMAGE_PREFIX)-python
docker run --rm $(DOCKER_ENV) $(IMAGE_PREFIX)-python
.PHONY: languages-run-python
languages-run-python:
@ -67,12 +70,12 @@ languages-clean-python: languages-stop-python
# Go language targets
.PHONY: languages-build-go
languages-build-go:
docker build -t $(IMAGE_PREFIX)-go languages/go/
docker build -t $(IMAGE_PREFIX)-go $(LANGUAGES_DIR)/go/http/
.PHONY: languages-test-go
languages-test-go:
@echo "Testing Go implementation..."
docker run --rm $(IMAGE_PREFIX)-go
docker run --rm $(DOCKER_ENV) $(IMAGE_PREFIX)-go
.PHONY: languages-run-go
languages-run-go:
@ -90,12 +93,12 @@ languages-clean-go: languages-stop-go
# JavaScript/Node.js language targets
.PHONY: languages-build-js
languages-build-js:
docker build -t $(IMAGE_PREFIX)-js languages/js/
docker build -t $(IMAGE_PREFIX)-js $(LANGUAGES_DIR)/javascript/nodejs/
.PHONY: languages-test-js
languages-test-js:
@echo "Testing JavaScript implementation..."
docker run --rm $(IMAGE_PREFIX)-js
docker run --rm $(DOCKER_ENV) $(IMAGE_PREFIX)-js
.PHONY: languages-run-js
languages-run-js:
@ -113,12 +116,12 @@ languages-clean-js: languages-stop-js
# Rust language targets
.PHONY: languages-build-rust
languages-build-rust:
docker build -t $(IMAGE_PREFIX)-rust languages/rust/
docker build -t $(IMAGE_PREFIX)-rust $(LANGUAGES_DIR)/rust/
.PHONY: languages-test-rust
languages-test-rust:
@echo "Testing Rust implementation..."
docker run --rm $(IMAGE_PREFIX)-rust
docker run --rm $(DOCKER_ENV) $(IMAGE_PREFIX)-rust
.PHONY: languages-run-rust
languages-run-rust:
@ -136,12 +139,12 @@ languages-clean-rust: languages-stop-rust
# Ruby language targets
.PHONY: languages-build-ruby
languages-build-ruby:
docker build -t $(IMAGE_PREFIX)-ruby languages/ruby/
docker build -t $(IMAGE_PREFIX)-ruby $(LANGUAGES_DIR)/ruby/http/
.PHONY: languages-test-ruby
languages-test-ruby:
@echo "Testing Ruby implementation..."
docker run --rm $(IMAGE_PREFIX)-ruby
docker run --rm $(DOCKER_ENV) $(IMAGE_PREFIX)-ruby
.PHONY: languages-run-ruby
languages-run-ruby:
@ -159,12 +162,12 @@ languages-clean-ruby: languages-stop-ruby
# C language targets
.PHONY: languages-build-c
languages-build-c:
docker build -t $(IMAGE_PREFIX)-c languages/c/
docker build -t $(IMAGE_PREFIX)-c $(LANGUAGES_DIR)/c/curl/
.PHONY: languages-test-c
languages-test-c:
@echo "Testing C implementation..."
docker run --rm $(IMAGE_PREFIX)-c
docker run --rm $(DOCKER_ENV) $(IMAGE_PREFIX)-c
.PHONY: languages-run-c
languages-run-c:
@ -182,12 +185,12 @@ languages-clean-c: languages-stop-c
# C++ language targets
.PHONY: languages-build-cpp
languages-build-cpp:
docker build -t $(IMAGE_PREFIX)-cpp languages/cpp/
docker build -t $(IMAGE_PREFIX)-cpp $(LANGUAGES_DIR)/cpp/libcurl/
.PHONY: languages-test-cpp
languages-test-cpp:
@echo "Testing C++ implementation..."
docker run --rm $(IMAGE_PREFIX)-cpp
docker run --rm $(DOCKER_ENV) $(IMAGE_PREFIX)-cpp
.PHONY: languages-run-cpp
languages-run-cpp:
@ -205,12 +208,12 @@ languages-clean-cpp: languages-stop-cpp
# Bash language targets
.PHONY: languages-build-bash
languages-build-bash:
docker build -t $(IMAGE_PREFIX)-bash languages/bash/
docker build -t $(IMAGE_PREFIX)-bash $(LANGUAGES_DIR)/bash/
.PHONY: languages-test-bash
languages-test-bash:
@echo "Testing Bash implementation..."
docker run --rm $(IMAGE_PREFIX)-bash
docker run --rm $(DOCKER_ENV) $(IMAGE_PREFIX)-bash
.PHONY: languages-run-bash
languages-run-bash:
@ -225,6 +228,52 @@ languages-stop-bash:
languages-clean-bash: languages-stop-bash
docker rmi $(IMAGE_PREFIX)-bash || true
# Common Lisp language targets
.PHONY: languages-build-commonlisp
languages-build-commonlisp:
docker build -t $(IMAGE_PREFIX)-commonlisp $(LANGUAGES_DIR)/commonlisp/
.PHONY: languages-test-commonlisp
languages-test-commonlisp:
@echo "Testing Common Lisp implementation..."
docker run --rm $(DOCKER_ENV) $(IMAGE_PREFIX)-commonlisp
.PHONY: languages-run-commonlisp
languages-run-commonlisp:
docker run -it --rm --name test-commonlisp $(IMAGE_PREFIX)-commonlisp
.PHONY: languages-stop-commonlisp
languages-stop-commonlisp:
docker stop test-commonlisp || true
docker rm test-commonlisp || true
.PHONY: languages-clean-commonlisp
languages-clean-commonlisp: languages-stop-commonlisp
docker rmi $(IMAGE_PREFIX)-commonlisp || true
# Scheme language targets
.PHONY: languages-build-scheme
languages-build-scheme:
docker build -t $(IMAGE_PREFIX)-scheme $(LANGUAGES_DIR)/scheme/
.PHONY: languages-test-scheme
languages-test-scheme:
@echo "Testing Scheme implementation..."
docker run --rm $(DOCKER_ENV) $(IMAGE_PREFIX)-scheme
.PHONY: languages-run-scheme
languages-run-scheme:
docker run -it --rm --name test-scheme $(IMAGE_PREFIX)-scheme
.PHONY: languages-stop-scheme
languages-stop-scheme:
docker stop test-scheme || true
docker rm test-scheme || true
.PHONY: languages-clean-scheme
languages-clean-scheme: languages-stop-scheme
docker rmi $(IMAGE_PREFIX)-scheme || true
# Build all language implementations
.PHONY: languages-build-all
languages-build-all: