User loginNavigation |
LtU ForumBrightScript (Just what we needed: yet another scripting language)I say that somewhat tongue-in-cheek.
Languages for SIMT ArchitecturesI think SIMT is going to be added to the traditional CPU, much like SIMD already has been. In any case SIMT already has a foothold in the GPGPU architectures which are SIMT. SIMT is where a single instruction is executed by multiple threads. It differs from SIMD in that each execution unit has its own register set and control flow, but shares instruction fetch and decode, whereas in SIMD registers and control flow are shared. This needs special care to deal with conditional branches. Generally only if/then/else or switch style conditional branches are allowed and as all instructions are shared by all SIMT units, they have to ignore the instructions in the branch they are not taking. In the case of loops you can have early termination, but all units wait for the last one to exit the loop (effectively instructions still get fed to the units, but they are ignored). This reminds me somewhat of the conditional execution of any instruction in the original ARM instruction set - however I think this was dropped in ARM64 in favour of traditional branches because branch prediction results in faster execution in the (more common) single threaded case. I am interested in languages and compilers designed to take advantage of SIMT architectures, and that may make efficient programming for such architectures easier for the programmer and compiler technologies that may make things more efficient for the processor to execute. I wanted to start this topic to see what has been done in this field, and collect links to relevant papers. Please post if you know of any, come across any, or have any ideas for how to handle SIMT. Typed DataWhile things are quiet seems like a good time for a question with a tenuous link to programming languages. Unix has been designed around the idea of plaintext as a universal interface between programs. It is not the only possible universal interface; there are many possible binary formats with strictly defined syntax and a flexible definition of semantics. What previous attempts have been made to make a unix (posix) core that operates on a different interface? I am aware of Microsoft's work on powershell, but replacing the textual interface with objects introduces a complex set of semantics. What I am asking is if anybody has tried something simpler? In particular - a typed representation for data, that may look something like an Algebraic Data Type. A fixed binary encoding for: The rough idea here would be to take something as expressive as s-exprs, but combine it with a fixed binary encoding, probably a chunk-based format like the old IFF syntax from the Amiga file-system. This idea keeps floating back up every year when I teach the posix core to students. Unfortunately it does not suggest a project that I can give to a student (too much programming, very weak / undefined comparison with previous work). Some day - I may sit down and start hacking, but before then it seems interesting to point out that this is quite an obvious departure point from the unix design philosophy - has anybody been down this road before? SHErrLoc: Diagnosing Type Errors with ClassIt has been mentioned several times here and there in LtU discussion comments, but search didn't show it as a full topic. Which seems sad to me since this is just mind blowingly awesome stuff to me. Here's work that takes something in the UX realm and applies big brains to it and gives really measurable improvements.
Nesting imperative into functional codeDid you ever try to do that? Nesting functional into imperative code is easy, you just do the FP magic when you call the function. But how to do it the other way around? Assume that you have a functional code as a base and some imperative code here and there, maybe even stored as strings in variables. Now you have to call something like Javascript "eval" when you want to run the imperative code. But when to do it? Note that imperative code doesn't have to be in a form of a function that returns some value. It can setup some event actions or mess around with some shareable memory states. When to call such an imperative processes? I guess some event would apply, but what? In fact I'm working on a functional language that can easily translate any abstract syntax tree (AST) into another AST. The language is interpreted inside javascript (maybe I'll try to do a native version in the future) and in a runtime of interpreting it I want to occasionally translate arbitrary imperative language AST into javascript AST (or assembler AST in the future) and execute it. The problem is how and when to trigger this execution. Maybe someone could help me with this problem? The impact of syntax colouring on program comprehensionThis paper fits into the discussion about being more scientific about programming language design, or in this case editor design. I particularly liked figure 6. The impact of syntax colouring on program comprehension Abstract:
By Jules Jacobs at 2015-11-26 12:54 | LtU Forum | login or register to post comments | other blogs | 4790 reads
Hacker’s Brain – The Psychology of ProgrammingA blog post on how programmers think. Tidbits:
Nobody would argue with that.
Something that will debated forever. That programming is more about language (words and such) than math is why I believe OOP continues to be so successful. Programming simply isn't math.
Programming environments aren't really optimized for thinking. It would be interesting to see if "thinking" and "programming" could be combined for a more augmented experience.
True, I wonder if our own internal working memory can be reflected back into the computer...again augmentation...this is the main point of live programming.
Again, there is great value in even better more immediate feedback loops. Feed the Dopamine! And ya, lots of caffeine. Neural Programmer-InterpretersA new paper from Google deep mind; abstract:
Seems much closer than before! By Sean McDirmid at 2015-11-22 12:33 | LtU Forum | login or register to post comments | other blogs | 4605 reads
Logical and Functional Programming in Each OtherI can easily see how to model functional programs in a logical language. But is there a simple and straightforward way to do the reverse? And when I say "logical language", I'm not even looking for one with backtracking. |
Browse archives
Active forum topics |
Recent comments
3 days 11 hours ago
4 days 7 hours ago
5 days 12 hours ago
5 days 12 hours ago
1 week 3 days ago
1 week 3 days ago
1 week 3 days ago
4 weeks 4 days ago
5 weeks 2 days ago
5 weeks 2 days ago