James W. Thatcher

33 papers A* 6B 4Journal 13Unranked 7
YearRankTypeTitle / Venue / Authors
2005 J jnl
IBM Syst. J.
Matthew King, James W. Thatcher, Philip Matthew Bronstad, Robert Easton
1989 J jnl
IEEE Trans. Software Eng.
R. K. Shyamasundar, James W. Thatcher
1987 conf
TAPSOFT, Vol.1
James W. Thatcher
1985 ed.
TAPSOFT, Vol.1
Hartmut Ehrig, Christiane Floyd, Maurice Nivat, James W. Thatcher
1985 ed.
TAPSOFT, Vol.2
Hartmut Ehrig, Christiane Floyd, Maurice Nivat, James W. Thatcher
1984 J jnl
Theor. Comput. Sci.
Hartmut Ehrig, Hans-Jörg Kreowski, James W. Thatcher, Eric G. Wagner, Jesse B. Wright
1983 A* conf
ICALP
Hartmut Ehrig, Eric G. Wagner, James W. Thatcher
1983 J jnl
J. Comput. Syst. Sci.
Stephen L. Bloom, James W. Thatcher, Eric G. Wagner, Jesse B. Wright
1982 J jnl
ACM Trans. Program. Lang. Syst.
James W. Thatcher, Eric G. Wagner, Jesse B. Wright
1981 J jnl
Theor. Comput. Sci.
James W. Thatcher, Eric G. Wagner, Jesse B. Wright
1981 conf
Program Specification
Hartmut Ehrig, Hans-Jörg Kreowski, James W. Thatcher, Eric G. Wagner, Jesse B. Wright
1980 conf
Workshop on Data Abstraction, Databases and Conceptual Modelling
James W. Thatcher
1980 conf
Semantics-Directed Compiler Generation
James W. Thatcher, Eric G. Wagner, Jesse B. Wright
1980 A* conf
ICALP
Hartmut Ehrig, Hans-Jörg Kreowski, James W. Thatcher, Eric G. Wagner, Jesse B. Wright
1980 conf
Workshop on Data Abstraction, Databases and Conceptual Modelling
Lawrence A. Rowe, L. Peter Deutsch, Mary Shaw, James W. Thatcher, Heinrich C. Mayr, Stephen N. Zilles, Patrick J. Hayes
1979 A* conf
ICALP
James W. Thatcher, Eric G. Wagner, Jesse B. Wright
1978 J jnl
Theor. Comput. Sci.
Jesse B. Wright, Eric G. Wagner, James W. Thatcher
1978 A* conf
STOC
James W. Thatcher, Eric G. Wagner, Jesse B. Wright
1978 B conf
MFCS
Eric G. Wagner, James W. Thatcher, Jesse B. Wright
1977 B conf
MFCS
Jesse B. Wright, Eric G. Wagner, James W. Thatcher
1977 J jnl
J. ACM
Joseph A. Goguen, James W. Thatcher, Eric G. Wagner, Jesse B. Wright
1976 A* conf
FOCS
Jesse B. Wright, James W. Thatcher, Eric G. Wagner, Joseph A. Goguen
1976 B conf
MFCS
Eric G. Wagner, Jesse B. Wright, Joseph A. Goguen, James W. Thatcher
1975 J jnl
IBM J. Res. Dev.
Arnold L. Rosenberg, James W. Thatcher
1974 B conf
MFCS
Joseph A. Goguen, James W. Thatcher, Eric G. Wagner, Jesse B. Wright
1974 conf
SWAT
Joseph A. Goguen, James W. Thatcher
1974 conf
Category Theory Applied to Computation and Control
Rod M. Burstall, James W. Thatcher
1972 ed.
Complexity of Computer Computations
Raymond E. Miller, James W. Thatcher
1970 J jnl
J. Comput. Syst. Sci.
James W. Thatcher
1969 A* conf
STOC
James W. Thatcher
1968 J jnl
Math. Syst. Theory
James W. Thatcher, Jesse B. Wright
1967 J jnl
J. Comput. Syst. Sci.
James W. Thatcher
1966 J jnl
J. Symb. Log.
James W. Thatcher
lint.sh
← Index lint.sh bash
#!/bin/bash

# Linting script for REDB project
# Usage: ./lint.sh [--fix] [--check-only]

set -e

# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# Default values
FIX=false
CHECK_ONLY=false

# Parse arguments
while [[ $# -gt 0 ]]; do
    case $1 in
        --fix)
            FIX=true
            shift
            ;;
        --check-only)
            CHECK_ONLY=true
            shift
            ;;
        *)
            echo "Unknown option: $1"
            echo "Usage: $0 [--fix] [--check-only]"
            exit 1
            ;;
    esac
done

echo -e "${GREEN}Running linting checks on REDB project...${NC}"

# Check if we're in a virtual environment
if [[ "$VIRTUAL_ENV" == "" ]]; then
    echo -e "${YELLOW}Warning: Not in a virtual environment. Consider activating one.${NC}"
fi

# Function to run a command and check its exit status
run_check() {
    local name="$1"
    local command="$2"
    
    echo -e "\n${YELLOW}Running $name...${NC}"
    if eval "$command"; then
        echo -e "${GREEN}✓ $name passed${NC}"
    else
        echo -e "${RED}✗ $name failed${NC}"
        return 1
    fi
}

# Track overall success
overall_success=true

# 1. isort (import sorting)
if [[ "$FIX" == true ]]; then
    run_check "isort" "isort redb/" || overall_success=false
else
    run_check "isort" "isort --check-only --diff redb/" || overall_success=false
fi

# 2. black (code formatting)
if [[ "$FIX" == true ]]; then
    run_check "black" "black redb/" || overall_success=false
else
    run_check "black" "black --check --diff redb/" || overall_success=false
fi

# 3. flake8 (style and error checking)
run_check "flake8" "flake8 redb/" || overall_success=false

# 4. pylint (comprehensive analysis)
run_check "pylint" "pylint --rcfile=pyproject.toml redb/" || overall_success=false

echo -e "\n${GREEN}Linting completed!${NC}"

if [[ "$overall_success" == true ]]; then
    echo -e "${GREEN}All checks passed! ✨${NC}"
    exit 0
else
    echo -e "${RED}Some checks failed. Please fix the issues above.${NC}"
    exit 1
fi