home

Centralized curated storage of all EO objects together with their unit tests

https://github.com/objectionary/home

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.1%) to scientific vocabulary

Keywords

eolang library object-oriented-programming objects repository
Last synced: 4 months ago · JSON representation ·

Repository

Centralized curated storage of all EO objects together with their unit tests

Basic Info
Statistics
  • Stars: 32
  • Watchers: 7
  • Forks: 12
  • Open Issues: 8
  • Releases: 41
Topics
eolang library object-oriented-programming objects repository
Created about 12 years ago · Last pushed 4 months ago
Metadata Files
Readme License Citation

README.md

Home of EO Objects

make Hits-of-Code License

The term Objectionary was coined by David West in his great book Object Thinking, page 306. The original idea was to have a place where objects are hosted. Not libraries or software packages, but individual objects. This is exactly what this repository is about: it hosts EO objects. More details in this blog post.

When you are ready to publish a new object to this repository and make it visible for users of EO, you just create a new .eo file and place it in the right location, in one of the sub-directories inside the objects directory. For example:

text objects/ org/ eolang/ number.eo

Then, you add a meta to your object code, mentioning the location of the runtime package, where all necessary atoms are available. For example, you create a new random numbers generator:

```text +package org.example +rt jvm org.example:example-runtime:1.0

Random numbers generator.

[] > random [max] > next-int as-int. > @ mul. max ^ [] > @ ? ```

The meta +rt clearly points us to the place where a JAR with the class for the org.example.random.@ atom can be found.

When ready, submit a pull request to us. Our scripts will try to build and test all objects, together with your new one, to make sure you didn't break anything and your objects work together with your atoms. Then, we'll merge it and the repository will be updated. All users will be able to use your objects.

How to Publish a Library

Once the library is ready for publishing (i.e. all required changes are released) it can be published. Publishing includes several steps.

Create a new Git branch from this repo to get the latest changes.

There is a Bash script pull.sh, which may help you publish the entire library. In order to use it, you should first configure your library so that it publishes its full list of EO objects on each release into its gh-pages branch.

Then, when ready, run the script this way inside your local clone of this repo:

bash ./pull.sh objectionary/eo-files

Here, objectionary/eo-files is the name of the GitHub repository you are trying to publish. The script will pull all the necessary .eo sources from the repo and put them into the right places.

If several libraries need to be published, repeat this step for each of them.

Library objects within Objectionary must not contain any puzzles, so they need to be removed from pulled objects.

Next, the build needs to be verified. To do this, run the following:

bash make clean make

If the build fails, the issues need to be resolved.

If the build is clean, commit the changes and push the branch. Then, submit a pull request. Once your pull request is merged, all EO programmers will be able to use your library.

Owner

  • Name: Objectionary
  • Login: objectionary
  • Kind: organization
  • Email: github@objectionary.com

EO Programming Language, Its Objects, and 𝜑-calculus

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Bugayenko"
  given-names: "Yegor"
  orcid: "https://orcid.org/0000-0001-6370-0678"
title: "EOLANG and 𝜑-calculus"
version: 0.23.0
doi: 10.48550/arXiv.2111.13384
date-released: 2022-05-09
url: "https://github.com/objectionary/home"

GitHub Events

Total
  • Create event: 128
  • Commit comment event: 16
  • Release event: 36
  • Issues event: 16
  • Watch event: 4
  • Delete event: 116
  • Issue comment event: 276
  • Push event: 573
  • Pull request review event: 44
  • Pull request event: 192
  • Fork event: 3
Last Year
  • Create event: 128
  • Commit comment event: 16
  • Release event: 36
  • Issues event: 16
  • Watch event: 4
  • Delete event: 116
  • Issue comment event: 276
  • Push event: 573
  • Pull request review event: 44
  • Pull request event: 192
  • Fork event: 3

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 37
  • Total pull requests: 292
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 19 days
  • Total issue authors: 9
  • Total pull request authors: 10
  • Average comments per issue: 2.24
  • Average comments per pull request: 1.95
  • Merged pull requests: 168
  • Bot issues: 2
  • Bot pull requests: 106
Past Year
  • Issues: 11
  • Pull requests: 103
  • Average time to close issues: 2 days
  • Average time to close pull requests: 7 days
  • Issue authors: 4
  • Pull request authors: 3
  • Average comments per issue: 2.55
  • Average comments per pull request: 1.48
  • Merged pull requests: 59
  • Bot issues: 1
  • Bot pull requests: 50
Top Authors
Issue Authors
  • 0pdd (13)
  • yegor256 (12)
  • Graur (3)
  • mximp (3)
  • renovate[bot] (2)
  • ivan-egorov42 (1)
  • maxonfjvipon (1)
  • volodya-lombrozo (1)
  • IngeniariusSoftware (1)
Pull Request Authors
  • maxonfjvipon (109)
  • renovate[bot] (106)
  • Graur (58)
  • yegor256 (8)
  • mximp (4)
  • volodya-lombrozo (3)
  • proxzi (1)
  • c71n93 (1)
  • yasamprom (1)
  • blablatdinov (1)
Top Labels
Issue Labels
bug (6) wanted (2) enhancement (2)
Pull Request Labels

Dependencies

.github/workflows/make.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
  • ruby/setup-ruby v1 composite
.github/workflows/pages.yml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
.github/workflows/pdd.yml actions
  • actions/checkout v3 composite
  • ruby/setup-ruby v1 composite
make/jvm/pom.xml maven
  • org.junit:junit-bom 5.9.1 import
  • org.junit.jupiter:junit-jupiter test
.github/workflows/fief.yml actions
  • JamesIves/github-pages-deploy-action v4.4.3 composite
  • actions/checkout v3 composite
  • ruby/setup-ruby v1 composite
.github/workflows/releases.yml actions
  • actions/checkout v3 composite
  • crazy-max/ghaction-import-gpg v5 composite
  • peter-evans/create-pull-request v5 composite
  • ruby/setup-ruby v1 composite