ideas for guile prolog

2010-08-11 Thread Stefan Israelsson Tampe
Hi, I have been walking alot outside and thinking. The question is what can be special with hammering prolog into scheme. And one thing come to my mind Continuations Let's think about continuations. It's all about storing the state associated with a call so that we can replay it's evaluation.

postpone discussion.

2010-08-15 Thread Stefan Israelsson Tampe
Hi, I just want to mention that I really wan't input from more people. Therefore I highlighted the postpone facility I made on Advogato to see if I can get any reactions. I've tried on the #prolog list as well and got some clues from them. But as far as I understand the postpone facility is

Re: postpone discussion.

2010-08-28 Thread Stefan Israelsson Tampe
On Saturday, August 28, 2010 07:26:06 pm you wrote: On Sun 15 Aug 2010 06:26, Stefan Israelsson Tampe stefan.ta...@spray.se writes: Probably for some interesting applications there will be a hughe demand on memory. And Keeping the redo tree slim can have a great cost benefit. I believe

match-abs

2010-08-29 Thread Stefan Israelsson Tampe
Hi, I've hacked on extension on ice-9/match for making modular matching possible with a reasonable interface. Here is an example, ;; new version of match with modular matching abatractions see ;; http://gitorious.org/guile-unify/guile- unify/blobs/master/module/ice-9/match-abs.scm (use-modules

Re: match-abs

2010-09-01 Thread Stefan Israelsson Tampe
On Tuesday, August 31, 2010 12:55:15 am Ludovic Courtès wrote: Hmm, sorry, I don’t understand what you mean here. Can you come up with a simpler example? What does ‘’ mean? Is there a connection between occurrences of ‘op’ in patterns and the fact that the procedure is bound to ‘op’?

Re: match-abs

2010-09-01 Thread Stefan Israelsson Tampe
On Tuesday, August 31, 2010 04:42:36 pm Ludovic Courtès wrote: BTW I added a small section in the manual describing (ice-9 match): http://git.savannah.gnu.org/cgit/guile.git/commit/?id=358663caf54994e2b7d0 c2eb1dd8ce8794116971 Comments improvements welcome! Thanks, Ludo’. I agree

size of fixnums

2010-09-01 Thread Stefan Israelsson Tampe
Hi, I noticed that sending a fixnum 6bytes long to guile returned a truncated fixnum of 4 of 4 bytes. I guess that this would not break the numeriks but it looks like we are wasting space here and/or clock cycles. The suspicius part is line 66 in numbers.h #define SCM_MOST_POSITIVE_FIXNUM

Re: match-abs

2010-09-02 Thread Stefan Israelsson Tampe
On Thursday, September 02, 2010 05:59:59 pm Ludovic Courtès wrote: Hi Stefan, Stefan Israelsson Tampe stefan.ta...@spray.se writes: Anyway consider a list [a a b b] and let a be a function so that (a [a a b b]) - (cons [a a] [b b]) (b [b b]) - (cons [b b] []) e.g. a macthes

Re: match-abs

2010-09-02 Thread Stefan Israelsson Tampe
On Thursday, September 02, 2010 05:59:59 pm Ludovic Courtès wrote: Hmm. So IIUC, the sub-pattern ‘( a a.r1)’ matches anything that is a match according to custom matcher ‘a’, and binds the sub-match ‘r1’ of ‘a’ to ‘a.r1’, right? Hmm maybe need to clarify a.r1 is just a variable name a is a

new match system bug?

