pnathan / genhash Goto Github PK
View Code? Open in Web Editor NEWhttp://cdr.eurolisp.org/document/2/
http://cdr.eurolisp.org/document/2/
NET.HEXAPODIA.HASHTABLES Generic hash table implementation. This implementation is in the public domain. Written by Ingvar Mattsson <[email protected]>. This package defines four generic functions and two normal functions. The non-generic function MAKE-GENERIC-HASH-TABLE is used for hash table creation. (make-generic-hashtable (:test 'eql) (:size 17)) If this function is fed the *symbols* EQ EQL EQUAL or EQUALP as test it will create a generic hash table with that as an equality test and SXHASH as the hash function. NOTE: Using EQ or EQL as the test designator is risky and should be avoided. In general, for the built-in test designators, use the function instead of the symbol. This will give you a built-in hash table. If this function is fed the *functions* EQ EQL EQUAL or EQUALP it will create a normal (built-in) hash table with that as a test function. (register-test-designator <nickname> <hash fn> <equal fn>) Register a new generic hash function with <nickname> as the relevant :test parameter. The generic functions are: (hashref <key> <table> &optnonal (default nil)) This function does essentially the same thing as GETHASH. ((setf hashref) <value> <key> <table> &optional ignore) For (setf (hashref ...) ...) (map-generic-hash <fn> <table>) As MAPHASH (hashrem <key> <table>) As REMHASH These functions dispatch somewhat differently depending on if they're fed a generic hash table or a built-in hash table. For benchmarking, just load "benchtests.lisp", this will loop through the number 0 to 1000 (and 100000) and feed them into a hash table, then generating a report of *STANDARD-OUTPUT*.
There is a fresher snapshot surviving online:
It allows to load cl-peg (a reverse-dependency of genhash), for example. Would you mind a) updating b) trying to submit this as the only surviving mirror to quicklisp?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.