embeddedml-user Mailing List for Embedded ML
Brought to you by:
andrew36b
You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(7) |
Nov
|
Dec
|
---|
From: Andrew H. <and...@gm...> - 2008-10-15 14:27:24
|
Hi Felix, On Wed, Oct 15, 2008 at 2:54 AM, Felix Winkelmann <fw...@em...> wrote: >> Yes, the C backend is indeed trampoline based -- the trampoline code >> can be found in the main.c file created as the C output. Also, yes, >> the compiler does general CPS conversion. We've defined the compiler >> backend as the very last step of the compilation process, where the >> cps converted, alloc converted and closure converted code is mapped >> into C (or Forth). The compiler is based on Appel's book, so in many >> respects it's probably similar to sml/nj. > > Ah, thanks for that information. What sort of garbage collection > algorithm is used, if I may ask? Currently a simple two space stop and copy collector is used. You can find the implementation of the memory allocation routines (alloc_untraced, alloc_traced_string, alloc_traced_array, and alloc_tagged) as well as the underlying garbage collector in the runtime-c.c file that is created as part of the C output. >> I actually gave that talk a couple days ago :) I'll send you a link >> to the presentation materials when they get online (hopefully soon). > > Excellent. Please do so, I'm looking forward to learn more about > embeddedml. I actually wrote an M.S. thesis about the new backends to the compiler. I uploaded the thesis as an uploadable file to the embeddedml project. You can get the file from this link: http://downloads.sourceforge.net/embeddedml/harris_thesis.pdf?use_mirror= There is also a new "documentation" page on the embeddedml website http://embeddedml.sourceforge.net hope this helps, -andrew |
From: Felix W. <fw...@em...> - 2008-10-15 06:55:10
|
From: "Andrew Harris" <and...@gm...> Subject: Re: [Embeddedml-user] no subject Date: Tue, 14 Oct 2008 17:43:38 -0400 > Hi Felix, > > On Tue, Oct 14, 2008 at 6:46 AM, Felix Winkelmann <fw...@em...> wrote: > > So if I understand correctly, the C backend of the compiler is > > trampoline based, right? Does it perform a general CPS conversion (as > > in smlnj), or is this representation only used for optimization? I > > Yes, the C backend is indeed trampoline based -- the trampoline code > can be found in the main.c file created as the C output. Also, yes, > the compiler does general CPS conversion. We've defined the compiler > backend as the very last step of the compilation process, where the > cps converted, alloc converted and closure converted code is mapped > into C (or Forth). The compiler is based on Appel's book, so in many > respects it's probably similar to sml/nj. Ah, thanks for that information. What sort of garbage collection algorithm is used, if I may ask? > > > read the announcement that you are holding a presentation for > > FringeDC. Would there be any material of this available after the > > event? > > I actually gave that talk a couple days ago :) I'll send you a link > to the presentation materials when they get online (hopefully soon). > Excellent. Please do so, I'm looking forward to learn more about embeddedml. cheers, felix -- felix winkelmann, emlix GmbH, http://www.emlix.com, mailto:fw...@em... Fon +49 551 30664-0, Fax -11, Bahnhofsallee 1b, 37081 Göttingen, Germany Geschäftsführung: Dr. Uwe Kracke, Dr. Cord Seele, Ust-IdNr.: DE 205 198 055 Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160 emlix - your embedded linux partner |
From: Andrew H. <and...@gm...> - 2008-10-14 22:15:05
|
Hi Felix, On Tue, Oct 14, 2008 at 6:46 AM, Felix Winkelmann <fw...@em...> wrote: > So if I understand correctly, the C backend of the compiler is > trampoline based, right? Does it perform a general CPS conversion (as > in smlnj), or is this representation only used for optimization? I Yes, the C backend is indeed trampoline based -- the trampoline code can be found in the main.c file created as the C output. Also, yes, the compiler does general CPS conversion. We've defined the compiler backend as the very last step of the compilation process, where the cps converted, alloc converted and closure converted code is mapped into C (or Forth). The compiler is based on Appel's book, so in many respects it's probably similar to sml/nj. > read the announcement that you are holding a presentation for > FringeDC. Would there be any material of this available after the > event? I actually gave that talk a couple days ago :) I'll send you a link to the presentation materials when they get online (hopefully soon). -andrew |
From: Felix W. <fw...@em...> - 2008-10-14 10:48:30
|
From: "Andrew Harris" <and...@gm...> Subject: Re: [Embeddedml-user] no subject Date: Mon, 13 Oct 2008 10:31:08 -0400 > Hi Felix, > > On Mon, Oct 13, 2008 at 1:41 AM, Felix Winkelmann <fw...@em...> wrote: > > Wow, this looks really interesting. I had no problems following the > > instructions on the project page and getting example programs to build > > and run, even though I'm not a regular ML or MLton user. > > I'm happy you were able to get the compiler working. > > > Now, where are the docs? ;-) > > Unfortunately we don't have too many docs at this point. The > language is based closely on standard ML, although there are a few > differences. One major one is that there is no module system. There > are only simple "import" statements that allow you to include > functionality that is either in the current directory or in > embeddedml/stdlib (which is searched by default). This has been > adequate for me, but it's something to keep in mind. Ok. > > Another thing to watch out for is that the compiler is currently a > bit unfriendly about syntactical errors: it will just say "parse > error: no expression" when it detects a syntax error, and you'll have > to comment out code to find it. This might change in the near future, > but it's currently an annoying problem. One way to get around it is > to compile frequently, leaving yourself just a few lines to > investigate in the case you encounter this problem. > > If you have particular questions, please feel free to ask on the > mailing list. Eventually the email exchanges can be turned into a > document :) So if I understand correctly, the C backend of the compiler is trampoline based, right? Does it perform a general CPS conversion (as in smlnj), or is this representation only used for optimization? I read the announcement that you are holding a presentation for FringeDC. Would there be any material of this available after the event? cheers, felix -- felix winkelmann, emlix GmbH, http://www.emlix.com, mailto:fw...@em... Fon +49 551 30664-0, Fax -11, Bahnhofsallee 1b, 37081 Göttingen, Germany Geschäftsführung: Dr. Uwe Kracke, Dr. Cord Seele, Ust-IdNr.: DE 205 198 055 Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160 emlix - your embedded linux partner |
From: Andrew H. <and...@gm...> - 2008-10-13 14:31:20
|
Hi Felix, On Mon, Oct 13, 2008 at 1:41 AM, Felix Winkelmann <fw...@em...> wrote: > Wow, this looks really interesting. I had no problems following the > instructions on the project page and getting example programs to build > and run, even though I'm not a regular ML or MLton user. I'm happy you were able to get the compiler working. > Now, where are the docs? ;-) Unfortunately we don't have too many docs at this point. The language is based closely on standard ML, although there are a few differences. One major one is that there is no module system. There are only simple "import" statements that allow you to include functionality that is either in the current directory or in embeddedml/stdlib (which is searched by default). This has been adequate for me, but it's something to keep in mind. Another thing to watch out for is that the compiler is currently a bit unfriendly about syntactical errors: it will just say "parse error: no expression" when it detects a syntax error, and you'll have to comment out code to find it. This might change in the near future, but it's currently an annoying problem. One way to get around it is to compile frequently, leaving yourself just a few lines to investigate in the case you encounter this problem. If you have particular questions, please feel free to ask on the mailing list. Eventually the email exchanges can be turned into a document :) -andrew |
From: Felix W. <fw...@em...> - 2008-10-13 05:43:02
|
Hello! Wow, this looks really interesting. I had no problems following the instructions on the project page and getting example programs to build and run, even though I'm not a regular ML or MLton user. Now, where are the docs? ;-) cheers, felix -- felix winkelmann, emlix GmbH, http://www.emlix.com, mailto:fw...@em... Fon +49 551 30664-0, Fax -11, Bahnhofsallee 1b, 37081 Göttingen, Germany Geschäftsführung: Dr. Uwe Kracke, Dr. Cord Seele, Ust-IdNr.: DE 205 198 055 Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160 emlix - your embedded linux partner |
From: Andrew H. <and...@gm...> - 2008-10-10 14:15:45
|
Just seeing if this mailing list actually works... -andrew |