From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Christopher Lam Newsgroups: gmane.lisp.guile.user Subject: srfi-9 vs make-record-type Date: Sun, 21 Jul 2019 10:20:29 +0000 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="230126"; mail-complaints-to="usenet@blaine.gmane.org" To: guile-user Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sun Jul 21 12:21:10 2019 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hp8xq-000xlS-2M for guile-user@m.gmane.org; Sun, 21 Jul 2019 12:21:10 +0200 Original-Received: from localhost ([::1]:55276 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hp8xo-0004mU-F0 for guile-user@m.gmane.org; Sun, 21 Jul 2019 06:21:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56223) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hp8xf-0004m7-KF for guile-user@gnu.org; Sun, 21 Jul 2019 06:21:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hp8xe-0006ex-Er for guile-user@gnu.org; Sun, 21 Jul 2019 06:20:59 -0400 Original-Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]:39551) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hp8xe-0006e2-7S for guile-user@gnu.org; Sun, 21 Jul 2019 06:20:58 -0400 Original-Received: by mail-ed1-x535.google.com with SMTP id m10so38145069edv.6 for ; Sun, 21 Jul 2019 03:20:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=g6PDRHb6BMNwXZu10CBzw3pOMgR9K8a7ObXDtT22Scw=; b=Y4SJOtR0xlLgvlrguFWLJnt7LrgYUDqI1nAWnD3/26zabIG9ITr74kMwE1U0GeLE5l uQKaVNhDiVRjT6snYG58SMFus2+n4cMQfK1K9tEC8EcRq37mzPsGbwocAR0p6sC84pG6 rsf8NOy9DlmjRdp+BtlMOgxMpUIGEEZeMQFj5/1BQoc+dRI31ZcY81qw5BvbVW3sF/zt bcAk4HpZv8dSnlTXmG/nzih1+sAjMWc397Dhlm2d5T7xLobmT/Xfkrwm5w6+sNGsQEy7 7WSIWxxzYuLZP/tk2kYXfTMwdPQMbXEHbWBkaG0ZeR+EWGIZ93Qmle8dTShf6rFVgZtn WNCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=g6PDRHb6BMNwXZu10CBzw3pOMgR9K8a7ObXDtT22Scw=; b=Rmoj0b3lG2sc/Up0ob4l2Rn61MWEd+zUS11F8URuLoszLV4f8kivGYv/1qIZi5vwGs Sqg873NFInxtE4YLDJV3Fx41Q4YwKJvtkiLRYoUr5s0Nac6eDardrP46fepcpdMTk7Jh DTB2KcTg9u5ZNV/Bzz+5ZaW4u9VYmUYv2zzePVYS9sSQLE0dmf7ivmhAOW4veJILbsm/ d6BMAAU1+2llQ8agk3SrA77oh8ZU4aCnwOfFWOx+WSdDmEQ+BIlR5L6RClnpuzeJHBi8 BBeCDauigTO8jt6Pc7FBtOC0CrJCLc66LUES9HIZ3UmVtViT9Le+2Snf7FQihhTVd6ax ropw== X-Gm-Message-State: APjAAAUDPfzQi2+qBAsHLpOitZBDEhf6rXO69UsMX+l8rJYvubm78Zgs ios7cgufS8KRBaxKwfkZxxLIJ9rOoxb1B9F5Txe0C7ceGKM= X-Google-Smtp-Source: APXvYqyyFrnqSixnzxBolPPNSlPIAVSnm4KiPXAAkiVFmOn80l88S3EJOigB4cGCJEbQ1zyKNnlHoGektNiGVugoT1k= X-Received: by 2002:aa7:cdc6:: with SMTP id h6mr54864838edw.5.1563704456050; Sun, 21 Jul 2019 03:20:56 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::535 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:15655 Archived-At: Hi All In experiments converting legacy code to use srfi-9 records, I'm finding the latter doesn't travel well across modules. See simple code below -- m1.scm runs fine however m2.scm borks when creating srfi-9 record object Any clue why srfi-9 can't be exported? For various reasons I must keep (load "module.scm") mechanism ----m1.scm follows---- (use-modules (srfi srfi-9)) (define-record-type (make-person name age) person? (name person-name set-person-name!) (age person-age set-person-age!)) (define (make-record-type "pet" '(name age))) (define make-pet (record-constructor )) (define pet? (record-predicate )) (define pet-name (record-accessor 'name)) (define pet-age (record-accessor 'age)) (define set-pet-name! (record-modifier 'name)) (define set-pet-age! (record-modifier 'age)) (export make-person) (export make-pet) (display "pet ") (let ((pet2 (make-pet "milou" 7))) (display (pet-name pet2))) (display ", person ") (let ((person2 (make-person "james" 54))) (display (person-name person2))) (newline) ----m2.scm follows---- (load "m1.scm") (display "in m2:") (newline) (display "pet ") (let ((pet2 (make-pet "milou" 7))) (display (pet-name pet2))) (display ", person ") (let ((person2 (make-person "james" 54))) (display (person-name person2))) (newline) -------------------------------- $guile m1.scm runs successfully pet milou, person james $guile m2.scm first runs m1.scm but fails to recognise the srfi-9 make-person exists: pet milou, person james in m2: pet milou, person Backtrace: 6 (apply-smob/1 #) In ice-9/boot-9.scm: 705:2 5 (call-with-prompt _ _ #) In ice-9/eval.scm: 619:8 4 (_ #(#(#))) In ice-9/boot-9.scm: 2312:4 3 (save-module-excursion _) 3831:12 2 (_) In /home/chris/sources/caca/m2.scm: 8:15 1 (_) In unknown file: 0 (_ "james" 54) ERROR: Wrong type to apply: #