All the details on how to do a good and efficient security design for
computing is already discovered and covered by a patent but no one states
how this works and although we have CHERI, they seem to miss the point.
This or similar is the absolute best approach that, with a sane political
will, wi
It's part of the blog, computers tab, I see guile scheme as an art and have
a few suggestions of great improvements for it. But you have to demand
those features if you like it. And if you do not see we have some serious
issues in the world, just ignore it as much as you like. Enjoy your
sleep...
as a team ... Please copy to anyone that you think should read
this.
Copyright
July, 2023 Stefan Israelsson Tampe
Oh, the happy ending, here is the explanation of how nature works ;-)
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage
I replaced google with chatGPT and it's really good to help with issues you
have in your work. As an example our IT department stopped us from
installing eclipse plugins from the marketplace and I was just lost getting
no help from googling. So I just asked ChatGpt how to install gradle
without usi
I diffed against master, it should be main ... attached again a diff file.
one-shot-cont.diff.gz
Description: application/gzip
Hello guilers!
I was wondering if we should make an effort to replace guile's C-based write
function with a more "schemy" solution that allows us to use write/display
on
large scheme data structures without stalling the fibers system and be very
fast and feature rich at the same time.
I did a tak
fan Israelsson Tampe schreef op wo 08-06-2022 om 01:07 [+0200]:
> > https://gitlab.com/tampe/guile-persist/-/tree/master/ice-9
> > https://gitlab.com/tampe/guile-persist/-/tree/master/src/write
> >
> > I'm wondering if I should make a C library for other projects to take
>
After finishing a fast writer that balances the use of C and scheme in such
a way so that you do not need to spend a long time in C, and all custom
hooks are on the scheme level meaning a much more customizable and hackable
reader as well as performant.
Why not everything in scheme. Well C code ca
Better link,
http://itampe.com/printing-doubles.html
-- Forwarded message -
From: Stefan Israelsson Tampe
Date: Sat, May 21, 2022 at 3:15 PM
Subject: Printing Numbers Can Be Much improved
To: guile-devel
I estimate that writing a lot of real numbers from e.g. a double vector
http://itampe.com/display-strings.html
I estimate that writing a lot of real numbers from e.g. a double vector
will be much faster if we put some love into it. Here is why,
http://itampe.com/category/computers.html
Hi!
I have managed to code a printer in scheme that is suspendable e.g. no
jumping back and forth between scheme and C unless you use custom old port
p printers or smob printers. This system also works nicely with a soft port
construction I have that is completely written in scheme. So when one us
I did a take to make the soft-ports suspendable and here is an idea,
http://itampe.com/suspendable-soft-ports.html
Let me know if you are interested, I could refactor out these files to a
project of their own, but really something like this should be in guile.
Enjoy,
http://itampe.com/association-performans-test.html
a lookup is done 100 000 000 times, i will clarify.
On Fri, Apr 22, 2022 at 4:32 AM William ML Leslie <
william.leslie@gmail.com> wrote:
>
>
> On Fri, 22 Apr 2022, 7:46 am Stefan Israelsson Tampe, <
> stefan.ita...@gmail.com> wrote:
>
>> This is a nice
This is a nice idea for to hash tables for 0-256 elements (perhaps even 512)
http://itampe.com/category/computers.html
Hi,
I have a feature request (one shot continuations)!
See
http://itampe.com/one-shot-continuations.html
This is the final suggestion for a new hastable implementation in guile.
I have now blogged about it :-) at
http://itampe.com/hash-tables.html
Enjoy!
;; First of some benchmarking to show of some code
(define n 1000)
(define (test)
(with-stis-hash ((h ref))
(let lp ((i 0) (s 0))
(if (< i n)
(lp (+ i 1) (+ s (ref h (modulo i 1000
s
(define (test2)
(let lp ((i 0) (s 0))
(if (< i n)
(lp (+
Hi all,
After optimising the hashtable implementation I conclude the following,
1. + 0.25s 10M lookups in small hashtable (0.36s for guiles current)
2. + 6X faster for a large table scanning numbers
3. + The general hash interface is faster also because it does not call SCM
from C
4. + fast (2X)
I can now demonstrate that the hash implementation is around as fast as
guile internal implementation. But for some workloads like if we have a
hash with millions of elements. And lookups a working set of about 1
key hash pairs the speed is doubled compared to guiles internal. Now this
is maybe
from working a bit with huge hashmaps I started to look into the usage
scenario of small hashmaps that are referenced a lot of time. And to
benchmark those I was led to study simple assoc lists.
The observations I found,
1. Call overhead is too large for a simple lookup. It comes from computing
th
Here is an idea for guile hash tables.
So consider n bins,
struct bin x[n];
where the bin is defined by,
struct bin
{
unioni m128 m,
SCM h,
SCM v,
}
and the matching structure is a MMS friendly datastructure
union m128
{
uint8_t v[16];
uint128_t x;
. Can you see what I
am doing?
On Thu, Feb 24, 2022 at 1:07 AM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> High all,
>
> I have taken the task to study a possible hash table implementation mostly
> in scheme but still speedy. I am still experimenting with diff
High all,
I have taken the task to study a possible hash table implementation mostly
in scheme but still speedy. I am still experimenting with different
approaches. With managing code and iteration higher order functions in
scheme and lower order implemented in C. I can match current hash
implemen
the hashx-* functions for
> daredevils and for future srfi needs) is the way to go.
>
> Best regards
> Linus Björnstam
>
> On Mon, 21 Feb 2022, at 14:18, Stefan Israelsson Tampe wrote:
> > A datastructure I fancy is hash tables. But I found out that hashtables
> &
Hi,
I did some research about guile's hashtables and have tried a few versions
of it in guile scheme from using enormous macro expansions to goops object
oriented layers. What I found is
1. For small hashtables, scheme based solutions are superior to C based
2-3X faster for a hastables of size 40
A datastructure I fancy is hash tables. But I found out that hashtables in
guile are really slow, How? First of all we make a hash table
(define h (make-hash-table))
Then add values
(for-each (lambda (i) (hash-set! h i i)) (iota 2000))
Then the following operation cost say 5s
(hash-fold (lam
i am now experimenting with the new generator infrastructure to see how
much actual python on guile code is sped up. In the process I am optimizing
a lot of stuff regarding python for loops. But some irritating things
remain.
My number 1 anger is that a iterator can throw an exception as a way to
elimited continuation we are talking about 6-7s.
On Sun, Feb 13, 2022 at 11:31 AM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> (define (f x)
> (let lp ((i 0))
> (if (< i 10)
> (begin
> (pk 'value-from-parent (pause x i))
>
(define (f x)
(let lp ((i 0))
(if (< i 10)
(begin
(pk 'value-from-parent (pause x i))
(lp (+ i 1))
(define (test-1)
(let ((x (make-pause-stack))
(ret 0))
(let lp ((i 0))
(let-values (((k x) (resume x (- i
(cond
((= k
-- Forwarded message -
From: Stefan Israelsson Tampe
Date: Sat, Feb 12, 2022 at 5:04 AM
Subject: Re: Pausable continuations
To: Vijay Marupudi
I would say that they represent the same idea but that using separate
stacks is an optimization and I intended to explore what to
gain
The case with A simple loop of 20M operations are now down to 0.3 s that's
almost 20X improvements over
the best delimited continuation example (6s). Cpython takes 0.5s!
On Fri, Feb 11, 2022 at 1:10 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Hmm, I can improve
ime. 8.894807s spent in GC.
So we are actually around 12X faster.
(define (test2)
(let lp ((k f2))
(let ((k (call-with-prompt prompt k (lambda (k) k
(if k (lp k) #f
On Fri, Feb 11, 2022 at 1:06 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> I managed to make
have above.
On Thu, Feb 10, 2022 at 4:19 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> I did some benchmark, consider this code below. Let's turn off the jit.
> Then
> a 20M loop using normal delimited continuations yields,
>
> ;; 7.866898s real time,
p (+ i 1))
(define (test2)
(let lp ((k f))
(call-with-prompt prompt k lp)))
On Thu, Feb 10, 2022 at 2:07 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Consider a memory barrier idiom constructed from
> 0, (mk-stack)
> 1. (enter x)
> 2. (pause x)
> 3
Consider a memory barrier idiom constructed from
0, (mk-stack)
1. (enter x)
2. (pause x)
3. (leave x)
The idea is that we create a separate stack object and when entering it, we
will swap the current stack with the one in the argument saving the current
stack in x and be in the 'child' state and
Hmm just why conditionals use begin and not let,
On Sun, Feb 6, 2022 at 11:49 AM wrote:
> On Sun, Feb 06, 2022 at 10:45:54AM +0100, Linus Björnstam wrote:
> > You need to use ,optimize.
>
> Thanks you both, Maxime and Linus, for giving me a new lantern :)
>
> Cheers
> --
> t
>
s a foo!") foo))
> > > ((_ goo)
> > > (begin (pk "it's not a foo ...") goo
> > >
> > > (define (zebra stripes)
> > > (if stripes
> > > (define foo 'quux)) ;; <--- ###
> > > (foo
For conditional variables you gave a default value. So then why on earth do
you not have an implicit let ?
There must be a good reason.
On Sat, Feb 5, 2022 at 12:39 AM Maxime Devos wrote:
> Stefan Israelsson Tampe schreef op vr 04-02-2022 om 22:40 [+0100]:
> > Anyhow conditional defi
-- Forwarded message -
From: Stefan Israelsson Tampe
Date: Fri, Feb 4, 2022 at 10:40 PM
Subject: Re: Fwd: [Patch] definitions in when, unless, do as well as in
cond- and case-clauses
To: Maxime Devos
I tested and yes you are right, in guile conditionals do not have this
-- Forwarded message -
From: Stefan Israelsson Tampe
Date: Thu, Feb 3, 2022 at 5:41 PM
Subject: Re: [Patch] definitions in when, unless, do as well as in cond-
and case-clauses
To: Linus Björnstam
using an implicit let in conditionals are bad in that you cannot
escape from the
Hi all,
I have streamlined my c-based superfast vector copy lib in
stis-supervectors to get a self contained c-file that generates
*vector-copy! that handles all types of bytevectors and SCM vectors, can
have different directions can have different endianes and can have
arbitrary intervals like py
Hi all, just made some docs for stis-engine e.g. a pipelining framework
used ontop of fibers.
So now you can move your big data applications to guile :)
See, https://gitlab.com/tampe/stis-engine/-/tree/master/doc
2021 at 6:55 PM Stefan Israelsson Tampe <
> stefan.ita...@gmail.com> wrote:
>
>> I'm now satisfied enough to release a first version of stis-supervectors
>> v0.0.1
>>
>> The idea for the project is to explore data structures that can handle
>>
I'm now satisfied enough to release a first version of stis-supervectors
v0.0.1
The idea for the project is to explore data structures that can handle
large vector-like constructs in a better way than just a pure vector.
Especially having boilerplate to properly make vector operations that are
fas
Sep 28, 2021 at 10:15:30AM +0200, Stefan Israelsson Tampe wrote:
> > Why is (min (inf) 1) = 1.0 inexact?
>
> Because inf's result is inexact. The same as (min 3 3.5) is inexact,
> too.
>
> It seems that the `inexactness' is contagious across arithmetic
> generics
Why is (min (inf) 1) = 1.0 inexact?
in python on guile you can do,
def g(yield_fkn,x):
yield_fkn(x+1)
yield_fkn(x+2)
and
def f(l):
for x in l:
g(yield,x)
and this extension works like this in python on guile
list(f([1,2])
--> [1,2,2,3]
Nifty right. This is thanks to the superb infrastructure in
scheme (selimit
usy loop
to essentially be as fast as if we
did a logxor in a single loop of a bytevector which you can get at
100-200Mops per second. This can go much
faster like 1-2G ops per second if we push it to C.
On Thu, Sep 2, 2021 at 5:45 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wro
> On 8 Sep 2021, at 04:04, Stefan Israelsson Tampe
> wrote:
>
>
> ...
>
>
> So using get-setter typically means
> ((get-setter #f bin1 #f
>(lambda (set) (set v 2 val)))
>
>#:is-endian 'little ;; only consider little endian setters
> lik
When I made this code work I will start examine the impact of the design. I
suspect that it will, for complex cases
if not compiled be way slower then the compiled part and this is really the
hot path. For one thing, we will create 2 closures that
allocates memory at each iteration if not inlined.
That's the plan!
On Thu, Sep 2, 2021 at 5:45 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Hi guilers!
>
> My next project is to explore a more advanced bytevector structure than
> today's bytevectors.
> I think tha
Hi
Maybe you will not know it but bit vectors are sometimes a very good match
to represent sets where the world is defined from the beginning. a world of
64 objects can represent subsets of this world as a uint64_t in other words
the unit our cpu's are so darn fast at managing. So whenever you pl
objects as elements
h) allow chunked bitvectors and chunked bitvector operations
i) docs like readme
Project:
https://gitlab.com/tampe/stis-supervectors/-/tree/main
On Thu, Sep 2, 2021 at 5:54 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Oh I just created the project
I will just let you know that
abs((- i1 i2)) does not work is some cases on 3.0.7 , i will track this
down a bit more but later
Hi guilers!
My next project is to explore a more advanced bytevector structure than
today's bytevectors.
I think that having this infrastructure in guile and core code taken
advantage of it like having strings otop of it and allowing our string
library to use those (the difficult case is probably
Oh I just created the project, you can follow it here:
https://gitlab.com/tampe/stis-supervectors
On Thu, Sep 2, 2021 at 5:45 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Hi guilers!
>
> My next project is to explore a more advanced bytevector structure
Hi guilers!
I am now happy to announce the first version 0.1 stis-engine. With this
tool you can manage data streams with quite good throughput.
Example:
Consider a case with streaming objects over the network and allow to have a
prefix of the
stream where you control what kind of serializer are
text address ip-server?))
;; send a mesage that is not compressed
> (client "abc")
"abc"
> (length (client (iota 100) #:compress? #t))
100
in a run fibers context
On Wed, Aug 25, 2021 at 12:25 AM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> w
I have now made a fiber enables stream library called fpipe in my
stis-engine repository see
https://gitlab.com/tampe/stis-engine/-/tree/master/
The idea is to focus on a high performance byte streaming library on top of
wingo's fibers library and make heavy use of bytevector buffers. We will
als
l-map h1
#:do-lam #t)
#:j 1
#:map h2) 2))
On Sun, Aug 8, 2021 at 10:27 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> I will start the development of stis-engine that is based on fibers and
> will experiment with applications that separate int
will replace the current dump
and load with this in the end. Also this tool
will be added to the fiber piping system I am working with in stis-engine.
On Sat, Aug 14, 2021 at 2:07 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Next is to add support for
>
Okej the system starts to shape up. After some intensive hacking I managed
to make a toolbox for piping binary and scheme streams.
Currently it can pipe a list of 1000 000 elements typically around 1-4s.
see https://gitlab.com/tampe/stis-engine
On Sun, Aug 8, 2021 at 10:27 PM Stefan Israelsson
I will start the development of stis-engine that is based on fibers and
will experiment with applications that separate into different network
components.
Among things I plan to add serializers, deserializers, zipping and zero mq
networking that works
with fibers. E.g. we will stream things with f
-- Forwarded message -
From: Stefan Israelsson Tampe
Date: Sat, Jun 19, 2021 at 1:23 PM
Subject: Re: guile style
To: Tim Van den Langenbergh
I'm a big fan of named let's which are a very general functional construct
and tons of commentaries
about the functional st
ndicate, perhaps that would amount to efficiently compiling
> let/ec.
>
> Best regards,
> Mikael
>
> On Sat, Apr 24, 2021 at 5:19 PM Stefan Israelsson Tampe <
> stefan.ita...@gmail.com> wrote:
>
>> Guile is 3x faster then fastest python-on-guile which
Python List lookup is 2x slower now than cpython. Tuple lookup is slightly
faster.
On Fri, 23 Apr 2021, 17:01 Mikael Djurfeldt wrote:
> Hi,
>
> Yesterday, Andy committed new code to the compiler, some of which
> concerned skipping some arity checking.
>
> Also, Stefan meanwhile committed somethi
for 3x speedwise, but it may
hinder optimisations that may yield a speedup of that factor.
On Sat, Apr 24, 2021 at 5:19 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Guile is 3x faster then fastest python-on-guile which is 2x faster then
> python3 Cpython
>
> a
Guile is 3x faster then fastest python-on-guile which is 2x faster then
python3 Cpython
attached is a guile corresponding program.
On Sat, Apr 24, 2021 at 4:41 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> To note is that 'continue' is killing performance
let/ec is probably not optimally compiled. Python-on-guile will
check the loop for continue usage and if not then it will skip the let/ec.
I attached the code not using continue
On Sat, Apr 24, 2021 at 2:59 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Actually changing
Actually changing in (language python compile),
(define (letec f)
(let/ec x (f x
To
(define-syntax-rule (letec f)
(let/ec x (f x
Actually lead to similar speeds as python3.
On Sat, Apr 24, 2021 at 1:26 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Pro
Pro tip, when running this on guile the scheme code that it compilse to is
located in log.txt.
If you ,opt the resulting code in a guile session you might be able to
pinpoint issues that
delays the code execution.
On Sat, Apr 24, 2021 at 12:04 PM Mikael Djurfeldt
wrote:
> (I should perhaps add t
Om du vill kan du göra en update på guile and guile-persists, börjar bli
bra nu.
On Sun, Apr 18, 2021 at 12:12 AM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> I have continued to debug python for guile 3.1 and I am now getting much
> less warnings and also I can run te
less tested.
I will not release a new version of python immediately as I continue to
work on making the new version more robust against the 3.1 target and will
try to continue to reduce the test cases that fail.
On Sat, Apr 17, 2021 at 2:30 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> w
Hi,
I released a new tag of my python code that basically is a snapshot of a
work in progress.
This release includes
* pythons new match statement
* dataclasses
* Faster python regexps through caching and improved datastructures
* Numerous bug fixes found while executing the python unit tests.
The source is at, https://gitlab.com/tampe/scheme-python
Hi,
I am the author of python-on-guile and I just took out the scheme
infrastructure for python and put it is a self contained project of not too
large size. It does not have a python compiler and cannot use python code.
So scheme only.
You can find the project at
docs for the interfaces is most
-- Forwarded message -
From: Stefan Israelsson Tampe
Date: Sat, Sep 12, 2020 at 5:12 PM
Subject: Re: What is the point of bytevectors?
To: Linus Björnstam
If you want to handle e.g. raw data bytevectors is a must. You will find
that you need it when working with binary files
Hi,
This is an interesting release as I'm starting to get the cpython's unit
tests to work. Still remains a lot of work but much more is now working
according to the CPython standard.
Next up is getting all unit tests for the test framework to pass. Then to
get as much as possible of the CPython
done, all now have tags 1.2.3
On Tue, Jun 23, 2020 at 2:54 PM Marius Bakke wrote:
> Stefan Israelsson Tampe writes:
>
> > Hi,
> >
> > I just tagged a minor release python on guile v1.2.3 that mainly is
> > bugfixes an implementation of pythons ctypes ontop of gu
Hi,
I just tagged a minor release python on guile v1.2.3 that mainly is
bugfixes an implementation of pythons ctypes ontop of guiles ffi layer.
Happy Hacking!
I just released a version of python on guile that I think i much more fast
in execution of the attribute lookup than before and also I think that this
is one of the more correct versions and decided to freeze it into a
release. Not much more feature wise than just speedier and slots
implemented. Pl
25, 2020 at 6:27 PM zimoun wrote:
> Dear,
>
> Thank you for this interesting work.
>
>
> On Fri, 10 Apr 2020 at 15:41, Stefan Israelsson Tampe
> wrote:
>
> > I'm pleased to announce python on guile 1.2. This version increases the
> > correctness of the p
I have this (on guile 3.0.0),
(define (f x) (call-with-values (lambda () x) (case-lambda ((x) ...) (x
...)
and the code does not simplify to (define (f x) x), why?
It would be great to have guile optimize this as in python we have
x=1,0
=> x=(1,0)
And the great thing with python on guile i
Hi
I'm pleased to announce python on guile 1.2. This version increases the
correctness of the parser as well as adding quite a number of system py
files that compiles as an example the we can now generate python ast from
the compiler. Also some work to improve speed have been done.
Python on guil
Hi all,
Now in corona times I'm working quite a lot with python-on-guile fixing
bugs in the parser and compiler. Trying to add and test more python
modules. My test case is to get IPython running on python on guile. Some of
the python library code is very advanced python so getting it working is a
same module, which makes it
> implicitly boxed. Slow unless guile is able to do unboxing...
>
> Ludo used the trick here:
> http://git.savannah.gnu.org/cgit/guile.git/commit/?id=bf1f5422bdb364667d6761dd73454558d6dbf895
>
> --
> Linus Björnstam
>
> On Wed, 12 Feb 2020, at 18:
Hi,
Here is a repository for enabling or hindering aggressive inlining of
guile-3.0 code. We may use it for discussions of how one could do these
things. Perhaps wingo will change the compiler, but I got the instruction
to code around it and this tool is what I ended up with.
https://gitlab.com/t
Hi all,
Current guile inlines even variables exposed in the module interface, and I
understand that we must live with that and code around it. So here is a few
tips how to mitigate it.
The simplest way is to put this definition in a module:
(define-module (syntax not-inli
This does not look right (for guile 3.0.0)
-
;b.scm:
(define-module (b)
#:export (%f g))
(define %f 1)
(define (g)
(pk %f))
-
;c:scm:
(define-module (c)
#:use-module (b)
#:export (f))
(define (f x)
(set! %f x)
(g))
---
-- Forwarded message -
From: Stefan Israelsson Tampe
Date: Fri, Jan 24, 2020 at 12:42 PM
Subject: Re: Announcing the first stable release of guile-for-loops
To: Linus Björnstam
Would be cool to have those implemented in guile, that would make my
guile-syntax-parse a bit leaner
I just managed to get guile-log running under guile 3.0.
yay!
On Thu, Jan 16, 2020 at 12:04 PM Andy Wingo wrote:
> We are delighted to announce GNU Guile release 3.0.0, the first in the
> new 3.0 stable release series.
>
> Compared to the previous stable series (2.2.x), Guile 3.0 adds support
>
Many thanks wingo and team, really great work!!
On Thu, Jan 16, 2020 at 6:56 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Actually the change of adding a binding resulted in a change in python on
> guile. There the python module which is compiled to a minimal l
Actually the change of adding a binding resulted in a change in python on
guile. There the python module which is compiled to a minimal lisp (and not
tree il) needed to import the else binding.
Den tor 16 jan 2020 12:04Andy Wingo skrev:
> We are delighted to announce GNU Guile release 3.0.0, the
go wrote:
> On Tue 14 Jan 2020 21:13, Stefan Israelsson Tampe
> writes:
>
> > Okey, here is another case that fails with the patch that prevents
> identity misses for toplevels e.g we need similar fixes for anonymous
> functions.
> >
> > (define-module (b)
> >
ill be affected by the change.
>
> ** Improve SRFI-43 vector-fill!
>
> SRFI-43 vector-fill! now has the same performance whether an optional
> range is provided or not, and is also provided in core. As a side
> effect, vector-fill! and vector_fill_x no longer work on non-vector
>
I'll apply your patch and see if it works. After reading it more carefully
I think I understand your decrement count. Nice code!
On Tue, Jan 14, 2020 at 5:36 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> 1. I don't understand why you decrement the count in op
procedure equality below?
>
> I would have preferred to postpone the release and drop procedure
> equality, procedure-properties etc. It can be handy and convenient, yes,
> but there is a reason why R6RS didn't require (eq? p p) -> #t...
>
> Best regards,
> Mikael
&g
-- Forwarded message -
From: Stefan Israelsson Tampe
Date: Tue, Jan 14, 2020 at 5:23 PM
Subject: Re: GNU Guile 2.9.9 Released [beta]
To: Mikael Djurfeldt
This is how it always have been in guile, without this patch you cannot use
procedure-property, use a function as a key to
1 - 100 of 445 matches
Mail list logo