This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// compile with atscc, compiler for ATS, an ML dialect | |
// see <www.ats-lang.org> | |
staload _ = "prelude/DATS/list.dats" | |
staload _ = "prelude/DATS/string.dats" | |
// the type of dynamic terms | |
// NOTE: using an abstract type here would be true | |
// to the spirit of dynamically typed languages | |
datatype DT = |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<!-- Author: Artyom Shalkhakov ([email protected]) | |
License: BSD v3 | |
I've used bits and pieces of other transforms bundled | |
with NORMA for reference, so I'm not the sole author | |
of this. | |
--> | |
<xsl:stylesheet | |
version="1.0" | |
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* ****** ****** *) | |
// Monads in ATS2 using templates | |
#include | |
"share/atspre_define.hats" | |
(* ****** ****** *) | |
// the interface | |
abst@ype M (t@ype) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include | |
"share/atspre_staload.hats" | |
staload UN = "prelude/SATS/unsafe.sats" | |
#define N 5 | |
extern | |
fun{env:vt@ype} | |
loop$fwork (natLt(N), &(env) >> _): void |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// License: BSD 3-clause | |
// Author: Artyom Shalkhakov | |
// Date: Sep 22, 2015 | |
// | |
// About: this is a POC of n-tuples and row types implemented | |
// using Reflection.Emit. The mutation interface (get/set methods) | |
// involves no boxing, but the caller has to supply the type parameter | |
// that matches the type of the value at the given position. Position | |
// is resolved using a jump table (TODO: does it translate to threaded | |
// code?). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* | |
** Hello, world! | |
** | |
** Q: how to extract substring of input string ending at the first unclosed parens? | |
** ex. sldfkjsf(sldfkj)lskdjff(sdfsdf) -- this is balanced, return as-is | |
** ex. (sldfkj(sdfsdf(sdfsdf(sdfsdf)sdf)sdf)sdfsdf -- this is NOT balanced, first paren is unclosed (result should be empty) | |
** ex. esdfd((esdf)(esdf -- first paren is unclosed, should give esdfd | |
** A: see below | |
*) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* | |
** Hello, world! | |
** Q: what's a good way to *not* mix up = and == operators in a conditional? | |
** A: a good way is via typed programming | |
*) | |
(* ****** ****** *) | |
#include | |
"share/atspre_define.hats" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* | |
* to compile: | |
* | |
* $ patscc -DATS_MEMALLOC_LIBC gctest.dats | |
* | |
* NOTE: no GC here | |
*) | |
#include | |
"share/atspre_staload.hats" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env sh | |
###### | |
# | |
# A shell script for | |
# installing ATS2 + ATS2-contrib | |
# | |
###### | |
# | |
# Author: Artyom Shalkhakov |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// A simple example of C-union | |
// | |
(* ****** ****** *) | |
// | |
// Author: Hongwei Xi | |
// Authoremail: gmhwxiATgmailDOTcom | |
// Start time: November, 2013 | |
// | |
(* ****** ****** *) |
OlderNewer