Well, the idea was to produce something that could be called as a
function from basic, because the function calling syntax is cool and
convenient in a lot of cases, but that could also be used in a I-type.
For things to work in SUBR in an i-type, you need that extra parameter.
Of course you could maintain two versions--a simple function, and then a
subroutine wrapper around the function to use in the i-type. I was
trying to avoid that.
And, if you're using universe, you can just use the function in the
i-type anyway.

The more I see of it, the more unidata feels like universe's really poor
relative.
Which begs the question--given a choice, why would one pick unidata over
universe?

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of 
> Burwell, Edward
> Sent: Thursday, June 23, 2005 6:04 PM
> To: '[email protected]'
> Subject: RE: [U2] Custom Functions
> 
> 
> Interesting.  But you NEED that extra parameter?  I tried 
> DEFFUNing a SUBROUTINE that has only 1 parameters and could 
> not get it to work.
> 
> If your FUNCTION sets any of the parameters, you can CALL It 
> from UniBasic
> -- and you don't have to DEFFUN it.
> 
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Thursday, June 23, 2005 5:52 PM
> To: [email protected]
> Subject: RE: [U2] Custom Functions
> 
> 
> I think it's a universe/unidata difference. I get the 
> segmentation fault running unidata in ecl type U as well. 
> Here's some interesting info and an ugly hack--in unidata. 
> Apparently, the keywords SUBROUTINE and FUNCTION are 
> interchangable as far as BASIC is concerned, so create a subroutine
>       SUBROUTINE MYHACK(A,B)
>       A=B*2                   ;* note that we both assign the result
> to a parameter AND return the result
>       RETURN A
> Then you can call it as a function with
>       PROGRAM HACKTEST
>       DEFFUN MYHACK(A,B)
>       CRT MYHACK('',2)        ;* <--- there's the hack. You need that
> placeholder parameter
> Or use it as a subroutine:
>       PROGRAM HACK2
>       CALL MYHACK(A,2)
>       CRT A
> Or from a virtual attribute:
>       I
>       SUBR('MYHACK',EXTRACT(@RECORD,1,0,0))
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of 
> > Burwell, Edward
> > Sent: Thursday, June 23, 2005 4:09 PM
> > To: '[email protected]'
> > Subject: RE: [U2] Custom Functions
> > 
> > 
> > I've never seen this asterisk thing on the front of a
> > cataloged program. I've never had to do that in UniData.  I 
> > can call a SUBROUTINE fine from a Virtual attribute no 
> > problem - and not asterisk.  Could it have something to do 
> > with the fact that we run BASICTYPE 'p' and ECLTYPE 'p'?
> > 
> > -----Original Message-----
> > From: gerry-u2ug [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, June 23, 2005 1:41 PM
> > To: [email protected]
> > Subject: RE: [U2] Custom Functions
> > 
> > 
> > globally catalogued as in CATALOG SUB.BP *MYFUNC ?
> > so you should be using : SUBR("*MYFUNC","Y")
> > 
> > we do this all the time in universe since at least v7
> > 
> > 
> > 
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] Behalf Of
> > Burwell, Edward
> > Sent: Thursday, June 23, 2005 10:46 AM
> > To: [email protected]
> > Subject: RE: [U2] Custom Functions
> > 
> > 
> > Here is a sample:
> > 
> > MYFUNC looks like:
> > 
> > 001 FUNCTION MYFUNC(ARG)
> > 002 RETURN (ARG="Y")
> > 003 END
> > 
> > MYFUNC is globally cataloged
> > 
> > DICT FILE TEST looks like:
> > 
> > 001 V
> > 002 SUBR("MYFUNC","Y")
> > 003
> > 004
> > 005 1R
> > 006 S
> > 
> > when I LIST FILE TEST, I get a Segmentation fault(coredump)
> > and it dumps me into Unix.
> > 
> > -----Original Message-----
> > From: Ray Wurlod [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, June 23, 2005 1:22 AM
> > To: [email protected]
> > Subject: RE: [U2] Custom Functions
> > 
> > 
> > Try using the SUBR() function, as I mentioned in another post.
> > 
> > ----- Original Message -----
> > From: "Burwell, Edward" <[EMAIL PROTECTED]>
> > To: "'[email protected]'" <[email protected]>
> > Subject: RE: [U2] Custom Functions
> > Date: Wed, 22 Jun 2005 19:49:44 -0400
> > 
> > > 
> > > I've tried "calling" functions from UniData Virtual
> > Attribute and they
> > blow
> > > up.  Bummer.
> > -------
> > u2-users mailing list
> > [email protected]
> > To unsubscribe please visit http://listserver.u2ug.org/
> > 
> > 
> ______________________________________________________________________
> > This e-mail has been scanned by MCI Managed Email Content
> > Service, using
> > Skeptic(tm) technology powered by MessageLabs. For more 
> > information on MCI's Managed Email Content Service, visit 
> > http://www.mci.com. 
> > 
> ______________________________________________________________________
> > -------
> > u2-users mailing list
> > [email protected]
> > To unsubscribe please visit http://listserver.u2ug.org/
> > -------
> > u2-users mailing list
> > [email protected]
> > To unsubscribe please visit http://listserver.u2ug.org/
> > 
> > 
> ______________________________________________________________________
> > This e-mail has been scanned by MCI Managed Email Content
> > Service, using
> > Skeptic(tm) technology powered by MessageLabs. For more 
> > information on MCI's Managed Email Content Service, visit 
> > http://www.mci.com. 
> > 
> ______________________________________________________________________
> > -------
> > u2-users mailing list
> > [email protected]
> > To unsubscribe please visit http://listserver.u2ug.org/
> -------
> u2-users mailing list
> [email protected]
> To unsubscribe please visit http://listserver.u2ug.org/
> 
> ______________________________________________________________________
> This e-mail has been scanned by MCI Managed Email Content 
> Service, using
> Skeptic(tm) technology powered by MessageLabs. For more 
> information on MCI's Managed Email Content Service, visit 
> http://www.mci.com. 
> ______________________________________________________________________
> -------
> u2-users mailing list
> [email protected]
> To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to