• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

basilisp-lang / basilisp / #477
99%
main: 99%

Build:
Build:
LAST BUILD BRANCH: feature/python-inspect-ns
DEFAULT BRANCH: main
Ran 31 May 2020 07:36PM UTC
Jobs 1
Files 37
Run time 3s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
#477

push

coveralls-python

web-flow
Protocols and Volatiles (#460)

Support Protocols and Volatiles fully.

Protocols can be created via `(defprotocol Proto)` and are stored as regular maps in the Var designated by `Proto`. All type-making forms should support Protocols directly.

Protocol support is buoyed by a few small compiler level changes. First, the compiler now statically computes the set of arities for a function (integers and the keyword `:rest` for the variadic method) and attaches them to the function via the `.arities` attribute. Secondly, the compiler attempts to statically check Protocol interface definitions by accessing the interface located at `(:interface proto)` (though can always fall back to the runtime check if required).

All of the builtin collection types have had their MROs switched to place their corresponding collection interface highest in the method resolution order. This is critical for allowing the interface-matching capabilities of [`functools.singledispatch`](https://docs.python.org/3/library/functools.html#functools.singledispatch) to work in the most natural way for users in the event that a collection type matches multiple interfaces in the MRO.

`basilisp.walk` was updated to use a protocol `IWalkable` both the validate that Protocols work and in the hopes that Protocol dispatch would be faster than the existing type which ran through a linear list of type checks to dispatch each nested invocation.

2407 of 2462 branches covered (97.77%)

Branch coverage included in aggregate %.

6628 of 6705 relevant lines covered (98.85%)

0.99 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #477.1 31 May 2020 07:36PM UTC 0
98.56
Source Files on build #477
Detailed source file information is not available for this build.
  • Back to Repo
  • db66a174 on github
  • Prev Build on master
  • Next Build on master
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc