CampSmalltalk / Cypress

A cross Smalltalk dialect, disk-based package import/export format, inspired by the https://github.com/dalehenrich/filetree project.
MIT License
28 stars 1 forks source link

STIG outputs "type":"objects" in properties.json. Pharo cannot interpret. #14

Open pdebruic opened 12 years ago

pdebruic commented 12 years ago

I was attempting to port Andres Valloud's MIT licensed hash analysis tool using Cypress. When I write it using STIG everything works great but in the properties file of his HashAnalysisToolDictionary the type is 'objects' The ClassBuilder>>#computeFormat:instSize:forSuper:ccIndex in Pharo does not know what to do with that. It expects one of #(#normal #bytes #words #variable #weak).

I'd guess that it could be "type":"normal" because that is what FileTree emits for Dictionary and its subclasses.

pdebruic commented 12 years ago

Possible values for 'type' from VW are:

illegal, bytes, immediate, weak, objects, ephemeron, none

dalehenrich commented 12 years ago

GemStone will eventually have some non-standard types.

I suppose we should use some defensive programming and have default type when we hit an unknown type .... although at some point in time, direct editing of the packages will be the preferred solution ... we're not necessarily trying to make it a completely smooth transition, but if there are obvious (non-complex) solutions, we can incorporate them into FileTree ... the fewer barriers to sharing code the better ...

dalehenrich commented 12 years ago

I think that what I'll do is throw a warning if a type is not recognized ...the odds are that the class will have additional loading issues, but at least this will give you a chance to find out ...

dalehenrich commented 12 years ago

see FileTree issue 56

mkobetic commented 11 years ago

Did we address this sufficiently with last year's specification update that says that type: must be dialect specific, i.e. carry a dialect prefix (_squeak_type, _vw_type, ...)?

mkobetic commented 11 years ago

Latest STIG makes the change and emits the class type as _vw_type. Note also that this attribute is only emitted if the class type is not the usual fixed-size pointer type (as we agreed)

dalehenrich commented 11 years ago

Yeah that sounds right ... I'm going to have to get busy here and update my FileTree implementation to keep pace with you:)

and just as an FYI, there might be a port of Cypress to Ruby (actually MagLev):)

Dale

----- Original Message ----- From: "Martin Kobetic" notifications@github.com To: "CampSmalltalk/Cypress" Cypress@noreply.github.com Sent: Wednesday, April 10, 2013 6:19:53 PM Subject: Re: [Cypress] STIG outputs "type":"objects" in properties.json. Pharo cannot interpret. (#14)
Latest STIG makes the change and emits the class type as _vw_type. Note also
that this attribute is only emitted if the class type is not the usual
fixed-size pointer type (as we agreed)
---
Reply to this email directly or view it on GitHub:
https://github.com/CampSmalltalk/Cypress/issues/14#issuecomment-16212154