Re: [Factor-talk] Factor 0.95 now available

2012-08-17 Thread D
Try running it from git. I'm using mountain lion for the build farm. Oops, 
should make a note of this.

Command here:

https://github.com/slavapestov/factor/issues/625

Doug


On Aug 17, 2012, at 0:30, CW Alston cwalsto...@gmail.com wrote:

 Factoristas -
 
 Exciting new phase, but a hiccup: binary of Factor.app .95 won't launch from 
 my 32-bit
 MacBook Pro; .94 still works fine. Here's the Factor quit unexpectedly 
 report; several attempts:
 -
 
 Process: launchd [2202]
 Path:/Users/cwalston/factor/Factor.app/Contents/MacOS/factor
 Identifier:  org.factorcode.Factor
 Version: ??? (???)
 Code Type:   X86 (Native)
 Parent Process:  launchd [119]
 
 Date/Time:   2012-08-16 23:58:44.134 -0700
 OS Version:  Mac OS X 10.6.8 (10K549)
 Report Version:  6
 
 Interval Since Last Report:  516541 sec
 Crashes Since Last Report:   8
 Per-App Crashes Since Last Report:   6
 Anonymous UUID:  3F5A3A01-52AC-44C4-BD28-7B35DB91CA17
 
 Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
 Exception Codes: KERN_INVALID_ADDRESS at 0xfffc
 Crashed Thread:  Unknown
 
 Backtrace not available
 
 Unknown thread crashed with X86 Thread State (32-bit):
   eax: 0x0055  ebx: 0x  ecx: 0x  edx: 0x
   edi: 0x  esi: 0x  ebp: 0x  esp: 0x
ss: 0x001f  efl: 0x00010203  eip: 0x8fe01030   cs: 0x0017
ds: 0x001f   es: 0x001f   fs: 0x   gs: 0x
   cr2: 0xfffc
 
 Binary images description not available
 
 
 Model: MacBookPro1,1, BootROM MBP11.0055.B08, 2 processors, Intel Core Duo, 
 2.16 GHz, 2 GB, SMC 1.2f10
 Graphics: ATI Radeon X1600, ATY,RadeonX1600, PCIe, 256 MB
 Memory Module: global_name
 AirPort: spairport_wireless_card_type_airport_extreme (0x168C, 0x86), Atheros 
 5424: 2.1.14.6
 Bluetooth: Version 2.4.5f3, 2 service, 19 devices, 1 incoming serial ports
 Network Service: AirPort, AirPort, en1
 Serial ATA Device: TOSHIBA MK2576GSX, 232.89 GB
 Parallel ATA Device: MATSHITADVD-R   UJ-857
 USB Device: Built-in iSight, 0x05ac  (Apple Inc.), 0x8501, 0xfd40 / 2
 USB Device: IR Receiver, 0x05ac  (Apple Inc.), 0x8240, 0x5d20 / 2
 USB Device: Apple Internal Keyboard / Trackpad, 0x05ac  (Apple Inc.), 0x0217, 
 0x1d20 / 2
 USB Device: Bluetooth USB Host Controller, 0x05ac  (Apple Inc.), 0x8205, 
 0x7d10 / 2
 FireWire Device: USB2.0 /1394 B/1394A Drive, PI-263, Up to 400 Mb/sec
 FireWire Device: 1394/USB20 Drive, PI-145, Up to 400 Mb/sec
 
 
 -- Is it just me  my old machine, or has anyone else tripped over this? 
 Still, I'm excited;
 the advances are really mouth-watering! Keep up the great work. I'm learning 
 hella lot of modern CompSci,
 working through Factor.
 All the best,
 CW Alston
 
 On Thu, Aug 16, 2012 at 7:42 PM, John Benediktsson mrj...@gmail.com wrote:
 The reports of my death are greatly exaggerated - Mark Twain
 
 I'm very pleased to announce the release of Factor 0.95!  You can
 find download links on the Factor website:
 
 http://factorcode.org
 
 This release is brought to you with over 2,500 commits by the following
 individuals:
 
 Alex Vondrak, Alfredo Beaumont, Andrew Pennebaker, Anton Gorenko,
 Brennan Cheung, Chris Double, Daniel Ehrenberg, Doug Coleman, Eric
 Charlebois, Eungju Park, Hugo Schmitt, Joe Groff, John Benediktsson,
 Jon Harper, Keita Haga, Maximilian Lupke, Philip Searle, Philipp
 Brüschweiler, Rupert Swarbrick, Sascha Matzke, Slava Pestov,
 @8byte-jose, @yac, @otoburb, @rien
 
 In addition to lots (and lots!) of bug fixes and improvements, I want to
 highlight the following features:
 
 * GTK-based UI backend
 * Native image loaders using Cocoa, GTK, and GDI+
 * Sampling profiler replacing counting profiler
 * Code coverage tool to improve unit tests
 * VM and application-level signal handlers
 * ICMP support and an IPv4 ping implementation
 * DNS client and host implementation
 * Support frexp and log of really big numbers
 * Cross-platform open URL in webbrowser
 * Cross-platform send file to trash
 * Speedup bignum GCD and ratio operations
 * Speedup in thread yield performance on Mac OS X
 * CSV library is 3x faster
 * XML library is 2x faster
 * JSON library is 2-3x faster
 * Many documentation improvements
 * Many stability and performance enhancements
 
 Some possible backwards compatibility issues:
 
 * Change alien references from int to int ref and *int to int 
 deref
 * Removed Windows CE, BSD, and Solaris platform support
 * Natively support binary (0b), octal (0o), and hexadecimal (0x) number syntax
 * Unify ( -- ) and (( -- )) stack effect syntax
 * Change prepend to return type of first sequence to match append behavior
 * Change .factor-rc to be .factor-rc on all platforms
 * Cleanup specialized array syntax to be more generic and consistent
 * Change to quadratic probing instead of linear probing in hashtables
 * Allow dispatching 

