# Hcel

> server program for indexing and serving Haskell package source code info

**Wikidata**: [Q114425136](https://www.wikidata.org/wiki/Q114425136)  
**Source**: https://4ort.xyz/entity/hcel

## Summary
Hcel is a server program for indexing and serving Haskell package source code information. Developed by Yuchen Pei, it functions as a code browser specifically for Haskell packages. It is free software released under both the Expat license and the GNU Affero General Public License version 3.0 or later.

## Key Facts
- Instance of: free software, server software
- Creator: Yuchen Pei (software engineer, mathematician, programmer, free software activist)
- Maintained by: Yuchen Pei
- Use: code browser, applies to part  (Haskell programming language)
- Based on: Haskell Code Explorer (web application for exploring and understanding Haskell codebases by Alexey Kiryushin)
- Used by: emacs-hcel (Emacs package for exploring Haskell code), on platform GNU Emacs
- Licenses: Expat license (references: README.org and COPYING.expat at https://g.ypei.me/hcel.git/ as of 2022-10-05); GNU Affero General Public License version 3.0 or later (references: README.org and COPYING.agpl3 at https://g.ypei.me/hcel.git/ as of 2022-10-05)
- Website: https://g.ypei.me/hcel.git/ (language: English; access method: programmer)
- Source code repository: https://g.ypei.me/hcel.git (interface: cgit; protocol: Git)
- Copyright status: copyrighted
- Related projects: free software (class with 120 sitelinks); Haskell Code Explorer; emacs-hcel
- Wikidata description: server program for indexing and serving Haskell package source code info

## FAQs
**What does Hcel do?**  
Hcel indexes Haskell package source code and serves that information via a server. It acts as a code browser tailored for Haskell, enabling exploration of package details.

**Who created and maintains Hcel?**  
Yuchen Pei, a software engineer, mathematician, programmer, and free software activist, created and maintains Hcel.

**What licenses cover Hcel?**  
It uses the Expat license, confirmed in README.org and COPYING.expat files dated 2022-10-05 from its repository. It also falls under GNU Affero General Public License version 3.0 or later, as stated in README.org and COPYING.agpl3 from the same sources.

**What is Hcel based on?**  
Hcel builds on Haskell Code Explorer, a web application by Alexey Kiryushin for exploring and understanding Haskell codebases, per README.org dated 2022-10-05.

**How is Hcel used?**  
Emacs-hcel, an Emacs package for Haskell code exploration on GNU Emacs, uses Hcel as its backend.

**Where can I find Hcel's source code?**  
The repository is at https://g.ypei.me/hcel.git, accessible via cgit interface for programmers, with English documentation.

## Why It Matters
Hcel addresses the need for efficient indexing and serving of Haskell package source code, making it easier for developers to browse and understand Haskell ecosystems without manual navigation. As free software, it empowers users to run, study, modify, and redistribute it, aligning with open-source principles championed by its creator Yuchen Pei. By serving as a backend for tools like emacs-hcel and building on Haskell Code Explorer, it enhances Haskell code exploration workflows, particularly in Emacs environments, fostering deeper engagement with Haskell projects. Its dual licensing under Expat and AGPLv3 provides flexibility for integration while ensuring freedoms are preserved, positioning it as a key infrastructure piece in the Haskell free software community.

## Notable For
- Serving as backend for emacs-hcel, integrating directly with GNU Emacs for Haskell code browsing
- Dual licensing model combining permissive Expat with copyleft AGPLv3, referenced explicitly in repository files
- Basis in Haskell Code Explorer, adapting a web-focused tool into a server for broader programmatic access
- Maintenance by a multifaceted contributor (Yuchen Pei) spanning programming, mathematics, and free software activism
- Cgit-based Git repository tailored for programmer access, with English-language resources

## Body
### Overview and Classification
Hcel operates as a server program dedicated to indexing and serving source code information from Haskell packages. It qualifies as both free software and server software. Free software status means it distributes under terms allowing users to run, study, change, and redistribute it or modified versions, connecting to a class with 120 sitelinks. Its Wikidata description precisely captures it as a "server program for indexing and serving Haskell package source code info." Copyrighted by design, it maintains standard protections.

### Development and Maintenance
Yuchen Pei created Hcel. Pei holds occupations as software engineer, mathematician, programmer, and free software activist. He also maintains the project. Structured properties confirm Pei as both creator and maintainer.

### Technical Use and Properties
Hcel functions as a code browser, with the qualifier applies_to_part: , denoting Haskell. The website https://g.ypei.me/hcel.git/ specifies English language and programmer access method. Source code resides at https://g.ypei.me/hcel.git, using cgit interface (: ) and Git protocol.

### Licensing Details
Dual licenses apply. The Expat license draws from references dated 2022-10-05: https://g.ypei.me/hcel.git/tree/README.org and https://g.ypei.me/hcel.git/tree/COPYING.expat. Separately, GNU Affero General Public License version 3.0 or later uses identical 2022-10-05 references: https://g.ypei.me/hcel.git/tree/README.org and https://g.ypei.me/hcel.git/tree/COPYING.agpl3.

### Origins and Inspirations
Hcel bases on Haskell Code Explorer. This predecessor is a web application by Alexey Kiryushin for exploring and understanding Haskell codebases. The connection references README.org at https://g.ypei.me/hcel.git/tree/README.org from 2022-10-05.

### Ecosystem and Usage
Emacs-hcel uses Hcel, an Emacs package for exploring Haskell code with platform qualifier GNU Emacs. This integration highlights Hcel's role in editor-specific workflows.

### Related Entities
Connections include free software as a broad class. Haskell Code Explorer links as the foundational tool. Emacs-hcel represents a direct consumer application. All tie into Haskell-focused development tools.

## References

1. [Source](https://g.ypei.me/hcel.git/tree/README.org)
2. [Source](https://g.ypei.me/hcel.git/tree/COPYING.expat)
3. [Source](https://g.ypei.me/hcel.git/tree/COPYING.agpl3)