From c678d99e36779f36cdf2978f3aa517c921ba7bc9 Mon Sep 17 00:00:00 2001 From: Bruno Deferrari Date: Mon, 13 May 2024 13:07:10 -0300 Subject: [PATCH] Fixes + update to 38.3 --- CHANGELOG.md | 10 +++++++++- README.md | 4 ++-- sources/declarations.shen | 12 ++++++------ sources/prolog.shen | 3 --- sources/reader.shen | 4 ---- 5 files changed, 17 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f4534b..3e8608b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,13 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) ## [Unreleased] +## [38.3] - 2024-05-13 + +### Fixed + +- Removed unnecesary external symbols, arities and duplicated definitions +- Recover dynamic `demod` funcionality so that it is not updated through an `eval` that redefines it. + ## [38.2] - 2024-05-12 ### Fixed @@ -539,7 +546,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) - y-or-n? fixed - compiler warnings suppressed in CLisp -[Unreleased]: https://github.com/Shen-Language/shen-sources/compare/shen-38.2...HEAD +[Unreleased]: https://github.com/Shen-Language/shen-sources/compare/shen-38.3...HEAD +[38.3]: https://github.com/Shen-Language/shen-sources/compare/shen-38.2...shen-38.3 [38.2]: https://github.com/Shen-Language/shen-sources/compare/shen-38.1...shen-38.2 [38.1]: https://github.com/Shen-Language/shen-sources/compare/shen-38.0...shen-38.1 [38.0]: https://github.com/Shen-Language/shen-sources/compare/shen-37.1...shen-38.0 diff --git a/README.md b/README.md index d9a93ec..1445fc6 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ These resources provide complete Shen environments for programming. --- -[![Current Release](https://img.shields.io/badge/release-38.2-blue.svg)](https://github.com/Shen-Language/shen-sources/releases) +[![Current Release](https://img.shields.io/badge/release-38.3-blue.svg)](https://github.com/Shen-Language/shen-sources/releases) # Shen Sources @@ -52,7 +52,7 @@ Packages can be created for any version, but when uploading to the releases page ``` make pure -git checkout shen-38.2 +git checkout shen-38.3 make fetch make klambda make release diff --git a/sources/declarations.shen b/sources/declarations.shen index 2c0353d..81d7a9b 100644 --- a/sources/declarations.shen +++ b/sources/declarations.shen @@ -2,7 +2,7 @@ \\ All rights reserved. -(package shen [shen update-lambda-table inline foreign] +(package shen [shen update-lambda-table unix inline foreign] (set *history* []) (set *tc* false) @@ -29,7 +29,7 @@ (set *infs* 0) (set *hush* false) (set *optimise* false) -(set *version* "38.2") +(set *version* "38.3") (set *names* []) (set *step* false) (set *it* "") @@ -66,8 +66,8 @@ assoc 2 atom? 1 boolean? 1 bootstrap 1 bound? 1 bind 6 call 5 cd 1 compile 2 concat 2 cons 2 cons? 1 cn 2 close 1 declare 2 destroy 1 difference 2 do 2 element? 2 empty? 1 enable-type-theory 1 external 1 - error-to-string 1 interror 2 eval 1 eval-kl 1 explode 1 external 1 factorise 1 - fail-if 2 fail 0 fix 2 findall 7 foreign 1 fork 5 freeze 1 fresh 0 + error-to-string 1 eval 1 eval-kl 1 explode 1 external 1 factorise 1 + fail-if 2 fail 0 fix 2 findall 7 fork 5 freeze 1 fresh 0 fst 1 fn 1 function 1 gensym 1 get 3 get-time 1 address-> 3 <-address 2 <-vector 2 > 2 >= 2 = 2 hash 2 hd 1 hdv 1 hdstr 1 head 1 if 3 include 1 in-package 1 integer? 1 internal 1 intern 1 inferences 0 input 1 input+ 2 implementation 0 include-all-but 1 @@ -75,7 +75,7 @@ language 0 length 1 limit 1 lineread 1 list 1 load 1 < 2 <= 2 vector 1 macroexpand 1 map 2 mapcan 2 maxinferences 1 nl 1 not 1 nth 2 n->string 1 number? 1 occurs-check 1 occurrences 2 occurs-check 1 open 2 optimise 1 or 2 os 0 package 3 package? 1 port 0 porters 0 pos 2 preclude-all-but 1 - print 1 pprint 1 profile 1 print-prolog-vector 1 print-freshterm 1 printF 1 + print 1 profile 1 print-prolog-vector 1 print-freshterm 1 printF 1 prolog-memory 1 profile-results 1 pr 2 ps 1 preclude 1 preclude-all-but 1 protect 1 put 4 read-file-as-string 1 read-file-as-bytelist 1 read-file 1 read 1 read-byte 1 read-from-string 1 read-from-string-unprocessed 1 read-unit-string 1 receive 1 release 0 remove 2 @@ -104,7 +104,7 @@ string->symbol sum subst string? string->n stream string stinput sterror stoutput step spy specialise snd simple-error set save str run reverse retract remove release read receive read-file read-file-as-bytelist read-file-as-string read-byte read-from-string read-from-string-unprocessed package? put preclude preclude-all-but ps prolog? - protect profile-results profile prolog-memory print pprint pr pos porters port package output out os or + protect profile-results profile prolog-memory print pr pos porters port package output out os or optimise open occurrences occurs-check n->string number? number null nth not nl mode macroexpand maxinferences mapcan map make-string load loaded list lineread limit length let lazy lambda language is intersection inferences intern integer? input input+ inline include include-all-but it is is! in in-package internal implementation if diff --git a/sources/prolog.shen b/sources/prolog.shen index c7dbeae..e699143 100644 --- a/sources/prolog.shen +++ b/sources/prolog.shen @@ -155,9 +155,6 @@ (defcc X := X where (semicolon? X);) -(define semicolon? - X -> (= X (intern ";"))) - (define horn-clause-procedure F Clauses -> (let Bindings (gensym (protect B)) Lock (gensym (protect L)) diff --git a/sources/reader.shen b/sources/reader.shen index 1bbad1e..2a2c941 100644 --- a/sources/reader.shen +++ b/sources/reader.shen @@ -556,10 +556,6 @@ (define shen-call? F -> (and (symbol? F) (internal-to-shen? (str F)))) -(define internal-to-shen? - (@s "shen." _) -> true - _ -> false) - (define application? [protect _] -> false [foreign _] -> false