Re: [Factor-talk] Factor 0.95 now available

2012-08-17 Thread Dominikus Herzberg
Congratulations for the release! Fantastic work!

Regards,

Dominikus

2012/8/17 John Benediktsson mrj...@gmail.com:
 The reports of my death are greatly exaggerated - Mark Twain

 I'm very pleased to announce the release of Factor 0.95!  You can
 find download links on the Factor website:

 http://factorcode.org

 This release is brought to you with over 2,500 commits by the following
 individuals:

 Alex Vondrak, Alfredo Beaumont, Andrew Pennebaker, Anton Gorenko,
 Brennan Cheung, Chris Double, Daniel Ehrenberg, Doug Coleman, Eric
 Charlebois, Eungju Park, Hugo Schmitt, Joe Groff, John Benediktsson,
 Jon Harper, Keita Haga, Maximilian Lupke, Philip Searle, Philipp
 Brüschweiler, Rupert Swarbrick, Sascha Matzke, Slava Pestov,
 @8byte-jose, @yac, @otoburb, @rien

 In addition to lots (and lots!) of bug fixes and improvements, I want to
 highlight the following features:

 * GTK-based UI backend
 * Native image loaders using Cocoa, GTK, and GDI+
 * Sampling profiler replacing counting profiler
 * Code coverage tool to improve unit tests
 * VM and application-level signal handlers
 * ICMP support and an IPv4 ping implementation
 * DNS client and host implementation
 * Support frexp and log of really big numbers
 * Cross-platform open URL in webbrowser
 * Cross-platform send file to trash
 * Speedup bignum GCD and ratio operations
 * Speedup in thread yield performance on Mac OS X
 * CSV library is 3x faster
 * XML library is 2x faster
 * JSON library is 2-3x faster
 * Many documentation improvements
 * Many stability and performance enhancements

 Some possible backwards compatibility issues:

 * Change alien references from int to int ref and *int to int 
 deref
 * Removed Windows CE, BSD, and Solaris platform support
 * Natively support binary (0b), octal (0o), and hexadecimal (0x) number syntax
 * Unify ( -- ) and (( -- )) stack effect syntax
 * Change prepend to return type of first sequence to match append behavior
 * Change .factor-rc to be .factor-rc on all platforms
 * Cleanup specialized array syntax to be more generic and consistent
 * Change to quadratic probing instead of linear probing in hashtables
 * Allow dispatching on anonymous intersections/unions

 For more details, please see the full announcement at:

 http://re-factor.blogspot.com/2012/08/factor-095-now-available.html

 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and
 threat landscape has changed and how IT managers can respond. Discussions
 will include endpoint security, mobile security and the latest in malware
 threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


Re: [Factor-talk] Any way of making sense of what's in the boot image?

2012-08-17 Thread Michael Clagett

