Comments on the Gem Cutter docs

<div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">Thought I&#39;d make some notes on this as I read through it. Overall, it&#39;s a very nice intro to the tool and what it can do.</span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">p8 - "The type Num </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">a => [a] (a list of 'anythings', where 'anything' is a number value) is clearly a more </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">specific version of [a] (the general list of &#39;anythings&#39;)"</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">Probably needs a sentence or so to very briefly introduce the concept of type classes ... Java developers are going to be surprised that the input type isn&#39;t "[Num]". (same applies to type-class reference on p25 - maybe the intro to the doc should just list some &#39;prerequisites&#39;?)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">p7/8 - I think after introducing polymorphism, a brief comment explaining that this implies that the colours of the ins and outs won&#39;t necessarily match might be handy.</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">[As a side point, it might increase usability of the gem cutter if the inputs / outputs were larger? or maybe the mouse &#39;snapped&#39; to them when dragging?]</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">p12 - At this point I&#39;m still not sure whether Gem Cutter is effectively just providing a graphical way of writing CAL code, or whether it&#39;s doing something else. I managed to locate the "./bin/cal/release/CAL/GemCutterSaveModule.cal" file which seems to be reflecting what I&#39;m doing in the cutter - it might be useful to explicitly point people to this so that they can see what is going on if they&#39;re interested?</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">p13 - By this point, Data Constructors haven&#39;t been explicitly explained, so mentioning their appearance in the browser might be confusing if people aren&#39;t familiar with Haskell?</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">p48 - The discussion of the ordering of arguments and partial evaluation assumes an understanding of currying which hasn&#39;t been explained yet in the document.</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">p49 - I couldn&#39;t get a local variable to show up in the code editor as described by the document. I used the following:</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">let a = (2*x);</span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">in</span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">greaterThan a 17</span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">p55 - ok, this is where the typeclass explanation is. Might be worth a forward ref earlier in the doc.</span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">"A list of characters (a string) will be [Char]," .... my understanding is that Strings aren&#39;t lists of Chars in CAL - so maybe this could be confusing.</span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">The description of type classes here could probably use being tidied up a bit - I think it would likely be confusing to someone completely unfamiliar with them. Might be useful to stress the similarities (& of course differences) with Java interfaces.</span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">p58 - "The language is a functional language. This means that every entity in the language is a function." ... is this possibly misleading - given the existence of base types etc?</span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">typo: "This is feature of lambda calculus" -> "This is a feature..."  .... in fact, given that this isn&#39;t explicitly referenced in the doc, might be worth removing it.</span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">p60 - "length :: [a] -> Double"  should be "length :: [a] -> Int"</span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">typo: fundamentalstandard   ... missing space</span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span">p61 - "A type reduces the set of possible values for a variable from an infinite set, to a smaller set." - possibly not the best explanation.</span></div><div><span style="font-family: Helvetica; font-size: 12px" class="Apple-style-span"><br /></span></div><div><br /></div><div><br /></div>

Thanks very much for the comments. Â
The Gem Cutter Manual is the least 'evolved' of docs we have put out (written in 2001 and only given some TLC last week!). To be honest, we almost didn't put it out, but as I think you've confirmed, it is worth it because we need an intro to the tool. Your notes are very welcome, and will help us tighten up the text, especially in some of its 'fuzzier' aspects ;-)
Aside from your points about the document flow turns of phrase, I can comment on the following points:
>[As a side point, it might increase usability of the gem cutter if the inputs / outputs were larger? or maybe the mouse 'snapped' to them when dragging?]
Yes, the snapping idea would be a good feature. I think it was discussed once(!) Connecting in the regular way does require one's fine motor skills to be in reasonable shape.Â
>At this point I'm still not sure whether Gem Cutter is effectively just providing a graphical way of writing CAL code, or whether it's doing something else. I managed to locate the "./bin/cal/release/CAL/GemCutterSaveModule.cal" file which seems to be reflecting what I'm doing in the cutter - it might be useful to explicitly point people to this so that they can see what is going on if they're interested?
The Gem Cutter does indeed 'just write CAL code' (in fact just functions). In its current form, it's utility lies as a kind of interactive laboratory for when people are experimenting with functional logic. Typically it therefore has the most usefulness in the following situations:
- When learning about functional programming
- When setting out to design some new functional module from scratch (where you want a more RAD approach, quickly prototyping some ideas, testing them, lots of iterative refinement etc).Â
- When playing with composition - perhaps testing the public interfaces of some modules to check that desired logic can be built from the 'building blocks' they expose (particularly useful with the sort of high-level 'functional models' we build to express high-level data behaviours).
Around here, I tend to see it up on people's screens when they are at the beginning of some larger task. Once some key ideas have been established, then people tend to take what the Gem Cutter has produced in the way of code, and move over to a regular syntax workflow (in Eclipse). Â
The biggest strength of the Gem Cutter is its interactivity IMO. Using the tool often provides considerable insights as you see types change on connectors or run small portions of code (you can run any 'collector'). This is certainly valuable at particular points, but when you are done 'programming through a keyhole', then you just resort to your favourite text editor. To me, this can be a big 'something else'. Â
BTW, another way to see the code that gets produced from the Gem Cutter is to connect logic to the Target Gem (result) and then use the "Edit->Copy Special->Target Gem Source" menu option. This will put CAL code into your paste buffer. Â
>I couldn't get a local variable to show up in the code editor as described by the document. I used the following: let a = (2*x);ingreaterThan a 17
Er...yes, I think that functionality is defunct (probably changed sometime in 2004!), sorry about the misleading information. The Code Gem Editor these days does not show local variables on the LHS, just arguments and functions. Instead, local variables are highlighted in the code and a tooltip will indicate what they
represent. Â

Similar Messages

  • HT4075 I don't have any problems merging the documents by dragging, but when I try to save and open afterwards, only the last shown doc was saved, not the combined files I wanted to merge. I tried save and export, how can I create the file after merging?

    Hi, I'm having trouble saving the documents when merging in Preview. I don't have any problems merging the pdf documents by dragging them in preview, but when I try to save and open afterwards, only the last shown doc was saved, not the combined files I wanted to merge. I've tried save and export, but none merge the documents after saving... how can I create the file (with all the pdf files) after merging?

    That's a comment in the file. It has no effect at all.

  • 4EA2 the Detail display for views does not show comments for the view

    I am running in an Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production environment.
    The Detail tab for a View does not show comments added for the view. I would like to request that the Detail tab be modified to display any comments added for the view.
    This is important for me because I want to use the Generate DB doc function (from the right-click menu linked to schemas), to generate documentation, and that function uses the same format as the Detail Tab. The View Comments are important for my users.  

    Hi Penny Halsall,
    Kindly check if that Facebook page can be followed by the public. If the profile can't be followed by the public, then the widget won't work as accepted.
    Facebook provides instructions to check/do this here: https://www.facebook.com/help/201148673283205
    OR
    You can generate the associated HTML code from this page :
    https://developers.facebook.com/docs/plugins/
    Regards
    Sonam

  • GEM Cutter: how to really remove module from workspace?

    I'm trying GEM cutter, seems promising.
    I imported incorrect CAL code as a module in the default workspace, so to fix that I removed the module again (both via the Workspace menu). However, when reimporting the corrected CAL code, GEM cutter complains that the module is still present. Also when restarting GEM cutter, the module is still in the workspace.
    So, how can I fix this?
    Thanks

    Hello tsukiemarara
    Welcome to BlackBerry Support Forums
    tsukiemarara wrote:
    When am downloading Facebook via browser it gives me an error massage if the “research in motion contains another module named net-rim-facebook resource-lib” so I want to delete that module jah I went to Options,Device.Application management then bb Button ,modules but ther is no DELETE to remove the modules plzz help
    If you're getting any error while downloading Facbook for BlackBerry application then what you're trying is not the correct way to ractify this issue. You should first delete facebook application completely and then reinstall it to resolve your issue.
    So try those steps to download it again , but first delete any existing version of facebook application from Options > Device > Application Management > locate FACEBOOK application > Highlight it > Press the Menu Key > select Delete .
    KB10040  :How to view or remove installed application on a blackberry smartphone
    After deleting Facebook application perform a Battery pull restart by removing the battery while your device is Powered On , wait for a min. then reinsert it back .
    Finally , use your BlackBerry browser and browse to www.blackberry.com/facebook and download the most recent version available . Try it and let us know of your progress.
    Click " Like " if you want to Thank someone.
    If Problem Resolves mark the post(s) as " Solution ", so that other can make use of it.

  • [svn:fx-trunk] 9453: Fix ASDoc comments, exclude the LayoutElementHelper class.

    Revision: 9453
    Author:   [email protected]
    Date:     2009-08-21 10:48:14 -0700 (Fri, 21 Aug 2009)
    Log Message:
    Fix ASDoc comments, exclude the LayoutElementHelper class.
    QE notes: None
    Doc notes: None
    Bugs: None
    Reviewer: Hans
    Tests run: N/A
    Is noteworthy for integration: No
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutElementHe lper.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicEleme nt.as

  • I can not buy the gem in the "clash of clans" game, It says "My purchase could not be completed". How I can solved this problem?

    I can not buy the gem in the "clash of clans" game, It says "My purchase could not be completed". How I can solved this problem?

    If you are also getting a message to contact iTunes Support then you can do so via this link and ask them for help (we are fellow users here on these forums, we won't know why the message is appearing) : http://www.apple.com/support/itunes/contact/ - click on Contact iTunes Store Support on the right-hand side of the page, then Purchases, Billing & Redemption

  • I payed in game " clash of clans " but I don't get the gems please help me '14000 gems'

    HI
    i payed gems many times from clash of clans but today I payed '14000' gems and the said 'successful' but i don't get the gems.
    what I can do?

    Hello abdullatif119,
    If you do not see a consumable in-app purchase you made, then please contact the developer of the app you made the purchase in.
    If you don’t see your in-app purchases - Apple Support
    Thanks for using the Apple Support Communities!
    Cheers,
    Alex H.

  • How do I use the cookie cutter tool?

    I have a lot of questions to ask on how to use this program. I have Adobe Photoshop Elements 8, and I can't seem to get the tools to work. I click things on and nothing happens or I get a buzz indicating that whatever it is I want to do, I can't. I went to the cookie cutter tool and clicked that on. I figured out how to pick a shape, but then what? No matter what I clicked, nothing happened. How do I get it to work? I have a book called 'Teach Yourself Visually Adobe Photoshop Elements 8' and the pages are very clear, but whatever options are given in the book, I can't find in my program. I am sure part of the problem is that i have this program on a Mac. Maybe the Mac version doesn't work like the PC version. I can't seem to find any directions for this. I clicked on help and it brought me to a web page for Mac Photoshop Elements 8, and I did a search for 'cookie cutter' and nothing came up. I also looked at all the options available for help and didn't see any 'cookie cutter' tool instructions. How can I learn how to use this software? Thanks for any help.

    I don't remember what the directions were yesterday, when I was experimenting with Photoshop, but I believe that the directions told me to use the custom shape tool, but I couldn't find it. It said to click on the rectangle, and a menu would come up, but no menu came up. So I thought I would just experiment and click on 'cookie cutter' and see what would happen when I clicked on it. I tried using some keyboard shortcuts to see what would happen (just trying to figure out how to get something to work) and at the web site for Photoshop for Mac, it said to click 'Q' (I can remember what was supposed to happen), but I clicked 'Command' and 'Q' at the same time and it closed the program! The web site didn't say which other key to use with the Q, and nothing happened when I just clicked the Q. Another thing I was trying to do was to make something in Photoshop (this was on another web site) and I had to go to 'window' then the next step was to go to 'channel' and click it on. I went to window and there was no 'channel' in the drop down menu. There were other options, but no 'channel'.

  • Billing document cancellation (VF11) the cancelled doc. is not getting automatically cleared against the actual billing doc.

    Hi All,
    In case of billing document cancellation (VF11) the cancelled doc. is not getting automatically cleared against the actual billing doc. no. Each time user has to clear the doc. manually. We have observed this issue after recent patch updation dated 22nd Feb’2014. Till 21st Feb’2014 the cancelled doc. has been cleared automatically against their respective billing documents.
    Please guide.
    Thank you.

    Hi Gopi,
    Please chheck SAP Note No. 1259505. It explains two ways in which SAP releases cancellation documents to FI.
    OSS NOte 1259505 lists the possible causes from SD side &
    OSS Note 309208 lists the possible causes from FI side.
    Regards,
    Kavita

  • How do I re-number comments in the Comments Summary page?

    Hi,
    When I create a comments summary page, Acrobat 9 organizes comments by page number and numbers them beginning at "1" for each page. Can I change the settings so that I can have the comments organized by page but numbered continuously? In other words, I want to be able to look at the comments on, say, page 7 - but I don't want the first comment on page 7 to be numbered as "1". If it is the 35th comment in the document, I want it to be numbered as "35".
    Does anyone know how I can accomplish this? Any help is appreciated. Thanks!

    You can delete them and re-add them accordingly or you can use random which would show the random order of images.
    Another workaround can be be done using layers, where you can drag the image to the desired position which you want to show in order with slideshow.
    I have created a short video for you , please download from here :
    https://www.dropbox.com/s/v4yto079hh7rc2y/slide.swf
    Thanks,
    Sanjit

  • How do I create a new calendar for the current year, using last years calendar's birthday's/photos and comments from the lower pages?

    Each year for the past 5 years I make a family calendar and send copies to all he family members around the globe.  I hate that I have to recreate all the birthdays and special occasions from scratch, and re-drag all the photos onto these dates, in the lower half of the page of each month on the new calendar.  How can I create a new calendar for the current year and port all of these photos/comments into the new calendar from last years calendar, to save having to redo all this work!!  I am not talking about the upper half page of the photos only...I am referring to the calendar page of each month.
    Thanks in advance. 
    Colin

    Welcome to the Apple Discussions. Open iWeb so you see your original site in the left hand pane. Use the File->New Site menu option to create a new site. Give it the name you want.
    Now select a page in your original site and type Command+D. That will duplicate the page. Drag the duplicate page down to the new site and rename it as needed. Do that for the other pages you need in the original site.
    OT

  • Is there any way to set the default for *.doc document so that Pages opens them automatically?

    I have a number of Ms Word documents because I used to have Word for Mac before the last OS release.  Now, of course, when I double-click on them, I get a message saying that PowerPC isn't supported.
    Now Pages will open these files.  Is there any way to change the default for *.doc files so that a double-click will open them in Pages? 
    (Instead of me going to the trouble of finding out where they are actually located on the hard drive so that I can open pages and say - here, open this file--even though you didn't create it--)

    Click on a .doc file and type Cmnd I to open Get Info. In the Open with: menu select Pages, then click on Change All…
    Walt

  • How can I move my iPhoto Library from one Mac to another without losing the comments on the individual photos in the process?

    How can I move my iPhoto Library from one Mac to another without losing the comments on the individual photos in the process? The source Macbook (OS 10.4.11 and iPhoto 6.0.6 (3.2.2.)) is with my husband in Germany, the target MacBook Pro (OS 10.8.5, iPhoto 11) is with me in Japan. Thanks for your help.

    I copied the iPhoto Library to a CD and from there to the new MacBook
    If you copied the library to the CD via the Finder it would be no different than the methods Terence suggested.  If you used the Share ➙ Burn menu option from inside iDVD you'll get a mini library that has to be accessed from the open library and the events/alubums copied into the destination library.  Not the same as the other methods.
    The Share ➙ Burn method is no longer supported with iPhoto 9 and later.
    OT

  • How can i remove comments from the "tell your frie...

    How can I remove comments from the "tell your friends how you're doing" section?

    Please do a Skype reset.
    Exit Skype : From the system tray >> right click on the skype icon and click "Quit"
    Press WinKey+R
    Type: %appdata% and press Enter.
    Rename the folder "Skype" to "Old_Skype"
    Run Skype.
    You will need your password to re-log on, and re-set any options from default
    Regards,
    Tamim
    Location - Dhaka | Bangladesh - Standard Time Zone: GMT/UTC + 06:00 hour
    If one of my replies has adequately addressed your issue, please click on the “Accept as Solution” button. If you found a post useful then please "Give Kudos" at the bottom of my post, so that this information can benefit others.

  • I have purchsed gem in clash of clan through my credit card but i didnt recieve the gems..it has also reflected in my bank account and my itunes purchase history...how can i get them back??who should i complain to??? plz help....

    i have purchsed gem in clash of clan through my credit card but i didnt recieve the gems..it has also reflected in my bank account and my itunes purchase history...how can i get them back??who should i complain to??? plz help....

    You need to talk to clash of clans first. The game should have a support link.
    If they can't/won't help you then you turn to iTunes support.
    There seem to be a lot of issues with in app purchases in this game because not a day goes by that someone doesn't post a thread asking something similar.

Maybe you are looking for

  • IFS-20010 Unable to get service configuration

    Hi, I'm trying to connect to iFS from a Java application. Basically it's a remote server which we'll connect to using RMI for some integration work. It will run on the same server as CM SDK. Anyway, I try and connect to the service using: LibraryServ

  • Use of Java 1.3.1 plug-in

    Below is the HTML I am using to invoke a signed applet. I am getting an "Applet not initialized." error message in the web browser, but I do not have any exceptions in the Java console showing up. Can anybody give me a clue as to what to change to he

  • File.deleteOnExit Bug?

    Here is my code,                             cache = new File("C:\\.cache");                             cache.createNewFile();                             cache.deleteOnExit();When the VM terminates, the file stays there. I can delete the file using

  • EA2 - MacOSX - Settings not migrated from 1.5

    When I downloaded and launched 2.1, it did not migrate my settings (connections, snippets, etc.) from 1.5.1. I can't find a way to import them manually. Suggestions greatly appreciated!

  • When sending an email in Yahoo, attachments won't load, no matter how small. What settings could be preventing this? Attachments will load if I use Internet Explorer.

    When I click "attach files," it sits there forever as the file tries to load, but it never finishes. This started a few months ago. I've been using Firefox for years and I've never seen this. I don't think I've added any add-ons or plug-ins recently.