Sagittarius Scheme System is a “mostly R6RS Scheme system”.
(via scheme-reports)
Sagittarius Scheme System is a “mostly R6RS Scheme system”.
(via scheme-reports)
Hi,
I’m going to work through
http://www.ccs.neu.edu/home/matthias/BTML/
and
http://www.cl.cam.ac.uk/~lp15/MLbook/
using
http://www.smlnj.org/
SLOWLY over MANY MONTHS.
The reason is that I’ve never learned a statically typed functional programming language, I feel weak on recursive data type definitions, and I am curious about compiler and interpreter construction. So, I’m looking for a way to learn about all 3 at once.
Why ML?
Basically when I sit down to learn the basics of anything from #2 I feel like they assume you know the basics of ML, and well, I don’t!
Let me know if you want to review problems together.
Whalesong is a compiler from Racket to JavaScript; it takes Racket programs and translates them so that they can run stand-alone on a user’s web browser. It should allow Racket programs to run with (hopefully!) little modification, and provide access through the foreign-function interface to native JavaScript APIs. The included runtime library supports the numeric tower, an image library, and a framework to program the web in functional event-driven style.
This post in comp.lang.scheme brings up a question that inevitably everyone asks.
Suppose the answer is obvious but John summed it up well:
Well, if you interpret (apply + some-list) and (apply * some-other-list) as left-folds, then a starting point is needed, something to begin accumulating from. The identity is the only value that works correctly, so it’s what gets returned when the list being folded over has length 0. Nobody would write (+) or (*) explicitly, but having them return the identity is the Right Thing nevertheless.
The same argument applies when expanding macros: in a degenerate case, a macro may expand to (+) or (*), and it’s usually not appropriate to raise an exception.
For connecting Windows to OSX via VNC; UltraVNC seems to work the best.
The other clients drop frequently.
eqExam is just a wonderful LaTeX package for writing things like exams and quizzes. It takes into account most of what you are about right out of the box like whether you are proctoring the exam online or in printed form and whether you want an answer key printed or not. Here is an example of something that I threw together quickly by hacking up one of the example tests.
There are even really advanced things like exporting the answer data for automatic electronic submission; it’s got me really curious how people are using this in the wild.
Setup is really easy, the only caveat is that you must use MiKTEX version 2.8. Version 2.9 seems not to run at this point.
If you have never set up MiKTEX or eqExam before then my directions are attached here. Please let me know how it worked for you if you try them out.
One big question for some of you is why you would use something like this rather than MS Word or Adobe Acrobat Pro and it is a good question. The only answer that I can share is why it is so valuable for me… it is because you get to use all of the power of LaTeX to generate PDF forms and exams. That might sound like not a big deal, but if it doesn’t then you should really dig deeper into LaTeX to see how it could help you to better communicate.
The following all intend to support R7RS small:
- Per Bothner (Kawa)
- Will Clinger (Larceny)
- Shiro Kawai (Gauche)
- Manuel Serrano (Bigloo) – “not sure about libraries”
- Alex Shinn (Chibi) – “already fully implemented, but lacking tests”
- Felix Winkelmann (Chicken)
The following were less committal, but open, and their implementations are flexible enough to implement R7RS in third-party code:
- Kent Dybvig (Chez) – “if it’s as simple as you say I don’t see why not”
- Matthew Flatt (Racket) – “if there’s sufficient user demand”
- Andy Wingo (Guile) – “probably”
The following are simply unable to implement R7RS or uninterested in standards:
- Taylor Campbell (MIT) – “MIT lacks the infrastructure for modules”
- Jonathan Shapiro (TinyScheme) – thinks call/cc should be removed
- Jeffery Mark Siskind (Stalin) – “no longer working on Stalin”
- Michael Sperber (Scheme48) – “no time even for R6RS”
No one refused to implement based on the content of the standard, or cited any features as showstoppers.
That last part is important; R6RS didn’t have that quality.
(via scheme-reports)
This thread discusses the pros and cons of using the CA*D*R functions vs named first, second, third, list-tail, … and so on vs pattern matching for the same task.
I thought that pattern-matching was the best way to do it; and now I’m curious about why CA*D*R is better.
If you need to convert files from one markup format into another, pandoc is your swiss-army knife. Need to generate a man page from a markdown file? No problem. LaTeX to Docbook? Sure. HTML to MediaWiki? Yes, that too. Pandoc can read markdown and (subsets of) reStructuredText, textile, HTML, and LaTeX, and it can write plain text, markdown, reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, MediaWiki markup, textile, groff man pages, Emacs org-mode, EPUB ebooks, and S5 and Slidy HTML slide shows. PDF output (via LaTeX) is also supported with the included markdown2pdf wrapper script.
Pandoc understands a number of useful markdown syntax extensions, including document metadata (title, author, date); footnotes; tables; definition lists; superscript and subscript; strikeout; enhanced ordered lists (start number and numbering style are significant); delimited code blocks; markdown inside HTML blocks; and TeX math. Other options include “smart” punctuation, syntax highlighting, automatically generated tables of contents, and automatically generated citations (using citeproc-hs). If strict markdown compatibility is desired, all of these extensions can be turned off with a command-line flag.
(via pandoc)