: pic-tail-reg ( -- reg ) EDX ;
//stack pointer // ?: stack-reg ( -- reg ) ESP ;
// stack frame pointer: frame-reg ( -- reg ) EBP ;
// virtual machine object base: vm-reg ( -- reg ) EBX ;
: ctx-reg ( -- reg ) EBP ;
// non-volatile registers  -- these would be registers needing to be preserved 
(and that callers can count on being preserved)?: nv-regs ( -- seq ) { ESI EDI 
EBX } ;
// volatile registers -- these would be registers one is free to use (and that 
callers cannot count on being preserved)?: volatile-regs ( -- seq ) { EAX ECX 
EDX } ;
// ?: nv-reg ( -- reg ) ESI ;
// ?: ds-reg ( -- reg ) ESI ;
// ?: rs-reg ( -- reg ) EDI ;
// ?: link-reg ( -- reg ) EBX ; Would anybody be able to validate 
assumptions articulated above and fill in missing pieces.  This is good 
foundational knowledge to operate in general with.
 From: mclag...@hotmail.com
Date: Thu, 16 Aug 2012 13:15:48 -0400
To: factor-talk@lists.sourceforge.net
Subject: Re: [Factor-talk] Any way of making sense of what's in the boot
image?

Great, thanks.

Sent from my iPhone
On Aug 16, 2012, at 1:11 PM, John Benediktsson mrj...@gmail.com wrote:

 So then, John, does that mean that in the [ 4 slot { array} declare ], that 
I'm getting the slot named array which is at offset 4 (and then declaring 
that to be an array, so as to disable some of the type safety checks)?   


Yes, the hashtable code is written at a bit lower level and thus maybe a little 
harder to read than one might normally write in Factor since it is one of the 
building blocks that everything is built upon.  It is also possible that some 
of the compiler optimizations that have been written in the last couple of 
years make some of those declarations unnecessary, although I'd have to look 
into it more to know for sure.


Also, due to the bootstrapping mechanism, some of the higher level language 
constructs like locals and fry quotations are not available yet.  That is 
something we hope to fix at some future point.

 Here it says slot takes two incoming values:  an obj and a non-negative 
fixnum, which is the nth slot.   In the hashtable slot-specs you list below 
there are only three slots listed, but it does say that the slot named array 
is at offset 4.   Is it this offset number that is being specified by the m 
parameter?  And thus is the array I am seeing in my original description the 
contents of the array slot of the hashtable that was originally on the stack? 
  That makes sense to me.   And the fact that the array is 128 slots long 
(allowing flattened representation of 64 key-value pairs) just means that the 
underlying array in the hashtable has 64 buckets.  Is this a correct 
interpretation.  If it is, it makes sense that the actual 26 values stored in 
the hash table would be dispersed throught the 64 buckets, because this is what 
a hashtable does.


Yes, exactly!  The slot-spec tuple provides a generic description of what is 
to be found in this case at offset 4.  

Best,

John.
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. 
http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

--

Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk
  --
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include 

Re: [Factor-talk] Any way of making sense of what's in the boot image?

2012-08-17 Thread Michael Clagett

A few more: // ?: shift-arg ( -- reg ) ECX ;
// ?: div-arg ( -- reg ) EAX ;
// ?: mod-arg ( -- reg ) EDX ;
 From: mclag...@hotmail.com
To: factor-talk@lists.sourceforge.net
Date: Fri, 17 Aug 2012 14:03:30 +
Subject: Re: [Factor-talk] Any way of making sense of what's in the boot image?





// ?
: pic-tail-reg ( -- reg ) EDX ;


// stack pointer
: stack-reg ( -- reg ) ESP ;


// stack frame pointer
: frame-reg ( -- reg ) EBP ;


// virtual machine object base
: vm-reg ( -- reg ) EBX ;


: ctx-reg ( -- reg ) EBP ;


// non-volatile registers  -- these would be registers needing to be preserved 
(and that callers can count on being preserved)?
: nv-regs ( -- seq ) { ESI EDI EBX } ;


// volatile registers -- these would be registers one is free to use (and that 
callers cannot count on being preserved)?
: volatile-regs ( -- seq ) { EAX ECX EDX } ;


// ?
: nv-reg ( -- reg ) ESI ;


// ?
: ds-reg ( -- reg ) ESI ;


// ?
: rs-reg ( -- reg ) EDI ;


// ?
: link-reg ( -- reg ) EBX ;
 
Would anybody be able to validate assumptions articulated above and fill in 
missing pieces.  This is good foundational knowledge to operate in general with.
 
From: mclag...@hotmail.com
Date: Thu, 16 Aug 2012 13:15:48 -0400
To: factor-talk@lists.sourceforge.net
Subject: Re: [Factor-talk] Any way of making sense of what's in the boot
image?

Great, thanks.

Sent from my iPhone
On Aug 16, 2012, at 1:11 PM, John Benediktsson mrj...@gmail.com wrote:

 So then, John, does that mean that in the [ 4 slot { array} declare ], that 
I'm getting the slot named array which is at offset 4 (and then declaring 
that to be an array, so as to disable some of the type safety checks)?   


Yes, the hashtable code is written at a bit lower level and thus maybe a little 
harder to read than one might normally write in Factor since it is one of the 
building blocks that everything is built upon.  It is also possible that some 
of the compiler optimizations that have been written in the last couple of 
years make some of those declarations unnecessary, although I'd have to look 
into it more to know for sure.


Also, due to the bootstrapping mechanism, some of the higher level language 
constructs like locals and fry quotations are not available yet.  That is 
something we hope to fix at some future point.

 Here it says slot takes two incoming values:  an obj and a non-negative 
fixnum, which is the nth slot.   In the hashtable slot-specs you list below 
there are only three slots listed, but it does say that the slot named array 
is at offset 4.   Is it this offset number that is being specified by the m 
parameter?  And thus is the array I am seeing in my original description the 
contents of the array slot of the hashtable that was originally on the stack? 
  That makes sense to me.   And the fact that the array is 128 slots long 
(allowing flattened representation of 64 key-value pairs) just means that the 
underlying array in the hashtable has 64 buckets.  Is this a correct 
interpretation.  If it is, it makes sense that the actual 26 values stored in 
the hash table would be dispersed throught the 64 buckets, because this is what 
a hashtable does.


Yes, exactly!  The slot-spec tuple provides a generic description of what is 
to be found in this case at offset 4.  

Best,

John.
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. 
http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

--

Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net

Re: [Factor-talk] Factor 0.95 now available

2012-08-17 Thread Aaron Olson
+1

This is terrific news at the end of a crappy week!

-Aaron


On Fri, Aug 17, 2012 at 3:54 AM, Dominikus Herzberg 
dominikus.herzb...@gmail.com wrote:

 Congratulations for the release! Fantastic work!

 Regards,

 Dominikus

 2012/8/17 John Benediktsson mrj...@gmail.com:
  The reports of my death are greatly exaggerated - Mark Twain
 
  I'm very pleased to announce the release of Factor 0.95!  You can
  find download links on the Factor website:
 
  http://factorcode.org
 
  This release is brought to you with over 2,500 commits by the following
  individuals:
 
  Alex Vondrak, Alfredo Beaumont, Andrew Pennebaker, Anton Gorenko,
  Brennan Cheung, Chris Double, Daniel Ehrenberg, Doug Coleman, Eric
  Charlebois, Eungju Park, Hugo Schmitt, Joe Groff, John Benediktsson,
  Jon Harper, Keita Haga, Maximilian Lupke, Philip Searle, Philipp
  Brüschweiler, Rupert Swarbrick, Sascha Matzke, Slava Pestov,
  @8byte-jose, @yac, @otoburb, @rien
 
  In addition to lots (and lots!) of bug fixes and improvements, I want to
  highlight the following features:
 
  * GTK-based UI backend
  * Native image loaders using Cocoa, GTK, and GDI+
  * Sampling profiler replacing counting profiler
  * Code coverage tool to improve unit tests
  * VM and application-level signal handlers
  * ICMP support and an IPv4 ping implementation
  * DNS client and host implementation
  * Support frexp and log of really big numbers
  * Cross-platform open URL in webbrowser
  * Cross-platform send file to trash
  * Speedup bignum GCD and ratio operations
  * Speedup in thread yield performance on Mac OS X
  * CSV library is 3x faster
  * XML library is 2x faster
  * JSON library is 2-3x faster
  * Many documentation improvements
  * Many stability and performance enhancements
 
  Some possible backwards compatibility issues:
 
  * Change alien references from int to int ref and *int to int
 deref
  * Removed Windows CE, BSD, and Solaris platform support
  * Natively support binary (0b), octal (0o), and hexadecimal (0x) number
 syntax
  * Unify ( -- ) and (( -- )) stack effect syntax
  * Change prepend to return type of first sequence to match append
 behavior
  * Change .factor-rc to be .factor-rc on all platforms
  * Cleanup specialized array syntax to be more generic and consistent
  * Change to quadratic probing instead of linear probing in hashtables
  * Allow dispatching on anonymous intersections/unions
 
  For more details, please see the full announcement at:
 
  http://re-factor.blogspot.com/2012/08/factor-095-now-available.html
 
 
 --
  Live Security Virtual Conference
  Exclusive live event will cover all the ways today's security and
  threat landscape has changed and how IT managers can respond. Discussions
  will include endpoint security, mobile security and the latest in malware
  threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
  ___
  Factor-talk mailing list
  Factor-talk@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/factor-talk


 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and
 threat landscape has changed and how IT managers can respond. Discussions
 will include endpoint security, mobile security and the latest in malware
 threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


Re: [Factor-talk] Any way of making sense of what's in the boot image?

2012-08-17 Thread Alexander J. Vondrak
pic-tail-reg = polymorphic inline cache tail call register

ds-reg = data stack register

rs-reg = retain stack register

nv-reg: might help to see 
https://github.com/slavapestov/factor/blob/master/basis/cpu/x86/bootstrap.factor#L14

link-reg: only place it seems to be used is 
https://github.com/slavapestov/factor/blob/master/basis/cpu/x86/bootstrap.factor#L49

shift-arg, div-arg, mod-arg: seem to be used in x86 bootstrapping for holding 
arithmetic arguments; e.g., 
https://github.com/slavapestov/factor/blob/master/basis/cpu/x86/bootstrap.factor#L561

That's as much as I can gather from a glance,
--Alex Vondrak


From: Michael Clagett [mclag...@hotmail.com]
Sent: Friday, August 17, 2012 7:08 AM
To: Factor-Talk
Subject: Re: [Factor-talk] Any way of making sense of what's in the boot image?

A few more:

// ?
: shift-arg ( -- reg ) ECX ;

// ?
: div-arg ( -- reg ) EAX ;

// ?
: mod-arg ( -- reg ) EDX ;



From: mclag...@hotmail.com
To: factor-talk@lists.sourceforge.net
Date: Fri, 17 Aug 2012 14:03:30 +
Subject: Re: [Factor-talk] Any way of making sense of what's in the boot image?

// ?
: pic-tail-reg ( -- reg ) EDX ;

// stack pointer
: stack-reg ( -- reg ) ESP ;

// stack frame pointer
: frame-reg ( -- reg ) EBP ;

// virtual machine object base
: vm-reg ( -- reg ) EBX ;

: ctx-reg ( -- reg ) EBP ;

// non-volatile registers  -- these would be registers needing to be preserved 
(and that callers can count on being preserved)?
: nv-regs ( -- seq ) { ESI EDI EBX } ;

// volatile registers -- these would be registers one is free to use (and that 
callers cannot count on being preserved)?
: volatile-regs ( -- seq ) { EAX ECX EDX } ;

// ?
: nv-reg ( -- reg ) ESI ;

// ?
: ds-reg ( -- reg ) ESI ;

// ?
: rs-reg ( -- reg ) EDI ;

// ?
: link-reg ( -- reg ) EBX ;

Would anybody be able to validate assumptions articulated above and fill in 
missing pieces.  This is good foundational knowledge to operate in general with.


From: mclag...@hotmail.com
Date: Thu, 16 Aug 2012 13:15:48 -0400
To: factor-talk@lists.sourceforge.net
Subject: Re: [Factor-talk] Any way of making sense of what's in the boot image?

Great, thanks.

Sent from my iPhone

On Aug 16, 2012, at 1:11 PM, John Benediktsson 
mrj...@gmail.commailto:mrj...@gmail.com wrote:


So then, John, does that mean that in the [ 4 slot { array} declare ], that I'm 
getting the slot named array which is at offset 4 (and then declaring that to 
be an array, so as to disable some of the type safety checks)?

Yes, the hashtable code is written at a bit lower level and thus maybe a little 
harder to read than one might normally write in Factor since it is one of the 
building blocks that everything is built upon.  It is also possible that some 
of the compiler optimizations that have been written in the last couple of 
years make some of those declarations unnecessary, although I'd have to look 
into it more to know for sure.

Also, due to the bootstrapping mechanism, some of the higher level language 
constructs like locals and fry quotations are not available yet.  That is 
something we hope to fix at some future point.

Here it says slot takes two incoming values:  an obj and a non-negative fixnum, 
which is the nth slot.   In the hashtable slot-specs you list below there are 
only three slots listed, but it does say that the slot named array is at 
offset 4.   Is it this offset number that is being specified by the m 
parameter?  And thus is the array I am seeing in my original description the 
contents of the array slot of the hashtable that was originally on the stack? 
  That makes sense to me.   And the fact that the array is 128 slots long 
(allowing flattened representation of 64 key-value pairs) just means that the 
underlying array in the hashtable has 64 buckets.  Is this a correct 
interpretation.  If it is, it makes sense that the actual 26 values stored in 
the hash table would be dispersed throught the 64 buckets, because this is what 
a hashtable does.

Yes, exactly!  The slot-spec tuple provides a generic description of what is 
to be found in this case at offset 4.


Best,
John.
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.netmailto:Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

-- 
Live Security Virtual Conference Exclusive live event will cover 

