Re: [Dorset] Meeting last night

2011-10-11 Thread Adrian Howard

On 10 Oct 2011, at 19:56, Ralph Corderoy wrote:
[snip]
 A nice description of Lua 5's implementation, including its hybrid
 hash-table/array implementation, and using a register-based VM compared
 to its earlier stack-based VM as Python and Perl still use.
 http://www.jucs.org/jucs_11_7/the_implementation_of_lua/jucs_11_7_1159_1176_defigueiredo.html
[snip]

Niggle ;-) 

Perl 4/5 doesn't really have a VM per se. The code is turned into a syntax tree 
that's then walked at runtime. See http://perldoc.perl.org/perlcompile.html.

AFAIK the various Perl 6 implementations are focused on register based VMs like 
Parrot (http://en.wikipedia.org/wiki/Parrot_virtual_machine).

Cheers,

Adrian
-- 
http://quietstars.com adri...@quietstars.com twitter.com/adrianh
t. +44 (0)7752 419080 skype adrianjohnhoward del.icio.us/adrianh




--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


[Dorset] Netbook

2011-10-11 Thread greg oconnell
Someone has passed me a Samsung NC10 with a wrecked Windows XP on it.  

What would be the best Linux distro to put on it, I do use Ubuntu 11.04 on my 
desktop.

 
Greg



--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


Re: [Dorset] Meeting last night

2011-10-11 Thread Ralph Corderoy
Hi Adrian,

 On 10 Oct 2011, at 19:56, Ralph Corderoy wrote:
  A nice description of Lua 5's implementation, including its hybrid
  hash-table/array implementation, and using a register-based VM
  compared to its earlier stack-based VM as Python and Perl still use.
  http://www.jucs.org/jucs_11_7/the_implementation_of_lua/jucs_11_7_1159_1176_defigueiredo.html

 Niggle ;-)

You're among pedants here.  :-)

 Perl 4/5 doesn't really have a VM per se. The code is turned into a
 syntax tree that's then walked at runtime. See
 http://perldoc.perl.org/perlcompile.html.

