Posts

Showing posts from 2017

Hardware lovers --- it's Christmas time!

I have enjoyed this collection long enough. It's time to pass it on to a broader audience or more committed individuals. Constraints for passing on stuff: I like  Saint-Émilion (Grand Crux specifically). The stuff is located in Koblenz; I live in Bonn. Pick up preferred; I can deliver to "nearby" institutional collectors. Let's take photos of the hardware, collector, and me -- and post it on Instagram.  There is this stuff: Schneider CPC 464  with green monitor and Vortex floppy drive. Sharp PC 1500  + Ink Printer KC 85  (East-german home computer) with various accessories ZX Spectrum  + thermo printer CBM 4032  + tape recorder Commodore 64 Personal computer  ABC 1600  by Luxor Robotron terminal K 1820 (VT 220) Laser Color Computer 210-8k ( VTech Laser 200 ) Programmable calculator B3-21 I should also not that I have endless amounts of other legacy hardware such as phones, modems, printers, cables, and what have you...

Thoughts on a very semantic wiki

Image
Preamble 101wiki  started as a boring  mediawiki  installation to document software systems in the  chrestomathy   ‘101’ ;  semantic wiki  extensions were quickly adopted; eventually  our team  developed a full blown proprietary semantic wiki sort of from scratch. Now we also rehosted it and provided it with new looks. (BTW, the 101companies brand name is now all gone. It's now just '101' really.) https://101wiki.softlang.org/ The biggest mistake we ( me ! ) made in said project ‘101’ is that we had only very loose specs for system implementation and system documentation; we had no proper process for checking and accepting contributions either. Thus, the 101wiki content was always a big mess and it still is. This problem is so serious that we switched to discouraging contributions a few years ago and rather deal with what we have and add content only when absolutely necessary. However, we depend on the 101wiki content for...

Peano goes Maybe

Just for the fun of it, let's represent Nats as Maybies in Haskell. import Prelude hiding (succ) -- A strange representation of Nats newtype Nat = Nat { getNat :: Maybe Nat } -- Peano zero zero :: Nat zero = Nat Nothing -- Peano successor succ :: Nat -> Nat succ = Nat . Just -- Primitive recursion for addition add :: Nat -> Nat -> Nat add x = maybe x (succ . add x) . getNat -- Convert primitive Int into strange Nat fromInt :: Int -> Nat fromInt 0 = Nat Nothing fromInt x = succ (fromInt (x-1)) -- Convert strange Nat into primitive Int toInt :: Nat -> Int toInt = maybe 0 ((+1) . toInt) . getNat -- Let's test main = print $ toInt (add (fromInt 20) (fromInt 22)) I wrote this code in response to a student question, whether and, if so, how one could code recursive functions on maybies. This inspired me towards the exam question as to how the above code compares to more straightforward code which would uses an algebraic datatype with Zero and Succ constructors in...

An ontological approach to technology documentation

SE talk at Chalmers,  Gothenburg , Sweden An ontological approach to technology documentation Room 473 / Wed March 1 - 11:00 - 12:00 .    Speaker: Ralf Lämmel, University of Koblenz-Landau Abstract : In this talk, I am going to present an ontological approach to software technology documentation. That is, usage scenarios of a technology (such as an object/relational mapper, a web-application framework, or a model transformation) are captured in terms of the involved entities (e.g., artifacts, languages, abstract processes, programming paradigms, functions, and function applications) and the relationships between them (e.g., membership, conformance, transformation, usage, and reference). I am going to discuss language and tool support for and experiences with developing such technology documentation. In the SoftLang team at Koblenz, we work on the related but broader notion of "linguistic software architecture" or "megamodeling". I will briefly discu...

The Haskell Road to Software Language Engineering and Metaprogramming

FP talk at Chalmers, Gothenburg , Sweden The Haskell Road to Software Language Engineering and Metaprogramming 2017-02-24 , 10.00, conference room 8103, Rännvägen 6, Johanneberg.    Speaker: Ralf Lämmel, University of Koblenz-Landau Abstract : In this talk, I would like to sketch my upcoming textbook on software languages  http://www.softlang. org/book  while putting on the hat of a Haskell programmer. Overall, the book addresses many issues of software language engineering and metaprogramming: internal and external DSLs, object-program representation, parsing, template processing, pretty printing, interpretation, compilation, type checking, software analysis, software transformation, rewriting, attribute grammars, partial evaluation, program generation, abstraction interpretation, concrete object syntax, and a few more. Haskell plays a major role in the book in that Haskell is used for the implementation for all kinds of language processors, ...

Software Language Book ready for review and limited access

I am happy to be done with the draft of the software language book. Just sent it off to Springer for the final verdict/review. Please find the book's frontmatter (including table of contents, preface, and acknowledgment) as well as the first technical chapter ("The notion of software language") online: http://www.softlang.org/book If you like to review the draft book or use it already in class room, please get in touch. The draft is sent to Springer and I hope to receive Springer's Ok+input within three months and finalize the book accordingly no later than May 2017. While under review and further scrutiny, I am going to perform self-motivated proof-reading and fine tuning. (There are some obvious dimensions for the final mile: index, exercises, English, formatting, clarity, bibliography.) I am going to have a sabbatical Mid of February - End of October 2017. I am super-über-motivated to visit a few places, give guest lectures drawn from the book, and discuss ...