Re: [Factor-talk] Any way of making sense of what's in the boot image?

2012-08-17 Thread Michael Clagett

Thank you Alex.  Seeing the polymorphic inline caching reference makes me 
realize that I really need to go back and reread Slava's (et. al) various blogs 
that have been produced through the years.  I read them all once, but that was 
a couple years ago -- not knowing what I know now.   This should help me not 
revisit ground in this forum that has already been documented elsewhere.   A 
bit more patience, everybody please, while I work out an effective (and 
self-sufficient) internals exploration strategy.
  From: ajvond...@csupomona.edu
 To: factor-talk@lists.sourceforge.net
 Date: Fri, 17 Aug 2012 08:46:46 -0700
 Subject: Re: [Factor-talk] Any way of making sense of what's in the boot 
 image?
 
 pic-tail-reg = polymorphic inline cache tail call register
 
 ds-reg = data stack register
 
 rs-reg = retain stack register
 
 nv-reg: might help to see 
 https://github.com/slavapestov/factor/blob/master/basis/cpu/x86/bootstrap.factor#L14
 
 link-reg: only place it seems to be used is 
 https://github.com/slavapestov/factor/blob/master/basis/cpu/x86/bootstrap.factor#L49
 
 shift-arg, div-arg, mod-arg: seem to be used in x86 bootstrapping for holding 
 arithmetic arguments; e.g., 
 https://github.com/slavapestov/factor/blob/master/basis/cpu/x86/bootstrap.factor#L561
 
 That's as much as I can gather from a glance,
 --Alex Vondrak
 
 
 From: Michael Clagett [mclag...@hotmail.com]
 Sent: Friday, August 17, 2012 7:08 AM
 To: Factor-Talk
 Subject: Re: [Factor-talk] Any way of making sense of what's in the boot 
 image?
 
 A few more:
 
 // ?
 : shift-arg ( -- reg ) ECX ;
 
 // ?
 : div-arg ( -- reg ) EAX ;
 
 // ?
 : mod-arg ( -- reg ) EDX ;
 
 
 
 From: mclag...@hotmail.com
 To: factor-talk@lists.sourceforge.net
 Date: Fri, 17 Aug 2012 14:03:30 +
 Subject: Re: [Factor-talk] Any way of making sense of what's in the boot 
 image?
 
 // ?
 : pic-tail-reg ( -- reg ) EDX ;
 
 // stack pointer
 : stack-reg ( -- reg ) ESP ;
 
 // stack frame pointer
 : frame-reg ( -- reg ) EBP ;
 
 // virtual machine object base
 : vm-reg ( -- reg ) EBX ;
 
 : ctx-reg ( -- reg ) EBP ;
 
 // non-volatile registers  -- these would be registers needing to be 
 preserved (and that callers can count on being preserved)?
 : nv-regs ( -- seq ) { ESI EDI EBX } ;
 
 // volatile registers -- these would be registers one is free to use (and 
 that callers cannot count on being preserved)?
 : volatile-regs ( -- seq ) { EAX ECX EDX } ;
 
 // ?
 : nv-reg ( -- reg ) ESI ;
 
 // ?
 : ds-reg ( -- reg ) ESI ;
 
 // ?
 : rs-reg ( -- reg ) EDI ;
 
 // ?
 : link-reg ( -- reg ) EBX ;
 
 Would anybody be able to validate assumptions articulated above and fill in 
 missing pieces.  This is good foundational knowledge to operate in general 
 with.
 
 
 From: mclag...@hotmail.com
 Date: Thu, 16 Aug 2012 13:15:48 -0400
 To: factor-talk@lists.sourceforge.net
 Subject: Re: [Factor-talk] Any way of making sense of what's in the boot 
 image?
 
 Great, thanks.
 
 Sent from my iPhone
 
 On Aug 16, 2012, at 1:11 PM, John Benediktsson 
 mrj...@gmail.commailto:mrj...@gmail.com wrote:
 
 
 So then, John, does that mean that in the [ 4 slot { array} declare ], that 
 I'm getting the slot named array which is at offset 4 (and then declaring 
 that to be an array, so as to disable some of the type safety checks)?
 
 Yes, the hashtable code is written at a bit lower level and thus maybe a 
 little harder to read than one might normally write in Factor since it is one 
 of the building blocks that everything is built upon.  It is also possible 
 that some of the compiler optimizations that have been written in the last 
 couple of years make some of those declarations unnecessary, although I'd 
 have to look into it more to know for sure.
 
 Also, due to the bootstrapping mechanism, some of the higher level language 
 constructs like locals and fry quotations are not available yet.  That is 
 something we hope to fix at some future point.
 
 Here it says slot takes two incoming values:  an obj and a non-negative 
 fixnum, which is the nth slot.   In the hashtable slot-specs you list below 
 there are only three slots listed, but it does say that the slot named 
 array is at offset 4.   Is it this offset number that is being specified by 
 the m parameter?  And thus is the array I am seeing in my original 
 description the contents of the array slot of the hashtable that was 
 originally on the stack?   That makes sense to me.   And the fact that the 
 array is 128 slots long (allowing flattened representation of 64 key-value 
 pairs) just means that the underlying array in the hashtable has 64 buckets.  
 Is this a correct interpretation.  If it is, it makes sense that the actual 
 26 values stored in the hash table would be dispersed throught the 64 
 buckets, because this is what a hashtable does.
 
 Yes, exactly!  The slot-spec tuple 

Re: [Factor-talk] Factor 0.95 now available

2012-08-17 Thread CW Alston
Hi - Success!
I moved the old .factor files out of the way, scrapped the first try Factor
.95 folder,
re-ran the git one-liner and the fresh factor.app brought up the listener
with no errors.
The contents of the Factor folder built from git sports the following items
not appearing in
the .95 binary Factor folder:

-files: boot.unix-x86.32.image, factor.image.fresh, GNUmakeile, Nmakefile;

-folders: build-support, unmaintained, vm


I don't know if they are necessary, so I'm not gonna touch them while I
check my .94 project code compatibility.

Any thoughts on the differences? I'll keep you posted, if anything
unrecoverable pops up.

Thanks so much to all for your work. Onward!

~cw


On Fri, Aug 17, 2012 at 8:01 AM, Aaron Olson airol...@gmail.com wrote:

 +1

 This is terrific news at the end of a crappy week!

 -Aaron


 On Fri, Aug 17, 2012 at 3:54 AM, Dominikus Herzberg 
 dominikus.herzb...@gmail.com wrote:

 Congratulations for the release! Fantastic work!

 Regards,

 Dominikus

 2012/8/17 John Benediktsson mrj...@gmail.com:
  The reports of my death are greatly exaggerated - Mark Twain
 
  I'm very pleased to announce the release of Factor 0.95!  You can
  find download links on the Factor website:
 
  http://factorcode.org
 
  This release is brought to you with over 2,500 commits by the following
  individuals:
 
  Alex Vondrak, Alfredo Beaumont, Andrew Pennebaker, Anton Gorenko,
  Brennan Cheung, Chris Double, Daniel Ehrenberg, Doug Coleman, Eric
  Charlebois, Eungju Park, Hugo Schmitt, Joe Groff, John Benediktsson,
  Jon Harper, Keita Haga, Maximilian Lupke, Philip Searle, Philipp
  Brüschweiler, Rupert Swarbrick, Sascha Matzke, Slava Pestov,
  @8byte-jose, @yac, @otoburb, @rien
 
  In addition to lots (and lots!) of bug fixes and improvements, I want to
  highlight the following features:
 
  * GTK-based UI backend
  * Native image loaders using Cocoa, GTK, and GDI+
  * Sampling profiler replacing counting profiler
  * Code coverage tool to improve unit tests
  * VM and application-level signal handlers
  * ICMP support and an IPv4 ping implementation
  * DNS client and host implementation
  * Support frexp and log of really big numbers
  * Cross-platform open URL in webbrowser
  * Cross-platform send file to trash
  * Speedup bignum GCD and ratio operations
  * Speedup in thread yield performance on Mac OS X
  * CSV library is 3x faster
  * XML library is 2x faster
  * JSON library is 2-3x faster
  * Many documentation improvements
  * Many stability and performance enhancements
 
  Some possible backwards compatibility issues:
 
  * Change alien references from int to int ref and *int to
 int deref
  * Removed Windows CE, BSD, and Solaris platform support
  * Natively support binary (0b), octal (0o), and hexadecimal (0x) number
 syntax
  * Unify ( -- ) and (( -- )) stack effect syntax
  * Change prepend to return type of first sequence to match append
 behavior
  * Change .factor-rc to be .factor-rc on all platforms
  * Cleanup specialized array syntax to be more generic and consistent
  * Change to quadratic probing instead of linear probing in hashtables
  * Allow dispatching on anonymous intersections/unions
 
  For more details, please see the full announcement at:
 
  http://re-factor.blogspot.com/2012/08/factor-095-now-available.html
 
 
 --
  Live Security Virtual Conference
  Exclusive live event will cover all the ways today's security and
  threat landscape has changed and how IT managers can respond.
 Discussions
  will include endpoint security, mobile security and the latest in
 malware
  threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
  ___
  Factor-talk mailing list
  Factor-talk@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/factor-talk


 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and
 threat landscape has changed and how IT managers can respond. Discussions
 will include endpoint security, mobile security and the latest in malware
 threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
 ___
 Factor-talk mailing list
 Factor-talk@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/factor-talk




 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and
 threat landscape has changed and how IT managers can respond. Discussions
 will include endpoint security, mobile security and the latest in malware
 threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
 ___
 Factor-talk mailing list
 