2010-09-04 Thread Stefan Israelsson Tampe
Hi, While eating the dogfood of the new match macro I come across a bug e.g, this does not work! (match '(a b) ((and x (a ... b)) a)) But using the attached patch, it works!! Note. This should be interesting for upstreams maintainers. /Regards Stefan diff --git a/module/ice-9/match.scm

Re: new match system bug?

2010-09-04 Thread Stefan Israelsson Tampe
On Saturday, September 04, 2010 02:44:49 pm Ludovic Courtès wrote: Hello! Stefan Israelsson Tampe stefan.ta...@spray.se writes: While eating the dogfood of the new match macro I come across a bug e.g, this does not work! (match '(a b) ((and x (a ... b)) a)) But: scheme@(guile

Re: new match system bug?

2010-09-04 Thread Stefan Israelsson Tampe
On Saturday, September 04, 2010 02:44:49 pm Ludovic Courtès wrote: Hello! Stefan Israelsson Tampe stefan.ta...@spray.se writes: While eating the dogfood of the new match macro I come across a bug e.g, this does not work! (match '(a b) ((and x (a ... b)) a)) But: scheme@(guile

Re: new match system bug?

2010-09-04 Thread Stefan Israelsson Tampe
On Saturday, September 04, 2010 05:00:31 pm Ludovic Courtès wrote: Hi Stefan! Stefan Israelsson Tampe stefan.ta...@spray.se writes: How true, It's just that the code we took has an extension with a Bug in it. It was intended to work for that case as well. From match.upstream.scm

Where the next effort in prolog will be and a cool match hack!!

2010-09-09 Thread Stefan Israelsson Tampe
for guile (Stefan Israelsson Tampe) ;; Modifying upstream version (match.upstream.scm) by Alex Shinn ;; 2010/08/29 - match abstractions and unquote added (define-module (ice-9 match-phd) #:use-module (srfi srfi-9) #:export (match-define match-let* match-let match-letrec match-lambda

Re: Where the next effort in prolog will be and a cool match hack!!

2010-09-13 Thread Stefan Israelsson Tampe
Hi Alex, On Monday, September 13, 2010 04:32:13 am Alex Shinn wrote: On Fri, Sep 10, 2010 at 6:15 AM, Stefan Israelsson Tampe stefan.ta...@spray.se wrote: I just wanted to share some ideas that come to my mind to churn the prolog into something more useful. Have you played with schelog

FOL

2010-09-16 Thread Stefan Israelsson Tampe
Hi, I got the prolog parser reporting syntax errors for prolog programs. It's soo nice to have an small analysis and a position where the error is located. With this I can take on writing more complex prolog programs. An example that is in the pipe is a FOL (first order logic) theorem solver,

Re: FOL

2010-09-16 Thread Stefan Israelsson Tampe
What are your plans for your Prolog compiler, in terms of releases, merges, and whatnot? :-) This is on my list before I think that it will be merged/released a beta 1. I'm in the process to replace the matchers with modified Shinn. The main problem using prompts is that I don't get tail

The progress of hacking guile and prolog

2010-10-21 Thread Stefan Israelsson Tampe
Hi, I think it's good to discuss what I do with the prolog and unifer. So this is what I've been doing. 1. Incorporate a theorem prover for extension and playing 2. Kanren like hygienic macro package 3. Make the c-code variables printable and hence much less segfaults at bt :-) e.g. robustify

Re: The progress of hacking guile and prolog

2010-11-04 Thread Stefan Israelsson Tampe
On Thursday, November 04, 2010 12:43:54 am Ludovic Courtès wrote: Hi Stefan, Lots of stuff here, which is why I took the time to read it. :-) Stefan Israelsson Tampe stefan.ita...@gmail.com writes: 1. The theorem prover (leanCop) is a nice exercise [...] 2. Kanren is a nice way

Re: record-case?

2010-11-05 Thread Stefan Israelsson Tampe
On Friday, November 05, 2010 09:53:15 pm Noah Lavine wrote: Hello, I was just reading module/language/tree-il/compile-glil.scm, and I noticed it used a construct called 'record-case'. It looked neat, but I didn't see documentation for it in any of the obvious places in the manual (the

Re: The progress of hacking guile and prolog

2010-11-05 Thread Stefan Israelsson Tampe
Ok, for the c generator, here are some code attached. I would just study this there is bit's still missing and you need to wait for me to dig up the details. My point is to suggest ideas for what can be done. I don't assume that this is it. But it's a nice playing ground. So it is a hack, here

Re: The progress of hacking guile and prolog

2010-11-10 Thread Stefan Israelsson Tampe
On Thursday, November 04, 2010 03:40:09 am Noah Lavine wrote: Hello all, Not to derail the thread of discussion, but I've had an idea for a feature bouncing around that I think might hook into this. I think that Guile should offer optional static checking - not just of types, but of

Typechecking I

2010-11-15 Thread Stefan Israelsson Tampe
Hi, Ok, here is a first step to analyse code. Note, attached to the mail is a modul /put it at a suitable place and fixup the reference for the module. Then use e.g. (check '(if 1 1 1)) and you will get the output you see further down in the email. We will assume that local variables in the

Re: GLIL-C compilation

2010-11-19 Thread Stefan Israelsson Tampe
On Saturday, November 20, 2010 12:11:16 am Ludovic Courtès wrote: Hi, Stefan Israelsson Tampe stefan.ita...@gmail.com writes: #include cfkn.h #define LOCAL_REF(i) fp[i] #define LOCAL_SET(i,v) fp[i] = (v) void cfkn3676(SCM *fp, SCM **spp) { /* setup of environment

Re: The progress of hacking guile and prolog

2010-11-24 Thread Stefan Israelsson Tampe
Hi Noah, On Wednesday, November 24, 2010 02:54:37 am Noah Lavine wrote: Hello, That might make sense. The documentation certainly looks interesting. What I'm thinking of is like racket contracts, but with the idea of trusted modules, which might involve static checking. For instance, if

piper schemigan

2010-11-24 Thread Stefan Israelsson Tampe
Hi, I'm very used to take the standart output and pipe it to grep and friends. So I searched for this feature and I think scsh is the correct way to make this happen. But it have been bitrotted. So I've hacked the sorces to. Use guile syntax-define and cut out defmacro and friends Use guile

Re: piper schemigan

2010-11-26 Thread Stefan Israelsson Tampe
On Thursday, November 25, 2010 10:17:44 pm Ludovic Courtès wrote: +1 for reviving Guile-SCSH! Ludo’. yay, Well all this stems from me littering development code with printf or pk's or pretty-pk's and then add tags to it. Then I usually work in bash and mongle the output at my will. So now I

how to exit?

2010-11-27 Thread Stefan Israelsson Tampe
Ok, say that one want to execute a scheme function, f, in a child process and then exit, somthing like this is used in scsh, first fork and if in chile (f) (exit 0) -- Now cause we are in dubug context in the repl, we get this Throw to key `quit' with args `(0)'. Entering a

Re: Guile-SCSH

2010-11-28 Thread Stefan Israelsson Tampe
On Sunday, November 28, 2010 11:30:05 pm Ludovic Courtès wrote: Hi! Stefan Israelsson Tampe stefan.ita...@gmail.com writes: Anyhow, I just checked in the current scsh in module/scsh in http://gitorious.org/guile-unify if there is a package you would like thean give me a hint. How

Re: Guile-SCSH

2010-11-29 Thread Stefan Israelsson Tampe
Hi Jao, You can send it to me, that's fine. I'll put a repo on gitorious and add that code there together with my suggested alternatives. Regards Stefan On Monday, November 29, 2010 12:24:28 am Jose A. Ortega Ruiz wrote: On Mon, Nov 29 2010, Stefan Israelsson Tampe wrote: [...] I

http://gitorious.org/guile-scsh/guile-scsh

2010-11-29 Thread Stefan Israelsson Tampe
Ok I put the code in a repo of it's own. So now this thingie is isolated. I don't now what to do about the licesning, I kept the COPYING as I should though. To use it, store it in a %load-path directory try (use-modules (scsh syntax)) and then (run (| (begin (pk 'wow) (pk 'vov)) (grep o)))

schelog like features in guile-unify

2010-12-12 Thread Stefan Israelsson Tampe
Hi, I would like to try explainng a little my hackings with guile-unify. I stoped and worked with a macro framework so that we can get more schemish doing our analysis. And the approach here is closer to racklog or schelog I think. The reason is to test all the core features and have some new

schelog repl.

2010-12-14 Thread Stefan Israelsson Tampe
Hi everybody. I'm just so satisfied with the progress that I just need to write this email to cool down a little and so that you don't need to comment on the glitches present before :-) So, here is a script of a session, nomenclature: (exec (v ...) code ...) - binds initiates global schelog

trying to make fmt work under guile

2010-12-30 Thread Stefan Israelsson Tampe
Hi, I'm trying to package the fmt library. And have it compiling it's working on a simple test case. (I'll need it to produce nicely formatted c-code) I still need to export some symbols. But it seams to work at least in initiall test eh, actually just one simple test case :-). To note. 1. I

Re: trying to make fmt work under guile

2011-01-03 Thread Stefan Israelsson Tampe
First of all, thanks for the answer :-) On Monday, January 03, 2011 07:03:28 pm Andreas Rottmann wrote: Stefan Israelsson Tampe stefan.ita...@gmail.com writes: Hi, I'm trying to package the fmt library. Note that there's already an R6RS adaption of fmt as part of the Wak project [0

Re: Immediate pointers

2011-01-31 Thread Stefan Israelsson Tampe
Hi, I cannot say that I'm in the tag savy bin. But out of the box I remember that I kind of needed this in the guile-unify project. The solution I'm trying there is to look at address ranges when checking for the object type and use that to dispatch to a unify object or to work with a SCM

syntax-source

2011-04-16 Thread Stefan Israelsson Tampe
Hi, I want to get source location of a macro form and played a little with syntax-source. This should then print out something. (define-syntax + (lambda (x) (syntax-case x () ((o a b) (pk (syntax-source x)) #'(+ a b) (+ 1 2) In trying to use the location of x

macro fu question

2011-04-25 Thread Stefan Israelsson Tampe
Hi, I'm working on a small environment to verify macros like the syntax-parse framework. The idea is to use the tools I've already made for guile/scheme. I will explain this a little more in detail if anyone is interested. Here I just focus here on a question about how to use the macro system to

scheme - c

2011-04-25 Thread Stefan Israelsson Tampe
as of version 0.8) /Stefan stack.clam Description: Binary data /* Copyright: Stefan Israelsson Tampe Licence : LGPL, any version. */ const int stack__size = 1024; #line 0 typedef struct stack { int size; char * data; char * pt; stack ** head

Some guile-unify activities

2011-05-06 Thread Stefan Israelsson Tampe
Hi, Just wanted to chime in and tell you a little about what I'm doing with the guile-unify package. First off, this is a tool to do backtracking effectively e.g. tree searches and make heavy use of dynamic variables. There is three activities ongoing. 1. type-checking examples 2. first

Re: Some guile-unify activities

2011-05-09 Thread Stefan Israelsson Tampe
at 5:52 PM, Andy Wingo wi...@pobox.com wrote: Hi Stefan, Thanks for this mail, it's interesting. On Fri 06 May 2011 23:18, Stefan Israelsson Tampe stefan.ita...@gmail.com writes: It would be good if there was a standard way to enter type information in guile and if that information could

guile-syntax-parse

2011-05-09 Thread Stefan Israelsson Tampe
Hi, check out guile-syntax-parse at https://gitorious.org/guile-syntax-parse/guile-syntax-parse (You have to patch some ice-9 routines to make this work (syntax-expression and syntax-object? need to be in the environment - the files are included) So by writing #| Syntax parse examples |#

Re: Some guile-unify activities

2011-05-09 Thread Stefan Israelsson Tampe
I looked in psyntax.scm, I should be able to add some extra fields to the tree-il representation as you wish. I will have a try of it I think that what I'm primarily interested in is a way to annotate tree-il with type information, which the compiler may use to generate more efficient code.

Re: Some guile-unify activities

2011-05-10 Thread Stefan Israelsson Tampe
wingo wrote: Just to warn you that I'm fairly opinionated about these things; your patch may or may not make it in. You will also need to change It's better to code and loose then never code at all jokes aside, I'll will take this in small smelling shebackas. Main point is not me coding, the

scheme problem!

2011-05-12 Thread Stefan Israelsson Tampe
Somewhere in the program I have, (pk x) (pk (caar l)) (pk (equal? x (caar l))) It outputs ;;; (number) ;;; (number) ;;; (#f) #f is there more to this then meets the eye? /Stefan

Re: redoing SCM representation in 2.2

2011-05-12 Thread Stefan Israelsson Tampe
Looks interesting. I would like to reserve an object for the stack machine I use. Actually I will be fine to model the prolog engine ontop of your segestion if it was not for one idea. So you have a layout of this (X Tag14 Data Tag8) Consider a the following tag in Tag14, frame-tag. Then Data

Re: scheme problem!

2011-05-12 Thread Stefan Israelsson Tampe
Oh well, I found the issue. It was because of my special system. The printed representation of unify variables that point to a point to a point to a symbol got printed as a symbol. I really need to tweak the output to hint if it is a unify variable. And if wingo managed to squeeze in tagging - so

Associate type information to tree-il expansions

2011-05-14 Thread Stefan Israelsson Tampe
Hi, For the sake of discussion. I've tried to implement a let directive where we type the variable like (macroexpand '(let ((A : integer 1)) A)) $2 = #tree-il (let (A) (#{A 110}#) ((const 1)) (lexical A #{A 110}#) (integer)) So we see how we specify a type of A as integer and that this

guile unify further improvements.

2011-05-25 Thread Stefan Israelsson Tampe
Coding has been gong on many levels. 1. A macro validator and error reporting mechanism similar but simpler then syntax-parse has been tested 2. A macro framework to generate c-code form scheme forms using fmt and scheme macros has been developed this macro system has good error reporting and

c-code hacking made fun

2011-06-17 Thread Stefan Israelsson Tampe
and local then the tree will organize itself so that the hot set migrates quickly to the top of the tree. License: LGPL, Copyright: Stefan Israelsson Tampe |# (init-clambda-scm) (auto-defs) ;(clambda-add (cpp-include header.h)) ;; Accessors (define-syntax get-tree (syntax-rules

scheme prolog compiled to c

2011-07-16 Thread Stefan Israelsson Tampe
Hi, *** fun fun fun and a lot of sun *** I know have a macro package that can output guile-log to c-code directly. The key ingredients to make this work is to have tail call macros via trampolines and closures. With this one can device a macro framework that outputs directly to C. The code look

lighter prompts?

2011-07-18 Thread Stefan Israelsson Tampe
I noted that prompts in guile-2.0 is quite heavy e.g. using vanilla setjmp facilities. So if I'm not miss-taken a prompt will save several machine registers. Is this really needed? Why I am asking is that everything looks the same after a prompt returns e.g. basically setting up registers from

Some indications of bottlenecks and how to solve them for guile unify backtracking.

2011-08-10 Thread Stefan Israelsson Tampe
Hi, I wanted to show off dome recent findings. During this summer I have made a macro package to output a scheme like language to c-code including simple closures not supporting set! and tail call. With this tool I made another macro package to do backtracking using CPS. It all works and is a

Kanren and guile-log

2011-08-12 Thread Stefan Israelsson Tampe
Hi, I have read the source code for kanren and want to put the system in relation to the work I have been doing which I will call guile-log. So the basic difference between kanren and guile-log are that kanren is general and guile log is close to two orders of magnitude faster on either the VM

example of typechecking in guile

2011-08-12 Thread Stefan Israelsson Tampe
Hi, I hope I'll not spam the list, but I wanted to show off a simple example of the type checking done for guile. It follows typed racked features. What's missing is the possibility to typecheck e.g. map with arbitrary many arguments. But recursive types are in and seems to work. What needs to

some further improvements

2011-09-21 Thread Stefan Israelsson Tampe
Dear guile developers. I've been hacking along with on the prolog stuff and has introduced several improvements that code appart from squashing a bug from time to time. This is a little headlight on the improvements: 1. dynamic-wind is possible, that flows with the backtracker One of the

Re: A Plan for Hacking

2011-09-26 Thread Stefan Israelsson Tampe
I'm also interested in what Stefan Tampe is doing, because I believehe's implementing a formal logic system in Guile. Stefan, does yourproject connect to this one? Yes I'm implementing the leanCop first order logic prover. Now this might not be the same as implementing a new Coq system. I don't

memory leak

2011-10-23 Thread Stefan Israelsson Tampe
Hi, Regarding the observed leaks in guile. A question is if this is due to some kind of memory fragmentation more then a pure memory leak. In the observed bug where in constructing and droping threads, one can see that memory leaks dramatically and 2Gig is consumed after about 2000 constructed

Re: Associate type information to tree-il expansions

2011-11-24 Thread Stefan Israelsson Tampe
On Wed, Nov 23, 2011 at 11:04 PM, Andy Wingo wi...@pobox.com wrote: Stefan, I must apologize for not responding to your mails! Or rather, for responding so late. Apologies in any case. np On Sat 14 May 2011 20:57, Stefan Israelsson Tampe stefan.ita...@gmail.com writes: (macroexpand

Re: guile-syntax-parse

2011-11-24 Thread Stefan Israelsson Tampe
:47 PM, Andy Wingo wi...@pobox.com wrote: On Mon 09 May 2011 14:11, Stefan Israelsson Tampe stefan.ita...@gmail.com writes: Hi, check out guile-syntax-parse at https://gitorious.org/guile-syntax-parse/guile-syntax-parse How is this going? Are you still using it? You didn't get any

guile-syntax-parse

2011-11-27 Thread Stefan Israelsson Tampe
Oh, let me refrace the previous mail and sebnd it to guuile devel also! -- Forwarded message -- From: Stefan Israelsson Tampe stefan.ita...@gmail.com Date: Sun, Nov 27, 2011 at 4:03 PM Subject: Re: guile-syntax-parse To: Andy Wingo wi...@pobox.com On syntax parse, Syntax parse

syntax-local-value

2011-12-04 Thread Stefan Israelsson Tampe
In looking at racket syntax-parse there seems to be some advanced macrology that is not included in guile. The light now is on the possibility to attach data to macros. I figure that I could reproduce this by using a weak hash-table but miss the functionality of syntax-local-value e.g.

Re: syntax-local-value patch for discussion

2011-12-09 Thread Stefan Israelsson Tampe
Hi, On Thu, Dec 8, 2011 at 10:58 PM, Ian Price ianpric...@googlemail.comwrote: Stefan Israelsson Tampe stefan.ita...@gmail.com writes: So I tried to get hold of the macro binding. So with the following patch wich should be enogh for me to make progress porting rackets syntax parse

bound identifiers

2012-01-16 Thread Stefan Israelsson Tampe
why are these two not equal in the sense of bound-identifier=? #(syntax-object x ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((m1104 top)) #(i1105))) (hygiene guile-user)) #(syntax-object x ((#f top) shift #(ribcage () () ()) #(ribcage #(x) #((m1104 top)) #(i1105))) (hygiene

Re: bound identifiers

2012-01-16 Thread Stefan Israelsson Tampe
working. Mayby just writing a version from scratch would be better. /Stefan On Mon, Jan 16, 2012 at 10:28 PM, Andy Wingo wi...@pobox.com wrote: On Mon 16 Jan 2012 20:46, Stefan Israelsson Tampe stefan.ita...@gmail.com writes: why are these two not equal in the sense of bound-identifier

Re: bound identifiers

2012-01-17 Thread Stefan Israelsson Tampe
Yes! see attachement! /Stefan On Tue, Jan 17, 2012 at 12:30 AM, Andy Wingo wi...@pobox.com wrote: On Mon 16 Jan 2012 22:56, Stefan Israelsson Tampe stefan.ita...@gmail.com writes: As you see, it's just wild west to get the racket code working. :) Can you give a stripped-down test case

Re: syntax-local-value patch for discussion

2012-01-19 Thread Stefan Israelsson Tampe
Hi, Working on porting syntax-parse is a learning experience and I know understand how it uses syntax-local-value as a way to lookup a syntax object by joining the wraps together with the total wrap at the macro call. The question is if this really are the total wrap e.g. contains the history of

Compiler Warning message ideas

2012-01-22 Thread Stefan Israelsson Tampe
When compiling newest stable-2.0 I noticed, wrote `ice-9/eval.go' GUILEC ice-9/psyntax-pp.go GC Warning: Repeated allocation of very large block (appr. size 69632): May lead to memory leak and poor performance. wrote `ice-9/psyntax-pp.go' E.g. basically making a thread allocates a large

rackets syntax parse

2012-01-22 Thread Stefan Israelsson Tampe
Hi All, I just want to announce the port of racket's syntax-parse that I host at, https://gitorious.org/guile-syntax-parse/guile-syntax-parse (LGPL v.2) To run it you will need syntax-local-binding (stable-2.0) which may or may not be released with the next upcoming version of guile. It

Re: syntax-local-value patch for discussion

2012-01-23 Thread Stefan Israelsson Tampe
:50, Stefan Israelsson Tampe stefan.ita...@gmail.com writes: Working on porting syntax-parse is a learning experience and I know understand how it uses syntax-local-value as a way to lookup a syntax object by joining the wraps together with the total wrap at the macro call. syntax-local

rackets syntax parse

2012-01-25 Thread Stefan Israelsson Tampe
I got it working with an old version of guile but have problem with newest stable-2.0 I'll expand a macro #'(pk (syntax z)) and when evaluating this I get (#(syntax-object z ((m~TFEL$Gaj1u5PPt2i@IPCm top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(#{

Re: syntax-local-value patch for discussion

2012-01-26 Thread Stefan Israelsson Tampe
lists. This will perhaps fix the problems I have. /Stefan On Thu, Jan 26, 2012 at 12:31 PM, Andy Wingo wi...@pobox.com wrote: Hi Stefan, On Mon 23 Jan 2012 17:06, Stefan Israelsson Tampe stefan.ita...@gmail.com writes: and when parse is ready to unpack S we could have S = #(syntax-object

Re: rackets syntax parse

2012-01-27 Thread Stefan Israelsson Tampe
representation. The only caveat is some usage of syntax-local-binding. Regards Stefan On Thu, Jan 26, 2012 at 12:36 PM, Andy Wingo wi...@pobox.com wrote: On Wed 25 Jan 2012 21:37, Stefan Israelsson Tampe stefan.ita...@gmail.com writes: I got it working with an old version of guile but have problem

Re: rackets syntax parse

2012-02-04 Thread Stefan Israelsson Tampe
Hi all, Things is going well with syntax parse and the part working is continuously increasing One question that I now struggeling is this. I have a macro expansion that looks like #'(begin (define f fkn-definition) (define-syntax name (make-syntax-case-transformer

Re: rackets syntax parse

2012-02-07 Thread Stefan Israelsson Tampe
On Tue, Feb 7, 2012 at 10:37 PM, Andy Wingo wi...@pobox.com wrote: On Sat 04 Feb 2012 21:31, Stefan Israelsson Tampe stefan.ita...@gmail.com writes: #'(begin (define f fkn-definition) (define-syntax name (make-syntax-case-transformer (make-stxclass

Re: rackets syntax parse

2012-02-08 Thread Stefan Israelsson Tampe
: ;;; ERROR: Throw to key `vm-error' with args `(vm-run VM: Stack overflow ())' This codee compiles under On Tue, Feb 7, 2012 at 11:55 PM, Andy Wingo wi...@pobox.com wrote: On Tue 07 Feb 2012 22:58, Stefan Israelsson Tampe stefan.ita...@gmail.com writes: Just use #'f instead of (datum-syntax

Re: rackets syntax parse

2012-02-08 Thread Stefan Israelsson Tampe
-1375) (syntax identifier)) Something in the syntax structure has to be corrupt! On Wed, Feb 8, 2012 at 9:16 PM, Stefan Israelsson Tampe stefan.ita...@gmail.com wrote: I tried, got, new errors. it looks like if we have (syntax-case x () ((a b c) ...)) and if x is a list of syntax pattern

what's wrong with this

2012-03-11 Thread Stefan Israelsson Tampe
Hi, I wanted to enter meta data where the symbols are important into a syntax object and tried to be smart in doing that but stumbled on this because loading (a simplified example) the attached file I get an annoying error e.g. ERROR: bad src $7 = #(a (a b) (a (b c) #f)) So, what's up with

guile-contract guile-syntax-parse and clambda

2012-03-18 Thread Stefan Israelsson Tampe
Hi, I just wanted to mension three projects that I've been working on lately (as some of you alerady know) https://gitorious.org/guile-syntax-parse This is racket's syntax parse ported over to guile. It works now so well that I released a

syntax/loc

2012-03-18 Thread Stefan Israelsson Tampe
Hi, It is possible to get syntax location information via syntax-source, but trying to implement something like (define-syntax syntax/loc (syntax-rules () ((_ src stx) (let ((ret (syntax stx))) (set-syntax-source ret (syntax-source src)) ret I fail due to not

contract-out

2012-03-18 Thread Stefan Israelsson Tampe
Hi, I have an ideom that I wouldlike to model more clenaly. currently in guile-contract you do (contract-out-spec spec (f (- symbol? symbol?))) (define (f x) x) ... (contract-out spec) This way we f will be exported using the contract (- symbol? symbol?) e.g. it has to accept a symbol

with-contract issues

2012-03-18 Thread Stefan Israelsson Tampe
Hi, Trying to implement with-contract I would like to mod define into a new variant depending on if the symbol is a contracted variable or not, if it's a contracted variable one should translate the define according to (deifne f/contracted val) - (define-values () (begin (set! f/contracted val)

guile-unify - guile-log

2012-03-21 Thread Stefan Israelsson Tampe
Hi, If you wondered about the results of my endavour with logic programming for guile I finally made a repo that is self containd and does not mode guile (HORROR STORIES HERE) Anyway here is the link for the repo at gitorius, https://gitorious.org/gule-log/guile-log I just added a small repo

Inclusion of guile-log

2012-03-26 Thread Stefan Israelsson Tampe
Hello, I have now prepared guile-log in such a state that it is usable. The last item I would like to close is to document it and put it in relation with kanren. The software is pretty guile centric and the question is if we would like to bundle it with guile. There are always things to

Inclusion of guile-log II

2012-04-03 Thread Stefan Israelsson Tampe
Sorry I pushed the wrong key, I'll try again (sorry for spaming) The guile-log code is very dependent on guile! It's based on a c-file which uses guile C interface in order to get speedy and featureful at the same time. So basically I have no hope that this codebase could be independent from

Fwd: Inclusion of guile-log II

2012-04-04 Thread Stefan Israelsson Tampe
I missed to send this to guile-devel, sorry! -- Forwarded message -- From: Stefan Israelsson Tampe stefan.ita...@gmail.com Date: Wed, Apr 4, 2012 at 5:36 PM Subject: Re: Inclusion of guile-log II To: Mark H Weaver m...@netris.org Mark I must give you right, Actually

Re: Inclusion of guile-log II

2012-04-04 Thread Stefan Israelsson Tampe
On Wed, Apr 4, 2012 at 6:21 PM, Mark H Weaver m...@netris.org wrote: Hi Stefan, Did you intend to send this as private email? Wouldn't it be better to discuss this on the mailing list? Stefan Israelsson Tampe stefan.ita...@gmail.com writes: Because what would be cool though is to use

Fwd: Inclusion of guile-log II

2012-04-04 Thread Stefan Israelsson Tampe
I having a bad day, forgetting to mail the list as well :-( Anyway here is a missing bit in the conversation with mark! -- Forwarded message -- From: Stefan Israelsson Tampe stefan.ita...@gmail.com Date: Wed, Apr 4, 2012 at 10:23 AM Subject: Re: Inclusion of guile-log II To: Mark

Re: Inclusion of guile-log II

2012-04-05 Thread Stefan Israelsson Tampe
On Wed, Apr 4, 2012 at 11:52 PM, Ludovic Courtès l...@gnu.org wrote: Hi Stefan, Stefan Israelsson Tampe stefan.ita...@gmail.com skribis: If you want independence use kanren. For guile this approach is 10x faster then kanren and 10x slower that a compiled prolog. Previously I thought

Re: Inclusion of guile-log II

2012-04-06 Thread Stefan Israelsson Tampe
PM, Ludovic Courtès l...@gnu.org wrote: Hi Stefan, Stefan Israelsson Tampe stefan.ita...@gmail.com skribis: If you want independence use kanren. For guile this approach is 10x faster then kanren and 10x slower that a compiled prolog. Previously I thought that kanren has a more

Experiences with assq list and guile-log

2012-04-15 Thread Stefan Israelsson Tampe
Hi, I've looked at one benchmark for the einstein case. (some numbers are from my memory) compiled prolog 12-14ms guile-log, stack-based, with added vm ops 30-40ms kanren, compiled chicken ~250ms guile-log, stack based, 250ms guile-log, assq-based 500ms kanren on guile 2000ms kanren on

simple syntax expression faiilure,

2012-04-19 Thread Stefan Israelsson Tampe
Is this a bug? scheme@(guile-user) [5] #`(#,#'a #,@#'a) ERROR: Syntax error: unknown location: source expression failed to match any pattern in form (a a) Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. /Stefan

Re: simple syntax expression faiilure,

2012-04-21 Thread Stefan Israelsson Tampe
,@) and #'a is only the syntax object of the symbol a instead of a list. If you say #`(#,#'a #,@#'(a)) it works. Daniel On Thu, Apr 19, 2012 at 10:17 PM, Stefan Israelsson Tampe stefan.ita...@gmail.com wrote: Is this a bug? scheme@(guile-user) [5] #`(#,#'a #,@#'a) ERROR: Syntax error

Re: simple syntax expression faiilure,

2012-04-22 Thread Stefan Israelsson Tampe
He, missed that one, /Stefan On Sun, Apr 22, 2012 at 1:14 AM, Ian Price ianpric...@googlemail.comwrote: Stefan Israelsson Tampe stefan.ita...@gmail.com writes: Hmm so it's impossible to create syntax objects of the type #'(a b c . d) A pity Did you try it? works fine for me

vm ops and threading discussion for guile-log

2012-04-24 Thread Stefan Israelsson Tampe
Hi, i hope that I do not bore you with continuing talking about guile-log. But one of the things brought up by Mark, and rightly so, are that having the fundaments of logic programming based on a stack compared to assq lists or similar more scalable functional data structures makes it

Continuing experiences with guile log optimisations

2012-04-30 Thread Stefan Israelsson Tampe
Hi, I wanted to chime in with some notes about performance for guile-log and kanren on guile-log. For the einstein case, The story is that I compiled the c-code with -O3 and added faster versions with reduced call overhead for functions loaded from c under by using 5 extra vm instructions.

patch to guile to allow c-code closure interaction for logic programming

2012-05-09 Thread Stefan Israelsson Tampe
Hi all, I post here a directory of patches and code that can be used to enhance guile to interact nicely with logic programming code written in C. I can reach very good performance using this tool please have a look and comment on it. To note. It does interact with the vm code, but it will not

Re: Register VM WIP

2012-05-11 Thread Stefan Israelsson Tampe
Hi, This looks very good. i like the hole approach and this approach has the potential to address most of the issues I have seen when disassembling guile-2.0 output. A few notes. 1. What about growing stacks any coments if they will be easier to manage for this setup. Can one copy the C stack

how to implement mutual recursive parsers in syntax-parse

2012-05-14 Thread Stefan Israelsson Tampe
I do have a cludgy fix for this but are in search for a better solution. consider the problem: (define-syntax-class a (pattern (1 x:b)) (pattern ())) (define-syntax-class b (pattern (2 x:a)) (pattern ())) the syntax class definitions above would expand to something like (begin (define

terribly complex syntax objects in syntax parse

2012-05-14 Thread Stefan Israelsson Tampe
Hi, syntax-parse is kind of heavy right now. The parser function produced are huge and the main reason is that the stored syntax objects are enormous. I know that Mark Weaver had done something to make these creatures less fatty. The question is if there is anything a guile user can do? Regards

  1   2   3   4   >