Yes, you're right, it does walk the syntax tree and not turn it into
bytecode that's then run on the VM, like Python, I should have been more
precise.  But the operations carried out are at the level of bytecode
instructions, and they operate on a data stack, e.g. `multiply' pops the
top two items and pushes the result so I still think the evaluation is
stack-based rather than Lua's registers or Parrot.

Here's the stack contents and the operation from perl's -D option that
I've then annotated on the right.

$ perl -Dst -e 'sub f() {my($a, $b) = @_; $a * 42 + $b} f(9, 13)' 21 |
 expand |
 awk '/=/ {printf %-44s, $0; next} 1' |
 sed -n '/=/s/(-e:.) *//p'
=  enter
=  nextstate
=  pushmark
=  *   const(IV(9))
=  *  IV(9)const(IV(13))
=  *  IV(9)  IV(13)gv(main::f)
=  *  IV(9)  IV(13)  GV()  entersub   # f(9, 13)
=  IV(9)  IV(13)   nextstate
=  pushmark
=  *   gv(main::_)
=  *  GV() rv2av
=  *  IV(9)  IV(13)pushmark
=  *  IV(9)  IV(13)  * padsv($a)
=  *  IV(9)  IV(13)  *  UNDEF  padsv($b)
=  *  IV(9)  IV(13)  *  UNDEF  UNDEF   aassign# my($a, $b) = @_
=  nextstate
=  padsv($a)
=  IV(9)   const(IV(42))
=  IV(9)  IV(42)   multiply   # $a * 42
=  IV(378) padsv($b)
=  IV(378)  IV(13) add# ... + $b
=  IV(391) leavesub
=  IV(391) leave
$

And for completeness, Python's bytecode.

 from dis import dis
 def f(a, b): return a * 42 + b
...
 def g(): f(9, 13)
...
 dis(f)
  1   0 LOAD_FAST0 (a)
  3 LOAD_CONST   1 (42)
  6 BINARY_MULTIPLY
  7 LOAD_FAST1 (b)
 10 BINARY_ADD
 11 RETURN_VALUE
 dis(g)
  1   0 LOAD_GLOBAL  0 (f)
  3 LOAD_CONST   1 (9)
  6 LOAD_CONST   2 (13)
  9 CALL_FUNCTION2
 12 POP_TOP
 13 LOAD_CONST   0 (None)
 16 RETURN_VALUE


Cheers, Ralph.

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


Re: [Dorset] Netbook

2011-10-11 Thread Martin Settle
I don't know the specs on the NC10, but I have found the Ubuntu Netbook
Remix to be very usable on my older Aspire One.


On Tue, Oct 11, 2011 at 6:13 AM, greg oconnell greg.oconn...@yahoo.co.ukwrote:

 Someone has passed me a Samsung NC10 with a wrecked Windows XP on it.

 What would be the best Linux distro to put on it, I do use Ubuntu 11.04 on
 my desktop.


 Greg


 
 --
 Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
 Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
 How to Report Bugs Effectively:  http://goo.gl/4Xue

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


[Dorset] OT(ish): IDL

2011-10-11 Thread Terry Coles
Hi,

This query is a bit work and Windows related, but AFAIK crosses over into 
Unix/Linux.

At work we help to maintain the IEEE 1641 Standard (http://www.eads-
tes.com/Standards/IEEE1641/IEEE1641.htm) and I am currently writing a 
Validation Spec for compliant solutions.

Part of the Standard includes a requirement for support for Interface 
Description Language 
(http://en.wikipedia.org/wiki/Interface_description_language) from the 
Distributed Computing Environment Specification which is maintained by The 
Open Group.

We have always used MS Visual Studio to utilise IDL in our tools, but now I 
need to identify alternative and cross-platform tools to compile an IDL file 
and also to compile a program that uses an IDL file to define its API with 
system drivers.

Can anyone tell me:
1.  Is IDL generally used outside of MS and / or Windows?
2.  If so, are there alternative tools to manipulate it?
3.  Are any of those tools available on Unix/Linux platforms?

All help gratefully received.

-- 
Terry Coles
64 bit computing with Kubuntu Linux

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


Re: [Dorset] OT(ish): IDL

2011-10-11 Thread Ralph Corderoy
Hi Terry,

 Part of the Standard includes a requirement for support for Interface
 Description Language
 (http://en.wikipedia.org/wiki/Interface_description_language) from the
 Distributed Computing Environment Specification which is maintained by
 The Open Group.

(That link's about IDLs in general, not DCE's.)

 We have always used MS Visual Studio to utilise IDL in our tools, but
 now I need to identify alternative and cross-platform tools to compile
 an IDL file and also to compile a program that uses an IDL file to
 define its API with system drivers.
 
 Can anyone tell me:
 1.  Is IDL generally used outside of MS and / or Windows?

I rarely hear of it anymore.  DCE originated outside of MS and they used
bits of it.  There's bound to be legacy Unix stuff still based on it and
some new in-house code by existing users may continue using it.

 2.  If so, are there alternative tools to manipulate it?

The Open Group made the source available for their programs I think, and
it was forked at one point because there was going to be a licence
change.

 3.  Are any of those tools available on Unix/Linux platforms?

http://www.opengroup.org/dce/mall/
http://freedce.sf.net/

The latter includes a yacc(1) grammar for an IDL compiler.


http://freedce.git.sourceforge.net/git/gitweb.cgi?p=freedce/freedce;a=blob;f=freedce/idl/acf_y.y;h=7fc2bb4b86e8fcc8ff8b85d85b876c233e1aec37;hb=HEAD

The grammar proper starts at line 265.

Cheers, Ralph.

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


Re: [Dorset] OT(ish): IDL

2011-10-11 Thread Terry Coles
On Tuesday 11 Oct 2011, Ralph Corderoy wrote:
  Part of the Standard includes a requirement for support for Interface
  Description Language
  (http://en.wikipedia.org/wiki/Interface_description_language) from the
  Distributed Computing Environment Specification which is maintained by
  The Open Group.
 
 (That link's about IDLs in general, not DCE's.)

True, but there is a link to DCE on that page.

  We have always used MS Visual Studio to utilise IDL in our tools, but
  now I need to identify alternative and cross-platform tools to compile
  an IDL file and also to compile a program that uses an IDL file to
  define its API with system drivers.
  
  Can anyone tell me:
  1.  Is IDL generally used outside of MS and / or Windows?
 
 I rarely hear of it anymore.  DCE originated outside of MS and they used
 bits of it.  There's bound to be legacy Unix stuff still based on it and
 some new in-house code by existing users may continue using it.

So how do Unix/Linux progams export their interfaces?  In MS VisualStudio, I 
can click on a function or method and right-click to get the interface.

  2.  If so, are there alternative tools to manipulate it?
 
 The Open Group made the source available for their programs I think, and
 it was forked at one point because there was going to be a licence
 change.
 
  3.  Are any of those tools available on Unix/Linux platforms?
 
 http://www.opengroup.org/dce/mall/
 http://freedce.sf.net/
 
 The latter includes a yacc(1) grammar for an IDL compiler.
 

 http://freedce.git.sourceforge.net/git/gitweb.cgi?p=freedce/freedce;a=blob
 ;f=freedce/idl/acf_y.y;h=7fc2bb4b86e8fcc8ff8b85d85b876c233e1aec37;hb=HEAD
 
 The grammar proper starts at line 265.

Thanks.

-- 
Terry Coles
64 bit computing with Kubuntu Linux

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


Re: [Dorset] OT(ish): IDL

2011-10-11 Thread Ralph Corderoy
Hi Terry,

  I rarely hear of it anymore.  DCE originated outside of MS and they
  used bits of it.  There's bound to be legacy Unix stuff still based
  on it and some new in-house code by existing users may continue
  using it.
 
 So how do Unix/Linux progams export their interfaces?  In MS
 VisualStudio, I can click on a function or method and right-click to
 get the interface.

Sorry, I don't know.  You'd have to find a DCE IDL-using program, e.g.
one doing some DCE RPC I guess, and see what it offers.  The textual IDL
file would be my first thought, or are you thinking there's a way to
interrogate a peer to determine the interface it offers at run-time?

It seems there is a big user still about today;  Samba since it has to
use MS-RPC which is derived from DCE/RPC, whether it's compatible I
don't know.  This should be an interesting read.
http://kganugapati.wordpress.com/2008/06/06/a-history-of-ms-rpc-and-open-source-equivalents/

I also found
http://www.opensource.apple.com/source/dcerpc/dcerpc-46/dcerpc/include/dce/rpc.idl
suggesting it may be used there.

Cheers, Ralph.

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


Re: [Dorset] OT(ish): IDL

2011-10-11 Thread Terry Coles
On Tuesday 11 Oct 2011, Ralph Corderoy wrote:
  So how do Unix/Linux progams export their interfaces?  In MS
  VisualStudio, I can click on a function or method and right-click to
  get the interface.
 
 Sorry, I don't know.  You'd have to find a DCE IDL-using program, e.g.
 one doing some DCE RPC I guess, and see what it offers.  The textual IDL
 file would be my first thought, or are you thinking there's a way to
 interrogate a peer to determine the interface it offers at run-time?

AIUI, the IDL file is compiled into a 'type library' which is somehow embedded 
into a Windows DLL or exe, so that and IDE tool can view the information.  I 
don't do this myself, but I've watched our programmers knock up quick and 
dirty code, just by looking at this info.

I was hoping that there would be more than just MS tools that could do this 
kind of thing, or at least compile an IDL file to check for errors.  I'll have 
a look at your other links tomorrow.

I did ask this quetion at a LUG Meeting recently although in a different form.  
I was asking if any of the IDE tools available on Linux, (eg Eclipse, 
KDevelop, etc) had this kind of functionality.  I don't think anyone knew at 
the time.  I've been unable to find anything in the Help or Docs for those 
tools, but maybe I'm searching for the wrong string.

How do Linux programmers write function calls?  Purely from the Docs?

-- 
Terry Coles
64 bit computing with Kubuntu Linux

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue