User loginNavigation |
LtU ForumHelp with study of functional programmersAre you currently developing or maintaining a medium to large-sized I'm looking for people with at least a year's experience doing Obviously security concerns are an issue - I will not share any In exchange for your help, Microsoft will offer you your pick of free We're doing this because expert functional programmers have not been I'm hoping to finish my observations by August 8th, so please contact Thank you, Chris Bogart (Correction 7/18/08: I was mistaken in my original posting: I *can* use By cbogart at 2008-07-15 18:40 | LtU Forum | login or register to post comments | other blogs | 4540 reads
Lisp-like language for Domain Specific Languages prototypingA new version of MBase framework is released, along with a DSL building tutorial. MBase is a DSL prototyping/implementation framework for Microsoft .NET - a Lisp-like language with some unique features. Tutorial: MBase documentation, including some highlights on the language architecture: A bigger example - a subset of Paul Graham's Arc language compiler for .NET, a literate program: Project page, where MBase distribution can be downloaded: Creating a markup language compilerHi everyone,
While the most basic and logical program that can be created using these three instructions is in the order above, theoretically, the compiler should be able to take any combination of them and generate program code to run on the selected platform. The selected platform would be one or more platforms from a predefined set such as
At this point, I'm thinking that the language would be a markup language similar to OpenLaszlo's LZX or Facebook's FBML. But I also know my disposition is due entirely to my current involvement in UI development. What would be the simplest way to create this proof of concept? A couple of ideas come to mind.
Integration: So, what am I in for? My undergrad is computer engineering. But it was more hardware than software focused. To get this done in the shortest amount of time – I’m trying to get this idea funded so I can hire “real developers†and assume the proof of concept won't survive beyond funding - do I learn:
Which language is best suited for this? The platforms I’m going to target are nearly all Java based. Is there any open source project whose code I could benefit from learning? In search for a programming language to replace spreadsheets.Hello, I'm in the search for a good programming language to replace much of what I use spreadsheets for today: The advantage of a spreadsheet is that it's extremely easy and fast to work with. But a spreadsheet can soon become complex with: I would like a language that can be used like this: You define a data field to be a function of multiple arguments like: Amount Income(Company, Month, Year) You can then derive other fields like: Amount Income(Month, Year) = sum(Income(Company, Month, Year)) Amount Income(Year) = sum(Income(Month, Year)) You can also define a lot of data: Amount Income(Company, Month, Year) = [
("Microsoft", "01", "2008") => 1234,
("Microsoft", "02", "2008") => 15664,
("Sun", "01", "2008") => 1564,
("Sun", "02", "2008") => 1652
]You can now ask for Income("2008")and get the appropriate amount: (= sum [for all months] [for all companies] Income(Company, Month, "2008")) I know many imperative languages, but I've only experimented very little with other programming paradigms. I'm thinking of learning a declarative language like Prolog for this .. but are there better alternatives? I like the idea of Haskell being strongly typed, but I don't know if it will be good for this. The idea is to be able to model very complex systems, while keeping the calculations concise. Another advantage would be that you are able to reuse formulas. Ideally there should be a nice IDE with the possibility of getting a graphical/tabular view of the calculated data. Have any of you thought of something like this, or even made or heard of something like this? Parser Generators Supporting Astral CharactersIt's important to me that the programming language I'm working on has full Unicode support, which includes supporting the 'astral' characters from planes 2 through 16. I'm not very interested in parsing, so I would really prefer to use a parser generator instead of writing a parser myself. However, the parser generators I've looked at only support plane 0, the Basic Multilingual Plane, despite claiming to have "full" Unicode support. As a side note, they often don't even warn you about this when specifying astral characters in the grammar. They happily accept code points over 0xFFFF and output broken code. The generated code doesn't even check for this stuff at runtime, but rather just behaves unexpectedly. For example, when allowing [0x010000..0x10FFFF] characters in identifiers, SableCC output code that parsed my entire input file as a single gigantic identifier. So I'm wondering, what popular parser generators support astral characters? Or if there aren't any, what unpopular ones? Am I not going to be able to use a preexisting parser generator to get what I want? MISC: An experimental LISP-like languageMISC started when I got sick of XML's lack of consistent structure and it's heavy markup. I wanted something consistent, clean and executable like LISP but with a more general basic data structure. This was the initial spark "LISP with maps instead of lists".
The result is not a language for real-world use but one that I hope embodies many different unique and novel design decisions in a way that triggers thoughts and ideas in those that take the time to play with it. I've written up some of my experiences of designing the language and a fair bit of documentation. It also runs as an applet with some neat inline documentation.
Find out a bit more about MISC, and run it directly in an applet. Of Generics and Erasure and, of all things, GC and memory layoutI'm trying to grok the difference in generics implementation between Java and C++, specifically the implications of type erasure in Java. Most of the info I'm finding is blogger stuff, so I'm wondering if there's any better-than-most analysis of the issue out there. This issue also makes me wonder about the impact of having to store type info along with data - a required "vtable pointer" in C# lingo if I get that right - on some traditional memory layout schemes. Does this put an end to BIBOP like value typing schemes, if many small words are type parameterized? Box[T], Pair[T,U] and so on??? Or how about the two word Cons cell tricks (via distinguished non-Cons object header word) vs. List[T] where one needs a vtable word in every Cons cell along with head/tail (car/cdr whatever), which with 2 word alignment is going to make for big fat 4 word cons cells? Inquiring minds want to know :-) Scott Implementing fast interpretersThe webkit community announced Squirrelfish last month, showing important performance improvements. The post has some links LtU readers may find of intererst (such as The Structure and Performance of Efficient Interpreters, by M. Anton Ertl and David Gregg, November, 2003). I am thinking of building a Scheme interpreter using a (TR) SECD machine, and I would be most grateful if any LtU readers would be so kind as to provide some additional links about improving interpreter performance. PyPy's prolog-based JIT prototypePyPy was discussed couple of times here before. One of the interesting (recent) additions to this project is a prototype JIT generator written in prolog. Paper is titled Towards Just-In-Time Compilation and Specialisation of Prolog.. More details about choice of prolog as a prototyping language are on the PyPy blog. Cheers, By fijal at 2008-07-03 23:18 | LtU Forum | login or register to post comments | other blogs | 6655 reads
type-checking programs with unknown typesI find myself in need of a type system which can deal well with types that are unknown at compile time, by doing as much static type-checking as possible and then inserting downcasts to deal with unknown types at runtime. Is anybody aware of such a system already in use? Let me motivate this by a short example in some functional pseudo-code: Clearly the type of a dynamically-generated proxy like This sounds to me (perhaps deceptively) like a simple problem which someone is bound to have solved already, but if so I have yet to find the solution in the literature. Maybe that's because it's so simple that it's not worth publishing, and I just need to think about it a bit. Here are some examples of ideas I have reviewed and rejected:
Thank you for your help. |
Browse archives
Active forum topics |
Recent comments
8 weeks 1 day ago
8 weeks 1 day ago
8 weeks 2 days ago
8 weeks 2 days ago
8 weeks 6 days ago
8 weeks 6 days ago
9 weeks 12 hours ago
9 weeks 16 hours ago
9 weeks 17 hours ago
9 weeks 17 hours ago