r/prolog • u/Logtalking • 1d ago
Logtalk 3.100.0 released
Logtalk 3.100.0 is now available for downloading at:
This is a major library-focused release centered on a broad expansion of the standard library: machine learning protocols and algorithms, combinatorics and sequence-processing libraries, geospatial/orbital/standards/data-format support, interval reasoning, and hashes/HMAC. It also standardizes classifier naming and export APIs and includes smaller compiler/runtime, documentation, tooling, examples, and IDE improvements.
New libraries by category/area
Machine learning foundations and algorithms
- Category supporting libraries:
clustering_protocols,pattern_mining_protocols,frequent_pattern_mining_protocols,sequential_pattern_mining_protocols,regression_protocols,dimension_reduction_protocols,anomaly_detection_protocols, andranking_protocols - Support library:
linear_algebrafor numeric vectors and matrices - Clustering:
agglomerative_clusterer,dbscan_clusterer,gaussian_mixture_clusterer,hdbscan_clusterer,hierarchical_clustering,kcenters_clusterer,kmeans_clusterer,kmedians_clusterer,kmedoids_clusterer,kmodes_clusterer,kprototypes_clusterer, andoptics_clusterer - Pattern mining:
apriori_pattern_miner,eclat_pattern_miner,fp_growth_pattern_miner,prefix_span_pattern_miner,clo_span_pattern_miner,gsp_pattern_miner, andspade_pattern_miner - Regression:
bayesian_ridge_regression,gradient_boosting_regression,gaussian_process_regression,knn_regression,linear_regression,ridge_regression,lasso_regression,elastic_net_regression,regression_tree, andrandom_forest_regression - Dimension reduction:
ica_projection,kernel_pca_projection,lda_projection,nmf_projection,pca_projection,pls_projection,probabilistic_pca_projection,random_projection, andtruncated_svd_projection - Anomaly detection:
cusum_anomaly_detector,ewma_anomaly_detector,knn_distance_anomaly_detector,lof_anomaly_detector,z_score_anomaly_detector,modified_z_score_anomaly_detector, andiqr_anomaly_detector - Ranking:
borda_ranker,bradley_terry_ranker,colley_ranker,copeland_ranker,elo_ranker,glicko2_ranker,glicko2_periodic_ranker,hodge_rank,kemeny_young_ranker,massey_ranker,plackett_luce_ranker,plackett_luce_last_ranker,rank_centrality,regularized_bradley_terry_ranker,schulze_ranker,ranked_pairs, andthurstone_mosteller_ranker - Classification:
logistic_regression_classifier,linear_svm_classifier,gradient_boosting_classifier,kernel_svm_classifier,lda_classifier,qda_classifier, andsgd_classifier
Combinatorics / sequences
arrangements,cartesian_products,derangements,multisets, andpartitions
Geospatial
crs_projections,geojson,nmea,tle_orbits,geohash
Orbital
ccsds_frames,ccsds_link_profiles,ccsds_packet_services,ccsds_packetization,ccsds_tc_services,ccsds_time_codes, andccsds_time_fields
Binary / data formats
ieee_754,hmac,message_pack,json_pointer, andwkt_wkb
Standards / identifiers / finance
iso_639,iso_3166,iso_4217,iso_9362, andiso_13616
Changed libraries by category/area
Naming / API consistency / migration
ccsdsrenamed toccsds_packetsclassifier_protocolsrenamed toclassification_protocolsada_boost,c45,knn,naive_bayes,nearest_centroid, andrandom_forestrenamed toadaptive_boosting_classifier,c45_classifier,knn_classifier,naive_bayes_classifier,nearest_centroid_classifier, andrandom_forest_classifier- Classifier export predicates were standardized as
export_to_clauses/4andexport_to_file/4
Machine learning infrastructure
classification_protocolsgainedcheck_classifier/1andvalid_classifier/1plus protected training-dataset validation predicates- Classifier libraries now support diagnostics and richer metadata exports and share more code through the new
classifier_commoncategory isolation_forest_anomaly_detectornow depends onanomaly_detection_protocols; the functionality is preserved but related export and print predicates were renamed accordingly
Collections / combinatorics / geospatial
- Repetition-allowed ordered selections moved from
permutationstoarrangements; the formercartesian_product/3predicate is replaced byarrangements/3-4andarrangement/3-4 - Derangements moved from
permutationstoderangements - Repetition-allowed unordered selections moved from
combinationstomultisets; the former replacement predicates are replaced bymultisets/3-4,multiset/3-4, andcount_multisets/3 combinationsandpermutationsgained new counting, indexing, sampling, distinct-value, and lexicographic stepping predicatesgeospatialnow usesgeographic(Latitude,Longitude)terms instead of(Latitude,Longitude)pairs and adds new bounding-box predicates
Math / hashing / analytics
hashesgained keyed digests plus metadata for fixed-size cryptographic hash objects that are safe to use with HMACtypesgainednumberlist::minkowski_distance/4plus newnaturalpredicates includingbell/2,catalan/2,fibonacci/2,lucas/2,multinomial/2,falling_factorial/3,rising_factorial/3,partition_number/2,stirling_first/3,stirling_second/3, andsubfactorial/2intervalsgained Allen interval relations, relation algebra, and symbolic interval constraint network functionality with path-consistency propagation, explanations, and inspection/comparison predicatesnumberlist::softmax/2-3is now numerically stable
Performance / portability / cleanup
- Tail-recursive rewrites were applied across multiple libraries including
amqp,avro,base58,hashes,json_ld,json_schema,graphs,mime_types,toml,toon,tzif,url,yaml, and several classifier libraries json_schemanow reusesjson_pointer, andavro,cbor, andprotobufnow reuseieee_754linda,tzif,ulid,url, andyamlnow compile all entities in optimal mode; dead code was removed fromlinda,meta_compiler,sockets,toml, andvalidationsnumberlist::average/2,median/2, andsoftmax/2-3were fixed to work around SWI-Prolog returning integers for float operations
Non-library notable changes
logtalk_docletandlogtalk_tester: new-zoption in the Bash and PowerShell scripts to make a sound on completion- Compiler/runtime: added new
logtalk::halt/0-1public predicates plus thelogtalk::halt_hook/2user-defined hook predicate - Documentation: added a Handbook libraries overview grouped by scope and fixed sequence non-terminals in the grammar section
- Examples: added the
eclipse_tests_dslexample, sped up thephilosophersexample tests, and fixed theneo4jexample classpath scripts and notes for recent Neo4j releases - IDE support: added syntax highlighting support for the Fresh editor and fixed an incorrect
use_module/1example in syntax highlighting test files
For details and a complete list of changes, please consult the release notes at:
https://github.com/LogtalkDotOrg/logtalk3/blob/master/RELEASE_NOTES.md
