ファイルの順番の話

こーいう F# のソースファイルがありますよね。

Batteries.Env モジュールと:

// env.fs
module Batteries

open System

module Env =
  let at (index : int) =
    let argv = Environment.GetCommandLineArgs()
    argv.[index]

  let get = at 

それを参照する main.fs

open Batteries

printfn "%A" <| Env.get 0

入力するファイルの順番に違いがあったってご存知でした?
これだとビルドできるのに:

% fsharpc ./env.fs ./main.fs -o ./battery-env.exe

こっちだとビルドできない:

% fsharpc ./main.fs ./env.fs -o ./battery-env.exe

╰( ´◔ ω ◔ `)╯ 普通は Visual Studio に任せるから気が付かないよな

Socket.IO やってみた

const Http      = require( 'http' );
const Express   = require( 'express' );
const Socket_IO = require( 'socket.io' );

const app = Express();

const server = Http.createServer( app );

const io = Socket_IO( server );

const port = 3000;

app.get( '/', (request, response) => {
    response.sendFile( __dirname + '/client/index.html' );
} );

server.listen( port, () => {
    console.log( 'server listening at port %d', port );
} );

io.on( 'connection', socket => {
    console.log( 'a user connected' );

    socket.on( 'chat message', message => {
        console.log( `message: ${message}` );
    } )

    socket.on( 'disconnect', () => {
        console.log( 'user disconnected' );
    } );
} );

a user connected が表示されない………。
\(^o^)/オワタ

const server = require( 'http' ).createServer();

と:

const Http = require( 'http' )

const server = Http.createServer();

は一緒のはずだよね???