[squeak-dev] Roassal3...What is optimal, port Athens? Athens-Cairo? or build out the Roassal3-Squeak RsBalloonFOO heirarchy

Ben Coman btc at openinworld.com
Mon Oct 26 14:16:59 UTC 2020


My understanding is that Athens in itself has nothing to do with FFI. The
Cario FFI calls are encapsulated in the Athen-Cario backend.
Indeed, with an Athens-HTML backend Matthius seems to have got Athens
running on Amber, which I'm sure doesn't have FFI...
https://www.youtube.com/watch?v=9nAkiwbZZEQ

An Athens-Balloon seems to have been planned, slide 7...
https://rmod.inria.fr/archives/talks/2012-PharoConf-Athens.pdf
I don't know the status.

cheers -ben


On Sun, 25 Oct 2020 at 21:44, Eliot Miranda <eliot.miranda at gmail.com> wrote:

> Hi Timothy
>
> No; strategically it would be a disaster.  First, as I understand it the
> Athens library is built above Cairo, a large foreign dependency,
> implemented in C, several times larger than the VM itself.  Second, Juan
> Vuletich is making good progress with Morphic3, a Smalltalk implementation
> (a Smalltalk compiler) did similar functionality, running on the GPU.  This
> dependency would be much like our dependency on the VM, in that it used our
> own technology stack , and therefore we can modify it, and do so quite
> quickly.
>
> So for the moment you should roll you own or host above BitBLT until we
> can move to Morphic3.  This is essential.  Under no circumstances should
> you release something using Athens/Cairo.  If will do lasting damage to
> this community and its strategic direction and viability.
>
>
>
> Here is an example of things we cannot do until dependencies are
> resolved...heck, at the bottom of this email* is the entire Roassal install
> "log" that I saved when I installed the package:
>
>
> You must resolve these dependencies before you will be able to load these
> definitions:
>   AthensCairoPathBuilder>>arcDegreeStart:sweep:centerX:y:radius:
>   AthensCairoPathBuilder>>arcRadianStart:sweep:centerX:y:radius:
>   AthensCairoPathBuilder>>ellipticalArc3:xrot:large:sweep:to:
>   AthensCairoPathBuilder>>ellipticalArc:xrot:large:sweep:to:
>   AthensCairoPathBuilder>>ellipticalArc:xrot:large:sweep:to:relative:
>
> I can either port the AthensCairoPathBuilder or I can move the
> functionality to your BalloonPathBuilder.
>
>
> Since I know nothing about either, it will be equally painful to implement
> either, so the question becomes, which path yeilds the best results going
> forward?
>
>
> Consider too, that "grok FFI" is on my skillset todo-list and Athens-Cairo
> looks like it would put a checkmark on that todo-list item.
>
> I do not know enough to make an informed decision (I intuitively prefer to
> get the base right, but as we discovered with the pharo kernel bytes
> fiasco, that is not always possible)
>
> Your thoughts?
>
> cheers,
>
> tty.
>
>
>
> *Install log follows:
>
> This package depends on the following classes:
>   AthensCairoPathBuilder
> You must resolve these dependencies before you will be able to load these
> definitions:
>   AthensCairoPathBuilder>>arcDegreeStart:sweep:centerX:y:radius:
>   AthensCairoPathBuilder>>arcRadianStart:sweep:centerX:y:radius:
>   AthensCairoPathBuilder>>ellipticalArc3:xrot:large:sweep:to:
>   AthensCairoPathBuilder>>ellipticalArc:xrot:large:sweep:to:
>   AthensCairoPathBuilder>>ellipticalArc:xrot:large:sweep:to:relative:
>
> This package depends on the following classes:
>   PackageManifest
> You must resolve these dependencies before you will be able to load these
> definitions:
>   ManifestGeometryTests
>   ManifestGeometryTests class>>ruleRBStringConcatenationRuleV1FalsePositive
>
>
> This package depends on the following classes:
>   GradientPaint
> You must resolve these dependencies before you will be able to load these
> definitions:
>   GradientPaint>>interpolateTo:at:
>
>
> This package depends on the following classes:
>   AthensCairoPathBuilder
>   AthensCairoSurface
>   RPackage
> You must resolve these dependencies before you will be able to load these
> definitions:
>   AthensCairoPathBuilder>>arcAround:radius:startAngle:endAngle:
>   AthensCairoPathBuilder>>arcAround:radius:startAngle:endAngle:cw:
>   AthensCairoPathBuilder>>arcCos:
>   AthensCairoPathBuilder>>ellipticalArc2:xrot:large:sweep:to:
>   AthensCairoSurface>>hasBeenFreed
>   RPackage>>dependentPackages
> This package depends on the following classes:
>   PharoDarkTheme
>   ClyBrowserToolMorph
>   UITheme
> You must resolve these dependencies before you will be able to load these
> definitions:
>   PharoDarkTheme>>classBoxBackgroundColor
>   RSUMLCalypso
>   RSUMLCalypso>>activationPriority
>   RSUMLCalypso>>applyTheme:
>   RSUMLCalypso>>build
>   RSUMLCalypso>>classes
>   RSUMLCalypso>>defaultIconName
>   RSUMLCalypso>>limitedClasses:
>   RSUMLCalypso>>tabOrder
>   RSUMLClassCalypso
>   RSUMLClassCalypso class>>classUmlTapActivation
>   RSUMLClassCalypso>>classes
>   RSUMLClassCalypso>>defaultTitle
>   RSUMLClassCalypso>>isSimilarTo:
>   RSUMLClassCalypso>>setUpModelFromContext
>   RSUMLClassCalypso>>targetClass
>   RSUMLPackageCalypso
>   RSUMLPackageCalypso class>>classUmlTapActivation
>   RSUMLPackageCalypso>>classes
>   RSUMLPackageCalypso>>defaultIconName
>   RSUMLPackageCalypso>>defaultTitle
>   RSUMLPackageCalypso>>isSimilarTo:
>   RSUMLPackageCalypso>>packages
>   RSUMLPackageCalypso>>setUpModelFromContext
>   UITheme>>classBoxBackgroundColor
>   UITheme>>methodsLimitUML
>
>
> This package depends on the following classes:
>   GLMMorphicWidgetRenderer
>   GLMPresentation
>   GLMMorphicRenderer
> You must resolve these dependencies before you will be able to load these
> definitions:
>   GLMMorphicRenderer>>renderRoassal3Presentation:
>   GLMMorphicRoassal3Renderer
>   GLMMorphicRoassal3Renderer>>render:
>   GLMPresentation>>roassal3
>   GLMRoassal3Presentation
>   GLMRoassal3Presentation>>canvas
>   GLMRoassal3Presentation>>initialize
>   GLMRoassal3Presentation>>initializeCanvas:
>   GLMRoassal3Presentation>>renderGlamorouslyOn:
>   GLMRoassal3Presentation>>setUpInteractions
>
>
> This package depends on the following classes:
>   RPackage
> You must resolve these dependencies before you will be able to load these
> definitions:
>   RPackage>>dependentPackagesWithOccurences
>   RPackage>>numberOfDependenciesToward:
>
> This package depends on the following classes:
>   ParametrizedTestCase
> You must resolve these dependencies before you will be able to load these
> definitions:
>   RSPAnimationTest
>   RSPAnimationTest class>>testParameters
>   RSPAnimationTest>>animationClass
>   RSPAnimationTest>>animationClass:
>   RSPAnimationTest>>setUp
>   RSPAnimationTest>>testBasic
>   RSPAnimationTest>>testBasicInCanvas
>   RSPAnimationTest>>testDelay
>
> This package depends on the following classes:
>   ParametrizedTestCase
> You must resolve these dependencies before you will be able to load these
> definitions:
>   RSPBoundingTest
>   RSPBoundingTest class>>testParameters
>   RSPBoundingTest>>setUp
>   RSPBoundingTest>>shapeClass
>   RSPBoundingTest>>shapeClass:
>   RSPBoundingTest>>testDraw
>   RSPBoundingTest>>testDrawBorder
>   RSPBoundingTest>>testPosition
>   RSPLinesTest
>   RSPLinesTest class>>testParameters
>   RSPLinesTest>>setUp
>   RSPLinesTest>>shapeClass
>   RSPLinesTest>>shapeClass:
>   RSPLinesTest>>testDraw
>   RSPLinesTest>>testDrawMarkers
>
> This package depends on the following classes:
>   AthensLineSegment
>   AthensCubicSegment
>   AthensCloseSegment
>   AthensPathSegment
> You must resolve these dependencies before you will be able to load these
> definitions:
>   AthensCloseSegment>>visitWith:
>   AthensCubicSegment>>durationFor:
>   AthensCubicSegment>>pointsWithStart:duration:
>   AthensCubicSegment>>visitWith:
>   AthensLineSegment>>durationFor:
>   AthensLineSegment>>pointsWithStart:duration:
>   AthensPathSegment>>durationFor:
>   AthensPathSegment>>pointsWithStart:
>   AthensPathSegment>>pointsWithStart:duration:
>
>
> _,,,^..^,,,_ (phone)
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20201026/84d0eb8b/attachment.html>


More information about the Squeak-dev mailing list