Re: [Factor-talk] Factor 0.95 now available

2012-08-17 Thread John Benediktsson

 The contents of the Factor folder built from git sports the following
 items not appearing in
 the .95 binary Factor folder:

 -files: boot.unix-x86.32.image, factor.image.fresh, GNUmakeile, Nmakefile;


These are:

1) boot image downloaded to create a complete factor image file for your
platform (32-bit unix).
2) copy of the factor.image file to allow reverting if you want to have a
clean environment
3) make file to build on unix platforms
4) make file to build on windows


 -folders: build-support, unmaintained, vm


5) a directory with build it, scotty files for all platforms.
6) a directory with not working but maybe in the future code
7) a directory with C++ code for the VM that produces the ./factor binary



 I don't know if they are necessary, so I'm not gonna touch them while I
 check my .94 project code compatibility.

 Any thoughts on the differences? I'll keep you posted, if anything
 unrecoverable pops up.

 Thanks so much to all for your work. Onward!


Glad it works for you, these files are not released in the binary releases
but all contain or are related to the source build process.

Best!
John.
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


Re: [Factor-talk] Factor 0.95 now available

2012-08-17 Thread CW Alston
Gracias, John -

Comforting to know what's up. Any ideas on what prevents the .95 binary
from launching on my aged machine? First time I've encountered this problem.
I've successfully launched from incremental development releases through
July.
~cw


On Fri, Aug 17, 2012 at 12:45 PM, John Benediktsson mrj...@gmail.comwrote:

 The contents of the Factor folder built from git sports the following
 items not appearing in
 the .95 binary Factor folder:

 -files: boot.unix-x86.32.image, factor.image.fresh, GNUmakeile, Nmakefile;


 These are:

 1) boot image downloaded to create a complete factor image file for your
 platform (32-bit unix).
 2) copy of the factor.image file to allow reverting if you want to have
 a clean environment
 3) make file to build on unix platforms
 4) make file to build on windows


 -folders: build-support, unmaintained, vm


 5) a directory with build it, scotty files for all platforms.
 6) a directory with not working but maybe in the future code
 7) a directory with C++ code for the VM that produces the ./factor binary



 I don't know if they are necessary, so I'm not gonna touch them while I
 check my .94 project code compatibility.

 Any thoughts on the differences? I'll keep you posted, if anything
 unrecoverable pops up.

 Thanks so much to all for your work. Onward!


 Glad it works for you, these files are not released in the binary releases
 but all contain or are related to the source build process.

 Best!
 John.




-- 
*~ Memento Amori*
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


Re: [Factor-talk] Factor 0.95 now available

2012-08-17 Thread John Benediktsson

 Gracias, John -


De nada ;)


 Comforting to know what's up. Any ideas on what prevents the .95 binary
 from launching on my aged machine? First time I've encountered this
 problem.
 I've successfully launched from incremental development releases through
 July.


Likely related to upgrading to Mac OS X 10.8 and XCode 4.4 on the build
farm.  It wasn't intentional, but we're trying to figure out if we can make
XCode 4.4 build against 10.6 SDK or downgrade to a configuration that will
work properly... once we get it working we can make new binaries...

Best,
John.
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


Re: [Factor-talk] Factor 0.95 now available

2012-08-17 Thread CW Alston
Okey-dokey, keep on keepin' on. More later, as need arises.
~cw

On Fri, Aug 17, 2012 at 1:17 PM, John Benediktsson mrj...@gmail.com wrote:

 Gracias, John -


 De nada ;)


 Comforting to know what's up. Any ideas on what prevents the .95 binary
 from launching on my aged machine? First time I've encountered this
 problem.
 I've successfully launched from incremental development releases through
 July.


 Likely related to upgrading to Mac OS X 10.8 and XCode 4.4 on the build
 farm.  It wasn't intentional, but we're trying to figure out if we can make
 XCode 4.4 build against 10.6 SDK or downgrade to a configuration that will
 work properly... once we get it working we can make new binaries...

 Best,
 John.




-- 
*~ Memento Amori*
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk